@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;
}

html {}
/*		font-style
-------------------------------------------------- */
body {
/*	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;*/
	font-family: "Noto Sans JP","游ゴシック","Yu Gothic","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;
}
.min { font-family: "Noto Serif JP","游明朝", "Yu Mincho", "YuMincho", serif;}
.eng { font-family: "Playfair Display", 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;}

@media (max-width: 641px) {
}



.menu-btn { position: fixed; right: 0; top: 0; width: 100%; z-index: 102; transition: 0.4s linear; opacity: 1;}
.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: #333; 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: #fff;}
.menu-trig.active div span:nth-of-type(2) { width: 72%; transform: translate(-50%,-5px) rotate(-45deg); background: #fff;}
.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; background: #fff; overflow: hidden;}


#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: 320px; height: 100%; padding: 40px 0 20px; background: #a2c7cf; transition: 0.4s linear 0.2s;}
#hd .menu .scroll { width: 100%; height: 100%; padding: 0px 0px 20px; overflow-y: scroll; }
#hd .menu ul.nav { width: 88%; 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: #fff; font-weight: 700; letter-spacing: 0.12rem; text-decoration: none;}
#hd .menu ul.nav li.logo { margin-bottom: 50px;}
#hd .menu ul.nav li.logo a { display: block; width: 36%; max-width: 120px;}
#hd .menu ul.nav li.logo a img { width: 100%;}
#hd .menu ul.nav li ul.sns { width: 100%; padding-top: 30px;}
#hd .menu ul.nav li ul.sns li { display: inline-block; width: 54px; padding: 0; vertical-align: middle;}
#hd .menu ul.nav li ul.sns li a { display: block; width: 30px;}
#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 { display: block; width: 90%; max-width: 300px; margin: 0 auto 20px; font-size: 0;}
#hd .menu ul.brand li { position: relative; border-bottom: solid 1px #333; font-size: 14px;}
#hd .menu ul.brand li.top { padding: 0; border-bottom: none; font-size: 12px;}
#hd .menu ul.brand li.top:after { content: ''; display: block; width: 0px; height: 0px;
 border: solid 25px transparent; border-right: solid 15px #a2c7cf;
 position: absolute; right: 0; top: 50%; transform: translateY(-50%);
}
#hd .menu ul.brand li.top a { position: relative; display: block; padding: 12px; padding-left: 50px; background: #fcd767; color: #333;letter-spacing: 0.05rem; text-decoration: none;}

#hd .menu ul.brand li.top a:before { content: ''; display: block; width: 18px; 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 span.topLv { position: relative; display: block; width: 100%; padding: 10px 5px;letter-spacing: 0.05rem;
	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: #333;
 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 #333; color: #333; 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: 6px; 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="%23333333" /></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 #333; border-right: solid 2px #333;
 position: absolute; right: 6px; 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: 9px;}
#hd .menu ul.brand li ul.col li { display: inline-block; width: 50%; padding: 5px 3px; border-bottom: none;}
#hd .menu ul.brand li ul.col li a { display: block; padding: 3px 0px 6px; padding-left: 21px; }

#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: 9px;}
#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 4px; font-size: 10px;}
/* #hd .menu ul.aside li { display: block; width: 100%; padding: 4px; font-size: 12px;} */
#hd .menu ul.aside li a { display: block; padding: 6px 0; /* border: solid 1px #333; */ background: #fff; border-radius: 50px; color: #333; 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: 20px;}
	#hd .menu ul.nav li { padding: 8px 0;}
	#hd .menu ul.nav li.logo { margin-bottom: 40px;}
}





#ft { position: relative;}
#ft .inner-ft { position: relative; width: 100%; margin: 0 auto; padding: 30px 0px;}
#ft h3 { margin-bottom: 30px; text-align: center;}
#ft h3 a { display: block; width: 45%; max-width: 160px; margin: 0 auto;}
#ft h3 a img { width: 100%;}
#ft ul { width: 100%; max-width: 780px; margin: 0 auto; font-size: 0px; text-align: center;}
#ft ul li { display: inline-block; padding: 0 12px; font-size: 12px; line-height: 1;}
#ft ul li:first-child{ border-left: none;}
#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: 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 { padding: 6px;}
	#ft ul li a { padding: 8px 0;}
	#ft .copyright p { font-size: 10px;}
}


.note ul li { font-size: 10px;}
.note ul li br.sp { display: none;}
@media (max-width: 481px) {
	.note ul li { font-size: 9px;}
	.note ul li br.sp { display: block;}
}

#kv { position: relative; width: 100%; margin: 0 auto;
 background: url('./img/kv.jpg') no-repeat 50% 0 / cover;
}
#kv .inner-kv { position: relative; width: 100%; margin: 0 auto;}
#kv .logo { width: 100%; position: absolute; left: 0; top: 13.5%; z-index: 10; text-align: center;}
#kv .logo img { width: 26%; max-width: 330px;}
#kv .bg { position: relative; width: 100%; padding-top: 660px; z-index: 1;}
#kv .bg img { display: none; width: 100%;}

#kv .txt { position: absolute; left: 0; top: 72%; width: 100%; z-index: 10;}
#kv .txt div { width: 92%; max-width: 1040px; margin: 0 auto;}
#kv .txt div h1 { color: #333; font-size: clamp(20px,2.4vw,26px); font-feature-settings: "palt"; letter-spacing: 0.06rem;}
#kv .txt div h1 sup { font-size: 12px; vertical-align: super; }

#kv .note { position: absolute; left: 0; bottom: 6%; width: 100%; z-index: 9;}
#kv .note ul { width: 90%; max-width: 1040px; margin: 0 auto;}
@media (max-width: 1281px) {
	#kv .bg { padding-top: 52%;}
}
@media (max-width: 1001px) {
}
@media (max-width: 801px) {
	#kv { background: none;}
	#kv .logo { width: 100%; position: absolute; left: 0; top: 4.5%; text-align: center;}
	#kv .logo img { width: 40%;}
	#kv .txt { top: 19.6%;}
	#kv .txt div h1 { font-size: 5.2vw; text-align: center;}
	#kv .txt div h1 span { display: block;}
	#kv .bg { padding-top: 0%; padding-bottom: 20px;}
	#kv .bg img { display: block;}
	#kv .note { bottom: 0;}
	#kv .note ul li br { display: none;}
}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
}


.ttl { position: relative; width: 88%; max-width: 1040px; margin: 0 auto;}
.ttl:after { content: ''; display: block; width: 100%; height: 1px; background: #ccc;
 position: absolute; left: 0; top: 50%;
}
.ttl h2 { position: relative; display: inline-block; padding: 0 40px 0 0; background: #fff; z-index: 2;
 font-size: 45px; font-weight: 600; letter-spacing: 0.2rem; line-height: 1;
}
@media (max-width: 481px) {
	.ttl h2 { padding: 0 20px 0 0; font-size: 32px;}
}

#story { position: relative; width: 100%; max-width: 1280px; margin: 0 auto;}
#story:after { content: ''; display: block; width: 200px; height: 1000px; 
 background: url('./img/bg-1.png') no-repeat 100% 0% / auto 100%;
 position: absolute; left: 0; top: -540px;
}
#story .inner-sct { position: relative; padding: 80px 0;}
#story .ttl { margin-bottom: 80px;}
#story .ctn { width: 88%; max-width: 1040px; margin: 0 auto; background: url('./img/img.jpg') no-repeat 100% 50% / 380px auto;}
#story .ctn .inner { padding-right: 300px;}
#story .ctn p { margin-bottom: 20px; font-size: 20px; font-weight: 600; letter-spacing: 0.1rem; line-height: 2;}
#story .ctn p sup { font-size: 12px; vertical-align: super;}
#story .ctn figure { display: none;}
#story .ctn figure img { width: 100%;}
#story .note {}
@media (max-width: 1001px) {
	#story .ctn p { font-size: 16px;}
}
@media (max-width: 801px) {
	#story:after { top: 50%; width: 150px; height: 800px;}
	#story .ttl { margin-bottom: 40px;}
	#story .ctn { background: none;}
	#story .ctn .inner { padding-right: 0px;}
	#story .ctn p { margin-bottom: 0px; font-size: 20px;}
	#story .ctn p sup { font-size: 10px;}
	#story .ctn p span { display: block;}
	#story .ctn figure { display: block; margin-bottom: 20px;}
}
@media (max-width: 481px) {
	#story:after { top: 35%; width: 100px; height: 500px;}
	#story .inner-sct { padding: 60px 0;}
	#story .ttl { margin-bottom: 20px;}
	#story .ctn p { font-size: 14px;}
}



#point .inner-sct { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; padding: 80px 0;}
#point .inner-sct:before,
#point .inner-sct:after { content: ''; display: block; height: 1000px; position: absolute;}
#point .inner-sct:before{ width: 260px; right: 0; top: 16%;
 background: url('./img/bg-2.png') no-repeat 0% 0% / auto 100%;
}
#point .inner-sct:after { width: 200px; left: 0; bottom: 20%;
 background: url('./img/bg-1.png') no-repeat 100% 0% / auto 100%;
}
#point .bloc { position: relative; z-index: 2; width: 92%; max-width: 1040px; margin: 0 auto; padding: 60px 0;}
#point .bloc#point1 { background: url('./img/point-1-fig.png') no-repeat 100% 50% / 500px auto;}
#point .bloc#point2 { background: url('./img/point-2-fig.png') no-repeat 100% 20% / 520px auto;}
#point .bloc#point4 { background: url('./img/point-4-fig.png') no-repeat 100% 50% / 540px auto;}
#point .bloc#point5 { background: url('./img/point-5-fig.jpg') no-repeat 100% 50% / 420px auto;}
#point .tit { margin-bottom: 20px;}
#point .tit h3 img { width: 180px;}
#point .bloc#point1 .ctn .txt { margin-bottom: 12px; padding-right: 380px;}
#point .bloc#point2 .ctn .txt { margin-bottom: 12px; padding-right: 360px;}
#point .bloc#point3 .ctn .txt { margin-bottom: 40px;}
#point .bloc#point4 .ctn .txt {}
#point .bloc#point5 .ctn .txt { margin-bottom: 12px; padding-right: 400px;}
#point .ctn h3 { margin-bottom: 12px; font-size: clamp(24px,3.0vw,30px); font-weight: 600; letter-spacing: 0.1rem;}
#point .ctn h3 sup{ font-size: 12px; vertical-align: super;}
#point .ctn h3 br.sp { display: none;}
#point .ctn p sup { font-size: 10px; vertical-align: super;}
#point .ctn p br.sp { display: none;}
#point .bloc .ctn .img { display: none;}
#point .ctn picture { width: 100%; max-width: 110px; margin: 0 auto;}
#point .ctn picture img { width: 100%;}
@media (max-width: 1001px) {
	#point .bloc#point1 { background-size: 400px auto;}
	#point .bloc#point2 { background-size: 460px auto;}
	#point .bloc#point4 { background-size: 420px auto;}
	#point .bloc#point5 { background-size: 420px auto;}
	#point .bloc#point1 .ctn .txt { margin-bottom: 12px; padding-right: 360px;}
	#point .bloc#point2 .ctn .txt { margin-bottom: 12px; padding-right: 400px;}
}
@media (max-width: 801px) {
	#point .inner-sct:before,
	#point .inner-sct:after { height: 800px;}
	#point .inner-sct:before{ width: 160px; top: 8%;}
	#point .inner-sct:after { width: 140px; bottom: 25%;}

	#point .bloc { width: 100%; padding: 40px 0;}
	#point .bloc#point1 { background: none;}
	#point .bloc#point2 { background: none;}
	#point .bloc#point4 { background: none;}
	#point .bloc#point5 { background: none;}
	#point .tit { width: 88%; margin: 0 auto;}
	#point .bloc .ctn .txt { width: 88%;}
	#point .bloc#point1 .ctn .txt { margin: 0 auto 20px; padding-right: 0px;}
	#point .bloc#point2 .ctn .txt { margin: 0 auto 20px; padding-right: 0px;}
	#point .bloc#point3 .ctn .txt { margin: 0 auto 20px; padding-right: 0px;}
	#point .bloc#point4 .ctn .txt { margin: 0 auto 12px; padding-right: 0px;}
	#point .bloc#point5 .ctn .txt { margin: 0 auto; padding-right: 0px;}

	#point .bloc .ctn .img { display: block;}
	#point .bloc .ctn .img figure { text-align: center;}
	#point .bloc .ctn .img figure img { width: 88%;}
	#point .bloc#point2 .ctn .img { margin-bottom: 30px;}
	#point .bloc#point4 .ctn .img figure img { width: 100%;}
	#point .bloc#point5 .ctn .img { margin-bottom: 12px;}
	#point .bloc#point5 .ctn .img figure img { width: 100%;}

	#point .ctn .note ul { width: 88%; margin: 0 auto;}
}
@media (max-width: 481px) {
	#point .inner-sct { padding: 20px 0;}
	#point .inner-sct:before,
	#point .inner-sct:after { height: 600px;}
	#point .inner-sct:before{ width: 100px; top: 11%; background: url('./img/bg-1.png') no-repeat 0% 0% / auto 100%;}
	#point .inner-sct:after { width: 100px; bottom: 22%;}
	#point .bloc { padding: 20px 0;}
	#point .bloc#point3 { background: url('./img/bg-2.png') no-repeat 280px 15% / 280px auto;}
	#point .bloc#point2 .ctn .img { margin-bottom: 20px;}

	#point .tit h3 img { width: 140px;}
	#point .ctn h3 { font-size: 18px; letter-spacing: 0.05rem;}
	#point .ctn h3 sup { font-size: 10px;}
	#point .ctn h3 br.sp { display: block;}
	#point .ctn p { font-size: 14px;}
	#point .ctn p br.pc { display: none;}
	#point .ctn p br.sp { display: block;}
	#point .ctn p span { display: block;}
}



#product { position: relative;}
#product .inner-sct { position: relative; padding: 80px 0; background: url('./img/bg-product.jpg') no-repeat 50% 0;}
#product .inner-sct:before,
#product .inner-sct:after { content: ''; display: block; width: 100%; height: 300px; position: absolute; left: 0;}
#product .inner-sct:before{ background: linear-gradient(#fff,rgba(255,255,255,0)); top: 0;}
#product .inner-sct:after { background: linear-gradient(rgba(255,255,255,0),#fff); bottom: 0;}
#product .bloc { position: relative; z-index: 5; padding: 80px 0;}
#product .ctn { display: flex; align-items: center; width: 88%; max-width: 1040px; margin: 0 auto;}
#product .ctn .img { width: 30%;}
#product .ctn .txt { width: 70%;}
#product .ctn .img figure { text-align: center;}
#product .ctn .img figure img { width: 80%; max-width: 180px;}
#product .ctn .txt .descript { position: relative; margin-bottom: 50px; padding-left: 130px;}
#product .ctn .txt .descript p.read { font-size: 24px; font-weight: 600; letter-spacing: 0.1rem;}
#product .ctn .txt .descript p.read sup { font-size: 10px; vertical-align: super;}
#product .ctn .txt .descript p.read br.sp { display: none;}
#product .ctn .txt .descript p.kome { font-size: 10px;}
#product .ctn .txt .descript p.aroma{ font-size: 16px;}
#product .ctn .txt .descript .flower { position: absolute; left: 0; top: 50%; width: 100px; transform: translateY(-50%);}
#product .ctn .txt .descript .flower img { width: 100%; border-radius: 50%; box-shadow: 4px 4px 8px #ccc;}
#product .ctn .txt .info { position: relative; padding-left: 80px;}
#product .ctn .txt .info:before { content: ''; display: block; width: 4px; height: 100%; background: #a5ccd4;
 position: absolute; left: 60px; top: 50%; transform: translateY(-50%);
}
#product .ctn .txt .info p.name { margin-bottom: 20px; font-size: 12px; line-height: 1.4;}
#product .ctn .txt .info p.name span { display: block;}
#product .ctn .txt .info p.name .eng { margin-bottom: 12px; font-size: 24px; font-weight: 700; letter-spacing: 0.1rem;}
#product .ctn .txt .info p.name br { display: none;}
#product .ctn .txt .info p.price { letter-spacing: 0.05rem;}
#product .note { position: relative; z-index: 5;}
#product .note ul { width: 88%; max-width: 1040px; margin: 0 auto; text-align: right;}
@media (max-width: 801px) {
	#product .inner-sct { padding: 40px 0; background: url('./img/bg-product@sp.jpg') no-repeat 50% 0 / 100% auto;}
	#product .bloc { padding: 60px 0;}
	#product .ctn .txt .descript { margin-bottom: 30px; padding-left: 100px;}
	#product .ctn .txt .descript p.read { font-size: 20px;}
	#product .ctn .txt .descript .flower { width: 80px;}
	#product .ctn .txt .info { padding-left: 50px;}
	#product .ctn .txt .info:before { left: 20px;}
}
@media (max-width: 641px) {
	#product .bloc { padding: 40px 0;}
	#product .ctn { position: relative; display: block; width: 100%;}
	#product .ctn .img { width: 25%; position: absolute; left: 0; top: 0;}
	#product .ctn .txt { width: 100%; padding: 0 40px;}
	#product .ctn .txt .descript { width: 100%; margin-bottom: 0px; padding-bottom: 30px; padding-left: 120px;}
	#product .ctn .txt .descript.item-1 { min-height: 230px; }
	#product .ctn .txt .descript.item-2 { min-height: 220px; }
	#product .ctn .txt .descript.item-3 { min-height: 230px; }
	#product .ctn .txt .descript.item-4 { min-height: 190px; }
	#product .ctn .txt .descript .flower { position: relative; left: auto; top: auto; transform: translateY(0);
	 width: 60px; margin: 0 0 -42px; padding-top: 12px;
	}
	#product .ctn .txt .descript p.aroma { padding-left: 80px;}
}
@media (max-width: 481px) {
	#product .bloc { padding: 32px 0;}
	#product .ctn .img { width: 32%;}
	#product .ctn .txt { padding: 0 20px;}
	#product .ctn .txt .descript { padding-left: 92px;}
	#product .ctn .txt .descript.item-1 { min-height: 190px; }
	#product .ctn .txt .descript.item-2 { min-height: 185px; }
	#product .ctn .txt .descript.item-3 { min-height: 190px; }
	#product .ctn .txt .descript.item-4 { min-height: 150px; }
	#product .ctn .txt .descript p.read { font-size: 14px; letter-spacing: 0.05rem;}
	#product .ctn .txt .descript p.read br.pc { display: none;}
	#product .ctn .txt .descript p.read br.sp { display: block;}
	#product .ctn .txt .descript .flower { width: 50px;}
	#product .ctn .txt .descript p.aroma { padding-left: 60px; font-size: 12px;}
	#product .ctn .txt .descript .flower { margin: 0 0 -36px;}
	#product .ctn .txt .descript .flower img { box-shadow: 2px 2px 4px #ddd;}

	#product .ctn .txt .info { padding-left: 36px;}
	#product .ctn .txt .info:before { left: 15px;}
	#product .ctn .txt .info p.name { margin-bottom: 12px; font-size: 11px;}
	#product .ctn .txt .info p.name .eng { margin-bottom: 6px; font-size: 18px;}
	#product .ctn .txt .info p.name br { display: block;}
	#product .ctn .txt .info p.price { font-size: 12px;}
}



#shop .inner-sct { width: 100%; max-width: 1280px; margin: 0 auto; padding: 80px 0;}
#shop .ttl { margin-bottom: 60px;}
#shop .tips{ margin-bottom: 20px;}
#shop .tips div { width: 90%; max-width: 1040px; margin: 0 auto;}
#shop .tips h3 { font-size: 24px; font-weight: 700; line-height: 1.2;}
#shop .tips h3 span { display: block; width: 50%; max-width: 520px; padding: 12px 20px;
 background: #a5ccd4; border-top-right-radius: 50px; border-bottom-right-radius: 50px; color: #fff;
}

#shop .flex { position: relative; display: flex; justify-content: space-between; flex-wrap: wrap;
 width: 88%; max-width: 1040px; margin: 0 auto 80px;
}
#shop .flex.center { align-items: center;}
#shop .ctn-1 { width: 32%;}
#shop .ctn-23 { width: 68%; display: flex; justify-content: space-between; }
#shop .ctn-45 { position: absolute; right: 0; bottom: 0; width: 66%; display: flex; justify-content: space-between;}
#shop .ctn-23 .ctn,
#shop .ctn-45 .ctn { width: 50%;}
#shop .ctn h3 { margin-bottom: 30px; text-align: center;}
#shop .ctn h3 img { width: 72%; max-width: 280px;}
#shop .ctn ul { text-align: center;}
#shop .ctn ul li { padding: 20px 0; font-size: 23px;}
#shop .ctn ul li a { color: #333; text-decoration: none;}
#shop .ctn ul.color2 li,
#shop .ctn ul.color2 li a { color: #c14042;}
#shop .ctn ul.color3 li,
#shop .ctn ul.color3 li a { color: #9c7d45;}
#shop .ctn ul li a:hover { text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}

#shop .ctn.order-21 { width: 33%; order: 2;}
#shop .ctn.order-32 { width: 33%; order: 3;}
#shop .ctn.order-13 { width: 33%; order: 1;}
#shop .ctn p {}
#shop .ctn p a { display: block; width: 90%; max-width: 320px; margin: 0 auto;}
#shop .ctn p img { width: 100%;}


#shop .shop-logo { width: 92%; max-width: 1100px; margin: 0 auto 20px;}
#shop .shop-logo ul { font-size: 0; text-align: center;}
#shop .shop-logo ul li { display: inline-block; width: 33%; vertical-align: top;}
#shop .shop-logo ul li ul li { display: block; width: 100%; padding: 40px 0;}
#shop .shop-logo ul li:last-child { display: block; width: 100%;}
#shop .shop-logo ul li:last-child ul li { display: inline-block; width: 33%; vertical-align: middle;}
#shop .shop-logo ul li ul li a { display: block; width: 90%; max-width: 320px; margin: 0 auto;}
#shop .shop-logo ul li ul li a img { width: 100%;}

#shop .note { text-align: center;}
#shop .note ul { display: inline-block; text-align: left;}
#shop .note ul li { position: relative; padding-left: 1.2em;}
#shop .note ul li:before { content: '※'; position: absolute; left: 0;}
@media (max-width: 1001px) {
	#shop .ctn ul li { padding: 16px 0; font-size: 20px;}
}
@media (max-width: 801px) {
	#shop .inner-sct { padding: 40px 0;}
	#shop .ttl { margin-bottom: 40px;}
	#shop .tips h3 { font-size: 20px;}
	#shop .flex{ margin: 0 auto 60px;}
	#shop .ctn ul li { padding: 12px 0; font-size: 16px;}
}
@media (max-width: 641px) {
	#shop .flex{ flex-wrap: wrap;}
	#shop .ctn-1 { width: 50%;}
	#shop .ctn-23 { width: 50%; display: block;}
	#shop .ctn-45 { position: relative; right: auto; bottom: auto; width: 100%; padding-top: 30px;}
	#shop .ctn-23 .ctn { width: 100%;}
	#shop .ctn-23 .ctn:last-child { padding-top: 20px;}

	#shop .ctn.order-21 { width: 50%; order: 1;}
	#shop .ctn.order-32 { width: 50%; order: 2;}
	#shop .ctn.order-13 { width: 50%; order: 3; padding-top: 60px;}

	#shop .note ul { margin: 0 auto;}
}
@media (max-width: 481px) {
	#shop .inner-sct { padding: 30px 0;}
	#shop .ttl { margin-bottom: 20px;}
	#shop .flex{ margin: 0 auto 40px;}
	#shop .tips{ margin-bottom: 12px;}
	#shop .tips h3 { font-size: 14px;}
	#shop .tips h3 span { padding: 4px 8px;}
	#shop .ctn h3 { margin-bottom: 12px;}
	#shop .ctn ul li { padding: 4px 0; font-size: 12px;}

	#shop .ctn.order-13 { padding-top: 40px;}

	#shop .shop-logo ul li { width: 50%; vertical-align: top;}
	#shop .shop-logo ul li:last-child { display: inline-block; width: 50%;}
	#shop .shop-logo ul li ul li { padding: 12px 0; width: 100%;}
	#shop .shop-logo ul li:last-child ul li { display: block; width: 100%;}
		#shop .shop-logo ul li ul li:last-child { width: 100%;}
}
