@charset "utf-8";
/*
	Last Update:2021/05/10
	Auther: iw
*/
/*===================================================================
	page
===================================================================*/
/* title */
#page_title { position:relative; padding-bottom:40px; }
#page_title .img_back { height:10vw; max-height:200px; min-height:120px; background-position:bottom; }
#page_title .title_wrap { position:absolute; top:0; left:0; width:100%; height:100%; }
#page_title .center { display:table; width:100%; height:100%; }
#page_title h2 { display:table-cell; text-align:center; vertical-align:middle; }
#page_title h2 > * { display:block; color:#005E1E; }
#page_title h2 > .main { position:relative; display:inline-block; z-index:100; line-height:1.4; font-weight:bold; font-family: 'Noto Sans JP'; }
	@media (max-width: 575px){
		#page_title { padding-bottom:40px; margin-bottom:0; }
		#page_title .img_back { background-position:center left 25%; }
		#page_title h2 .main { font-size:1.5em; }
	}
	@media (min-width: 576px) and (max-width: 991px){
		#page_title h2 .main { font-size:1.75em; }
	}
	@media (min-width: 992px){
		#page_title h2 .main { font-size:2.1em; letter-spacing:3px; }
	}

/* pankuzu */
#pankuzu { font-size:13px; padding:15px 0; color:#333; }
#pankuzu a { text-decoration:none; color:#333; }
#pankuzu a:hover { text-decoration:underline; }
#pankuzu li { display:inline-block; line-height:100%; }
#pankuzu li:not(:first-child):before { content:"\f105"; font-family:"Font Awesome 5 Free"; -webkit-font-smoothing:antialiased; text-rendering:auto; font-variant:normal; font-weight:900; padding:0 5px; color:#333; }
	@media (max-width: 575px){
		#pankuzu { display:none; }
		#body { padding-bottom:20px; }
	}
	@media(min-width: 576px){
		#body { padding-bottom:50px; }
	}

/*===================================================================
	#contact
===================================================================*/
#contact .contact_bg { background:url(../image/contents/contact/contact_bg.jpg) no-repeat center top / 100% 220px; background-color:#fff; }
#contact .contact_tel { text-align:center; font-weight:bold; color:#707070; font-size:1.1em; margin-bottom:30px; }
#contact .contact_tel img { padding-right:10px; max-width:calc(100% - 50px); }
#contact .box_contents h4 { font-size:1.2em; }
	@media (max-width:575px) {
		#contact .contact_tel { font-size:1em; }
		#contact .contact_tel .x-large { font-size:1.1em; }
		#contact .contact_tel img { padding-right:5px; }
		#contact .box_contents h4 { font-size:1.05em; }
	}

#contact .inquirySection > h1 { display:none; }
#contact .inquirySection > p { font-size:1.2em; color:#005E1E; font-weight:bold; }
#contact .inquirySection form dl { width:100%; letter-spacing:-1em; }
#contact .inquirySection form dl dt,
#contact .inquirySection form dl dd:not(.error) { display:inline-block; padding:5px 0 5px; vertical-align:middle; letter-spacing:normal; }
#contact .inquirySection form dl dt { width:260px; position:relative; width:260px; font-size:1.1em; color:#707070; }
#contact .inquirySection form dl dd:not(.error) { width:calc(100% - 260px); }
#contact .inquirySection form dl dd.error { padding:0; }
#contact .inquirySection form dl dd.error .error-message { padding:5px; letter-spacing:normal; }
#contact .inquirySection form dl dt > span { font-size:0; position:absolute; top:50%; right:30px; transform:translateY(-50%); display:block; color:#C71B00; border:1px solid #C71B00; padding:5px 10px; }
#contact .inquirySection form dl dt > span::before { font-size:16px; content:"必須"; }
#contact .inquirySection form dl input,
#contact .inquirySection form dl textarea,
#contact .inquirySection form dl select { background:#fff; border:1px solid #DFDFDF; border-radius:0; }
#contact .inquirySection form dl #ShopInquiryTel { max-width:240px; }

#contact .inquirySection .control-panel { margin-top:40px; text-align:center; }
#contact .inquirySection .control-panel #buttonLeave { display:inline-block; text-decoration:none; position:relative; width:100%; max-width:420px; background:#C71B00; color:#fff; font-weight:bold; text-align:center; padding:15px 0; border:0; transition:.2s; cursor:pointer; }
#contact .inquirySection .control-panel #buttonLeave:hover { opacity:.8; }

@media (max-width: 991px) {
	#contact .inquirySection form dl dt { width:230px; font-size:1.1em; }
	#contact .inquirySection form dl dd:not(.error) { width:calc(100% - 230px); }
	#contact .inquirySection form dl dt > span { right:15px; }
}
@media (max-width: 767px) {
	#contact .inquirySection form dl dt,
	#contact .inquirySection form dl dd { width:100%!important; }
	#contact .inquirySection form dl dt:not(:first-child) { margin-top:10px; }
	#contact .inquirySection form dl dt > span { right:0; }
	#contact .inquirySection form dl #ShopInquiryTel { max-width:100%; }
}


/*===================================================================
	#law
===================================================================*/
#law #body .disp_tbl { width:auto; }
#law #body .disp_tbl > dl { display:table-row; }
#law #body .disp_tbl > dl > dd { padding-left:20px; }
@media (max-width:575px) {
	#law #body .disp_tbl > dl,
	#law #body .disp_tbl > dl > dd { display:block; }
	#law #body .disp_tbl > dl > dd { padding-left:0; margin-bottom:10px; }
}

/*===================================================================
	#tbl
===================================================================*/
.tbl_1 { width:100%; }
.tbl_1 th,
.tbl_1 td { border-bottom:1px solid #ddd; vertical-align:middle; }
.tbl_1 th { background:rgba(223, 234, 245, 0.4); width:180px; font-weight:bold; }
	@media(max-width: 767px){
		.tbl_1 th,
		.tbl_1 td { display:block; width:100%; padding:15px; }
	}
	@media(min-width: 768px){
		.tbl_1 th,
		.tbl_1 td { padding:25px; }
	}

/*===================================================================
	#privacy_policy
===================================================================*/
#privacy {}
#privacy dt { color:#005E1E; border-left:10px solid #005E1E; padding:5px 0 5px 15px; margin-bottom:10px; letter-spacing:2px; font-weight:bold; }
#privacy dd { padding:10px 0 20px; }
#privacy > h2 { font-size:1.5em; font-weight:bold; color:#005E1E; margin-bottom:10px; }
#privacy p.privacy_intro { margin-bottom:20px; }
#privacy a { color:#005E1E; text-decoration:underline; }
#privacy a:hover { text-decoration:none; }
	@media(max-width: 575px){
		#privacy dt { font-size:1.15em; }
	}
	@media(min-width: 576px){
		#privacy dt { font-size:1.35em; }
	}

/*===================================================================
	#shop_law
===================================================================*/
#shop_law .law_contents {}
#shop_law .law_contents h3 { color:#005E1E; border-left:10px solid #005E1E; padding:5px 0 5px 15px; margin:15px 0; letter-spacing:2px; font-weight:bold; }
#shop_law .law_contents p { padding-bottom:15px; }
#shop_law .law_contents h2 { font-size:1.5em; font-weight:bold; color:#005E1E; margin-bottom:20px; }
	@media(max-width: 575px){
		#shop_law .law_contents h3 { font-size:1.15em; }
	}
	@media(min-width: 576px){
		#shop_law .law_contents h3{ font-size:1.35em; }
	}

/*===================================================================
	entry
===================================================================*/
.entry { text-align:left; }
.entry img { height:auto !important; }
.entry p { margin-bottom:15px; }
.entry ul,
.entry ol { list-style:none; list-style-type:none; margin-bottom:20px; }
.entry ul > li,
.entry ol > li { position:relative; margin:0 0 5px 20px; }
.entry ul > li:before { color:#d77d45 content:"■"; font-size:10px; position:absolute; top:6px; left:-18px; }
.entry ul > li > ul > li:before { color:#b5bedc; content:"\f105"; }
.entry ol { counter-reset:ol_li; }
.entry ol > li:before { color:#28419A; counter-increment:ol_li; content:counter(ol_li)"."; position:absolute; top:1px; left:-20px; font-weight:bold; }
.entry ol > li > ol > li:before { color:#5f72b4; }

.entry dl {}
.entry dt { color:#000;}
.entry dd { margin-bottom:20px; }

.entry table { margin-bottom:50px; width:100%; box-shadow: 0 0 3px #999;}
.entry th,
.entry td { padding:30px; border-bottom: 1px solid #ccc; vertical-align: middle; }
.entry thead th { background:#006b4d; color:#fff; font-weight:bold; }
.entry thead td { background:#4b9681; color:#fff; font-weight:bold; }
.entry tbody th {font-weight:bold; border-left: 50px solid #fff; position: relative;}
.entry tbody td {border-right: 50px solid #fff; }
.entry tbody tr > th:nth-child(1) { width:25%; max-width:280px; }

@media (min-width: 768px){
	.entry tbody th span{position: absolute; right:10px;}
	.entry tbody .first th, .entry tbody .first td {border-top: 25px solid #fff;}
	.entry tbody .last th, .entry tbody .last td {border-bottom: 25px solid #fff;}

}
@media (max-width: 767px){
	.tbl_form, .tbl_form tbody, .tbl_form tr, .tbl_form th, .tbl_form td {display: block;}
	.entry tbody tr > th:nth-child(1) {width: 100%; max-width: unset;     padding-bottom: unset;}
	.entry tbody td { border-left: 10px solid #FFF; border-right: 10px solid #fff;}
	.entry tbody th { border-bottom:unset;border-left: 0px solid #fff;}
	.entry tbody th span {margin-left: 10px;}
	.entry th, .entry td {padding: 25px 15px;}

}
