@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
* { margin: 0; padding: 0; box-sizing: border-box;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
form, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

img{ vertical-align: bottom;}
ul{ list-style: none;}
ul li{ list-style-type: none;}
figure { margin: 0;}


/* =============================================================================
   Forms
   ========================================================================== */
form { margin: 0;}
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}
legend { border: 0;}
button,
input,
select,
textarea { font-size: 100%; margin: 0; vertical-align: baseline;}
button,
input { line-height: normal;}
button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0;}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top;}
input[type="search"]:focus { outline: none;}

table {
    border-collapse: collapse;
    border-spacing: 0;
}


/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide { float: right;}
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block; outline: none;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto;}
.slick-arrow.slick-hidden { display: none;}

.slick-arrow{ width: 50px; height: 50px; position: absolute; background: transparent; border: none; z-index: 100; text-indent: -9999em; outline: none;}
.slick-arrow:before{ position: absolute; content: ''; display: block; width: 30px; height: 30px; top: 50%; transform: translateY(-50%) rotate(45deg);}
.slick-prev:before { left: 30%; border-bottom: solid 2px #000; border-left: solid 2px #000;}
.slick-next:before { right: 30%; border-top: solid 2px #000; border-right: solid 2px #000;}


/** Dots */
.slick-dotted.slick-slider{ margin-bottom: 30px;}
.slick-dots { position: absolute; bottom: 0px; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: transparent; 
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: 1;}
.slick-dots li button:before { content: ''; position: absolute; text-align: center;}
.slick-dots li.slick-active button:before { opacity: .75; color: black;}


/** Dots */
.slick-dotted.slick-slider{ margin-bottom: 30px;}
.slick-dots { position: absolute; bottom: -25px; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: transparent; 
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: 1;}
.slick-dots li button:before { position: absolute; top: 0; left: 0; width: 20px; height: 20px; content: ''; text-align: center;}
.slick-dots li.slick-active button:before { opacity: .75; color: black;}
@media (max-width: 481px) {
	.slick-arrow{ width: 45px; height: 45px; bottom: 30px;}
	.slick-arrow:before{ width: 24px; height: 24px; border-width: 1px;}
}



/*		font-style
-------------------------------------------------- */
body { width: 100%;
	font-family: "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;
}
body.fixed { position: fixed;}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.min {font-family: "游明朝", "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;}



#loading { position: fixed; left: 0; top: 0; width: 100%; height: 100vh; background: #fff; z-index: 101;}
#loading div { width: 70%; max-width: 500px; position: absolute; left: 50%; top: 30%; transform: translate(-50%,0);}
#loading div svg { stroke-dasharray: 500; stroke-dashoffset: 500; stroke-width: 0.6px; fill: rgba(255,255,255,0);
 animation: strokeAnime 2.5s linear 0.5s forwards;
}
@keyframes strokeAnime {
  0% { stroke-dashoffset: 500; fill: rgba(255,255,255,0); stroke: #6f181d;}
	60% { fill: rgba(255,255,255,0);}
	80% { stroke-dashoffset: 0;}
  100%{ fill: rgba(111,24,29,1); stroke: #fff;}
}



.menu-btn { position: fixed; right: 0; top: 0; width: 100%; z-index: 102; transition: 0.4s linear; opacity: 0;}
.menu-btn.show { opacity: 1;}
.menu-btn .inner { position: relative; width: 100%; max-width: 1280px; height: 100%; margin: 0 auto;}

.menu-trig { position: absolute; top: 30px; right: 30px; width: 50px; height: 21px; cursor: pointer;}
.menu-trig div { position: relative; width: 100%; height: 100%;}
.menu-trig div span { position: absolute; left: 50%; display: block; width: 100%; height: 2px; background: #42220f; opacity: 1; transition: 0.4s linear;}
.menu-trig div span:nth-of-type(1) { top: 4px; transform: translate(-50%,0px);}
.menu-trig div span:nth-of-type(2) { top: 15px; transform: translate(-50%,0px);}
.menu-trig.active { top: 30px; right: 30px;}
.menu-trig.active div span:nth-of-type(1) { width: 72%; transform: translate(-50%,6px) rotate(45deg); background: #621a14;}
.menu-trig.active div span:nth-of-type(2) { width: 72%; transform: translate(-50%,-5px) rotate(-45deg); background: #621a14;}
.menu-cart { position: absolute; top: 80px; right: 32px; width: 50px; padding-left: 8px;}
.menu-cart.hide { display: none;}
.menu-cart a { display: block; width: 100%; max-width: 30px; margin: 0 auto;}
.menu-cart a svg { width: 100%; fill: #42220f; vertical-align: bottom;}
@media (max-width: 481px) {
	.menu-btn { width: 70px;}
	.menu-btn { height: 90px;}
	.menu-trig { top: 20px; right: 18px; width: 28px;}
	.menu-trig.active { top: 15px; right: 15px;}
	.menu-cart { top: 55px; right: 18px; width: 30px; padding-left: 3px;}
}



.wrap { width: 100%; max-width: 1280px; margin: 0 auto; overflow: hidden;
 background: linear-gradient(90deg,#fff1af 50%,#fff0ff 50%);
}


#hd { position: fixed; left: 0; top: 0; width: 100%; height: 100vh; height: 100svh; z-index: -1;}
#hd:after { content: ''; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; opacity: 0; z-index: 10; background: rgba(0,0,0,0.8);
 transition: 0.2s linear;
}
#hd .inner-hd { position: relative; width: 100%; max-width: 1280px; height: 100%; margin: 0 auto; overflow: hidden;}
#hd .menu { position: absolute; right: -500px; top: 0; width: 100%; z-index: 100; max-width: 350px; height: 100%; padding: 40px 0 20px; background: #fdf6d2; transition: 0.4s linear 0.2s;}
#hd .menu .scroll { width: 100%; height: 100%; padding: 20px 0; overflow-y: scroll; }
#hd .menu ul.nav { width: 90%; max-width: 300px; margin: 0 auto 20px;}
#hd .menu ul.nav li { padding: 10px 0; font-size: 16px;}
#hd .menu ul.nav li a { color: #621a14; font-weight: 700; letter-spacing: 0.3rem; text-decoration: none;}
#hd .menu ul.nav li ul.sns { width: 100%;}
#hd .menu ul.nav li ul.sns li { display: inline-block; width: 50px; padding: 0; vertical-align: middle;}
#hd .menu ul.nav li ul.sns li a { display: block; width: 21px;}
#hd .menu ul.nav li ul.sns li a img { width: 100%;}
#hd .menu ul.nav li ul.sns li a svg { width: 100%; vertical-align: bottom;}

#hd .menu ul.brand { width: 90%; max-width: 300px; margin: 0 auto 20px; font-size: 0;}
#hd .menu ul.brand li { position: relative; border-bottom: solid 1px #5c322f; font-size: 12px;}
#hd .menu ul.brand li.top { padding: 0; border-bottom: none; font-size: 12px;}
#hd .menu ul.brand li.top a { position: relative; display: block;}

#hd .menu ul.brand li span.topLv { position: relative; display: block; width: 100%; padding: 10px 5px;letter-spacing: 0.05rem; font-weight: 700; cursor: pointer;
}
#hd .menu ul.brand li span.topLv:before,
#hd .menu ul.brand li span.topLv:after { content: ''; display: block; width: 10px; height: 2px; background: #5c322f;
 position: absolute; right: 10px; top: 50%;
}
#hd .menu ul.brand li span.topLv:before{ transform: translateY(-50%)}
#hd .menu ul.brand li span.topLv:after { transform: translateY(-50%) rotate(90deg);}
#hd .menu ul.brand li span.topLv.open:after { transform: translateY(-50%) rotate(0deg);}
#hd .menu ul.brand li ul { font-size: 0;}
#hd .menu ul.brand li ul li { border-bottom: none; font-size: 12px;}
#hd .menu ul.brand li ul li a { position: relative; padding: 5px 0px; padding-left: 32px; background: #fff; border: solid 1px #5c322f; color: #5c322f; border-radius: 50px; text-decoration: none;}
#hd .menu ul.brand li ul li a:before,
#hd .menu ul.brand li ul li a:after { content: ''; display: block;}
#hd .menu ul.brand li ul li a:before{ width: 12px; height: 100%;
 position: absolute; left: 12px; top: 50%; transform: translate(0,-50%);
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 42"><path d="M587.92,8214.28a12,12,0,0,0-2.78-2c-.13-.08-.27-.12-.4-.19a26.2,26.2,0,0,0,1.92-2.48,18,18,0,0,0,1.56-3.14,2.37,2.37,0,0,0,.13-1.38c-.1-.47-.35-.83-.79-.88a1.11,1.11,0,0,0-1.1.63,2.65,2.65,0,0,0-.3,1.18,14.33,14.33,0,0,1-.55,3.15,6.38,6.38,0,0,1-1.69,2.54,8.46,8.46,0,0,0-4.21-.61,5.83,5.83,0,0,0-3.39,1.61,1.2,1.2,0,0,0-.35,1.36.48.48,0,0,0,.57.26,1.48,1.48,0,0,0,.8-.46,4.52,4.52,0,0,1,2.49-1.64,6.4,6.4,0,0,1,3,.44c-.12.1-.23.2-.36.29a34.24,34.24,0,0,1-5.89,3.14c-1.86.81-3.87,1.6-6,2.37-.89-.63-2.44-1.82-3.69-2.81a22,22,0,0,0-4.2-2.85,10.28,10.28,0,0,0-5.22-1.13,6.34,6.34,0,0,0-4.92,2.61,6.12,6.12,0,0,0-1,5.86,6.68,6.68,0,0,0,3.9,3.81,10.7,10.7,0,0,0,5.9.26c2.44-.47,9.4-3.66,9.81-3.85a29.26,29.26,0,0,0,7.38,3.48,10.89,10.89,0,0,0,7.16-.43c2.17-.87,4.06-2.86,4.09-5.16A5.58,5.58,0,0,0,587.92,8214.28ZM565,8220.34a27.5,27.5,0,0,1-4.21,1.14,15.74,15.74,0,0,1-4-.17,4.69,4.69,0,0,1-2.76-2.2,3.92,3.92,0,0,1,.23-3.58,4.36,4.36,0,0,1,3.34-2.15,8.24,8.24,0,0,1,4.42.71,20.22,20.22,0,0,1,4,2.56c1,.8,2,1.57,3,2.32Zm21.22,0a9.12,9.12,0,0,1-4.93,1.41,18.74,18.74,0,0,1-8.64-2.06c1.61-.76,3.14-1.52,4.56-2.3,2.21-1.21,6.31-4.07,6.55-4.28,1.15.48,4.13,2.68,4.07,4.94A3.07,3.07,0,0,1,586.19,8220.32Zm-16.38-5.47a27.18,27.18,0,0,1-3.94-4.65,9.27,9.27,0,0,1-1.62-5.15,5.8,5.8,0,0,1,1.91-3.95,6.62,6.62,0,0,1,8.79,0,5.89,5.89,0,0,1,1.91,3.95,9.27,9.27,0,0,1-1.62,5.15,28.15,28.15,0,0,1-3.94,4.65,1.44,1.44,0,0,1-.75.35A1.42,1.42,0,0,1,569.81,8214.85Zm.74-.64c.27,0,1.86-2.15,2.8-3.77a11.49,11.49,0,0,0,1.46-4,3.81,3.81,0,0,0-1.06-3.23,4.63,4.63,0,0,0-6.39,0,3.78,3.78,0,0,0-1.06,3.23,11.49,11.49,0,0,0,1.46,4C568.7,8212.06,570.28,8214.21,570.55,8214.21ZM565.71,8232c0-.13.06-.29.1-.45h9.49c0,.16.07.32.1.45a3.75,3.75,0,0,1,0,1.14h-9.61A3.21,3.21,0,0,1,565.71,8232Zm8.24-3.64c.32.57.58,1.11.79,1.59h-8.37a15.32,15.32,0,0,1,.78-1.59Zm-3.4-4.51a11.66,11.66,0,0,1,2.42,2.91h-4.84A12.13,12.13,0,0,1,570.55,8223.87Zm0,12.89a5.54,5.54,0,0,1-3.55-1.38,3.67,3.67,0,0,1-.56-.63h8.22a3.6,3.6,0,0,1-.55.63A5.54,5.54,0,0,1,570.55,8236.76Zm-1.59,1.15.84,1.27a.88.88,0,0,0,1.5,0c.26-.4.65-1,.84-1.27a6.68,6.68,0,0,0,2.9-1.32,5.08,5.08,0,0,0,1.84-4,11.67,11.67,0,0,0-1.87-4.92,31.6,31.6,0,0,0-3.72-4.69,1.45,1.45,0,0,0-.74-.36,1.43,1.43,0,0,0-.73.36,30.94,30.94,0,0,0-3.72,4.69,11.53,11.53,0,0,0-1.87,4.92,5.1,5.1,0,0,0,1.83,4A6.73,6.73,0,0,0,569,8237.91Z" transform="translate(-551.15 -8199.43)" fill="%235c322f" /></svg>');
 background-repeat: no-repeat; background-position: 50% 50%; background-size: 100% auto; 
}
#hd .menu ul.brand li ul li a:after { width: 5px; height: 5px;
 border-top: solid 2px #5c322f; border-right: solid 2px #5c322f;
 position: absolute; right: 10px; top: 50%; transform: translateY(-50%) rotate(45deg);
}
#hd .menu ul.brand li ul.col { display: none; padding-bottom: 10px;}
#hd .menu ul.brand li ul.col li a span em { font-size: 10px;}
#hd .menu ul.brand li ul.col li { display: inline-block; width: 50%; padding: 5px; border-bottom: none;}
#hd .menu ul.brand li ul.col li a { display: block; padding: 4px 0px; padding-left: 30px; }

#hd .menu ul.brand li ul.row { display: none; padding-bottom: 10px;}
#hd .menu ul.brand li ul.row li a span em { font-size: 10px;}
#hd .menu ul.brand li ul.row li { display: inline-block; padding: 5px; border-bottom: none;}
#hd .menu ul.brand li ul.row li a { display: block; padding: 4px 0px; padding-left: 30px; padding-right: 40px; }

#hd .menu ul.aside { width: 92%; margin: 0 auto; font-size: 0; text-align: center;}
#hd .menu ul.aside li { display: inline-block; width: 50%; padding: 6px; font-size: 10px;}
#hd .menu ul.aside li a { display: block; padding: 5px 0; border: solid 1px #53341c; border-radius: 50px; color: #53341c; text-decoration: none;}

#hd.open { z-index: 101;}
#hd.open:after { opacity: 1;}
#hd.open .menu { right: 0; z-index: 11;}

@media (max-width: 481px) {
	#hd .menu { padding-top: 30px; }
	#hd .menu ul.nav li { padding: 8px 0;}
}



#ft { background: #fff;}
#ft .inner-ft { padding: 40px 0px 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 { position: relative; display: inline-block; padding: 0 30px; font-size: 14px; vertical-align: middle;}
#ft ul li a { color: #000; text-decoration: none;}
#ft ul li a span { display: block; font-size: 12px;}
#ft .copyright { padding: 10px 0; background: #000;}
#ft .copyright p { color: #fff; font-size: 12px; text-align: center;}
@media (max-width: 1001px) {
	#ft ul li { padding: 0 18px;}
}
@media (max-width: 801px) {
	#ft .inner-ft { padding: 30px 0;}
	#ft ul li { padding: 0 12px; font-size: 12px;}
	#ft ul li a span { font-size: 10px;}
}
@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; font-size: 13px; letter-spacing: 0.2rem;}
	#ft ul li a { display: block; margin: 0 auto; padding: 10px 0;}
	#ft ul li a span { display: inline-block; font-size: 11px; letter-spacing: 0.05rem;}
}
@media (max-width: 481px) {
	#ft .inner-ft { padding: 40px 0 30px;}
	#ft h3 { margin-bottom: 20px;}
	#ft ul li a { padding: 8px 0;}
	#ft .copyright p { font-size: 10px;}
}



.note { width: 100%;}
.note ul { width: 100%;}
.note ul li { font-size: 10px;}



.sct { position: relative;}
.pos { position: absolute;}

.stl { position: relative; width: 100%;}
.stl:after { content: ''; display: block; width: 100%; height: 230px;
 background: url('./img/bg/ttl.png') no-repeat 50% 50% / auto 100%;
 position: relative; left: 0; top: 0; z-index: 1;
}
.stl h2 { position: absolute; left: 0; top: 50%; transform: translateY(-35%); width: 100%; text-align: center; z-index: 2;}
.stl h2 img { width: 80%; max-width: 540px;}
@media (max-width: 641px) {
	.stl:after { height: 0px; padding-top: 44%; background: url('./img/bg/ttl-sp.png') no-repeat 50% 50% / auto 100%;}
}


@keyframes moving {
	 0% { transform: translateY(0px);}
	50% { transform: translateY(8px);}
 100% { transform: translateY(0px);}
}
.bubble { position: absolute; animation: 2s moving linear infinite;}
.bubble.orange1 { background: url('./img/bg/orange.png') no-repeat 50% 50% / 100% auto;}
.bubble.purple1 { background: url('./img/bg/purple1.png') no-repeat 50% 50% / 100% auto;}
.bubble.purple2 { background: url('./img/bg/purple2.png') no-repeat 50% 50% / 100% auto;}


#kv .inner-kv { position: relative;}
#kv .logo { width: 140px; position: absolute; left: 30px; top: 20px; z-index: 10;}
#kv .logo img { width: 100%;}
#kv .ctn { position: absolute; width: 100%; left: 0; top: 0; z-index: 2;}
#kv .ctn .txt { position: relative; width: 90%; max-width: 1040px; margin: 0 auto; padding-top: 50px; transition: 0.8s linear 0.6s; opacity: 0;}
#kv .ctn .txt .inner { position: relative; width: 55%; max-width: 600px; margin: 0 0 0 auto; padding-top: 100px;}
#kv .ctn .txt .inner:before { content: ''; display: block; width: 140px; height: 200px;
 position: absolute; right: 10px; top: 0;
 background: url('/img/awards/badge-no1-202412.png') 50% 0 / 100% auto;
}
#kv .ctn .txt h1 { margin-bottom: 60px; text-align: center;}
#kv .ctn .txt h1 img { width: 92%; max-width: 500px;}
#kv .ctn .txt h2 { margin-bottom: 40px; text-align: center;}
#kv .ctn .txt h2 img { width: 92%; max-width: 500px;}
#kv .ctn .txt .note { text-align: center;}
#kv .ctn .txt .note ul { display: inline-block; max-width: 540px; margin: 0 auto; }
#kv .ctn .txt .note ul li { color: #8b7666; font-size: 10px; line-height: 1.4; text-align: left;}
#kv .bg { position: relative; width: 100%;}
#kv .bg img { width: 100%;}
#kv .bg img.sp { display: none;}
#kv.show .ctn .txt { opacity: 1;}
@media (max-width: 1281px) {
	#kv .ctn .txt { padding-top: 3.5vw;}
	#kv .ctn .txt .inner { padding-top: 8.2vw;}
	#kv .ctn .txt .inner:before { width: 120px; height: 180px;}
	#kv .ctn .txt h1 { margin-bottom: 4.6vw;}
	#kv .ctn .txt h2 { margin-bottom: 3.6vw;}
}
@media (max-width: 801px) {
	#kv .ctn { position: absolute; width: 100%; height: 100%;}
	#kv .ctn .txt { width: 100%; height: 100%; padding-top: 6.0vw;}
	#kv .ctn .txt .inner { width: 100%; height: 100%; max-width: 100%; margin: 0 auto; padding-top: 10.0vw;}
	#kv .ctn .txt .inner:before { right: 10%;}
	#kv .ctn .txt h1 { margin-bottom: 0px;}
	#kv .ctn .txt h2 { position: absolute; left: 0; bottom: 12vw; width: 100%; margin-bottom: 0px;}
	#kv .ctn .txt .note { position: absolute; left: 0; bottom: 20px;}

	#kv .bg img.pc { display: none;}
	#kv .bg img.sp { display: block;}
}
@media (max-width: 481px) {
	#kv .logo { width: 80px; left: 12px; top: 15px;}
	#kv .ctn .txt .inner:before { width: 80px; height: 120px;}
	#kv .ctn .txt h2 { bottom: 15vw;}
	#kv .ctn .txt .note { bottom: 8px;}
	#kv .ctn .txt .note ul { width: 90%;}
}

#award .award-tit { position: relative; background: #ffbe00; padding: 12px 0; cursor: pointer;}
#award .award-tit:after { content: ''; display: block; width: 12px; height: 12px; border-top: solid 3px #fff; border-right: solid 3px #fff;
 position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(135deg); margin-left: 300px;
}
#award .award-tit.open:after { transform: translate(-50%,-35%) rotate(-45deg);}
#award .award-tit h2 { color: #fff; font-size: 30px; text-align: center;}
#award .award-tit h2:before,
#award .award-tit h2:after { content: ''; display: inline-block; width: 56px; height: 42px;
 background: url('./img/icn-awards.png') no-repeat 50% 50% / 100% auto; vertical-align: middle;
}
#award .award-tit h2 span { display: inline-block; margin: 0 20px; vertical-align: middle;}
@media (max-width: 801px) {
	#award .award-tit:after { left: auto; right: 30px; transform: translate(0%,-50%) rotate(135deg); margin-left: 0px;}
}
@media (max-width: 481px) {
	#award .award-tit { padding: 6px 0;}
	#award .award-tit:after { right: 20px; width: 10px; height: 10px;}
	#award .award-tit h2 { font-size: 20px;}
	#award .award-tit h2:before,
	#award .award-tit h2:after { width: 32px; height: 24px;}
}
#award .ctn { display: none;}
#award .ctn .inner { background: #fff;}


#concept { position: relative; transition: 0.4s linear; opacity: 0;}
#concept .ttl { position: relative; left: 0; top: 0px; margin-bottom: -40px;}
#concept .ttl:after { content: ''; display: block; width: 100%; height: 300px;
 background: url('./img/bg/1.png') no-repeat 50% 50% / auto 100%;
 position: relative; left: 0; top: 0; z-index: 1;
}
#concept .ttl h2 { position: absolute; left: 0; top: 50%; transform: translateY(-68%); width: 100%; text-align: center; z-index: 2;}
#concept .ttl h2 img { width: 80%; max-width: 380px;}
#concept .inner-sct { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; z-index: 2;}
#concept .ctn { position: relative; width: 100%; max-width: 680px; margin: 0 auto; padding: 0 0 20px;}
#concept .ctn ul { font-size: 0; text-align: center;}
#concept .ctn ul li { position: relative; display: inline-block; width: 50%;}
#concept .ctn ul li dl dt img { width: 80%; max-width: 240px;}
#concept .ctn ul li dl dd img { width: 45%; max-width: 140px;}
#concept .ctn figure img.sp { display: none;}

#concept .inner-sct:before,
#concept .inner-sct:after { content: ''; display: block; width: 90px; height: 90px; position: absolute; animation: 2s moving linear infinite;}
#concept .inner-sct:before{ left: 24%; top: -120px; background: url('./img/bg/orange.png') no-repeat 50% 50% / 100% auto;}
#concept .inner-sct:after { right: 25%; top: -110px; background: url('./img/bg/purple1.png') no-repeat 50% 50% / 100% auto; animation-delay: 0.8s;}
#concept .ctn .bubble.l1 { width: 100px; height: 100px; left: -100px; bottom: 50%; animation-delay: 0.0s;}
#concept .ctn .bubble.l2 { width: 90px; height: 90px; left: -30px; bottom: 24%; animation-delay: 0.3s;}
#concept .ctn .bubble.l3 { width: 50px; height: 50px; left: 38%; top: 32%; animation-delay: 0.9s;}
#concept .ctn .bubble.r1 { width: 60px; height: 60px; right: 38%; top: 50%; animation-delay: 0.0s;}
#concept .ctn .bubble.r2 { width: 100px; height: 100px; right: -20px; bottom: 18%; animation-delay: 0.3s;}
#concept .ctn .bubble.r3 { width: 50px; height: 50px; right: -80px; top: 18%; animation-delay: 0.6s;}
#concept.show { opacity: 1;}
@media (max-width: 1001px) {
	#concept .inner-sct:before{ left: 8%; top: -120px;}
	#concept .inner-sct:after { right: 10%; top: -110px;}
}
@media (max-width: 641px) {
	#concept .ttl { margin-bottom: 0px;}
	#concept .ttl:after { height: 0px; padding-top: 38%; background: url('./img/bg/1-sp.png') no-repeat 50% 50% / auto 100%;}
	#concept .ctn { padding: 10.0vw 0 20px;}
}
@media (max-width: 481px) {
	#concept .inner-sct:before,
	#concept .inner-sct:after { width: 50px; height: 50px;}
	#concept .inner-sct:before{ left: 12%; top: -20px;}
	#concept .inner-sct:after { right: 30%; top: -10px;}
	#concept .ctn { padding: 10.0vw 0 12px;}

	#concept .ctn .bubble.l1 { width: 60px; height: 60px; left: -20px; bottom: 26%;}
	#concept .ctn .bubble.l2 { width: 50px; height: 50px; left: 0px; bottom: 10%;}
	#concept .ctn .bubble.l3 { width: 30px; height: 30px; top: 38%;}
	#concept .ctn .bubble.r1 { width: 40px; height: 40px; top: 52%;}
	#concept .ctn .bubble.r2 { width: 60px; height: 60px; right: -20px; bottom: 18%;}
	#concept .ctn .bubble.r3 { width: 20px; height: 20px; right: 0px; top: 18%;}
}



#point { position: relative;}
#point .stl { transition: 0.4s linear; opacity: 0;}
#point .inner-sct { width: 100%; max-width: 1280px; margin: 0 auto;}
#point .bloc { transition: 0.4s linear; opacity: 0;}
#point .bloc#point-1 { background: url('./img/point-1-fig.png') no-repeat 50% 0 / 1280px auto;}
#point .bloc .inner{ position: relative; width: 100%; max-width: 1000px; margin: 0 auto;}
#point .bloc#point-1 .inner { padding: 40px 0;}
#point .bloc#point-2 .inner { padding: 80px 0 40px;}
#point .bloc#point-3 .inner { padding: 40px 0 80px;}

#point .bloc .tit { padding-left: 40px;}
#point .bloc .tit h3 img { width: 100%; max-width: 380px;}
#point .bloc .comment div p { color: #ac4d47; font-size: 18px; font-weight: 700; line-height: 1.8;}
#point .bloc .comment div p sub { font-size: 12px; vertical-align: baseline;}

#point .bloc .ctn .spacer { height: 340px;}
#point .bloc .ctn .comment { margin-bottom: 36px;}
#point .bloc .ctn .comment div { width: 100%; max-width: 420px; margin: 0 10% 0 auto; padding: 60px 0px 40px 60px; background: url('./img/bg/comment-1.png') no-repeat 50% 50% / 100% 100%;}

#point .bloc .ctn-R { position: relative;}
#point .bloc .ctn-R .tit { width: 50%; margin: 0 0 40px auto;}
#point .bloc .ctn-R .spacer { width: 50%; height: 550px; background: url('./img/point-2-fig.png') no-repeat 50% 50% / auto 100%;
 position: absolute; left: 0; top: -120px;
}
#point .bloc .ctn-R .comment { margin-bottom: 36px;}
#point .bloc .ctn-R .comment div { width: 100%; max-width: 450px; margin: 0 10% 0 auto; padding: 20px 0px 30px 60px; background: url('./img/bg/comment-2.png') no-repeat 50% 50% / 100% 100%;}

#point .bloc .ctn-flex { display: flex; width: 100%; margin: 0 auto 40px;}
#point .bloc .ctn-flex .txt { width: 50%;}
#point .bloc .ctn-flex .img { width: 50%; padding-top: 100px;}
#point .bloc .ctn-flex .txt .tit { margin-bottom: 20px;}
#point .bloc .ctn-flex .txt p { padding-left: 50px; color: #4e3824; font-size: 20px; font-weight: 700;}
#point .bloc .ctn-flex .txt p sub { font-size: 12px; vertical-align: baseline;}
#point .bloc .ctn-flex .img figure { text-align: center;}
#point .bloc .ctn-flex .img figure img { width: 94%;}
#point .bloc .free {}
#point .bloc .free figure { position: relative; margin-bottom: -60px; text-align: center;}
#point .bloc .free figure img { width: 90%; max-width: 430px;}
#point .bloc .note { position: relative; padding: 0 20px;}
#point .bloc .note ul { width: 100%; max-width: 180px; margin: 0 0 0 auto;}
#point .bloc .note ul.mid { max-width: 210px;}
#point .bloc .note ul.wide { max-width: 450px;}
#point .bloc .note ul li { color: #707070; font-size: 10px;}

#point .bloc .bubble.l11 { width: 90px; height: 90px; left: 4%; top: 36%;}
#point .bloc .bubble.l12 { width: 90px; height: 90px; left: -20px; top: 60%; animation-delay: 0.3s;}
#point .bloc .bubble.l13 { width: 50px; height: 50px; left: 32%; top: 72%; animation-delay: 0.6s;}
#point .bloc .bubble.r11 { width: 70px; height: 70px; right: 10%; top: 10%;}
#point .bloc .bubble.r12 { width: 50px; height: 50px; right: 15%; top: 50%; animation-delay: 0.3s;}

#point .bloc .bubble.l21 { width: 90px; height: 90px; left: 40%; top: 36%;}
#point .bloc .bubble.l22 { width: 90px; height: 90px; left: -50px; top: 60%; animation-delay: 0.3s;}
#point .bloc .bubble.l23 { width: 40px; height: 40px; left: 5%; top: 80%; animation-delay: 0.6s;}
#point .bloc .bubble.r21 { width: 50px; height: 50px; right: -20px; top: 32%;}
#point .bloc .bubble.r22 { width: 90px; height: 90px; right: 0%; top: 46%; animation-delay: 0.3s;}

#point .bloc .bubble.l31 { width: 40px; height: 40px; left: -50px; top: 30%;}
#point .bloc .bubble.l32 { width: 40px; height: 40px; left: 20%; top: 50%; animation-delay: 0.3s;}
#point .bloc .bubble.l33 { width: 90px; height: 90px; left: 30%; top: 42%; animation-delay: 0.6s;}
#point .bloc .bubble.l34 { width: 90px; height: 90px; left: 0%; bottom: 12%; animation-delay: 0.9s;}
#point .bloc .bubble.l35 { width: 40px; height: 40px; left: 18%; bottom: 4%;}
#point .bloc .bubble.r31 { width: 90px; height: 90px; right: 38%; top: 100px;}
#point .bloc .bubble.r32 { width: 50px; height: 50px; right: -80px; top: 45%; animation-delay: 0.3s;}
#point .bloc .bubble.r33 { width: 90px; height: 90px; right: 8%; top: 62%; animation-delay: 0.6s;}

#point.show .stl { opacity: 1;}
#point .bloc.show { opacity: 1;}

@media (max-width: 801px) {
	#point .bloc .tit h3 img { max-width: 78%;}
	#point .bloc#point-1 { background: url('./img/point-1-fig-sp.png') no-repeat 50% 0 / 100% auto;}
	#point .bloc#point-1 .inner { padding: 40px 0 0;}
	#point .bloc .ctn .spacer { height: 76vw;}
	#point .bloc .ctn .comment { margin-bottom: 20px;}

	#point .bloc#point-2 { background: url('./img/point-2-fig-sp.png') no-repeat 50% 0 / 100% auto;}
	#point .bloc#point-2 .inner { padding: 12vw 0 40px;}
	#point .bloc .ctn-R .spacer { width: 100%; height: 58vw; background: none; position: relative; left: auto; top: auto;}
	#point .bloc .ctn-R .tit { width: 100%; margin: 0px auto;}
	#point .bloc .ctn-R .comment { margin-bottom: 20px;}
	#point .bloc .ctn-R .comment div { width: 100%; max-width: 450px; margin: 0 auto; padding: 60px 0 40px 50px; background: url('./img/bg/comment-2-sp.png') no-repeat 50% 50% / 100% 100%;}

	#point .bloc#point-3 .inner { padding: 20px 0;}
	#point .bloc .ctn-flex { display: block;}
	#point .bloc .ctn-flex .txt { width: 100%;}
	#point .bloc .ctn-flex .img { width: 100%; padding-top: 20px;}
	#point .bloc .free figure { margin-bottom: 20px;}

	#point .bloc .bubble.l11 { left: 42%; top: 8%;}
	#point .bloc .bubble.l12 { left: -40px; top: 85%;}
	#point .bloc .bubble.l13 { left: 10%; top: 80%;}
	#point .bloc .bubble.r11 { right: 10%; top: 0%;}
	#point .bloc .bubble.r12 { right: 5%; top: 60%;}
	
	#point .bloc .bubble.l21 { width: 90px; height: 90px; left: 6%; top: 55%;}
	#point .bloc .bubble.l22 { width: 90px; height: 90px; left: 10%; top: auto; bottom: 2%;}
	#point .bloc .bubble.l23 { width: 40px; height: 40px; left: 20%; top: 65%;}
	#point .bloc .bubble.r21 { width: 50px; height: 50px; right: -20px; top: 32%;}
	#point .bloc .bubble.r22 { width: 90px; height: 90px; right: 0%; top: 46%}
	
	#point .bloc .bubble.l31 { width: 40px; height: 40px; left: 80px; top: 32%;}
	#point .bloc .bubble.l32 { width: 40px; height: 40px; left: 20%; top: 70%;}
	#point .bloc .bubble.l33 { width: 90px; height: 90px; left: 0px; top: 35%;}
	#point .bloc .bubble.l34 { width: 90px; height: 90px; left: 4%; bottom: 4%;}
	#point .bloc .bubble.l35 { width: 40px; height: 40px; left: 20%; bottom: 2%;}
	#point .bloc .bubble.r31 { width: 90px; height: 90px; right: 20%; top: 80px;}
	#point .bloc .bubble.r32 { width: 50px; height: 50px; right: 4%; top: 15%}
	#point .bloc .bubble.r33 { width: 90px; height: 90px; right: 2%; top: 62%}
}
@media (max-width: 641px) {
	#point .bloc .ctn .spacer { height: 80vw;}
	#point .bloc .ctn .comment div { margin: 0 8% 0 auto;}
	#point .bloc .note ul {}
	#point .bloc .note ul.wide { max-width: 100%; margin: 0 auto;}
}
@media (max-width: 481px) {
	#point .bloc#point-2 .inner { padding: 12vw 0 12px;}
	#point .bloc#point-3 .inner { padding: 12px 0 20px;}

	#point .bloc .tit { padding-left: 20px;}
	#point .bloc .comment div p { font-size: 14px; line-height: 1.65;}
	#point .bloc .comment div p sub { font-size: 10px;}

	#point .bloc .ctn .spacer { height: 68vw;}
	#point .bloc .ctn .comment { margin-bottom: 12px;}
	#point .bloc .ctn .comment div { width: 80%; margin: 0 5% 0 auto; padding: 40px 0px 25px 40px;}

	#point .bloc .ctn-R .comment div { width: 90%; padding: 32px 0 24px 35px;}

	#point .bloc .ctn-flex { margin: 0 auto 30px;}
	#point .bloc .ctn-flex .txt .tit { margin-bottom: 10px;}
	#point .bloc .ctn-flex .txt p { padding-left: 26px; font-size: 14px;}
	#point .bloc .ctn-flex .txt p sub { font-size: 10px;}
	#point .bloc .free figure { margin-bottom: 12px;}
	#point .bloc .note { padding: 0 12px;}

	#point .bloc .bubble.l11 { width: 50px; height: 50px;}
	#point .bloc .bubble.l12 { width: 40px; height: 40px; left: -15px; top: 72%;}
	#point .bloc .bubble.l13 { width: 20px; height: 20px; left: 10%; top: 68%;}
	#point .bloc .bubble.r11 { width: 40px; height: 40px; right: 18%;}
	#point .bloc .bubble.r12 { width: 36px; height: 36px; right: 5%; top: 50%;}
	
	#point .bloc .bubble.l21 { width: 50px; height: 50px; left: 4%; top: 45%;}
	#point .bloc .bubble.l22 { width: 50px; height: 50px; bottom: 5%;}
	#point .bloc .bubble.l23 { width: 20px; height: 20px; left: 18%; top: 55%;}
	#point .bloc .bubble.r21 { width: 30px; height: 30px; right: 25%; top: 35%;}
	#point .bloc .bubble.r22 { width: 60px; height: 60px; right: 4%; top: 40%}
	
	#point .bloc .bubble.l31 { width: 20px; height: 20px; left: 60px; top: 30%;}
	#point .bloc .bubble.l32 { width: 20px; height: 20px; left: 18%; top: 60%;}
	#point .bloc .bubble.l33 { width: 50px; height: 50px; left: 0px; top: 32%;}
	#point .bloc .bubble.l34 { width: 50px; height: 50px; left: 4%;}
	#point .bloc .bubble.l35 { width: 30px; height: 30px; left: 24%;}
	#point .bloc .bubble.r31 { width: 50px; height: 50px; right: 20%; top: 60px;}
	#point .bloc .bubble.r32 { width: 30px; height: 30px; right: 4%; top: 18%}
	#point .bloc .bubble.r33 { width: 50px; height: 50px; right: 2%; top: 54%}
}


@keyframes shakes {
    0% { transform: translate(0px,0px) rotate(0deg);}
 12.5% { transform: translate(0px,1px) rotate(3deg);}
 25.0% { transform: translate(1px,0px) rotate(0deg);}
 37.5% { transform: translate(1px,-1px) rotate(-3deg);}
 50.0% { transform: translate(0px,0px) rotate(0deg);}
 62.5% { transform: translate(-1px,0px) rotate(2deg);}
 75.0% { transform: translate(0px,-1px) rotate(0deg);}
 87.5% { transform: translate(-1px,0px) rotate(-2deg);}
  100% { transform: translate(0px,0px) rotate(0deg);}
}


#lineup { position: relative;}
#lineup #sct2 { top: 120px;}
#lineup .ttl { position: relative; width: 100%; margin-bottom: -200px; transition: 0.4s linear; opacity: 0;}
#lineup .ttl:after { content: ''; display: block; width: 100%; height: 474px;
 background: url('./img/bg/ttl-lineup.png') no-repeat 50% 50% / auto 100%;
 position: relative; left: 0; top: 0; z-index: 1;
}
#lineup .ttl h2 { position: absolute; left: 0; top: 50%; transform: translateY(-68%); width: 100%; text-align: center; z-index: 2;}
#lineup .ttl h2 img { width: 80%; max-width: 540px;}
#lineup .ttl h2 img.sp { display: none;}
#lineup .inner-sct { width: 100%; max-width: 1280px; margin: 0 auto;}
#lineup .bloc { position: relative; transition: 0.4s linear; opacity: 0;}
#lineup .bloc.rich { padding: 160px 0 80px; background: #fff1af;}
#lineup .bloc.relax{ padding: 200px 0 80px; background: #fff0ff;}
#lineup .bloc .spacer { width: 100%; height: 324px; background: url('./img/bg/spacer.png') no-repeat 50% 50% / auto 100%;
 position: absolute; left: 0; top: -80px;
}
#lineup .bloc .tit { margin-bottom: 50px;}
#lineup .bloc .tit h3 { text-align: center;}
#lineup .bloc .tit h3 img { width: 40%; max-width: 230px }
#lineup .bloc .ctn-flex { display: flex; width: 100%; max-width: 1080px; margin: 0 auto;}
#lineup .bloc .txt { position: relative; width: 50%;}
#lineup .bloc .fig { width: 50%;}

#lineup .bloc.rich .txt { background: url('./img/rich-1.png') no-repeat 50% 0 / auto 90%;}
#lineup .bloc.relax .txt{ background: url('./img/relax-1.png') no-repeat 50% 0 / auto 90%;}

#lineup .bloc .txt:before { content: ''; display: block; width: 100%; padding-top: 95%;}
#lineup .bloc .txt h4 { display: none;}
#lineup .bloc .txt h4 img { width: 90%; max-width: 420px;}
#lineup .bloc .txt p { color: #4e3824; font-weight: 700; text-align: center;}
#lineup .bloc .txt p.lead { margin-bottom: 6px; font-size: 19px;}
#lineup .bloc .txt p.price{ margin-bottom: 8px; font-size: 18px;}
#lineup .bloc .txt .btn-cart { width: 88%; max-width: 380px; margin: 0 auto;}
#lineup .bloc .txt .btn-cart form { position: relative; width: 100%;}
#lineup .bloc .txt .btn-cart form input[type="submit"]{ position: relative; width: 100%; padding: 12px 0; z-index: 1;
 border: none; border-radius: 50px;
 color: #fff; font-size: 14px; font-weight: 700; text-indent: 20px; text-align: center;
}
#lineup .bloc .txt .btn-cart form input[type="submit"].cart-rich { background: #ff8816;}
#lineup .bloc .txt .btn-cart form input[type="submit"].cart-relax{ background: #cf84ec;}
#lineup .bloc .txt .btn-cart form svg { width: 20px; fill: #fff; position: absolute; left: 50%; top: 50%; transform: translate(-80px, -50%); z-index: 2;}
#lineup .bloc .fig h4 { margin-bottom: 20px; text-align: center;}
#lineup .bloc .fig h4 img { width: 90%; max-width: 420px;}
#lineup .bloc .fig .box { position: relative; width: 100%; max-width: 500px; margin: 0 auto 20px;}
#lineup .bloc .fig .box .tag { position: absolute; z-index: 2;}
#lineup .bloc .fig .box .tag img { position: relative; width: 100%; animation: shakes 2.0s linear infinite;}
#lineup .bloc .fig .box .tag.tag-1 { width: 32%; max-width: 160px; top: 21%; left: 52%;}
#lineup .bloc .fig .box .tag.tag-1 img { animation-delay: 0.0s;}
#lineup .bloc .fig .box .tag.tag-2 { width: 25%; max-width: 120px; top: 44%; left: 74%;}
#lineup .bloc .fig .box .tag.tag-2 img { animation-delay: 0.3s;}
#lineup .bloc .fig .box .tag.tag-3 { width: 25%; max-width: 120px; top: 58%; left: 57%;}
#lineup .bloc .fig .box .tag.tag-3 img { animation-delay: 0.6s;}
#lineup .bloc .fig .box figure { position: relative; text-align: center; z-index: 1;}
#lineup .bloc .fig .box figure img { width: 100%;}
#lineup .bloc .fig .note {}
#lineup .bloc .fig .note ul { width: 100%; max-width: 220px; margin: 0 0 0 auto;}
#lineup .bloc .fig .note ul li { color: #9b9b9b; font-size: 10px;}

#lineup .bloc .bubble.l1 { width: 100px; height: 100px; left: 0%; top: -80px; animation-delay: 0.3s;}
#lineup .bloc .bubble.l2 { width: 50px; height: 50px; right: 8%; top: 10%; animation-delay: 0.6s; animation-delay: 0.6s;}
#lineup .bloc .bubble.l3 { width: 80px; height: 80px; right: 12%; bottom: 20%; animation-delay: 0.9s; animation-delay: 0.4s;}

#lineup.show .ttl { opacity: 1;}
#lineup .bloc.show { opacity: 1;}
@media (max-width: 1001px) {
	#lineup .bloc .txt p.lead { font-size: 16px;}
	#lineup .bloc .txt p.price{ font-size: 14px;}
}
@media (max-width: 801px) {
	#lineup #sct2 { top: 140px;}
	#lineup .ttl { margin-bottom: -27vw;}
	#lineup .ttl:after { width: 100%; height: 0px; padding-top: 77.5%;
	 background: url('./img/bg/ttl-lineup-sp.png') no-repeat 50% 50% / auto 100%;
	}
	#lineup .bloc .spacer { top: -12vw; height: 0px; padding-top: 50%; background: url('./img/bg/spacer-sp.png') no-repeat 50% 50% / auto 100%;}

	#lineup .bloc .ctn-flex { display: block;}
	#lineup .bloc .txt { width: 100%; margin-bottom: 50px;}
	#lineup .bloc .fig { width: 100%;}
	#lineup .bloc.rich .txt { background-size: 88% auto;}
	#lineup .bloc.relax .txt{ background-size: 88% auto;}
	#lineup .bloc .txt:before { padding-top: 85%;}

	#lineup .bloc .txt h4 { display: block; margin-bottom: 20px; text-align: center;}
	#lineup .bloc .txt p.lead { font-size: 2.8vw;}
	#lineup .bloc .txt p.price{ font-size: 2.4vw;}

	#lineup .bloc .fig h4 { display: none;}
	#lineup .bloc .fig .box { width: 90%;}
	#lineup .bloc .fig .note { width: 90%; max-width: 500px; margin: 0 auto;}
}
@media (max-width: 481px) {
	#lineup #sct2 { top: 60px;}
	#lineup .bloc.rich { padding: 80px 0 40px; background: #fff1af;}
	#lineup .bloc.relax{ padding: 120px 0 80px; background: #fff0ff;}
	#lineup .bloc .tit { margin-bottom: 30px;}
	#lineup .bloc .txt { margin-bottom: 30px;}
	#lineup .bloc .txt h4 { margin-bottom: 12px;}
	#lineup .bloc .txt p.lead { font-size: 14px; letter-spacing: -0.04rem;}
	#lineup .bloc .txt p.price{ font-size: 13px;}

	#lineup .bloc .txt .btn-cart form input[type="submit"]{ padding: 10px 0; font-size: 13px; text-indent: 20px;}
	#lineup .bloc .txt .btn-cart form svg { width: 18px; transform: translate(-60px, -50%);}

	#lineup .bloc .bubble.l1 { width: 40px; height: 40px; left: 5%; top: -60px;}
	#lineup .bloc .bubble.l2 { width: 30px; height: 30px; right: 4%;}
	#lineup .bloc .bubble.l3 { width: 50px; height: 50px; bottom: 30%;}
}


#compare { position: relative; transition: 0.4s linear; opacity: 0;}
#compare .stl { position: absolute; left: 0; top: -60px;}
#compare .inner-sct { width: 100%; max-width: 1280px; margin: 0 auto; padding: 180px 0 50px;}
#compare .ctn { position: relative; width: 92%; max-width: 580px; margin: 0 auto; padding-top: 40px;}
#compare .ctn figure { text-align: center;}
#compare .ctn figure img { width: 100%;}
#compare .ctn figure img.sp { display: none;}
#compare .ctn .bubble.l1 { width: 90px; height: 90px; left: -150px; top: 4%;}
#compare .ctn .bubble.l2 { width: 50px; height: 50px; left: -180px; top: 35%; animation-delay: 0.3s;}
#compare .ctn .bubble.l3 { width: 80px; height: 80px; left: -80px; top: 52%; animation-delay: 0.6s;}
#compare .ctn .bubble.r1 { width: 80px; height: 80px; right: -120px; top: 5%;}
#compare .ctn .bubble.r2 { width: 50px; height: 50px; right: -80px; top: 40%; animation-delay: 0.3s;}
#compare .ctn .bubble.r3 { width: 60px; height: 60px; right: 38%; top: 60%; animation-delay: 0.6s;}
#compare.show { opacity: 1;}
@media (max-width: 801px) {
	#compare .ctn { padding-top: 80px;}
	#compare .ctn .bubble.l1 { width: 50px; height: 50px; left: 30%; top: 0%;}
	#compare .ctn .bubble.l2 { display: none;}
	#compare .ctn .bubble.l3 { left: -80px; top: 52%;}
	#compare .ctn .bubble.r1 { right: 0%; top: -20px;}
	#compare .ctn .bubble.r2 { right: -50px;}
	#compare .ctn .bubble.r3 { right: 36%;}
}
@media (max-width: 481px) {
	#lineup .ttl h2 img.pc { display: none;}
	#lineup .ttl h2 img.sp { display: block; margin: 0 auto;}
	#compare .inner-sct { padding: 100px 0 40px;}
	#compare .ctn { padding-top: 60px;}
	#compare .ctn figure img.pc { display: none;}
	#compare .ctn figure img.sp { display: block;}

	#compare .ctn .bubble.l1 { width: 30px; height: 30px; left: 30%; top: 4%;}
	#compare .ctn .bubble.l3 { width: 50px; height: 50px; left: -40px; top: 52%;}
	#compare .ctn .bubble.r1 { width: 50px; height: 50px; right: 4%; top: 0px;}
	#compare .ctn .bubble.r2 { width: 30px; height: 30px; right: -10px;}
	#compare .ctn .bubble.r3 { width: 40px; height: 40px;}
}


#campaign { position: relative; transition: 0.4s linear; opacity: 0;}
#campaign .inner-sct { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; z-index: 2;}
#campaign .ctn { position: relative; width: 90%; max-width: 740px; margin: 0 auto; padding: 20px 0 50px; z-index: 2;}
#campaign .ctn .badge { width: 150px; position: absolute; right: -100px; top: -100px;}
#campaign .ctn .badge img { width: 100%;}
#campaign .ctn .inner { position: relative; width: 100%; margin: 0 auto; padding-top: 80px;}
#campaign .ctn .inner:before,
#campaign .ctn .inner:after { content: ''; display: block;}
#campaign .ctn .inner:before{ width: 40%; height: 92%; background: url('./img/campaign-fig.png') no-repeat 50% 50% / auto 100%;
 position: absolute; left: 0; top: 0; z-index: 2;
}
#campaign .ctn .inner:after { width: 100%; max-width: 550px; height: 75px;
 position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); z-index: 1;
 background: linear-gradient(90deg, #f7901f 50%, #cf84ec 50%); border-radius: 50px;
}
#campaign .ctn p { margin-bottom: 60px; text-align: center;}
#campaign .ctn p img { width: 100%;}
#campaign .ctn .btn { position: relative; width: 100%; max-width: 550px; margin: 0 auto; z-index: 2;}
#campaign .ctn .btn a { display: block; width: 100%; padding: 18px 0;
 background: rgba(255,255,255,0); border-radius: 50px;
 text-align: center;
}
#campaign .ctn .btn a img { width: 50%; max-width: 250px;}
#campaign .ctn .btn a:hover { background: rgba(255,255,255,0.1);}
#campaign .ctn .bubble.l1 { width: 50px; height: 50px; left: -40px; top: 18%;}
#campaign .ctn .bubble.l2 { width: 80px; height: 80px; left: -80px; top: 52%; animation-delay: 0.3s;}
#campaign .ctn .bubble.r1 { width: 50px; height: 50px; right: 30%; top: 5%;}
#campaign .ctn .bubble.r2 { width: 80px; height: 80px; right: -120px; top: 40%; animation-delay: 0.6s;}
#campaign.show { opacity: 1;}
@media (max-width: 1001px) {
	#campaign .ctn .badge { right: 0; top: -60px;}
}
@media (max-width: 801px) {
	#campaign .ctn .bubble.l1 { display: none;}
	#campaign .ctn .bubble.l2 { left: 5%; top: auto; bottom: 0%; z-index: 2;}
	#campaign .ctn .bubble.r1 { right: 30%; top: 5%;}
	#campaign .ctn .bubble.r2 { right: -60px; top: 65%}
}
@media (max-width: 641px) {
	#campaign .ctn .badge { width: 120px;}
}
@media (max-width: 481px) {
	#campaign .ctn { width: 100%; padding: 20px 0 40px;}
	#campaign .ctn .badge { width: 100px; right: 0; top: -40px;}
	#campaign .ctn .inner { padding-top: 40px;}
	#campaign .ctn .inner:before{ width: 40%; height: 94%; background-size: 90%; top: -20px;}
	#campaign .ctn .inner:after { width: 85%; height: 45px;}
	#campaign .ctn p { margin-bottom: 24px;}
	#campaign .ctn p img { width: 92%;}
	#campaign .ctn .btn { width: 85%;}
	#campaign .ctn .btn a { padding: 10px 0;}

	#campaign .ctn .bubble.l2 { width: 60px; height: 60px; left: 5%; top: auto; bottom: 0%; z-index: 2;}
	#campaign .ctn .bubble.r1 { width: 30px; height: 30px; right: 30%; top: 5%;}
	#campaign .ctn .bubble.r2 { width: 50px; height: 50px; right: -30px; top: 60%}
}


#pht { transition: 0.4s linear; opacity: 0;}
#pht img { width: 100%;}
#pht img.sp { display: none;}
#pht.show { opacity: 1;}
@media (max-width: 641px) {
	#pht img.pc { display: none;}
	#pht img.sp { display: block;}
}


#shop { position: relative; transition: 0.4s linear; opacity: 0;}
#shop .stl { position: absolute; left: 0; top: -60px;}
#shop #sct3 { top: -20px;}
#shop .inner-sct { width: 100%; max-width: 1280px; margin: 0 auto; padding: 250px 0 60px;}

#shop ul.shoplist { width: 92%; max-width: 1024px; margin: 0 auto 100px; font-size: 0;}
#shop ul.shoplist li { display: inline-block; width: 33.33334%; padding: 10px; vertical-align: top;}
#shop ul.shoplist li a { position: relative; display: block; width: 100%; padding: 20px; padding-left: 80px;
 background: #ffd45b; border-radius: 5px;
 color: #53341c; font-size: 20px; font-weight: 700; text-align: left; text-decoration: none;
}
#shop ul.shoplist li a:before { content: ''; display: block; width: 38px; height: 40px;
 position: absolute; left: 25px; top: 50%; transform: translate(0,-50%);
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 42"><path d="M587.92,8214.28a12,12,0,0,0-2.78-2c-.13-.08-.27-.12-.4-.19a26.2,26.2,0,0,0,1.92-2.48,18,18,0,0,0,1.56-3.14,2.37,2.37,0,0,0,.13-1.38c-.1-.47-.35-.83-.79-.88a1.11,1.11,0,0,0-1.1.63,2.65,2.65,0,0,0-.3,1.18,14.33,14.33,0,0,1-.55,3.15,6.38,6.38,0,0,1-1.69,2.54,8.46,8.46,0,0,0-4.21-.61,5.83,5.83,0,0,0-3.39,1.61,1.2,1.2,0,0,0-.35,1.36.48.48,0,0,0,.57.26,1.48,1.48,0,0,0,.8-.46,4.52,4.52,0,0,1,2.49-1.64,6.4,6.4,0,0,1,3,.44c-.12.1-.23.2-.36.29a34.24,34.24,0,0,1-5.89,3.14c-1.86.81-3.87,1.6-6,2.37-.89-.63-2.44-1.82-3.69-2.81a22,22,0,0,0-4.2-2.85,10.28,10.28,0,0,0-5.22-1.13,6.34,6.34,0,0,0-4.92,2.61,6.12,6.12,0,0,0-1,5.86,6.68,6.68,0,0,0,3.9,3.81,10.7,10.7,0,0,0,5.9.26c2.44-.47,9.4-3.66,9.81-3.85a29.26,29.26,0,0,0,7.38,3.48,10.89,10.89,0,0,0,7.16-.43c2.17-.87,4.06-2.86,4.09-5.16A5.58,5.58,0,0,0,587.92,8214.28ZM565,8220.34a27.5,27.5,0,0,1-4.21,1.14,15.74,15.74,0,0,1-4-.17,4.69,4.69,0,0,1-2.76-2.2,3.92,3.92,0,0,1,.23-3.58,4.36,4.36,0,0,1,3.34-2.15,8.24,8.24,0,0,1,4.42.71,20.22,20.22,0,0,1,4,2.56c1,.8,2,1.57,3,2.32Zm21.22,0a9.12,9.12,0,0,1-4.93,1.41,18.74,18.74,0,0,1-8.64-2.06c1.61-.76,3.14-1.52,4.56-2.3,2.21-1.21,6.31-4.07,6.55-4.28,1.15.48,4.13,2.68,4.07,4.94A3.07,3.07,0,0,1,586.19,8220.32Zm-16.38-5.47a27.18,27.18,0,0,1-3.94-4.65,9.27,9.27,0,0,1-1.62-5.15,5.8,5.8,0,0,1,1.91-3.95,6.62,6.62,0,0,1,8.79,0,5.89,5.89,0,0,1,1.91,3.95,9.27,9.27,0,0,1-1.62,5.15,28.15,28.15,0,0,1-3.94,4.65,1.44,1.44,0,0,1-.75.35A1.42,1.42,0,0,1,569.81,8214.85Zm.74-.64c.27,0,1.86-2.15,2.8-3.77a11.49,11.49,0,0,0,1.46-4,3.81,3.81,0,0,0-1.06-3.23,4.63,4.63,0,0,0-6.39,0,3.78,3.78,0,0,0-1.06,3.23,11.49,11.49,0,0,0,1.46,4C568.7,8212.06,570.28,8214.21,570.55,8214.21ZM565.71,8232c0-.13.06-.29.1-.45h9.49c0,.16.07.32.1.45a3.75,3.75,0,0,1,0,1.14h-9.61A3.21,3.21,0,0,1,565.71,8232Zm8.24-3.64c.32.57.58,1.11.79,1.59h-8.37a15.32,15.32,0,0,1,.78-1.59Zm-3.4-4.51a11.66,11.66,0,0,1,2.42,2.91h-4.84A12.13,12.13,0,0,1,570.55,8223.87Zm0,12.89a5.54,5.54,0,0,1-3.55-1.38,3.67,3.67,0,0,1-.56-.63h8.22a3.6,3.6,0,0,1-.55.63A5.54,5.54,0,0,1,570.55,8236.76Zm-1.59,1.15.84,1.27a.88.88,0,0,0,1.5,0c.26-.4.65-1,.84-1.27a6.68,6.68,0,0,0,2.9-1.32,5.08,5.08,0,0,0,1.84-4,11.67,11.67,0,0,0-1.87-4.92,31.6,31.6,0,0,0-3.72-4.69,1.45,1.45,0,0,0-.74-.36,1.43,1.43,0,0,0-.73.36,30.94,30.94,0,0,0-3.72,4.69,11.53,11.53,0,0,0-1.87,4.92,5.1,5.1,0,0,0,1.83,4A6.73,6.73,0,0,0,569,8237.91Z" transform="translate(-551.15 -8199.43)" fill="%2353341c" /></svg>');
 background-repeat: no-repeat; background-position: 50% 50%; background-size: 100% auto; 
}
#shop ul.shoplist li a:hover { opacity: 0.85;}
#shop.show,
#shop p.show,
#shop ul.show { opacity: 1;}

#shop .check { width: 92%; max-width: 920px; margin: 0 auto; transition: 0.4s linear; opacity: 0;}
#shop .check h3 { margin-bottom: 40px; font-size: 30px; text-align: center;}
#shop .check ul { font-size: 0; text-align: center;}
#shop .check ul li { display: inline-block; width: 20%;}
#shop .check ul li.blank { display: none;}
#shop .check ul li a { display: block; width: 94%; max-width: 164px; margin: 0 auto; color: #fff; text-decoration: none;}
#shop .check ul li dl dt { width: 80px; margin: 0 auto 15px;}
#shop .check ul li dl dt img { width: 100%;}
#shop .check ul li dl dd { font-size: 18px; font-weight: 700; line-height: 1.2;}
#shop .check ul li dl dd { position: relative;}
#shop .check ul li dl dd:before,
#shop .check ul li dl dd:after { content: ''; display: block; width: 0; height: 0; position: absolute; top: 50%; transform: translate(0,-50%);
 border: solid 24px transparent;
}
#shop .check ul li dl dd:before{ left: 0; border-right: 0;}
#shop .check ul li dl dd:after { right: 0; border-left: 0;}

#shop .check ul li:nth-child(1) dl dd:before,
#shop .check ul li:nth-child(2) dl dd:before,
#shop .check ul li:nth-child(3) dl dd:before{ border-left: solid 13px #fff1af;}
#shop .check ul li:nth-child(1) dl dd:after,
#shop .check ul li:nth-child(2) dl dd:after { border-right: solid 13px #fff1af;}
#shop .check ul li:nth-child(3) dl dd:after { border-right: solid 13px #fff0ff;}
#shop .check ul li:nth-child(4) dl dd:before,
#shop .check ul li:nth-child(5) dl dd:before,
#shop .check ul li:nth-child(6) dl dd:before{ border-left: solid 13px #fff0ff;}
#shop .check ul li:nth-child(4) dl dd:after,
#shop .check ul li:nth-child(5) dl dd:after,
#shop .check ul li:nth-child(6) dl dd:after { border-right: solid 13px #fff0ff;}


#shop .check ul li dl dd span { display: block; padding: 12px 6px;}
#shop .check ul li dl dd br { display: none;}
#shop .check ul li:nth-child(1) dl dd span { background: #e5864b;}
#shop .check ul li:nth-child(2) dl dd span { background: #e78c8f;}
#shop .check ul li:nth-child(3) dl dd span { background: #ffcf26;}
#shop .check ul li:nth-child(4) dl dd span { background: #e06b51;}
#shop .check ul li:nth-child(5) dl dd span { background: #bd9cdb;}
#shop .check ul li dl dd span:after { content: ''; display: block; width: 9px; height: 9px; border-top: solid 2px #fff; border-right: solid 2px #fff;
 position: absolute; right: 24px; top: 50%; transform: translate(0,-50%) rotate(45deg);
}
#shop .check ul li a:hover { opacity: 0.8;}
#shop .check.show{ opacity: 1;}
@media (max-width: 1001px) {
	#shop ul.shoplist li a { font-size: 16px;}
}
@media (max-width: 801px) {
	#shop ul.shoplist li { width: 50%;}
	#shop ul.shoplist li a { padding: 15px; padding-left: 60px; font-size: 18px;}
	#shop ul.shoplist li a:before { width: 30px; left: 15px;}

	#shop .check h3 { margin-bottom: 20px;}
	#shop .check ul li { width: 33%; padding: 12px 0;}
	#shop .check ul li.blank { display: inline-block;}
	#shop .check ul li dl dd { font-size: 15px;}
	#shop .check ul li dl dd:before,
	#shop .check ul li dl dd:after { border: solid 20px transparent;}
	#shop .check ul li dl dd:before{ border-right: 0;}
	#shop .check ul li dl dd:after { border-left: 0;}

	#shop .check ul li:nth-child(1) dl dd:before,
	#shop .check ul li:nth-child(2) dl dd:before,
	#shop .check ul li:nth-child(4) dl dd:before,
	#shop .check ul li:nth-child(5) dl dd:before{ border-left: solid 10px #fff1af;}
	#shop .check ul li:nth-child(1) dl dd:after,
	#shop .check ul li:nth-child(4) dl dd:after { border-right: solid 10px #fff1af;}
	#shop .check ul li:nth-child(3) dl dd:before,
	#shop .check ul li:nth-child(6) dl dd:before{ border-left: solid 10px #fff0ff;}
	#shop .check ul li:nth-child(2) dl dd:after,
	#shop .check ul li:nth-child(3) dl dd:after,
	#shop .check ul li:nth-child(5) dl dd:after,
	#shop .check ul li:nth-child(6) dl dd:after { border-right: solid 10px #fff0ff;}

	#shop .check ul li dl dd span { padding: 6px;}
	#shop .check ul li dl dd br { display: block;}
	#shop .check ul li dl dd span:after { right: 20px;}
}
@media (max-width: 641px) {
	#shop .inner-sct { padding: 42vw 0 60px;}
	#shop h2 { margin-bottom: 20px; font-size: 30px;}
	#shop p { margin-bottom: 30px; font-size: 18px;}
	#shop ul.shoplist { margin: 0 auto 60px;}
	#shop ul.shoplist li { padding: 6px;}
	#shop ul.shoplist li a { font-size: 15px;}

	#shop .check h3 { margin-bottom: 10px; font-size: 20px;}
	#shop .check ul li { width: 50%; padding: 10px;}
	#shop .check ul li:nth-child(1) dl dd:before,
	#shop .check ul li:nth-child(3) dl dd:before,
	#shop .check ul li:nth-child(5) dl dd:before{ border-left: solid 10px #fff1af;}
	#shop .check ul li:nth-child(1) dl dd:after,
	#shop .check ul li:nth-child(3) dl dd:after,
	#shop .check ul li:nth-child(5) dl dd:after { border-right: solid 10px #fff1af;}
	#shop .check ul li:nth-child(2) dl dd:before,
	#shop .check ul li:nth-child(4) dl dd:before,
	#shop .check ul li:nth-child(6) dl dd:before{ border-left: solid 10px #fff0ff;}
	#shop .check ul li:nth-child(2) dl dd:after,
	#shop .check ul li:nth-child(4) dl dd:after,
	#shop .check ul li:nth-child(6) dl dd:after { border-right: solid 10px #fff0ff;}

	#shop .check ul li dl dd { font-size: 14px;}
}
@media (max-width: 481px) {
	#shop .inner-sct { padding: 36vw 0 40px;}
	#shop #sct3 { top: -20px;}
	#shop ul.shoplist { margin: 0 auto 40px;}
	#shop ul.shoplist li a { padding: 6px 0; padding-left: 30px; font-size: 12px;}
	#shop ul.shoplist li a:before { width: 18px; left: 6px;}
	#shop .check h3 { margin-bottom: 20px; font-size: 18px;}
	#shop .check ul li dl dt { width: 50px;}
	#shop .check ul li dl dd span { font-size: 12px;}
	#shop .check ul li dl dd span:after { width: 6px; height: 6px; right: 18px;}
}





