@charset "UTF-8";
/* ==================================================
	breadcrumb（パンくず）
================================================== */
#breadcrumb { display: none; padding: 10px 0; }
#breadcrumb ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#breadcrumb li { font-size: 13px; margin-right: 10px; }
#breadcrumb li:first-child { color: #28a1c4; text-align: left; font-weight: bold; }
#breadcrumb li::before { content: ""; margin-right: 6px; color: #28a1c4; font-size: 15px; font-family: FontAwesome; }
#breadcrumb li:first-of-type::before { display: none; }
#breadcrumb li a { text-decoration: none; color: #000; font-weight: bold; }
#breadcrumb li a:hover { text-decoration: underline; }
@media print, screen and (min-width: 640px) { 
	#breadcrumb {text-align: right; display: -webkit-box; display: -ms-flexbox; display: flex; } 
}
.sub-title {
	margin-bottom: 5rem;
	font-size: 6.4rem;
	font-weight: 900;
	text-align: center;
}
.sub-title span {color: #A11C3F;}
.sub-titlejp {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  color: #000!important;
} 
.inner {max-width: 110rem;margin: 0 auto;padding-left: 2rem;padding-right: 2rem;}
.object-fit-img {
	height: 21.3rem;
	object-fit: cover;
	object-position: center;
	font-family: 'object-fit: cover; object-position: center';/*　IE(edge,11)用*/
}
@media only screen and (max-width: 768px) { 
	.sub-title {font-size: 3.5rem;} 
	.object-fit-img {height: 30.3rem;}
}
/* ==================================================
	pagination
================================================== */
.pagination { margin-top: 30px; }
.pagination .prev { float: left; }
.pagination .next { float: right; }
.pagination .back { text-align: center; }
@media print, screen and (min-width: 640px) { .pagination { margin-top: 50px; } }
@media only screen and (max-width: 639px) { .container { padding: 0; } }
.main_content { padding-bottom: 100px; }
@media only screen and (max-width: 639px) { .main_content { padding: 8% 3%; } }
#first {position: relative;height: 595px;background: #b1143c no-repeat center top / cover;}
#first.news {background-image: url(../images/news/tt_page_bg.jpg);}
#first.contact {background-image: url(../images/contact/tt_page_bg.jpg);}
#first.interview {background-image: url("../images/interview/tt_page_bg.jpg");}
#first.cluture_performance {background-image: url("../images/cluture_performance/tt_page_bg.jpg");}
#first.start_lab_project {background-image: url("../images/start_lab_project/tt_page_bg.jpg");}
#first.company {background-image: url("../images/company/tt_page_bg.jpg");}
#first.jobinformation {background-image: url("../images/job/tt_page_bg.jpg");}
#first.privacy {background-image: url("../images/privacy/tt_page_bg.jpg");}
#first.entry {background-image: url("../images/contact/entry_bg.jpg");}
@media only screen and (max-width: 768px) {
	#first {height: 480px;}
	#first.start_lab_project {background: url("../images/start_lab_project/tt_page_bg-sp.jpg") no-repeat center top / cover;}
}
@media only screen and (max-width: 480px) { 
	#first { height: 250px; } 
}
.tt_page { position: relative; margin-bottom: 115px; }
.tt_page:after { display: block; width: 100%; height: 150px; background: #a41b3f; content: ""; position: absolute; top: -30px; }
.tt_page h1 { position: relative; z-index: 2; margin-left: 120px; margin-top: -50px; }
.tt_page h1 span { font-size: 54px; color: #fff; }
.tt_page h1:before { background: #fff; }
@media only screen and (max-width: 768px) { 
	.tt_page { margin-bottom: 20px; background: #a41b3f; padding: 25px 20px 1px;}
  .tt_page:after { top: 0; display: none; width: 100%; }
  .tt_page h1 { margin-top: 0; margin-left: 0; }
  .tt_page h1 span { font-size: 6.5vw; } }

.cm_tt2 { font-family: "Noto Serif", serif; font-size: 42px; text-align: center; margin-bottom: 40px; position: relative; }
.cm_tt2:after { display: block; width: 90px; height: 1px; background: #111; margin: 10px auto; content: ""; }
@media only screen and (max-width: 639px) { .cm_tt2 { font-size: 30px;} }


.cm_tt3 { font-family: "Noto Serif", serif; font-size: 32px; text-align: center; margin: 80px 0 40px; position: relative; }
.cm_tt3:after { display: block; width: 90px; height: 1px; background: #111; margin: 10px auto; content: ""; }
@media only screen and (max-width: 639px) { .cm_tt3 { font-size: 24px; margin-bottom: 3%; } }

/* news */
.news_sec .container .wrap_content { margin-bottom: 75px; }

.news_sec .container .wrap_content .content { display: -webkit-box; display: -ms-flexbox; display: flex; margin-bottom: 30px; border-bottom: 1px solid #ccc; padding: 0 30px 30px; }

.news_sec .container .wrap_content .content:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.news_sec .container .wrap_content .content .left { position: relative; height: 320px; min-width: 42%; border: 1px solid #e3e8e9; margin-right: 40px; -webkit-transition: all ease 0.3s; -o-transition: all ease 0.3s; transition: all ease 0.3s; }
.news_sec .container .wrap_content .content .left a {
  display: block;
  height: 100%;
}
.news_sec .container .wrap_content .content .left img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; max-width: 100%; height: auto;max-height: 320px; }

.news_sec .container .wrap_content .content .left:hover { border: 1px solid #c50839; }

.news_sec .container .wrap_content .content .right { padding-top: 30px; }

.news_sec .container .wrap_content .content .right .title { margin-bottom: 20px; }

.news_sec .container .wrap_content .content .right .title h3 { font-size: 18px; font-weight: bold; }
.news_sec .linkbox {display: flex;justify-content: center;}
.news_sec .linkbox p {position: relative;margin: 0 1rem;}
.news_sec .ago a {padding-left: 2rem;}
.news_sec .next a {padding-right: 2rem;}
.news_sec .ago a::before {
	content: '<';
	position: absolute;
	left: 0;
}
.news_sec .next a::before {
	content: '>';
	position: absolute;
	right: 0;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) { .news_sec .container .wrap_content .content { padding: 7% 0; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 0; }
  .news_sec .container .wrap_content .content .left { width: 100%; margin-right: 0; height: 250px; }
  .news_sec .container .wrap_content .content .left img { max-height: 250px; }
  .news_sec .container .wrap_content .content .right { width: 100%; } }

/* ========== end △ */
.news_btn li { border: 1px solid #d0d0d0; padding: 10px; }

.news_btn .left { float: left; }

.news_btn .left a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-decoration: none; background: #fff; -webkit-box-shadow: 0 0 15px #bebebe; box-shadow: 0 0 15px #bebebe; padding: 20px; width: 300px; color: #c50839; font-weight: bold; -webkit-box-sizing: border-box; box-sizing: border-box; }

.news_btn .left a img { margin-right: 20px; }

.news_btn .left a:hover { background: #c50839; color: #fff; }

.news_btn .left a:hover img { margin-right: 0; opacity: 0; }

.news_btn .right { float: right; }

.news_btn .right a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-decoration: none; background: #fff; -webkit-box-shadow: 0 0 15px #bebebe; box-shadow: 0 0 15px #bebebe; padding: 20px; width: 300px; color: #c50839; font-weight: bold; -webkit-box-sizing: border-box; box-sizing: border-box; }

.news_btn .right a img { margin-left: 20px; }

.news_btn .right a:hover { background: #c50839; color: #fff; }

.news_btn .right a:hover img { margin-left: 0; opacity: 0; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) { .news_btn li { width: 48%; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .news_btn li a { width: 100% !important; font-size: 14px; padding: 20px 10px !important; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .news_btn .left { width: 48%; }
  /* ▽ SP layout ========== */
  /* ========== end △ */ }

@media only screen and (max-width: 639px) and (max-width: 420px) { .news_btn li { width: 100% !important; margin: 0 auto 3% !important; } }
/*-----------------------------------------------------

	RECRUIT

-----------------------------------------------------*/
#itv {margin: auto;}
#itv section {max-width: 110rem;margin: 0 auto;padding-bottom: 10rem;}
#itv h2 {margin-bottom: 5rem;font-size: 4rem;font-weight: 900;}
.intervew_sec { display: flex;flex-wrap: wrap;justify-content: center;}
.intervew_sec .box_intervew { position: relative; width: 30%;}
.intervew_sec .box_intervew figure img { width: 100%; }
.intervew_sec .box_intervew .myBtn { position: absolute; right: 20px; bottom: 0; }
.intervew_sec .box_intervew .modal_box { position: relative; }
.intervew_sec .box_intervew .modal_box .txt { position: absolute; content: ""; width: 130px; right: 70px; top: 45%; }
.intervew_sec .box_intervew .modal_box .txt p { margin-bottom: 5px; }
.intervew_sec .box_intervew .modal_box .txt span { width: 100%; background: #c50839; color: #fff; font-size: 16px; padding: 2px 10px; }
.intervew_sec .box_intervew .modal_box .txt span.eng { font-size: 30px; font-weight: bold; font-family: 'Noto Serif JP', serif; padding: 0 20px; }
.intervew_sec .box_intervew .modal_box .txt span.year { font-size: 12px; }
.intervew_sec .box_intervew .style_btn02 {top: 3rem;}
.style_btn02 {
  position: relative;
  background: #c50839;
  width: 60%;
  margin: auto;
  padding: 24% 0;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  text-align: center;
  transition: all ease 0.3s;
}
.style_btn02:hover {transform: translateY(-10px);}
.style_btn02:hover .arrow strong img {opacity: 0;margin-left: 40px;}
.style_btn02 a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
}
.style_btn02 .txt {font-size: 18px;color: #fff;}
.style_btn02 .txt span {
  display: block;
  font-size: 30px;
  font-weight: 500;
  width: 100%;
}
.style_btn02 .arrow {
  position: absolute;
  width: 100%;
  bottom: 12%;
  left: 0;
  right: 0;
  margin: auto;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: bold;
}
.style_btn02 .arrow strong {display: block;margin-top: 10px;transition: all ease 0.3s;}
.box_btn {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  border: 3px solid #c50839;
  padding: 2% 4%;
  box-sizing: border-box;
  color: #c50839;
  transition: all ease 0.3s;
}
.box_btn a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
}
.box_btn:hover {transform: translateY(-10px);}
.box_btn:hover .right strong img {opacity: 0;margin-left: 40px;}
.box_btn .left {font-size: 18px;}
.box_btn .left span {display: block;font-size: 30px;font-weight: 500;}
.box_btn .right {font-size: 16px;font-weight: bold;font-family: "Roboto", sans-serif;}
.box_btn .right strong {
  display: block;
  text-align: center;
  margin-top: 10px;
  line-height: 9px;
  transition: all ease 0.3s;
}
/*----------------------------------------------------

　   RECRUIT Modal

-----------------------------------------------------*/
.modal { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background: #fff; }
.modal-content { position: relative; margin: auto; width: 100%; height: 100vh; z-index: 999;overflow: hidden;}
.bg_content { width: 100%; }
.bg_content .inner {display: flex;justify-content: space-between;flex-wrap: wrap; }
.bg_content .inner .img_modal { width: 40%; overflow: hidden; }
.bg_content .inner .img_modal img { width: 100%; height: auto; }
.bg_content .inner .txt_modal { position: relative; width: 60%; height: calc(100vh - 83px); max-height: 100vh; overflow-y: scroll; background: #fff; padding: 50px;box-sizing: border-box; }
.bg_content .inner .txt_modal h2 { font-family: "Roboto", sans-serif; font-size: 14px; }
.bg_content .inner .txt_modal h2 span { position: relative; padding-left: 110px; margin-left: 20px; }
.bg_content .inner .txt_modal h2 span:after { position: absolute; content: ""; background: #000; width: 90px; height: 1px; left: 0; top: 0; bottom: 0; margin: auto; }
.bg_content .inner .txt_modal h3 { font-size: 42px; font-weight: 500; font-family: 'Noto Serif JP', serif; margin-bottom: 50px; }
.bg_content .inner .txt_modal .list_01 {display: flex;flex-wrap: wrap; }
.bg_content .inner .txt_modal .list_01 li { width: 330px; margin-right: 50px; border-bottom: 1px solid #ccc; padding-bottom: 10px; margin-bottom: 20px;box-sizing: border-box; }
.bg_content .inner .txt_modal .list_01 li span { font-weight: bold; margin-right: 20px; }
.bg_content .inner .txt_modal .box_Q { margin-bottom: 50px; }
.bg_content .inner .txt_modal .box_Q h3 { position: relative; font-size: 18px; color: #c50839; padding-bottom: 20px; border-bottom: 1px solid #c50839; margin-bottom: 50px; }
.bg_content .inner .txt_modal .box_Q h3:after { position: absolute; content: ""; background: #fff; border: 1px solid #c50839; border-top: none; border-left: none; bottom: -9px; width: 15px; height: 15px; left: 30px; transform: rotate(45deg); -moz-transform: rotate(45deg); -webkit-transform: rotate(45deg); -o-transform: rotate(45deg); -ms-transform: rotate(45deg); }
.bg_content .inner .txt_modal .box_Q h3 span { font-family: "Roboto", sans-serif; font-size: 20px; }
.bg_content .inner .txt_modal .box_Q .infor { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; }
.bg_content .inner .txt_modal .box_Q .infor .img { width: 35%; }
.bg_content .inner .txt_modal .box_Q .infor .img img { width: 100%; }
.bg_content .inner .txt_modal .box_Q .infor .txt { width: 62%; }
@media only screen and (min-width: 640px) { .bg_content .inner .img_modal { height: 100vh; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-align-items: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } }
/* The Close Button */
.close { position: fixed; top: 10px; right: 40px; color: #aaaaaa; float: right; font-size: 28px; font-weight: bold; z-index: 9999; }
.close:hover, .close:focus { color: #000; text-decoration: none; cursor: pointer; }
.paginationjs { position: fixed; width: 60%; right: 0; bottom: 0; background: #c50839; padding: 30px 50px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; z-index: 999; }
.paginationjs .paginationjs-pages { position: relative; }
.paginationjs ul { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.paginationjs ul li a { position: relative; text-decoration: none; color: #fff; cursor: pointer; }
.paginationjs ul li.paginationjs-prev a { padding-left: 20px; }
.paginationjs ul li.paginationjs-prev a:after { position: absolute; content: "\f104"; color: #fff; font-family: FontAwesome; left: 0px; top: 0; font-size: 18px; font-weight: bold; line-height: 1.2; -webkit-transition: all ease 0.3s; -o-transition: all ease 0.3s; transition: all ease 0.3s; }
.paginationjs ul li.paginationjs-prev a:hover { padding-left: 0; }
.paginationjs ul li.paginationjs-prev a:hover:after { opacity: 0; }
.paginationjs ul li.paginationjs-next a { padding-right: 20px; }
.paginationjs ul li.paginationjs-next a:after { position: absolute; content: "\f105"; color: #fff; font-family: FontAwesome; right: 0px; top: 0; font-size: 18px; font-weight: bold; line-height: 1.2; -webkit-transition: all ease 0.3s; -o-transition: all ease 0.3s; transition: all ease 0.3s; }
.paginationjs ul li.paginationjs-next a:hover { padding-right: 0; }
.paginationjs ul li.paginationjs-next a:hover:after { opacity: 0; }
.paginationjs-nav { position: fixed; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-align-items: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 70px; height: 15px; left: 40%; right: 0; bottom: 35px; margin: auto; text-align: center; color: #e3a5af; font-family: "Roboto", sans-serif; font-size: 13px; font-weight: bold; line-height: 1.8; z-index: 9999; }
/*.mySlides { display: none; }*/
/*----------------------------------------------------

　   RECRUIT ACCORDION

-----------------------------------------------------*/
.accordion .accordionbox {width: 100%;margin-bottom: 8px;}
.accordion h3 {
	position: relative;
	transition: .5s;
	padding: 1.5rem;
	background: #c50839;
	color: #fff;
	font-size: 1.8rem;
	cursor: pointer;
}
.accordion h3::after {
	content: "";
	width: 1rem;
    height: 1rem;
    border-top: .2rem solid #fff;
    border-right: .2rem solid #fff;
    position: absolute;
    right: 2rem;
	bottom: 50%;
	transform: translate(0,50%) rotate(135deg);
	transition: .5s;
}
.accordion h3.open::after {transform: translate(0,50%) rotate(-45deg);}
.accordion h3:hover {background: #A52019;}
.accordion h3 span {display: block;position: relative;padding-left: 2rem;}
.accordion h3 span::before {
	content: 'Q';
	position: absolute;
	left: 0;
	top: 0;
}
.accordion .contentWrap {
	display: none;
	border: 1px solid #ccc;
	padding: 2rem;
	background: #fff;
}
.accordion p {position: relative;padding-left: 2rem;}
.accordion p::before {
	content: 'A';
	position: absolute;
	left: 0;
	top: 0;
}
@media only screen and (max-width: 1280px) and (min-width: 640px) { 
  .paginationjs { width: 60%; }
  .style_btn02 {
    padding: 23% 0;
  }
  .style_btn02 .txt {
    font-size: 16px;
  }
  .style_btn02 .txt span {
    font-size: 24px;
  }
  .style_btn02 .arrow {
    font-size: 14px;
  }
}
@media only screen and (max-width: 768px) {
  #itv { width: 100%; }
  .intervew_sec .box_intervew { width: 100%; margin-bottom: 100px; }
  .bg_content .inner .img_modal { width: 100%; }
  .bg_content .inner .txt_modal { width: 100%; height: calc(100vh - 63px); padding: 30px 3%; }
  .bg_content .inner .txt_modal h3 { font-size: 18px; }
  .bg_content .inner .txt_modal .list_01 li { width: 100%; margin-right: 0; }
  .bg_content .inner .txt_modal .box_Q h3 { font-size: 16px; padding-bottom: 5px; margin-bottom: 30px; }
  .bg_content .inner .txt_modal .box_Q h3 span { font-size: 18px; }
  .paginationjs { width: 100%; padding: 20px 3%; }
  .paginationjs-nav { left: 0; bottom: 25px; }

  .intervew_sec .box_intervew .style_btn02 {
    top: 0;
  }
  .style_btn02 {
    padding: 24.2% 0;
  }
  .box_btn {
    margin-bottom: 63px;
  }
  .box_btn .left {
    font-size: 16px;
  }
  .box_btn .left span {
    font-size: 24px;
  }
  .box_btn .right {
    font-size: 14px;
  }
	.accordion h3 {font-size: 1.6rem;}
}
@media only screen and (max-width: 480px) { 
  .intervew_sec .box_intervew { margin-bottom: 20%; }
  .intervew_sec .box_intervew .modal_box .txt { right: 0; top: 40%; }
  .intervew_sec .box_intervew .modal_box .txt p { margin-bottom: 2px; }
  .intervew_sec .box_intervew .modal_box .txt span { font-size: 13px; }
  .intervew_sec .box_intervew .modal_box .txt span.eng { font-size: 24px; }
  .close { right: 10px; }
  .style_btn02 {
    width: 250px;
    height: 250px;
    padding: 0;
  }
  .box_btn .left {
    font-size: 14px;
  }
  .box_btn .left span {
    font-size: 20px;
  }
}
@media only screen and (max-width: 375px) {
  .intervew_sec .btn1 a { width: 80px; height: 80px; padding-top: 25px; font-size: 12px; }
  .intervew_sec .btn1 a .circle1, .intervew_sec .btn1 a .circle2, .intervew_sec .btn1 a .circle3, .intervew_sec .btn1 a .circle4 { width: 80px; height: 80px; }
  .intervew_sec .box_intervew .modal_box .txt span { font-size: 12px; }
  .intervew_sec .box_intervew .modal_box .txt span.eng { font-size: 18px; } }
@media only screen and (max-width: 360px) {
  .intervew_sec .box_intervew .modal_box .txt { top: 37%; } }
/*------------------------------------------------

	PERFORMANCE

-------------------------------------------------*/
.culture_01 p { font-size: 26px; line-height: 2.2; }
.culture_01 p span { font-size: 34px; font-weight: bold; }
.bg_txt02 { background: -webkit-linear-gradient(transparent 60%, #dbdbdb 60%); background: -o-linear-gradient(transparent 60%, #dbdbdb 60%); background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #dbdbdb)); background: linear-gradient(transparent 60%, #dbdbdb 60%); }
.culture_02 { background: #c50839; padding-bottom: 120px; }
.culture_02 .inner_sec { position: relative; background: -webkit-gradient(linear, left top, right top, color-stop(72%, #ffffff), color-stop(72%, #c50839)); background: -webkit-linear-gradient(left, #ffffff 72%, #c50839 72% 28%); background: -o-linear-gradient(left, #ffffff 72%, #c50839 72% 28%); background: linear-gradient(to right, #ffffff 72%, #c50839 72% 28%); background: -moz-linear-gradient(to right, #ffffff 72%, #c50839 72% 28%); background: -webkit-linear-gradient(to right, #ffffff 72%, #c50839 72% 28%); background: -o-linear-gradient(to right, #ffffff 72%, #c50839 72% 28%); padding: 120px 0; z-index: 2; }
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { .culture_02 .inner_sec:before { position: absolute; content: ""; width: 72%; height: 100%; top: 0; left: 0; background: #fff; z-index: -1; } }
.style_box01 { background: #fff; -webkit-box-shadow: 0px 0px 16px 4px rgba(0, 0, 0, 0.05); box-shadow: 0px 0px 16px 4px rgba(0, 0, 0, 0.05); width: 980px; margin: 0 auto 30px; padding: 40px 80px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.style_box01 .img { width: 270px; }
.style_box01 .txt { width: calc(100% - 310px); }
.style_box01 .txt h2 { font-size: 30px; font-family: "Roboto", sans-serif; color: #000; padding-bottom: 10px; }
.style_box01 .txt .style_btn01 { width: auto; margin: 35px auto 0; }
.style_box01 .txt .style_btn01 a { font-size: 18px; padding: 15px; }
.style_box01 .txt .style_btn01 a img { padding-top: 2px; }
.list_culture .sec_list { padding: 140px 0; background: #f2f2f2; }
.list_culture .sec_list .cont_list { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -ms-align-items: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.list_culture .sec_list .txt { width: 60%; }
.list_culture .sec_list .txt .inner { width: 68%; margin-left: 28%; }
.list_culture .sec_list .txt h2 { font-family: "Roboto", sans-serif; }
.list_culture .sec_list .txt h2 span { position: relative; display: inline-block; padding-left: 20px; font-size: 16px; }
.list_culture .sec_list .txt h2 span:before { content: ""; display: block; width: 11px; height: 2px; background: #000; position: absolute; left: 0; top: 10px; }
.list_culture .sec_list .txt h2 strong { font-size: 64px; font-weight: 900; letter-spacing: -2px; color: #000; display: block; margin-top: -10px; }
.list_culture .sec_list .txt .inner p span { font-size: 24px; }
.list_culture .sec_list .img { width: 40%; }
.list_culture .sec_list .img img { width: 100%; }
.list_culture .sec_list:nth-child(even) { background: #212121; color: #fff; }
.list_culture .sec_list:nth-child(even) .cont_list { -webkit-flex-direction: row-reverse; -moz-flex-direction: row-reverse; -ms-flex-direction: row-reverse; -o-flex-direction: row-reverse; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; flex-direction: row-reverse; }
.list_culture .sec_list:nth-child(even) .txt h2 span:before { background: #fff; }
.list_culture .sec_list:nth-child(even) .txt h2 strong { color: #fff; }
.list_culture .sec_list:nth-child(even) .txt .inner { margin-left: auto; margin-right: 28%; }
.list_culture .sec_list .style_btn01 { width: auto; }
.list_culture .sec_list .style_btn01 a { padding: 20px 30px; }
.list_develop { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; }
.list_develop .box_develop { width: 49%; padding: 70px 0; border-bottom: 1px solid #a6a6a6; margin-bottom: 20px; }
.list_develop .box_develop .ttl { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-align-items: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.list_develop .box_develop .ttl .circle { border: 3px solid #e0e0e0; border-radius: 50%; width: 90px; height: 90px; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-align-items: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-line-pack: center; align-content: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; margin-right: 25px; }
.list_develop .box_develop .ttl .circle span { position: relative; display: block; width: 100%; text-align: center; font-size: 24px; font-family: "Roboto", sans-serif; padding-bottom: 5px; margin-bottom: 7px; }
.list_develop .box_develop .ttl .circle span:after { position: absolute; content: ""; border-bottom: 2px solid #e0e0e0; width: 35px; left: 0; right: 0; bottom: 0; margin: auto; }
.list_develop .box_develop .ttl .circle strong { font-size: 10px; font-weight: normal; }
.list_develop .box_develop .ttl h3 { font-size: 24px; font-weight: normal; }
.list_develop .box_develop .cont_box { margin-left: 115px; }
.list_develop .box_develop .cont_box ul li { text-indent: -15px; margin-left: 15px; }
.style_txt01 { font-size: 24px; font-weight: normal; text-align: center; padding: 30px 0; }
/*------------------------------------------------

	JOB INFORMATION │ COMMONS

-------------------------------------------------*/
.job .commonbox h2.title {
	background: #A41A3F;
	padding: 2rem;
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
}
.job .commonbox h2.title a {display: block;font-size: 14px;color: #fff;}
.job .commonbox .flexbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding:2rem;
	background: #fff;
}
.job .commonbox h3.subtitle {margin-bottom: 4rem;font-weight: 700;font-size: 1.8rem;}
.job .commonbox .box {width: 65%;}
.job .commonbox table {border-collapse: inherit;border-spacing: 0 1rem;margin-bottom: 3.5rem;}
.job .commonbox th {
	width: 11rem;
	padding: .5rem 0;
	border: .1rem solid #707070;
	font-size: 1.6rem;
	text-align: center;
}
.job .commonbox td {padding: 1rem 2rem;font-size: 1.6rem;}
.job .commonbox .tagbox {display: flex;flex-wrap: wrap;}
.job .commonbox .tagbox span {
    width: 13rem;
    margin: 0 .9% 1rem;
    padding: 10px 0;
    border-radius: 1rem;
    background: #B59BA0;
    color: #fff;
    text-align: center;
}
.job .commonbox figure {width: 30%;}
.job .commonbox figure img {width: 100%;}
.job .ebox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 96rem;
    margin: 0 auto;
	padding: 0 2rem 5rem;
}
.job .e_button {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 1.5rem 0;
	background: #c50839;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
}
@media only screen and (max-width: 768px) { 
	.job .commonbox h2.title {font-size: 1.8rem;}
	.job .commonbox .flexbox {flex-direction: column-reverse;}
	.job .commonbox .box {width: 100%;}
	.job .commonbox h3.subtitle {margin-bottom: 0;font-size: 1.6rem;}
	.job .commonbox table {margin-bottom: 2rem;}
	.job .commonbox th {width: 9rem;font-size: 1.4rem;}
	.job .commonbox td {font-size: 1.4rem;}
	.job .commonbox .tagbox span {width: 23.2%;}
	.job .commonbox figure {width: 100%;margin-bottom: 2rem;}
	.job .ebox {padding-bottom: 0;}
}
@media only screen and ( max-width : 480px ) {
	.job .commonbox h2.title {padding: 1rem;}
	.job .commonbox .flexbox {padding: 2rem 1rem;}
	.job .commonbox th {display: block;}
	.job .commonbox td {display: block;padding: 1rem 0 0;}
	.job .commonbox .tagbox span {width: 31.5%;}
	.job .ebox {padding: 0 1rem 2rem;}
}
/*------------------------------------------------

	JOB INFORMATION │ ARCHIVE

-------------------------------------------------*/
#archive h3.text {
	margin-bottom: 9rem;
	font-weight: 500;
	font-size: 3rem;
	text-align: center;
}
#archive .commonbox {margin-bottom: 10rem;box-shadow: 0 0 .5rem rgba(0,0,0,.3);}
#archive.job .e_button {max-width: 49%;}
@media only screen and (max-width: 768px) { 
	#archive h3.text {margin-bottom: 3rem;font-size: 2.4rem;}
	#archive.job .e_button {max-width: 100%;margin-bottom: 1rem;}
}
/*------------------------------------------------

	JOB INFORMATION │ SINGLE PAGE

-------------------------------------------------*/
#single {padding-top: 15rem;margin-bottom: 10rem;}
#single h3.text {margin-bottom: 7rem;font-weight: 700;font-size: 2.4rem;}
#single .bg {margin-bottom: 10rem;box-shadow: 0 0 .5rem rgba(0,0,0,.3);}
#single .singlebox  {padding: 2rem 2rem 10rem;}
#single .singlebox h3 {
	margin-bottom: 4.5rem;
	padding: 0 0 1rem 1rem;
	border-bottom: .1rem solid #707070;
	font-weight: 700;
	font-size: 2.4rem;
}
#single .singlebox table {
	border-collapse: inherit;
	border-spacing: 0 3rem;
	max-width: 100rem;
	margin: 0 auto 2rem;
}
#single .singlebox th {width: 18rem;vertical-align: top;}
#single .singlebox th span {
	display: inline-block;
	padding: 1rem 2rem;
	border: .1rem solid #000;
	font-size: 1.6rem;
}
#single .singlebox td {font-size: 1.6rem;}
#single.job .e_button {max-width: 40.6rem;margin-bottom: 2rem;}
#single .backbtn {
	display: block;
	max-width: 30rem;
    margin: 0 auto;
    padding: 1.5rem 0;
    background: #212121;
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
}
@media only screen and (max-width: 768px) { 
	#single h3.text {margin-bottom: 3rem;font-size: 1.8rem;}
	#single .singlebox {padding: 2rem 1rem 2rem;}
	#single .singlebox h3 {margin-bottom: 0;font-size: 2rem;}
	#single .singlebox th {display: block;margin-bottom: 2rem;font-size: 1.4rem;}
	#single .singlebox th span {font-size: 1.4rem;}
	#single .singlebox td {display: block;font-size: 1.4rem;}
}
/*------------------------------------------------

	PERFORMANCE graph

-------------------------------------------------*/
#graph .flexbox{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;}
#graph li{
	width: 30%;
    margin-bottom: 4rem;}
#graph li:nth-child(1){
    margin-left: 15%;}
#graph li:nth-child(2){
    margin-right: 15%;}
#graph ul li span{
	display: block;
	text-align: center;
	font-size: 3rem;
	font-weight:600;}

@media only screen and (max-width: 768px) { 
	#graph ul{padding: 0 20px;}
	#graph li {width:45%;}
	#graph li:nth-child(1){margin-left: 0;}
	#graph li:nth-child(2){margin-right: 0;}
}
@media only screen and ( max-width : 480px ) {
	#graph ul{padding: 0;}
	#graph li {
	display: block;
	width:90%;
	margin:0 auto 4rem;}
	#graph li:nth-child(1){margin-left: auto;}
	#graph li:nth-child(2){margin-right: auto;}
}
/*------------------------------------------------

　   COMPANY

-------------------------------------------------*/
.company a[href*="tel:"] { color: #333 !important; }
.company .map iframe { vertical-align: bottom; }
.style_tale01 { width: 710px; margin: auto; }
.style_tale01 tr th, .style_tale01 tr td { padding: 15px 25px; border-bottom: 1px solid #cdcdcd; line-height: 2; }
.style_tale01 tr th { font-weight: bold; vertical-align: top; }
.style_tale01 td p { margin-bottom: 20px; }
.company_02 {
  background: #f7f7f7;
  padding: 4%;
  margin-top: 5%;
}
.box_company figure {
  float: right;
  width: 45%;
  margin-left: 4%;
}
.box_company figure img {
  width: 100%;
}
.company_03 {
  margin-top: 6%;
}
.company_03 .box_group {
  width: 800px;
  margin: 0 auto;
  margin-bottom: 30px;
  padding-left: 130px;
}
.company_03 .box_group_left {
  width: 400px;
  float: left;
}
.company_03 .box_group_right {
  float: left;
}
.company_03 .box_group_left a {text-decoration: underline;}
.company_03 .box_group_left a:hover {text-decoration: none;}
.company_sec iframe {vertical-align: bottom;}
.company_04 {
  padding: 1%;
  margin-top: 5%;
}
.sns_icon {
  width: 20px;
  margin: 0 auto;
  right: 0;
  left: 0;
}
#content tr td a{
  transition: all 0.3s;
  width: 100%;
  text-align: center;
  display: block;
  text-decoration: none;
  position: relative;
}
a:hover{
transform: translateY(-10px);
}







/*-------PAGE start_lab_project-------*/
.sec_lab { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -ms-align-items: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 150px 0; }
.sec_lab .img { width: 40%; }
.sec_lab .img img { max-width: 100%; }
.sec_lab .txt { width: 60%; }
.sec_lab .txt .inner { width: 100%; padding: 0 80px 0 180px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; }
.sec_lab .txt .inner .number { width: 200px; padding-top: 20px; letter-spacing: 1px; }
.sec_lab .txt .inner .number p { font-family: "Roboto", sans-serif; font-size: 18px; color: #c50839; font-weight: 900; }
.sec_lab .txt .inner .number p span { display: block; width: 100%; font-size: 13px; }
.sec_lab .txt .inner .cont { width: 100%; }
.sec_lab .txt .inner .cont h2 { color: #000; font-size: 64px; line-height: 1.5; padding-bottom: 50px; }
.sec_lab .txt .inner .cont p { font-size: 18px; line-height: 2.2; }
.bg_txt01 { background: -webkit-linear-gradient(transparent 60%, #e89cb0 60%); background: -o-linear-gradient(transparent 60%, #e89cb0 60%); background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #e89cb0)); background: linear-gradient(transparent 60%, #e89cb0 60%); }
.sec_lab.what, .sec_lab.feature, .sec_lab.after { background: #c50839; color: #fff; }
.sec_lab.what .txt .inner .number p, .sec_lab.feature .txt .inner .number p, .sec_lab.after .txt .inner .number p, .sec_lab.what .txt .inner .cont h2, .sec_lab.feature .txt .inner .cont h2, .sec_lab.after .txt .inner .cont h2 { color: #fff; }
.sec_lab.feature, .sec_lab.after { background: #212121; margin: 0; padding: 8% 0; }
.sec_lab.feature .txt { width: 80%; }
.sec_lab.after { padding: 10% 0 400px; }
.sec_lab.after .txt { width: 80%; }
.sec_lab.after2 { position: relative; background: #f2f2f2; margin: 0; padding: 150px 0; z-index: 2; }
.sec_lab.after2:after { background: #fff; content: ""; width: calc(100% - 180px); height: 1200px; margin-top: -950px; }
.sec_lab.after2 .txt { width: 52%; margin-top: -400px; z-index: 99; }
.sec_lab.after2 .txt .inner { padding-right: 0; }
.sec_lab.after2 .img { position: relative; width: 48%; z-index: 2; }
.sec_lab.after2 .img:before { position: absolute; content: ""; border: 1px solid #cdcdcd; border-right: none; width: 85%; height: 120%; top: -10%; right: 0; z-index: -1; }
.style_btn01_bk {
	position: absolute;
	right: 38%;
	bottom: 47%;
	width: 100%;
	max-width: 45rem;
	margin: 50px auto 0;
	background: #c50839; 
	display: inline-block; 
	-webkit-transition: all linear 0.3s; 
	-o-transition: all linear 0.3s; 
	transition: all linear 0.3s;
}
.style_btn01 {
	position: absolute;
  right: 0;
	left: 60%;
	bottom: 15%; 
	width: 100%;
	max-width: 45rem;
	margin: 10px auto 0;
	background: #c50839; 
	display: inline-block; 
	-webkit-transition: all linear 0.3s; 
	-o-transition: all linear 0.3s; 
	transition: all linear 0.3s;
}
.style_btn01 a { display: block; width: 100%; padding: 20px 5px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; text-align: center; color: #fff; font-weight: bold; font-size: 24px; color: #fff; text-decoration: none; }
.style_btn01 a img { padding-right: 10px; padding-top: 5px; }
.style_btn01:hover { -webkit-transform: translateY(-7px); -ms-transform: translateY(-7px); transform: translateY(-7px); -webkit-transition: all linear 0.3s; -o-transition: all linear 0.3s; transition: all linear 0.3s; }
/* ▽ TAB-SP layout ========== */
@media only screen and (max-width: 1280px) and (min-width: 640px) { /*-------PAGE start_lab_project-------*/
  .sec_lab { margin: 10% 0; }
  .sec_lab .txt .inner { padding: 0 40px 0 115px; }
  .sec_lab .txt .inner .number { width: 150px; }
  .sec_lab .txt .inner .cont { width: calc(100% - 150px); }
  .sec_lab .txt .inner .cont h2 { font-size: 3.4vw; }
  .sec_lab.what .img img { width: auto; height: 100%; }
  .sec_lab.after { padding: 10% 0 300px; }
  .sec_lab.after2 { padding: 10% 0; }
  .sec_lab.after2:after { margin-top: -820px; height: 100vh; }
  .sec_lab.after2 .txt { margin-top: -200px; }
  .style_btn01 { width: 95%; left: 50%; }
  .style_btn01 a { font-size: 20px; }
  /*-------PAGE cluture_performance-------*/
  .list_culture .sec_list { padding: 100px 0; }
  .culture_02 .inner_sec { background: -webkit-gradient(linear, left top, right top, color-stop(82%, #ffffff), color-stop(82%, #c50839)); background: -webkit-linear-gradient(left, #ffffff 82%, #c50839 82% 18%); background: -o-linear-gradient(left, #ffffff 82%, #c50839 82% 18%); background: linear-gradient(to right, #ffffff 82%, #c50839 82% 18%); padding: 100px 0; }
  .list_develop .box_develop { padding: 50px 0; }
  .style_txt01 { padding: 20px 0; }
}
@media only screen and (max-width: 768px) { /*-------PAGE start_lab_project-------*/
  .start_lab_project .main_content { padding: 0% !important; }
  .sec_lab { margin: 0; padding: 8% 3%; }
  .sec_lab .txt { width: 100% !important; }
  .sec_lab .txt .inner { width: 100%; padding: 0; }
  .sec_lab .txt .inner .number { width: 100% !important; padding-top: 0; }
  .sec_lab .txt .inner .cont { width: 100% !important; }
  .sec_lab .txt .inner .cont h2 { font-size: 36px; padding-bottom: 20px; }
  .sec_lab .txt .inner .cont p { font-size: 14px; }
  .sec_lab .img { width: 100% !important; padding-top: 8%; }
  .sec_lab.what { padding: 8% 3% 0; }
  .sec_lab.what .img { width: 106% !important; margin: 0 -3%; }
  .sec_lab.feature, .sec_lab.after { padding: 8% 3%; }
  .sec_lab.after2 { padding: 8% 0% 0; margin: 8% 0; overflow: hidden; }
  .sec_lab.after2:after { width: 30%; margin-top: -960px; height: 1020px; }
  .sec_lab.after2 .txt { padding: 0 3%; margin-top: 0; }
  .sec_lab.after2 .img:before { border: none; }
  .style_btn01 { width: 100%; bottom: 0%; right: 0; left: 0;}
  .style_btn01 a { padding: 20px 5px !important; font-size: 16px !important; }
  .style_btn01 a img { padding-top: 0; }
  /*-------PAGE cluture_performance-------*/
  .culture_01 p { font-size: 18px; }
  .culture_01 p span { font-size: 24px; }
  .culture_02 { padding-bottom: 70px; }
  .culture_02 .inner_sec { padding: 50px 0; }
  .style_box01 { -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; width: 100%; padding: 4%; }
  .style_box01 .img { width: 100%; margin-bottom: 20px; text-align: center; }
  .style_box01 .txt { width: 100%; }
  .style_box01 .txt h2 { font-size: 24px; }
  .style_box01 .txt .style_btn01 { display: block; }
  .list_culture .sec_list { padding: 50px 0 0; }
  .list_culture .sec_list .txt { width: 100%; }
  .list_culture .sec_list .txt h2 strong { font-size: 36px; }
  .list_culture .sec_list .txt .inner { width: 100%; padding: 0 3%; margin-left: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
  .list_culture .sec_list .txt .inner p span { font-size: 18px; }
  .list_culture .sec_list .img { width: 100%; margin-top: 30px; }
  .list_culture .sec_list .style_btn01 { width: 100%; display: block; }
  .list_develop { padding: 0 3%; }
  .list_develop .box_develop { width: 100%; padding: 40px 0; }
  /*-------PAGE company-------*/
  .company_03 .box_group {
    width: 95%;
    padding-left: 0;
  }
  .company_03 .box_group_left {
    width: 55%;
  }
  .company_03 .box_group_right {
    padding-left: 5px;
  }
}
@media only screen and (max-width: 480px) { /*-------PAGE start_lab_project-------*/
  .sec_lab .txt .inner .cont h2 { font-size: 20px; padding-bottom: 10px; }
  /*-------PAGE cluture_performance-------*/
  .culture_01 p { font-size: 16px; }
  .culture_01 p span { font-size: 20px; }
  .culture_02 { padding-bottom: 50px; }
  .style_box01 .txt h2 { font-size: 20px; }
  .list_culture .sec_list .txt h2 strong { font-size: 30px; }
  .list_culture .sec_list .txt .inner p span { font-size: 16px; }
  .list_develop .box_develop { padding: 30px 0; }
  .list_develop .box_develop .ttl .circle { margin-right: 15px; }
  .list_develop .box_develop .ttl h3 { font-size: 16px; }
  .list_develop .box_develop .cont_box { margin-left: 105px; }
  .style_txt01 { font-size: 21px; padding: 20px 0; }
  /*-------PAGE company-------*/
  .style_tale01 { display: block; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
  .style_tale01 tbody { display: block; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
  .style_tale01 tr { display: block; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
  .style_tale01 tr th, .style_tale01 tr td { display: block; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
  .style_tale01 tr th, .style_tale01 tr td { padding: 10px; } }
/*------------------------------------------------

	PRIVACY POLYCY

-------------------------------------------------*/
#privacy {padding: 0 0 10rem;}
#privacy .container {max-width: 100rem;}
#privacy p {margin-bottom: 1rem;}
#privacy ul li {margin-bottom: 1.5rem;}
#privacy ul li li {list-style-type: none;}
#privacy ul.lstdecimal {margin-left: 2rem;}
#privacy ul.list_parentheses {margin: 0 0 1rem 1rem;}
#privacy ul.list_parentheses li{
	position: relative;
	list-style-type:none;
	list-style-position:inside;
	counter-increment: cnt;
	padding-left: 2rem;
}
#privacy ul.list_parentheses li:before{
	content: counter(cnt) "）";
	position: absolute;
	top: 0rem;
	left: 0;
}
#privacy ul.lstdecimal li{list-style-type: decimal;}
#privacy ul.disc li{list-style-type: disc;}
.taR{text-align: right;}
@media only screen and ( max-width : 480px ) {
  #privacy {padding: 0 1rem 0;}
}
/*------------------------------------------------

	CONTACT

-------------------------------------------------*/
.contact_sec .container p { text-align: center; margin-bottom: 40px; font-size: 16px}

.contact_sec .container form table tr th { 
	width: 20rem;
	padding: 20px 0 10px; 
	font-weight: bold; 
	vertical-align: top; 
	font-size: 14px;
}
.contact_sec .container form table tr th span,
.contact_sec .spec span { color: #c50839; font-weight: bold; }

.contact_sec .container form table tr td { padding: 10px 0; }

.contact_sec .container form table tr td input { width: 100%; padding: 7px 10px; border: 1px solid #d9d9d9; }

.contact_sec .container form table tr td textarea { border: 1px solid #d9d9d9; }

.contact_sec .container form table tr td select { border: 1px solid #d9d9d9; margin-top: 10px; width: 40%; padding: 5px 10px; }

.contact_sec .container form table tr td .w260 { width: 260px; }

.contact_sec .container form .box1 { padding: 20px 20px 20px 210px; }

.contact_sec .container form .box2 { background: #f5f5f5; padding: 25px; height: 300px; overflow: auto; -webkit-box-sizing: border-box; box-sizing: border-box; margin-left: 180px; margin-bottom: 40px; }
.contact_sec .container form .box2 p { margin-bottom: 20px; }
.contact_sec .container form .box2 p a {
  color: #333;
}
.contact_sec .container form .box2 p:last-child { margin-bottom: 0; }

.contact_sec .container form .box2 ul li { margin: 0 0 1rem 20px; list-style-type: decimal; }
.contact_sec .container form .box2 ul li li {list-style-type: none;}
.contact_sec .container form .box_submit label { text-align: left; width: 320px; margin: 0 auto;display: block; }
.contact_sec .container form .box_submit .check {
	max-width: 360px;margin: 0 auto 25px;
}
.contact_sec .container form .btn_sec_wrap { position: relative; width: 480px; margin: 20px auto 0px; }

.contact_sec .container form .btn_sec_wrap:after { font-family: "FontAwesome"; content: ""; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 54px; height: 100%; right: 5%; position: absolute; top: 0; font-size: 30px; color: #fff; z-index: 9999; -webkit-transition: all ease 1s; -o-transition: all ease 1s; transition: all ease 1s; background: url(../images/contact/row.png) no-repeat center center; }

.contact_sec .container form .btn_sec_wrap .btn_confirm2 { font-family: "Noto Sans Japanese", "Meiryo", "メイリオ", "MS PGothic", "MS Pゴシック", sans-serif; -webkit-appearance: none; -webkit-border-radius: 0; border: none; color: #fff; font-weight: bold; text-decoration: none !important; padding: 25px 10px; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; position: relative; text-align: center; font-size: 18px; font-weight: bold; display: -webkit-box; display: -ms-flexbox; display: flex; z-index: 3; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; background-color: #c50839; -webkit-transition: all 1s cubic-bezier(0.77, 0, 0.175, 1); -o-transition: all 1s cubic-bezier(0.77, 0, 0.175, 1); transition: all 1s cubic-bezier(0.77, 0, 0.175, 1); -webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1); -o-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1); transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1); border: 1px solid #c50839; }

.contact_sec .container form .btn_sec_wrap:hover .btn_confirm2 { -webkit-transition: all ease 0.3s; -o-transition: all ease 0.3s; transition: all ease 0.3s; color: #000; background: #fff; border: 1px solid #000; }

.contact_sec .container form .btn_sec_wrap:hover:after { right: 0px; -webkit-transition: all ease 0.3s; -o-transition: all ease 0.3s; transition: all ease 0.3s; opacity: 0; }
#formEnd {width: 360px;margin: 0 auto;}
.checkbox {display: none;}
.mwform-checkbox-field-text {
	display: table;
	position: relative;
	border-collapse: separate;
    padding-left: 3.5rem;
    cursor: pointer;
	font-size: 1.4rem;
}
.mwform-checkbox-field-text::before {
	content: "";
	background: #fff;
    width: 20px;
    height: 20px;
    border: 1px solid #000;
	position: absolute;
	left: 0;
	bottom: 50%;
	transform: translate(0,50%);
}
.checkbox:checked + .mwform-checkbox-field-text {color: #c50839;}
.checkbox:checked + .mwform-checkbox-field-text::before {background: #fff;}
.checkbox:checked + .mwform-checkbox-field-text::after {
	content: "";
    border-radius: 0;
	display: block;
	position: absolute;
	left: 5px;
	bottom: 40%;
	width: .9rem;
	height: .4rem;
	border-left: .3rem solid #000;
	border-bottom: .3rem solid #000;
	transform: rotate(-45deg);
}
/*------------------------------------------------
	ENTRY用のPRIVACY POLICY
-------------------------------------------------*/
#entry .subttl {margin-bottom: 20px;}
#entry .box {
	overflow: auto;
	height: 300px;
	border: 1px solid #ccc;
	padding: 2rem;
	margin-bottom: 20px;
}
#entry ol {list-style-type: decimal;margin-left: 2rem;}
#entry li {margin-bottom: 2rem;padding-bottom: 2rem;border-bottom: .1rem dotted #ccc;}
#entry ul.list_parentheses li {
	position: relative;
	list-style-type:none;
	list-style-position:inside;
	counter-increment: cnt;
	padding: 0 0 0 2rem;
	border-bottom: none;
}
#entry ul.list_parentheses li:before{
	content: counter(cnt) "）";
	position: absolute;
	top: 0rem;
	left: 0;
}
#entry ul.list_parentheses li:last-child {margin-bottom: 0;}
#entry p {margin: 1rem 0 0;font-size: 13px;text-align: left;}
#entry .bottom {margin-bottom: 2rem;}
#entry li div p {position: relative;padding-left: 1.5rem;}
#entry li div p::before {
	content: '';
	position: absolute;
	top: .9rem;
	left: 0;
	width: .4rem;
	height: .4rem;
	border-radius: 50%;
	background: #000;
}
#entry .inc {text-align: right;}
#entry a {color: #A11C3F;text-decoration: underline;}
@media only screen and ( max-width : 896px ) {
	#entry .box {margin-bottom: 10px;}
	#entry ol li {font-size: 13px;}
	#entry ul li {font-size: 13px;}
}
/*------------------------------------------------

	CONFIRM

-------------------------------------------------*/
.confirm table {max-width: 80rem;margin: 0 auto;}
.confirm .contact_sec .container form .box2,
.confirm .contact_sec .container form .box1 {display: none;}
.contact_sec .container form .box2 h2 {margin-bottom: 1rem;}
.contact_sec .container form .box2 ul:nth-of-type(1) {margin-bottom: 3rem;}
.confirm .contact_sec .container form table tr th,
.confirm .contact_sec .container form table tr td {border-bottom: 1px solid #000; font-size: 14px;}
.confirm .contact_sec .container form .box_submit .check {display: none;}
.confirm .box_submit {max-width: 80rem;margin: 0 auto 5rem;padding: 20px 0 10px;font-weight: 700;}
/*------------------------------------------------

	COMPLETE

-------------------------------------------------*/
.complete a {
	display: block;
	max-width: 20rem;
	margin: 5rem auto 0 auto;
	padding: 2rem 5rem;
	background: #c50839;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
}
.complete a:hover {transform: translateY(-10px);}
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.contact_sec .container form table { display: block; width: 100%; }
  .contact_sec .container form table tbody { display: block; }
  .contact_sec .container form table tr { display: block; width: 100%; }
  .contact_sec .container form table tr th, .contact_sec .container form table tr td { width: 100%; display: block; }
  .contact_sec .container form .box1 { padding-left: 0; }
  .contact_sec .container form .box2 { margin-left: 0; }
  .contact_sec .container form .btn_sec_wrap { width: 80%; }
  .contact_sec .container form .btn_sec_wrap:after { width: 34px; background-size: 100% auto; }
  .contact_sec .container form .btn_sec_wrap .btn_confirm2 { padding: 20px; font-size: 14px; }}
/* ========== end △ */