@charset "utf-8";


/*		font-style
-------------------------------------------------- */
body {
	font-family: "Noto Sans JP","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}
body.fixed { position: fixed;}

.min {font-family: "Noto Serif JP","游明朝", "Yu Mincho", "YuMincho", serif;}

::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color:#002159; text-decoration: underline;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}


#container {}

#ft { background: #fff;}
#ft .inner-ft { padding: 50px 0 30px;}
#ft h3 { margin-bottom: 30px; text-align: center;}
#ft h3 img { width: 40%; max-width: 160px;}
#ft ul { font-size: 0; text-align: center;}
#ft ul li { display: inline-block; margin: 0 30px; font-size: 14px;}
#ft ul li a { color: #000; text-decoration: none;}
#ft .copyright { padding: 10px 0; background: #000;}
#ft .copyright p { color: #fff; font-size: 12px; text-align: center;}
@media (max-width: 801px) {
	#ft ul li { margin: 0 20px;}
}
@media (max-width: 641px) {
	#ft .inner-ft { padding: 50px 0;}
	#ft h3 { margin-bottom: 20px;}
	#ft ul { width: 92%; margin: 0 auto;}
	#ft ul li { display: block; width: 100%; margin: 0; padding: 8px 0;}
	#ft ul li a { display: block; width: 94%; margin: 0 auto; padding: 5px 0;}
}
@media (max-width: 481px) {
	#ft .inner-ft { padding: 40px 0 20px;}
	#ft h3 { margin-bottom: 10px;}
	#ft ul li { padding: 5px; font-size: 12px;}
	#ft .copyright p { font-size: 10px; letter-spacing: 0.05rem;}
}


.wrap { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; background: #f0f0f0;}
@media (max-width: 481px) {}

#loading { position: fixed; left: 0; top: 0; width: 100%; height: 100vh; background: #006346; z-index: 100; transition: 0.4s linear;}
#loading .inner { position: relative; width: 100%; height: 94%; background: #f0f0f0;}
#loading .char { padding: 15px 0 10px; background: #006346; text-align: center;}
#loading .char img { width: 40%; max-width: 150px;}
#loading .logo { width: 42%; max-width: 280px; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-55%); transition: 0.4s linear; opacity: 0;}
#loading .logo svg { position: relative; width: 100%;}
#loading .logo path.path-1 { fill: #4e3824;}
#loading .logo path.path-2 { fill: #464646; animation: rotation 2.4s ease infinite; position: relative; transform-origin: 49.8% 54.6%;}
#loading .logo path.path-3 { fill: #231815;}

@keyframes rotation{
 0%{ transform: rotate(0deg);}
 80%{ transform: rotate(360deg);}
 100%{ transform: rotate(360deg);}
}

#loading.show .logo{ opacity: 1;}
#loading.fadeOut { opacity: 0;}
@media (max-width: 481px) {
	#loading .inner { height: 86%;}
}


.ttl { text-align: center;}


.hd-logo { background: #006346; text-align: center;}
.hd-logo img { width: 90%; max-width: 740px;}
.hd-logo img.sp { display: none;}
@media (max-width: 801px) {
}
@media (max-width: 481px) {
	.hd-logo img.pc { display: none;}
	.hd-logo img.sp { display: block; width: 100%;}
}




#kv { position: relative; z-index: 3;}
#kv figure { position: relative; text-align: center;}
#kv figure img { width: 100%;}
#kv figure.mv { margin-bottom: -60px;}
#kv figure.mv img.sp { display: none;}
#kv .ctn { position: relative; width: 88%; margin: 0 auto;}
#kv .ctn h1 { margin-bottom: 30px; text-align: center;}
#kv .ctn h1 img { width: 100%; max-width: 720px;}
#kv .ctn h1 img.sp { display: none;}
#kv .ctn .topic { width: 100%; max-width: 720px; margin: 0 auto 20px;}
#kv .ctn .topic h2 { display: block; width: 100%; padding: 12px 0; background: #006346; box-shadow: 5px 5px 0 #bfd8d1;
 color: #fff; font-size: 22px; font-weight: 700; letter-spacing: 0.1rem; text-align: center;
}
#kv .ctn p { text-align: center;}
#kv .ctn p.mb { margin-bottom: 30px;}
#kv .ctn p.date { font-size: 28px; font-weight: 700; letter-spacing: 0.1rem;}
#kv .ctn p.date span { font-size: 18px;}
#kv .ctn p.note { color: #8c8c8c; font-size: 10px;}
#kv .ctn figure { margin-bottom: 50px;}
#kv .ctn figure img { max-width: 600px;}
#kv .ctn ul { display: flex; justify-content: space-between; width: 100%; max-width: 600px; margin: 0 auto; font-size: 0; }
#kv .ctn ul li:nth-child(1) { width: 50%;}
#kv .ctn ul li:nth-child(2) { width: 48%;}
#kv .ctn ul li dl dt { margin-bottom: 18px;}
#kv .ctn ul li dl dt img { width: 100%; max-width: 285px;}
#kv .ctn ul li dl dd { padding-left: 8px;}
#kv .ctn ul li dl dd.min { margin-bottom: 15px; font-size: 15px; font-weight: 700; font-feature-settings: "palt"; -webkit-font-feature-settings: "palt";}
#kv .ctn ul li dl dd.min sub { font-size: 10px; vertical-align: baseline;}
#kv .ctn ul li dl dd.min span{ margin: 0 -0.4em;}
#kv .ctn ul li dl dd.btn a { position: relative; display: block; width: 92%; padding: 10px; background: #006346; border-radius: 50px;
 color: #fff; font-size: 13px; font-weight: 700; text-decoration: none;
}
#kv .ctn ul li dl dd.btn a:after { content: ''; display: block; width: 10px; height: 10px; border-top: solid 2px #fff; border-right: solid 2px #fff;
 position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg);
}
#kv .ctn ul li dl dd.btn a:hover { opacity: 0.8;}
#kv .ctn ul li dl dd.img img { width: 100%;}
#kv .ctn ul li dl dd.note { padding-top: 18px; color: #8c8c8c; font-size: 10px;}
@media (max-width: 1001px) {
	#kv figure.mv { margin-bottom: -4vw;}
}
@media (max-width: 641px) {
	#kv figure.mv img.pc { display: none;}
	#kv figure.mv img.sp { display: block;}
	#kv .ctn { padding-bottom: 40px;}
	#kv .ctn .topic { margin: 0 auto 12px;}
	#kv .ctn .topic h2 { padding: 8px 0; font-size: 18px;}

	#kv .ctn p.mb { margin-bottom: 20px;}
	#kv .ctn ul { display: block;}
	#kv .ctn ul li:nth-child(1) { width: 100%; margin-bottom: 30px;}
	#kv .ctn ul li:nth-child(2) { width: 100%;}
	#kv .ctn ul li:nth-child(2) dl { padding-left: 24%; padding-bottom: 40vw; background: url('./img/img-2-sp.png') no-repeat 50% 100% / 100% auto;}
	#kv .ctn ul li dl dt img { width: 100%; max-width: 340px;}
	#kv .ctn ul li dl dd.min { margin-bottom: 0px;}
	#kv .ctn ul li dl dd.mb { margin-bottom: 15px;}
	#kv .ctn ul li dl dd.img { display: none;}
	#kv .ctn ul li dl dd.img img { opacity: 0;}
	#kv .ctn ul li dl dd.note { padding-top: 12px;}
	#kv .ctn ul li dl dd.btn a { max-width: 260px;}

}
@media (max-width: 481px) {
	#kv figure.mv { margin-bottom: -12vw;}
	#kv .ctn h1 img.pc { display: none;}
	#kv .ctn h1 img.sp { display: block;}
	#kv .ctn .topic h2 { padding: 5px 0;}
	#kv .ctn p.date { font-size: 21px;}
	#kv .ctn p.date span { font-size: 14px;}
	#kv .ctn ul li dl dt { margin-bottom: 8px;}
	#kv .ctn ul li dl dt img { max-width: 280px;}
}


#point { position: relative;}
#point:before { content: ''; display: block; width: 100%; height: 5px; background: #fff;
 position: absolute; left: 50%; top: 60px; transform: translateX(-50%) skewY(10deg);
}
#point .inner-sct { position: relative; padding: 200px 0 60px;}
#point figure { margin: 0 auto; text-align: center;}
#point figure img { width: 100%;}
#point figure.mv { width: 100%; max-width: 520px; margin-bottom: 50px;}
#point figure.mv img { margin-bottom: 30px;}
#point figure.mv figcaption { display: inline-block; padding: 15px 0; border-bottom: solid 2px #000; font-size: 28px; font-weight: 700;}
#point figure.mv figcaption br { display: none;}
#point .ctn { position: relative; width: 96%; max-width: 720px; margin: 0 auto;}
#point .ctn figure img.sp { display: none;}
#point .ctn .note { position: absolute; left: 0; bottom: 0;}
#point .ctn .note ul { width: 100%; max-width: 130px; margin: 0 0 0 auto;}
#point .ctn .note ul li { color: #8c8c8c; font-size: 10px;}
@media (max-width: 641px) {
	#point .inner-sct { padding: 160px 0 40px;}
	#point figure.mv figcaption { font-size: 3.6vw;}
}
@media (max-width: 481px) {
	#point:before { height: 4px; top: 40px;}
	#point .inner-sct { padding: 100px 0 40px;}
	#point figure.mv { margin-bottom: 30px;}
	#point figure.mv figcaption { padding: 10px 0; font-size: 24px;}
	#point figure.mv figcaption br { display: block;}
	#point figure.mv img { margin-bottom: 12px; width: 80%;}
	#point .ctn figure { margin-bottom: 10px;}
	#point .ctn figure img.pc { display: none;}
	#point .ctn figure img.sp { display: block;}
	#point .ctn .note { position: relative; left: auto; bottom: auto;}
}


#lineup { position: relative; z-index: 2;}
#lineup .inner-sct { position: relative; padding: 40px 0;}
#lineup h2 { text-align: center;}
#lineup h2 img { width: 88%; max-width: 720px;}
#lineup h2 img.sp { display: none;}
#lineup ul { width: 100%; max-width: 720px; margin: 0 auto; font-size: 0px; text-align: center;}
#lineup ul li { display: inline-block; width: 50%;}
#lineup ul li dl dt { margin-bottom: 10px;}
#lineup ul li dl dt.w90 img { width: 90%;}
#lineup ul li dl dt.w80 { padding-top: 20px;}
#lineup ul li dl dt.w80 img { width: 75%;}
#lineup ul li dl dd { font-weight: 700;}
#lineup ul li dl dd.name { font-size: 13px;}
#lineup ul li dl dd.name span { display: block; font-size: 20px;}
#lineup ul li dl dd.price { font-size: 12px;}
#lineup ul li dl dd.price span { font-size: 18px;}
@media (max-width: 1001px) {
}
@media (max-width: 641px) {
	#lineup ul { width: 88%;}
	#lineup ul li { display: block; width: 100%;}
	#lineup ul li dl dt { margin-bottom: 0px;}
}
@media (max-width: 481px) {
	#lineup .inner-sct { padding: 30px 0;}
	#lineup h2 { margin-bottom: 20px;}
	#lineup h2 img.pc { display: none;}
	#lineup h2 img.sp { display: block; margin: 0 auto;}
	#lineup ul li dl dd.name span { font-size: 20px;}
}


#campaign { position: relative; z-index: 2;}
#campaign .inner-sct { padding: 40px 0;}
#campaign h2 { margin-bottom: 30px; text-align: center;}
#campaign h2 img { width: 88%; max-width: 720px;}
#campaign h2 img.sp { display: none;}
#campaign figure { margin-bottom: 20px; text-align: center;}
#campaign figure figcaption { margin-bottom: 20px; font-size: 27px; font-weight: 700;}
#campaign figure figcaption:before,
#campaign figure figcaption:after { position: relative; content: ''; display: inline-block; width: 2px; height: 40px; background: #000; vertical-align: text-top;}
#campaign figure figcaption:before{ transform: rotate(-20deg);}
#campaign figure figcaption:after { transform: rotate(20deg);}
#campaign figure figcaption span { display: inline-block; margin: 0 20px; vertical-align: super;}
#campaign figure img { width: 85%; max-width: 580px;}
#campaign p { margin-bottom: 20px; font-size: 18px; font-weight: 700; line-height: 1.8; text-align: center;}
#campaign p span.marker { display: inline-block; margin: 4px 0; padding: 0 6px 2px; background: #67bd6f; color: #fff; line-height: 1.4;}
#campaign .note ul { color: #8c8c8c; text-align: center;}
#campaign .note ul li { font-size: 10px;}
@media (max-width: 481px) {
	#campaign .inner-sct { padding: 30px 0;}
	#campaign h2 img.pc { display: none;}
	#campaign h2 img.sp { display: block; margin: 0 auto;}
	#campaign figure figcaption { font-size: 24px;}
	#campaign figure figcaption:before,
	#campaign figure figcaption:after { width: 1px;}
	#campaign p { font-size: 15px;}
	#campaign p span.marker { margin: 2px 0;}
}



#shop { position: relative; z-index: 2;}
#shop .inner-sct { padding: 40px 0;}
#shop h2 { margin-bottom: 30px; text-align: center;}
#shop h2 img { width: 88%; max-width: 720px;}
#shop h2 img.sp { display: none;}

#shop h3 { margin-bottom: 12px; font-size: 20px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.4; text-align: center;}
#shop h3 br { display: none;}
#shop p.txt { font-size: 12px; font-weight: 600; text-align: center;}

#shop .ctn { width: 94%; max-width: 900px; margin: 0 auto; padding-top: 40px;}
#shop .ctn p.date { color: #006346; font-size: 28px; font-weight: 700; text-align: center;}
#shop .ctn p.date span { font-size: 18px;}

#shop .ctn ul { font-size: 0;}
#shop .ctn ul.center { margin-bottom: 30px; text-align: center;}
#shop .ctn ul li { display: inline-block; width: 33.33335%; padding: 15px; font-size: 16px;}
#shop .ctn ul li a { position: relative; display: block; padding: 3px; background: #fff; border-radius: 8px;
 color: #006346; font-weight: 700; text-decoration: none;
}
#shop .ctn ul li a:before,
#shop .ctn ul li a:after { content: ''; display: block; position: absolute;
}
#shop .ctn ul li a:before{ width: 18px; height: 100%; background: url('./img/icn.svg') no-repeat 50% 50% / 100% auto; left: 12px; top: 0;}
#shop .ctn ul li a:after { width: 8px; height: 8px; border-top: solid 1px #006346; border-right: solid 1px #006346; right: 18px; top: 50%;
 transform: translateY(-50%) rotate(45deg);
}
#shop .ctn ul li a span { position: relative; display: block; padding: 10px; padding-left: 32px; border: solid 1px #006346; border-radius: 5px; text-align: left;}
#shop .ctn ul li a:hover { opacity: 0.8;}
@media (max-width: 1001px) {
}
@media (max-width: 801px) {
	#shop .ctn ul li { padding: 10px; font-size: 1.8vw;}
}
@media (max-width: 641px) {
	#shop .ctn ul li { width: 50%; padding: 8px; font-size: 14px;}
}
@media (max-width: 481px) {
	#shop .inner-sct { padding: 30px 0;}
	#shop h2 img.pc { display: none;}
	#shop h2 img.sp { display: block; margin: 0 auto;}
	#shop h3 br { display: block;}
	#shop p.txt { font-size: 10px;}
	#shop .ctn { padding-top: 20px;}
	#shop .ctn p.date { font-size: 21px;}
	#shop .ctn p.date span { font-size: 14px;}
	#shop .ctn ul li { padding: 6px; font-size: 13px;}
	#shop .ctn ul li a { padding: 2px; border-radius: 5px;}
	#shop .ctn ul li a:before { width: 15px;}
	#shop .ctn ul li a:after { right: 12px;}
	#shop .ctn ul li a span { padding: 9px 0; padding-left: 30px; border-radius: 3px;}
}


