@charset "utf-8";
/*
	Last Update: 2023/04/04
	Auther: iw
*/
/*===================================================================
	base layout
===================================================================*/
ul { list-style:none; }
.wrapper2, .wrapper2-t { padding-top:40px; }
.wrapper2, .wrapper2-b { padding-bottom:40px; }
@media (max-width: 767px){
	.wrapper, .wrapper-t { padding-top:60px; }
	.wrapper, .wrapper-b { padding-bottom:60px; }
}
@media (min-width: 768px){
	.wrapper, .wrapper-t { padding-top:80px; }
	.wrapper, .wrapper-b { padding-bottom:80px; }
}

.center { max-width:1100px; }
.center2 { max-width:900px; }
.center3 { max-width:700px; }
	@media (max-width:1140px){
		.center { padding-left:20px; padding-right:20px; }
	}
	@media (max-width: 940px){
		.center2 { padding-left:20px; padding-right:20px; }
	}
	@media (max-width: 740px){
		.center3 { padding-left:20px; padding-right:20px; }
	}


/*===================================================================
	color / font
===================================================================*/
.bg_base { background-color:#F8F8F8 !important; }
.bg_color1 { background-color:#00A6BA !important; }
.bg_color2 { background-color:#F4F3E5 !important; }
.bg_color3 { background-color:#dd8787 !important; }
.c_color1 { color:#00A6BA !important; }
.c_color2 { color:#1D3364 !important; }
.en { font-family:'Oswald', sans-serif; }


/*===================================================================
	common class
===================================================================*/
.need:not(._no) { border:1px solid #E21453; background:#E21453; color:#fff; }
.need._no { border:1px solid #E21453; background-color:#fff; color:#E21453; }
.error { background:#ffe1df; color:#ff453a; border:1px solid #ff453a; }

.list_pager ul li > * { border:1px solid #3EA6BA; width:40px; height:40px; display:inline-block; vertical-align:middle; line-height:18px; font-weight:bold; }
.list_pager ul li > a { text-decoration:none; background:#fff; color:#3EA6BA; }
.list_pager ul li > strong { color:#fff; background:#3EA6BA; border:1px solid #3EA6BA; }
.list_pager ul li > *[data-back],
.list_pager ul li > *[data-next] { border:0; display:inline-flex; align-items:center; justify-content:center; background:transparent; }
.list_pager ul li > *[data-back]::before,
.list_pager ul li > *[data-next]::before { content:""; width:18px; height:28px; background:#3EA6BA; mask:no-repeat center center / contain; -webkit-mask:no-repeat center center / contain; }
.list_pager ul li > *[data-back]::before { mask-image:url(../image/icon/arrow1-lb.png); -webkit-mask-image:url(../image/icon/arrow1-lb.png); }
.list_pager ul li > *[data-next]::before { mask-image:url(../image/icon/arrow1-rb.png); -webkit-mask-image:url(../image/icon/arrow1-rb.png); }
.list_pager ul li > a[data-back]:hover::before,
.list_pager ul li > a[data-next]:hover::before { background-color:#fff; }
.list_pager ul li > .inactive[data-back]::before,
.list_pager ul li > .inactive[data-next]::before { background-color:#E6E6E6; }
body.pc .list_pager ul li > a:hover { background:#3EA6BA; 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%; }
	@media (max-width: 767px){
		.tel_wrap { margin-bottom:10px; }
		.tel_wrap .tel_unit .tel { font-size:2em; }
		.tel_wrap .tel_time { font-size:0.8em; }
	}
	@media (min-width: 768px) and (max-width: 991px){
		.tel_wrap .tel_unit .tel { font-size:1.75em; }
		.tel_wrap .tel_time { font-size:0.7em; }
	}
	@media (min-width: 992px){
		.tel_wrap .tel_unit .tel { font-size:2.25em; }
		.tel_wrap .tel_time { font-size:0.9em; }
	}

.vertical_unit { margin-bottom:30px; }
.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:20px; }
	}

.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_2 { width:37.5em; max-width:100%; }
.tbl_2 tr > * { padding:10px 5px; border-bottom:1px solid #00A6BA; }
.tbl_2 tr > th  { font-weight:bold; width:7.8125em; }
@media (max-width:767px) {
	.tbl_2 { width:100%; }
	.tbl_2 tr > * { display:block; width:100%!important; }

}

.tbl_form { width:100%; }
.tbl_form tr > * { padding:30px 10px; }
.tbl_form tr:not(:last-child) > * { border-bottom:1px solid #EAEAEA; }
.tbl_form tr > th { font-weight:500; }
.tbl_form tr > th > div { display:flex; flex-wrap:wrap; }
.tbl_form tr > th > div .main { margin-right:10px; }
.tbl_form tr > th > div .need { display:inline-flex; align-items:center; justify-content:center; }
@media (max-width:991px) {
	.tbl_form tr > * { display:block; width:100%; padding:20px 0; }
	.tbl_form tr > th { padding-bottom:0; border-bottom:0!important; }

}

.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; background:#fff; }
.form_privacy_title { font-size:1.15em; margin-bottom:5px; }
.form_privacy { padding:10px; text-align:left; }
.form_privacy .hl_privacy { font-weight:bold; font-size:500; font-size:1.25em; margin-bottom:20px; }
.form_privacy .privacy_unit:not(:last-child) { margin-bottom:20px; }
.form_privacy .privacy_unit dt { font-weight:bold; color:#3EA6BA; }
.form_privacy .privacy_unit dd ul,
.form_privacy .privacy_unit dd ol { list-style:none; }

.agreement_wrap { background:#fff; padding:15px 0; }
.agreement_wrap input[type="checkbox"] { transform:scale(1.2); }

.case_list { margin-bottom:-40px; }
.case_unit { display:block; margin-bottom:40px; }
.case_unit .case_unit_inner { background:#fff; box-shadow:5px 10px 15px rgba(0, 0, 0, 0.16); padding:20px; }
.case_unit .case_unit_inner .image { margin-bottom:20px; }
.case_unit .case_unit_inner .image .img_back { padding-bottom:59.184%; width:100%; height:100%; }
.case_unit .case_unit_inner .text .head { display:flex; flex-wrap:wrap; align-items:center; margin-bottom:10px; }
.case_unit .case_unit_inner .text .head .category { background:#00A6BA; padding:2px 5px; color:#fff; margin-right:10px; }
.case_unit .case_unit_inner .text .head .date { color:#7B7B7B; font-weight:500; }
.case_unit .case_unit_inner .text .title { display:flex; flex-direction:column; margin-bottom:5px; }
.case_unit .case_unit_inner .text .title .main { margin-bottom:5px; font-weight:bold; font-size:1.5em; }

.case_detail { background:#fff; box-shadow:5px 10px 15px rgba(0, 0, 0, 0.16); padding:60px; }
.case_detail .detail_head { text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; margin-bottom:40px; }
.case_detail .detail_head > * { display:inline-block; }
.case_detail .detail_head > .title { margin-bottom:10px; }
.case_detail .detail_head > .title .main { font-weight:bold; font-size:2em; }
.case_detail .detail_head > .price { position:relative; text-align:center; max-width:100%; width:27.625em; }
.case_detail .detail_head > .price::before { content:""; height:1px; width:100%; background:#A2A2A2; top:50%; left:0; display:block; position:absolute; }
.case_detail .detail_head > .price .main { font-size:1.25em; background:#fff; padding:0 20px; position:relative; z-index:2; }
.case_detail .detail_head2 > .head { display:flex; flex-wrap:wrap; align-items:center; margin-bottom:10px; }
.case_detail .detail_head2 > .head .category { background:#00A6BA; padding:2px 5px; color:#fff; margin-right:10px; }
.case_detail .detail_head2 > .head .date { color:#7B7B7B; font-weight:500; }
.case_detail .detail_head2 > .title { margin-bottom:10px; }
.case_detail .detail_head2 > .title .main { font-weight:bold; font-size:1.5em; padding-bottom:10px; margin-bottom:30px; border-bottom:1px solid #D6D6D6; }
.case_detail .detail_cont img { width:800px; }
@media (max-width:767px) {
	.case_detail { padding:40px 20px; }
}

/*===================================================================
	button
===================================================================*/
.button._contact { border-radius:50px; max-width:100%; box-shadow:5px 5px 0 #CE4000; }
.button._contact > * { display:block; }
.button._contact .main { font-weight:bold; line-height:1.2; }
.button._contact .sub { margin-bottom:8px; }
	@media (max-width: 575px){
		.button._contact { padding:15px 20px; }
		.button._contact .main { font-size:1.2em; }
	}
	@media (min-width: 576px) and (max-width: 767px){
		.button._contact { padding:15px 20px; width:350px; }
		.button._contact .main { font-size:1.5em; }
	}
	@media (min-width: 768px) and (max-width: 991px){
		.button._contact { padding:15px 20px; width:400px; }
		.button._contact { font-size:0.85em; }
		.button._contact .main { font-size:1.15em; }
	}
	@media (min-width: 992px){
		.button._contact { padding:15px 20px; width:400px; }
		.button._contact .main { font-size:1.25em; }
	}

.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; }

.button._type1 { border-radius:50px; max-width:100%; width:17.1875em; padding:25px; background:#1F1F1F no-repeat center right 20px / 18px auto; border-radius:4em; display:inline-block; position:relative; }
.button._type1._small { padding:10px; width:12em }
.button._type1._wide { width:100%; }
.button._type1._orange { background-color:#E85716; }
.button._type1._next { background-image:url(../image/icon/arrow2-rw.png); background-position:center right 5px; }
.button._type1._prev { background-image:url(../image/icon/arrow2-lw.png); background-position:center left 20px; }
.button._type1 .main { display:inline-block; color:#fff; font-weight:bold; font-size:1.5em; }
.button._type1._small .main { font-size:1.2em; }

.price_box .tsubo { text-align:center; border-radius:10px; font-weight:bold; }
.price_box .price_wrap { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:baseline; }
.price_box .price { text-align:right; font-weight:bold; line-height:120%; margin-bottom:5px; padding-right:10px; }
.price_box .price > span { line-height:90%; }
	@media (max-width: 575px){
		.price_box { padding:20px 15px; }
		.price_box .row._flex { margin-bottom:10px; }
		.price_box .tsubo { padding:15px 0; }
		.price_box .price > span { font-size:2.25em; }
		.price_box .price_wrap .notice { font-size:.9em; }
	}
	@media (min-width: 576px) and (max-width: 767px){
		.price_box { padding:20px; }
		.price_box .tsubo { font-size:1.5em; padding:25px 0; margin-bottom:10px; }
		.price_box .price { font-size:1.5em; }
		.price_box .price > span { font-size:3em; }
		.price_box .button._contact { padding:20px; }
	}
	@media (min-width: 768px) and (max-width: 991px){
		.price_box { padding:20px; }
		.price_box .tsubo { font-size:1.5em; padding:20px 0; margin-bottom:10px; }
		.price_box .price { font-size:1.25em; }
		.price_box .price > span { font-size:2.25em; }
		.price_box .button._contact { padding:20px 15px; }
		.price_box .button._contact .main { font-size:1.2em; }
	}
	@media (min-width: 992px){
		.price_box { padding:20px; }
		.price_box .tsubo { font-size:1.5em; padding:25px 0; margin-bottom:10px; }
		.price_box .price { font-size:1.5em; }
		.price_box .price > span { font-size:3em; }
		.price_box .button._contact { padding:20px; }
	}

.privacy_list .privacy_unit ul { counter-reset:ol; }
.privacy_list .privacy_unit ul li { padding-left:1.5em; text-indent:-1.5em; }
.privacy_list .privacy_unit ul li::before { content:'・'; }
.privacy_list .privacy_unit ol { counter-reset:ol; }
.privacy_list .privacy_unit ol li { counter-increment:ol; padding-left:1em; text-indent:-1em; }
.privacy_list .privacy_unit ol li::before { content:counter(ol)'. '; }

/*===================================================================
	hl
===================================================================*/
.hl_center,
.hl_center2,
.hl_center3 { text-align:center; position:relative; }
.hl_center .main,
.hl_center2 .main,
.hl_center3 .main { font-weight:bold; }
.hl_center:not(._noborder):after { content:""; display:block; width:100px; height:6px; margin:10px auto 0; background:linear-gradient(to right, #000, #000 4px, transparent 4px, transparent 4px) repeat-x left top / 8px 6px; }
.hl_center.c_white:after { background-image:linear-gradient(to right, #fff, #fff 4px, transparent 4px, transparent 4px); }
.hl_center.c_color1:after { background-image:linear-gradient(to right, #00A6BA, #00A6BA 4px, transparent 4px, transparent 4px); }
.hl_center3 { margin-bottom:15px; }
	@media (max-width: 575px){
		.hl_center,
		.hl_center2 { margin-bottom:30px; }
		.hl_center .main { font-size:1.75em; }
		.hl_center2 .main { font-size:1.75em; }
		.hl_center3 .main { font-size:1.5em; }
	}
	@media (min-width: 576px) and (max-width: 767px){
		.hl_center,
		.hl_center2 { margin-bottom:40px; }
		.hl_center .main,
		.hl_center2 .main { font-size:2.25em; }
		.hl_center3 .main { font-size:1.75em; }
	}
	@media (min-width: 768px){
		.hl_center,
		.hl_center2 { margin-bottom:50px; }
		.hl_center .main { font-size:2.5em; }
		.hl_center3 .main { font-size:1.75em; }
	}
	@media (min-width: 768px) and (max-width: 991px){
		.hl_center2 .main { font-size:2em; }
	}

.hl_1 { margin-bottom:20px; }
.hl_1 > * { display:inline-block; }
.hl_2 { margin-bottom:15px; }
.hl_2 .sub { border-radius:6px; }
.hl_3 { padding:10px 20px; background:#00A6BA; margin-bottom:20px; }
.hl_3 .main { font-weight:bold; font-size:1.5em; color:#fff; }
	@media (max-width: 575px){
		.hl_1 .main { font-size:1.5em; }
		.hl_1 .sub { font-size:1.25em; margin-right:10px; margin-bottom:5px; }
		.hl_2 .main { font-size:1.45em; display:block; }
		.hl_2 .sub { padding:3px 10px; font-size:0.9em; display:inline-block; margin-bottom:5px; }
	}
	@media (min-width: 576px){
		.hl_1 .main { font-size:1.75em; }
		.hl_1 .sub { font-size:1.25em; margin-right:15px; }
		.hl_2 > * { display:inline-block; vertical-align:middle; }
		.hl_2 .main { font-size:1.75em; }
		.hl_2 .sub { padding:5px 10px; font-size:1.25em; margin-right:15px; }
	}
	@media (min-width:576px) and (max-width:767px) {
		.hl_1 .sub { margin-bottom:5px; }
	}
	@media (min-width: 768px) and (max-width: 991px){
		.hl_2 .main { font-size:1.65em; }
		.hl_2 .sub { padding:3px 10px; font-size:0.9em; }
	}

.youtube { padding-top:56.25%; }

.category_list { background:#fff; padding:10px 20px; border-radius:25px; margin-bottom:40px; }
.category_list ul { flex-wrap:wrap; margin:0 -10px -10px; width:calc(100% + 20px); display:flex; }
.category_list ul li { padding:0 10px 10px; }
.category_list ul li .unit { display:inline-block; font-weight:500; padding:5px 0; color:#1c1c1e!important; }
.category_list ul li .unit.active { background:#00A6BA; border-radius:20px; padding:5px 40px; color:#fff!important; font-weight:bold; }

.input_small { width:80px!important; }

/*===================================================================
	layout
===================================================================*/
#head { position:fixed; top:0; left:0; width:100%; z-index:2000; background:#fff; }
#head .head_wrap { width:100%; position:relative; display:flex; align-items:center; justify-content:space-between; }
#head .head_wrap > * { display:inline-block; }
#head .site_logo a { display:inline-block; }
#head .site_logo a img { padding:2px; }
#head .site_logo a > span { font-weight:normal; font-size:0.8em; }
	@media (max-width: 374px){
		#head .site_logo img { width:110px; }
	}
	@media (min-width: 375px) and (max-width: 991px){
		#head .site_logo img { width:140px; }
	}
	@media (max-width:767px) {
		#head .site_logo a > span { font-size:0.7em; }
	}
	@media (max-width: 991px){
		#base { padding-top:60px; }
		#head,
		#head .head_wrap { height:60px; }
		#head .site_logo a { padding:0 0 0 15px; }
		#head .site_logo a > span { display:inline-block; line-height:110%; margin-right:10px; }
		#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 .site_logo a > span { display:block; }
	}
	@media (min-width: 992px) and (max-width:1199px){
		#base { padding-top:85px; }
		#head { height:85px; }
		#head .site_logo a { padding:3px 0 3px 15px; width:200px; }
		#head .site_logo a > span { font-size:.75em; }
	}
	@media (min-width:1200px){
		#base { padding-top:100px; }
		#head { height:100px; }
		#head .site_logo a { padding:5px 0 10px 15px; }
	}

#head_navi ul { list-style:none; }
#head_navi li a { display:block; }
#head_navi li a > span { display:block; background-repeat:no-repeat; text-align:center; line-height:1.2; }
#head_navi .navi1 a > span { background-image:url(../image/layout/navi1.png); }
#head_navi .navi2 a > span { background-image:url(../image/layout/navi2.png); }
#head_navi .navi3 a > span { background-image:url(../image/layout/navi3.png); }
#head_navi .navi4 a > span { background-image:url(../image/layout/navi4.png); min-width:40px; }
#head_navi .navi5 a > span { background-image:url(../image/layout/navi5.png); }
#head_navi .navi6 a > span { background-image:url(../image/layout/navi6.png); }
#head_navi .navi7 a > span { background-image:url(../image/layout/navi7.png); }
#head_tel { text-align:center; }
#head_tel .head_tel_wrap { font-weight:bold; line-height:130%; }
#head_tel .head_tel_wrap a,
#head_tel .head_tel_wrap a img { display:block; }
#head_tel .head_tel_time { font-size:0.85em; }
#head_tel .button { border-radius:50px; box-shadow:5px 5px 0 #CE4000; }
#head_tel .button > span { display:block; }
#head_tel .button .sub { line-height:1; }
#head_tel .button .main { line-height:.6; }
	@media (max-width: 991px){
		.head_navi_wrap{ position:fixed; top:60px; right:0; width:100%; max-width:400px; background:#fff; height:calc(100vh - 60px); overflow-y:auto; overscroll-behavior:none; padding-bottom:100px; }
		#base:not(.open) .head_navi_wrap { display:none !important; }
		#head_navi ul { border-top:1px solid #ccc; }
		#head_navi li { border-bottom:1px solid #ccc; }
		#head_navi li a { padding:0 20px; }
		#head_navi li a > span { background-size:30px auto; background-position:left center; padding:15px 0 15px 40px; text-align:left; }
		#head_tel { padding:15px; }
		#head_tel .head_tel1 { margin-bottom:20px; }
		#head_tel .head_tel_wrap { font-size:2.25em; }
		#head_tel .head_tel_wrap a img { margin:0 auto; }
		#head_tel .button { padding:15px 40px 18px; }
		#head_tel .button .main { font-size:1.35em; margin-top:10px; }
	}
	@media (min-width: 992px){
		.head_navi_wrap { margin-left:auto; }
		.head_navi_wrap > * { display:inline-block; vertical-align:middle; }
		#head_navi ul { display:flex; justify-content:stretch; margin-top:10px; }
		#head_navi li { display:inline-block; }
		#head_navi li a,
		#head_navi li a > span { height:100%; }
		#head_navi li a > span { padding-top:35px; background-size:35px auto; background-position:center top; display:flex; align-items:center; justify-content:center; }
		body.pc #head_navi a:hover > span { text-decoration:underline; color:#00a6ba; }
		#head_tel > * { display:inline-block; vertical-align:middle; }
		#head_tel .head_tel_wrap { font-size:2.25em; }
	}
	@media (min-width: 992px) and (max-width:1199px){
		#head_navi ul li { padding:0 2px; font-size:0.75em; }
		#head_tel { padding:0 10px 0 5px; font-size:0.9em; }
		#head_tel .head_tel1 { width:200px; }
		#head_tel .head_tel1 .head_tel_time { font-size:1em; }
		#head_tel .button { padding:10px 13px 14px; font-size:0.8em; }
		#head_tel .button .main { font-size:1.05em; margin-top:10px; }
	}
	@media (min-width:1200px) and (max-width:1399px){
		#head_navi ul li { padding:0 5px; font-size:0.85em; }
		#head_tel { padding:0 10px 0 5px; }
		#head_tel .head_tel1 { width:250px; }
		#head_tel .head_tel1 .head_tel_time { font-size:0.75em; }
		#head_tel .button { padding:15px 15px 18px; font-size:0.9em; }
		#head_tel .button .main { font-size:1.05em; margin-top:10px; }
	}
	@media (min-width:1400px){
		#head_navi ul li { padding:0 10px; }
		#head_tel { padding:0 15px 0 5px; }
		#head_tel .button { padding:15px 20px 18px; }
		#head_tel .button .main { font-size:1.05em; margin-top:10px; }
	}


#btn_open { width:60px; max-height:100%; 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:#fff; transition:all .3s; transform-origin:right center; }
#btn_open a > span.l1 { top:22px; width:28px; }
#btn_open a > span.l2 { top:30px; width:18px; }
#btn_open a > span.l3 { top:38px; width:28px; }
#base.open #btn_open a > span.l1 { top:19px; transform:rotate(-45deg); right:20px; }
#base.open #btn_open a > span.l2 { width:0; }
#base.open #btn_open a > span.l3 { top:38px; transform:rotate(45deg); right:20px; }
	@media (min-width: 992px){
		#btn_open { display:none !important; }
	}

#foot .price_box { padding:40px; }
#foot a { color:#fff; }
#foot .foot_logo { margin-bottom:20px; font-weight:normal; font-size:0.9em; }
#foot .foot_logo span { display:block; }
#foot_navi { text-align:right; }
#foot_navi li { display:inline-block; }
#foot_navi li + li { margin-left:20px; }
body.pc #foot_navi a:hover { text-decoration:underline; }
#copyright { text-align:center; font-size:0.9em; padding:8px 0; }
	@media (max-width:991px) {
		#base { padding-bottom:65px; }
	}
	@media (max-width: 767px){
		#foot .foot_logo { text-align:center; }
		#foot .price_box { padding:40px 10px; }
		#foot_navi { display:none; }
	}
	@media (max-width:575px) {
		#base { padding-bottom:45px; }
	}

/*===================================================================
	accessibility
===================================================================*/
#accessibility_menu button { border:0; }
#accessibility_menu .btn_wcacc_reset { background:#657086!important; }

#foot_accessibility { position:fixed; bottom:0; left:0; line-height:100%; z-index:2899; }
#base.open #foot_accessibility { display:none; }
	@media (max-width: 575px){
		#foot_accessibility { width:190px; }
	}
#accessibility_menu,
#accessibility_menu .title { position:fixed; right:0; max-width:100%; }
#accessibility_menu { display:none; top:0; padding:54px 0 0; z-index:5000; height:100vh; background:#fafafa; box-shadow:0 -3px 4px rgba(0,0,0,0.4); }
#accessibility_menu .title { top:0; height:55px; z-index:2; font-size:1.25em; font-weight:bold; background:#3B4043; color:#fff; display:flex; align-items:center; justify-content:center; }
	@media (max-width: 575px){
		#accessibility_menu,
		#accessibility_menu .title { width:300px; }
		#accessibility_menu .title { text-align:left; padding:10px 0 10px 15px; line-height:1; justify-content:flex-start; padding-right:50px; }
	}
	@media (min-width: 576px){
		#accessibility_menu,
		#accessibility_menu .title { width:500px; }
		#accessibility_menu .title { text-align:center; padding:10px 0; }
		html.wcacc_fontsize2 #accessibility_menu,
		html.wcacc_fontsize3 #accessibility_menu,
		html.wcacc_fontsize2 #accessibility_menu .title,
		html.wcacc_fontsize3 #accessibility_menu .title { width:580px; }
	}

#accessibility_menu #btn_accessibility_close { position:absolute; right:5px; top:5px; }
#accessibility_menu #btn_accessibility_close a { display:block; height:45px; }
#accessibility_menu #btn_accessibility_close a img { display:block; }
#accessibility_menu .contents { text-align:left; padding:0 20px 150px; height:calc(100vh - 54px); overflow-y:auto; overscroll-behavior:none; }
#accessibility_menu .contents .row { display:flex; flex-wrap:wrap; }
#accessibility_menu .contents .row::before { display:none; }
#accessibility_menu .contents .row > * { display:flex; }
#accessibility_menu .title2 { font-size:1.15em; font-weight:bold; padding-top:20px; }
#accessibility_menu .contents .button { display:block; box-shadow:0 0 4px rgba(0,0,0,0.2); text-align:center; padding:15px 10px; width:100%; margin-top:10px; transition:opacity .2s; }
#accessibility_menu .contents .button._level { padding:15px 10px 10px; }
#accessibility_menu .contents .button:not(.on) { background:#fff;  color:#3B4043; }
#accessibility_menu .contents .button.on { background:#3B4043; color:#fff; }
#accessibility_menu .contents .icon { margin-bottom:5px; }
#accessibility_menu .contents .button.on .icon img { filter:brightness(2); }
#accessibility_menu .contents .text { font-size:0.9em; display:block; }
#accessibility_menu .contents .level { display:table; width:100%; table-layout:fixed; border-spacing:5px; margin-top:5px; }
#accessibility_menu .contents .level > span { display:table-cell; height:6px; background:#dbdbdb; }
#accessibility_menu .contents .button.on .level > span { background:#657086; }
#accessibility_menu .contents .button.on[data-level="2"] .level > span.l1,
#accessibility_menu .contents .button.on[data-level="3"] .level > span.l2,
#accessibility_menu .contents .button.on[data-level="4"] .level > span.l3 { background:#cae0ff; }

html.wcacc_fontsize1 body { font-size:1.15em; }
html.wcacc_fontsize2 body { font-size:1.25em; }
html.wcacc_fontsize3 body { font-size:1.35em; }
html.wcacc_lineheight1 body,
html.wcacc_lineheight1 body * { line-height:200%; }
html.wcacc_lineheight2 body,
html.wcacc_lineheight2 body * { line-height:250%; }
html.wcacc_lineheight3 body,
html.wcacc_lineheight3 body * { line-height:350%; }
html.wcacc_cursor body,
html.wcacc_cursor body *,
html.wcacc_cursor body *:hover { cursor:url(../image/accessibility/cursor-image.png),default !important; }
html.wcacc_imagehide #body *:not(.load_image) > img { display:none !important; }
html.wcacc_imagehide #body .load_image > .wcacc_alt { display:none !important; }
html.wcacc_imagehide #body .img_back { background:none!important; line-height:1; }
.wcacc_alt { display:none!important; background:#fff; border:2px solid #333; color:#333; }
html.wcacc_imagehide #body .wcacc_alt { display:inline-block !important; padding:5px; }
html:not(.wcacc_imagetips) #wcacc_tooltip { display:none!important; }
html:not(.wcacc_guide) #wcacc_guide { display:none!important; }
#wcacc_tooltip { position:absolute; border:2px solid #333; border-radius:4px; background:#fff; padding:15px; font-size:1.15em; z-index:4100; color:#333; }
#wcacc_guide { position:absolute; left:0; width:100%; border:2px solid #fff300; border-radius:2px; background:#000; height:8px; z-index:4090; }
#wcacc_mask1,
#wcacc_mask2 { position:fixed; left:0; width:100%; background:rgba(0,0,0,0.5); z-index:5010; }
#wcacc_mask1 { top:0; }
#wcacc_mask2 { bottom:0; }
html:not(.wcacc_mask) #wcacc_mask1,
html:not(.wcacc_mask) #wcacc_mask2 { display:none; }
html.wcacc_gray { filter:grayscale(100); }
html.wcacc_color1 { filter:hue-rotate(120deg); }
html.wcacc_color2 { filter:hue-rotate(180deg); }
html.wcacc_color3 { filter:hue-rotate(270deg); }
html.wcacc_invert { filter:invert(1); }
html.wcacc_contrast1 { filter:contrast(120%); }
html.wcacc_contrast2 { filter:contrast(150%); }
html.wcacc_contrast3 { filter:contrast(50%); }
html.wcacc_light1 { filter:brightness(120%); }
html.wcacc_light2 { filter:brightness(150%); }
html.wcacc_light3 { filter:brightness(50%); }
html.wcacc_link body a,
html.wcacc_link body a *:not(img),
html.wcacc_link body #head .head_wrap > ._right .sp_button .sp_text { background-color:#000 !important; color:#f7ff00 !important; }
html.wcacc_link body a img { filter:drop-shadow(0 0 1px #f7ff00) drop-shadow(0 0 1px #f7ff00) drop-shadow(0 0 1px #f7ff00) drop-shadow(0 0 1px #f7ff00); }
html.wcacc_link #btn_open a > span { background-color:#f7ff00!important; }

html.wcacc_imagehide #main_image_wrap { height:auto; }
html.wcacc_imagehide #main_text { position:relative; }

@media (max-width:991px) {
	html.wcacc_fontsize1 #head_tel .button .main,
	html.wcacc_fontsize2 #head_tel .button .main,
	html.wcacc_fontsize3 #head_tel .button .main { line-height:1.2; }
}
@media (min-width:768px) {
	html.wcacc_fontsize1 #head,
	html.wcacc_fontsize2 #head,
	html.wcacc_fontsize3 #head { white-space:nowrap; overflow-x:auto; overflow-y:hidden; height:auto; }
	html.wcacc_fontsize1 #head_tel .head_tel1,
	html.wcacc_fontsize2 #head_tel .head_tel1,
	html.wcacc_fontsize3 #head_tel .head_tel1 { width:unset; }
	html.wcacc_fontsize1 #head .site_logo a,
	html.wcacc_fontsize2 #head .site_logo a,
	html.wcacc_fontsize3 #head .site_logo a { width:unset; }
}
@media (min-width: 768px) and (max-width: 991px) {
	html.wcacc_fontsize1 #flow .center2._hiromi:before,
	html.wcacc_fontsize2 #flow .center2._hiromi:before,
	html.wcacc_fontsize3 #flow .center2._hiromi:before { left:calc(50vw - 360px); }
}
@media (min-width: 576px) and (max-width: 767px) {
	html.wcacc_fontsize1 #flow .center2._hiromi:before,
	html.wcacc_fontsize2 #flow .center2._hiromi:before,
	html.wcacc_fontsize3 #flow .center2._hiromi:before { left:calc(50vw - 280px); }
}
html.wcacc_lineheight1 #head * { line-height:2; }
html.wcacc_lineheight2 #head * { line-height:2.25; }
html.wcacc_lineheight3 #head * { line-height:2.5; }

html.wcacc_animestop .plx { transition:all 0s!important; transition-delay:0s!important; opacity:1!important; transform:none!important; }
html.wcacc_animestop .ov { transition:0s; }

html.wcacc_dark body { background:#303030; color:#fff; }
html.wcacc_dark #accessibility_menu .title2,
html.wcacc_dark #accessibility_menu .note,
html.wcacc_dark #share_wrap { color:#333 }
html.wcacc_dark #head { background:#555; }
html.wcacc_dark #head .site_logo a img { background:#fff; }
html.wcacc_dark #head .head_tel_wrap a img { background:#fff; }
html.wcacc_dark #head .head_navi_wrap { background:#555; }
html.wcacc_dark a:link { color:#fff; }
html.wcacc_dark a:visited { color:#fff; }
html.wcacc_dark #copyright,
html.wcacc_dark #copyright a { color:#fff; }
html.wcacc_dark .c_color2 { color:#fff!important; }
html.wcacc_dark .bg_color2,
html.wcacc_dark .bg_white,
html.wcacc_dark .case_unit .case_unit_inner { color:#1c1c1e; }
html.wcacc_dark body:not(#top) #base { background:#303030; }
html.wcacc_dark .case_detail,
html.wcacc_dark .contact_wrap,
html.wcacc_dark .contact_wrap a,
html.wcacc_dark .form_privacy_area,
html.wcacc_dark .form_privacy_area a,
html.wcacc_dark .agreement_wrap { color:#1c1c1e; }
html.wcacc_dark .entry a { color:#3EA6BA; }

body.pc .hidden-pc { display:none !important; }
body.sp .hidden-sp { display:none !important; }

@media (prefers-color-scheme: dark){
	html body { background:#303030; color:#fff; }
	html #accessibility_menu .title2,
	html #accessibility_menu .note,
	html #share_wrap { color:#333 }
	html #head { background:#555; }
	html #head .site_logo a img { background:#fff; }
	html #head .head_tel_wrap a img { background:#fff; }
	html #head .head_navi_wrap { background:#555; }
	html a:link { color:#fff; }
	html a:visited { color:#fff; }
	html #copyright,
	html #copyright a { color:#fff; }
	html .c_color2 { color:#fff!important; }
	html .bg_color2,
	html .bg_white,
	html .case_unit .case_unit_inner { color:#1c1c1e; }
	html body:not(#top) #base { background:#303030; }
	html .case_detail,
	html .contact_wrap,
	html .contact_wrap a,
	html .form_privacy_area,
	html .form_privacy_area a,
	html .agreement_wrap { color:#1c1c1e; }
	html .entry a { color:#3EA6BA; }
}

#share_wrap { padding:60px 0 0; }
#share_wrap p { text-align:center; }
#share_wrap .share_row { display:flex; }
#share_wrap .share_row ._left .like_button_wrap { display:flex; flex-direction:column; align-items:center; }
#share_wrap .share_row ._left .like_button_wrap #like_button { width:95px; height:95px; border-radius:50px; background:url(../image/layout/like_button.png) no-repeat center center / contain; box-shadow:0 3px 6px rgba(0,0,0,.16); margin-bottom:10px; transition:opacity .2s; position:relative; }
html:not(.wcacc_animestop) #share_wrap .share_row ._left .like_button_wrap #like_button:active { box-shadow:inset 0 3px 6px rgba(0,0,0,.16); transform:translateY(3px); }
#share_wrap .share_row ._left .like_button_wrap #like_button.active { background-image:url(../image/layout/like_button_active.png); }
#share_wrap .share_row ._left .like_button_wrap #like_button .heart { background:url(../image/layout/like_heart.png) no-repeat center center / cover; position:absolute; width:20px; height:20px; display:block; transform:translate(-50%, -50%); top:50%; left:50%; pointer-events:none; }
html.wcacc_animestop #share_wrap .share_row ._left .like_button_wrap #like_button .heart { display:none; }
#share_wrap .share_row ._left .like_button_wrap .counter { font-weight:bold; width:95px; text-align:center; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; }
#share_wrap .share_row ._right { position:relative; }
#share_wrap .share_row ._right .sns_head { text-align:center; margin-bottom:-10px; }
#share_wrap .share_row ._right .sns_head .main { display:inline-block; padding:0 15px; position:relative; }
#share_wrap .share_row ._right .sns_head .main::before,
#share_wrap .share_row ._right .sns_head .main::after { content:""; width:1px; height:80%; background:#333; display:block; top:50%; position:absolute; }
#share_wrap .share_row ._right .sns_head .main::before { left:0; transform:translateY(-50%) rotate(-15deg); }
#share_wrap .share_row ._right .sns_head .main::after { right:0; transform:translateY(-50%) rotate(15deg); }
#share_wrap .share_row ._right .sns_wrap { margin-left:15px; display:flex; align-items:center; padding:25px 15px 15px; background:#fff; box-shadow:0 0 2px rgba(0,0,0,.1); }
#share_wrap .share_row ._right .sns_wrap > .unit:not(:last-child) { padding-right:15px; }
#share_wrap .share_row ._right .url_copy_text:not(.active) { display:none; }
#share_wrap .share_row ._right .url_copy_text { margin-left:15px; margin-top:5px; background:#fffbdc; }
@media (max-width:575px) {
	#share_wrap .share_row { flex-direction:column; align-items:center; }
	#share_wrap .share_row ._left { margin-bottom:20px; }
	#share_wrap .share_row ._right { width:100%; }
	#share_wrap .share_row ._right .sns_wrap { margin:0; width:calc(100% + 30px); margin-left:-15px; margin-right:-15px; padding:25px 15px 15px; justify-content:space-between; }
	#share_wrap .share_row ._right .sns_wrap .unit { width:30px; padding:0!important; }
}
