@charset "utf-8";
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var, b, i,dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, dialog, figure, footer, header,hgroup, menu, nav, section,time, mark, audio, video {list-style:none;margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
body { line-height:1;}
article, aside, dialog, figure, footer, header,hgroup, nav, section { display:block;}
nav ul { list-style:none;}
li { margin:0; padding:0;}
blockquote, q { quotes:none;}
blockquote:before, blockquote:after,q:before, q:after { content:''; content:none;}
a {margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;background:transparent;}
ins { background-color:#ff9; color:#4a4a4a; text-decoration:none;}
mark { background-color:#ff9; color:#040404; font-style:italic; font-weight:bold;}
del { text-decoration: line-through;}
abbr[title], dfn[title] { border-bottom:1px dotted #040404; cursor:help;}
table { border-collapse:collapse; border-spacing:0;}
hr { display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0;}
input, select { vertical-align:middle;}
input[type="submit"], input[type="button"],input[type="checkbox"],input[type="radio"],input[type="text"] { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
main {position:relative;}
body * {box-sizing: border-box;}
:root {--pink: #cd2e6d;--pink-light: #f7d6e4;--pink-dark: #a82059;--brown: #8d481c;--green: #0a800c;--green-light: #e8f5e8;--white: #ffffff;--off-white: #faf8f8;--gray-100: #f4f1f1;--gray-200: #e8e4e4;--gray-400: #b0a8a8;--gray-700: #5a5050;--text: #1d1111;--cream: #fff8ef;--bgbrown: #fce7d7;--bgpink: #fff4fb;--bggreen: #f9fff3;--nav-h: 72px;--radius: 12px;--radius-sm: 6px;--shadow: 0 4px 24px rgba(119,55,54,.10);--shadow-md: 0 8px 40px rgba(119,55,54,.15);}
html { scroll-behavior: smooth; }
body {font-family: "Noto Sans JP", sans-serif;-webkit-font-smoothing: antialiased;font-weight: 400;color: var(--gray-700);font-size: 16px;line-height: 1.8;background: url(../img/fv_bg.png) top center no-repeat;background-size: 120%;}
body.nobg {background:none;}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

.en {font-family: "Caprasimo", serif;font-weight: 400;font-style: normal;}
.en-bg {font-family: "Caprasimo", serif;font-weight: 400;font-style: normal;position: absolute;pointer-events: none;user-select: none;line-height: 1;letter-spacing: -.01em;white-space: nowrap;}
.section-bg-en { position: absolute; left: 50%; transform: translateX(-50%); font-family: "Caprasimo", serif; font-weight: 400; font-style: normal; font-size: clamp(7rem, 15vw, 15rem); line-height: .85; letter-spacing: -.01em; color: rgba(205,46,109,.06); pointer-events: none; user-select: none; white-space: nowrap; z-index: 0; }
.section-bg-en.top {top: .1em;}
.section-bg-en.bottom { bottom: -2vw; }
.section-bg-en.green-ink { color: rgba(10,128,12,.07); }
.section-bg-en.brown-ink {color: rgba(119,55,54,.08);}
.section-bg-en.white-ink { color: rgba(255,255,255,.08); }
.section-bg-en.top-left,
.section-bg-en.top-right,
.section-bg-en.bottom-left,
.section-bg-en.bottom-right,
.section-bg-en.right-edge {top: 0;}
br.sp {display:none;}
@media (max-width:1700px) {
body { background-size: 1700px; }
}
@media (max-width:400px) {
body { font-size:3.8vw;}
br.sp {display:inline;}
br.pc {display:none;}
}
.midashi1 {font-weight: 900;line-height: 1.45;letter-spacing: .08em;font-size: 270%;color: var(--text);}
.midashi2 {display: flex;align-items: center;gap: 1em;margin-bottom: 1em;flex-wrap: wrap;}
.midashi2.inner {margin-bottom:1em;}
.midashi2:is(h2, h3, h4, h5, h6) {color: #333;font-size: 300%;font-weight: 800;}
.midashi2 *:is(h2, h3, h4, h5, h6) {color: #333;font-size: 300%;font-weight: 800;}
.midashi2 p {color: var(--pink);font-weight: 400;font-size: 137.5%;letter-spacing: .04em;}
.midashi3:is(h2, h3, h4, h5, h6) {color: #333;font-size: 180%;font-weight: 800; margin-bottom:.5em; }
.midashi4 {font-size: 130%;font-weight: 800;color: var(--brown);border-left: 4px solid var(--brown);padding-left: 1em;margin-bottom:1em;}
.midashi5 {font-size: 130%;font-weight: 800;margin-bottom: .5em;}
.midashiline { border-bottom:1px solid var(--gray-200); margin-bottom:2em; padding-bottom:1em;}
.midashiline *:first-child {font-size: 180%;font-weight: 800;}
.midashiline .en {color: var(--brown);}

.alink { color:var(--pink);font-weight:800;  border-bottom:1px solid;}
.alink.window {background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20width%3D%22512%22%20height%3D%22512%22%20x%3D%220%22%20y%3D%220%22%20viewBox%3D%220%200%2024%2024%22%20style%3D%22enable-background%3Anew%200%200%20512%20512%22%20xml%3Aspace%3D%22preserve%22%20class%3D%22%22%3E%3Cg%3E%3Cpath%20d%3D%22M21%202H7a1%201%200%200%200-1%201v3H3a1%201%200%200%200-1%201v14a1%201%200%200%200%201%201h14a1%201%200%200%200%201-1v-3h3a1%201%200%200%200%201-1V3a1%201%200%200%200-1-1zm-5%2018H4V8h2v9a1%201%200%200%200%201%201h9zm4-4H8V4h12zm-9-9a1%201%200%200%201%201-1h5a1%201%200%200%201%201%201v5a1%201%200%200%201-2%200V8h-4a1%201%200%200%201-1-1z%22%20data-name%3D%2257%20Pop%20Up%22%20fill%3D%22%23cd2e6d%22%20opacity%3D%221%22%20data-original%3D%22%23000000%22%20class%3D%22%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E') 
 no-repeat center right; background-size:1.2em; padding-right:1.2em;}
@media (max-width: 880px) {
.midashi1 {font-size: 175%;font-feature-settings: "palt";}
.section-bg-en {font-size:18vw}
.midashi2 {gap:0em;}
.midashi2 p { width:100%;}
.midashi2 *:is(h2, h3, h4, h5, h6) { font-size: 250%;}
.midashi3:is(h2, h3, h4, h5, h6) {font-size: 130%; }
}
@media (max-width:400px) {
.midashi4 {font-size: 115%;}
}


/* ============================
 Layout Utilities
============================ */
.container {width: 100%;max-width: 1200px;margin-inline: auto;padding-inline: 4%;position: relative;z-index: 1;}
.container-wide { width: 100%; max-width: 1360px; margin-inline: auto; padding-inline: 40px; position: relative; z-index: 1;}
.section-pad {padding-block: 3em;}
@media (max-width:880px) {
.container-wide {padding-inline:4%;overflow-x: clip;}
}


.section-label {display: inline-flex;align-items: center;gap: .5em;color: var(--pink);font-family: "Caprasimo", serif;font-weight: 400;font-size: 137.5%;letter-spacing: .04em;margin-bottom:1em;justify-content: center;width: 100%;}
.section-label::before,
.section-label::after { content: ''; height: 2px; width: 28px; background: var(--pink); border-radius: 2px;}
.section-label.txtl {text-align:left;margin: 0;justify-content: left;}
.section-title { text-align: center; margin-bottom: .5em; position: relative;}

.section-sub {text-align: center;color: var(--gray-700);margin-bottom: 3em;font-size: 100%;}

.btn {display: inline-flex;align-items: center;gap: .5em;padding: 15px 30px;border-radius: 999px;font-size: 100%;font-weight: 700;cursor: pointer;transition: all .2s ease;white-space: nowrap;}

.btn-primary { background: var(--pink); color: var(--white); box-shadow: 0 4px 0 var(--pink-dark), 0 8px 20px rgba(205,46,109,.22);}
.btn-primary:hover { background: var(--pink-dark); transform: translateY(-2px); box-shadow: 0 6px 0 #6b0a2f, 0 12px 24px rgba(205,46,109,.35); }
.btn-primary:active { transform: translateY(2px); box-shadow: 0 2px 0 var(--pink-dark); }

.btn-outline { background: var(--white); color: var(--pink); border: 2px solid var(--pink); box-shadow: 0 3px 0 var(--pink-light);}
.btn-outline:hover { background: var(--pink); color: var(--white); transform: translateY(-2px); }

.btn-green { background: var(--green); color: var(--white); box-shadow: 0 4px 0 #076609;}
.btn-green:hover { background: #076609; transform: translateY(-2px); }

.link-arrow { color: var(--pink); padding:0 1.6em 0 0; font-weight: 700; transition: all .2s; background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20300%20300%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23cd2e6d%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M150%2C0C67.1569977%2C0%2C0%2C67.1569977%2C0%2C150c0%2C82.8410034%2C67.1569977%2C150%2C150%2C150s150-67.1589966%2C150-150C300%2C67.1569977%2C232.8430023%2C0%2C150%2C0ZM195.7079926%2C160.1589966c-.7310028.7310028-1.5330048%2C1.348999-2.3679962%2C1.8860016l-56.2949982%2C56.2949982c-2.7339935%2C2.7359924-6.3179932%2C4.1029968-9.9020004%2C4.1029968s-7.1660004-1.3670044-9.9020004-4.1029968c-5.4700012-5.4700012-5.4700012-14.3399963%2C0-19.8079987l48.5090027-48.5160065-48.2649994-48.2649994c-5.4700012-5.4729996-5.4700012-14.3399963%2C0-19.8079987%2C5.4700012-5.4700012%2C14.3379974-5.4670029%2C19.8079987-.0029984l56.0460052%2C56.0430069c.8350067.5370026%2C1.6369934%2C1.154007%2C2.3650055%2C1.8860016%2C2.7960052%2C2.7960052%2C4.1450043%2C6.4790039%2C4.0820007%2C10.1459961.0659943%2C3.6649933-1.280014%2C7.345993-4.0780182%2C10.1439972Z%22%2F%3E%3C%2Fsvg%3E') no-repeat right center; background-size:1.2em; display: inline; }
.link-arrow:hover { background-position-x:right .2em; opacity:.8;}

.link-arrow.green {color: var(--green);background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20300%20300%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23076609%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M150%2C0C67.1569977%2C0%2C0%2C67.1569977%2C0%2C150c0%2C82.8410034%2C67.1569977%2C150%2C150%2C150s150-67.1589966%2C150-150C300%2C67.1569977%2C232.8430023%2C0%2C150%2C0ZM195.7079926%2C160.1589966c-.7310028.7310028-1.5330048%2C1.348999-2.3679962%2C1.8860016l-56.2949982%2C56.2949982c-2.7339935%2C2.7359924-6.3179932%2C4.1029968-9.9020004%2C4.1029968s-7.1660004-1.3670044-9.9020004-4.1029968c-5.4700012-5.4700012-5.4700012-14.3399963%2C0-19.8079987l48.5090027-48.5160065-48.2649994-48.2649994c-5.4700012-5.4729996-5.4700012-14.3399963%2C0-19.8079987%2C5.4700012-5.4700012%2C14.3379974-5.4670029%2C19.8079987-.0029984l56.0460052%2C56.0430069c.8350067.5370026%2C1.6369934%2C1.154007%2C2.3650055%2C1.8860016%2C2.7960052%2C2.7960052%2C4.1450043%2C6.4790039%2C4.0820007%2C10.1459961.0659943%2C3.6649933-1.280014%2C7.345993-4.0780182%2C10.1439972Z%22%2F%3E%3C%2Fsvg%3E') no-repeat right center;background-size:1.2em;}
.link-arrow.brown {color: var(--brown);background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20300%20300%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%238d481c%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M150%2C0C67.1569977%2C0%2C0%2C67.1569977%2C0%2C150c0%2C82.8410034%2C67.1569977%2C150%2C150%2C150s150-67.1589966%2C150-150C300%2C67.1569977%2C232.8430023%2C0%2C150%2C0ZM195.7079926%2C160.1589966c-.7310028.7310028-1.5330048%2C1.348999-2.3679962%2C1.8860016l-56.2949982%2C56.2949982c-2.7339935%2C2.7359924-6.3179932%2C4.1029968-9.9020004%2C4.1029968s-7.1660004-1.3670044-9.9020004-4.1029968c-5.4700012-5.4700012-5.4700012-14.3399963%2C0-19.8079987l48.5090027-48.5160065-48.2649994-48.2649994c-5.4700012-5.4729996-5.4700012-14.3399963%2C0-19.8079987%2C5.4700012-5.4700012%2C14.3379974-5.4670029%2C19.8079987-.0029984l56.0460052%2C56.0430069c.8350067.5370026%2C1.6369934%2C1.154007%2C2.3650055%2C1.8860016%2C2.7960052%2C2.7960052%2C4.1450043%2C6.4790039%2C4.0820007%2C10.1459961.0659943%2C3.6649933-1.280014%2C7.345993-4.0780182%2C10.1439972Z%22%2F%3E%3C%2Fsvg%3E') no-repeat right center;background-size:1.2em;}

/* ============================
 Paw-icon button (shares .btn-primary visual)
============================ */
.btn-paw { display: inline-flex; align-items: center; gap: .5em; padding: 15px 30px; border-radius: 999px;font-weight: 800; cursor: pointer; font-size: 120%; white-space: nowrap; background: var(--brown); color: var(--white); transition: all .2s ease;}
* + .btn-paw {margin-top:1.5em;}
.btn-paw:hover { background: #a8531d; transform: translateY(-2px); box-shadow: 0 6px 0 #714311, 0 12px 24px rgb(205 133 46 / 35%);}
.btn-paw:active { transform: translateY(2px); box-shadow: 0 2px 0 var(--pink-dark);}
.btn-paw .btn-paw-icon { width: 18px; height: 18px; flex-shrink: 0; filter: brightness(0) invert(1); transition: transform .3s ease;}
.btn-paw:hover .btn-paw-icon { transform: rotate(-12deg) scale(1.1);}
.btn-paw .btn-paw-arrow { margin-left: 2px; transition: transform .2s;}
.btn-paw:hover .btn-paw-arrow { transform: translateX(4px);}

.btn-paw.green { background: var(--green); }
.btn-paw.green:hover { background: #0f9612; box-shadow: 0 6px 0 #076609, 0 12px 24px rgb(46 205 87 / 35%);}
.btn-paw.pink { background: var(--pink); }
.btn-paw.pink:hover { background: #ef327d; box-shadow: 0 6px 0 var(--pink-dark), 0 12px 24px rgb(205 46 81 / 35%);}

@media (max-width:880px) {
.btn-paw {width:100%;text-align:center;justify-content: center;}
}
@media (max-width:550px) {
.btn-paw { padding: .8em 1em .8em 1em; }
}

/* ============================
 Photo Placeholder
============================ */
.photo-placeholder { width: 100%;}
.photo-placeholder svg { opacity: .5; }

/* ============================
 Header / Floating Chips
============================ */
#site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; pointer-events: none; background: transparent; height: auto; transition: top .3s ease;}
#site-header.scrolled {}
.header-inner { max-width: initial; margin: 0 auto; display: flex; align-items: flex-start; height: auto; padding-inline: 0;}
.site-logo { pointer-events: auto; display: flex; align-items: center; padding: 20px 30px 25px 20px; margin: 0; background: rgba(255,255,255,.88); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-radius: 0 0 50px 0; box-shadow: 0 6px 24px rgba(119,55,54,.10), 0 1px 2px rgba(119,55,54,.06); border: 1px solid rgba(255,255,255,.8); transition: box-shadow .25s, transform .25s; margin-right: auto; 
position: absolute; z-index: 2; width: 182px;}
.site-logo:hover { transform: translateY(-1px); box-shadow: 0 10px 30px rgba(119,55,54,.15); }
.site-logo img {height: 84px;width: auto;}
.main-nav { display: none; }

@media (min-width: 1101px) {
.main-nav {pointer-events: auto;display: flex;align-items: center;gap: 4px;padding: 8px 490px 8px 5px;background: rgb(141 72 28);backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);box-shadow: 0 6px 24px rgba(119,55,54,.10), 0 1px 2px rgba(119,55,54,.06);width: calc(100% - 182px);margin-left: auto;}
.nav-item { position: relative; display: flex; align-items: center; }

.nav-link { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; font-family: "Noto Sans JP", sans-serif; font-size: 1rem; font-weight: 700; line-height: 1.4; color: #FFF; background: transparent; border: none; border-radius: .2em; transition: background .15s, color .15s; white-space: nowrap; cursor: pointer; text-decoration: none; box-shadow: none; margin: 0; }
.nav-link:hover {background: #ffe2c7;color: #823211;}
.nav-link svg { transition: transform .2s; flex-shrink: 0; display: block; }
.nav-item:hover .nav-link svg { transform: rotate(180deg); }

.dropdown { display: none; position: absolute; top: calc(100%); left: 50%; transform: translateX(-50%); background: rgba(255,255,255,.96); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.8); border-radius: .4em; box-shadow: 0 12px 36px rgba(119,55,54,.16); min-width: 200px; padding: 10px; }
.nav-item:hover .dropdown { display: block; }
.dropdown a { display: block; padding: 9px 14px; font-size: 100%; border-radius: 10px; transition: background .1s; white-space: nowrap; }
.dropdown a:hover { background: var(--pink-light); color: var(--pink); }
}
.hamburger {pointer-events: auto;display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 5px;width: 84px;height: 84px;border-radius: 0;background: rgb(141 72 28);backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);cursor: pointer;padding: 0;border: none;flex-shrink: 0;transition: all .3s ease;}
.hamburger:hover { background:#a65d2f;}
.hamburger span {display: block;height: 2px;width: 33px;background: var(--white);border-radius: 2px;transition: all .3s ease;}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.hamburger span.hamburger-label {font-size:10px;color: var(--white);font-weight: 700;letter-spacing: .04em;line-height: 1;pointer-events: none;transition: opacity .25s;width: 100%;background: none;font-weight: 800;}
.hamburger.open .hamburger-label { opacity: 0; }

body.minami .hamburger {background:var(--pink)}
body.minami .hamburger:hover { background:var(--pink);}
body.spup .hamburger {background:var(--green)}
body.spup .hamburger:hover {background: #1fa221;}

@media (min-width: 1101px) {
.hamburger { display: none; }
}
@media (max-width: 1100px) {
.hamburger {position: fixed;right: 0;top: 0;z-index: 101;}
}
@media (max-width: 880px) {
.hamburger { right: 0;top:0;border-radius: 0;}
.site-logo {padding: 10px 20px 15px 10px;border-radius: 0 0 1em 0;width: 130px;}
.site-logo:hover { box-shadow: 0 10px 30px rgba(119,55,54,.15); }
.site-logo img {height: 65px;}
}

/* ============================
 Shops Float Block (header right)
============================ */
.shops-float {pointer-events: auto;position: relative;align-self: flex-start;position: absolute;right: 0;top: 0;}
.shops-float-pc {display: flex;align-items: center;gap: 4px;padding: 6px 8px;background: #FFF;backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);border-radius: 0 0 0 .5em;box-shadow: 0 6px 24px rgba(119,55,54,.10), 0 1px 2px rgba(119,55,54,.06);box-sizing: border-box;}
.shops-float-sp { display: none; }
.shop-info-label { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px 10px 12px; font-weight: 700; font-size: .9375rem; color: var(--brown); white-space: nowrap; border-right: 1px solid var(--gray-200); margin-right: 2px; align-self: stretch; }
.shop-info-label img { flex-shrink: 0; }

.shop-chip { position: relative; display: flex; align-items: center;}

.shop-chip-btn { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 8px 18px 6px; background: transparent; color: var(--text); border: none; border-radius: .2em; font-family: "Noto Sans JP", sans-serif; font-weight: 700; font-size: .9375rem; line-height: 1.35; letter-spacing: inherit; cursor: pointer; transition: background .15s, color .15s; box-shadow: none; margin: 0; min-width: 88px; text-align: center;}
.shop-chip-btn svg { transition: transform .2s; flex-shrink: 0; display: block; margin-top: 2px; }
.shop-chip:hover .shop-chip-btn svg,
.shop-chip-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.shop-chip-btn:hover,
.shop-chip-btn[aria-expanded="true"] { background: var(--pink-light); color: var(--pink); }
.shop-chip-menu { display: none; position: absolute; top: calc(100%); right: 0; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.8); border-radius: .4em; box-shadow: 0 12px 36px rgba(119,55,54,.16); min-width: 220px; padding: 10px; z-index: 10;}
.shop-chip:hover .shop-chip-menu,
.shop-chip-btn[aria-expanded="true"] + .shop-chip-menu {display: block;}
.shop-chip-menu a { display: block; padding: 9px 14px; font-size: 100%; border-radius: 10px; transition: background .1s; white-space: nowrap; }
.shop-chip-menu a:hover { background: var(--pink-light); color: var(--pink); }

.shops-float .honten .shop-chip-btn:hover,
.shops-float .honten .shop-chip-btn[aria-expanded="true"],
.shops-float .honten .shop-chip-menu a:hover{ background: #ffe2c7; color: var(--brown); }
.shops-float .spup .shop-chip-btn:hover,
.shops-float .spup .shop-chip-btn[aria-expanded="true"],
.shops-float .spup .shop-chip-menu a:hover{ background: #d8ffdb; color: var(--green); }
.shops-sheet { display: none; }

@media (max-width: 1100px) {
.shops-float {right: 83px;}
.shops-float-pc {border-radius: 0 0 0 6px;}
}

@media (max-width: 880px) {
.shops-float {right: 83px;top: 0;}
.shops-float-pc { display: none;}
.shops-float-sp {display: inline-flex;align-items: center;gap: 6px;padding: 0 24px;height: 84px;background: var(--pink);color: var(--white);border-radius: 0;font-family: "Noto Sans JP", sans-serif;font-weight: 700;font-size: 100%;cursor: pointer;border: none;box-shadow: 0 6px 20px rgba(205,46,109,.28), 0 2px 4px rgba(119,55,54,.12);transition: transform .2s, box-shadow .2s;}
.shops-float-sp:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(205,46,109,.38);}
.shops-float-sp svg { flex-shrink: 0; }

.minami .shops-float-sp {background: var(--brown);box-shadow: 0 6px 20px rgb(205 151 46 / 28%), 0 2px 4px rgba(119,55,54,.12);}
.minami .shops-float-sp:hover { box-shadow: 0 10px 26px rgb(205 124 46 / 38%);}
.shops-sheet { display: none; position: fixed; inset: 0; z-index: 110; background: rgba(29,17,17,.5); opacity: 0; transition: opacity .25s ease;}
.shops-sheet.open { display: block; opacity: 1;}
.shops-sheet-inner { position: absolute; left: 0; right: 0; bottom: 0; background: var(--white); border-radius: 24px 24px 0 0; padding: 20px 24px 32px; max-height: 80vh; overflow-y: auto; transform: translateY(100%); transition: transform .3s ease; box-shadow: 0 -10px 40px rgba(119,55,54,.18);}
.shops-sheet.open .shops-sheet-inner { transform: translateY(0);}
.shops-sheet-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 12px; margin-bottom: 8px; border-bottom: 1px solid var(--gray-200);}
.shops-sheet-title {font-size: 137.5%;text-align:left;font-weight: 800;}
.shops-sheet-close { width: 40px; height: 40px; border: none; background: var(--gray-100); border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--text);}
.shops-sheet-group { border-bottom: 1px dashed var(--gray-200);}
.shops-sheet-group:last-child { border-bottom: none; }
.shops-sheet-group-title { width: 100%; padding: 18px 0; font-family: "Noto Sans JP", sans-serif; font-weight: 700; color: var(--brown); font-size: 112.5%; display: flex; align-items: center; justify-content: space-between; gap: 10px; background: none; border: none; cursor: pointer; text-align: left; transition: color .15s;}
.shops-sheet-group-title:hover,
.shops-sheet-group-title[aria-expanded="true"] { color: var(--pink);}
.shops-sheet-group-title > span { display: flex; align-items: center; gap: 10px;}
.shops-sheet-group-title > span::before { content: ''; width: 18px; height: 3px; background: var(--pink); border-radius: 2px;}
.shops-sheet-chevron { flex-shrink: 0; transition: transform .25s ease;}
.shops-sheet-group-title[aria-expanded="true"] .shops-sheet-chevron { transform: rotate(180deg);}
.shops-sheet-group-body { max-height: 0; overflow: hidden; transition: max-height .3s ease;}
.shops-sheet-group-body.open { max-height: 500px;}
.shops-sheet-group-body a { display: block; padding: 11px 8px 11px 28px; font-size: 100%; color: var(--gray-700); border-radius: 8px; transition: background .1s;}
.shops-sheet-group-body a:last-child { margin-bottom: 14px; }
.shops-sheet-group-body a:hover,
.shops-sheet-group-body a:focus { background: var(--pink-light); color: var(--pink);}


.shops-sheet-group.honten .shops-sheet-group-title { color: var(--brown);}
.shops-sheet-group.honten .shops-sheet-group-title > span::before {background: var(--brown);}
.shops-sheet-group.honten .shops-sheet-group-body a:hover,
.shops-sheet-group.honten .shops-sheet-group-body a:focus { background: var(--bgbrown); color: var(--brown);}
.shops-sheet-group.minami .shops-sheet-group-title { color: var(--pink);}
.shops-sheet-group.minami .shops-sheet-group-title > span::before {background: var(--pink);}
.shops-sheet-group.spup .shops-sheet-group-title { color: var(--green);}
.shops-sheet-group.spup .shops-sheet-group-title > span::before {background: var(--green);}
.shops-sheet-group.spup .shops-sheet-group-body a:hover,
.shops-sheet-group.spup .shops-sheet-group-body a:focus { background: var(--bggreen); color: var(--green);}
}

#mobile-menu {display: none;position: fixed;top: 0;left: 0;right: 0;bottom: 0;background: rgba(255,255,255,.98);backdrop-filter: blur(20px);-webkit-backdrop-filter: blur(20px);overflow-y: auto;z-index: 99;padding: 110px 24px 40px;}
#mobile-menu.open { display: block; }

.mob-nav-item { border-bottom: 1px solid var(--gray-200); }
.mob-nav-link { display: flex; align-items: center; justify-content: space-between; padding: 16px 4px; font-weight: 500; font-size: 100%; cursor: pointer;}
.mob-nav-link.has-sub { cursor: pointer; }
.mob-nav-link svg { transition: transform .25s; flex-shrink: 0; }
.mob-nav-link.open svg { transform: rotate(180deg); }

.mob-sub { display: none; padding: 0 0 12px 16px; background: var(--off-white); border-radius: var(--radius-sm); margin-bottom: 8px;}
.mob-sub.open { display: block; }
.mob-sub a { display: block; padding: 10px 12px; font-size: 100%; color: var(--gray-700); border-bottom: 1px dashed var(--gray-200);}
.mob-sub a:last-child { border-bottom: none; }

.mob-nav-cta { margin-top: 24px; display: flex; flex-direction: column; gap: 12px;}
.mob-nav-cta .btn { width: 100%; justify-content: center; }

/* ============================
 Pop Utilities (Photo frames / Marker / Sticker)
============================ */
.photo-frame { position: relative; border-radius: 20px; overflow: hidden; background: var(--white); box-shadow: 0 10px 30px rgba(119,55,54,.12), 0 4px 8px rgba(119,55,54,.06); border: 5px solid var(--white); transition: transform .3s ease, box-shadow .3s ease; }
.marker {display: inline;padding: 0 6px;background: linear-gradient(transparent 25%, rgba(205,46,109,.25) 25%, rgba(205,46,109,.25) 92%, transparent 92%);font-weight: 700;color: var(--pink-dark);}
.marker-g { display: inline; padding: 0 6px; background: linear-gradient(transparent 62%, rgba(10,128,12,.22) 62%, rgba(10,128,12,.22) 92%, transparent 92%); }
.marker-y { display: inline; padding: 0 6px; background: linear-gradient(transparent 62%, rgba(255,210,100,.55) 62%, rgba(255,210,100,.55) 92%, transparent 92%); }

/* Sticker-style badge */
.sticker { display: inline-flex; align-items: center; gap: 6px; background: var(--pink); color: var(--white); font-size: 100%; font-weight: 700; padding: 8px 18px; border-radius: 40px; box-shadow: 0 4px 0 var(--pink-dark), 0 8px 16px rgba(205,46,109,.25); transform: rotate(-3deg); letter-spacing: .05em; }
.sticker-g { background: var(--green); box-shadow: 0 4px 0 #076609, 0 8px 16px rgba(10,128,12,.25); }
.dot-pattern { background-image: radial-gradient(circle, rgba(205,46,109,.12) 1.2px, transparent 1.5px); background-size: 18px 18px; }
.bg-soft-mix { background:
 radial-gradient(ellipse 60% 50% at 15% 10%, rgba(205,46,109,.08), transparent 60%),
 radial-gradient(ellipse 50% 50% at 90% 20%, rgba(255,200,120,.14), transparent 60%),
 radial-gradient(ellipse 55% 50% at 85% 90%, rgba(10,128,12,.07), transparent 60%),
 radial-gradient(ellipse 55% 50% at 10% 85%, rgba(119,55,54,.05), transparent 60%),
 #ffffff;}

.bg-soft-cream { background:
 radial-gradient(ellipse 60% 40% at 20% 15%, rgba(255,215,170,.25), transparent 70%),
 radial-gradient(ellipse 50% 40% at 85% 85%, rgba(205,46,109,.07), transparent 60%),
 #fefaf5;}

.bg-soft-pink { background:
 radial-gradient(ellipse 70% 50% at 10% 0%, rgba(205,46,109,.10), transparent 60%),
 radial-gradient(ellipse 50% 40% at 90% 50%, rgba(255,200,220,.20), transparent 60%),
 radial-gradient(ellipse 50% 40% at 50% 100%, rgba(255,220,180,.18), transparent 60%),
 #fffafc;}
.paw-float { position: absolute; pointer-events: none; opacity: .08; }

@media (max-width: 880px) { 
.photo-frame { border-radius:1em;border: .3em solid var(--white);}
}

/* fv=========================== */
#hero { position: relative; max-height: 900px; height: 900px; z-index: 2;}

/* hero wrapper: fills viewport */
.hero-inner {position: relative;width: 100%;height: 100%;overflow-x: clip;}
.hero-content { position: absolute; z-index: 5; left: 4%; top: 50%; transform: translateY(-50%); width: 590px; padding-top: 16px;}
.hero-content h1 { font-size: 390%; line-height: 1.3; font-weight: 900; color: var(--text);}
.hero-lead { margin-top: .9em; color: var(--gray-700); line-height: 1.9; font-weight: 500; font-size: 120%;}
.hero-cta { margin-top: 1.6em; }

.hero-media { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%;}
.hero-circle { position: absolute; border-radius: 50%; overflow: hidden; aspect-ratio: 1;}
.hero-circle img { width: 100%; height: 100%; object-fit: cover; display: block;}
.hero-circle-main { width: 680px; left: 0; right: 0; margin: auto; top: 50%; transform: translateY(-50%); z-index: 2;}
.hero-circle-run { width: 268px; right: -1080px; left: 0; margin: auto; top: 120px; z-index: 3;}
.hero-circle-pra { width: 320px; right: -760px; margin: auto; left: 0; top: 0; bottom: 0; z-index: 3;}
.hero-circle-en {width: 200px;left: -30px;margin: auto;bottom: 9%;z-index: 4;}

.fv-check-wrap { position: absolute; right: -1030px; left: 0; margin: auto; bottom: 100px; height: 210px; width: 210px; z-index: 6; }
.fv-check-wrap .fv-check-p {width: 109px;height: 109px;position: absolute;top: -40px;left: -15px;transition: transform .25s ease;z-index: 2;}
.fv-check-wrap .fv-check-main {width: 100%;height: auto;transition: transform .25s ease;}
.fv-check-wrap:hover .fv-check-p { transform: translateY(-4px); }
.fv-check-wrap:hover .fv-check-main {transform: scale(0.95);}

.fv-deco {position: absolute;border-radius: 50%;pointer-events: none;z-index: 0;opacity:.6; aspect-ratio:1;}
.fv-deco-1 {background: #feff5f5e;width: 232px;height: 232px;top: 137px;left: calc(50% - 611px);opacity: .3;}
.fv-deco-2 {background: #9dcdff;width: 70px;height: 70px;top: 656px;left: calc(50% + 300px);}
.fv-deco-3 {background: #fff6ab;width: 64px;height: 64px;top: 665px;left: calc(50% - 518px);}
.fv-deco-4 {background: #ffa3435c;width: 70px;height: 70px;top: 70px;left: calc(50% - 402px);}
.fv-deco-5 {background: #9ed9f55c;width: 244px;height: 244px;top: 40px;left: calc(50% + 142px);}
.fv-deco-6 {background: #fbc1a5;width: 132px;height: 132px;bottom: 100px;left: calc(50% - 408px);}
.fv-deco-7 {background: #b6ffa073;width: 365px;height: 365px;top: 170px;left: calc(50% + 488px);}
.fv-deco-8 {background: #ff8f8f6e;width: 163px;height: 163px;top: 323px;left: calc(50% - 857px);opacity: .2;}
.fv-deco-9 {background: #ea767645;width: 163px;height: 163px;top: 93px;left: calc(50% - 307px);}
.fv-deco-10 {background: #9676ea7d;width: 163px;height: 163px;bottom: 153px;left: calc(50% - -703px);opacity: .2;}

@keyframes fv-in-up {from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fv-in-left {from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:translateX(0)}}
@keyframes fv-in-fade {from{opacity:0}to{opacity:1}}
@keyframes fv-in-scale50 {from{opacity:0;transform:translateY(-50%) scale(.88)}to{opacity:1;transform:translateY(-50%) scale(1)}}
.fv-deco-1 {animation: fv-in-fade .8s .4s ease both;}
.fv-deco-2 {animation: fv-in-fade .8s .7s ease both;}
.fv-deco-3 {animation: fv-in-fade .8s .6s ease both;}
.fv-deco-4 {animation: fv-in-fade .8s .5s ease both;}
.fv-deco-5 {animation: fv-in-fade .9s .3s ease both;}
.fv-deco-6 {animation: fv-in-fade .8s .65s ease both;}
.fv-deco-7 {animation: fv-in-fade 1s .2s ease both;}
.fv-deco-8 {animation: fv-in-fade .8s .55s ease both;}
.fv-deco-9 {animation: fv-in-fade .8s .45s ease both;}
.fv-deco-10 {animation: fv-in-fade .8s .75s ease both;}
.hero-content h1 {animation: fv-in-left .7s .1s ease both;}
.hero-lead {animation: fv-in-up .65s .28s ease both;}
.hero-cta {animation: fv-in-up .65s .44s ease both;}
.hero-circle-main {animation: fv-in-scale50 .9s .25s ease both;}
.hero-circle-run {animation: fv-in-fade .7s .45s ease both;}
.hero-circle-pra {animation: fv-in-fade .7s .55s ease both;}
.hero-circle-en {animation: fv-in-fade .7s .35s ease both;}
.fv-check-wrap {animation: fv-in-up .7s .65s ease both;}
@media (prefers-reduced-motion: reduce) {.fv-deco,.hero-circle,.hero-content h1,.hero-lead,.hero-cta,.fv-check-wrap{animation:none !important;opacity:1 !important;}.hero-circle-main{transform:translateY(-50%) !important;}}

.hero-marquee {position: absolute;bottom: -35px;left: 0;right: 0;overflow: hidden;z-index: 2;pointer-events: none;line-height: 1;font-size: 1260%;}
.hero-marquee-track {display: inline-flex;white-space: nowrap;color: #FFFFFF;font-family: "Caprasimo", serif;line-height: 1;letter-spacing: -.01em;animation: marquee-ltr 28s linear infinite;}
.hero-marquee-track {vertical-align: super;}
@keyframes marquee-ltr { from { transform: translateX(-66.666%); }
 to { transform: translateX(-33.333%); }
}

@media (max-width: 1500px) {
#hero {height: 80vw;}
.hero-circle-main {width: 48vw;left:auto;right: 20px;transform: translateY(-50%);z-index:4;}
.hero-circle-run {width:18vw;right:38vw;left: auto;margin: auto;top: 25%;transform: translateY(-50%);z-index:5;}
.hero-circle-pra {width:24vw;right: 39vw;left:auto;top: 74%;bottom:auto;z-index:3;transform: translateY(-50%);}
.fv-check-wrap {right: 2%;left:auto;bottom:4vw;}
.fv-check-wrap .fv-check-p {width: 56%;height: auto;top: -20%;left: -8%;}
.hero-content h1 {font-size: 5.2vw;}
.hero-lead {font-size: 100%;}
.hero-content {padding-top: 0;width: auto;}
}
@media (max-width: 1200px) {
.fv-check-wrap { bottom: 8vw;width: 20%;}
}
@media (max-width: 880px) {
#hero {max-height: initial;height: auto;}
.hero-content {position: relative;transform:initial;width: 100%;margin-top: 100px;padding: 0 4% 63vw;top: auto;left: auto;}
.hero-content h1 {font-size: 10vw;text-align: center;letter-spacing: .1em;font-feature-settings: "palt";}
.hero-lead {font-size: 3vw;text-align: center;}
.hero-cta {width: 18em;font-size: 3vw;text-align: center;margin: 1.5em auto;}
.hero-circle-main {width: 68vw;bottom: 2%;left: auto;right: -10%;top:auto;transform:initial;}
.hero-circle-run {width: 28vw;right: auto;left: 2%;margin: 0;top: auto;bottom: -3%;transform: initial;}
.hero-circle-pra {width: 35%;right: auto;left: 16%;top: auto;transform: initial;bottom: 12%;z-index: 4;}
.hero-circle-en {width: 25%;left: -4%;margin: auto;bottom: 27%;z-index: 4;}
.fv-check-wrap {bottom: -8%;width: 27vw;height: 27vw;}
.hero-marquee {bottom: -18vw;font-size:20vw;}
.hero-circle-main {animation: fv-in-fade .7s .25s ease both;}
.hero-circle-run {animation: fv-in-fade .7s .45s ease both;}
.hero-circle-pra {animation: fv-in-fade .7s .55s ease both;}
.fv-deco { display: none; }
.fv-deco-5 {display: block;width: 150px;height: 150px;top: -20px;right: -20px;left: auto;opacity: .35;background: #c8e1ff75;}
.fv-deco-4 {display: block;width: 10%;height: auto;top: 26%;right: 9%;left: auto;background: #ffa34324;}
.fv-deco-6 {display: block;width: 15%;height: auto;bottom: auto;top: -15%;left: 25%;right: auto;background: #b6ffa078;}
.fv-deco-2 {display: block;width: 10%;height: auto;bottom: 0%;left: 36%;right: auto;top: auto;background: #9dcdff59;}
.fv-deco-10 {display: block;width: 35%;height: auto;bottom: auto;top: -15%;left: -15%;right: auto;background: #ea767e29;}
}
@media (max-width: 500px) {
.hero-content { margin-top: 120px;}
}


/* ============================
 Concept Section (wider + slider)
============================ */
#concept { position: relative; overflow: hidden; }
.concept-grid {display: grid;grid-template-columns: 1.15fr 1fr;gap:4%;}
.concept-text { max-width: 520px; padding-right: 20px; }
.concept-text h2 { margin-bottom: 1em; font-size: 220%; }
.concept-text p { color: var(--gray-700); }
.concept-text p + p { margin-top: 1.5em; }
.concept-photos {position: relative;display: flex;align-content: end;min-height: 680px;}
.concept-photos .concept-photo-main {position: absolute;left: 0;z-index: -1;top: 0;height: 90%;overflow: hidden;border-radius: 0 1.5em 1.5em 0;width: 80%;}
.concept-photos .concept-photo-sub {position: relative;z-index: 3;width: 32%;margin: auto 0 0 auto; overflow: hidden;border-radius: 1.5em;aspect-ratio: 1 / 1.25;}
.concept-photo-main picture, .concept-photo-main img, .concept-photo-sub picture, .concept-photo-sub img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width:1500px) {
.concept-grid {gap: 3%;}
}
@media (max-width:1080px) {
.concept-photos .concept-photo-main {height: 75%;width: 80%;}
.concept-photos .concept-photo-sub {width: 45%;}
}
@media (max-width: 880px) {
.concept-grid {display: flex;flex-wrap: wrap;gap: 2em;flex-direction: column-reverse;width: 100%;}
.concept-text {width: 100%;max-width: 500px;margin: 0 auto;padding: 0 6%;}
.concept-photos {position: relative;display: block;padding: 4em 0 0;width: 100%;min-height: initial;}
.concept-photos .concept-photo-main {height: 86%;width: 57%;border-radius: 0 .5em .5em 0;}
.concept-photos .concept-photo-sub {width: 41%;border-radius: .5em 0 0 .5em;}
}
@media (max-width: 500px) {
.concept-text h2 {font-size: 6.5vw;}
}

/* ============================
 Slider (fade, auto-play)
============================ */
.slider { position: relative; width: 100%; height: 100%; overflow: hidden;}
.slider-slide { position: absolute; inset: 0; opacity: 0; transform: scale(1.04); transition: opacity 1.4s ease-in-out, transform 6s ease-out; pointer-events: none;}
.slider-slide.active { opacity: 1; transform: scale(1); pointer-events: auto;}
.slider-slide > .photo-placeholder { width: 100%; height: 100%; border-radius: 0; min-height: auto;}

.slider-dots { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; z-index: 4;}
.slider-dots span { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.6); transition: all .3s;}
.slider-dots span.active { background: var(--white); width: 20px; border-radius: 10px;}

/* ============================
 Services Section
============================ */
#services { position: relative; overflow: hidden; }
.services-grid { grid-template-columns: repeat(3, 1fr); gap: 24px;  display: grid;}
.service-card {background: var(--white);border-radius: 1.5em;overflow: hidden;box-shadow: 0 8px 28px rgba(119,55,54,.08), 0 2px 6px rgba(119,55,54,.04);transition: transform .3s, box-shadow .3s;border: 1px solid rgba(205,46,109,.06);}
.service-card:hover { transform: translateY(-8px); box-shadow: 0 16px 40px rgba(119,55,54,.16); }

.service-thumb { position: relative; }
.service-thumb .photo-placeholder img { max-width:initial;width:100%;}
.service-thumb-sticker { position: absolute; top: 14px; right: 14px; z-index: 2; }
.service-body {padding: 0 28px 1.5em;position: relative;z-index: 2;margin-top: -1.8em;}
.service-body .midashi1 { font-size: 160%; font-weight: 700; letter-spacing: .04em; line-height: 1.5; }
.service-icon {width: 3.5em;height: 3.5em;border-radius: 50%;display: flex;align-items: center;justify-content: center;position: relative;margin: 0 auto 1em;}
.service-icon.pink { background: var(--pink-light); color: var(--pink); }
.service-icon.brown {background: #e8f0fb;color: #2c67ec;}
.service-icon.green { background: var(--green-light); color: var(--green); }
.service-icon.cream {background: var(--cream);color: var(--brown);}
.service-icon img { height:50%;}
.service-body h3 {margin-bottom: 10px;text-align: center;}
.service-body p { font-size: 100%; color: var(--gray-700); margin-bottom: 20px; }
.service-links {display: flex;gap: 10px;flex-wrap: wrap;}

@media (max-width: 880px) {
.service-body .midashi1 { font-size: 137.5%; }
.services-grid { gap:2em;  display: flex; flex-wrap:wrap;}
.service-card { border-radius:.5em;}
}

/* ============================
 News Section
============================ */
#news { background: var(--white); position: relative; overflow: hidden; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr);  gap: 20px;}
.news-card {border-radius: 20px;overflow: hidden;background: var(--white);border: 1px solid var(--gray-200);transition: box-shadow .2s, transform .2s;}
.news-card:hover { box-shadow: var(--shadow); transform: translateY(-4px); }

.news-thumb .photo-placeholder {aspect-ratio: 16/9;}
.news-thumb .photo-placeholder img {width:100%; height:100%; object-fit:cover;}
.news-body {padding: 20px;display:flex;flex-wrap:wrap;align-items: center;gap:0 1em;}

.news-date {font-size: 100%;color: var(--gray-400);}
.news-tag {display: inline-block;font-size: 100%;font-weight: 700;color: var(--pink);background: var(--pink-light);padding: 3px .5em;border-radius: .3em;}
.news-title {font-size: 100%;font-weight: 700;line-height: 1.5;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;margin-top: .8em;}

.news-more { text-align: center; margin-top: 40px;}

@media (max-width: 880px) {
.service-body .midashi1 { font-size: 137.5%; }
.news-grid { gap:2em; display: flex; flex-wrap:wrap;}
.news-card { border-radius:1em; }
.news-body {padding: 1.2em 4% 1.5em;display:flex;flex-wrap:wrap;align-items: center;gap:0 1em;}
}



/* ============================
 Gallery Marquee (no title, ambient slideshow)
============================ */
#gallery {position: relative;overflow: hidden;}
.bg_top img { width:100%; max-width:initial;}
.marquee {overflow: hidden;width: 100%;padding-block: 40px;mask-image: linear-gradient(to right, #fff8ef 0%, black 5%, black 95%, #fff8ef 100%);-webkit-mask-image: linear-gradient(to right, #fff8ef 0%, black 5%, black 95%, #fff8ef 100%);background: #fff8ef;}
.marquee-track { display: flex; gap: 24px; width: max-content; animation: marquee-slide 50s linear infinite; align-items: center; }
.marquee-item { flex-shrink: 0; width: 320px; aspect-ratio: 4/5; border-radius: 20px; overflow: hidden; box-shadow: 0 8px 24px rgba(119,55,54,.1); position: relative; background: var(--white); border: 4px solid var(--white); transition: transform .3s; }
.marquee-item .photo-placeholder { width: 100%; height: 100%; border-radius: 0; aspect-ratio: auto; min-height: auto; }
.marquee-item .photo-placeholder img {object-fit:cover; height:100%; width:100%;}

@media (max-width:880px) {
#gallery {padding-block: 0;padding: 2em 0;}
.marquee { padding-block:0; }
.marquee-item {width: 260px;border-radius: .5em;}
.marquee-track { display: flex; gap: 18px; }
.marquee-track { animation-duration: 40s; }
}
@keyframes marquee-slide {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}

/* ============================
 Shops Section
============================ */
#shops {position: relative;background: radial-gradient(ellipse 50% 40% at 100% 0%, rgba(10, 128, 12, .09), transparent 60%), radial-gradient(ellipse 50% 40% at 0% 50%, rgba(205, 46, 109, .16), transparent 60%), radial-gradient(ellipse 50% 40% at 70% 100%, rgba(255, 215, 170, .52), transparent 60%), #faf6ef;overflow: hidden;border-radius: 3em 3em 0 0;}
.shops-grid {display: grid;grid-template-columns: repeat(3, 1fr); gap: 24px; }
.shop-card {position: relative; background: var(--white); border-radius:1.5em; overflow: hidden;  box-shadow: 0 8px 28px rgba(119,55,54,.08), 0 2px 6px rgba(119,55,54,.04); transition: transform .3s, box-shadow .3s; border: 1px solid rgba(205,46,109,.06); }
.shop-photos { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 4px; }
.shop-photo-main { grid-column: 1; grid-row: 1 / 3; min-width: 0; min-height: 0; }
.shop-photo-main .photo-placeholder { height: 100%; min-height: 200px; border-radius: 0; }
.shop-photo-sub { min-width: 0; min-height: 0; }
.shop-photos picture { display: block; width: 100%; height: 100%; }
.shop-photos img { width: 100%; height: 100%; object-fit: cover; }
.shop-photo-sub .photo-placeholder { height: 100%; min-height: 96px; border-radius: 0; }
.shop-body {padding: 1em 20px 5em;}
.shop-name {font-weight: 700;font-size: 125%;margin-bottom: 1em;color: var(--brown);display: flex;align-items: center;gap: .5em;position: relative;z-index: 1;line-height: 1;}
.shop-name::before {content: '';width: 1em;height: 4px;background: var(--pink);border-radius: 2px;margin-top: .15em;}
.shop-address {font-size: 100%;color: var(--gray-700);display: flex;align-items: flex-start;gap: .2em;}
.shop-address img {flex-shrink: 0;margin-top: .4em;height: 1em;width: auto;}

.honten .shop-name {color: var(--brown);}
.honten .shop-name::before {background: var(--brown);}
.minami .shop-name {color: var(--pink);}
.minami .shop-name::before {background: var(--pink);}
.spup .shop-name {color: var(--green);}
.spup .shop-name::before {background: var(--green);}

.shop-tel {font-size: 100%;font-weight: 700;color: var(--text);margin-bottom: 1em;display: flex;align-items: center;gap: .4em;}
.shop-tel img {flex-shrink: 0;height: 1em;width: auto;}
.shop-services {display: flex;flex-wrap: wrap;gap: .4em;}
.shop-service-badge {display: flex;align-items: center;gap: 5px;font-size: 100%;font-weight: 700;padding: 6px 12px;border-radius: 999px;transition: transform .15s, filter .2s;}
.shop-service-badge:hover {filter: brightness(1.05); }
.shop-service-badge img { height:1em;}
.shop-service-badge.trimming { background: var(--pink-light); color: var(--pink); }
.shop-service-badge.hotel { background: #e8f0fb; color: #2563eb; }
.shop-service-badge.run { background: var(--green-light); color: var(--green); }
.shop-service-badge.breeder { background: #fef3c7; color: #92400e; }

a.btm_more {display:block;text-align:center;margin-top:1.5em;background: #fef3c7;color: #92400e;border-radius:999px;padding:.8em .5em;cursor: pointer;font-weight: 700;}

.shop-card .btm_more {position: absolute;bottom: 0;width: 100%;left: 0;border-radius: 0;margin: 0;z-index: 3;}
.btm_more.honten {background: var(--brown);color: var(--off-white);}
.btm_more.minami {background: var(--pink);color: var(--off-white);}
.btm_more.spup {background: var(--green);color: var(--off-white);}

@media (max-width: 880px) {
.shops-grid { display: flex; flex-wrap:wrap; gap:2em;}
.shop-card {border-radius:.5em;}
}
@media (max-width:480px) {
#shops { border-radius: 1em 1em 0 0;}
.shop-photos {grid-template-columns: 2.8fr 1fr;}
.shop-photo-main .photo-placeholder { min-height:initial; }
.shop-photo-sub .photo-placeholder {  min-height:initial;  }
}

/* ============================
 CTA
============================ */
#cta-banner {position: relative;background: radial-gradient(ellipse 60% 50% at 15% 0%, rgba(255, 200, 130, .25), transparent 60%), radial-gradient(ellipse 50% 50% at 85% 100%, rgba(205, 46, 109, .15), transparent 60%), linear-gradient(135deg, var(--brown) 0%, #743b17 60%, #b75a24 100%);
color: var(--white);text-align: center;padding-block:8em 5em;}
.cta-deco {position: absolute;opacity: .08;pointer-events: none;}
.cta-deco-1 {top: 60px;left: 2%;width: 120px;transform: rotate(292deg);}
.cta-deco-2 { bottom: 60px; right: 6%; width: 100px; transform: rotate(25deg); }
.cta-deco-3 { top: 40%; left: 16%; width: 70px; transform: rotate(15deg); display: none; }
.cta-deco-4 { bottom: 30%; right: 18%; width: 80px; transform: rotate(-10deg); display: none; }
.cta-deco-3, .cta-deco-4 { display: block; }
.cta-head {margin-bottom: 2em;}
.cta-head .section-label { color:var(--white); }
.cta-head .section-label::before,
.cta-head .section-label::after { background: var(--white); }
.cta-head .midashi1 {color: var(--white);margin-bottom: .5em;}
.cta-head p {font-size: 112%; color:var(--cream);}
.cta-btns {display: flex;flex-wrap: wrap;gap: 1em;justify-content: center;}
.btn-white {
 background:url('data:image/svg+xml;charset=utf8,%3Csvg%20clip-rule%3D%22evenodd%22%20fill-rule%3D%22evenodd%22%20image-rendering%3D%22optimizeQuality%22%20shape-rendering%3D%22geometricPrecision%22%20text-rendering%3D%22geometricPrecision%22%20viewBox%3D%220%200%2021.0001%2021.0001%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22%26%23x56FE%3B%26%23x5C42%3B_x0020_1%22%3E%3Cpath%20d%3D%22m0%200h21v21h-21z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22m10.5038%201.31775c5.07328%200%209.1876%204.11432%209.1876%209.1876s-4.11432%209.1876-9.1876%209.1876-9.1876-4.11432-9.1876-9.1876%204.11432-9.1876%209.1876-9.1876zm-1.90792%2012.1718-2.24935-2.25121c-.38321-.38344-.38329-1.00872%200-1.39208.38337-.38329%201.01143-.38089%201.39201%200l1.58578%201.58702%203.94488-3.94488c.38337-.38337%201.00872-.38337%201.39201%200%20.38337.38329.38282%201.00918%200%201.39201l-4.64201%204.64201c-.38282.38282-1.00872.38337-1.39201%200-.01077-.01077-.02116-.0217-.03131-.03286z%22%20fill%3D%22%238d481c%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E')
 no-repeat center left 1em var(--cream); background-size:1.5em; color: var(--brown); font-size: 120%; padding: .7em 1.5em .8em 2.8em; line-height:1;}
.btn-white:hover {opacity:.7; transform: translateY(-2px); }
.btn-outline-white {background: transparent;color: var(--cream);border: 2px solid;font-size: 120%;padding: .7em 1.5em .8em;}
.btn-outline-white:hover { background: rgba(255,255,255,.1); transform: translateY(-2px); }

@media (max-width:880px) {
.shop-body {padding: 1.5em 4% 5em;}
.shop-name {font-size: 170%;}
#cta-banner {padding-block:4em;}
.cta-head .midashi1 {font-size: 225%;}
.cta-btns .btn{width:100%;justify-content: center;}
.cta-btns {gap:.5em;}
.cta-head p { text-align:left;}
.cta-deco-1 {display:none;}
}


/* ============================
 Footer
============================ */
#footer {background: var(--text);color: rgba(255,255,255,.8);padding-top: 5em;}
#footer .container { max-width:initial;}
.footer-top {display: grid;grid-template-columns: 360px 1fr;gap: 45px;padding-bottom: 48px;border-bottom: 1px solid rgba(255,255,255,.1);}

.footer-logo {filter: brightness(0) invert(1);opacity: .9;height: 100px;width: auto;margin-bottom: 16px;}
.footer-quick-links {display: flex;flex-direction: column;gap: 1em;margin-top: 1.5em;}
.footer-quick-links a {display: inline-flex;align-items: center;gap: 8px;color: rgba(255,255,255,.8);
background: rgba(255,255,255,.05);padding: 10px 16px;border-radius: var(--radius-sm);border: 1px solid rgba(255,255,255,.1);transition: background .2s;}
.footer-quick-links a:hover { background: rgba(255,255,255,.1); color: var(--white); }
.footer-nav-grid {display: grid;grid-template-columns: repeat(3, 1fr); gap: 24px 32px;}
.footer-nav-col h2 {font-weight: 700;color: var(--white);margin-bottom: 12px;padding-bottom: 8px;border-bottom: 1px solid rgba(255,255,255,.15);}
.footer-nav-col ul { display: flex; flex-direction: column; gap: 6px; }
.footer-nav-col a {color: rgba(255,255,255,.6);transition: color .15s;}
.footer-nav-col a:hover { color: var(--white); }
.footer-bottom {padding-block: 20px;text-align: center;font-size: 100%;color: rgba(255,255,255,.4);}

@media (max-width: 1000px) {
.footer-top {display: flex;flex-wrap: wrap; gap:2em;}
.footer-top > * {width:100%;}
.footer-brand {max-width: 360px;margin:auto;}
.footer-quick-links {flex-direction: row;justify-content: center;}
.footer-logo {margin:0 auto 1.5em;}
}
@media (max-width: 640px) {
.footer-nav-grid { grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 400px) {
.footer-quick-links {flex-direction: column;gap: .5em;}
.footer-nav-grid {grid-template-columns: initial;gap: 1.5em;}
}


/* Scroll Animations============================ */
.fade-up {opacity: 0;transform: translateY(30px);transition: opacity .6s ease, transform .6s ease;}
.fade-up.visible {opacity: 1;transform: none;}

/* Page-top============================ */
#page-top { position: fixed; bottom: 24px; right: 20px; width: 48px; height: 48px; background: var(--pink); color: var(--white); border: none; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(205,46,109,.4); opacity: 0; transform: translateY(16px); transition: opacity .3s, transform .3s; z-index: 50; }
#page-top.show { opacity: 1; transform: none; }
#page-top:hover { background: var(--pink-dark); }


/* second fv============================ */
.fvarea {background: #fff8ef;margin: 54px 0 0;padding-top: 1px;}
.fvarea .photo {height: 610px;overflow: hidden;margin: 15px 15px 0;border-radius: 0 0 2em 2em;position: relative;}
.fvarea.noarea .photo {height: 310px;background:url(../img/fv/fv_bgno.gif) repeat #FFF;}
.fvarea .photo img {max-width: initial;width: 100%;height: 100%;object-fit: cover;object-position: center;}
.noarea.fvarea .photo img {opacity: 0;}
.fvarea .title {text-align:center;position: relative;z-index: 2;margin-top: -5em;padding-bottom: 0em;}
.fvarea .photo:before{content:"";height: 100%;display: block;margin: auto;width: 500px;position: absolute;left: 0;right: 0;background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20248.3738203%2053.1914673%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23fff8ef%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M195.182353%2C0H53.1913452c-15.0197144%2C0-27.1956177%2C12.1758423-27.1956177%2C27.1955566v.0001831c0%2C14.3570557-11.6386719%2C25.9957275-25.9957275%2C25.9957275h248.3738203c-14.3570557%2C0-25.9957275-11.6386719-25.9957275-25.9957275v-.000061c0-14.9576416-12.2380981-27.1956787-27.1957397-27.1956787Z%22%2F%3E%3C%2Fsvg%3E') no-repeat center bottom;background-size: contain;bottom: 0;}
.fvarea .title .titlearea { font-size:300%; font-weight:800; line-height:1.3;}
.fvarea .title .en { color:var(--brown); font-size:100%;}
@media (max-width: 1100px) {
.fvarea {margin: 0;padding-top: 1px;}
.fvarea .photo {height:510px; }
}
@media (max-width:880px) {
.fvarea .title .titlearea { font-size:240%;}
}
@media (max-width:590px) {
.fvarea .title {margin-top: -12vw;}
.fvarea .title .titlearea { font-size:6vw;}
.fvarea .photo:before{width:76vw; }
.fvarea .photo {height:38svh;margin: 1em 1em 0;border-radius: 0 0 1em 1em; }
.fvarea.noarea .photo {height:28svh;}
}

/* pnkz */
.breadcrumb {width: 100%;margin: 0px auto;overflow-x: auto;-webkit-overflow-scrolling: touch;padding: 10px 1em;}

.nobg .breadcrumb {
    padding-inline: 4%;
    max-width: 1200px;
}
.breadcrumb::-webkit-scrollbar {height: 6px;}
.breadcrumb::-webkit-scrollbar-track {background: #eee;border-radius: 4px;}
.breadcrumb::-webkit-scrollbar-thumb {background: #ccc;border-radius: 4px;}
.breadcrumb::-webkit-scrollbar-thumb:hover {background: #999; }
.breadcrumb__list {display: flex;align-items: center;justify-content: center;margin: 0;padding: 0;white-space: nowrap;}

.nobg .breadcrumb__list {
    justify-content: flex-start;
}
.breadcrumb__item {display: flex;align-items: center;font-size: 80%;}
.breadcrumb__item a {color: var(--pink);}
.breadcrumb__item a:hover {text-decoration: underline;}
.breadcrumb__item:not(:last-child)::after {content: "";display: block;width:1em;height: 1em;margin: 0 .3em;
background: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E")
   no-repeat center;background-size: contain;}
.second { background:#fff8ef;}
.second .area {background:#FFF;border-radius:2em 2em 0 0;padding: 30px 4% 80px;margin-top: 2em;}
.n_link {margin-bottom: 5em;}
.n_link ul {display: flex;flex-wrap: wrap;justify-content: center;gap: .5em;}
.n_link ul li {padding: .5em;background: #fff8ef;border-radius: 999px;padding: .5em 1.5em;}
.n_link ul li a {width: 100%;display: block; font-weight:700; }
.n_link ul li:hover { background:var(--pink); }
.n_link ul li:hover a { color:#FFF;}
.n_link ul li,.n_link ul li a {transition: .3s cubic-bezier(.4, .4, 0, 1);}
.mem1 {margin-top:1.5em;}
.flex {display:flex; }
.reverse {flex-direction: row-reverse;}
.txtr {text-align:right;}
.txtc {text-align:center;}
.aten{padding-left: 1em;text-indent: -1em;font-size: 90%;}
img.brx {border-radius:1em;}
.li li { position: relative; padding-left: 1.1em;}
.li li::before {content: "";position: absolute;left: 0;top: 0.7em;width: 0.6em;height: 0.6em;border-radius: 50%;background-color: var(--brown);}
a.l_link{display: flex;align-items: center;font-weight: 600;}
a.l_link:after {content: "";display: block;width:1em;height: 1em;margin: 0 .3em;
background: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cd2e6d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E")
   no-repeat center;background-size: contain;}
a.l_link.honten {color: var(--brown);}
a.l_link.honten:after {
background: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238d481c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E")
   no-repeat center;background-size: contain;}
a.l_link.minami {color: var(--pink);}
a.l_link.spup {color: var(--green);}
a.l_link.spup:after {
background: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a800c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E")
   no-repeat center;background-size: contain;}
.inner { max-width:1200px; margin:auto; }
.gree {display: grid;grid-template-columns: 1.15fr 1fr;gap:4%;}
.gree .title {}
.gree .title .titlearea {font-size: 150%;line-height: 1.6;margin-bottom: .5em;word-break: auto-phrase;font-weight: 900;}
.gree .title p { color: var(--gray-700); }
.gree .photo {overflow:hidden;}
.gree .photo img { border-radius:2em; }

.tbl {display:flex;justify-content: space-between; gap:4%;}
.tbl +.tbl  {margin-top:.5em;}
.tbl dt {width:15em;background: var(--cream);border-radius: 1em;color: var(--brown);font-weight: 800;text-align: center;}
.tbl dd {width:calc(100% - 15em);color: var(--gray-700);}
.tbl dt, .tbl dd { padding:15px;}

table.tblcau { width:100%; margin:1em 0;}
table.tblcau th,table.tblcau td { border:2px solid #fff; padding:15px; text-align:center; vertical-align:middle;}
table.tblcau th { font-weight:800;}
table.tblcau thead th {background:var(--bgbrown);color: var(--brown);}
table.tblcau tbody th { background:var(--cream);}
table.tblcau tbody td { background:var(--cream);}

.section {position:relative; padding-top:6em;}
.gree2 {gap:4%; }
* .gree2 {margin-top:3em;}
.gree2 .title {width: 62%;}
.gree2 .title .titlearea {font-size: 180%;line-height: 1.6;margin-bottom: .5em;word-break: auto-phrase;font-weight: 900;}
.gree2 .title p { color: var(--gray-700); }
.gree2 .photo {overflow:hidden;width: 34%;position:relative;display: flex;justify-content: space-between;align-items: flex-start;}
.gree2 .photo .en {text-align: center;width: auto;writing-mode: vertical-rl;-ms-writing-mode: vertical-rl;-webkit-writing-mode: vertical-rl;max-width: 100%;justify-content: center;line-height: 1;font-size: 200%;color: var(--brown);padding-top: .5em;}
.gree2 .photo picture {width: calc(100%  - 3em);}
.gree2 .photo img { border-radius:2em; width:100%;}

.boxline {border:10px solid var(--cream);padding: 45px;border-radius:1.5em;}
.youtube {max-width: 800px;margin: 1.5em auto;width: 100%;}
.youtube iframe {width: 100%;height: auto;aspect-ratio: 16 / 9;}

@media (max-width:880px) {
.gree,.gree2 {display: flex; gap:2em; flex-wrap:wrap;}
.gree2 .title { width:100%;}
.gree2 .photo {width:100%;}
.gree .photo img,.gree2 .photo img { border-radius:1em; }
.boxline { border:5px solid var(--cream); padding:1.5em 4%; border-radius:.5em;}
img.brx {border-radius:.5em;}
}
@media (max-width:580px) {
.gree2 .photo .en { font-size:6vw;}
.tbl { flex-wrap:wrap; gap:0;}
.tbl +.tbl  {margin-top:1em;}
.tbl dt {width:100%; border-radius:.5em; }
.tbl dd {width:100%;}
.tbl dt, .tbl dd { padding:.5em;}
table.tblcau { }
table.tblcau th,table.tblcau td { padding:1em .5em; font-size:80%;}
}

.section.promise {padding: 100px 0;z-index: 1;margin-top: 80px;}
.section.promise:before {content:"";width: calc(100vw - 60px);margin-left: calc(50% - 50vw);margin-right: calc(50% - 50vw);position: absolute;background: var(--cream);display: block;height: 100%;border-radius: 0 4em 4em 0;z-index: -1;top: 0;left: 0;}
.promiseUL {display: flex;flex-wrap: wrap;gap: 2em;}
.promiseUL > li {display: flex;justify-content: space-between;align-items: flex-start;}
.promiseUL > li .txt {width: 60%;color: var(--gray-700);}
.promiseUL > li .txt .title {color: var(--brown);font-weight: 700;font-size: 180%;margin-bottom: .5em;}
.promiseUL > li .txt .title:after {content:"";display:block;height: 3px;margin: .8em 0;width: 2em;background: var(--brown);}
.promiseUL > li .photo {width: 40%;position: relative;}
.promiseUL > li .photo  img {width: 80%;border-radius: 1.5em;}
.promiseUL > li .photo .en {text-align:center;position:absolute;width: 2em;height: 2em;aspect-ratio: 1;border-radius: 999px;line-height: 1;font-size: 250%;right: 1em;top: 0;bottom: 0;margin: auto;z-index: 2;display: flex;align-items: center;justify-content: center;border: 5px solid;color: var(--cream);background: var(--brown);}
ul.ULli li { margin-bottom:.5em; position: relative; padding-left: 1.1em; }
ul.ULli li::before {content: "";position: absolute;left: 0;top: 0.6em;width: 0.6em;height: 0.6em;border-radius: 50%;background-color: var(--brown);}

@media (max-width:1480px) {
.section.promise .inner { padding-right:60px;}
}
@media (max-width:880px) {
.section.promise {padding: 5em 0;margin-top:5em;}
.section.promise .inner { padding-right:4%;}
.section.promise:before {width: calc(100vw - 2%);}
.promiseUL > li {display: flex; flex-wrap:wrap;}
.promiseUL > li .txt {width:100%; margin-top:2.5em;}
.promiseUL > li .photo {width: 100%;}
.promiseUL > li .photo  img {width:100%;border-radius: .5em;}
.promiseUL > li .photo .en {top:auto; bottom:-1em; left:0; right:0;}
.promiseUL > li .txt .title {font-size: 130%;}
}
@media (max-width:400px) {
.promiseUL > li .photo .en {font-size: 200%;}
}

.tokushoho { width: 100%; margin: 0 auto; line-height: 1.6;}
.tokushoho-lead { text-align: right; margin-bottom: 1em; font-size:90%; }
.tokushoho-list { border-top: 1px solid #ddd; margin: 0; padding: 0; }
.tokushoho-list dt {font-weight: bold;background-color: #f9f9f9;padding: 15px;border-bottom: 1px solid #ddd;width: 100%;color: var(--brown);}
.tokushoho-list dd { margin: 0; padding: 15px; border-bottom: 1px solid #ddd; width: 100%; }
.tokushoho-list dd p { margin: 0 0 1em 0; }
.tokushoho-list dd p:last-child { margin-bottom: 0; }
.tokushoho-list dd ol { margin: 0; }
.tokushoho-list dd ol li { margin-bottom:.5em; position: relative; padding-left: 1.1em; }
.tokushoho-list dd ol li::before {content: "";position: absolute;left: 0;top: 0.6em;width: 0.6em;height: 0.6em;border-radius: 50%;background-color: var(--brown);}
.note-text { display: block; padding-left: 1em; text-indent: -1em; color: #666; font-size: 0.9em; margin-top: 5px; }

@media screen and (min-width: 600px) {
.tokushoho-list { display: flex; flex-wrap: wrap; }
.tokushoho-list dt {width: 30%;border-right: 1px solid #ddd;}
.tokushoho-list dd { width: 70%; }
}


.search {margin-bottom: 1.5em;position: relative;}
.search .search-input {padding: 12px 18px;border: 2px solid var(--gray-200);border-radius: .4em;font-family: inherit;outline: none;transition: border-color .18s;width: 100%;}
.search-input:focus { border-color: var(--pink); }
.search .search-btn {background: var(--pink);color: #fff;border: none;border-radius: .3em;cursor: pointer;font-weight: 700;transition: background .18s;position: absolute;right: 5px;height: calc(100% - 9px);bottom: 0;top: 0;margin: auto;width: 4em;text-align: center;}
.search .search-btn img{width: 2em;height: 1.5em;max-width: initial;margin: auto;}
.search-btn:hover { background: var(--pink-dark); }
.search-count { color: var(--gray-700); border-top: 1px solid var(--gray-200); border-bottom: 1px solid var(--gray-200); padding: 1em 0; margin-bottom: 2em; }
.search-count strong { color: var(--text); font-weight: 700; }
.search-keyword { font-size: 110%; font-weight: 700; color: var(--pink); }


