@charset "utf-8";
/*
	Last Update: 10/2
	Auther: 大嶋
*/
/*===================================================================
	base layout
===================================================================*/
@media (max-width: 767px){
	.wrapper, .wrapper-t { padding-top:60px; }
	.wrapper, .wrapper-b { padding-bottom:60px; }
	.wrapper2, .wrapper2-t { padding-top:40px; }
	.wrapper2, .wrapper2-b { padding-bottom:40px; }
}
@media (min-width: 768px){
	.wrapper, .wrapper-t { padding-top:140px; }
	.wrapper, .wrapper-b { padding-bottom:140px; }
	.wrapper2, .wrapper2-t { padding-top:90px; }
	.wrapper2, .wrapper2-b { padding-bottom:90px; }
}
.center, .center2, .center3 { padding-left:20px; padding-right:20px; }
.center { max-width:1240px; }
.center2 { max-width:1080px; }
.center3 { max-width:1000px; }


/*===================================================================
	color / font
===================================================================*/
.bg_white { background-color:#fff !important; }
.bg_gray { background-color:#8e8e93 !important; }

.bg_color1 { background-color:#57E3FF !important; }
.bg_color2 { background-color:#30b0c7 !important; }
.bg_color3 { background-color:#77A2F3 !important; }
.bg_color4 { background-color:#ff6861 !important; }

.c_gray { color:#636366 !important; }
.c_color1 { color:#39D5F4 !important; }
.c_color2 { color:#FF8580 !important; }
.c_color3 { color:#17CEF2 !important; }

.wdxl {
  font-family: "WDXL Lubrifont JP N", sans-serif;
  font-weight: normal;
  font-style: normal;
}
.zen {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.noto { font-family:"Noto Sans JP","Meiryo UI","メイリオ",Meiryo,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro",Avenir,Arial,Verdana,Roboto,"ＭＳ Ｐゴシック","MS PGothic",sans-serif; font-weight:normal; }

/*===================================================================
	common class
===================================================================*/
.need:not(._no) { border:1px solid #ff3a5f; background:#ff3a5f; color:#fff; }
.need._no { border:1px solid #ff3a5f; background-color:#fff; color:#ff3a5f; }
.error { background:#ffe1df; color:#ff453a; border:1px solid #ff453a; }

.list_pager ul li > * { border:1px solid #fff; width:40px; height:40px; display:inline-block; vertical-align:middle; line-height:18px; }
.list_pager ul li > a { text-decoration:none; background:#fff; color:#707070; }
.list_pager ul li > strong { color:#fff; font-weight:bold; background:#AE0442; border:1px solid #AE0442; }
body.pc .list_pager ul li > a:hover { background:#AE0442; color:#fff; }

.tel_wrap { text-align:center; }
.tel_wrap .tel_unit { font-weight:bold; }
.tel_wrap .tel_unit .tel { display:inline-block; line-height:100%; }
.tel_wrap .tel_time { font-size:0.9em; }
	@media (max-width: 575px){
		.tel_wrap { margin-bottom:10px; }
		.tel_wrap .tel_unit .tel { font-size:2em; }
	}
	@media (min-width: 576px){
		.tel_wrap .tel_unit .tel { font-size:2.25em; }
	}

.vertical_unit { margin-bottom:30px; padding:15px; }
.vertical_unit .photo { text-align:center; }
	@media (max-width: 575px){
		.vertical_unit .photo { margin-bottom:10px; }
		.vertical_unit .text { padding:10px 0; }
	}
	@media (min-width: 576px) and (max-width: 767px){
		.vertical_unit [class^="col-sm-"] .photo { margin-bottom:10px; }
	}

.holizontal_text { position:relative; }
	@media (max-width: 991px){
		.holizontal_text { padding:30px 20px 50px; }
	}
	@media (min-width: 992px){
		.holizontal_text._left { padding:0 40px 0 20px; }
		.holizontal_text._right { padding:0 20px 0 40px; }
	}

.hv_change_unit { margin-bottom:30px; padding:15px; }
	@media (max-width: 575px){
		.hv_change_unit { display:flex; align-items:top; }
		.hv_change_unit > * { display:inline-block; }
		.hv_change_unit .photo { width:40%; }
		.hv_change_unit .text { width:60%; padding:0 0 0 15px; }
	}
	@media (min-width: 576px){
		.hv_change_unit .photo { margin-bottom:20px; }
	}


.tbl_1 { width:100%; }
.tbl_1 caption { padding:0 0 10px; }
.tbl_1 tr > * { border:3px solid #fff; }
.tbl_1 thead tr > * { font-weight:bold; text-align:center; }
.tbl_1 thead tr > th { background:#00c7be; color:#fff; }
.tbl_1 thead tr > td { background:#63e6e2; color:#fff; }
.tbl_1 tbody tr > th { background:#edfcff; font-weight:bold; }
.tbl_1 tbody tr:nth-child(2n) > td { background:#f5f5f5; }
.tbl_1 tfoot tr > * { font-weight:bold; }
.tbl_1 tfoot tr > th { background:#30b0c7; color:#fff; }
.tbl_1 tfoot tr > td { background:#40c8e0; color:#fff; }
	@media (max-width: 575px){
		.tbl_1:not(.tbl_sp) tr > * { padding:10px; }
		.tbl_1.tbl_sp tr > * { padding:10px 5px; }
	}
	@media (min-width: 576px){
		.tbl_1 tr > * { padding:15px; }
	}

.tbl_form { width:100%; }
.tbl_form tr > th { background:#f2f2f7; }
.tbl_form tr > th > div { position:relative; padding-right:60px; line-height:100%; }
.tbl_form tr > th .need { position:absolute; right:0; top:50%; transform:translateY(-50%); }
	@media (max-width: 575px){
		.tbl_form .birthday_wrap .row { margin-bottom:10px; }
	}
	@media (max-width: 767px){
		.tbl_form,
		.tbl_form tbody,
		.tbl_form tr,
		.tbl_form tr > * { display:block; }
		.tbl_form tr > th { padding:15px 10px; }
		.tbl_form tr > td { padding:10px 0 30px; }
		.tbl_form .birthday_wrap .row { max-width:300px; }
	}
	@media (min-width: 786px){
		.tbl_form tr > * { vertical-align:top; border-bottom:2px solid #ddd; }
		.tbl_form tr > th { padding:30px 15px; }
		.tbl_form tr > td { padding:20px 15px; }
	}

.radio_wrap { position:relative; display:inline-block; }
.radio_wrap + .radio_wrap { margin-left:5px; }
.radio_wrap input[type="radio"],
.radio_wrap input[type="checkbox"] { position:absolute; left:10px; top:50%; transform:translateY(-50%); margin:0; }
.radio_wrap span { display:inline-block; padding:6px 10px 6px 30px; border:1px solid #ddd; border-radius:10px; }
.radio_wrap input[type="radio"]:checked + span,
.radio_wrap input[type="checkbox"]:checked + span { background:#f2f2f7; }

.check_wrap { position:relative; display:block; }
.check_wrap + .check_wrap { margin-top:5px; }
.check_wrap input[type="radio"],
.check_wrap input[type="checkbox"] { position:absolute; left:10px; top:50%; transform:translateY(-50%); margin:0; }
.check_wrap span { display:inline-block; padding:4px 10px 4px 30px; border:1px solid #ddd; border-radius:10px; }
.check_wrap input[type="radio"]:checked + span,
.check_wrap input[type="checkbox"]:checked + span { background:#f2f2f7; }

.form_dl { display:table; width:100%; }
.form_dl + .form_dl { margin-top:10px; }
.form_dl > * { display:table-cell; vertical-align:top; }
.form_dl dt { font-weight:bold; width:100px; padding:8px 0 0; }

.form_privacy_area { max-height:150px; padding:20px 15px; overflow-y:auto; font-size:0.9em; border:1px solid #ddd; }
.form_privacy_title { font-size:1.15em; margin-bottom:5px; }
.form_privacy { padding:10px; text-align:center; }


/*===================================================================
	button
===================================================================*/
.button._contact { border-radius:50px; width:400px; max-width:100%; font-weight:bold; }
.button._check,
.button._send,
.button._back { border-radius:5px; width:250px; max-width:100%; font-weight:bold; padding:15px 0; border:none; }
.button._zip { border-radius:30px; padding:11px 10px; border:none; font-size:0.9em; }
	@media (max-width: 575px){
		.button._contact { padding:15px; font-size:1.2em; }
	}
	@media (min-width: 576px){
		.button._contact { padding:20px; font-size:1.25em; }
	}


/*===================================================================
	hl
===================================================================*/
.hl_center2 .main {letter-spacing: 2px;text-wrap: nowrap; line-height:1.2; }
	@media (max-width: 575px){
		.hl_center2 { margin-bottom:10px; }
		.hl_center2 .main { font-size:43px;}
		.hl_center2 .sub{font-size: 16px;}
	}
	@media (min-width: 576px) and (max-width: 767px){
		.hl_center2 { margin-bottom:15px; }
		.hl_center2 .main { font-size:45px;}
		.hl_center2 .sub{font-size: 16px;}
	}
	@media (min-width: 768px){
		.hl_center2 { margin-bottom:50px; }
		.hl_center2 .main { font-size:60px;}
		.hl_center2 .sub{font-size: 16px;}
	}

.hl_center2_wrap{display: flex;align-items: baseline;}
.hl_center2_wrap .hl_center2{margin-right: 20px;}
.hl_center4{position: relative;padding-left: 15px;}
.hl_center4._v2{display: flex;flex-direction: row-reverse;justify-content: flex-end;align-items: center;}
.hl_center4::before{position: absolute;content: "";height: 100%;width: 8px;background-color: #00A23F;top: 0;left: 0;}
	@media (max-width: 575px){
		.hl_center2_wrap{flex-direction: column;}
		.hl_center3 .main { font-size: 2rem; margin-bottom:10px;}
		.hl_center3 .sub {line-height: 2;font-size:1em;}
		.hl_center4._v2{align-items: flex-start;flex-direction: column-reverse;}
	}
	@media (max-width: 767px){
		.hl_center4 .main{font-size:32px;}
		.hl_center4 .sub{font-size: 12px;}
	}
	@media (min-width: 768px){
		.hl_center4 .main{font-size:36px;}
		.hl_center4 .sub{font-size: 15px;}
		.hl_center4._v2 .main{margin-right: 24px;}
	}


/*===================================================================
	layout
===================================================================*/
#head { position:fixed; top:0; left:0; width:100%; z-index:2000; }
#head .head_wrap { width:100%; position:relative; display:flex; align-items:center; justify-content:space-between; }
#head .site_logo a { display:inline-block; }
	@media (max-width: 991px){
		#head { height:60px; top:20px; left:8px; width:calc(100% - 16px); }
		#head .head_wrap { height:60px; background: #FFFFFF;border-radius: 50px;}
		#head .site_logo a { padding:0 0 0 15px; width:126px; }
		#menu_cover { position:fixed; top:0; left:0; width:100%; height:100vh; background:rgba(0,0,0,0.5); z-index:1999; }
	}
	@media (min-width: 992px){
		#head { height:80px; }
		#head .site_logo { background-color:#FFFFFF; border-radius: 0 0 20px 0; width:246px; height:80px; }
		#head .site_logo a { padding:17px 0 0 32px; }
	}

#head_navi {border-radius: 50px;}
#head_navi ul { list-style:none; }
#head_navi ul a { display:block; font-size: 14px; }
#head_navi2 .button { display: flex; color: #ffffff; align-items:center; justify-content:center; width:157px; height:48px; background:#FF6861; border-radius: 50px; font-size:13px; }
#head_navi2 .button .head_tel_time { background:url(../img/icon/icon_data.png) no-repeat left center / auto 20px; padding:5px 0 5px 23px; }
	@media (max-width: 991px){
		.head_navi_wrap{ position:fixed; top:50px; left:8px; z-index:3000; width: calc(100% - 16px); background:#fff; height:calc(100vh - 62px); overflow-y:auto; overscroll-behavior:none; z-index: -1;}
		#base:not(.open) .head_navi_wrap { display:none !important; }
		#head_navi {padding: 20px 25px;}
		#head_navi ul li { border-bottom:1px solid #ccc; }
		#head_navi a { padding:15px 20px; }
		#head_navi2{ margin: 0 20px; }
		#head_navi2 .button { width:100%; }
	}
	@media (min-width: 992px){
		.head_navi_wrap { margin-left:auto; display:flex; align-items:center; }
		#head_navi { height:48px; background: #FFFFFF; }
		#head_navi ul { display:flex; align-items:center; justify-content:stretch; height:100%; padding:0 32px; }
		#head_navi ul > li + li { margin-left:36px; }
		#head_navi .main a { font-weight:bold; }
		body.pc #head_navi ul li a:hover { text-decoration:underline; color:#004C9F; }
		#head_navi2{ margin:0 32px 0 12px; }
	}

#btn_open { width:60px; margin-left:auto; line-height:1px; }
#btn_open a { position:relative; display:inline-block; width:100%; height:60px; }
#btn_open a > span { position:absolute; right:15px; height:2px; background:#000000; transition:all .3s; transform-origin:right center; }
#btn_open a > span.l1 { top:24px; width:28px; }
#btn_open a > span.l3 { top:36px; width:28px; }
#base.open #btn_open a > span.l1 { top:19px; transform:rotate(-45deg); right:20px; }
#base.open #btn_open a > span.l3 { top:38px; transform:rotate(45deg); right:20px; }
	@media (min-width: 992px){
		#btn_open { display:none !important; }
	}

#foot{background-color: #ffffff;}
#foot .foot_navi_wrap { margin-bottom:22px; }
#foot .foot_detail ul{display: flex; font-size:14px; }
body.pc #foot .foot_detail ul a:hover { color:#57E3FF; text-decoration:underline; }
#foot .foot_detail .site_btn .button {background: #33DDFF; height: 60px;border-radius: 50px; display:flex; align-items:center; padding:0 24px;}
#foot .foot_detail .site_btn .button > span {padding-right:20px;color: #FFFFFF;position: relative;width: 100%; text-align:left; }
#foot .foot_detail .site_btn .button > span::after{ content: ""; position: absolute;top: 50%;right: 0;transform: translateY(-50%);background-image: url(../img/icon/arrow_r_w.png);background-repeat: no-repeat;background-size: 14px 12px;width: 14px;height: 12px;}
#copyright { text-align:left; font-size:12px; font-weight:500; }
	@media (max-width:425px) {
		/*
		#foot .foot_detail ul li a{font-size: 0.75rem;}
		#scrollTopBtn{width: 100%;text-align: end;margin-top: 5px;}
		#scrollTopBtn img{width: 30px; height: 30px;}
		#foot .foot_detail ul{flex-wrap: wrap;justify-content: flex-end !important;}
		#foot .foot_detail ul > li + li { margin-left:10px !important; }
		*/
	}
	@media (max-width: 767px){
		#foot { padding:30px 0; }
		#foot .foot_logo{display: none;}
		#foot .foot_navi_wrap { display:flex; justify-content:center; align-items:center; }
		#foot .foot_detail ul{ justify-content:start; align-items:center; flex-wrap:wrap; }
		#foot .foot_detail ul > li { margin-right:15px; }
		#foot .foot_detail .site_btn .button { max-width: 380px; margin-left:auto; margin-right:auto; }
		#copyright{text-align: center; margin-top:15px; }
	}
	@media (min-width: 768px){
		#foot { padding:60px 0; }
		#foot .foot_detail{display: flex;justify-content: space-between;}
		#foot .foot_detail ul { justify-content:end; }
		#foot .foot_detail ul > li + li { margin-left:36px; }
		#foot .foot_detail .site_btn { text-align:right; }
		#foot .foot_detail .site_btn .button { width: 280px; margin-left:auto; }
	}

#foot_contact { z-index:5; }
#foot_contact .content_detail .unit_link{background-color: #FFFFFF;width: 100%;height: 70px;line-height: 70px;border-radius: 10px;margin-bottom: 15px;}
#foot_contact .content_detail .unit_link a{color: #008DB8;font-weight: bold;position: relative;height: 100%; width: 100%;display: block;padding: 0 10px 0 20px; font-size:16px; }
#foot_contact .content_detail .unit_link a::after{content: "";position: absolute;top: 50%;right:20px; transform: translateY(-50%);background-image: url(../img/icon/arrow_r_bl.png);background-repeat: no-repeat;background-size: 16px 14px;width: 16px;height: 14px;}
#foot_contact .content_detail .unit_text{position: relative;}
@media (max-width:425px){
	#foot_contact .content_detail .unit_link{height: 60px;line-height: 60px;}
}
@media (max-width: 575px){
}
@media (min-width: 576px){
	#foot_contact .content_link_list{display: flex;justify-content: space-between;}
	#foot_contact .content_link_list > *{width: 48%;}
}
@media (max-width: 767px){
	#foot_contact .content_detail { margin-top:30px; }
	#foot_contact .content_detail h4{ font-size:24px; margin-bottom:10px; }
	#foot_contact .content_detail .unit_text { margin-top:20px; text-align:center; }
	#foot_contact .content_detail .unit_text .text_detail{position: relative;width: 100%;}
}
@media (min-width: 768px){
	#foot_contact .content_detail h4{ font-size:28px; margin-bottom:15px; }
	#foot_contact .content_detail{display: flex;}
	#foot_contact .content_detail > *{width: 50%;}
	#foot_contact .content_detail .text_detail{position: absolute; top:0; left:0; width:100%; padding-left:70px; }
}
.anime_btn a {
  position: relative;
  display: inline-block;
  padding: 16px 48px;
  background: transparent;
  color: #333;
  border-radius: 40px;
  overflow: hidden;
  cursor: pointer;
  transition: color 0.5s ease;
  z-index: 1;
}
.anime_btn a.v2,
.anime_btn a.v2::before{border-radius: 10px;}
.anime_btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  background: #333;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease-in-out;
  z-index: -1;
  border-radius: 40px;
}

.anime_btn a.hovered {color: #57E3FF !important;}
.anime_btn a p.hovered::after {background-image: url(../img/icon/arrow_li_r.png) !important;}
.anime_btn a.v2.hovered::after {background-image: url(../img/icon/arrow_li_r.png) !important;}
.anime_btn a.hovered::before {transform: translateX(-50%) scaleX(1);}

.interview { position:relative; }
.interview_slider {z-index: 999;}
.interview_slider .slick-next:before,
.interview_slider .slick-prev:before{content: "";}
.interview_slider .slick-prev, .interview_slider .slick-next{top: -50px; width:60px; height:60px;}
.interview_slider .slick-prev{right: 90px;left: auto;}
.interview_slider .slick-track{overflow: visible;}
@media (max-width: 575px){
	.interview_slider .slider_detail:nth-child(2n){margin-top: 0;}
	.interview_slider .slick-prev, .interview_slider .slick-next{top: calc(50% + 5px); -webkit-transform: translate(0, -50%); transform: translate(0, -50%); width: 55px;height: 55px;}
	.interview_slider .slick-prev{right: 0;left: 15px;}
}
@media (min-width: 576px){
	.interview_slider.v2 .slick-next,
	.interview_slider.v2 .slick-prev{display: none !important;}
}
@media (min-width: 768px) and (max-width:1199px){
	.interview_slider .slick-prev, .interview_slider .slick-next { top:-100px; }
	.interview_slider .slick-prev { right:140px; left:auto; }
	.interview_slider .slick-next { right:70px; }
}
@media (min-width:1200px){
	.interview_slider .slick-prev, .interview_slider .slick-next { top:-100px; }
	.interview_slider .slick-prev { right:calc(50% - 530px); left:auto; }
	.interview_slider .slick-next { right:calc(50% - 600px); }
}
.interview_slider .slick-slide {box-sizing: border-box;}
.interview_slider .slider_detail{padding: 0 10px;position: relative; width:385px; }
.interview_slider .slider_detail a { display:block; overflow:hidden; border-radius:20px; }
.interview_slider .slider_detail img{width: 100%;object-fit: cover;aspect-ratio: 640 / 960;border-radius: 20px;}
.interview_slider .slider_detail:nth-child(2n){margin-top: 60px;margin-bottom: 50px;}
.interview_slider .slider_detail .unit_text{ width:82%;position: absolute; bottom:-1px; right:0; padding:15px 0 0 25px; background:#fff; border-radius:20px 0 0 0; }
.interview_slider .slider_detail .unit_text::before,
.interview_slider .slider_detail .unit_text::after { content:""; display:block; position:absolute; width:25px; height:25px; border-radius:0 0 25px 0; box-shadow:10px 10px 0 #fff; }
.interview_slider .slider_detail .unit_text::before { bottom:-1px; left:-23px; }
.interview_slider .slider_detail .unit_text::after { bottom:calc(100% - 1px); right:7px; }
.interview_slider .slider_detail .interview_slider_title {font-weight: bold; margin-bottom:10px; line-height:1.5; }
.interview_slider .slider_detail .sp1{color: #929292;line-height:1.2; margin-bottom: 5px; display:block; font-size:14px; }
.interview_slider .slider_detail .sp2{ line-height:1.2; display:block; }
body.pc .interview_slider .slider_detail img { transition:all 0.5s; transform-origin:left top;}
body.pc .interview_slider .slider_detail a:hover img { transform:scale(1.1); }
@media (max-width:425px){
	.interview_slider .slider_detail .interview_slider_title {font-size: 0.9rem;}
	.interview_slider .slider_detail .unit_text span.sp1{font-size: 0.7rem;}
	.interview_slider .slider_detail .unit_text span.sp2{font-size: 0.8rem;}
}
@media (min-width:425px) and (max-width: 575px){
	.interview_slider .slider_detail .interview_slider_title{font-size: 1.5em;}
	.interview_slider .slider_detail .unit_text span.sp1{font-size: 1rem;}
	.interview_slider .slider_detail .unit_text span.sp2{font-size: 1.2rem;}
}
@media (max-width: 575px){
	.interview_slider .slider_detail { width:275px; }
	.interview_slider .slider_detail .interview_slider_title {font-size: 1em;}
	.interview_slider .slider_detail:nth-child(2n){margin-top: 0;}
}

