@charset "UTF-8";

:root{--ky-purple:#40263f;--ky-purple-2:#583654;--ky-ink:#252125;--ky-muted:#756f72;--ky-paper:#fbf8f1;--ky-paper-2:#f2ecdf;--ky-line:#e7dfd4;--ky-white:#fff;--ky-max:1240px;--ky-serif:"Yu Mincho","Hiragino Mincho ProN","YuMincho",serif;--ky-sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}

/* 賢威本体の見出し・リンク装飾をTOP専用画面では完全にリセット */
.kyoyu-home #main-content h1,.kyoyu-home #main-content h2,.kyoyu-home #main-content h3,.kyoyu-home #main-content h4,.kyoyu-home #main-content h5,.kyoyu-home #main-content h6{background:none!important;background-color:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:inherit!important;padding:0!important;text-shadow:none}
.kyoyu-home #main-content h1:before,.kyoyu-home #main-content h1:after,.kyoyu-home #main-content h2:before,.kyoyu-home #main-content h2:after,.kyoyu-home #main-content h3:before,.kyoyu-home #main-content h3:after{display:none!important;content:none!important}
.kyoyu-home #main-content a{color:inherit!important;text-decoration:none!important}
.kyoyu-home #main-content ul,.kyoyu-home #main-content ol{background:none!important;border:0!important}
.kyoyu-home #main-content blockquote{background:none!important;border:0!important;box-shadow:none!important}

html{scroll-behavior:smooth}.kyoyu-home{margin:0;background:var(--ky-paper);color:var(--ky-ink);font-family:var(--ky-sans);line-height:1.85;-webkit-font-smoothing:antialiased}.kyoyu-home *{box-sizing:border-box}.kyoyu-home img{max-width:100%;height:auto}.kyoyu-home a{color:inherit;text-decoration:none}.ky-shell{width:min(calc(100% - 64px),var(--ky-max));margin-inline:auto}.ky-skip{position:fixed;left:12px;top:-80px;z-index:9999;background:#fff;padding:10px 16px}.ky-skip:focus{top:12px}
.ky-header{position:sticky;top:0;z-index:80;background:rgba(255,253,249,.96);border-bottom:1px solid rgba(64,38,63,.1);backdrop-filter:blur(12px)}.admin-bar .ky-header{top:32px}.ky-header__inner{width:min(calc(100% - 48px),1240px);min-height:92px;margin:auto;display:flex;align-items:center;gap:36px}.ky-brand{display:grid;grid-template-columns:auto auto;column-gap:18px;align-items:center;min-width:300px}.ky-brand__eyebrow{grid-row:1/4;font-family:var(--ky-serif);font-size:13px;line-height:1.55;letter-spacing:.12em;color:var(--ky-purple)}.ky-brand__eyebrow b{font-weight:500}.ky-brand__name{font-family:var(--ky-serif);font-size:31px;letter-spacing:.18em;line-height:1.2}.ky-brand__roman{font-family:Georgia,serif;font-size:10px;letter-spacing:.34em;color:#665d63;margin-top:5px}.ky-nav{margin-left:auto;display:flex;align-items:center;gap:28px;font-family:var(--ky-serif);font-size:14px;letter-spacing:.08em}.ky-nav>a:not(.ky-nav__contact){position:relative;padding:32px 0}.ky-nav>a:not(.ky-nav__contact):after{content:"";position:absolute;left:0;right:100%;bottom:23px;height:1px;background:var(--ky-purple);transition:right .25s}.ky-nav>a:hover:after{right:0}.ky-nav__contact{background:var(--ky-purple);color:#fff!important;padding:15px 22px}.ky-menu-toggle{display:none}
.ky-hero{position:relative;min-height:640px;display:grid;align-items:center;background-image:linear-gradient(90deg,rgba(18,13,17,.72) 0%,rgba(18,13,17,.28) 48%,rgba(18,13,17,.2) 100%),var(--ky-hero);background-size:cover;background-position:center 46%;color:#fff;overflow:hidden}.ky-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(20,13,19,.25))}.ky-hero__content{position:relative;z-index:2;padding-block:92px}.ky-kicker,.ky-en{font-family:Georgia,serif;font-size:11px;letter-spacing:.28em;text-transform:uppercase}.ky-kicker{color:rgba(255,255,255,.74);margin-bottom:16px}.ky-hero h1{font-family:var(--ky-serif);font-size:clamp(48px,5vw,76px);font-weight:400;line-height:1.34;letter-spacing:.08em;margin:0 0 18px;text-shadow:0 2px 18px rgba(0,0,0,.18)}.ky-hero__lead{font-family:var(--ky-serif);font-size:18px;letter-spacing:.08em;margin:0 0 30px}.ky-actions{display:flex;gap:12px;flex-wrap:wrap}.ky-btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-width:180px;padding:13px 22px;border:1px solid rgba(255,255,255,.68);font-family:var(--ky-serif);font-size:14px;letter-spacing:.08em;transition:.25s}.ky-btn--solid{background:var(--ky-purple);border-color:var(--ky-purple);color:#fff!important}.ky-btn--solid:hover{background:#2f1b2e;transform:translateY(-2px)}.ky-btn--ghost{background:rgba(0,0,0,.12);color:#fff!important}.ky-btn--ghost:hover{background:rgba(255,255,255,.15)}.ky-hero__vertical{position:absolute;right:5%;top:50%;z-index:2;margin:0;writing-mode:vertical-rl;font-family:var(--ky-serif);font-size:15px;letter-spacing:.26em;color:rgba(255,255,255,.86);transform:translateY(-50%)}
.ky-section{padding:94px 0}.ky-en{color:#9b827d;margin:0 0 7px}.ky-heading-block h2,.ky-section-title h2,.ky-message h2,.ky-access h2,.ky-cta h2{font-family:var(--ky-serif);font-weight:500;letter-spacing:.12em}.ky-heading-block h2,.ky-section-title h2,.ky-message h2,.ky-access h2{font-size:30px;margin:0 0 24px}.ky-copy{font-family:var(--ky-serif);font-size:16px;line-height:2.05;margin:0}.ky-note{font-size:13px;color:var(--ky-muted);margin-top:20px}.ky-about{background:linear-gradient(135deg,#fffdf8,#f8f2e8)}.ky-about__grid{display:grid;grid-template-columns:1fr .82fr 1.34fr;gap:44px;align-items:stretch}.ky-heading-block{padding:32px 0}.ky-about__visual{display:grid;place-items:center}.ky-about__photo{margin:0;width:100%;height:100%;min-height:330px;overflow:hidden}.ky-about__photo img{width:100%;height:100%;object-fit:cover;object-position:center}.ky-tokonoma{position:relative;width:100%;height:100%;min-height:330px;background:linear-gradient(145deg,#dcc8aa,#f0e2ca);box-shadow:inset 0 0 60px rgba(78,52,36,.11);overflow:hidden}.ky-tokonoma:before{content:"";position:absolute;inset:24px;border:1px solid rgba(57,36,29,.12)}.ky-tokonoma__scroll{position:absolute;top:35px;left:50%;transform:translateX(-50%);width:74px;height:136px;display:grid;place-items:center;background:#efe4cc;border-block:9px solid #8d6c54;font-family:var(--ky-serif);font-size:48px}.ky-tokonoma__vase{position:absolute;left:50%;bottom:45px;transform:translateX(-50%);width:72px;height:78px;border-radius:43% 43% 38% 38%;background:#1d1b19;box-shadow:0 12px 22px rgba(0,0,0,.2)}.ky-tokonoma__branch{position:absolute;left:50%;bottom:113px;width:2px;height:105px;background:#5d4635;transform:rotate(23deg);transform-origin:bottom}.ky-tokonoma__branch:before,.ky-tokonoma__branch:after{content:"";position:absolute;width:76px;height:1px;background:#5d4635;top:30px;left:-58px;transform:rotate(-32deg)}.ky-tokonoma__branch:after{top:52px;left:-5px;transform:rotate(25deg)}.ky-message{grid-column:auto;display:grid;grid-template-columns:170px 1fr;gap:28px;padding:28px;border-left:1px solid var(--ky-line);background:rgba(255,255,255,.62)}.ky-message__media img,.ky-message__placeholder{width:100%;aspect-ratio:4/5;object-fit:cover;background:linear-gradient(145deg,#d6e6c5,#f0dfb5)}.ky-message__media p{font-family:var(--ky-serif);font-size:12px;line-height:1.5;margin:12px 0 0}.ky-message__media strong{font-size:16px;font-weight:500}.ky-message__media small{color:#8b8285}.ky-message__text h2{font-size:22px;margin-bottom:12px}.ky-message blockquote{border:0;margin:6px 0 17px;padding:0;color:var(--ky-purple);font-family:var(--ky-serif);font-size:24px;line-height:1.55;letter-spacing:.07em}.ky-message__text>p{font-family:var(--ky-serif);font-size:14px;line-height:1.95}.ky-message__details{margin-top:14px;border-top:1px solid var(--ky-line);padding-top:10px}.ky-message__details summary{cursor:pointer;color:var(--ky-purple);font-family:var(--ky-serif);font-size:13px}.ky-message__details div{padding-top:15px}.ky-message__details p{font-size:13px;line-height:1.9}.ky-sign{text-align:right;color:var(--ky-muted)}
.ky-courses{background:#fff}.ky-section-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.ky-section-title h2{margin:0}.ky-section-title>p{margin:0;color:var(--ky-muted);font-family:var(--ky-serif);font-size:14px}.ky-course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ky-course-card{display:block;background:#fff;border:1px solid var(--ky-line);transition:.25s;overflow:hidden}.ky-course-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(35,26,32,.1)}.ky-course-card__media{aspect-ratio:4/3;background-image:linear-gradient(0deg,rgba(54,31,50,.06),rgba(54,31,50,.06)),var(--course-image);background-size:cover;background-position:center}.ky-course-card__media.is-fallback{background:radial-gradient(circle at 30% 30%,#ead9bd 0 4%,transparent 5%),linear-gradient(135deg,#f0e4cf,#d8c6a6 55%,#aa8a75)}.ky-course-card--2 .is-fallback{background:radial-gradient(circle at 50% 42%,#d58f9e 0 6%,transparent 7%),radial-gradient(circle at 42% 58%,#c5a353 0 5%,transparent 6%),linear-gradient(145deg,#dce2be,#f2e2d4)}.ky-course-card--6 .is-fallback{background:linear-gradient(145deg,#d9c9b9,#f3eee7)}.ky-course-card--7 .is-fallback,.ky-course-card--8 .is-fallback{background:linear-gradient(145deg,#2d292b,#8a7767)}.ky-course-card__body{padding:18px 18px 16px}.ky-course-card h3{font-family:var(--ky-serif);font-weight:500;font-size:16px;line-height:1.5;margin:0 0 8px}.ky-course-card p{font-size:12px;color:var(--ky-muted);margin:0 0 10px}.ky-course-card span{display:flex;justify-content:space-between;border-top:1px solid var(--ky-line);padding-top:10px;font-size:12px;color:#6d5d67}.ky-course-card b{font-weight:400;color:var(--ky-purple)}
.ky-rental{background:var(--ky-purple);color:#fff}.ky-section-title--light .ky-en{color:#c9aebd}.ky-section-title--light>p{color:#d8ccd4}.ky-rental__grid{display:grid;grid-template-columns:.82fr 1.2fr .78fr .78fr;gap:20px;align-items:stretch}.ky-rental__intro{padding:30px 34px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02))}.ky-rental__intro h3{font-family:var(--ky-serif);font-size:24px;font-weight:400;line-height:1.6;margin:0 0 15px}.ky-rental__intro p{font-size:13px;color:#e1d7dd}.ky-rental__photo{margin:0;min-height:245px;overflow:hidden;background:#d8cdbf}.ky-rental__photo img{width:100%;height:100%;object-fit:cover;display:block}.ky-info-card{background:#fff;color:var(--ky-ink);padding:27px}.ky-info-card dl{margin:0}.ky-info-card dl>div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--ky-line)}.ky-info-card dt{font-family:var(--ky-serif);color:#7f6c76}.ky-info-card dd{margin:0;font-family:Georgia,var(--ky-serif);font-size:17px}.ky-info-card small{font-family:var(--ky-sans);font-size:10px;color:#867a80}.ky-tiny{font-size:10px;color:#8b8285;margin:14px 0 0}
.ky-gallery{background:var(--ky-paper)}.ky-gallery__strip{display:grid;grid-template-columns:1.15fr .85fr 1fr 1.1fr .8fr 1.1fr 1fr;gap:8px}.ky-gallery__strip figure{margin:0;aspect-ratio:4/3;background:#ddd0bc;overflow:hidden}.ky-gallery__strip img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.ky-gallery__strip figure:hover img{transform:scale(1.04)}.ky-gallery__strip .is-fallback:nth-child(even){background:#b6a98d}.ky-access{background:#fff}.ky-access__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.ky-access__address{font-family:var(--ky-serif);font-size:17px}.ky-access__list{list-style:none;padding:0;margin:28px 0 0}.ky-access__list li{padding:10px 0;border-bottom:1px solid var(--ky-line);font-size:14px}.ky-map{position:relative;min-height:320px;display:block;background:#f1efe9;border:1px solid #ddd5cc;overflow:hidden}.ky-map__roads{position:absolute;inset:0}.ky-map__roads span{position:absolute;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.03)}.ky-map__roads span:nth-child(1){left:28%;top:0;width:48px;height:100%}.ky-map__roads span:nth-child(2){left:68%;top:0;width:25px;height:100%}.ky-map__roads span:nth-child(3){left:0;top:31%;width:100%;height:32px}.ky-map__roads span:nth-child(4){left:0;top:70%;width:100%;height:20px}.ky-map strong{position:absolute;left:43%;top:49%;transform:translate(-50%,-50%);padding:8px 18px;background:var(--ky-purple);color:#fff;font-family:var(--ky-serif);font-weight:400;letter-spacing:.1em}.ky-map em{position:absolute;right:17%;top:23%;font-style:normal;font-family:var(--ky-serif)}.ky-map small{position:absolute;right:18px;bottom:14px;color:var(--ky-purple)}.ky-cta{padding:82px 0;background:linear-gradient(145deg,#e8ddca,#f7f0e5);text-align:center}.ky-cta h2{font-size:34px;margin:7px 0 15px}.ky-cta>div>p:not(.ky-en){font-family:var(--ky-serif)}.ky-actions--center{justify-content:center;margin-top:26px}.ky-btn--ghost-dark{border-color:#6f5c68;color:var(--ky-purple)!important;background:rgba(255,255,255,.35)}
.ky-footer{background:#332032;color:#eee3eb;padding:58px 0 20px}.ky-footer__grid{display:grid;grid-template-columns:1.15fr 1.5fr 1fr;gap:40px;align-items:center}.ky-footer__brand{display:grid}.ky-footer__brand span{font-family:var(--ky-serif);font-size:11px;letter-spacing:.12em;color:#cbb9c5}.ky-footer__brand strong{font-family:var(--ky-serif);font-size:27px;font-weight:400;letter-spacing:.18em}.ky-footer__brand small{font-family:Georgia,serif;letter-spacing:.3em}.ky-footer__nav{display:flex;gap:19px;flex-wrap:wrap;font-family:var(--ky-serif);font-size:12px}.ky-footer__contact{display:grid;gap:5px;font-size:12px}.ky-footer__bottom{margin-top:35px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:10px;color:#b9a8b2}
@media(max-width:1150px){.ky-rental__grid{grid-template-columns:1fr 1fr}.ky-rental__intro,.ky-rental__photo{min-height:230px}
}@media(max-width:1050px){.ky-header__inner{min-height:76px}.ky-brand{min-width:250px}.ky-brand__name{font-size:26px}.ky-nav{gap:16px;font-size:12px}.ky-about__grid{grid-template-columns:1fr 1fr}.ky-message{grid-column:1/-1}.ky-course-grid{grid-template-columns:repeat(2,1fr)}.ky-gallery__strip{grid-template-columns:repeat(4,1fr)}.ky-gallery__strip figure:nth-child(n+5){display:none}}
@media(max-width:780px){.admin-bar .ky-header{top:46px}.ky-shell{width:min(calc(100% - 34px),var(--ky-max))}.ky-header__inner{width:calc(100% - 28px);min-height:74px}.ky-brand{min-width:0;grid-template-columns:auto}.ky-brand__eyebrow{display:none}.ky-brand__name{font-size:22px}.ky-brand__roman{font-size:8px}.ky-menu-toggle{margin-left:auto;width:44px;height:44px;border:0;background:transparent;display:grid;align-content:center;gap:5px;padding:10px;cursor:pointer}.ky-menu-toggle span:not(.screen-reader-text){display:block;height:1px;background:var(--ky-ink)}.ky-nav{position:fixed;top:74px;left:0;right:0;display:none;grid-template-columns:1fr;background:#fff;padding:22px 25px 28px;box-shadow:0 10px 25px rgba(0,0,0,.1)}.admin-bar .ky-nav{top:120px}.ky-nav.is-open{display:grid}.ky-nav>a:not(.ky-nav__contact){padding:10px 0;border-bottom:1px solid var(--ky-line)}.ky-nav>a:not(.ky-nav__contact):after{display:none}.ky-nav__contact{text-align:center;margin-top:6px}.ky-hero{min-height:560px;background-position:center}.ky-hero__content{padding-block:80px}.ky-hero h1{font-size:46px}.ky-hero__lead{font-size:15px}.ky-hero__vertical{display:none}.ky-btn{min-width:150px;font-size:13px}.ky-section{padding:68px 0}.ky-about__grid{grid-template-columns:1fr;gap:24px}.ky-about__visual{order:2}.ky-heading-block{order:1;padding:0}.ky-message{order:3;grid-column:auto;grid-template-columns:110px 1fr;padding:20px;gap:18px}.ky-message blockquote{font-size:21px}.ky-course-grid{grid-template-columns:1fr 1fr;gap:10px}.ky-course-card__body{padding:13px}.ky-course-card h3{font-size:14px}.ky-course-card p{font-size:10px}.ky-rental__grid{grid-template-columns:1fr}.ky-rental__photo{min-height:220px}.ky-gallery__strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.ky-gallery__strip figure{min-width:70%;scroll-snap-align:start}.ky-gallery__strip figure:nth-child(n){display:block}.ky-access__grid{grid-template-columns:1fr;gap:35px}.ky-map{min-height:260px}.ky-footer__grid{grid-template-columns:1fr}.ky-footer__bottom{display:grid;gap:5px}.ky-section-title{align-items:start}.ky-section-title>p{display:none}}
@media(max-width:480px){.ky-hero{min-height:520px}.ky-hero h1{font-size:39px}.ky-actions{display:grid;grid-template-columns:1fr 1fr}.ky-btn{min-width:0;padding-inline:12px;gap:9px}.ky-message{grid-template-columns:1fr}.ky-message__media{display:grid;grid-template-columns:105px 1fr;gap:14px;align-items:end}.ky-message__media img,.ky-message__placeholder{width:105px}.ky-message__media p{margin:0}.ky-course-grid{grid-template-columns:1fr}.ky-course-card{display:grid;grid-template-columns:42% 58%}.ky-course-card__media{aspect-ratio:auto;min-height:150px}.ky-course-card span{font-size:11px}.ky-cta h2{font-size:27px}.ky-actions--center{grid-template-columns:1fr}.ky-info-card dl>div{grid-template-columns:82px 1fr}}

/* v1.3 : 実画面に合わせた仕上げ */
.ky-hero{min-height:560px;background-position:center 54%}
.ky-hero__content{padding-block:72px}
.ky-hero h1{font-size:clamp(48px,4.5vw,68px)}
.ky-about__grid{grid-template-columns:1fr .9fr 1.45fr;gap:36px}
.ky-tokonoma{min-height:350px;background:linear-gradient(145deg,#e4d4b8,#f3e8d4)}
.ky-tokonoma:after{content:"";position:absolute;left:48%;bottom:123px;width:115px;height:90px;background:radial-gradient(circle at 20% 22%,#b35f68 0 3px,transparent 4px),radial-gradient(circle at 46% 15%,#d79a8f 0 3px,transparent 4px),radial-gradient(circle at 65% 36%,#9f4b58 0 3px,transparent 4px),radial-gradient(circle at 34% 50%,#c47d75 0 3px,transparent 4px);opacity:.75;transform:rotate(-10deg)}
.ky-course-card__media{position:relative}
.ky-course-card__media.is-fallback{display:grid;place-items:center;background:linear-gradient(145deg,#efe6d6,#d9c7ae)}
.ky-course-card__media.is-fallback:before{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,rgba(64,38,63,.05) 25%,transparent 25%,transparent 75%,rgba(64,38,63,.05) 75%),linear-gradient(45deg,rgba(64,38,63,.05) 25%,transparent 25%,transparent 75%,rgba(64,38,63,.05) 75%);background-position:0 0,14px 14px;background-size:28px 28px}
.ky-course-card__fallback-label{position:relative;z-index:1;width:74px;height:74px;display:grid;place-items:center;border:1px solid rgba(64,38,63,.22);border-radius:50%;background:rgba(255,255,255,.55);font-family:var(--ky-serif);font-size:34px;color:var(--ky-purple);box-shadow:0 8px 24px rgba(64,38,63,.08)}
.ky-course-card--6 .is-fallback{background:linear-gradient(145deg,#e7e2d8,#cfc7bc)}
.ky-course-card--7 .is-fallback,.ky-course-card--8 .is-fallback{background:linear-gradient(145deg,#41373a,#75645e)}
.ky-course-card--7 .ky-course-card__fallback-label,.ky-course-card--8 .ky-course-card__fallback-label{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}
.ky-gallery__strip figure{border:1px solid rgba(64,38,63,.08)}
.ky-map{position:relative;min-height:320px;background:#eee9e1;border:1px solid #ddd5cc;overflow:hidden}
.ky-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.72) contrast(.95)}
.ky-map__link{position:absolute;right:14px;bottom:14px;z-index:2;padding:8px 12px;background:rgba(64,38,63,.92);color:#fff!important;font-size:12px;letter-spacing:.04em}
.ky-map__roads,.ky-map>strong,.ky-map>em,.ky-map>small{display:none}
@media(max-width:780px){.ky-hero{min-height:520px;background-position:center 54%}.ky-about__grid{grid-template-columns:1fr}.ky-tokonoma{min-height:300px}.ky-map{min-height:280px}}


/* v1.4 : 承認デザインへ寄せる最終ブラッシュアップ */
.ky-header__inner{min-height:86px}
.ky-brand{min-width:320px}
.ky-brand__eyebrow{font-size:12px;line-height:1.45;letter-spacing:.13em}
.ky-brand__name{font-size:32px}
.ky-hero{min-height:540px;background-position:center 58%;background-image:linear-gradient(90deg,rgba(18,13,17,.72) 0%,rgba(18,13,17,.3) 42%,rgba(18,13,17,.08) 72%),var(--ky-hero)}
.ky-hero__content{padding-block:66px}
.ky-hero h1{font-size:clamp(50px,4.7vw,72px);line-height:1.28}
.ky-hero__lead{font-size:17px}
.ky-about{background:#fbf8f1}
.ky-about__grid{grid-template-columns:1fr .88fr 1.5fr;gap:34px}
.ky-heading-block{padding:22px 0}
.ky-copy{font-size:17px}
.ky-tokonoma{min-height:360px;background:linear-gradient(150deg,#eadfc9 0%,#f7efe1 58%,#dfccb0 100%);box-shadow:inset 0 0 70px rgba(78,52,36,.08)}
.ky-tokonoma:before{inset:20px;border-color:rgba(57,36,29,.09)}
.ky-tokonoma__scroll{top:30px;width:82px;height:150px;font-size:52px;background:#f4ead7;border-block-width:8px}
.ky-tokonoma__vase{width:78px;height:83px;bottom:42px}
.ky-tokonoma__branch{height:122px;bottom:116px}
.ky-message{grid-template-columns:178px 1fr;gap:30px;padding:30px;background:rgba(255,255,255,.78);border-left-color:#d8ccc0}
.ky-message__media img{object-position:center 18%}
.ky-message__text h2{font-size:23px}
.ky-message blockquote{font-size:27px;line-height:1.5;margin:4px 0 16px}
.ky-message__text>p{font-size:14px;line-height:1.9}
.ky-courses{background:#fffdf9}
.ky-course-grid{gap:16px}
.ky-course-card{border-color:#e8dfd2;background:#fff}
.ky-course-card__media{aspect-ratio:4/3}
.ky-course-card__media.is-fallback{background:linear-gradient(145deg,#efe5d4 0%,#e3d5be 100%)}
.ky-course-card__media.is-fallback:before{background-image:linear-gradient(135deg,rgba(64,38,63,.04) 25%,transparent 25%),linear-gradient(225deg,rgba(64,38,63,.04) 25%,transparent 25%);background-size:38px 38px;background-position:0 0,19px 19px;opacity:.7}
.ky-course-card__fallback-label{width:auto;height:auto;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:56px;font-weight:400;letter-spacing:.08em;color:#5d3b58;text-shadow:0 1px 0 rgba(255,255,255,.65)}
.ky-course-card--6 .ky-course-card__fallback-label{font-size:50px;color:#6f665e}
.ky-course-card--8 .is-fallback{background:linear-gradient(145deg,#332a2f,#675854)}
.ky-course-card--8 .ky-course-card__fallback-label{color:#f2e8df;border:0;background:transparent;font-size:56px}
.ky-course-card__body{padding:17px 17px 15px}
.ky-course-card h3{font-size:16px}
.ky-rental{background:#f4efe6;color:var(--ky-ink)}
.ky-section-title--light .ky-en{color:#9b827d}
.ky-section-title--light>p{color:var(--ky-muted)}
.ky-rental__intro{background:var(--ky-purple);color:#fff;border-color:var(--ky-purple);padding:31px 34px}
.ky-rental__intro p{color:#e7dce3}
.ky-rental__photo{border:1px solid #e2d9ce}
.ky-info-card{border:1px solid #e2d9ce;box-shadow:0 8px 22px rgba(53,42,46,.035)}
.ky-gallery{background:#fbf8f1}
.ky-gallery__strip{gap:10px}
.ky-gallery__strip figure{aspect-ratio:1.35/1;box-shadow:0 5px 15px rgba(48,34,42,.035)}
.ky-access{background:#fffdf9}
.ky-map{min-height:335px}
.ky-cta{padding:72px 0}
.ky-footer{padding-top:50px}
@media(max-width:1050px){
  .ky-brand{min-width:255px}
  .ky-about__grid{grid-template-columns:1fr 1fr}
  .ky-message{grid-column:1/-1}
}
@media(max-width:780px){
  .ky-header__inner{min-height:72px}
  .ky-brand{min-width:0}
  .ky-hero{min-height:500px;background-position:center 55%}
  .ky-hero__content{padding-block:72px}
  .ky-hero h1{font-size:44px}
  .ky-about__grid{grid-template-columns:1fr;gap:25px}
  .ky-tokonoma{min-height:300px}
  .ky-message{grid-template-columns:112px 1fr;padding:22px;gap:20px}
  .ky-message blockquote{font-size:23px}
  .ky-rental{background:#f4efe6}
}
@media(max-width:480px){
  .ky-hero{min-height:470px}
  .ky-hero h1{font-size:38px}
  .ky-message{grid-template-columns:1fr}
  .ky-course-card__fallback-label{font-size:44px}
}


/* v1.5 : スマホ実機スクリーンショットに合わせたモバイル仕上げ */
@media (max-width: 600px){
  .ky-shell{width:calc(100% - 28px)}
  .ky-header{background:rgba(255,253,249,.98)}
  .ky-header__inner{width:calc(100% - 24px);min-height:64px;gap:10px}
  .ky-brand{display:block;min-width:0;line-height:1}
  .ky-brand__eyebrow{display:none}
  .ky-brand__name{display:block;font-size:23px;letter-spacing:.14em;line-height:1.1}
  .ky-brand__roman{display:block;font-size:7px;letter-spacing:.24em;margin-top:5px}
  .ky-menu-toggle{width:42px;height:42px;margin-left:auto;padding:9px;gap:6px}
  .ky-menu-toggle span:not(.screen-reader-text){height:2px;background:#3d3038}
  .ky-nav{top:64px;padding:14px 20px 22px;gap:0;font-size:14px}
  .admin-bar .ky-nav{top:110px}
  .ky-nav>a:not(.ky-nav__contact){padding:12px 2px}
  .ky-nav__contact{padding:13px 16px;margin-top:12px}

  .ky-hero{min-height:430px;background-position:center 54%}
  .ky-hero__content{padding-block:58px 44px}
  .ky-kicker{font-size:8px;letter-spacing:.20em;margin-bottom:12px}
  .ky-hero h1{font-size:34px;line-height:1.35;letter-spacing:.06em;margin-bottom:13px}
  .ky-hero__lead{max-width:290px;font-size:13px;line-height:1.75;letter-spacing:.04em;margin-bottom:20px}
  .ky-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
  .ky-btn{min-width:0;padding:11px 8px;gap:7px;font-size:11px;letter-spacing:.04em;white-space:nowrap}

  .ky-section{padding:50px 0}
  .ky-en{font-size:9px;letter-spacing:.22em;margin-bottom:5px}
  .ky-heading-block h2,.ky-section-title h2,.ky-message h2,.ky-access h2{font-size:23px;letter-spacing:.08em;margin-bottom:17px}
  .ky-copy{font-size:14px;line-height:1.95}
  .ky-note{font-size:11px;line-height:1.75;margin-top:15px}
  .ky-about__grid{gap:20px}
  .ky-heading-block{padding:0}
  .ky-tokonoma{min-height:250px;max-height:300px}
  .ky-tokonoma__scroll{top:23px;width:66px;height:116px;font-size:40px}
  .ky-tokonoma__vase{width:60px;height:65px;bottom:32px}
  .ky-tokonoma__branch{height:88px;bottom:91px}
  .ky-tokonoma:after{bottom:98px;transform:scale(.8) rotate(-10deg)}

  .ky-message{grid-template-columns:94px 1fr!important;gap:15px;padding:16px;border-left:0;border-top:1px solid var(--ky-line);background:#fff}
  .ky-message__media{display:block!important}
  .ky-message__media img,.ky-message__placeholder{width:94px!important;aspect-ratio:4/5;object-fit:cover}
  .ky-message__media p{font-size:9px;line-height:1.45;margin-top:8px}
  .ky-message__media strong{font-size:12px}
  .ky-message__text h2{font-size:17px;margin-bottom:8px}
  .ky-message blockquote{font-size:18px;line-height:1.55;letter-spacing:.04em;margin:3px 0 10px}
  .ky-message__text>p{font-size:11px;line-height:1.8;margin-bottom:8px}
  .ky-message__details{margin-top:8px;padding-top:8px}
  .ky-message__details summary{font-size:11px}
  .ky-message__details p{font-size:11px;line-height:1.8}

  .ky-section-title{margin-bottom:22px;gap:12px}
  .ky-course-grid{grid-template-columns:1fr!important;gap:11px}
  .ky-course-card{display:grid!important;grid-template-columns:40% 60%;min-height:116px}
  .ky-course-card__media{aspect-ratio:auto!important;min-height:116px;background-position:center}
  .ky-course-card__body{padding:12px 13px 10px;display:flex;flex-direction:column;justify-content:center;min-width:0}
  .ky-course-card h3{font-size:14px;line-height:1.45;margin-bottom:5px}
  .ky-course-card p{font-size:10px;line-height:1.5;margin-bottom:6px}
  .ky-course-card span{font-size:10px;padding-top:7px}
  .ky-course-card__fallback-label{font-size:30px;line-height:1.1;letter-spacing:.02em}
  .ky-course-card--3 .ky-course-card__fallback-label,.ky-course-card--6 .ky-course-card__fallback-label{font-size:26px}
  .ky-course-card--8 .ky-course-card__fallback-label{font-size:34px}

  .ky-rental__grid{grid-template-columns:1fr;gap:12px}
  .ky-rental__intro{padding:24px 22px;min-height:0}
  .ky-rental__intro h3{font-size:20px;line-height:1.55;margin-bottom:11px}
  .ky-rental__intro p{font-size:11px;line-height:1.75}
  .ky-rental__photo{min-height:205px}
  .ky-info-card{padding:20px 18px}
  .ky-info-card dl>div{grid-template-columns:70px 1fr;gap:10px;padding:9px 0}
  .ky-info-card dt{font-size:12px}
  .ky-info-card dd{font-size:15px}
  .ky-info-card small{font-size:9px}

  .ky-gallery__strip{gap:9px;margin-right:-14px;padding-right:14px}
  .ky-gallery__strip figure{min-width:78%;aspect-ratio:4/3}

  .ky-access__grid{gap:26px}
  .ky-access__address{font-size:14px;line-height:1.85}
  .ky-access__list{margin-top:18px}
  .ky-access__list li{font-size:12px;line-height:1.6;padding:8px 0}
  .ky-map{min-height:240px}
  .ky-map__link{right:8px;bottom:8px;padding:7px 9px;font-size:10px}

  .ky-cta{padding:50px 0}
  .ky-cta h2{font-size:23px;line-height:1.55;margin:7px 0 11px}
  .ky-cta>div>p:not(.ky-en){font-size:12px;line-height:1.75}
  .ky-actions--center{grid-template-columns:1fr;margin-top:18px}
  .ky-actions--center .ky-btn{font-size:12px;padding:13px 10px}

  .ky-footer{padding:38px 0 18px}
  .ky-footer__grid{gap:24px}
  .ky-footer__brand strong{font-size:23px}
  .ky-footer__nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 15px;font-size:11px}
  .ky-footer__contact{font-size:11px}
  .ky-footer__bottom{margin-top:24px;padding-top:14px;font-size:9px;line-height:1.6}
}

@media (max-width: 359px){
  .ky-hero h1{font-size:31px}
  .ky-btn{font-size:10px}
  .ky-message{grid-template-columns:82px 1fr!important;gap:12px;padding:13px}
  .ky-message__media img,.ky-message__placeholder{width:82px!important}
  .ky-message blockquote{font-size:16px}
  .ky-course-card{grid-template-columns:38% 62%}
}

/* v1.7: CTA/Google Mapsリンクの文字色をPC・スマホとも白で固定 */
.kyoyu-home #main-content .ky-cta .ky-btn--solid,
.kyoyu-home #main-content .ky-cta .ky-btn--solid:link,
.kyoyu-home #main-content .ky-cta .ky-btn--solid:visited,
.kyoyu-home #main-content .ky-cta .ky-btn--solid:hover,
.kyoyu-home #main-content .ky-cta .ky-btn--solid:focus,
.kyoyu-home #main-content .ky-cta .ky-btn--solid:active{
  color:#fff!important;
}
.kyoyu-home #main-content .ky-map__link,
.kyoyu-home #main-content .ky-map__link:link,
.kyoyu-home #main-content .ky-map__link:visited,
.kyoyu-home #main-content .ky-map__link:hover,
.kyoyu-home #main-content .ky-map__link:focus,
.kyoyu-home #main-content .ky-map__link:active{
  color:#fff!important;
}


/* v1.8: ギャラリーを同サイズ・大判表示＋ライトボックス対応 */
.ky-gallery__strip{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  overflow:visible!important;
  padding:0!important;
}
.ky-gallery__item{display:block;min-width:0!important;text-decoration:none!important}
.ky-gallery__item figure,.ky-gallery__strip>figure{
  margin:0!important;
  width:100%;
  aspect-ratio:4/3!important;
  overflow:hidden;
  border:1px solid rgba(64,38,63,.10);
  background:#e8dfd2;
  box-shadow:0 8px 24px rgba(48,34,42,.06);
}
.ky-gallery__item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .32s ease,filter .32s ease;
}
.ky-gallery__item:hover img{transform:scale(1.035);filter:brightness(.94)}
.ky-gallery__hint{margin:16px 0 0;text-align:right;font-size:12px;color:#8b7d84}
body.ky-lightbox-open{overflow:hidden}
.ky-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:34px 76px;
  background:rgba(18,13,17,.92);
}
.ky-lightbox.is-open{display:flex}
.ky-lightbox__stage{max-width:min(1200px,90vw);max-height:88vh;display:grid;place-items:center}
.ky-lightbox__stage img{max-width:100%;max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 70px rgba(0,0,0,.4)}
.ky-lightbox__close,.ky-lightbox__prev,.ky-lightbox__next{
  position:absolute;
  z-index:2;
  border:0;
  color:#fff;
  background:rgba(64,38,63,.78);
  cursor:pointer;
  display:grid;
  place-items:center;
  line-height:1;
}
.ky-lightbox__close{top:22px;right:24px;width:48px;height:48px;border-radius:50%;font-size:30px}
.ky-lightbox__prev,.ky-lightbox__next{top:50%;transform:translateY(-50%);width:52px;height:72px;font-size:46px}
.ky-lightbox__prev{left:18px}.ky-lightbox__next{right:18px}
.ky-lightbox__close:hover,.ky-lightbox__prev:hover,.ky-lightbox__next:hover{background:rgba(95,60,91,.95)}
@media(max-width:1050px){
  .ky-gallery__strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:780px){
  .ky-gallery__strip{grid-template-columns:1fr!important;gap:14px!important;margin:0!important;padding:0!important}
  .ky-gallery__item{min-width:0!important}
  .ky-gallery__item figure,.ky-gallery__strip>figure{aspect-ratio:4/3!important}
  .ky-gallery__hint{text-align:left;font-size:11px}
  .ky-lightbox{padding:24px 12px}
  .ky-lightbox__stage{max-width:96vw;max-height:82vh}
  .ky-lightbox__stage img{max-height:82vh}
  .ky-lightbox__close{top:12px;right:12px;width:44px;height:44px;font-size:28px}
  .ky-lightbox__prev,.ky-lightbox__next{top:auto;bottom:14px;transform:none;width:56px;height:48px;font-size:38px}
  .ky-lightbox__prev{left:calc(50% - 64px)}
  .ky-lightbox__next{right:calc(50% - 64px)}
}


/* v1.9: 下層ページもTOPと同じ世界観へ統一／サイドバーなし */
.kyoyu-inner{margin:0;background:#fffdf9;color:var(--ky-ink);font-family:var(--ky-sans);line-height:1.9;-webkit-font-smoothing:antialiased}
.kyoyu-inner *{box-sizing:border-box}
.kyoyu-inner img{max-width:100%;height:auto}
.kyoyu-inner a{color:var(--ky-purple)}
.kyoyu-inner .ky-header a,.kyoyu-inner .ky-footer a{text-decoration:none}
.kyoyu-inner #main-content h1,.kyoyu-inner #main-content h2,.kyoyu-inner #main-content h3,.kyoyu-inner #main-content h4,.kyoyu-inner #main-content h5,.kyoyu-inner #main-content h6{background:none!important;background-color:transparent!important;border-radius:0!important;box-shadow:none!important;text-shadow:none!important}
.kyoyu-inner #main-content h1:before,.kyoyu-inner #main-content h1:after,.kyoyu-inner #main-content h2:before,.kyoyu-inner #main-content h2:after,.kyoyu-inner #main-content h3:before,.kyoyu-inner #main-content h3:after{content:none!important;display:none!important}
.kyoyu-inner .keni-sidebar,.kyoyu-inner .keni-sideber_wrap,.kyoyu-inner #secondary{display:none!important}
.ky-inner-main{background:#fffdf9}
.ky-inner-hero{position:relative;padding:74px 0 64px;background:linear-gradient(135deg,#f2eadc 0%,#fbf7ef 58%,#eee2d0 100%);overflow:hidden}
.ky-inner-hero:after{content:"";position:absolute;right:-90px;top:-140px;width:360px;height:360px;border:1px solid rgba(64,38,63,.08);border-radius:50%;box-shadow:0 0 0 42px rgba(64,38,63,.025),0 0 0 84px rgba(64,38,63,.018)}
.ky-inner-hero__inner{position:relative;z-index:1;max-width:1040px}
.ky-inner-hero .ky-en{margin-bottom:12px;color:#9b827d}
.ky-inner-hero h1{margin:0!important;padding:0!important;border:0!important;color:var(--ky-ink)!important;font-family:var(--ky-serif);font-weight:400;font-size:clamp(34px,4vw,54px);line-height:1.45;letter-spacing:.10em}
.ky-inner-hero__line{width:74px;height:1px;margin:25px 0 0;background:var(--ky-purple)}
.ky-inner-meta{margin:14px 0 0;color:#8a7c83;font-size:12px;letter-spacing:.12em}
.ky-inner-article{padding:76px 0 88px;background:#fffdf9}
.ky-inner-shell{max-width:1040px}
.ky-inner-featured{margin:0 0 48px;overflow:hidden;background:#eee4d5}
.ky-inner-featured img{display:block;width:100%;max-height:620px;object-fit:cover}
.ky-inner-content{font-family:var(--ky-serif);font-size:17px;line-height:2.05;color:#332d31}
.ky-inner-content> *:first-child{margin-top:0}
.ky-inner-content p{margin:0 0 1.55em}
.ky-inner-content h2{margin:2.4em 0 1em!important;padding:0 0 .55em!important;border:0!important;border-bottom:1px solid #d9c8bc!important;color:var(--ky-purple)!important;font-family:var(--ky-serif);font-size:30px;font-weight:500;letter-spacing:.08em;line-height:1.55}
.ky-inner-content h3{margin:2em 0 .9em!important;padding:.18em 0 .18em 16px!important;border:0!important;border-left:3px solid var(--ky-purple)!important;color:#3a2e38!important;font-family:var(--ky-serif);font-size:23px;font-weight:500;line-height:1.55}
.ky-inner-content h4{margin:1.8em 0 .7em!important;padding:0!important;border:0!important;color:#5a3c55!important;font-family:var(--ky-serif);font-size:19px;font-weight:600}
.ky-inner-content a{text-decoration:underline;text-underline-offset:3px}
.ky-inner-content img{display:block;max-width:100%;height:auto;margin:28px auto}
.ky-inner-content figure{max-width:100%;margin:34px auto}
.ky-inner-content figcaption{text-align:center;color:#8b8085;font-size:12px;margin-top:8px}
.ky-inner-content ul,.ky-inner-content ol{margin:1.2em 0 1.7em;padding:1.1em 1.4em 1.1em 2.5em;background:#f8f2e8;border:1px solid #eadfd2}
.ky-inner-content li{margin:.35em 0}
.ky-inner-content blockquote{margin:2em 0;padding:24px 30px!important;background:#f7f0e6!important;border:0!important;border-left:3px solid var(--ky-purple)!important;color:#51464d;font-style:normal}
.ky-inner-content table{width:100%;border-collapse:collapse;margin:2em 0;font-family:var(--ky-sans);font-size:14px}
.ky-inner-content th,.ky-inner-content td{padding:14px 16px;border:1px solid #dfd3c7;vertical-align:top}
.ky-inner-content th{background:#f3eadf;color:#4a3446;font-weight:600}
.ky-inner-content hr{border:0;border-top:1px solid #e3d8cd;margin:48px 0}
.ky-inner-cta{padding:76px 0;background:linear-gradient(145deg,#e8ddca,#f7f0e5);text-align:center}
.ky-inner-cta__inner{max-width:900px}
.ky-inner-cta h2{margin:8px 0 16px!important;padding:0!important;border:0!important;color:var(--ky-ink)!important;font-family:var(--ky-serif);font-size:34px;font-weight:500;letter-spacing:.08em}
.ky-inner-cta p:not(.ky-en){font-family:var(--ky-serif);margin:0}
.kyoyu-inner .ky-inner-cta .ky-btn--solid,.kyoyu-inner .ky-inner-cta .ky-btn--solid:link,.kyoyu-inner .ky-inner-cta .ky-btn--solid:visited,.kyoyu-inner .ky-inner-cta .ky-btn--solid:hover,.kyoyu-inner .ky-inner-cta .ky-btn--solid:focus{color:#fff!important;text-decoration:none!important}
.kyoyu-inner .ky-inner-cta .ky-btn--ghost-dark{text-decoration:none!important}
.kyoyu-inner .ky-footer a{color:inherit!important}
@media(max-width:780px){
  .ky-inner-hero{padding:46px 0 40px}
  .ky-inner-hero h1{font-size:32px;letter-spacing:.06em}
  .ky-inner-article{padding:48px 0 58px}
  .ky-inner-shell{width:min(calc(100% - 34px),1040px)}
  .ky-inner-content{font-size:16px;line-height:1.95}
  .ky-inner-content h2{font-size:25px;margin-top:2em!important}
  .ky-inner-content h3{font-size:20px;padding-left:12px!important}
  .ky-inner-content table{display:block;overflow-x:auto;white-space:nowrap}
  .ky-inner-cta{padding:58px 0}
  .ky-inner-cta h2{font-size:28px}
  .ky-inner-cta .ky-actions{display:grid;grid-template-columns:1fr;gap:10px}
}

/* v2.0: 下層ページ本文の中央配置・写真の見せ方を仕上げ */
.kyoyu-inner .ky-inner-content{
  width:min(100%,900px);
  margin-inline:auto;
}
.kyoyu-inner .ky-inner-content>p:first-child{
  font-size:19px;
  line-height:2;
  margin-bottom:32px;
  letter-spacing:.03em;
}
.kyoyu-inner .ky-inner-content .ky-inner-image--lead{
  display:block!important;
  width:min(620px,100%)!important;
  max-width:100%!important;
  height:auto!important;
  margin:34px auto 42px!important;
  box-shadow:0 12px 32px rgba(48,34,42,.08);
}
.kyoyu-inner .ky-inner-content .ky-inner-image--small{
  display:block!important;
  width:auto!important;
  max-width:190px!important;
  height:auto!important;
  margin:34px auto!important;
  box-shadow:none!important;
}
.kyoyu-inner .ky-inner-content p{
  max-width:100%;
}
@media(max-width:780px){
  .kyoyu-inner .ky-inner-content{width:100%}
  .kyoyu-inner .ky-inner-content>p:first-child{font-size:17px;margin-bottom:24px}
  .kyoyu-inner .ky-inner-content .ky-inner-image--lead{width:100%!important;margin:24px auto 30px!important}
  .kyoyu-inner .ky-inner-content .ky-inner-image--small{max-width:160px!important;margin:28px auto!important}
}


/* v2.1: 市田ひろみ服飾アカデミーへのSEO内部リンク導線 */
.ky-academy{background:#f4eee4;position:relative;overflow:hidden}
.ky-academy:before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(75,45,69,.08);border-radius:50%;right:-170px;top:-190px}
.ky-academy__grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:72px;align-items:center}
.ky-academy__visual{position:relative;padding:34px 34px 40px;min-height:430px;background:linear-gradient(145deg,#ebe1d4,#f7f1e9);overflow:hidden}
.ky-academy__visual:before{content:"";position:absolute;inset:24px 22px auto auto;width:190px;height:190px;border:1px solid rgba(75,45,69,.12);border-radius:50%}
.ky-academy__visual:after{content:"";position:absolute;left:32px;top:26px;width:90px;height:1px;background:rgba(75,45,69,.18);transform:rotate(90deg);transform-origin:left top}
.ky-academy__ornament{position:absolute;left:16px;bottom:18px;width:180px;height:180px;border:1px solid rgba(75,45,69,.07);border-radius:50%;pointer-events:none}
.ky-academy__figure{position:relative;z-index:2;width:min(100%,380px);margin:0 0 0 auto;background:#fff;padding:14px;box-shadow:0 22px 45px rgba(58,34,51,.10)}
.ky-academy__figure img{display:block;width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:center 26%}
.ky-academy__visual-fallback{min-height:410px;display:grid;place-items:center;font-family:var(--ky-serif);font-size:110px;color:rgba(64,38,63,.56)}
.ky-academy__seal{position:absolute;left:18px;top:24px;z-index:3;width:110px;height:110px;border-radius:50%;border:1px solid rgba(75,45,69,.24);background:rgba(255,255,255,.62);display:grid;place-items:center;backdrop-filter:blur(2px);color:var(--ky-purple);text-align:center}
.ky-academy__seal span{display:block;font-family:var(--ky-serif);font-size:42px;line-height:1}
.ky-academy__seal small{display:block;margin-top:6px;font-size:10px;letter-spacing:.16em}
.ky-academy__caption{position:absolute;left:42px;bottom:42px;z-index:3;max-width:220px;padding:16px 18px;border-left:3px solid var(--ky-purple);background:rgba(255,255,255,.76);backdrop-filter:blur(2px)}
.ky-academy__caption strong{display:block;font-family:var(--ky-serif);font-size:17px;font-weight:500;letter-spacing:.06em;color:var(--ky-ink)}
.ky-academy__caption span{display:block;margin-top:6px;font-size:11px;letter-spacing:.14em;color:#6f6167}
.ky-academy__content{max-width:650px}
.ky-academy__eyebrow{margin:0 0 10px;color:var(--ky-purple);font-family:var(--ky-serif);font-size:13px;letter-spacing:.12em}
.ky-academy h2{font-family:var(--ky-serif);font-weight:500;font-size:34px;line-height:1.45;letter-spacing:.1em;margin:0 0 12px;color:var(--ky-ink)}
.ky-academy h3{font-family:var(--ky-serif);font-size:23px;font-weight:400;letter-spacing:.07em;margin:0 0 22px;color:var(--ky-purple)}
.ky-academy__content>p:not(.ky-en):not(.ky-academy__eyebrow){font-family:var(--ky-serif);font-size:15px;line-height:2;margin:0;color:#51484e}
.ky-academy__actions{margin-top:28px}
.ky-academy__actions .ky-btn{min-width:250px}

@media(max-width:1050px){
  .ky-header__inner{gap:22px}
  .ky-nav{gap:13px;font-size:11px}
  .ky-academy__grid{gap:42px}
  .ky-academy__visual{padding:30px 26px 36px}
  .ky-academy__caption{left:28px;bottom:28px}
}
@media(max-width:780px){
  .ky-academy__grid{grid-template-columns:1fr;gap:24px}
  .ky-academy__visual{padding:24px 20px 28px;min-height:auto}
  .ky-academy__figure{width:min(100%,320px);margin:22px auto 0}
  .ky-academy__seal{left:22px;top:18px;width:94px;height:94px}
  .ky-academy__seal span{font-size:36px}
  .ky-academy__caption{position:relative;left:auto;bottom:auto;margin:16px auto 0;max-width:320px}
  .ky-academy h2{font-size:26px}
  .ky-academy h3{font-size:19px}
  .ky-academy__content>p:not(.ky-en):not(.ky-academy__eyebrow){font-size:13px;line-height:1.9}
  .ky-academy__actions{display:block}
  .ky-academy__actions .ky-btn{width:100%;min-width:0}
}
@media(max-width:480px){
  .ky-academy__visual{padding:18px 14px 20px}
  .ky-academy__figure{width:min(100%,280px);padding:10px}
  .ky-academy__seal{left:16px;top:12px;width:82px;height:82px}
  .ky-academy__seal span{font-size:31px}
  .ky-academy__seal small{font-size:9px}
  .ky-academy__caption{max-width:280px;padding:12px 14px}
  .ky-academy__caption strong{font-size:15px}
  .ky-academy__caption span{font-size:10px}
  .ky-academy h2{font-size:23px}
  .ky-academy h3{font-size:17px}
  .ky-academy__eyebrow{font-size:11px}
}


/* v2.2: アカデミー案内ボタンの文字色を白で固定 */
.kyoyu-home #main-content .ky-academy .ky-academy__actions .ky-btn--solid,
.kyoyu-home #main-content .ky-academy .ky-academy__actions .ky-btn--solid:link,
.kyoyu-home #main-content .ky-academy .ky-academy__actions .ky-btn--solid:visited,
.kyoyu-home #main-content .ky-academy .ky-academy__actions .ky-btn--solid:hover,
.kyoyu-home #main-content .ky-academy .ky-academy__actions .ky-btn--solid:focus,
.kyoyu-home #main-content .ky-academy .ky-academy__actions .ky-btn--solid:active,
.kyoyu-home #main-content .ky-academy .ky-academy__actions .ky-btn--solid span{
  color:#fff!important;
  text-decoration:none!important;
}


/* v2.3: アカデミー案内ボタンの文字色を強制的に白へ（賢威CSS対策） */
.ky-academy-btn,
.ky-academy-btn:link,
.ky-academy-btn:visited,
.ky-academy-btn:hover,
.ky-academy-btn:focus,
.ky-academy-btn:active,
.ky-academy-btn *,
.ky-academy-btn span{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
}

/* v2.4: 市田ひろみメッセージ引用の見せ方を整理 */
.kyoyu-home #main-content .ky-message blockquote.ky-message__quote{
  position:relative!important;
  display:block!important;
  margin:10px 0 24px!important;
  padding:6px 34px 8px 32px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--ky-purple)!important;
  font-family:var(--ky-serif)!important;
  font-style:normal!important;
  font-size:31px!important;
  line-height:1.55!important;
  letter-spacing:.08em!important;
}
.kyoyu-home #main-content .ky-message blockquote.ky-message__quote:before,
.kyoyu-home #main-content .ky-message blockquote.ky-message__quote:after{
  position:absolute!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  color:rgba(64,35,58,.24)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:400!important;
  font-style:normal!important;
  line-height:1!important;
  text-indent:0!important;
  opacity:1!important;
}
.kyoyu-home #main-content .ky-message blockquote.ky-message__quote:before{
  content:"“"!important;
  top:-5px!important;
  left:0!important;
  font-size:46px!important;
}
.kyoyu-home #main-content .ky-message blockquote.ky-message__quote:after{
  content:"”"!important;
  right:0!important;
  bottom:-4px!important;
  font-size:46px!important;
}
.kyoyu-home #main-content .ky-message blockquote.ky-message__quote span{
  color:inherit!important;
  font:inherit!important;
  letter-spacing:inherit!important;
}
@media(max-width:780px){
  .kyoyu-home #main-content .ky-message blockquote.ky-message__quote{
    margin:7px 0 15px!important;
    padding:4px 24px 5px 22px!important;
    font-size:22px!important;
    line-height:1.55!important;
    letter-spacing:.05em!important;
  }
  .kyoyu-home #main-content .ky-message blockquote.ky-message__quote:before,
  .kyoyu-home #main-content .ky-message blockquote.ky-message__quote:after{
    font-size:34px!important;
  }
}
@media(max-width:480px){
  .kyoyu-home #main-content .ky-message blockquote.ky-message__quote{
    padding-left:20px!important;
    padding-right:21px!important;
    font-size:19px!important;
  }
  .kyoyu-home #main-content .ky-message blockquote.ky-message__quote:before,
  .kyoyu-home #main-content .ky-message blockquote.ky-message__quote:after{
    font-size:30px!important;
  }
}

/* v2.5: sticky header offset for TOP section navigation */
#about,#courses,#rental,#gallery,#access{scroll-margin-top:96px}
@media(max-width:780px){#about,#courses,#rental,#gallery,#access{scroll-margin-top:78px}}

/* v2.6: TOPページの上品なスクロールフェード */
.kyoyu-home .ky-fade-target{
  opacity:0;
  transform:translate3d(0,22px,0);
  transition:
    opacity .82s cubic-bezier(.22,.61,.36,1) var(--ky-fade-delay,0ms),
    transform .82s cubic-bezier(.22,.61,.36,1) var(--ky-fade-delay,0ms);
  will-change:opacity,transform;
}
.kyoyu-home .ky-fade-target.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
  will-change:auto;
}
.kyoyu-home .ky-hero__vertical.ky-fade-target{
  transform:translate3d(0,16px,0);
}
.kyoyu-home .ky-hero__vertical.ky-fade-target.is-visible{
  transform:translate3d(0,0,0);
}
@media (prefers-reduced-motion: reduce){
  .kyoyu-home .ky-fade-target,
  .kyoyu-home .ky-fade-target.is-visible{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}



/* v2.7: ギャラリーを5枚のエディトリアル表示に整理。全写真はライトボックスで閲覧 */
.kyoyu-home .ky-gallery__strip{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:clamp(145px,13vw,205px)!important;
  gap:10px!important;
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
}
.kyoyu-home .ky-gallery__item{
  min-width:0!important;
  height:100%;
  overflow:hidden;
}
.kyoyu-home .ky-gallery__item:first-child{
  grid-column:span 2;
  grid-row:span 2;
}
.kyoyu-home .ky-gallery__item figure,
.kyoyu-home .ky-gallery__strip>figure{
  height:100%!important;
  aspect-ratio:auto!important;
}
.kyoyu-home .ky-gallery__item--extra{
  display:none!important;
}
.kyoyu-home .ky-gallery__item:first-child figure{
  position:relative;
}
.kyoyu-home .ky-gallery__item:first-child figure:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,rgba(35,22,31,.16));
}
.kyoyu-home .ky-gallery__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-top:20px;
}
.kyoyu-home .ky-gallery__hint{
  margin:0!important;
  text-align:left!important;
}
.kyoyu-home .ky-gallery__more{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:48px;
  padding:11px 18px 10px;
  border:1px solid rgba(64,38,63,.42);
  background:rgba(255,255,255,.62);
  color:var(--ky-purple);
  font-family:var(--ky-serif);
  font-size:13px;
  letter-spacing:.08em;
  cursor:pointer;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.kyoyu-home .ky-gallery__more small{
  color:#8f7d88;
  font-family:var(--ky-sans);
  font-size:10px;
  letter-spacing:.04em;
}
.kyoyu-home .ky-gallery__more b{
  font-size:17px;
  font-weight:400;
  line-height:1;
  transition:transform .25s ease;
}
.kyoyu-home .ky-gallery__more:hover,
.kyoyu-home .ky-gallery__more:focus-visible{
  border-color:var(--ky-purple);
  background:var(--ky-purple);
  color:#fff;
  outline:none;
}
.kyoyu-home .ky-gallery__more:hover small,
.kyoyu-home .ky-gallery__more:focus-visible small{
  color:rgba(255,255,255,.72);
}
.kyoyu-home .ky-gallery__more:hover b,
.kyoyu-home .ky-gallery__more:focus-visible b{
  transform:translateX(3px);
}
@media(max-width:900px){
  .kyoyu-home .ky-gallery__strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:clamp(130px,22vw,185px)!important;
  }
  .kyoyu-home .ky-gallery__item:first-child{
    grid-column:span 2;
    grid-row:span 2;
  }
}
@media(max-width:780px){
  .kyoyu-home .ky-gallery__strip{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:112px!important;
    gap:8px!important;
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
  }
  .kyoyu-home .ky-gallery__item:first-child{
    grid-column:span 2;
    grid-row:span 2;
  }
  .kyoyu-home .ky-gallery__item figure,
  .kyoyu-home .ky-gallery__strip>figure{
    aspect-ratio:auto!important;
  }
  .kyoyu-home .ky-gallery__footer{
    display:grid;
    gap:13px;
    margin-top:15px;
  }
  .kyoyu-home .ky-gallery__more{
    width:100%;
    min-height:50px;
  }
}
@media(max-width:420px){
  .kyoyu-home .ky-gallery__strip{grid-auto-rows:102px!important}
}


/* v2.9: latest kimono class information supplied by the academy */
.ky-academy__facts{margin:26px 0 0;border-top:1px solid rgba(75,45,69,.18);border-bottom:1px solid rgba(75,45,69,.18)}
.ky-academy__facts>div{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid rgba(75,45,69,.10)}
.ky-academy__facts>div:last-child{border-bottom:0}
.ky-academy__facts dt{font-family:var(--ky-serif);font-size:12px;color:var(--ky-purple);letter-spacing:.08em}
.ky-academy__facts dd{margin:0;font-family:var(--ky-serif);font-size:12px;line-height:1.7;color:#51484e}
@media(max-width:780px){.ky-academy__facts>div{grid-template-columns:72px 1fr;gap:12px}.ky-academy__facts dt,.ky-academy__facts dd{font-size:11px}}


/* v2.10: mobile navigation anchor fallback */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
