/* All selectors are scoped to the concept section; existing FV styles stay untouched. */
/* Progressive enhancement: content stays visible when JavaScript is unavailable. */
@media(prefers-reduced-motion:no-preference){
  .yb-concept .yb-concept-motion{opacity:0;translate:0 18px}
  .yb-concept .yb-concept__title.yb-concept-motion{transition-delay:80ms}
  .yb-concept .yb-concept__photo.yb-concept-motion{transition-duration:1.2s,1.3s}
  .yb-concept .yb-concept__message.yb-concept-motion{transition-delay:160ms}
  .yb-concept .yb-concept-motion--visible{opacity:1;translate:0 0;transition:opacity 1s ease,translate 1.1s cubic-bezier(.22,.61,.36,1)}
}
.yb-concept{padding-top:120px;background:#fffefa;color:#2c2c32;overflow:hidden}
.yb-concept *{box-sizing:border-box}
.yb-concept__canvas{position:relative;max-width:1448px;aspect-ratio:1448/1086;margin:0 auto;container-type:inline-size;isolation:isolate}
.yb-concept__intro{position:relative;z-index:2;text-align:center;padding-top:2.5cqw}
.yb-concept__label{display:table;margin:0 auto;padding:7px 42px;border-radius:99px;background:#e6f2e1;color:#488d74;font-family:YorisoiBody,sans-serif;font-size:16px;font-weight:400;letter-spacing:.11em;line-height:1.5}
.yb-concept__title{font-family:YorisoiHeadline,serif;font-size:clamp(42px,4.25cqw,62px);font-weight:500;line-height:1.36;letter-spacing:-.035em;margin:30px 0 26px}
.yb-concept__highlight{position:relative;isolation:isolate;white-space:nowrap}
.yb-concept__highlight::before{content:"";position:absolute;left:-.08em;right:-.07em;height:.24em;bottom:.08em;background:#e5f0de;border-radius:65% 40% 50% 35% / 50% 60% 40% 50%;transform:rotate(-1deg);z-index:-1}
.yb-concept__highlight--warm::before{background:#fae8d8;transform:rotate(-2deg)}
.yb-concept__body{max-width:620px;width:46%;margin:0 auto;font-family:YorisoiBody,sans-serif;font-size:clamp(15px,1.25cqw,18px);line-height:1.95;letter-spacing:.04em;color:#333}
.yb-concept__body p{margin:0 0 25px}.yb-concept__body p:last-child{margin-bottom:0}
.yb-concept__photo{position:absolute;margin:0;z-index:1;overflow:hidden}.yb-concept__photo img{display:block;width:100%;height:100%;object-fit:cover}
.yb-concept__photo--main{left:0;top:44%;width:54%;height:47.8%;clip-path:url(#yb-concept-main-mask)}
.yb-concept__photo--embrace{right:1.2%;top:32.9%;width:23%;height:26.3%;clip-path:url(#yb-concept-embrace-mask)}
.yb-concept__photo--interior{left:58.8%;top:58%;width:28%;height:26.7%;clip-path:url(#yb-concept-interior-mask)}
.yb-concept__message{position:absolute;z-index:3;margin:0;font-family:YorisoiHandFull,cursive;font-weight:400;font-size:clamp(15px,1.5cqw,21px);line-height:1.75;letter-spacing:.12em;transform:rotate(-11deg)}
.yb-concept__message--left{left:10.5%;top:27.8%}.yb-concept__message--top{left:80%;top:13.7%;font-size:clamp(16px,1.65cqw,24px)}
.yb-concept__message--right{left:88%;top:68%;font-size:clamp(15px,1.55cqw,22px)}
.yb-concept__message--closing{right:2.1%;top:87.1%;color:#4e9279;font-size:clamp(12px,1.2cqw,17px);line-height:1.8;letter-spacing:.09em;transform:rotate(-9deg)}
.yb-concept__message--left::after,.yb-concept__message--closing::after{content:"";position:absolute;top:calc(100% + 4px);left:4%;width:110%;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 32' fill='none'%3E%3Cpath d='M2 24C42 5 65 33 108 19S182 0 238 9' stroke='%2375B8A6' stroke-width='1.35' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.yb-concept__decoration{position:absolute;z-index:0;pointer-events:none;background-image:url('assets/concept-artwork.webp');background-repeat:no-repeat;background-size:100cqw 75cqw}
.yb-concept__decoration--upper-left{left:9.6%;top:5.5%;width:21%;height:17%;background-position:-9.6cqw -4.125cqw}
.yb-concept__decoration--left-leaves{left:0;top:18%;width:12%;height:28%;background-position:0 -13.5cqw}
.yb-concept__decoration--upper-right{right:0;top:0;width:25%;height:31%;background-position:-75cqw 0}
.yb-concept__decoration--middle-leaves{left:71.3%;top:31.5%;width:6.3%;height:10%;background-position:-71.3cqw -23.625cqw}
.yb-concept__decoration--right-flower{right:0;top:58%;width:7.5%;height:10.5%;background-position:-92.5cqw -43.5cqw}
.yb-concept__decoration--lower-leaf{right:0;top:77%;width:14%;height:7%;background-position:-86cqw -57.75cqw}
.yb-concept__landscape{position:absolute;bottom:0;left:0;width:100%;height:13.5%;background:url('assets/concept-artwork.webp') center bottom/100% auto no-repeat;opacity:.6;pointer-events:none;z-index:0;mask-image:linear-gradient(to bottom,transparent,#000 38%)}
.yb-concept__blob{position:absolute;z-index:0;pointer-events:none;border-radius:63% 37% 39% 61% / 50% 41% 59% 50%;opacity:.65}
.yb-concept__blob--yellow{left:23%;top:40%;width:10%;height:6%;background:#faf0bc;transform:rotate(17deg)}
.yb-concept__blob--blue{left:69%;top:42%;width:7%;height:7%;background:#dfeff7;transform:rotate(-25deg)}
.yb-concept__blob--mint{left:52.4%;top:64%;width:6.1%;height:5.3%;background:#ddebd9;transform:rotate(20deg)}
.yb-concept__blob--low{left:54.5%;top:76%;width:7%;height:7%;background:#dfeff7;transform:rotate(-20deg)}
.yb-concept__blob--cream{left:72%;top:51%;width:9%;height:5%;background:#f6e7d6;transform:rotate(-7deg)}
.yb-concept__masks{position:absolute;width:0;height:0;overflow:hidden}
@media(min-width:1001px) and (max-width:1100px){.yb-concept{padding-top:120px}.yb-concept__title{margin:22px 0 18px;font-size:4.3cqw}.yb-concept__label{font-size:13px;padding:5px 28px}.yb-concept__body{font-size:1.35cqw;line-height:1.9}.yb-concept__body p{margin-bottom:18px}.yb-concept__message{font-size:1.5cqw}}
@media(max-width:1000px){
.yb-concept{padding-top:80px}.yb-concept__canvas{aspect-ratio:auto;padding:0 20px 110px;display:flex;flex-direction:column;align-items:center;gap:0}
.yb-concept__intro{padding:0;width:100%}.yb-concept__label{font-size:12px;padding:8px 22px;letter-spacing:.07em}.yb-concept__title{font-size:clamp(27px,7.2vw,44px);line-height:1.5;margin:26px 0 27px;letter-spacing:-.045em}
.yb-concept__body{width:100%;max-width:540px;font-size:14px;line-height:2;letter-spacing:0}.yb-concept__body p{margin-bottom:24px}
.yb-concept__photo{position:relative;inset:auto;flex:none}.yb-concept__photo--main{width:calc(100% + 40px);height:auto;aspect-ratio:1.5;margin-top:36px}.yb-concept__photo--embrace{width:61%;height:auto;aspect-ratio:1.15;align-self:flex-end;margin-top:24px}.yb-concept__photo--interior{width:70%;height:auto;aspect-ratio:1.45;align-self:flex-start;margin-top:12px}
.yb-concept__message{position:relative;inset:auto;font-size:16px;line-height:1.8;margin-top:35px;max-width:100%;transform:rotate(-7deg)}.yb-concept__message--left{align-self:flex-start;margin-left:25px}.yb-concept__message--top{align-self:flex-end;margin-right:20px}.yb-concept__message--right{align-self:flex-start;margin-left:35px}.yb-concept__message--closing{font-size:13px;align-self:flex-end;margin-right:10px;margin-top:42px}
.yb-concept__decoration{display:none}.yb-concept__blob--yellow{left:0;top:34%;width:60px;height:45px}.yb-concept__blob--blue{left:6%;top:53%;width:45px;height:55px}.yb-concept__blob--mint{left:82%;top:67%;width:45px;height:40px}.yb-concept__blob--low,.yb-concept__blob--cream{display:none}.yb-concept__landscape{height:65px;background-size:auto 480px;opacity:.4}
.yb-concept__message--top::after,.yb-concept__message--right::after{content:"";display:block;width:110%;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 32' fill='none'%3E%3Cpath d='M2 24C42 5 65 33 108 19S182 0 238 9' stroke='%2375B8A6' stroke-width='1.35' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
}

.yb-concept{background:#fff}


/* Responsive spacing: avoid both the large empty lead-in and a boxed wide-screen canvas. */
.yb-concept{padding-top:clamp(40px,4vw,64px)}
.yb-concept__intro{padding-top:12px}
@media(min-width:1449px){
.yb-concept__canvas{max-width:none;width:100%;height:1086px;aspect-ratio:auto}
.yb-concept__title{font-size:62px}.yb-concept__body{font-size:18px;width:620px}
.yb-concept__photo--main{left:0;width:780px;height:519px}
.yb-concept__photo--embrace{right:2%;width:333px;height:286px}
.yb-concept__photo--interior{left:auto;right:14%;width:405px;height:290px}
.yb-concept__message--left{left:9%;font-size:21px}.yb-concept__message--top{left:auto;right:7%;font-size:22px}.yb-concept__message--right{left:auto;right:2.5%;font-size:21px}.yb-concept__message--closing{font-size:17px}
.yb-concept__decoration{background-size:1448px 1086px}
.yb-concept__decoration--upper-left{left:5%;width:304px;height:185px;background-position:-139px -60px}
.yb-concept__decoration--left-leaves{width:174px;height:304px;background-position:0 -195px}
.yb-concept__decoration--upper-right{width:362px;height:337px;background-position:-1086px 0}
.yb-concept__decoration--middle-leaves{left:auto;right:calc(2% + 307px);width:92px;height:109px;background-position:-1032px -342px}
.yb-concept__decoration--right-flower{width:109px;height:114px;background-position:-1339px -630px}
.yb-concept__decoration--lower-leaf{width:203px;height:76px;background-position:-1245px -836px}
.yb-concept__landscape{background-size:1448px 1086px;background-repeat:repeat-x}
.yb-concept__blob{max-width:145px;max-height:80px}
}
@media(min-width:1001px) and (max-width:1100px){.yb-concept{padding-top:44px}.yb-concept__intro{padding-top:12px}}
@media(max-width:1000px){.yb-concept{padding-top:40px}.yb-concept__intro{padding-top:0}.yb-concept__canvas{max-width:720px;padding-bottom:90px}.yb-concept__title{font-size:clamp(27px,5.2vw,42px);margin-top:22px}.yb-concept__photo--main{max-width:720px}.yb-concept__body{font-size:clamp(14px,1.8vw,17px)}.yb-concept__message{margin-top:26px}.yb-concept__message--closing{margin-top:34px}}

@media(min-width:1449px){.yb-concept__decoration--upper-left{left:139px}}
/* Blend the cropped top edge of the upper-right watercolor into the section. */
.yb-concept__decoration--upper-right{mask-image:linear-gradient(to bottom,transparent 0,#000 64px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 64px)}
/* Keep the whole flower stem and blue watercolor; exclude the adjacent source photo. */
.yb-concept__decoration--left-leaves{height:33.15%;clip-path:polygon(0 0,100% 0,100% 77.8%,72% 80.6%,40.2% 92.2%,27.6% 97.2%,0 100%)}
@media(min-width:1449px){.yb-concept__decoration--left-leaves{height:360px}}
.yb-concept__decoration--upper-right{height:34.2%;clip-path:polygon(0 0,100% 0,100% 90.8%,23.5% 90.8%,23.5% 100%,0 100%)}
.yb-concept__decoration--middle-leaves{clip-path:polygon(0 0,73% 0,73% 28%,100% 28%,100% 100%,0 100%)}
@media(min-width:1449px){.yb-concept__decoration--upper-right{height:371px}}
/* Concept label: match the compact, firmer lettering of the reference. */
/* Show only the town strip, excluding the source artwork's baked-in wind line. */
.yb-concept__landscape{height:6%;mask-image:linear-gradient(to bottom,transparent,#000 38%)}
.yb-concept__message--closing::after{top:calc(100% + 10px);left:2%;width:98%;height:24px}
@media(min-width:1449px){.yb-concept__landscape{height:65px}}
@media(max-width:1000px){.yb-concept__landscape{height:29px}}
@font-face{font-family:YBConceptLabel;src:url('assets/zen-maru-gothic-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
.yb-concept__label{font-family:YBConceptLabel,"Yu Gothic",sans-serif;font-weight:500;font-size:14px;letter-spacing:.075em;line-height:1.5;padding:6px 34px;background:#e5f2e2;color:#43876e}
@media(max-width:1000px){.yb-concept__label{font-size:12px;padding:6px 25px;letter-spacing:.06em}}

