@charset "utf-8";
/*
	Last Update:2021/12/13
	Auther: iw
*/
/*===================================================================
	layout
===================================================================*/
a:link { color:#555; }
a:visited { color:#555; }

.wrapper, .wrapper-t, .wrapper-b { position:relative; }
@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 { width:100%; margin:0 auto; text-align:left; }
.center { max-width:1100px; }
.center2 { max-width:900px; }
.center3 { max-width:1000px; padding-left:15px; padding-right:15px; }
	@media (max-width:1130px){
		.center { padding-left:15px; padding-right:15px; }
	}
	@media (max-width: 930px){
		.center2 { padding-left:15px; padding-right:15px; }
	}

.c_white { color:#fff !important; }
.c_green { color:#006D48 !important; }
.bg_white { background-color:#fff !important; }
.bg_green { background-color:#006D48 !important; }
.bg_green-o { background-color:#edf5f2 !important; }


/*===================================================================
	#head
===================================================================*/
#head { position:relative; top:0; left:0; width:100%; z-index:1000; background:#fff; }
#head a { text-decoration:none; }
#head .head_wrap { position:relative; display:table; width:100%; padding:0; margin:0 auto; }
#head .head_wrap > * { display:table-cell; vertical-align:middle; }
#head .site_logo a { display:inline-block; }
	@media(max-width: 991px){
		#base { padding-top:55px; }
		#head { height:55px; position:fixed; }
		#head.fixed { box-shadow:0 3px 6px rgb(0,0,0,0.2); }
		#head .head_wrap { height:55px; }
		#head .site_logo { padding:10px 0 10px 15px; width:230px; }
	}
	@media (min-width: 992px){
		#head .site_logo { padding:20px 0 20px 15px; width:300px; }
	}

#head_navi ul > li a,
#head_navi ul > li .tel { display:block; }
#head_navi ul > li .tel { font-size:2em; font-weight:bold; padding-left:20px; }
#head_navi .tel_wrap .tel > span { display:inline-block; background:url(../image/icon/phone.png) no-repeat left center / auto 1em; padding-left:1em; }
#head_navi .mail_wrap a > span { display:inline-block; color:#fff; background-image:url(../image/icon/mail.png); background-repeat:no-repeat; }
	@media (max-width: 991px){
		#base:not(.open) #head_navi { display:none !important; }
		#base.open #head_navi { display:block !important; position:absolute; top:55px; left:0; width:100%; background:#fff; }
		#base.open #menu_cover { position:fixed; top:0; left:0; width:100%; height:100vh; background:rgba(255,255,255,0.9); }
		#head_navi .main { border-top:1px dotted #ccc; }
		#head_navi .main > li:not(.mail_wrap) {  border-bottom:1px dotted #ccc; }
		#head_navi .main > li:not(.mail_wrap) a { padding:15px; color:#006D48; }
		#head_navi .tel_wrap { text-align:center; padding:10px 30px 10px 10px; }
		#head_navi .mail_wrap a { text-align:center; padding:15px; font-weight:bold; }
		#head_navi .mail_wrap a > span { padding:0 0 0 20px; background-position:left center; background-size:auto 1.25em; }
	}
	@media (min-width: 992px){
		#head_navi .main { display:table; height:100%; margin:0 0 0 auto; }
		#head_navi .main > li:not(.mail_wrap) { display:table-cell; vertical-align:middle; }
		#head_navi .main > li:not(.mail_wrap) a { color:#006D48; }
		body.pc #head_navi .main > li:not(.mail_wrap) a:hover { text-decoration:underline; }
		#head_navi .mail_wrap { position:absolute; top:100%; right:0; text-align:center; }
		#head_navi .mail_wrap a { clip-path:ellipse(50% 100% at 50% 0%); padding:15px 0; width:200px; }
		#head_navi .mail_wrap a > span { padding:30px 0 0; background-position:center top; background-size:auto 30px; }
	}
	@media (min-width: 992px) and (max-width:1199px){
		#head_navi .main > li:not(.mail_wrap) a { padding:0 10px; }
	}
	@media (min-width:1200px){
		#head_navi .main > li:not(.mail_wrap) a { padding:0 20px; }
	}

#btn_open { text-align:right; }
#btn_open a { background:#006D48; display:inline-block; color:#fff; padding:9px 11px 0; width:55px; height:55px; }
#base.open #btn_open a { background:#006D48 url(../image/layout/head_close.png) no-repeat center center / 33px auto; }
#base.open #btn_open a img { opacity:0; }
	@media (min-width: 992px){
		#btn_open { display:none !important; }
	}


/*===================================================================
	#foot
===================================================================*/
#foot { padding:30px 0; }
#copyright { text-align:center; padding:10px 0; }


/*===================================================================
	main
===================================================================*/
.hl_1 { position:relative; text-align:center; font-weight:bold; }
.hl_1 > span { display:inline-block; border-radius:150px; box-shadow:2px 2px 7px rgba(0,0,0,0.2); }
	@media (max-width: 575px){
		.hl_1 { margin-top:-30px; margin-bottom:30px; }
		.hl_1 > span { width:120px; height:120px; padding:50px 0 0; font-size:1.5em; }
	}
	@media (min-width: 576px){
		.hl_1 { margin-top:-170px; margin-bottom:50px; }
		.hl_1 > span { width:180px; height:180px; padding:70px 0 0; font-size:1.75em; }
	}

.hl_2 { font-weight:bold; margin-bottom:20px; line-height:120%; }
	@media (max-width: 991px){
		.hl_2 { font-size:1.75em; }
	}
	@media (min-width: 992px){
		.hl_2 { font-size:2em; }
	}

.hl_3 { font-weight:bold; margin-bottom:20px; line-height:120%; border-bottom:1px solid #fff; padding:0 0 10px; }
	@media (max-width: 575px){
		.hl_3 { font-size:1.15em; }
	}
	@media (min-width: 576px){
		.hl_3 { font-size:1.25em; }
	}

.box { box-shadow:0 0 8px rgba(0,0,0,0.2); }


/*===================================================================
	common
===================================================================*/
.mb0 { margin-bottom:0 !important; }
.mb5 { margin-bottom:5px !important; }
.mb10 { margin-bottom:10px !important; }
.mb15 { margin-bottom:15px !important; }
.mb20 { margin-bottom:20px !important; }
.mb30 { margin-bottom:30px !important; }
.mb40 { margin-bottom:40px !important; }
.mb50 { margin-bottom:50px !important; }

.disp_b { display:block; }
.disp_ib { display:inline-block; }
.disp_tbl { display:table; width:100%; height:100%; }
.disp_td { display:table-cell; vertical-align:middle; }

.img_back { position:relative; background-position:center center; background-repeat:no-repeat; background-size:cover; overflow:hidden; }
.img_back > img { position:absolute; opacity:0; top:0; left:0; }
.img_rect { padding-top:65%; line-height:1px; }
.img_sq { padding-top:100%; line-height:1px; }

.plx { transition:opacity .7s, transform .7s; }
.plx:not(.plx_on) { opacity:0; }
.plx._vertical:not(.plx_on) { transform:translateY(25%); }
.plx._left:not(.plx_on) { transform:translateX(-50%); }
.plx._right:not(.plx_on) { transform:translateX(50%); }

.plx[data-plx-in="slide_right"],
.plx[data-plx-in="slide_left"] { display:inline-block; position:relative; }
.plx[data-plx-in="slide_right"] > *,
.plx[data-plx-in="slide_left"] > * { position:relative; display:block; transform:translateX(0vw); transition:all .5s; transition-delay:.4s; }
.plx[data-plx-in="slide_right"]:before,
.plx[data-plx-in="slide_left"]:before { content:""; position:absolute; top:0; width:100%; height:100%; background:#9CB5A7; transition:all .5s; }
.plx[data-plx-in="slide_right"]:before { right:0; }
.plx[data-plx-in="slide_left"]:before { left:0; }
.plx[data-plx-in="slide_right"]:not(.plx_on):before,
.plx[data-plx-in="slide_left"]:not(.plx_on):before { width:0%; }
.plx[data-plx-in="slide_right"]:not(.plx_on)  > * { transform:translateX(100vw); }
.plx[data-plx-in="slide_left"]:not(.plx_on)  > * { transform:translateX(-100vw); }

@media (max-width: 767px){
	.sp_table_wrap { overflow-x:auto; width:100%; white-space:nowrap; }
	.sp_table_wrap::-webkit-scrollbar { height:10px; }
	.sp_table_wrap::-webkit-scrollbar-track { background:#F1F1F1; }
	.sp_table_wrap::-webkit-scrollbar-thumb { background:#BCBCBC; }
	.sp_table_wrap table { width:100%; }
	.sp_table_wrap table { font-size:13px !important; -webkit-text-size-adjust:100%; -moz-text-size-adjust:none; -ms-text-size-adjust:100%; text-size-adjust:100%; }
}