/* SBDesign Studio 0.2 — 写真・余白・重なりで構成するセクション */

/* ロゴはWordPress標準のサイトロゴを優先。未設定時はサイト名を表示。 */
.site-brand{display:flex;align-items:center;flex-shrink:0;gap:0}
.site-brand .wp-block-site-logo{margin:0}
.site-brand .wp-block-site-logo img{display:block;max-width:100%;height:auto;object-fit:contain}
.site-brand:has(.wp-block-site-logo img) .wp-block-site-title{display:none}
.site-brand .wp-block-site-title,.site-header .brand{font-family:Arial,"Yu Gothic",sans-serif;font-weight:750;font-size:28px;letter-spacing:.01em;line-height:1.2;margin:0}
.site-header .brand span{font-weight:500;letter-spacing:.12em;margin-top:9px}
.header-inner{padding-top:25px;padding-bottom:25px}
.header-inner nav a,.header-inner .wp-block-navigation-item__content{font-size:14px;font-weight:600;letter-spacing:.025em}
.header-inner nav,.header-inner .wp-block-navigation__container{gap:28px}
.header-inner #preview-nav>a:last-child,.header-inner .wp-block-navigation__container>.wp-block-navigation-item:last-child>a{background:var(--ink);color:white;padding:14px 26px;border-radius:99px}
.header-inner .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:center}
.header-inner .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container>.wp-block-navigation-item:last-child>a{padding:14px 26px}

/* ボタンとHERO。ズームは1回だけゆっくり進み、最後の状態で止める。 */
.wp-block-button__link,button[type=submit],.wpcf7-submit{border-radius:999px;padding:17px 30px}
.wp-block-button__link>span[aria-hidden]{font-family:Arial,sans-serif;font-size:20px;line-height:1;font-weight:400}
.hero{min-height:700px}
.hero-copy{padding-top:96px;padding-bottom:125px}
.hero-image{overflow:hidden}
.hero-image img{animation:sbd-hero-zoom 26s cubic-bezier(.18,.45,.5,1) both;transform-origin:65% 50%;will-change:transform}
@keyframes sbd-hero-zoom{from{transform:scale(1)}to{transform:scale(1.09)}}
.hero .wp-block-button__link{min-width:218px}
.hero-scroll{bottom:28px}

/* 各sectionは標準グループ。背景色と背景画像はブロックの設定を優先。 */
.section{position:relative;padding:110px 6%;background-size:cover;background-position:center;isolation:isolate}
.section-inner{position:relative;max-width:1240px;z-index:1}
.section-inner>.eyebrow,.message-copy>.eyebrow,.about-copy>.eyebrow,.journal-intro>.eyebrow,.faq-intro>.eyebrow{display:flex;align-items:center;gap:14px}
.section-inner>.eyebrow::before,.message-copy>.eyebrow::before,.about-copy>.eyebrow::before,.journal-intro>.eyebrow::before,.faq-intro>.eyebrow::before{content:"";width:26px;height:1px;background:currentColor}
.section h2{font-size:clamp(30px,3vw,43px);line-height:1.65;letter-spacing:.06em}
.section-intro{max-width:390px;font-size:15px;margin-left:auto;margin-top:-100px;margin-bottom:65px;line-height:2}
.section .wp-block-columns{gap:38px;margin-bottom:0}
.section .wp-block-column{min-width:0}

/* メッセージ：写真の重なりと左右非対称の余白 */
.message-section{padding-top:140px;padding-bottom:145px}
.message-section .wp-block-columns{gap:8%;align-items:center}
.message-section .wp-block-column:first-child{flex:1.05}
.message-section .wp-block-column:last-child{flex:1}
.message-collage{position:relative;padding-right:55px;padding-bottom:78px}
.message-collage .message-main{height:500px;border-radius:120px 8px 8px 8px;overflow:hidden}
.message-main img{width:100%;height:100%;object-fit:cover;object-position:52% center}
.message-collage .message-detail{position:absolute;width:53%;height:215px;right:0;bottom:0;border:9px solid white;border-radius:8px;overflow:hidden;margin:0!important}
.message-detail img{width:100%;height:100%;object-fit:cover}
.photo-caption{position:absolute;left:22px;bottom:16px;font-size:12px;font-weight:600;line-height:1.7;letter-spacing:.16em;margin:0}
.message-copy h2{margin-bottom:30px!important}
.message-copy .lead{font-size:21px;line-height:1.95;margin-bottom:23px}
.message-copy>p:not(.eyebrow):not(.lead){font-size:15px;line-height:2.1;max-width:445px}
.message-copy .wp-block-buttons{margin-top:32px}

/* Benefit：線画、番号、大きな余白を持つ3つのカード */
.benefit-section{border-radius:60px 60px 0 0}
.benefit-section .wp-block-columns{gap:24px}
.feature{height:100%;padding:32px 30px 26px;border:1px solid #dce3e8;background:#ffffffcc;border-radius:10px;transition:transform .3s,box-shadow .3s}
.feature:hover{transform:translateY(-5px);box-shadow:0 15px 35px #25352b0b}
.feature-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.feature-top .number{font-size:14px;font-family:var(--sans);letter-spacing:.12em;margin:0;color:#768073}
.feature-icon{width:48px;height:48px;margin:0!important}
.feature-icon img{width:100%;height:100%}
.feature h3{font-size:25px;margin-bottom:20px}
.feature p:last-child{font-size:15px;line-height:1.95;margin-bottom:0}

/* 大切にしていること：背景写真を大胆に使った濃色セクション */
.values-section{padding-top:120px;padding-bottom:120px;overflow:hidden}
.values-section::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#162532ed,#182733e0 55%,#172632bb);z-index:0;pointer-events:none}
.values-section .wp-block-columns{gap:10%}
.values-title{padding-top:36px}
.values-title .eyebrow{color:#b6cbd9}
.values-title h2{font-size:clamp(32px,3.5vw,48px);margin-bottom:34px;color:inherit}
.values-title p:last-child{font-size:15px;line-height:2.1;color:#e1e8ee}
.values-list{border-top:1px solid #ffffff40}
.value-item{display:grid;grid-template-columns:35px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid #ffffff40;margin:0!important}
.value-number{font-size:13px;color:#b6cbd9;padding-top:8px;margin:0}
.value-description{margin:0!important}
.value-description h3{font-size:26px;margin-bottom:12px;color:inherit}
.value-description p{font-size:14px;line-height:2;margin-bottom:0;color:#d6dfe6}

/* お客様の声：4枚＋追加分は水平スクロール。カード内容は標準ブロック。 */
.voices-section{overflow:hidden}
.voices-section h2{margin-bottom:20px}
.voices-section .sample-note{margin-bottom:40px;font-size:12px}
.voice-track{--voice-gap:22px;--voice-count:4;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--voice-count) - 1)*var(--voice-gap))/var(--voice-count));gap:var(--voice-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#7b909e transparent;padding:0 0 18px;margin:0;scroll-behavior:smooth}
.voice-track>.voice-card{min-width:0;margin:0!important;padding:0;border:1px solid #dfe5ea;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;background:#fff;scroll-snap-align:start;scroll-snap-stop:normal;color:var(--ink)}
.voice-photo{height:auto;aspect-ratio:1/1.04;overflow:hidden;flex-shrink:0;margin:0!important}
.voice-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform .6s}
.voice-card:hover .voice-photo img{transform:scale(1.035)}
.voice-body{padding:27px 22px 24px;display:flex;flex-direction:column;flex:1;margin:0!important}
.voice-body .eyebrow{font-size:10px;letter-spacing:.15em;color:var(--accent);margin:0 0 16px}
.voice-body h3{font-size:20px;line-height:1.8;margin:0 0 18px;letter-spacing:0}
.voice-body>p:not(.eyebrow):not(.voice-name){font-size:14px;line-height:1.95;margin:0 0 27px}
.voice-body .voice-name{font-size:11px;padding-top:17px;margin-top:auto;margin-bottom:0;border-top:1px solid #e1e7ed;color:#5e6d79;line-height:1.7}
.voice-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:18px}
.voice-controls[hidden]{display:none}
.voice-controls button{border:1px solid #b6c1cb;background:transparent;border-radius:50%;width:44px;height:44px;color:var(--ink);font-size:20px;cursor:pointer;display:grid;place-items:center}
.voice-controls button:hover:not(:disabled){background:var(--ink);color:#fff}
.voice-controls button:disabled{opacity:.3;cursor:default}
.voice-status{font-size:12px;letter-spacing:.05em;margin:0 14px 0 0;color:#61717c}

/* サービス：大きな写真と、写真に重なる番号 */
.services-section .wp-block-columns{gap:28px}
.service-card{padding:0;border:0;height:100%}
.service-visual{position:relative;margin-bottom:29px}
.service-photo{height:auto;aspect-ratio:4/3;overflow:hidden;border-radius:8px}
.service-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.service-card:hover .service-photo img{transform:scale(1.04)}
.service-number{position:absolute;right:18px;bottom:-23px;display:grid;place-items:center;width:54px;height:54px;background:#fff;border-radius:50%;font-family:var(--serif);font-size:21px;border:1px solid #dfe3d9;margin:0!important}
.service-body{padding:0 3px}
.service-body .eyebrow{font-size:11px;color:var(--accent);margin-bottom:13px}
.service-body h3{font-size:26px;margin-bottom:20px}
.service-body>p:not(.eyebrow){font-size:15px;line-height:1.95;margin-bottom:25px}
.service-body .wp-block-button__link{display:flex;justify-content:space-between;gap:25px;border:1px solid #c8d2da;border-radius:99px;padding:12px 20px;background:transparent;color:var(--ink);font-size:12px}
.service-body .wp-block-button__link:hover{background:var(--ink);color:white}

/* Journal：写真のある見出しと、読みやすい記事リスト */
.journal{border:0;padding-top:90px;padding-bottom:90px}
.journal .wp-block-columns{gap:8%;align-items:center}
.journal .wp-block-column:first-child{flex:.75}
.journal .wp-block-column:last-child{flex:1.25}
.journal-intro h2{font-size:35px;margin-bottom:28px}
.journal-photo{height:190px;width:85%;overflow:hidden;border-radius:6px}
.journal-photo img{width:100%;height:100%;object-fit:cover}
.journal-posts .wp-block-post,.journal-list article{padding:27px 0;gap:22px}
.journal-posts .wp-block-post-title a{font-size:16px;font-weight:500}
.journal-posts .wp-block-query-no-results{padding:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* About：写真からはみ出す小さなメッセージカード */
.about-section .wp-block-columns{gap:9%;align-items:center}
.about-visual{position:relative;padding-bottom:48px}
.about-photo{height:520px;overflow:hidden;border-radius:8px 100px 8px 8px}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:72% center}
.about-caption{position:absolute;left:-25px;bottom:0;background:#283b49;color:#fff;padding:28px 34px;font-size:14px;font-weight:500;line-height:1.9;letter-spacing:.13em;border-radius:5px;margin:0!important}
.about-copy h2{margin-bottom:30px}
.about-copy>p{font-size:15px}
.company-table>div{grid-template-columns:100px 1fr;padding:16px 0}
.faq-section .wp-block-columns{gap:7%}
.faq-section .wp-block-column:first-child{flex:.7}
.faq-section .wp-block-column:last-child{flex:1.3}
.faq-intro h2{font-size:34px;margin-bottom:25px}
.faq-intro p{font-size:14px}
.faq-items .wp-block-details{background:white;border:1px solid #e0e5eb;border-radius:7px;padding:23px 25px;margin:0 0 14px!important}
.faq-items summary{list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:15px}
.faq-items summary::-webkit-details-marker{display:none}
.faq-items summary::after{content:"+";font-size:23px;line-height:1.2;color:#738b9d;flex-shrink:0}
.faq-items details[open] summary::after{content:"−"}
.faq-items .wp-block-details p{padding:20px 0 0;margin:0;font-size:14px;line-height:2}

/* お問い合わせ：背景写真と明るいパネル */
.contact{padding:95px 6%}
.contact::before{content:"";position:absolute;inset:0;background:#14233055;z-index:0;pointer-events:none}
.contact .section-inner{max-width:1050px}
.contact-panel{background:#ffffffef;padding:65px 80px;border-radius:10px}
.contact-panel>.eyebrow{color:var(--accent)}
.contact h2{font-size:clamp(32px,3.7vw,48px);margin-bottom:27px}
.contact-panel form{margin-top:32px}
.contact-panel input:not([type=checkbox]):not([type=submit]),.contact-panel textarea{background:#f5f7f9;border-color:#cdd6df;border-radius:4px}
.site-footer{background:#202d38;padding-top:65px}
.site-footer .wp-block-site-title{font-family:Arial,"Yu Gothic",sans-serif;font-weight:700;font-size:28px}

/* 編集画面では全カードを並べ、写真の動きを止める */
.editor-styles-wrapper .hero-image img{animation:none;transform:none}
.editor-styles-wrapper .voice-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}
.editor-styles-wrapper .section-intro{margin:0 0 40px}
.editor-styles-wrapper .section{padding:75px 5%}

@media(max-width:1100px){
 .header-inner nav,.header-inner .wp-block-navigation__container{gap:17px}
 .header-inner nav a{font-size:13px}
 .header-inner #preview-nav>a:last-child,.header-inner .wp-block-navigation__container>.wp-block-navigation-item:last-child>a{padding:12px 17px}
 .section-intro{margin-top:0;margin-left:0;margin-bottom:45px}
 .message-collage{padding-right:30px;padding-bottom:65px}.message-collage .message-main{height:435px}.message-collage .message-detail{height:170px}
 .feature{padding:25px 22px}.feature h3{font-size:23px}
 .voice-track{--voice-gap:16px}.voice-body{padding:23px 16px}.voice-body h3{font-size:18px}
 .service-body h3{font-size:23px}.service-body .wp-block-button__link{font-size:11px;gap:15px;padding:11px 15px}
}
@media(max-width:900px){.voice-track{--voice-count:2}.voice-body h3{font-size:22px}}
@media(max-width:781px){
 .site-brand .wp-block-site-title,.site-header .brand{font-size:24px}
 .header-inner{padding:20px 6%}.hero{min-height:650px}.hero-copy{padding:75px 7% 110px}.hero-split .hero-copy{padding:55px 7%}.hero-center .hero-copy{padding-top:80px}
 .section{padding:70px 7%}.section h2{font-size:31px}.section .wp-block-columns{gap:38px}
 .message-section{padding-top:80px;padding-bottom:75px}.message-section .wp-block-columns{gap:45px}.message-collage{max-width:520px;margin:auto;padding-right:45px;padding-bottom:65px}.message-collage .message-main{height:350px;border-radius:85px 7px 7px 7px}.message-collage .message-detail{height:160px;border-width:7px}.photo-caption{left:10px;bottom:8px;font-size:10px}.message-copy .lead{font-size:20px}
 .benefit-section{border-radius:35px 35px 0 0}.benefit-section .wp-block-columns{gap:18px}.feature{padding:26px}.feature-top{margin-bottom:16px}.feature h3{font-size:25px}.feature-top .number{font-size:14px}
 .values-section{padding:75px 7%}.values-title{padding:0}.values-title h2{font-size:35px}.values-title p:last-child{margin:0}.values-section .wp-block-columns{gap:35px}.value-description h3{font-size:25px}.value-item{padding:24px 0;grid-template-columns:26px 1fr;gap:15px}
 .voice-track{--voice-count:1;grid-auto-columns:86%;--voice-gap:18px;margin-right:-8%;padding-right:8%;scroll-padding-right:8%}.voice-body{padding:26px 24px}.voice-body h3{font-size:22px}.voice-photo{aspect-ratio:1.08/1}.voice-body .voice-name{font-size:12px}.voices-section .sample-note{font-size:11px;line-height:1.8}.voice-controls{margin-top:12px}
 .services-section .wp-block-columns{gap:45px}.service-photo{aspect-ratio:1.5/1}.service-body h3{font-size:26px}.service-body .wp-block-button__link{font-size:13px;padding:13px 23px;gap:26px}
 .journal .wp-block-columns{gap:25px}.journal-photo{width:100%;height:200px}.journal-posts .wp-block-post-title a{font-size:15px}
 .about-photo{height:390px;border-radius:7px 80px 7px 7px}.about-caption{left:-12px;padding:23px 28px;font-size:12px}.about-section .wp-block-columns{gap:40px}
 .faq-section .wp-block-columns{gap:22px}.faq-items .wp-block-details{padding:22px 20px}.faq-items summary{font-size:14px}
 .contact{padding:55px 5%}.contact-panel{padding:38px 23px}.contact h2{font-size:31px}.contact-panel>p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.hero-image img{animation:none;transform:none;will-change:auto}.voice-track{scroll-behavior:auto}}
