@charset "utf-8";
/*
	Last Update: 2025/05/01
	Auther: yt
*/
:root {
	--c-green:#50B848;
	--header-height:120px;
	--foot-btn-height:0;
}
@media (max-width:1200px) {
	:root {
		--header-height:90px;
	}
}
@media (max-width:991px) {
	:root {
			--header-height:75px;
			--foot-btn-height:84px;
	}
}

/*===================================================================
	base layout
===================================================================*/
.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; }
}

.FlexBox { display: flex;}
.FlexBox.sb { justify-content: space-between;}
.FlexBox.sa { justify-content: space-around;}
.FlexBox.jc { justify-content: center;}
.FlexBox.ai { align-items: center;}
.FlexBox.wrap { flex-wrap: wrap;}

.center, .center2, .center3, .center4 { padding-left:20px; padding-right:20px; }
.center { max-width:1180px; }
.center2 { max-width:1040px; }
.center3 { max-width:600px; }
.center4 { max-width:800px;}
.center5 { max-width: 1200px; padding-left:10px; padding-right:10px; }


/*===================================================================
	color / font
===================================================================*/
.bg_white { background-color:#fff !important; }
.bg_gray { background-color:#8e8e93 !important; }
.bg_gray-o { background-color:#f2f2f7 !important; }

.bg_color1 { background-color:#50B848 !important; }
.bg_color2 { background-color:#4CC764 !important; }
.bg_color3 { background: linear-gradient(to right, #F39904, #F0440A) !important; }
.bg_color4 { background: linear-gradient(to right, #E2EA12, #53B930) !important; }
.bg_color5 { background: linear-gradient(to right, #53B930, #E2EA12 ) !important; }
.bg_color6 { background: linear-gradient(to right, #E2EA12, #53B930) !important; }
.bg_color1-o { background-color:#e9e9ff !important; }
.bg_color2-o { background-color:#edfcff !important; }
.bg_color3-o { background-color:#E5ECFD !important; }
.bg_color4-o { background-color:#ffe4e2 !important; }

.bg_image1 { background: url(../image/layout/border_bg.png) center center;}
.bg_image2 {}
.bg_image3 {}

.c_gray { color:#636366 !important; }
.c_color1 { color:#50B848 !important; }
.c_color2 {}
.c_color3 { color:#40A8D0 !important; }
.c_color4 {}

.bd_color1 { border: 4px solid; border-image: linear-gradient(to bottom, #E2EA12, #53B930) 1 !important;}
.bd_color2 { border: 2px solid; border-image: linear-gradient(to right, #E2EA12, #53B930) 1 !important;}
.bd_color3 { border: 4px solid #50B848 !important;}

.en { font-family:'Oswald', sans-serif; }
.en2 { font-family:'Jost', sans-serif; }
.marugo { font-family: "Zen Maru Gothic", serif;}

.ul_1 li { text-indent:-1em; padding-left:1em; }
.ul_1 li::before { content:"・"; }

.lead { font-size:1.25em; }
.lead._padding { padding:0 20px; }

.video_wrap { position:relative; width:100%; height:0; padding-bottom:56.25%; }
.video_wrap > video { position:absolute; left:0; top:0; width:100%; height:100%; }

.link_btn { display:flex; align-items:center; justify-content:center; width:calc(100% + 16px); margin-left:-8px; margin-right:-8px; }
.link_btn .link_btn_unit_wrap { padding:0 8px; }
.link_btn .link_btn_unit_wrap a { position:relative; border-radius:30px; font-weight:bold; border:2px solid var(--c-green); display:block; text-align:center; padding:10px 30px; }
.link_btn .link_btn_unit_wrap a .main { display:inline-block; padding-right:15px; background:url(../image/layout/link_btn_icon.png) no-repeat center right / 8px auto; line-height:1.2; }
@media (max-width:575px){
	.link_btn { display:flex; align-items:center; justify-content:center; width:calc(100% + 10px); margin-left:-5px; margin-right:-5px; }
	.link_btn .link_btn_unit_wrap { padding:0 5px; }
	.link_btn .link_btn_unit_wrap a { padding:10px 8px; border-radius:25px; }
}

/*===================================================================
	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; }

.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 tr th { width:280px; border:1px solid #E6E6E6; background-color:#F6FBF6; text-align:center; padding:30px 10px; }
.tbl_1 tr td { border:1px solid #E6E6E6; padding:10px 20px; vertical-align:middle; }
@media (max-width:767px) {
	.tbl_1,
	.tbl_1 tbody,
	.tbl_1 tr,
	.tbl_1 tr > * { display:block; width:100%!important; white-space:wrap; }
	.tbl_1 tr th { padding:10px; }
}

.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:130px; padding:4px 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; }
	}

.button._type1 { position:relative; border-radius:30px; font-weight:bold; border:2px solid var(--c-green); display:inline-block; text-align:center; padding:10px 30px; background:#fff; }
.button._type1 .main { display:inline-block; padding-right:15px; background:url(../image/layout/link_btn_icon.png) no-repeat center right / 8px auto; line-height:1.2; color:var(--c-green); }
@media (max-width:575px){
	.button._type1 { padding:10px; border-radius:25px; }
}


/*===================================================================
	hl
===================================================================*/
.hl_1 { padding:30px 20px; background:url(../image/layout/hl_1_back.jpg) no-repeat center center / cover; display:flex; align-items:center; justify-content:center; }
.hl_1 .main { position:relative; display:inline-block; z-index:2; background:rgba(255,255,255,.75); padding:25px 30px; color:#0A8F00; font-size:2.5em; text-align:center; }
.hl_1 .main::before,
.hl_1 .main::after { content:""; width:50%; height:50%; position:absolute; display:block; border-style:solid; border-color:#50B848; z-index:-1; pointer-events:none; }
.hl_1 .main::before { left:-8px; top:-8px; border-width:2px 0 0 2px; }
.hl_1 .main::after { right:-8px; bottom:-8px; border-width:0 2px 2px 0; }
@media (max-width:767px) {
	.hl_1 .main { font-size:2em; padding:10px; }
}
.hl_2 { font-size:2em; color:#50B848; text-align:center; margin-bottom:30px; text-shadow:3px 3px 0 #fff; }
.hl_2.underline { position:relative; display:inline; background:linear-gradient(to bottom, transparent 85%, #F9ED31 85%); }
.h2_wrap{ text-align:center; }
.hl_3 { font-size:1.5em; color:#50B848; text-align:center; margin-bottom:60px; position:relative; z-index:999; }
.hl_3::after{ position:absolute; content:''; top:50%; transform:translateY(-50%); left:0; right:0; margin:auto; background:url(../image/contents/member/back2.png) no-repeat; width:82px; height:82px; background-size:82px 82px; z-index:-1; }
.hl_4 { text-align:center; margin-bottom:40px; }
.hl_4 .num { text-align:center; color:#555555; position:relative; z-index:2; font-size:1.5em; font-weight:bold; letter-spacing:2px; text-indent:2px; }
.hl_4 .num::before { content:""; width:76px; height:76px; background:#DCE913; position:absolute; top:0; left:50%; transform:translateX(-50%); z-index:-1; border-radius:76px; display:block; }
.hl_4 .main { z-index:2; position:relative; font-size:2em; font-weight:normal; }
.hl_5 { margin-bottom:30px; }
.hl_5 .main { font-size:1.5em; color:#50B848; font-weight:bold; }

/*===================================================================
	layout
===================================================================*/
#base { padding-top:var(--header-height); }

#head { position:fixed; top:0; left:0; width:100%; z-index:2000; height:var(--header-height); transition:background-color .2s, box-shadow .2s; }
#head.fixed { box-shadow:0 3px 5px rgba(0,0,0,0.2); }
#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; width: 100%; height: auto;}
#head .site_logo img { width: 410px; max-width: 410px; height: auto;}
	@media (max-width:1200px){
		#head .site_logo img { max-width:calc(100vw - 660px); }
	}
	@media (max-width: 991px){
		#head .site_logo a { padding:0 0 0 15px; }
		#head .site_logo img { width:285px; max-width:calc(100vw - var(--header-height) - 40px); }
		#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) and (max-width:1199px){
		#head .site_logo a { padding:15px 0 10px 15px; }
	}
	@media (min-width:1200px){
		#head .site_logo a { padding:15px 0 10px 15px; }
	}

#head .head_btn { margin-left:auto; padding-right:20px; }
#head .head_btn ul { align-items:flex-end; }
#head .head_btn li { margin: 0 5px; position: relative; }
#head .head_btn .button { font-size: 1.2em; font-weight: bold; border-radius: 50px; text-decoration: none; width:190px; }
#head .head_btn .shop .button { border: 3px solid #50B848; background:#fff; padding: 10px 0;}
#head .head_btn .shop .button::after { content: ''; position: absolute; top: 0; bottom: 0; right: 27px; width: 9px; height: 9px; margin: auto; border-top: 2px solid #50B848; border-right: 2px solid #50B848; transform: rotate(45deg); box-sizing: border-box; }
#head .head_btn .line .button { padding: 13px 0 13px 20px; position:relative; }
#head .head_btn .line .button .image { width: auto; height: 100%; max-height:100%; position: absolute; top: 50%; transform:translateY(-50%); left: 0;}
#head .head_btn .line .button .image img { width:auto; height:100%; }
#head .head_btn .entry .button { padding: 13px 0;}
#head .head_btn li .sub { text-align:center; padding-bottom:5px; line-height:1; }
#head .head_btn li .sub .text { font-weight:bold; font-size:.8em; display:inline-block; padding-left:10px; padding-right:10px; position:relative; line-height:1.6; }
#head .head_btn li .sub .text::before,
#head .head_btn li .sub .text::after { content:""; width:2px; height:50%; background:#090909; position:absolute; top:50%; display:block; }
#head .head_btn li .sub .text::before { left:0; transform:translateY(-40%) rotate(-15deg); }
#head .head_btn li .sub .text::after { right:0; transform:translateY(-40%) rotate(15deg); }

@media (max-width:1200px) {
	#head .head_btn { padding-right:10px; }
	#head .head_btn .button { width:160px; font-size:1em; }
	#head .head_btn li .sub .text { font-size:.7em; }
	#head .head_btn .line .button .image { height:50px; }
	#head .head_btn .shop .button { padding: 5px 0;}
	#head .head_btn .shop .button::after { right:20px; }
	#head .head_btn .line .button { padding: 7px 0 7px 20px; position:relative; }
	#head .head_btn .entry .button { padding: 7px 0;}
}
@media (max-width:991px) {
	#head .head_wrap > .head_btn { position:fixed; bottom:0; left:0; width:100%; z-index:4000; background:rgba(255,255,255,.85); height:var(--foot-btn-height); display:flex; align-items:center; justify-content:center; }
}
@media (max-width:575px) {
	#head .head_wrap > .head_btn { padding-right:0; }
	#head .head_btn .button { width:115px; height:45px; display:flex; align-items:center; justify-content:center; }
	#head .head_btn .shop .button { width:85px; }
	#head .head_btn li .sub .text { padding-left:5px; padding-right:5px; }
	#head .head_btn .shop .button::after { right:10px; }
	#head .head_btn .line .button .image { height:40px; }
}

.h2_sb_pc h2 { padding: 30px 50px;}
.h2_sb_pc h2 span { font-size: 36px; font-weight: bold; text-align: center; padding: 0 20px; background: linear-gradient(transparent 70%, #F9ED31 30%) ;}
.h2_sb_pc h2 img { width: 200px; height: auto; display: block; text-align: left;}

#head_navi ul { list-style:none; }
#head_navi a { display:block; }
#head_tel { text-align:center; }
#head_tel .head_tel_wrap { font-weight:bold; line-height:130%; }
#head_tel .head_tel_time { font-size:0.85em; }
.head_navi_wrap { position:fixed; top:var(--header-height); height:calc(100vh - var(--header-height)); width:100%; background:#fff; overflow-y:auto; overscroll-behavior:none; }
body.pc #head_navi .head_navi_list ul li a:hover { text-decoration:underline; }
#base:not(.open) .head_navi_wrap { display:none !important; }
@media (max-width: 991px){
	.head_navi_wrap{ position:fixed; right:0; z-index:3000; width:100%; max-width:400px; background:var(--c-green); color:#fff; padding-bottom:var(--foot-btn-height); }
	.head_navi_wrap a { color:#fff; }
	.head_navi_wrap ._left { display:none; }
	#head_navi .head_navi_btn_wrap { display:none; }
	#head_navi .head_navi_list { text-align:center; padding:20px 0; }
	#head_navi .head_navi_list ul > li { line-height:1.8; }
	#head_navi .head_navi_list ul > li > .unit { font-weight:bold; font-size:1.5em; display:inline-block; color:#fff; }
	#head_navi .head_navi_list > ul > li { margin-bottom:10px; }
	#head_navi .head_navi_list > ul > li > ul { margin-top:5px; }
	#head_navi .head_navi_list > ul > li > ul > li > .unit { font-weight:normal; font-size:1.25em; padding-left:10px; position:relative; display:inline-block; }
	#head_navi .head_navi_list > ul > li > ul > li > .unit::before { content:""; width:5px; height:1px; position:absolute; display:block; left:0; top:50%; background:#fff; }
	#head_navi .navi_address_wrap { padding-top:20px; padding-bottom:10px; }
	#head_navi .navi_address_wrap .title { font-size:1.2em; }
	#head_navi .navi_address_wrap p { font-size:.8em; }
	#head_navi .navi_buttons_wrap { display:flex; align-items:center; justify-content:center; }
	#head_navi .navi_buttons_wrap ul li:not(:last-child) { padding-right:8px; }
	#head_navi .navi_buttons_wrap ul li .button { width:145px; padding:5px 0; border:1px solid #fff; border-radius:40px; font-size:1em; }
	#head_navi .navi_buttons_wrap ul li .button .main { padding-right:20px; background:no-repeat center right / 16px auto; }
	#head_navi .navi_buttons_wrap ul li .button.corporate .main { background-image:url(../image/layout/link-w.png); }
	#head_navi .navi_buttons_wrap ul li .button.search .main { background-image:url(../image/layout/loope-w.png); }
	#head_navi .navi_buttons_wrap .sns_wrap { padding-left:8px; }
	#head_navi .navi_buttons_wrap .sns_wrap a { width:35px; display:inline-block; }
}
@media (min-width: 992px){
	#base.open #head .head_wrap > .head_btn { display:none !important; }
	.head_navi_wrap { margin-left:auto; }
	.head_navi_wrap > * { vertical-align:middle; }
	#head_navi { max-width:100%; width:1480px; padding:20px; height:100%; margin-left:auto; margin-right:auto; display:flex; }
	#head_navi .head_navi_image img { width:100%; max-width:530px; height:auto; }
	#head_navi > ._right { flex:1; padding-left:40px; }
	#head_navi .head_navi_list { display:flex; justify-content:center; flex:1; }
	#head_navi .head_navi_list > *:not(:last-of-type) { padding-right:40px; }
	#head_navi .head_navi_list ul { display:flex; flex-direction:column; }
	#head_navi .head_navi_list ul li { display:inline-block; padding-bottom:5px; }
	#head_navi .head_navi_list ul > li > .unit { font-size:1.8em; line-height:1.6; font-weight:bold; }
	#head_navi .head_navi_list ul > li > ul > li > .unit { font-size:1.3em; padding-left:15px; position:relative; font-weight:normal; }
	#head_navi .head_navi_list ul > li > ul > li > .unit::before { content:""; width:8px; height:2px; background:var(--c-green); position:absolute; left:0; top:50%; transform:translateY(-50%); }
	#head_navi .head_navi_list ul li .unit { color:var(--c-green); display:inline-block; }
	#head_navi .head_navi_btn_wrap { display:flex; align-items:center; justify-content:center; padding-top:20px; padding-bottom:20px; }
	#head_navi .head_navi_btn_wrap .head_btn { padding-right:0; margin:0; }
}
@media (min-width: 992px) and (max-width:1199px){
	#head_tel { padding:0 15px 0 10px; font-size:0.9em; }
}
@media (min-width:1200px){
	#head_tel { padding:0 15px; }
}

#btn_open { width:var(--header-height); line-height:1px; transition:opacity .2s, background-color .3s; }
#btn_open a { position:relative; display:inline-block; width:100%; height:var(--header-height); background-color:var(--c-green); border-radius: 0 0 0 var(--header-height); }
#base.open #btn_open a { background-color:#fff!important; }
#btn_open a .line_wrap { display:block; --size:calc(var(--header-height) / 3); --offset:calc(var(--header-height) / 4); width:var(--size); height:var(--size); position:absolute; top:var(--offset); right:var(--offset); }
#btn_open a .line { position:absolute; left:0; height:2px; background:#fff; transition:all .3s; transform-origin:left center; width:100%; }
#base.open #btn_open a .line { background-color:var(--c-green); }
#btn_open a .line.l1 { top:0; transform:translateY(calc(var(--size) * 0.1)); }
#btn_open a .line.l2 { top:calc(50% - 1px); }
#btn_open a .line.l3 { top:calc(100% - 2px); transform:translateY(calc(var(--size) * -0.1)); }
#base.open #btn_open a .line.l1 { top:calc(var(--size) * .944 - 1px); transform:rotate(-45deg); left:calc(var(--size) * .056); width:calc(var(--size) * 1.25); }
#base.open #btn_open a .line.l2 { width:0; }
#base.open #btn_open a .line.l3 { top:calc(var(--size) * .056 - 1px); transform:rotate(45deg); left:calc(var(--size) * .056); width:calc(var(--size) * 1.25); }
@media (max-width:991px) {
	#btn_open a { background:none; border-radius:0; }
	#btn_open a .line_wrap { top:50%; left:50%; transform:translate(-50%, -50%); }
	#btn_open a .line { background:var(--c-green); }
}

footer { padding-bottom:var(--foot-btn-height); }
#foot { border-top: 6px solid #E1FF3E; padding: 50px 0;}
#foot .foot_address_wrap { margin: 0;}
#foot h3 { font-size: 1.5em; font-weight: bold; margin: 10px 0;}
#foot .foot_logo { margin-bottom:10px; display:inline-block; margin-bottom:50px; }
#foot .foot_logo img { width: 450px; height: auto;}
#foot address { line-height: 1.8; }
#foot_navi { margin: 0 30px;}
#foot_navi ul { margin: 0 10px;}
#foot_navi li { padding: 5px 10px;}
#foot_navi .unit { color: #50B848; font-size: 1.5em; font-weight: bold; }
#foot_navi li.small { padding: 3px 10px;}
#foot_navi .small .unit { font-size: 1.25em; font-weight:normal; }
#foot .foot_wrap { margin-bottom: 30px;}
#foot .links li { position: relative; margin: 0 10px;}
#foot .links li a::after { content:""; display:block; width:28px; height:28px; background: no-repeat center center / contain; position:absolute; top:50%; right:30px; transform:translateY(-50%); }
#foot .links li:nth-child(1) a::after { background-image:url(../image/layout/link.png); }
#foot .links li:nth-child(2) a::after { background-image:url(../image/layout/loope.png); }
#foot .links_btn a { display:inline-block; font-weight:bold; border:2px solid #50B848; border-radius:50px; padding:15px 65px 15px 30px; font-size:1.5em; }
#foot .inst { width: 60px; height: auto;}
#copyright { justify-content:flex-end; text-align:end; font-size:1.25em; padding:40px 0 0; }
#copyright a { margin: 0 15px;}
#copyright p { margin: 0 15px;}
@media (max-width:1200px) {
	#foot .foot_wrap { flex-direction:column; }
	#foot .foot_wrap > * { width:100%; }
	#foot .foot_logo { margin-bottom:30px; }
	#foot .foot_wrap .foot_address_wrap { text-align:center; margin-bottom:60px; }
	#foot_navi { margin:0; justify-content:center; }
	#copyright { justify-content:center; flex-direction:column; text-align:center; }
	#foot .links { flex-direction:column; justify-content:center; text-align:center; }
	#foot .links_btn { justify-content:center; margin-bottom:20px; }
	#foot .sns_wrap { text-align:center; }
	#foot .nav2 { margin-bottom:20px; }
}
@media (max-width:767px){
	#foot address { margin-bottom:10px; }
	#foot_navi { display:none; }
	#foot .foot_wrap .foot_address_wrap { margin-bottom:0; }
}
@media (max-width:575px) {
	#foot .links li { flex:1; margin:0 5px; }
	#foot .links li a::after { width:20px; height:20px; right:12px; }
	#foot .links_btn a { width:100%; padding:10px 30px 10px 15px; font-size:1.25em; }
}

/* work */
.work { background:url(../image/contents/top/back.jpg) no-repeat; background-size:100% 100%; position:relative; }
.work .work_list {display:flex; justify-content:space-between; }
.work .work_list .work_detail { border:4px solid; border-image:linear-gradient(to bottom, #D9E616, #48B533); border-image-slice:1; background-color:#FFFFFF; width:30%; aspect-ratio:1 / 1; text-align:center; }
.work .work_list .work_detail .image { height:70%; }
.work .work_list .work_detail .image img { width:80%; object-fit:cover; }
.work .work_list .work_detail p { font-size:1.5em; height:30%; display:flex; align-items:center; justify-content:center; }
.work .work_list .work_detail.v2 .image img { height:120%; }
@media (max-width: 991px){
	.work .work_list .work_detail p { font-size:1em; }
}
@media (max-width: 575px){
	.work .work_list { flex-direction:column; align-items:center; }
	.work .work_list .work_detail { width:90%; margin-bottom:30px; }
	.work .work_list .work_detail p { font-size:1.8em; }
}

/* form */
.form_wrap form { max-width:900px; margin:auto; }
.form_wrap .form-row { display:flex; align-items:center; margin-bottom:20px; align-items:stretch; }
.form_wrap .form-row > .text { display:flex; align-items:center; }
.form_wrap .form-label { background:#f2f2f2; padding:15px 10px; box-sizing:border-box; font-weight:bold; position:relative; width:35%; }
.form_wrap .form-label.v1::after,
.form_wrap .form-label.v2::after { position:absolute; transform:translateY(-50%); width:40px; text-align:center; font-size:0.6em; height:20px; top:32px; right:10px; color:#FFFFFF; display:flex; align-items:center; justify-content:center; }
.form_wrap .form-label.v1::after{ content:"必須"; background-color:#e91e63; }
.form_wrap .form-label.v2::after{ content:"任意"; background-color:#999; }
.form_wrap .form-label .tag { font-size:12px; background:#e91e63; color:#fff; padding:2px 5px; border-radius:2px; margin-left:5px; }
.form_wrap .form-input { flex:1; padding:10px; }
.form_wrap .form-input input[type="text"],
.form_wrap .form-input input[type="email"],
.form_wrap .form-input input[type="tel"] { padding:15px 10px; height:100%; }
.form_wrap .form-input input[type="text"],
.form_wrap .form-input input[type="email"],
.form_wrap .form-input input[type="tel"],
.form_wrap .form-input textarea { width:100%; padding:10px; border-radius:3px; }
.form_wrap .form-input._no-grow { flex:none; }
.form_wrap .form-input input._year,
.form_wrap .form-input input._zip { width:78px; }
.form_wrap .form-input input._month,
.form_wrap .form-input input._date { width:50px; }
.form_wrap textarea { height:100px; resize:vertical; }
.form_wrap .form-submit { text-align:center; margin-top:30px; }
.form_wrap .privacy { font-size:0.9em; text-align:center; margin-top:20px; background-color:#FFEEEE; padding:8px; }
.form_wrap .privacy a { color:#e91e63; text-decoration:underline; }
.form_wrap .form-submit button { background:linear-gradient(90deg, rgba(243, 153, 4, 1) 15%, rgba(240, 68, 10, 1) 100%); border:none; color:#fff; padding:12px 40px; font-size:1em; border-radius:50px; cursor:pointer; }
.form_wrap .form-submit button._back { background:#999; }
.form_wrap input[type="text"],
.form_wrap input[type="email"],
.form_wrap input[type="tel"],
.form_wrap input[type="date"],
.form_wrap input[type="number"] { border:1px solid #D2D2D2; height:100%; padding:15px 10px; }
.form_wrap .form_input_wrap { position:relative; cursor:pointer; }
.form_wrap .form_input_wrap input { position:absolute; width:0; height:0; opacity:0; left:0; top:0; -webkit-appearance:none; }
.form_wrap .form_input_wrap .form_input_inner { padding-left:25px; }
.form_wrap .form_input_wrap .form_input_inner::before,
.form_wrap .form_input_wrap .form_input_inner::after { content:""; position:absolute; top:50%; transform:translateY(-50%); display:block; border-radius:20px; }
.form_wrap .form_input_wrap .form_input_inner::before { width:20px; height:20px; background:#fff; border:1px solid #CCCCCC; left:0; }
.form_wrap .form_input_wrap .form_input_inner::after { width:12px; height:12px; left:4px; background:var(--c-green); }
.form_wrap .form_input_wrap input:not(:checked) + .form_input_inner::after { display:none; }
.form_wrap .form_dl .form-row { margin-bottom:0; }
.form_wrap .form_dl .form-row .form-input { padding-top:0; padding-bottom:0; }
.form_wrap .form_dl .form-row .form-input:last-child { padding-right:0; }

@media (max-width:767px) {
	.form_wrap .job { flex-wrap:wrap; justify-content:center; }
	.form_wrap .job .image { width:80%; margin-bottom:20px; }
	.form_wrap .job .title_wrap { width:70%; padding:0 5px; }
  .form_wrap .job .place { width:30%; }
	.form_wrap .form-label { width:100%; }
	.form_wrap .form-row { flex-wrap:wrap; }
}
@media (max-width:575px) {
	.form_wrap .form_dl,
	.form_wrap .form_dl > * { display:block; }
	.form_wrap .form_dl > dt { padding-bottom:5px; padding-top:0; }
}
@media (max-width:425px){
  .form_wrap .job .title { font-size:1em; }
  .form_wrap .job .place p { font-size:0.8em; }
}

.form_question_wrap .question h2 { color:#5C5C5C; }
.form_question_wrap .question .answer { margin:0 auto; display:flex; justify-content:center; max-width:600px; }
.form_question_wrap .question .answer .unit { flex:1; text-align:center; }
.form_question_wrap .question .answer .unit .form_question_input_wrap { position:relative; cursor:pointer; text-align:center; }
.form_question_wrap .question .answer .unit .form_question_input_wrap { display:inline-block; width:85%; margin:0 10px; }
.form_question_wrap .question .answer .unit .form_question_input_wrap .form_input_inner { border:none; box-shadow:3px 5px 5px #cacaca; padding:15px 10px; border-radius:50px; font-size:1.1em; font-weight:bold; display:block; background:#EFEFEF; }
.form_question_wrap .question .answer .unit .form_question_input_wrap input { position:absolute; width:0; height:0; opacity:0; left:0; top:0; -webkit-appearance:none; }
.form_question_wrap .question .answer .unit .form_question_input_wrap input:checked + .form_input_inner.yes { background-color:#FDDCDC; color:#EA2828; }
.form_question_wrap .question .answer .unit .form_question_input_wrap input:checked + .form_input_inner.no { background-color:#E3EEFF; color:#3681F2; }

dialog { overflow:visible; padding:0; background:none; border:0; }
dialog::backdrop { background:rgba(0, 0, 0, 0.66); }
dialog .dialog_cont { position:relative; overflow:visible; }
dialog .dialog_inner { max-height:calc(100vh - 240px); overflow-y:auto; overscroll-behavior:none; padding:40px; max-width:1200px; background:#fff; border-radius:40px 0 40px 0; }
dialog .dialog_close { display:block; width:36px; height:36px; background:url(../image/layout/cross.png) no-repeat center center / contain; position:absolute; left:calc(100% + 30px); bottom:calc(100% + 30px); border:none; }
dialog .dialog_arrow { width:80px; height:80px; border-radius:80px; background:var(--c-green) no-repeat center center / 12px auto; border:0; position:absolute; top:50%; transform:translateY(-50%); box-shadow:2px 2px 0 rgba(0,0,0,.25); }
dialog .dialog_arrow.dialog_prev { background-image:url(../image/layout/arrow_l.png); left:-40px; }
dialog .dialog_arrow.dialog_next { background-image:url(../image/layout/arrow_r.png); right:-40px; }
@media (max-width:1440px) {
	dialog .dialog_close { left:auto; right:0; }
	dialog .dialog_arrow { width:50px; height:50px; }
	dialog .dialog_arrow.dialog_prev { left:-20px; }
	dialog .dialog_arrow.dialog_next { right:-20px; }
}
@media (max-width:767px) {
	dialog .dialog_inner { max-height:calc(100vh - 160px); padding:20px; }
	dialog .dialog_arrow { width:37px; height:37px; }
	dialog .dialog_close { right:22px; width:22px; height:20px; }
}

.interview_dialog_wrap { display:flex; height:100%; }
.interview_dialog_wrap ._left { width:400px; padding-right:40px; }
.interview_dialog_wrap ._right { width:calc(100% - 400px); max-height:calc(100vh - 240px - 80px); overflow-y:auto; overscroll-behavior:none; padding-top:40px; }
.interview_dialog_wrap .copy { margin-bottom:30px; }
.interview_dialog_wrap .copy .main .text_row { background:#F1F7DF; display:inline-block; color:var(--c-green); font-size:1.25em; padding:10px; margin-bottom:5px; }
.interview_dialog_wrap .image { margin-bottom:20px; }
.interview_dialog_wrap .name { margin-bottom:10px; }
.interview_dialog_wrap .tag { display:flex; flex-wrap:wrap; }
.interview_dialog_wrap .tag span { background-color:#F9ED31; color:#0A8F00; font-weight:bold; border-radius:50px; font-size:0.9em; padding:10px 15px; margin:0 3px; }
.interview_dialog_wrap .hl_interview { padding-left:55px; background:url(../image/layout/comment.png) no-repeat center left / auto 44px; display:flex; min-height:44px; align-items:center; margin-bottom:10px; }
.interview_dialog_wrap .hl_interview .main { font-size:1.2em; color:var(--c-green); }
.interview_dialog_wrap .comment:not(:last-child) { padding-bottom:40px; margin-bottom:40px; border-bottom:2px dashed #DDE815; }
@media (max-width:1200px) {
	.interview_dialog_wrap { flex-direction:column; }
	.interview_dialog_wrap > * { width:100%!important; }
	.interview_dialog_wrap ._left { width:100%; max-width:600px; margin-left:auto; margin-right:auto; padding-right:0; }
	.interview_dialog_wrap ._right { overflow:visible; max-height:unset; }
}

.list_pager ul { display:flex; align-items:center; justify-content:center; gap:5px; padding:5px; border-radius:20px; background-color:white; font-family:sans-serif; margin:0 auto; }
.list_pager ul li { line-height:0; }
.list_pager ul li a,
.list_pager ul li strong { display:inline-flex; justify-content:center; align-items:center; width:32px; height:32px; text-decoration:none; border-radius:50%; background-color:#E9E9E9FC; color:#8C8C8C; font-weight:bold; transition:0.3s; padding:0!important; }
.list_pager ul li a:hover { background-color:#ccc; }
.list_pager ul li strong { background-color:var(--c-green)!important; color:#FFFFFF; }
.list_pager ul li a:not([data-first]):not([data-back]):not([data-next]):not([data-last]) { background:#DFE815; color:#FFFFFF; }
.list_pager ul li a[data-first],
.list_pager ul li a[data-back],
.list_pager ul li a[data-next],
.list_pager ul li a[data-last] { background:#E9E9E9FC no-repeat center center / auto 14px; }
.list_pager ul li a[data-first] { background-image:url(../image/layout/pager-first.png); }
.list_pager ul li a[data-back] { background-image:url(../image/layout/pager-back.png); }
.list_pager ul li a[data-next] { background-image:url(../image/layout/pager-next.png); }
.list_pager ul li a[data-last] { background-image:url(../image/layout/pager-last.png); }

.member_list {display: flex;justify-content: flex-start;flex-wrap: wrap;}
.member_list .member_detail{width: 33.333%;background:none;border: 0;padding:5px;}
.member_list .member_detail .image{width: 100%; box-shadow:4px 4px 0 rgba(0,0,0,.25); }
.member_list .member_detail .image .img_back { width:100%; height:0; padding-bottom:70.588%; }
.member_list .member_detail .content .tag span{background-color: #F9ED31;color: var(--c-green);font-weight: bold;border-radius: 50px;font-size: 0.7em;padding:5px 15px;margin: 0 3px; display:inline-block; margin-bottom:5px; }
@media (max-width:862px){
  .member_list .member_detail{width: 49%;}
}
@media (max-width:480px){
  .member_list .member_detail p{font-size: 0.8em ;margin-bottom: 0 !important;}
  .member_list .member_detail .tag span{padding: 3px 5px !important;font-size: 0.5em !important;}
}
