/* トップ専用。文章と写真を独立した同じ高さの列にする。 */
.hero{width:92%;max-width:960px;margin:0 auto;padding:0}.hero-stage{position:relative;display:grid;grid-template-columns:45% 55%;height:420px;padding:0;min-height:0;background:#37413b;overflow:hidden}.hero-stage:before{display:none}.hero-images{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;background:#e4e8df;overflow:hidden}.photo-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .35s ease;overflow:hidden}.photo-slide.active{opacity:1;visibility:visible}.photo-slide.active.fading{opacity:0}.hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;opacity:1;transition:none;transform:none}.photo-slide:nth-child(1) .hero-photo{object-position:85% center}.photo-slide:nth-child(2) .hero-photo{transform:scale(1.06);object-position:center 20%}.photo-slide:nth-child(3) .hero-photo{transform:scale(1.12);object-position:75% center}.photo-slide:nth-child(4) .hero-photo,.photo-slide:nth-child(5) .hero-photo{transform:scale(1.06)}.photo-slide:nth-child(5) .hero-photo{object-position:53% center}
.photo-copy{position:absolute;left:3%;right:3%;bottom:14%;margin:0;text-align:center;font-size:18px;font-weight:500;line-height:1.8;letter-spacing:.04em;color:white;text-shadow:0 1px 5px #000,0 1px 12px #0009;z-index:2}.photo-copy:before{content:'';position:absolute;z-index:-1;inset:-8px -4%;background:linear-gradient(90deg,transparent,#26332833 25% 75%,transparent)}.photo-caption{position:absolute;bottom:7px;right:9px;top:auto;left:auto;font-size:9px;line-height:1.6;padding:2px 6px;background:#26312899;color:#fff;z-index:3}
.message{grid-column:1;grid-row:1;position:relative;z-index:1;display:flex;flex-direction:column;align-self:stretch;width:100%;height:100%;min-height:0;min-width:0;max-width:none;margin:0;padding:26px 28px 0;background:#37413b;color:#fff;border-radius:0;box-shadow:none;overflow:hidden}.policy-label{display:flex;gap:8px;color:#fff!important;font:11px/1.8 Arial,sans-serif;letter-spacing:.17em;margin:0}.message-copy{height:auto;min-height:0;flex:1;padding-top:22px;transition:opacity .35s ease}.message-copy.fading{opacity:0}.message h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:33px;font-weight:500;line-height:1.5;letter-spacing:.025em;min-height:0}.message-copy p{font-size:15px;line-height:1.9;margin-top:17px;max-width:none;white-space:pre-line}.message-bottom{display:block;margin:18px 0 0;padding:15px 0 19px;border-top:1px solid #ffffff38;background:none;min-height:0}.hero-controls{display:flex;gap:12px;align-items:center;padding:0;min-width:0;font:12px/1.5 Arial,sans-serif}.slide-count{margin-right:auto;white-space:nowrap;color:#e2e7de}.slide-count b{font-size:18px;font-weight:400;color:#fff}.hero-controls button{width:32px;height:30px;flex-shrink:0;padding:0;border:1px solid #ffffff60;background:transparent;color:#fff;font:15px Arial,sans-serif}.hero-controls button:hover{background:#ffffff15}.hero-link{display:flex;align-items:center;justify-content:space-between;border:0;padding:0;margin:15px 0 0;min-width:0;font-size:12px;line-height:1.8;gap:12px}.hero-link:hover{color:#e4ebdd}.notice{margin-top:23px}
@media(min-width:851px) and (max-width:1000px){.message{padding:23px 24px 0}.message h1{font-size:30px}.message-copy p{font-size:14px}.message-bottom{padding-bottom:18px}}
@media(max-width:850px){.hero{width:88%;max-width:560px}.hero-stage{display:flex;flex-direction:column;height:auto;padding:0;min-height:0}.hero-images{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/3;flex:none;order:0}.message{order:1;width:100%;height:355px;min-height:0;margin:0;padding:23px 27px 0;flex:none}.message-copy{padding-top:17px;min-height:0;height:auto}.message h1{font-size:32px;line-height:1.45;min-height:0}.message-copy p{font-size:15px;line-height:1.85;margin-top:14px}.message-bottom{margin-top:13px;padding:12px 0 17px}.photo-copy{font-size:17px;bottom:12%}.photo-caption{font-size:8px;top:auto;bottom:5px}.hero-link{font-size:12px;margin-top:11px}.hero-controls{gap:14px;min-width:0}.hero-controls button{width:32px;height:30px}.hero-controls b{font-size:18px}.notice{margin-top:23px}}
@media(max-width:480px){.hero{width:100%}.message{height:365px;padding:22px 24px 0}.message h1{font-size:clamp(27px,7.7vw,32px)}.message-copy p{font-size:14px}.policy-label{font-size:10px}.photo-copy{font-size:clamp(13px,3.9vw,16px);letter-spacing:.015em;bottom:12%}.photo-caption{font-size:7px}.message-bottom{padding-bottom:16px}.hero-controls{gap:12px}.hero-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){.photo-slide,.message-copy{transition:none!important}}
@media(min-width:851px){.hero-stage{height:380px}}
.photo-slide:nth-child(4),.photo-slide:nth-child(5){background:#eef0ea}
.photo-slide:nth-child(4) .hero-photo,.photo-slide:nth-child(5) .hero-photo{object-fit:contain;transform:none}
.photo-slide:nth-child(4) .photo-copy,.photo-slide:nth-child(5) .photo-copy{bottom:22%}
@media(max-width:850px){.hero{max-width:528px}.message{height:325px}}
@media(min-width:481px) and (max-width:850px){.message{height:350px}}
/* 文章と写真を主要コンテンツと同じ基準線に合わせる。 */
.message h1{font-weight:600;letter-spacing:.025em}.message-copy p{font-weight:500}.photo-copy{font-weight:600}.policy-label,.hero-controls,.slide-count b{font-weight:500}.hero-controls button,.hero-link{font-weight:600}.photo-caption{font-weight:500}
@media(min-width:851px){.hero{width:var(--content-gutter);max-width:var(--content-width)}.hero-stage{grid-template-columns:50% 50%;height:400px}.message{padding:28px 34px 0}.message h1{font-size:clamp(31px,3vw,39px);line-height:1.5}.message-copy{padding-top:22px}.message-copy p{font-size:16px;line-height:1.95}.message-bottom{padding-bottom:21px}.photo-slide:nth-child(2) .hero-photo{object-fit:contain}.photo-slide:nth-child(3) .hero-photo{transform:scale(1.1)}}
@media(min-width:851px) and (max-width:1000px){.message{padding:25px 26px 0}.message h1{font-size:31px}.message-copy p{font-size:15px}}
@media(min-width:851px){.photo-slide:nth-child(2) .hero-photo{width:calc(100% + 16px);left:-16px;object-fit:cover;object-position:center top;transform:none}}
.hero-image-note{margin:8px 0 0;text-align:right;font-size:11px;font-weight:500;line-height:1.7;color:#66715f}
@media(max-width:850px){.hero-image-note{margin:8px 6% 0;text-align:left;font-size:10px}}

/* 横長の写真も枠いっぱいに表示し、被写体に合わせて切り取り位置を調整。 */
.photo-slide:nth-child(4) .hero-photo{object-fit:cover;object-position:86% center;transform:scale(1.06)}
.photo-slide:nth-child(5) .hero-photo{object-fit:cover;object-position:56% center;transform:scale(1.06)}
.photo-slide:nth-child(4) .photo-copy,.photo-slide:nth-child(5) .photo-copy{bottom:14%}
