@charset "utf-8";
/* CSS Document */


html {scroll-behavior: smooth;}
:target { scroll-margin-top: calc(280vw / 19.2); }

body {
	color:#f5ecdf; background-color:#522721; font-size:calc(22 * 0.054vw); line-height: 1.8;
	font-family: "Zen Kaku Gothic New","Yu Gothic", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif; font-weight:500;
	margin: 0 auto; height: 100%; overflow-x:hidden;
}

*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box;-o-box-sizing: border-box;  -ms-box-sizing: border-box;box-sizing: border-box;}

.cr { font-family: "Crimson Text", serif, sans-serif; font-weight: 500; font-style: normal;}
.biz { font-family: "BIZ UDPMincho", serif, sans-serif; font-weight: 500; font-style: normal;}
.italic { font-style:italic; }

.rl { -ms-writing-mode: tb-rl;  writing-mode: vertical-rl;}

.fs8vw { font-size:calc(8 * 0.054vw); }
.fs9vw { font-size:calc(9 * 0.054vw); }
.fs10vw { font-size:calc(10 * 0.054vw); }
.fs12vw { font-size:calc(12 * 0.054vw); }
.fs14vw { font-size:calc(14 * 0.054vw); }
.fs15vw { font-size:calc(15 * 0.054vw); }
.fs16vw { font-size:calc(16 * 0.054vw); }
.fs17vw { font-size:calc(17 * 0.054vw); }
.fs18vw { font-size:calc(18 * 0.053vw); }
.fs19vw { font-size:calc(19 * 0.053vw); }
.fs20vw { font-size:calc(20 * 0.052vw); }
.fs21vw { font-size:calc(21 * 0.052vw); }
.fs22vw { font-size:calc(22 * 0.052vw); }
.fs23vw { font-size:calc(23 * 0.052vw); }
.fs24vw { font-size:calc(24 * 0.052vw); }
.fs25vw { font-size:calc(25 * 0.052vw); }
.fs26vw { font-size:calc(26 * 0.052vw); }
.fs27vw { font-size:calc(27 * 0.052vw); }
.fs28vw { font-size:calc(28 * 0.052vw); }
.fs29vw { font-size:calc(29 * 0.052vw); }
.fs30vw { font-size:calc(30 * 0.052vw); }
.fs31vw { font-size:calc(31 * 0.052vw); }
.fs32vw { font-size:calc(32 * 0.052vw); }
.fs33vw { font-size:calc(33 * 0.052vw); }
.fs34vw { font-size:calc(34 * 0.052vw); }
.fs35vw { font-size:calc(35 * 0.052vw); }
.fs36vw { font-size:calc(36 * 0.052vw); }
.fs37vw { font-size:calc(37 * 0.052vw); }
.fs38vw { font-size:calc(38 * 0.052vw); }
.fs40vw { font-size:calc(40 * 0.052vw); }
.fs44vw { font-size:calc(44 * 0.052vw); }
.fs45vw { font-size:calc(45 * 0.052vw); }
.fs46vw { font-size:calc(46 * 0.052vw); }
.fs48vw { font-size:calc(48 * 0.052vw); }
.fs50vw { font-size:calc(50 * 0.052vw); }
.fs52vw { font-size:calc(52 * 0.052vw); }
.fs54vw { font-size:calc(54 * 0.052vw); }
.fs56vw { font-size:calc(56 * 0.052vw); }
.fs58vw { font-size:calc(58 * 0.052vw); }
.fs60vw { font-size:calc(60 * 0.052vw); }
.fs62vw { font-size:calc(62 * 0.052vw); }
.fs63vw { font-size:calc(63 * 0.052vw); }
.fs65vw { font-size:calc(65 * 0.052vw); }
.fs66vw { font-size:calc(66 * 0.052vw); }
.fs68vw { font-size:calc(68 * 0.052vw); }
.fs70vw { font-size:calc(70 * 0.052vw); }
.fs72vw { font-size:calc(72 * 0.052vw); }
.fs73vw { font-size:calc(73 * 0.052vw); }
.fs75vw { font-size:calc(75 * 0.052vw); }
.fs80vw { font-size:calc(80 * 0.052vw); }
.fs86vw { font-size:calc(86 * 0.052vw); }
.fs90vw { font-size:calc(90 * 0.052vw); }
.fs100vw { font-size:calc(100 * 0.052vw); }
.fs110vw { font-size:calc(110 * 0.052vw); }
.fs160vw { font-size:calc(160 * 0.052vw); }



img { border: none; vertical-align: middle; }

img.top { vertical-align: top; }
img.bottom { vertical-align: bottom; }
img.banner { border: solid 1px #DDD; }

input,button,textarea { appearance:none; -webkit-appearance:none; font-family: inherit; font: inherit; color: inherit; }
button { border: none; cursor:pointer; background: none; }


address, em { font-style: normal; }

mark { background: linear-gradient(#fbe2ac, #fbe2ac) 0 100% / 0 0.3em no-repeat; background-size: 100% 0.3em; }

a { color: #000000; text-decoration: none; }
a.underline { text-decoration:underline; }

a:hover, input[type="submit"]:hover, input[type="reset"]:hover {
	opacity: 0.9; filter: alpha(opacity=90); -ms-filter: "alpha( opacity=90 )";
}
strong,em {font-weight: 700;}

.position_r { position:relative; z-index:1; }
.position_a { position:absolute; z-index:0 }

.circle { display:inline-block; border-radius:50vmax; }

/*********** class ****************************************/


/********** float ************/
.c-both { clear: both; }
.clearfix:after { content: ""; clear: both; display: block; }
.left { float: left; }
.right { float: right; }
.center { display: block; margin-left: auto; margin-right: auto; text-align: center; }
.text_right { margin-left:auto; margin-right:0; text-align:right; }
.text_left { margin-right:auto; margin-left:0; text-align:left; }
/******* end float **********/

/******* flex box ***********/
.flex {display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;justify-content: space-between;}
.height {justify-content: space-evenly; flex-wrap: wrap; align-items: stretch;}
.flex.start {justify-content: flex-start;}
.flex.wrap { flex-wrap:wrap; }
.flex.center { justify-content:center; }
/* image parent cover *******/
.fit { object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }
.fit img {
	margin: auto; width: 100%; min-height: 100%; object-fit: cover; font-family: 'object-fit: contain;';
	position: absolute; top: 0; left: 0; bottom: 0; right: 0;
}
/****** grid ***************/
.grid { display:grid; }

/****** layout ********/
.inner {width: calc(1760vw / 19.2); margin: 0 auto;}
.middle_inner {width: calc(1640vw / 19.2); margin: 0 auto;}
.low_inner {width: calc(1420vw / 19.2); margin: 0 auto;}
.minimum_inner {width: calc(1080vw / 19.2); margin: 0 auto;}

.heading { width: 100%; }
.cover { width: 100%; height:100%; object-fit:cover; }

/* image parent cover *******/
.fit { position: relative; object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }

dl.table { display:table; width:100%; }
dl.table dt,dl.table dd { display:table-cell; }

p.indent { text-indent: -1em; margin-left: 1em; }


/****** display ********/

.pc { display: unset; }
.pc_tb { display:unset; }
.tb_sp { display:none; }
.sp { display: none; }

.black { color:#000000; }
.white { color:#FFFFFF; }
.cream { color:#f5ecdf; }
.brown { color:#522721; }
.dark_brown { color:#321d19; }
.gold { color:#f8c385; }
.straw { color:#e3bc66; }
.apricot { color:#eebb80; }

.bg_white { background-color:#FFFFFF; }
.bg_cream { background-color:#f8f2ea; }
.bg_red { background-color:#e60021; }
.bg_deep_red { background-color:#c44343; }
.bg_brown { background-color:#522721; }
.bg_chocolate { background-color:#321d19; }
.bg_gold { background-color:#f8c385; }
.bg_orange { background-color:#ab2e23; }
.bg_blue { background-color:#232355; }
.bg_yellow { background-color:#b37719; }
.bg_green { background-color:#6e792a; }
.bg_purple { background-color:#6e4b6c; }
.bg_gray { background-color:#d6d3d2; }

.bg_Original { background-color:rgba(181,47,35,0.9); }
.bg_Chocolate { background-color:rgba(30,35,91,0.9); }
.bg_Cheese { background-color:rgba(190,128,24,0.9); }
.bg_Pistachio { background-color:rgba(116,131,44,0.9); }
.bg_EarlGray { background-color:rgba(117,80,117,0.9); }



.ttl { position:relative; margin-block-start: 0; margin-block-end: 1em; padding: 0 0 1em 0; font-weight:700; letter-spacing: 0.05em; }
.ttl .ja { display:block; }
.ttl .slug { display:block; font-weight: 500; }

.ttl.center::after { left:0; right:0; margin:auto; }


.more {
	display: flex; align-items: center; justify-content: center; margin-block-start:2em; margin-block-end:2em;
	position:relative; width: calc(240vw / 19.2); height: calc(60vw / 19.2); border-radius:50vmax; border:solid 1px #f5ecdf; color:#f5ecdf;
}

.more .en { margin-left: 1em; margin-right:1em; }




/** animation **************************/
.decoration { z-index: 0; top:0; overflow: hidden; width: 100%; margin-inline: auto; }

.decoration .loop { animation: loop 50s linear infinite; width: max-content; display: flex; align-items: center; }
.decoration .loop .logo { margin:0 0.3em 0 0.75em; width:calc(95vw / 19.2); aspect-ratio: 95 / 147;}
.decoration .loop.second{ position: absolute; top: 0; left: 0; animation: loop 50s -25s linear infinite;}

@keyframes loop { 0%{ transform: translateX(100%); } 100%{ transform: translateX(-100%); } }


.scale_in {overflow: hidden;}
.scale_in img { -webkit-transform: scale(1); transform: scale(1); -webkit-transition: .3s ease-in-out; transition: .3s ease-in-out; overflow:hidden; }
.scale_in img:hover { -webkit-transform: scale(1.05); transform: scale(1.05); }


.loop-slider { width: 100%; overflow: hidden;}
.loop-slider .slider_track { display: flex; width: max-content; gap: 0; }
.loop-slider .slide { flex: 0 0 auto; }
.loop-slider .slide img { display: block; }

.fade_in { opacity: 0; transition: opacity 0.8s ease; }
.fade_in.active { opacity: 1; }

.fade_svg_out.active { animation: fadeOut 2s ease forwards; animation-delay: 3.8s; }
.fade_out.active { animation: fadeOut 1s ease forwards; animation-delay: 0.6s; }



@keyframes fadeOut {
	to { opacity: 0;visibility: hidden; }
}

.fade_svg_anime { position:absolute; inset:0; z-index:2; display:grid; place-items:center; width:100% ;height:100%; object-fit:cover; }
.fade_anime { position:absolute; inset:0; z-index:2; display:grid; place-items:center; width:100% ;height:100%; object-fit:cover; }

/* 波形で1枚目画像が消えるアニメ（clip-path を JS で制御：js/main.js） */
.wave_out { will-change: clip-path; }


.fade_up { opacity: 0; transform:translateY(2vw); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade_up.active { opacity:1; transform: translateY(0); }

.fade_left { opacity: 0; }
.fade_left.active {
	opacity: 1;

	/* 右端をぼかしながら表示 */
	mask-image: linear-gradient(
		to right,
		black 0%,
		black 75%,
		transparent 100%
	);
	mask-repeat: no-repeat;
	mask-size: 0% 100%;
	mask-position: left;

	-webkit-mask-image: linear-gradient(
		to right,
		black 0%,
		black 75%,
		transparent 100%
	);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 0% 100%;
	-webkit-mask-position: left;

	animation: fade_mask 2s ease forwards;
}

@keyframes fade_mask {
	to {
		mask-size: 120% 100%;
		-webkit-mask-size: 120% 100%;
	}
}


.c_sauce_right_bg { width:calc(407vw / 19.2); aspect-ratio: 407 / 855; z-index:0; }
.c_sauce_left_bg { width:calc(506vw / 19.2); aspect-ratio: 506 / 854; z-index:0; }
.logo_bottom { width:calc(100vw / 19.2); aspect-ratio: 50 / 16; }

.page_header_sauce_right_bg { width:calc(512vw / 19.2); aspect-ratio: 512 / 497; z-index:0; inset:0 0 auto auto; }



.arabesque { width:calc(34vw / 19.2); aspect-ratio: 17 / 24; }
.arabesque_left { width:calc(34vw / 19.2); aspect-ratio: 17 / 24; transform: scaleX(-1); }

.shadow { filter:drop-shadow(0 0 0.96em rgba(25,11,9,0.4)); }


main {  }

#loading {
    width: 100%;
    height: 100svh;
    position: fixed;
    inset: 0;
    overflow: hidden;
    z-index: 9999;
}

#loading .loading_logo {
    place-content: center;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    background: #e60021;
}

/* 波アニメーション完了後：フェードアウト（JSから is-done クラスが付与される） */
#loading.is-done {
    animation: loadingFadeOut 0.7s ease-out forwards;
    pointer-events: none;
}

@keyframes loadingFadeOut {
    to { opacity: 0; visibility: hidden; }
}

#loading .loading_logo .logo_wrapper { width: calc(550vw / 19.2); aspect-ratio: 550 / 181; }

#loading .loading_logo .logo_wrapper .logo1 {
    width: calc(387vw / 19.2); aspect-ratio: 387 / 151;
    position: absolute; inset: 0 0 0 auto; margin: auto;
    opacity: 0; animation: logo1 1.7s ease forwards; animation-delay: 0.3s;
}
#loading .loading_logo .logo_wrapper .logo2 {
    width: calc(118vw / 19.2); aspect-ratio: 118 / 142;
    position: absolute; inset: 0 auto auto 0;
    opacity: 0; animation: logo2 0.9s ease forwards; animation-delay: 0.4s;
}
#loading .loading_logo .logo_wrapper .logo3 {
    width: calc(92vw / 19.2); aspect-ratio: 92 / 29;
    position: absolute; inset: auto auto 0 calc(13vw / 19.2);
    opacity: 0; animation: logo3 2s ease forwards; animation-delay: 0.4s;
}

@keyframes logo1 { 0% { opacity: 0; } 100% { opacity: 1; } }
@keyframes logo2 { 0% { opacity: 0; } 100% { opacity: 1; } }
@keyframes logo3 {
    0%   { opacity: 0; }
    20%  { opacity: 0; }
    60%  { opacity: 1; transform: rotate(0); }
    70%  { opacity: 1; transform: rotate(8deg); }
    80%  { opacity: 1; transform: rotate(-12deg); }
    100% { opacity: 1; transform: rotate(0); }
}


.fade_in { opacity: 0; transition: opacity 0.8s ease; }
.fade_in.active { opacity: 1; }


#header { width: 100%; height: 0; position:fixed; inset: 0; z-index:9998; }
#header .logo { position: absolute; inset: 0; margin: 0; padding:1em 1em 1.1em 1em; z-index: 1001; width:calc(134vw / 19.2); height: max-content; }
#header .logo a img { width:calc(90vw / 19.2); aspect-ratio: 102 / 176; }

#header #hamburger { position: absolute; inset:0 0 auto auto; z-index: 1001; caret-color: transparent; width: calc(90vw / 19.2); aspect-ratio:1 / 1; display:grid; place-content: center; }
#header #hamburger .bar {
	display: block; width: calc(50vw / 19.2); height: 1px;
	transition: transform 0.3s ease, opacity 0.3s ease;transform-origin: center center; transform: none;
}
#header #hamburger .bar_1 { margin-block-end:calc(14vw / 19.2); }
#header #hamburger .bar_2 { margin-block-end:calc(14vw / 19.2); }

#header #hamburger.active .bar_1 { transform: translateY(var(--offset)) rotate(45deg); }
#header #hamburger.active .bar_2 { opacity:0; }
#header #hamburger.active .bar_3 { transform: translateY(calc(var(--offset) * -1)) rotate(-45deg); }

#header #drawer {
	position: fixed;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0,0,0,0.5);display: flex; opacity:0;transition: opacity 0.3s ease; pointer-events:none;
	justify-content: flex-start;align-items: flex-start; z-index: 1000;
}
#header #drawer.open {opacity:1; pointer-events:auto;}
#header #drawer .drawer_content {
	width: 100%;height: 100%;transform: translateX(200%);transition: transform 0.3s ease; grid-template-rows: 20em;
	background-image: url(../img/footer_bg.webp); background-size: cover;
}

#header #drawer.open .drawer_content {transform: translateX(0);justify-content: space-between;}

#header #drawer .drawer_content .drawer_content_thumb { width:50%; height: 100svh; aspect-ratio: 8 / 9; }
#header #drawer .drawer_content .drawer_content_text { width: 50%; display:grid; place-content: center; }

#header #drawer .drawer_content .drawer_content_text .menu_list { margin-block-end:2em; }
#header #drawer .drawer_content .drawer_content_text .menu_list .page_list { list-style-type:none; margin: 0 1em 0 1em; padding: 0; }
#header #drawer .drawer_content .drawer_content_text .menu_list .page_list .page { margin:0.5em 0 0.5em 0; }
#header #drawer .drawer_content .drawer_content_text .menu_list .section_list { list-style-type:none; padding: 0; }
#header #drawer .drawer_content .drawer_content_text .menu_list .section_name { align-items:center; }
#header #drawer .drawer_content .drawer_content_text .menu_list .section_name i { margin-right:1em; }

#header #drawer .drawer_content .drawer_content_text .drawer_content_sns { align-items: center; }

#header #drawer .drawer_content .drawer_content_text .drawer_content_sns .en { position:relative; width:max-content; padding-right:calc(87vw / 19.2); margin-right:1em; }
#header #drawer .drawer_content .drawer_content_text .drawer_content_sns .en::after { content:""; position:absolute; inset:0 0 0 auto; margin:auto; width:calc(65vw / 19.2); height:1px; background-color:#f5ecdf; }
#header #drawer .drawer_content .drawer_content_text .drawer_content_sns .icon { line-height: 1.2; }
#header #drawer .drawer_content .drawer_content_text .drawer_content_sns .icon .fa-instagram { font-size:max(29px,calc(30 * 0.052vw)); }


#footer { background-image:url(../img/footer_bg.webp); background-position:center center; background-size:cover; padding: 8em 0 2em 0; }
#footer .logo { display: block; width:calc(350vw / 19.2); aspect-ratio: 350 / 143; margin-block-end: 2em; }
#footer .site_info { width:calc(400vw / 19.2); }
#footer .site_info .tel_box { margin-block-end:0; }
#footer .site_info .tel_box .tel { line-height:1.3; }
#footer .menu_list { width:calc(590vw / 19.2); }

#footer .menu_list .page_list { list-style-type:none; margin: 0 1em 0 1em; padding: 0; }
#footer .menu_list .page_list .page { margin:0.5em 0 0.5em 0; }
#footer .menu_list .section_list { list-style-type:none; padding: 0; }
#footer .menu_list .section_name { align-items:center; }
#footer .menu_list .section_name i { margin-right:1em; }

#footer .copy { margin-block-start: 4em; }

#page_top {
	position: fixed; bottom: 0; right: 0; z-index: 100; display: grid; place-items: center;
	width: calc(90vw / 19.2); height: calc(90vw / 19.2); opacity:0; pointer-events:none; transition:opacity 0.4s ease;
}
#page_top.show { opacity:1; pointer-events:auto; }


.page_header {
	place-items: center; overflow:hidden; width:100%; height:calc(740vw / 19.2);
	background-image:url(../img/page_header_bg.webp); background-position:center bottom -1px; background-size:100%; background-repeat:no-repeat;
}
.page_header .page_ttl { margin-block-start: 0; margin-block-end: 3em; }
.page_header .page_ttl .seasonal { display:block; letter-spacing: 0.08em; }
.page_header .page_ttl .ja { display:block; letter-spacing: 0.08em; }
.page_header .page_ttl .slug { display:block; }
.page_header .c_sauce_right_bg { inset:-10em 0 auto auto; }

.page_wrapper { padding:4em 0 18em 0; }
.page_wrapper .decoration { top:auto; bottom:0; }



#page_header_store {
	height:calc(1620vw / 19.2); background-image:url(../img/page_header_bg_long.webp); place-content: center;
}


#pistachio.page_header {height:calc(1620vw / 19.2); background-image:url(../img/page_header_bg_long.webp); place-content: center; }
#cheese.page_header { height: calc(1400vw / 19.2); padding-bottom: 7em; background-image:url(../img/page_header_bg_long_brown.webp); place-content: center; }
#special_assortment.page_header { height:calc(1620vw / 19.2); background-image:url(../img/page_header_bg_long_brown.webp); place-content: center; }

#pistachio.page_header .c_sauce_right_bg { inset: 0 0 auto auto; }
#cheese.page_header .c_sauce_right_bg { inset: 5em 0 auto auto; }
#special_assortment.page_header .c_sauce_right_bg { inset: 5em 0 auto auto; }



/******** home *****************************************/

.loop_slider { width: 100%; overflow: hidden;}
.loop_slider .slider_track { display: flex; width: max-content; gap: 0; }
.loop_slider .slide { flex: 0 0 auto; }
.loop_slider .slide img { display: block; }

.loop_slider .slide { margin: 0 calc(20vw / 19.2) 0 0; }
.loop_slider .slide .top_bottom_slider_img { width:calc(1394vw / 19.2); height:calc(700vw / 19.2); }


.item_list_slider { }
.item_list_slider .slide.item_box { width: calc(271vw / 19.2); height: calc(271vw / 19.2); }


#fv { width:100%; aspect-ratio: 16 / 9; height: 100svh; overflow: hidden; }

/* ローディングの波が引くのに合わせてFV画像をズームアウト（初期値:拡大 → 最終:等倍） */
#fv .cover { transform: scale(1.06); transform-origin: center center; will-change: transform; }
#fv.is-revealing .cover { transform: scale(1); transition: transform 3.6s ease-out; }

#fv .fv_sns { inset:calc(520vw / 19.2) auto auto 1.9em; display: grid; place-items: center;}
#fv .fv_sns .en { position: relative; display: block; line-height: 1; padding-bottom:calc(87vw / 19.2); margin-bottom:1em; }
#fv .fv_sns .en::after { content:""; position:absolute; inset:auto 0 0 0; margin:auto; width:1px; height:calc(65vw / 19.2); background-color:#f5ecdf; }
#fv .fv_sns .icon .fa-instagram { font-size:max(29px,calc(30 * 0.052vw)); }



#fv .scroll_down { inset:auto 0 calc(120vw / 19.2) 0; margin:auto; line-height: 1; text-align: center; }
#fv .scroll_down:before { position:absolute; display:block; content: ""; top: calc(40vw / 19.2); left: calc(50% - 1px); margin: auto; width: 1px; height: calc(80vw / 19.2); background: #f5ecdf;}

#fv .scroll_down:after {
	position:absolute; display:block; content: ""; top: calc(40vw / 19.2); left: -0.5px; right:0; margin: auto; width: 0.572916vw; height: 0.572916vw; border-radius: 100vmax;
	background: #f5ecdf; animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove{
	0%{ top: calc(40vw / 19.2); }
	100%{ top: calc(120vw / 19.2); }
}
@keyframes cirlemovehide{
	0%{opacity:0}
	50%{opacity:1;}
	80%{opacity:0.9;}
	100%{opacity:0;}
}


#top_story { padding:14em 0 6em 0 }
#top_story .thumb { display:block; width:calc(1070vw / 19.2); aspect-ratio: 107 / 85; overflow: hidden; }
#top_story .text { width:calc(740vw / 19.2); padding:4em 2em 2em 0; }
#top_story .text .summary { line-height: 2.5; margin-block-end: 3em; letter-spacing: 1.71px; }




#top_commitments { padding: 2em 0 4em 0; }
#top_commitments .content {  }
#top_commitments .content .box { width:calc(520vw / 19.2); margin-block-start:2em; }
#top_commitments .content .box .circle { width:calc(96vw / 19.2); aspect-ratio: 1 / 1; display: grid; place-items: center; position:absolute; inset:-0.6em auto auto -0.2em; z-index: 2; }
#top_commitments .content .box .thumb { width:calc(520vw / 19.2); aspect-ratio: 29 / 23; border-top-left-radius:6em; }
#top_commitments .content .box figcaption {  }
#top_commitments .content .box figcaption dt {  }
#top_commitments .content .box figcaption dt .item_name { align-items: center; margin-block-end: 0; }
#top_commitments .content .box figcaption dt .item_name strong { margin:0 0.5em 0 0.5em; letter-spacing: 1.71px; }
#top_commitments .content .box figcaption dt .slug {  }
#top_commitments .content .box figcaption dd { margin:0; padding:1em 0 0 0; letter-spacing: 0.8px; }

#top_commitments .c_sauce_right_bg { inset:-25em 0 auto auto; }

/* 遅延 */
#top_commitments .content .box.fade_up.active:nth-child(3n+2) { transition-delay: 0.2s; }
#top_commitments .content .box.fade_up.active:nth-child(3n+3) { transition-delay: 0.4s; }



#top_flavor { background-image:url(../img/home/top_flavor_bg.webp); background-position:center bottom; background-size:100%; background-repeat:no-repeat; }
#top_flavor .top_flavor_wrapper { padding:6em 0 8em 0; }
#top_flavor .top_flavor_wrapper::before { content:""; position:absolute; inset:0; width:100%; height:1px; border-top:dashed 1px #f5ecdf; }


#top_flavor .content { padding-bottom:5em; }
#top_flavor .text { width: calc(820vw / 19.2); }
#top_flavor .thumb { width:calc(750vw / 19.2); aspect-ratio: 75 / 53; }
#top_flavor .text .summary { margin-block-start: 2em; letter-spacing: 0.8px; }

#top_flavor .item_list {  }
#top_flavor .item_list .item_box { width: calc(271vw / 19.2); margin: 0.25em; }
#top_flavor .item_list .item_box .item_img { width: calc(271vw / 19.2); height: calc(271vw / 19.2); }
#top_flavor .item_list .item_box .circle { display:grid; place-items:center; width: calc(102vw / 19.2); aspect-ratio: 1 / 1; z-index: 2; inset: 0 0 auto auto; }


/* 遅延 */
#top_flavor .item_list .item_box.fade_up.active:nth-child(5n+2) { transition-delay: 0.1s; }
#top_flavor .item_list .item_box.fade_up.active:nth-child(5n+3) { transition-delay: 0.2s; }
#top_flavor .item_list .item_box.fade_up.active:nth-child(5n+4) { transition-delay: 0.3s; }
#top_flavor .item_list .item_box.fade_up.active:nth-child(5n+5) { transition-delay: 0.4s; }


@keyframes popBounce {
	0%   { transform: translateY(0); }
	40%  { transform: translateY(-14px); }
	70%  { transform: translateY(-8px); }
	100% { transform: translateY(-10px); }
}

#top_flavor .item_list .item_box:hover { animation: popBounce 0.45s ease forwards; }


#top_products { padding: 2em 0 8em 0; }

#top_products .content { margin-block-start: 2em; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(3, 1fr); grid-column-gap: 0px; grid-row-gap: 0px; }

#top_products .box { width:calc(780vw / 19.2); }
#top_products .box.grid1 { grid-area: 1 / 1 / 2 / 2; }
#top_products .box.grid2 { grid-area: 1 / 2 / 2 / 3; padding:4em 0 0 0; }
#top_products .box.grid3 { grid-area: 2 / 1 / 3 / 2; }
#top_products .box.grid4 { grid-area: 2 / 2 / 3 / 3; padding:4em 0 0 0; }
#top_products .box.grid5 { grid-area: 3 / 1 / 4 / 2; }
#top_products .box.grid6 { grid-area: 3 / 2 / 4 / 3; padding:4em 0 0 0; }

#top_products .boxnth-child(odd) { grid-column: 1; }
#top_products .box:nth-child(even) { grid-column: 3; }


#top_products .box .thumb { display:block; width:100%; aspect-ratio: 1 / 1; }


/* 波形ワイプ（1枚目→2枚目）の開始タイミングは js/main.js でカラム毎にずらして制御 */

#top_products .box .text {  }
#top_products .box .text dt {  }
#top_products .box .text dd { margin:0; }
#top_products .box .text dd p { white-space: nowrap; }
#top_products .box .text dt .item_name { letter-spacing: 0.08em; }
#top_products .box .text dt .slug { display:block; }




#top_news { padding:10em 0 8em 0; background-image:url(../img/home/top_news_bg.webp); background-size:100%; background-position:center top; background-repeat:no-repeat; }
#top_news .decoration { top: -5em; }

#top_news .top_news_list {  }
#top_news .top_news_list .box { width:calc(420vw / 19.2); margin:calc(80vw / 19.2) calc(80vw / 19.2) 0 0; }
#top_news .top_news_list .box:nth-of-type(3n) { margin:calc(80vw / 19.2) 0 0 0; }
#top_news .top_news_list .box .thumb { display:block; width:100%; aspect-ratio: 3 / 2; overflow: hidden; filter:drop-shadow(0 0 0.96em rgba(25,11,9,0.4)); }
#top_news .top_news_list .box .thumb img { width:100%; height:100%; object-fit:cover; }

#top_news .top_news_list .box .text {  }
#top_news .top_news_list .box .text dd { margin:0; }

#top_news .c_sauce_left_bg { inset:-10em auto auto 0; }



#top_store {  }
#top_store .top_store_wrapper { padding:6em 0 8em 0; }
#top_store .top_store_wrapper::before { content:""; position:absolute; inset:0; width:100%; height:1px; border-top:dashed 1px #f5ecdf; }

#top_store .c_sauce_right_bg { inset:-10em 0 auto auto; }


#top_store .text { width: calc(680vw / 19.2); }
#top_store .thumb { width: calc(680vw / 19.2);}

#top_store .store_detail dt { padding: 0 0 0.5em 0; letter-spacing: 0.08em; }
#top_store .store_detail dd { margin:0; letter-spacing: 0.8px; }



/****** products ******************************/


.products {
	padding: 1em 0 4em 0; z-index:2;
	background-image:url(../img/products/products_bg.webp); background-position:center bottom; background-size:100%; background-repeat:no-repeat;
}
.products .products_wrapper { margin-block-end:6em; }

.products .products_wrapper .text { width: calc(820vw / 19.2); z-index: 1; position: relative; }
.products .products_wrapper .text .product_name { margin-block-start: 3em; }
.products .products_wrapper .text .product_name .ja { display:block; font-weight: 500; letter-spacing: 0.08em; }
.products .products_wrapper .text .product_name .slug {  }
.products .products_wrapper .text .summary { letter-spacing: 0.02em; }
.products .products_wrapper .text .summary .space {display: block;margin-block-end: 0.75em;}
.products .products_wrapper .text .price { margin-block-end: 1.5em; }
.products .products_wrapper .text .box { letter-spacing: 0.02em; }
.products .products_wrapper .text .box dt { border:solid 1px #f5ecdf; padding: 0.3em 0.75em 0.4em 0.75em; }
.products .products_wrapper .text .box dd { margin:0; padding: 1em 0 1em 0; }

.products .products_wrapper .showcase_gallery { width: calc(800vw / 19.2); }
.products .products_wrapper .showcase_gallery .main_thumb_wrap { position: relative;overflow: hidden; width:100%; aspect-ratio: 1 / 1; margin-block-end:calc(20vw / 19.2); }
.products .products_wrapper .showcase_gallery .main_thumb_wrap .main_thumb { position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease;}
.products .products_wrapper .showcase_gallery .main_thumb_wrap .main_thumb.active { opacity: 1; z-index: 1; }

.products .products_wrapper .showcase_gallery .thumb_list {  }
.products .products_wrapper .showcase_gallery .thumb_list a { width: calc(125vw / 19.2); aspect-ratio: 1 / 1; margin:0 calc(10vw / 19.2) calc(10vw / 19.2) 0; }
.products .products_wrapper .showcase_gallery .thumb_list a:nth-of-type(6n) { margin:0 0 calc(10vw / 19.2) 0; }

.products .products_wrapper .showcase_gallery .thumb_list .thumb_list a .sub_thumb { cursor: pointer;opacity: .5;transition: opacity .3s ease; }
.products .products_wrapper .showcase_gallery .thumb_list .thumb_list a .sub_thumb.active,
.products .products_wrapper .showcase_gallery .thumb_list .thumb_list a .sub_thumb.sub_thumb:hover { opacity: 1; }



.products .popup_shop { border:solid 1px #f5ecdf; padding: 0.5em; margin-block-end: 4em; }
.products .popup_shop .border_dotted { border:dashed 1px #f5ecdf; border-radius: 0.5em; padding: 3em 4em 1em 4em; }

.products .popup_shop .popup_shop_ttl { position:relative; padding: 0 0 0.5em 0; margin-block-start:0; margin-block-end:1.5em; letter-spacing: 0.08em; }

.products .popup_shop .popup_shop_ttl::after { content:""; position:absolute; inset:auto 0 0 0; margin:auto; width:3.6em; height:1px; background-color:#f5ecdf; }

.products .popup_shop .popup_shop_list {  }
.products .popup_shop .popup_shop_list .popup_shop_box { width: calc(580vw / 19.2); }
.products .popup_shop .popup_shop_box dt { border-bottom:solid 1px #f5ecdf; padding: 0 0 0.5em 0; letter-spacing: 0.04em; }
.products .popup_shop .popup_shop_box dd { margin:0; }
.products .popup_shop .popup_shop_box dd p { letter-spacing: 0.04em; }
.products .popup_shop .popup_shop_box dd .link_box .more { margin-right:1em; }

.products .c_sauce_left_bg { inset:auto auto 32em 0; }



/****** story *********************************/

#story {
	padding: 0.1em 0 4em 0; z-index:2;
	background-image:url(../img/story/story_bg.webp); background-position:center bottom; background-size:100%; background-repeat:no-repeat;
}

#story .story_wrapper { margin-block-end:2em; }

#story .text { width:50%; }
#story .thumb { width:50%; margin-block-start: 8em; place-content: center; }
#story .story_logo { width:calc(327vw / 19.2); aspect-ratio: 327 / 671; }
#story .story_logo1 { width:calc(327vw / 19.2); aspect-ratio: 327 / 329; }
#story .story_logo2 { width:calc(327vw / 19.2); aspect-ratio: 327 / 69; opacity: 0; animation: logo3 2s ease forwards; animation-delay: 0.8s;}
#story .story_logo3 { width:calc(327vw / 19.2); aspect-ratio: 327 / 273; transition-delay:0.4s; }


#story .text .catch { margin-block-start: 0; margin-block-end: 2.2em; letter-spacing: 0.08em; }
#story .text .catch em { font-weight:500; }
#story .text .story_word { line-height: 2; letter-spacing: 0.08em; }
#story .text .story_word p { margin-block: 1.5em; }

#story .popup_img { display: grid; justify-items: center; grid-template-columns: repeat(3, 1fr);grid-template-rows: 1fr;grid-column-gap: 0px;grid-row-gap: 0px; margin-block-end: 4em; }

#story .popup_img .grid1 { width:calc(520vw / 19.2); grid-area: 1 / 1 / 2 / 2; margin-block-start: 4em;}
#story .popup_img .grid2 { width:calc(520vw / 19.2); grid-area: 1 / 2 / 2 / 3; margin-block-start: 8em; }
#story .popup_img .grid3 { width:calc(520vw / 19.2); grid-area: 1 / 3 / 2 / 4; margin-block-start: 12em; }
#story .popup_img .popup_img_thumb { width:100%; aspect-ratio: 29 / 23; }


#story .popup_img .grid2 .popup_img_thumb.fade_up.active { transition-delay: 0.3s; }
#story .popup_img .grid3 .popup_img_thumb.fade_up.active { transition-delay: 0.6s; }

#story .c_sauce_left_bg { inset:auto auto 29em 0; }


/****** store *********************************/


#store { padding: 1em 0 6em 0; }
#store .store_wrapper { border-bottom:dashed 1px #f5ecdf; padding: 0 0 6em 0;}

#store .catch { margin-block-start: 0; margin-block-end: 2em; letter-spacing: 0.08em; }
#store .summary { margin-block-end: 6em; letter-spacing: 0.04em; }

#store .store_box {  }
#store .store_box .text { width:calc(770vw / 19.2); }
#store .store_box .gmap { width:calc(800vw / 19.2); height:calc(760vw / 19.2); min-height:320px; }

#store .store_box .text .box { margin: 0; border-bottom:dashed 1px #f5ecdf; }
#store .store_box .text .box:last-of-type { border: none;}
#store .store_box .text .box dt { width:8em; margin: 0; padding:1em 0 1em 0; }
#store .store_box .text .box dt .flex { align-items:center; }
#store .store_box .text .box dt .flex i { line-height: 1; margin-right:1em; }
#store .store_box .text .box dt .flex span { line-height: 1; }
#store .store_box .text .box dd { margin: 0; padding:1em 0 1em 0; }




#store_news {
	padding: 1em 0 4em 0; z-index:2;
	background-image:url(../img/store/store_news_bg.webp); background-position:center bottom; background-size:100%; background-repeat:no-repeat;
}

#store_news .store_news_wrapper .summary { letter-spacing: 0.04em; }

#store_news .store_news_list {  }
#store_news .store_news_list .box { width:calc(420vw / 19.2); margin:calc(80vw / 19.2) calc(80vw / 19.2) 0 0; }
#store_news .store_news_list .box:nth-of-type(3n) { margin:calc(80vw / 19.2) 0 0 0; }
#store_news .store_news_list .box .thumb { display:block; width:100%; aspect-ratio: 3 / 2; overflow: hidden; filter:drop-shadow(0 0 0.96em rgba(25,11,9,0.4)); }
#store_news .store_news_list .box .thumb img { width:100%; height:100%; object-fit:cover; }

#store_news .store_news_list .box .text {  }
#store_news .store_news_list .box .text dd { margin:0; }




#store_news .link_box { margin-block-end: 4em; }
#store_news .link_box .more { margin:1em 1em 1em 1em; }




#store_products { padding: 1em 0 10em 0; }
#store_products .c_sauce_right_bg { inset:0 0 auto auto; }

#store_products .store_products_wrapper { padding: 4em 0 4em 0; width: 100%; margin: 0; overflow: hidden; }

#store_products .gallery_swiper { width: 140%; margin: 0 -20% 0 -20%; }
/* 操作時の切り替わりをゆっくり滑らかに */
#store_products .gallery_swiper .swiper-wrapper { transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); }
#store_products .box { width: calc(740vw / 19.2); }
#store_products .box .thumb { display:block; width: 100%; aspect-ratio: 74 / 64; }

#store_products .box .text dd { margin:0; }
#store_products .box .text dd p { letter-spacing: 0.03em; }
#store_products .box.swiper-slide .text {  }
#store_products .box.swiper-slide .text dt .item_name { letter-spacing: 0.08em; }
#store_products .box.swiper-slide .text dt .slug { display:block; }

#store_products .swiper-button-prev svg, #store_products .swiper-button-next svg {
	display: none;
}
#store_products .swiper-button-prev { display: flex; justify-content: center; align-items: center; top:30%; left: 32.5%; width: calc(80vw / 19.2); height: calc(80vw / 19.2);}
#store_products .swiper-button-next { display: flex; justify-content: center; align-items: center; top:30%; right: 32.5%; width: calc(80vw / 19.2); height: calc(80vw / 19.2);}

#store_products .decoration { top: auto; bottom: 0; }



/****** news *********************************/

.page_content .column_left { width: calc(960vw / 19.2); }
.page_content .column_right { width: calc(360vw / 19.2); }

.column_right .widget_block h2.wp-block-heading {
	position:relative; font-family: "BIZ UDPMincho", serif, sans-serif; font-weight: 500; font-style: normal; padding:0.2em 1em 0.2em 2em; font-size:calc(28 * 0.052vw);
	border-bottom: solid 1px #f5ecdf;
}
.column_right .widget_block h2.wp-block-heading::before { position: absolute; top: 0.1em; left: 0; font-family: 'Font Awesome 7 Pro'; font-size: calc(30 * 0.052vw); color: #f8c385; font-weight: 700; }

.column_right .widget_block:nth-of-type(1) h2.wp-block-heading::before {content: "\f872";}
.column_right .widget_block:nth-of-type(2) h2.wp-block-heading::before {content: "\f660";}
.column_right .widget_block:nth-of-type(3) h2.wp-block-heading::before {content: "\f187";}

.column_right .widget_block .wp-block-categories-list .cat-item a { position:relative; display: block; padding-left:1.3em; }
.column_right .widget_block .wp-block-categories-list .cat-item a::before {
	position: absolute; top: 0.2em; left: 0; font-family: 'Font Awesome 7 Pro'; font-size: calc(20 * 0.052vw); color: #f5ecdf; font-weight: 100;
	content: "\23";
}

.column_right .widget_block a { color:#f5ecdf; }

.column_right .widget_block ul { list-style-type: none; margin: 0; padding: 0 0 1em 0; }
.column_right .widget_block ul li { border-bottom: dashed 1px #f5ecdf; margin: 0; padding: 0.5em 0 0.5em 0; font-size:calc(20 * 0.052vw); }

.column_right .widget_block .wp-block-archives-list {
	display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: flex-start; flex-wrap:wrap;
}
.column_right .widget_block .wp-block-archives-list li { width:49%; border-bottom: none; }
.column_right .widget_block .wp-block-archives-list li a { position:relative; padding-left:1em; }
.column_right .widget_block .wp-block-archives-list li a::before {
	position: absolute; top: 1.3em; left: 0; font-size: calc(9 * 0.052vw); color: #f8c385;
	content: "●";
}


.column_left .post { padding-bottom:4em; }

.column_left .attachment-post-thumbnail { width:100%; height: auto; }


.column_left .posted-on { display:inline-block; margin-right:1em; }
.column_left .cat-links a { color:#f8c385; }

.column_left .archive_ttl { position:relative; font-size: 1em; margin-block-end: 4em; padding-bottom: 0.5em; }
.column_left .archive_ttl .slug { display:block; width:max-content; line-height: 1.5; margin: 0 auto 0.5em auto; padding:0.1em 0.75em 0.1em 0.75em; border:solid 1px #f8c385; border-radius:50vmax; }
.column_left .archive_ttl .ja {  }
.column_left .archive_ttl::after { content:""; position:absolute; inset:auto 0 0 0; margin:auto; width:3.6em; height:1px; background-color:#f5ecdf; }


.column_left .entry-header { border-bottom:solid 1px #f5ecdf; padding:0 0 0.25em 0; margin-block-end:2em; }




.column_left span.page-numbers {
	display:inline-block; font-size: calc(20 * 0.054vw); background-color:#f8c385; color:#321d19; width:calc(46vw / 19.2); height:calc(46vw / 19.2); line-height:calc(46vw / 19.2); text-align:center; margin-right:0.8vw;
}
.column_left a.page-numbers {
	display:inline-block; font-size: calc(20 * 0.054vw); color:#321d19; background-color: #fdf6f0; width:calc(46vw / 19.2); height:calc(46vw / 19.2); line-height:calc(46vw / 19.2); text-align:center; margin-right:0.8vw;
}
.column_left a.next.page-numbers { width:calc(90vw / 19.2); font-size: calc(20 * 0.054vw); }
.column_left a.prev.page-numbers { width:calc(90vw / 19.2); margin-right:0.8vw; font-size: calc(20 * 0.054vw); }

.column_left .page-numbers.dots { font-family: auto; color:#f5ecdf; background:none; }


.column_left .navigation {  }
.column_left .navigation:after { content: ""; clear: both; display: block; }
.column_left .navigation a { color:#f5ecdf; }
.column_left .navigation .nav-next { width:46%; float:right; }
.column_left .navigation .nav-previous { width:46%; float:left; }
.column_left .navigation .meta-nav { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items:center; font-size:calc(19 * 0.053vw); }
.column_left .navigation .nav-next .meta-nav { justify-content: flex-end; }
.column_left .navigation .nav-previous .meta-nav { justify-content: flex-start; }
.column_left .navigation .meta-nav svg { margin-left:0.5em; }
.column_left .navigation .post-title { font-size:calc(16 * 0.054vw); }

.column_left .entry-content p .space {padding-inline-start: 4.25em;display: block;}

/****** bland *********************************/



#bland {  }

#bland .brand_box { padding:calc(70vw / 19.2); border:solid 1px #f5ecdf; margin-block-end:2em; }
#bland .brand_box .text { width:calc(780vw / 19.2); }
#bland .brand_box .thumb { width:calc(450vw / 19.2); aspect-ratio: 450 / 378; }
#bland .brand_box .text .brand_ttl { border-left:solid 7px #f8c385; margin-block-start:0; margin-block-end: 2em; padding: 0 0 0 1.5em;}
#bland .brand_box .text .brand_ttl .brand_name { display:block; letter-spacing: 0.05em; }
#bland .brand_box .text .description { letter-spacing: 0.05em; }
#bland .brand_box .text .link_box { margin-block-start: 2em; }
#bland .brand_box .text .link_box i { margin-right:0.5em; }
#bland .brand_box .text .link_box a { margin-right:1em; }


/****** faq *********************************/

#faq_hero { padding:0 0 4em 0; }
#faq_hero .cat_box .btn {
	display: flex; align-items: center; justify-content: center; margin: 0 0.5em 0 0.5em; width: calc(340vw / 19.2); height: calc(65vw / 19.2); border:solid 1px #f5ecdf; border-radius: 50vmax;
}
#faq_hero .cat_box .btn i { margin-left:0.5em; }


#faq {  }
#faq .faq_subttl { position:relative; border-bottom:solid 1px #f5ecdf; padding:0 0 0.5em 1em; }
#faq .faq_subttl::before { content:""; position:absolute; inset:0 auto 0 0; width:7px; height:1.75em; background-color:#f8c385; }

#faq .faq_wrapper { padding:0 0 4em 0; }

#faq .list_box { width:calc(1360vw / 19.1); margin:0 auto; }
#faq .list_box .list { padding:0.6em; }
#faq .list_box .list .q_icon {
	width: calc(70vw / 19.2); height: calc(70vw / 19.2); display:flex; justify-content: center; align-items: center; border-radius:3px;
	top: 0; left: 0; line-height: 1.2;
}
#faq .list_box .list .a_icon {
	width: calc(70vw / 19.2); height: calc(70vw / 19.2); display:flex; justify-content: center; align-items: center; border-radius:3px;
	top: 0.7em; left: 0; line-height: 1.2;
}

#faq .list_box .list dt { cursor: pointer; caret-color: transparent; margin: 0; padding: 0.5em 0 0.85em 4em; }
#faq .list_box .list dt .icon {top: 0.5em; right: 0.5em; }
#faq .list_box .list dd { margin: 0; max-height: 0; overflow: hidden; transition: max-height 0.3s ease; font-weight: 600; }
#faq .list_box .list dd .a_inner { margin: 0.65em 0 0 0; padding: 0.6em 1.5em 1em 4em; border-top: dashed 1px #522721; }

/****** contact *****************/

#contact_hero { padding:0 0 4em 0; border-bottom:dotted 1px #f5ecdf; letter-spacing: 0.05em; }


#contact_hero .tel_box { border:solid 1px #f5ecdf; margin-block-start: 2em; padding:2em; }
#contact_hero .tel_box dt { border-right:solid 1px #f5ecdf; }
#contact_hero .tel_box dd .tel_btn { line-height: 1.3; }
#contact_hero .tel_box dd .hours { display:block; }



#mailform { padding:4em 0 4em 0; }

#mailform .box { border-bottom:dotted 1px #f5ecdf; margin-block-start: 0; margin-block-end: 0;}

#mailform .box .field { width:16em; padding: 2em 0 2em 0; vertical-align: top;}
#mailform .box .field p { margin:0; }
#mailform .box .field .field_name {  }
#mailform .box .field .required { display:inline-block; padding:0.1em 0.5em 0.1em 0.5em; border-radius:4px; }
#mailform .box .field .any { display:inline-block; padding:0.1em 0.5em 0.1em 0.5em; border-radius:4px; }

#mailform .box .text { margin:0; padding: 1em 0 1em calc(26em / 18); }
#mailform .box .text .memo { display:block; }




#mailform .box input[type=text],
#mailform .box input[type=tel],
#mailform .box input[type=email] { padding: 0.7em; width: 100%; border:solid 1px #696a75; background-color:#f8f2ea; color: #321d19; }
#mailform .box textarea { padding: 0.7em; width: 100%; height:14em; font-size: 1em; font-family: inherit; border: none; background-color:#f8f2ea; color: #321d19; }

#mailform .box .select_wrapper {position: relative;width: 18em;}

#mailform .box .select_wrapper select {
	-webkit-appearance: none;-moz-appearance: none;appearance: none;width: 100%;padding: 0.7em 2.5em 0.7em 0.7em;
	border: solid 1px #696a75;background-color: #f8f2ea;border-radius: 0;font: inherit;color: #321d19;line-height: inherit;letter-spacing: inherit;cursor: pointer;
}


#mailform .box .select_wrapper select::-ms-expand {display: none;}

#mailform .box .select_wrapper::after {
	content: "\f078";font-family: "Font Awesome 7 Pro";font-weight: 100;
	position: absolute;top: 50%;right: 0.9em;transform: translateY(-50%);pointer-events: none;font-size: 0.9em;color: #696a75;
}

input:focus,
select:focus,
textarea:focus {
	outline: none;
}

#mailform .box label { display: inline-block; }
#mailform .box input[type=checkbox] { height: 1.5em; width: 1.5em; margin:0 0.6em 0.15em 0; border: none; background-color:#f8f2ea; vertical-align: middle;}
#mailform .box input[type=checkbox]:checked { border: 1px solid #0060df; background-color: #0060df;}
#mailform .box input[type=checkbox]::before {
	content: ""; display: block; position: relative; left: 0.5em; top: 1px; width: 6px; height: 12px; border: solid white; border-width: 0 3px 3px 0; transform: rotate(45deg);
}
#mailform .box input[type=checkbox]:focus-visible { outline: 2px solid #004aaa; outline-offset: 2px;}

#mailform .box label { cursor:pointer; }
.wpcf7-list-item { margin: 0;}
.wpcf7-not-valid-tip { color: #f8c385; }


#mailform .send_btn {
	display:flex; align-items:center; justify-content: center; border-radius:50vmax; width: calc(320vw / 19.2); height: calc(70vw / 19.2);
	border: solid 1px #f5ecdf; background: none; margin-block-start:3em;
}
#mailform .send_btn i { right: 1em; }
#mailform .send_btn:hover { background-color:#f5ecdf; color:#321d19; }
#mailform .send_btn:hover i { color:#321d19; }

.grecaptcha-badge {
	visibility: hidden;
}
/****** privacy ******************************/
#privacy .summary { letter-spacing: 0.05em; }

#privacy .list { counter-reset: num; padding: 0; }
#privacy .list .box { list-style: none; counter-increment: num; position: relative; padding: 2em 0 2em 1.5em; border-bottom: dashed 1px #f5ecdf; letter-spacing: 0.05em; }

#privacy .list .box::before { content: counter(num) ".";position: absolute;left: 0;top: 2em; font-size: calc(24 * 0.052vw); color: #f8c385; }

#privacy .list .box dl { margin: 0; }
#privacy .list .box dl dt { margin: 0; padding: 0 0 1em 0; }
#privacy .list .box dl dd { margin: 0; }

#privacy .list .box dl dd ol { counter-reset: num2; margin: 0; padding: 1em 0 0 1.5em; }
#privacy .list .box dl dd ol li { list-style: none; counter-increment: num2; position: relative; padding: 0 0 0 0.5em; }
#privacy .list .box dl dd ol li::before { content:"（" counter(num2) "）";position: absolute; top: 0; left: -2em; font-size: calc(20 * 0.052vw); color:#f5ecdf; }

#privacy .list .box address { border: solid 1px #f5ecdf; margin-block-start: 1em; padding: 1em 1em 1em 1em; width: 100%; }
#privacy .list .box address p { margin-block-start:0; }



/**** 404 search *********************************/
#not_found { padding:8em 0 8em 0; }
#search { padding:8em 0 8em 0; }

