/*
Theme Name: KUU
Theme URI: https://opencollective.com/blankslate
Author: SHINDRA LLC.
Version: 2024.7.11
*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}

/* =========================================================
   KUU Corporate Site (Home / About / Services / Shindra / Contact)
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Montserrat:wght@300;400;500;600;700&display=swap');

body.slug-about .header,
body.slug-services .header,
body.slug-shindra .header,
body.slug-contact .header{
    display:none;
}

.kuu-nav,
.kuu-footer,
.kuu-corporate{
    font-family:"Montserrat","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
    color:#171717;
    background:#fff;
}

/* --- Nav --- */
.kuu-nav{
    position:sticky;
    top:0;
    z-index:500;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid #ececec;
}
.kuu-nav__inner{
    max-width:1080px;
    margin:0 auto;
    padding:18px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.kuu-nav__logo{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
}
.kuu-nav__logo-icon{ height:28px; width:auto; display:block; }
.kuu-nav__logo-type{ height:16px; width:auto; display:block; }
.kuu-nav__links{
    display:flex;
    align-items:center;
    gap:28px;
    margin:0;
    padding:0;
    list-style:none;
    flex-wrap:wrap;
}
.kuu-nav__links a{
    font-size:.85rem;
    letter-spacing:.04em;
    color:#333;
    text-decoration:none;
    transition:opacity .2s ease;
}
.kuu-nav__links a:hover{ opacity:.55; }
.kuu-nav__cta{
    border:1px solid #171717;
    padding:8px 18px !important;
    border-radius:999px;
}

/* --- Layout --- */
.kuu-corporate{ overflow-x:hidden; }
.kuu-section__inner{
    max-width:760px;
    margin:0 auto;
    padding:80px 24px;
}
.kuu-section__inner--center{ text-align:center; }
.kuu-section__inner--form{ padding-top:0; }
.kuu-section--muted{ background:#fafafa; }

.kuu-hero{
    max-width:760px;
    margin:0 auto;
    padding:24px;
    min-height:100svh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.kuu-hero__brand{
    display:flex;
    align-items:center;
    gap:20px;
}
.kuu-hero__brand-icon{ height:64px; width:auto; display:block; }
.kuu-hero__brand-logo{ height:36px; width:auto; display:block; }
.kuu-hero__en{
    letter-spacing:.28em;
    font-size:.8rem;
    color:#9a9a9a;
    margin-bottom:18px;
}
.kuu-hero__title{
    font-size:clamp(2rem,1.6rem + 2vw,2.8rem);
    font-weight:700;
    letter-spacing:.06em;
    margin-bottom:20px;
}
.kuu-hero__lead{
    font-size:1.15rem;
    font-weight:500;
    margin-bottom:28px;
    letter-spacing:.03em;
}
.kuu-hero__text{
    font-size:.95rem;
    line-height:2;
    color:#4a4a4a;
    font-weight:300;
}

.kuu-page-hero{
    max-width:760px;
    margin:0 auto;
    padding:90px 24px 40px;
    text-align:center;
}
.kuu-page-hero__title{
    font-size:clamp(1.7rem,1.4rem + 1.5vw,2.3rem);
    font-weight:700;
    letter-spacing:.06em;
    margin-bottom:16px;
}

.kuu-section__label{
    letter-spacing:.24em;
    font-size:.75rem;
    color:#9a9a9a;
    margin-bottom:12px;
}
.kuu-section__title{
    font-size:1.5rem;
    font-weight:700;
    letter-spacing:.05em;
    margin-bottom:22px;
}
.kuu-section__text{
    font-size:.95rem;
    line-height:2;
    color:#4a4a4a;
    font-weight:300;
    margin-bottom:22px;
}

.kuu-list{
    list-style:none;
    margin:0 0 26px;
    padding:0;
}
.kuu-list li{
    padding:14px 0;
    border-bottom:1px solid #ececec;
    font-size:.95rem;
    color:#333;
}
.kuu-list--contact{ max-width:520px; margin-left:auto; margin-right:auto; text-align:left; }

.kuu-service-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:1px;
    background:#ececec;
    border:1px solid #ececec;
}
.kuu-service-list li{
    background:#fff;
    padding:32px 8px;
}
.kuu-service-list li h2{
    font-size:1.05rem;
    font-weight:700;
    letter-spacing:.03em;
    margin-bottom:10px;
}
.kuu-service-list li p{
    font-size:.88rem;
    color:#5a5a5a;
    line-height:1.9;
    font-weight:300;
}

.kuu-def{ margin:0; }
.kuu-def__row{
    display:flex;
    gap:24px;
    padding:16px 0;
    border-bottom:1px solid #ececec;
    font-size:.92rem;
}
.kuu-def__row dt{ width:120px; flex:none; color:#9a9a9a; }
.kuu-def__row dd{ margin:0; color:#333; }

.kuu-link{
    display:inline-block;
    font-size:.85rem;
    letter-spacing:.03em;
    color:#171717;
    text-decoration:none;
    border-bottom:1px solid #171717;
    padding-bottom:2px;
}
.kuu-link--inline{ border-bottom:1px solid #171717; }
.kuu-link:hover{ opacity:.6; }

.kuu-button{
    display:inline-block;
    font-size:.9rem;
    letter-spacing:.05em;
    color:#fff;
    background:#171717;
    text-decoration:none;
    padding:16px 44px;
    border-radius:999px;
    transition:opacity .2s ease;
}
.kuu-button:hover{ opacity:.8; }

/* --- CF7 form --- */
.kuu-section__inner--form .wpcf7-form p{ margin-bottom:22px; }
.kuu-section__inner--form label{
    display:block;
    font-size:.85rem;
    color:#333;
    margin-bottom:8px;
}
.kuu-section__inner--form input[type="text"],
.kuu-section__inner--form input[type="email"],
.kuu-section__inner--form select,
.kuu-section__inner--form textarea{
    width:100%;
    border:1px solid #d8d8d8;
    padding:12px 14px;
    font-size:.9rem;
    font-family:inherit;
    background:#fff;
}
.kuu-section__inner--form textarea{ min-height:140px; }
.kuu-section__inner--form input[type="submit"]{
    display:inline-block;
    font-size:.9rem;
    letter-spacing:.05em;
    color:#fff;
    background:#171717;
    border:none;
    padding:16px 44px;
    border-radius:999px;
    cursor:pointer;
    transition:opacity .2s ease;
}
.kuu-section__inner--form input[type="submit"]:hover{ opacity:.8; }

/* --- Footer --- */
.kuu-footer{
    border-top:1px solid #ececec;
    background:#fafafa;
}
.kuu-footer__inner{
    max-width:1080px;
    margin:0 auto;
    padding:48px 24px;
    text-align:center;
}
.kuu-footer__logo{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:18px;
}
.kuu-footer__logo-icon{ height:26px; width:auto; display:block; }
.kuu-footer__logo-type{ height:15px; width:auto; display:block; }
.kuu-footer__links{
    display:flex;
    justify-content:center;
    gap:22px;
    list-style:none;
    margin:0 0 18px;
    padding:0;
    flex-wrap:wrap;
}
.kuu-footer__links a{
    font-size:.82rem;
    color:#555;
    text-decoration:none;
}
.kuu-footer__links a:hover{ opacity:.6; }
.kuu-footer__copy{
    font-size:.75rem;
    color:#9a9a9a;
    margin:0;
}

@media (max-width:576px){
    .kuu-nav__links{ gap:16px; }
    .kuu-hero{ padding:20px; }
    .kuu-hero__brand{ gap:12px; }
    .kuu-hero__brand-icon{ height:44px; }
    .kuu-hero__brand-logo{ height:24px; }
    .kuu-section__inner{ padding:56px 20px; }
}