@charset "utf-8";
/*
	Last Update: 2025/06/25
	Auther: iw
*/
:root {
	--color1:#45a404;
	--color2:#0e8d21;
	--color3:#71a406;
}
.wrapper2, .wrapper2-t { padding-top:50px; }
.wrapper2, .wrapper2-b { padding-bottom:50px; }
@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, .center2, .center3 { padding-left:20px; padding-right:20px; }
.center { max-width:1200px; }
.center2 { max-width:1000px; }
.center3 { max-width:800px; }
.bg_white { background-color:#fff !important; }
.bg_gray { background-color:#8e8e93 !important; }
.bg_gray-o { background-color:#f2f2f7 !important; }
.bg_color1 { background-color:var(--color1) !important; }
.bg_color1 { background-color:var(--color2) !important; }
.c_gray { color:#636366 !important; }
.c_color1 { color:var(--color1) !important; }
.c_color2 { color:var(--color2) !important; }
.en { font-family:'Orbitron', sans-serif; }
.need:not(._no) { border:1px solid var(--color2); background:var(--color2); color:#fff; }
.need._no { border:1px solid var(--color2); background-color:#fff; var(--color2); }
.error { background:#ffeeed; color:#c00; border:1px solid #c00; }
.list_pager ul li > * { border:1px solid #eee; width:40px; height:40px; display:inline-block; vertical-align:middle; line-height:18px; }
.list_pager ul li > a { text-decoration:none; background:#eee; color:#707070; }
.list_pager ul li > strong { color:#fff; font-weight:bold; background:var(--color1); border:1px solid var(--color1); }
body.pc .list_pager ul li > a:hover { background:var(--color1); color:#fff; }


/*===================================================================
	layout
===================================================================*/
#head { position:fixed; top:0; left:0; width:100%; z-index:2000; background:rgba(255,255,255,0.75); }
#head.fixed { box-shadow:0 3px 5px rgba(0,0,0,0.2); 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; }
	@media (max-width: 991px){
		#base { padding-top:60px; }
		#head, #head .head_wrap { height:60px; }
		#head .site_logo a { padding:0 0 0 15px; width:150px; }
	}
	@media (min-width: 992px) and (max-width:1199px){
		body#sub { padding-top:85px; }
		#head { height:85px; }
		#head .site_logo a { padding:15px 0 10px 15px; width:180px; }
	}
	@media (min-width:1200px){
		body#sub { padding-top:100px; }
		#head { height:100px; }
		#head .site_logo { padding:7px 0 0 20px; }
		.head_navi_wrap { margin-left:auto; padding:10px 30px 0 0; }
	}

#head_navi ul { list-style:none; }
#head_navi a { display:block; font-weight:500; }
#head_tel { text-align:center; }
#head_tel .head_tel_wrap { font-weight:bold; line-height:120%; font-size:1.9em; }
#head_tel .head_tel_wrap a { color:#71a406; }
#head_tel .head_tel_time { font-size:0.85em; }
	@media (max-width: 991px){
		.head_navi_wrap{ position:fixed; top:60px; right:0; z-index:3000; width:100%; max-width:400px; background:#fff; height:calc(100vh - 60px); overflow-y:auto; overscroll-behavior:none; }
		#base:not(.open) .head_navi_wrap { display:none !important; }
		#head_navi ul { border-top:1px solid #ccc; }
		#head_navi ul li { border-bottom:1px solid #ccc; }
		#head_navi a { padding:15px 20px; }
		#head_tel { padding:15px; }
		#head_tel .head_tel_wrap { font-size:2.25em; }
		body.pc #head_navi a:hover { background:#f0f5eb; }
	}
	@media (min-width: 992px){
		.head_navi_wrap > * { display:inline-block; vertical-align:middle; }
		#head_navi { padding:0 20px 0 0; }
		#head_navi ul { display:flex; align-items:start; justify-content:stretch; }
		#head_navi li { display:inline-block; padding:0 20px; }
		body.pc #head_navi a:hover { text-decoration:underline; color:var(--color2); }
	}

#btn_open { width:60px; margin-left:auto; line-height:1px; background:var(--color1); }
#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; }

#foot_contact { background:#888888 url(../image2/layout/foot_contact_back.jpg) no-repeat center center / cover; color:#fff; }
#foot_contact .foot_contact_tel_wrap { text-align:center; font-weight:bold; line-height:120%; font-size:3em; }
#foot_contact .foot_contact_tel_wrap a { color:#fff; }
#foot_contact .foot_contact_tel_time { text-align:center; }
#foot_contact .button { border:2px solid #fff; width:100%; max-width:400px; padding:20px; font-size:1.25em; }
#foot_contact .button > span { color:#fff; }
	@media (max-width: 767px){
		#foot_contact .foot_contact_tel_time { margin-bottom:30px; }
	}

#foot { padding:30px; border-top:1px solid #7b8079; }
#foot_address .foot_logo { margin-bottom:20px; }
#foot_address address a { text-decoration:underline; }
#copyright { text-align:right; font-size:0.85em; }
	@media (max-width: 767px){
		#foot { padding:30px 15px; }
		#foot_address { text-align:center; }
		#foot_address .foot_logo img { max-width:200px; }
		#foot_address address { display:inline-block; margin-bottom:10px; }
		#copyright { text-align:center; padding-top:15px; }
	}

#page_title { position:relative; background:#faffeb; }
#page_title .title_wrap { text-align:center; position:absolute; left:0; top:50%; width:100%; transform:translateY(-50%); z-index:2; }
#page_title .main { font-weight:bold; color:var(--color2); }
#page_title:before, #page_title:after { content:""; position:absolute; left:0; width:100%; }
#page_title:before { transition:opacity 1s 0s; }
#page_title:after { transition:opacity 1s 0.5s; }
#page_title:not(.plx_on):before, #page_title:not(.plx_on):after { opacity:0; }
#page_title:before { background:rgba(127,225,45,0.1); top:0; clip-path:polygon(0 50%, 100% 0%, 100% 100%, 0% 90%); }
#page_title:after { background:rgba(204,251,75,0.2); bottom:0; clip-path:polygon(0 0, 100% 60%, 100% 100%, 0% 100%); }
	@media (max-width: 767px){
		#page_title { height:120px; }
		#page_title:before, #page_title:after { height:90px; }
		#page_title .main { font-size:2em; }
	}
	@media (min-width: 768px) and (max-width: 991px){
		#page_title { height:200px; }
		#page_title:before, #page_title:after { height:160px; }
		#page_title .main { font-size:2.25em; letter-spacing:3px; }
	}
	@media (min-width: 992px){
		#page_title { height:200px; }
		#page_title:before, #page_title:after { height:160px; }
		#page_title .main { font-size:2.5em; letter-spacing:3px; }
	}

#pankuzu { font-size:13px; padding-top:10px; padding:10px; }
#pankuzu a {}
#pankuzu li, #pankuzu li:before { vertical-align:baseline; line-height:100%; }
#pankuzu li:before { display:inline-block; }
#pankuzu ul > li:not(:first-child):before { content:"/"; margin:0 8px; color:#D9D9D9; }
body.pc #pankuzu a:hover { text-decoration:underline; }
	@media (max-width: 575px){
		#pankuzu ul { text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }
		#pankuzu li { display:inline; }
	}
	@media (min-width: 576px){
		#pankuzu li { display:inline-block; }
	}

.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; width:240px; }
		.tbl_form tr > td { padding:20px 15px; }
		.tbl_form._check tr > td { padding:30px 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:inline-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:500; width:100px; padding:8px 0 0; }
.tbl_form._check .form_dl dt { padding-top: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:5px 5px; border:none; font-size:0.9em; background:#fff; border:1px solid var(--color1); color:var(--color1); }
	@media (max-width: 575px){
		.button._contact { padding:15px; font-size:1.2em; }
	}
	@media (min-width: 576px){
		.button._contact { padding:20px; font-size:1.25em; }
	}
