/*
Theme Name: 川崎ダンスフェスティバル
Template: swell
Version: 1.0.0
*/
:root{--kdf-lg:26px;--kdf-md:18px;--kdf-sm:15px;--kdf-blue:#00618b;--kdf-teal:#188ca0;--kdf-ink:#171717;--kdf-pale:#e8f4f7}
@media(max-width:599px){:root{--kdf-lg:24px}}
html,body{font-size:var(--kdf-md)!important}
body{color:var(--kdf-ink);font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.9}
.c-headLogo__link{display:flex;align-items:center;gap:12px}
.kdf-brand-name{font-size:var(--kdf-md);line-height:1.45;font-weight:700;max-width:13em;color:var(--kdf-blue)}
.kdf-brand-name span{white-space:nowrap}
.c-gnav .ttl,.c-spnav a,.p-spMenu__nav a{font-size:var(--kdf-md)!important}
.l-footer :is(a,p,li,small),.c-menuBtn__label,.p-breadcrumb :is(a,span){font-size:var(--kdf-sm)!important}
.home .l-content{padding-top:0!important}
.page:not(.home) .l-content{padding-top:36px!important;padding-bottom:48px!important}
.l-mainContent__inner>.c-pageTitle{margin:0 0 28px!important;padding-bottom:12px!important}
.l-mainContent__inner>.post_content>:first-child{margin-top:0}
@media(max-width:599px){.c-headLogo__img{width:42px!important}.c-headLogo__link{gap:8px}.kdf-brand-name{max-width:9em}}
.post_content{font-size:var(--kdf-md)}
.post_content h1,.c-pageTitle,.c-postTitle__ttl{font-size:var(--kdf-lg)!important;line-height:1.55}
.post_content h2,.post_content h3,.post_content h4,.p-postList__title,.c-widget__title,.p-toc__ttl{font-size:var(--kdf-md)!important;line-height:1.65}
.post_content h2::before,.post_content h2::after,.post_content h3::before,.post_content h3::after{content:none!important;border:0!important;background:none!important}
.post_content h2,.post_content h3{background:none;border:0;color:var(--kdf-blue);padding:0;margin:1.8em 0 .7em;text-align:left;font-weight:700}
.post_content p{line-height:1.95;word-break:normal;overflow-wrap:break-word}
.post_content small,.p-breadcrumb,.c-postTimes,.p-pnLinks,.p-postList__excerpt,.l-footer__copy,.kdf-note{font-size:var(--kdf-sm)!important}
input,select,textarea,button,.c-gnav,.c-spnav,.p-spMenu__nav{font-size:var(--kdf-md)!important}
.kdf-icon{width:1.15em;height:1.15em;vertical-align:-.15em;margin-right:.45em;flex:none;stroke:currentColor;fill:none;stroke-width:1.7}
.kdf-icon *{fill:none;stroke:currentColor;stroke-width:1.7}
.kdf-phrase{display:inline-block;max-width:100%}
.kdf-wrap{max-width:1120px;margin-inline:auto;padding-inline:24px}
.kdf-hero{background:linear-gradient(0deg,rgba(0,18,31,.76),rgba(0,18,31,.06)),url('assets/legacy/fv_trimed_pressed_2.jpg') center/cover;min-height:650px;display:flex;align-items:center;color:#fff;padding:64px 0}
.kdf-hero h1{color:#fff;margin:22px 0 12px;text-align:left}
.kdf-hero p{max-width:43em}
.kdf-hero-logo{display:block;width:min(520px,78vw);height:auto;margin:0 0 25px;filter:drop-shadow(0 3px 5px #0005)}
.kdf-section{padding:40px 0}
.kdf-section h2:first-child{margin-top:0}
.kdf-intro{background:linear-gradient(110deg,#dff2ef,#e7f3fb)}
.kdf-status{background:var(--kdf-blue);color:#fff;padding:28px;border-left:6px solid #5cd7cd;margin:26px 0}
.kdf-status strong{display:block;font-size:var(--kdf-md)}
.kdf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.kdf-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.kdf-route{border-top:3px solid var(--kdf-teal);padding:28px 0 10px;min-width:0}
.kdf-route h3{margin-top:0}
.kdf-button,.post_content .kdf-button{display:inline-flex;align-items:center;justify-content:center;gap:.3em;min-height:52px;padding:12px 23px;color:#fff!important;background:var(--kdf-blue);font-size:var(--kdf-md);font-weight:700;text-decoration:none;border-radius:3px;border:2px solid var(--kdf-blue);line-height:1.55}
.kdf-button:focus-visible{outline:3px solid #e6ba00;outline-offset:4px}
@media(hover:hover){.kdf-button:hover{background:#004765;border-color:#004765}}
.kdf-button--light{background:#fff!important;color:var(--kdf-blue)!important;border-color:#fff}
.kdf-button--outline,.post_content .kdf-button--outline{background:transparent;color:var(--kdf-blue)!important}
.kdf-hero .kdf-button--outline{color:#fff!important;border-color:#fff;background:rgba(0,18,31,.3)}
.kdf-hero-note{font-size:var(--kdf-sm)!important;margin:12px 0 0;max-width:42em}
.kdf-nowrap{white-space:nowrap}
.kdf-portal-menu>a{color:var(--kdf-blue)!important;font-weight:700}
.c-gnav>li>a{padding-inline:12px}.c-gnav .kdf-icon{margin-right:.3em}
.kdf-portal-switch{margin-top:24px;padding-top:20px;border-top:1px solid #b8cbd3}
.kdf-portal-switch ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 24px}
.kdf-portal-switch a{display:inline-flex;align-items:center;min-height:48px}
.kdf-login-notice{border-left:4px solid var(--kdf-blue);padding:12px 16px;background:#fff;margin-bottom:20px}
.kdf-login-notice p{margin:0}
.kdf-error-page{margin:0;padding-block:32px;background:var(--kdf-pale)}
.kdf-error-page *{box-sizing:border-box}.kdf-error-page main{margin-top:28px}.kdf-error-page a{color:var(--kdf-blue)}
.kdf-portal-box hr{border:0;border-top:1px solid #b8cbd3;margin:24px 0}
.kdf-password-toggle{display:block;min-height:48px;color:var(--kdf-blue);background:transparent;border:1px solid #b8cbd3;padding:8px 14px;margin-top:8px}
.kdf-password-toggle[hidden]{display:none}
.kdf-remember{display:flex!important;align-items:center;gap:8px;min-height:48px}
.post_content :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #e6ba00;outline-offset:3px}
.post_content [tabindex="-1"]:focus{outline:3px solid var(--kdf-blue);outline-offset:5px}
.kdf-linkrow{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}
.kdf-portal-box{padding:25px;border:1px solid #b8cbd3;background:#f4f9fb}
.kdf-portal-box h2{margin-top:0}
.kdf-archive-note{border-left:4px solid var(--kdf-teal);padding:16px 20px;background:var(--kdf-pale);margin-bottom:30px}
.kdf-portal-content{overflow-wrap:anywhere}
.kdf-portal-content img{max-width:100%;height:auto}
.kdf-portal-content table{width:100%;border-collapse:collapse}
.kdf-portal-content th,.kdf-portal-content td{padding:12px;border:1px solid #b8cbd3;font-size:var(--kdf-md)}
.kdf-portal-content table tr:nth-child(even){background:#e6f0fc}
.kdf-portal-content .wp-block-table{overflow-x:auto}
.wp-block-details{border-top:1px solid #b8cbd3;padding:10px 0;overflow:hidden;margin-block:0!important}
.wp-block-details summary{cursor:pointer;min-height:48px;display:list-item;font-size:var(--kdf-md);font-weight:700;padding:8px 24px 8px 0;position:relative}
.wp-block-details summary::marker{color:var(--kdf-teal)}
.wp-block-details>*:not(summary){margin:12px 0 5px}
.l-footer{font-size:var(--kdf-sm);text-align:left}
.l-footer .c-listMenu a{min-height:44px;display:flex;align-items:center}
.l-footer__nav a{min-height:44px;display:inline-flex;align-items:center}
.p-breadcrumb__text{min-height:44px;display:inline-flex;align-items:center}
.p-spMenu__inner,.p-spMenu__overlay{transition-duration:.48s!important}
.post_content :is(input[type=text],input[type=email],input[type=tel],input[type=password],textarea,select){max-width:100%;min-height:48px;font-size:var(--kdf-md)!important}
#loginform{max-width:520px}#loginform label{display:block}#loginform input[type=text],#loginform input[type=password]{width:100%;padding:10px;min-height:52px}#loginform input[type=submit]{min-height:52px;padding:10px 25px}
.wpcf7 .formElement_wrap{display:block}
.wpcf7 .formElement_wrap br{display:none}
.wpcf7 .formElement_label,.wpcf7 .formElement_input{display:block}
.wpcf7 .formElement_label{margin-bottom:8px}
.wpcf7 form>p{margin:0 0 26px}
.wpcf7 textarea{height:190px;min-height:190px}
.wpcf7 .required{font-size:var(--kdf-sm);white-space:nowrap;margin-left:.4em}
.wpcf7 .wpcf7-acceptance label{display:flex;gap:8px;align-items:flex-start;min-height:44px}
.wpcf7 .wpcf7-acceptance input{margin-top:8px}
.wpcf7 .wpcf7-submit{background:var(--kdf-blue);color:#fff;border:2px solid var(--kdf-blue);border-radius:3px;padding:12px 24px;min-height:52px;font-size:var(--kdf-md);font-weight:700}
.wpcf7 .wpcf7-response-output{font-size:var(--kdf-md)}
@media(max-width:1023px){.c-gnav .kdf-icon{display:none}.c-gnav>li>a{padding-inline:9px}}
@media(max-width:767px){#loginform .kdf-button,.wpcf7 .wpcf7-submit{width:100%}.kdf-portal-switch ul{display:block}.kdf-portal-switch li+li{margin-top:4px}}
@media(max-width:767px){.kdf-wrap{padding-inline:20px}.kdf-grid{grid-template-columns:1fr;gap:16px}.kdf-section{padding:30px 0}.kdf-hero{min-height:590px;padding:45px 0}.kdf-linkrow .kdf-button{width:100%}.kdf-status{padding:20px}.kdf-portal-box{padding:20px}.kdf-portal-content table{display:block;overflow-x:auto}}
@supports(padding:max(0px)){.kdf-wrap{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.l-footer{padding-bottom:env(safe-area-inset-bottom)}}
@media(min-width:600px) and (max-width:959px){
 .l-mainContent{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
 .p-breadcrumb,.l-footer__foot>.l-container,.l-header__inner{padding-left:max(4vw,env(safe-area-inset-left));padding-right:max(4vw,env(safe-area-inset-right))}
}
/* 2026-10-29：情報の大きさと文字の大きさを混同せず、概要から詳細へ案内する。 */
.home .post_content>.kdf-section,.home .post_content>.kdf-hero,.home .post_content>.kdf-quicknav{margin:0!important}
.kdf-section h2,.kdf-section h3{margin-bottom:14px!important}
.kdf-section p{margin:0 0 16px}
.kdf-section p:last-child{margin-bottom:0}
.kdf-section .kdf-grid{gap:24px}
.kdf-hero{background:#f1f6f8;min-height:0;padding:32px 0;color:var(--kdf-ink)}
.kdf-hero h1{color:var(--kdf-ink);margin:10px 0 14px;line-height:1.55}
.kdf-hero-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:36px;align-items:center}
.kdf-hero-logo{width:132px;max-width:100%;margin:0 0 12px;filter:none}
.kdf-hero p{margin:0 0 16px;line-height:1.8}
.kdf-hero .kdf-button{margin:2px 0 10px}
.kdf-hero .kdf-note{margin:0;line-height:1.75}
.kdf-hero figure{margin:0}
.kdf-hero-photo{width:100%;height:auto;display:block;aspect-ratio:1672/941;object-fit:cover}
.kdf-hero figcaption{font-size:var(--kdf-sm);margin-top:8px;color:#40545e;line-height:1.65}
.kdf-eyebrow{display:block;font-size:var(--kdf-sm);font-weight:700;letter-spacing:.04em;color:var(--kdf-blue);margin-bottom:8px}
.kdf-quicknav{border-block:1px solid #cbd8de;background:#fff}
.kdf-quicknav .kdf-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.kdf-quicknav a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;color:var(--kdf-blue);font-weight:700;text-decoration:none;min-height:64px}
.kdf-quicknav a+a{border-left:1px solid #cbd8de}
.kdf-quicknav a::after,.kdf-text-link::after{content:' →';white-space:nowrap}
.kdf-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.kdf-section-head h2{margin:0!important}.kdf-section-head a{font-size:var(--kdf-sm);font-weight:700}
.kdf-text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--kdf-blue);font-weight:700;text-underline-offset:.2em}
.kdf-summary{max-width:49em}
.kdf-facts{margin:20px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #9dbbc7}
.kdf-facts>div{padding:16px 20px 0 0}.kdf-facts dt{font-weight:700;color:var(--kdf-blue);margin-bottom:6px}.kdf-facts dd{margin:0}
.kdf-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.kdf-record{margin:0;min-width:0}.kdf-record figure{margin:0 0 14px}.kdf-record img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover}
.kdf-record h2,.kdf-record h3{margin:4px 0 8px!important}.kdf-record a{color:var(--kdf-blue)}
.kdf-record .kdf-note{margin:0 0 8px}.kdf-record p{margin-bottom:8px}
.kdf-inline-status{border-left:4px solid var(--kdf-teal);background:var(--kdf-pale);padding:18px 22px;margin:20px 0}
.kdf-inline-status p{margin:0}.kdf-inline-status p+p{margin-top:8px}
.kdf-definition{margin:0}.kdf-definition>div{display:grid;grid-template-columns:9em 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #cbd8de}.kdf-definition dt{font-weight:700}.kdf-definition dd{margin:0}
.kdf-route{padding:18px 0 0;border-top-width:2px}.kdf-route h3{margin-bottom:10px!important}.kdf-route p{margin-bottom:12px}
.kdf-purpose-list{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;padding:0!important;list-style:none!important;margin:20px 0!important}.kdf-purpose-list li{border-top:1px solid #9dbbc7;padding-top:12px;margin:0!important}.kdf-purpose-list strong{display:block;margin-bottom:6px;color:var(--kdf-blue)}
.kdf-event-meta{margin:0 0 24px}.kdf-event-meta>div{display:grid;grid-template-columns:6em 1fr;gap:16px;padding:10px 0;border-bottom:1px solid #cbd8de}.kdf-event-meta dt{font-weight:700}.kdf-event-meta dd{margin:0}
.kdf-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.kdf-gallery figure{margin:0}.kdf-gallery img{display:block;width:100%;height:auto}.kdf-gallery figcaption{font-size:var(--kdf-sm);margin-top:8px;line-height:1.7}
.kdf-interest-form{margin-top:20px;padding:24px;border:1px solid #abc3ce;background:#f4f9fb}.kdf-interest-form h2{margin-top:0}.kdf-interest-form .wpcf7{margin-top:16px}
.kdf-interest-form .wpcf7 input[type=submit]{width:100%}
.kdf-interest-form fieldset{border:0;padding:0;min-width:0;margin:0 0 20px}
.kdf-interest-form legend{padding:0}
.kdf-interest-form .wpcf7-radio .wpcf7-list-item{display:block;margin:0}
.kdf-interest-form .wpcf7-radio label{display:flex;align-items:center;gap:8px;min-height:44px}
.kdf-interest-form .formElement_wrap{margin-bottom:20px}
.kdf-content-nav{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 0;margin:0 0 24px;border-block:1px solid #cbd8de}.kdf-content-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:var(--kdf-sm)}
@media(min-width:960px){
 .c-headLogo__link{display:grid;grid-template-columns:64px 1fr;width:204px;max-width:204px;gap:8px}
 .c-headLogo__img{width:64px!important;height:auto!important}
 .c-headLogo__link .kdf-brand-name{max-width:none}
 .c-headLogo__link .kdf-brand-name span{display:block}
 .c-gnav>li>a{padding-inline:8px}
}
@media(min-width:960px) and (max-width:1199px){
 .c-headLogo__link{grid-template-columns:48px 1fr;width:180px;max-width:180px}
 .c-headLogo__img{width:48px!important}
 .l-header__gnav{margin-left:8px!important}
 .c-gnav .kdf-icon{display:none!important}
 .c-gnav>li>a{padding-left:2px!important;padding-right:2px!important;padding-inline:2px!important}
}
@media(max-width:767px){
 .page:not(.home) .l-content{padding-top:24px!important;padding-bottom:36px!important}
 .kdf-hero{padding:24px 0}.kdf-hero-grid{grid-template-columns:1fr;gap:20px}.kdf-hero-logo{width:112px}.kdf-hero h1{margin:8px 0 12px}.kdf-hero .kdf-button{width:100%}
 .kdf-quicknav .kdf-wrap{grid-template-columns:1fr}.kdf-quicknav a{padding:12px 0;min-height:52px}.kdf-quicknav a+a{border-left:0;border-top:1px solid #d7e1e6}
 .kdf-section-head{align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:16px}.kdf-facts{grid-template-columns:1fr}.kdf-facts>div{padding:12px 0}.kdf-facts>div+div{border-top:1px solid #cbd8de}
 .kdf-record-grid{grid-template-columns:1fr;gap:24px}.kdf-definition>div{grid-template-columns:1fr;gap:4px}.kdf-purpose-list{grid-template-columns:1fr;gap:14px}.kdf-gallery{grid-template-columns:1fr;gap:20px}.kdf-interest-form{padding:18px}.kdf-inline-status{padding:16px 18px}
}

/* WP 7.1.3標準画像の開閉。既存keyframesと標準JSを使い、reduce時だけ同じ遷移を補う。 */
@media (prefers-reduced-motion: reduce) {
  .wp-lightbox-container img.hide {
    visibility: hidden;
  }
  .wp-lightbox-container img.show {
    animation: show-content-image 0.4s;
  }
  .wp-lightbox-overlay.zoom.active .lightbox-image-container {
    animation: lightbox-zoom-in 0.4s;
  }
  .wp-lightbox-overlay.zoom.active .scrim {
    animation: turn-on-visibility 0.4s forwards;
  }
  .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container {
    animation: lightbox-zoom-out 0.4s;
  }
  .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim {
    animation: turn-off-visibility 0.4s forwards;
  }
}

/* SWELLの開催記録の子ページだけ。専用入口・entryのH1には適用しない。 */
.parent-pageid-967 .c-pageTitle__inner { text-wrap: balance; }
