@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Oswald:wght@700&display=swap');

/*------------------------------------------------------

	リセット

------------------------------------------------------*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: 500;
	vertical-align: baseline;
	background: transparent;
}
body { line-height: 1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
ul { list-style: none;}
blockquote, q { quotes: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none;}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
table { border-collapse: collapse; border-spacing: 0;}
hr {
	display: block;
	height: 0px;
	border: 0;
	border-bottom: 1px solid #CCCCCC;
	margin: 0;
	padding: 0;
}
input, select { vertical-align: middle;}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
	image-rendering: auto;
  transform-origin: center center;
  will-change: transform;
}
*, *:before, *:after { box-sizing: border-box;}


/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #1a1a1a;
	font-size: clamp(0.9em,4vw,1.4em);
	line-height: 1.6;
	position: relative;
	max-width: 750px;
	margin: auto;
}

.fo_noto { font-family: 'Noto Sans JP', sans-serif; font-weight: 700;}
.fo_oswald { font-family: "Oswald", sans-serif;}

p { margin-bottom: 2em;}
p:last-child { margin-bottom: 0px;}

a { color: #0071b6;}
a:hover, a:active { color: #62add3; text-decoration: none;}

.break_keep { word-break: keep-all; overflow-wrap: break-word;}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo105 { font-size: 1.05em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo19 { font-size: 1.9em !important;}
.fo20 { font-size: 2em !important;}
.fo24 { font-size: 2.4em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}

.fo_white { color: #FFFFFF;}
.fo_red { color: #e70012;}
.fo_orange { color: #ee851e;}
.fo_yellow { color: #fff100;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}
.black { font-weight: 900;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}

.back_white { background-color: #fff;}
.back_gray { background-color: #ededed;}
.back_orange { background-color: #ee851e;}

.container { padding: 0px 1.5em;}
.fp15 { padding: 1.4em 1.1em;}

/* リスト */
ol { padding-left: 1.5em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

/* margin */
.mb00 { margin-bottom: 0 !important;}
.mb05 { margin-bottom: 0.5em !important;}
.mb10 { margin-bottom: 1em !important;}
.mb15 { margin-bottom: 1.5em !important;}
.mb20 { margin-bottom: 2em !important;}
.mb25 { margin-bottom: 2.5em !important;}
.mb30 { margin-bottom: 3em !important;}
.mb60 { margin-bottom: 6em !important;}

/* clearFix */
.clearFix { zoom: 100%;}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}


/* ------------------------
	グローバルナビ
------------------------ */
.header h1 { line-height: 50px; padding: 0px 70px 0px 10px;}
.header h1 img { width: auto; max-height: 38px; vertical-align: middle;}

.humberger {
	background: #323232;
	cursor: pointer;
	position: fixed;
	top: 0px;
	right: 0px;
	width: 50px;
	height: 50px;
	z-index: 10000;
}
.humberger span {
	background: #fff;
	border-radius: 15px;
	position: absolute;
	left: 10px;
	width: 30px;
	height: 3px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 9px;}
.humberger span:nth-of-type(2) { top: 17px;}
.humberger span:nth-of-type(3) { top: 25px;}
.humberger:after {
	color: #fff;
	content: 'MENU';
	display: block;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	transition: 0.4s;
	position: absolute;
	left: 0;
	bottom: 1px;
	width: 100%;
}
.is-open .humberger:after { content: 'CLOSE';}
.is-open .humberger span:nth-of-type(1) {transform: translateY(6px) rotate(-45deg);}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {transform: translateY(-10px) rotate(45deg);}

/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 9999;
}
.sp-navi .sp-navi-inner {
	background-color: rgba(237,237,237,0.90);
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0px;
	width: 100%;
	transition: .5s;
	padding-top: 60px;
}

.sp-navi li a {
	display: block;
	text-decoration: none;
	color: #1a1a1a;
	font-weight: bold;
	border-bottom: solid 1px #eb6a7a;
	padding: 10px;
}
.sp-navi li a:before { content: "● "; color: #ee851e;}
.sp-navi li:last-child a { border-bottom: none;}

/* ------------------------
	フッター
------------------------ */

.footer .fp15 { padding-top: 2em;}
.footer .btn_list01 { flex-flow: column; gap: 2em;}
.footer .btn_list01 li { width: 100%;}
.footer .btn_list01 a { font-size: min(6.7vw,2em);}

.footer .copy { background: #323232; padding: 0.2em;}

.pagetop {
	display: none;
	position: fixed;
  width: 15%;
	right: 1em;
	padding-bottom: 18%;
	bottom: 0px;
	z-index: 9999;
}

.fixed_btn { position: fixed; left: 50%; bottom: 0px; z-index: 99999; width: 100%; max-width: 750px; transform: translateX(-50%);}
.fixed_btn ul { display: flex; background-color: #fff; justify-content: space-between;}
.fixed_btn li:not(:last-child) { margin-right: 1px;}

body { padding-bottom: 16%;}

/* ------------------------
	コンテンツ
------------------------ */

.main_text .text01 { font-size: min(5vw,1.8em)}
.main_text .img01 { top: 35%; transform: translateY(-100%); right: 4%; width: 20%;}

.btn_list01 { display: flex; gap: 0.8em;}
.btn_list01 li { width: 50%;}
.btn_list01 a { display: block; color: #fff; font-weight: bold; border-radius: 2em; background: url("../images/ico_arrow.svg") no-repeat calc(100% - 1em) center #55c020; background-size: 0.6em auto; text-align: center; padding: 0.6em 1em 0.6em 0; box-shadow: 0 0.2em rgba(117,117,117,0.5); text-decoration: none; font-size: min(2.8vw,1em); position: relative; z-index: 100;}
.btn_list01 li:last-child a { background-color: #0087d6;}

.sec01 .btn_list01 { margin: auto -1em; gap: 0.5em;}
.sec01 .btn_list01 a { padding: 0.9em 1em 0.9em 0; font-size: min(3.1vw,1.1em);}

.sec01 h2, .sec04 h2 { font-size: min(8.5vw,2.5em); letter-spacing: 0.05em; padding: 0.3em;}
.sec02 h2 { font-size: min(8.5vw,2.5em); letter-spacing: 0.05em;}

.sec02 .aco_ttl { padding: 1em 1em 1.5em;}
.sec02 .aco_ttl .btn_area { display: table; margin: auto; background: url("../images/ico_plus.svg") no-repeat calc(100% - 0.7em) center #fff100; background-size: 1.5em auto; font-size: 1.4em; color: #ee851e; width: 15em; border-radius: 2em; padding: 0.5em; box-shadow: 0 0.2em rgba(117,117,117,0.5); cursor: pointer;}
.sec02 .aco_ttl .btn_area.open, .sec02_01 .btn_area.open { background-image: url("../images/ico_minus.svg");}

.sec02 .aco_wrap { display: none;}
.sec02 .aco_wrap header { display: flex; justify-content: space-between; align-items: center;}
.sec02 .aco_wrap header .ttl_box { margin-right: -1em;}
.sec02 .aco_wrap header figure { width: 33%;}
.sec02 .aco_wrap section:not(:last-child) { padding-bottom: 2em; margin-bottom: 2em; border-bottom: dotted 1px #323232;}
.sec02 .aco_wrap table { width: 100%;}
.sec02 .aco_wrap th, .sec02 .aco_wrap td { border: solid 1px #c3c3c3; padding: 0.4em 0.8em; vertical-align: middle;}
.sec02 .aco_wrap td { background: #fef5ed;}
.sec02 .aco_wrap tr:last-child td { background: #ffffae;}

.sec02_01 .back_white { border: solid 1px #c3c3c3; padding: 2em 1em;}
.sec02_01 .btn_area { display: table; margin: auto; border: solid 2px #ee851e; border-radius: 2em; background: url("../images/ico_plus.svg") no-repeat calc(100% - 0.8em) center; background-size: 1.3em auto; font-size: 1.2em; padding: 0.4em 3em; cursor: pointer;}
.sec02_01 .box_wrap { padding-top: 1.5em; display: none;}
.sec02_01 h4 { display: table; font-size: 1.3em; padding: 0px 0.3em; line-height: 1.4;}
.sec02_01 .box01 { display: flex; justify-content: space-between; align-items: center; font-size: min(3.5vw,1em)}
.sec02_01 .price { background: linear-gradient(transparent 70%, #ffff00 0%); font-size: 1.5em; line-height: 1.2;}
.sec02_01 .num { transform: translateY(0.1em); display: inline-block;}
.sec02_01 hr { margin-left: -0.2em; margin-right: -0.2em; border: none; border-bottom: dashed 1px #323232;}

.sec03 .box01 { display: flex;}
.sec03 .box01 figure { width: 28%; padding-right: 12px;}
.sec03 .box01 .box_inner { width: 72%;}

.sec03 .box02 { display: flex; justify-content: space-between;}
.sec03 .box02 > * { width: 47%;}
.sec03 .text01 { font-size: min(4vw,1.2em); margin: auto -1em;}

.sec04 dl { display: flex; justify-content: space-between; align-items: center;}
.sec04 dt { width: 16%;}
.sec04 dd { width: 84%; padding-left: 10px; font-size: 4vw;}
.sec04 .text01 { font-size: 4vw;}
.sec04 .box01 { display: flex; justify-content: space-between;}
.sec04 .box01 > * { width: 48%;}

.sec04 .map iframe { width: 100%; height: 200px; vertical-align: bottom;}
.calendar iframe { width: 100%; height: 20em; vertical-align: top; margin-bottom: 1px; border: none !important;}

body.form { padding-bottom: 0px;}

.contact_box h1 { font-size: min(8.5vw,2.5em); letter-spacing: 0.05em; padding: 0.8em;}
.contact_box .hissu { display: inline-block; background-color: #e50012; font-size: 0.75em; color: #fff; padding: 0px 0.3em; margin-right: 0.6em;}
.res.contact_box .hissu { background-color: #ff7ba3;}
.contact_box input[type="text"], .contact_box input[type="email"], .contact_box input[type="tel"], .contact_box textarea, .contact_box select { width: 100%; background: #fff; border: solid 1px #909090; padding: 0.5em; font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;}
.contact_box .width_auto input[type="text"], .contact_box .width_auto select { width: auto;}
.contact_box textarea { width: 100% !important;}
.contact_box label { display: block; padding: 0px 0px 3px;}
.contact_box input[type="submit"] {
	display: inline-block;
	width: 100%;
	max-width: 600px;
	font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
	letter-spacing: 0.1em;
	font-size: 1.6em;
	color: #fff;
	text-decoration: none;
	background: #00a73c;
	padding: 0.5em;
	border-radius: 0.5em;
	border: none;
	outline: none;
	box-shadow: 0px 0.4em 0px #095b26;
	cursor: pointer;
	transition: 0.3s;
	-webkit-appearance: none;
}
.contact_box input[type="submit"]:hover, .contact_box input[type="submit"]:focus { transform: translateY(0.4em); box-shadow: none;}
.contact_box .back_white { border: solid 1px #909090; padding: 1em; height: 10em; overflow-y: scroll;}

html, body { min-height: 100%;}
.page_wrap { height: 100%;}

@media only screen and (max-width: 480px) {
	.sec02_01 .back_white { font-size: 3.3vw;}
}

