/*
Theme Name: Kitara WP Theme
Author: k.u.g.
Description: Static-to-WordPress conversion (header/footer split + page templates). Minimal, plugin-light.
Version: 1.0.0
Text Domain: kitara
*/

:root{
  --color-primary:#007f84;/* メインカラー */
  --color-accent:#ef7c6c;/* アクセント（主ボタン） */
  --color-sub1:#e7dbc3;/* サブ1（ベージュ） */
  --color-sub2:#b9c9d9;/* サブ2（淡ブルー） */
  --color-sub3:#2c6ba4;/* サブ3（ブルー） */
  --color-muted:#666;--container:1200px;
}

/* ========== 0. Base ========================================= */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body,button{font-family:  "游ゴシック体","Yu Gothic","YuGothic",  "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN",  "メイリオ",Meiryo,sans-serif;font-size:1.25rem;line-height:1.7;letter-spacing:0.1em;color:#111;}
.container{max-width:var(--container);margin:0 auto;padding:0 16px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:opacity .2s ease}
a:hover{opacity:.8}

/* ========== 1. Header ========================================= */
.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #eee;}
.site-header .inner{width:1000px;height:64px;margin:0 auto;display:flex;align-items:center;gap:24px;}
.logo{margin:0;font-size:.95rem;font-weight:700;padding-top: 4px;}
.logo a{color:#111;text-decoration:none;letter-spacing: 0.1rem;}
.nav{flex:1 1 auto;display:flex;justify-content:center}
.nav ul{display:flex;gap:8%;list-style:none;margin:0;padding:0}
.nav li {margin:0;display: inline-block;text-decoration: none;outline: none;color: #1B85FB;}
.nav a{text-decoration:none;color:var(--color-primary);font-size:.9rem;font-weight:700;letter-spacing:0;white-space:nowrap;position: relative;line-height: 2rem;}

.btn-contact{display:inline-flex;align-items:center;justify-content:center;height:60px;padding:0 42px;border-radius:30px;background:var(--color-primary);color:#fff;font-size:1rem;font-weight:700;text-decoration:none;transition:opacity .2s ease;}
.btn-contact:hover{opacity:.8}
.btn.btn-contact{min-width: 18%;}

@media (min-width:768px){
/* .nav a::after {position: absolute;left: 0;content: '';width: 100%;height: 2px;background:var(--color-primary);bottom: -10px;transform: scale(0, 1);transition: transform 0.3s;transform-origin: center top;}
.nav a:hover::after {transform: scale(1, 1)} */
.nav a::after {position: absolute;left: 0;content: '';width: 100%;height: 2px;background: var(--color-primary);bottom: 5px;transform: scale(0, 1);transition: transform 0.3s;transform-origin: center top;}
.nav a:hover::after {transform: scale(1, 1)}

}

/* ========== 2. Hero =========================================== */
.hero{padding: 0;}
.hero__inner {position:relative; height:600px; overflow:hidden;}
.hero__photos {position:absolute; top:0; left:50%; transform:translateX(-50%); width:1200px; height:600px; z-index:1; overflow:hidden;}
.hero__photo {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; transition:opacity .8s ease;}
.hero__photo.is-active {opacity:1;}

.overlay {position:absolute; inset:0; z-index:2; pointer-events:none;}
.overlay__center {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);width:1200px; height:600px;background-repeat:no-repeat; background-position:center; background-size:cover;background-image:-webkit-image-set(url("assets/img/center-hole.png") 1x,url("assets/img/center-hole@2x.png") 2x);background-image:image-set(url("assets/img/center-hole.png") 1x,url("assets/img/center-hole@2x.png") 2x);
}
.overlay__left{position:absolute; top:0; left:0; width:calc(50% - 600px); height:100%; background-repeat:repeat-x; background-size:auto 100%; background-position:left center; background-image:-webkit-image-set(url("assets/img/overlay-left.png") 1x, url("assets/img/overlay-left@2x.png") 2x); background-image:image-set(url("assets/img/overlay-left.png") 1x, url("assets/img/overlay-left@2x.png") 2x);}

.overlay__right{position:absolute; top:0; right:0; width:calc(50% - 600px); height:100%; background-repeat:repeat-x; background-size:auto 100%; background-position:right center; background-image:-webkit-image-set(url("assets/img/overlay-right.png") 1x, url("assets/img/overlay-right@2x.png") 2x); background-image:image-set(url("assets/img/overlay-right.png") 1x, url("assets/img/overlay-right@2x.png") 2x);}

.hero__abs {position:absolute; inset:0; z-index:3; display:flex; justify-content:center;}
.hero__abs-inner {position:relative; width:1000px; height:100%;}
.hero-cta {position:absolute; display:block; z-index:4;}
.hero-cta img {display:block; width:100%; height:100%;}

.hero-cta--logo{top:0px; right:0; width:125px; height:auto;}

.hero-cta--tl {top:40px; left:calc(50% - 500px + 40px); width:230px; height:230px;}
.hero-cta--bl {bottom:40px; left:calc(50% - 500px + 40px); width:192px; height:198px;}
.hero-cta--ktr{bottom:10%;right:-10%;width:45%;}

/* ========== 3. Sections Common ================================ */
section{padding-top:100px;padding-bottom:120px;text-align:center}
h2{font-size:2.4rem;letter-spacing:0.1em;line-height:1;font-weight:700;margin:0 0 10px}
h3{font-size:1.2rem;letter-spacing:0.1em;line-height:2;font-weight:700;text-align: center;}
.sub{font-size:1.2rem;letter-spacing:0.1em;line-height:1.818;font-weight:700;margin:0 0 40px}
.lead{font-size:1rem;line-height:2}
.lead_mg{margin: 15px auto;}
.lead_mg a{text-decoration: underline;}
.txt{font-size:.9rem;line-height:2}

.section-icon{display: block; margin:0 auto 10px;}

.basic_img{ border-radius: 10px; margin: 25px auto;display: block;max-height:450px; max-width: 100%;object-fit: contain;}
.basic_img.basic_img-primary{border: 5px solid var(--color-primary) ;} 
.basic_img.basic_img-accent{border: 5px solid var(--color-accent) ;} 
.basic_img.basic_img-sub3{border: 5px solid var(--color-sub3) ;} 

.img-box{display: flex;gap: 16px;justify-content: center;margin: auto;width: 90%;}
.img-box img {width: 50%;height: auto;object-fit: cover;border-radius: 10px;}

.catalog-box{display: flex;gap: 16px;justify-content: center;margin: auto;width: 90%;}
.catalog-box .catalog-box_item img{display: block; margin: auto; width: 45%;}
.catalog-box .catalog-box_item p{text-align: center;}
.catalog-box .catalog-box_item{width: 40%;height: auto;object-fit: cover;}

@media (max-width: 768px) {
.basic_img{max-height:200px;}
.img-box {flex-direction: column;}
.img-box img {width: 100%;}
}

/* ========== 4. About ========================================== */
.block--primary{background:var(--color-sub1);color:#007f84}
.block--primary .about-visual{max-width:720px;margin:0 auto 24px;}
.home .block--primary .lead{font-size: 1.4rem;letter-spacing:0.1em;line-height:2;font-weight:700;}
.block--primary .lead{font-size: 0.8rem;letter-spacing:0.1em;line-height:2;font-weight:700;}
.block--primary .sub{margin:0 0 20px}

.about_main{margin: auto; width: 960px; height:450px;background-image:-webkit-image-set(url("assets/img/about_main.png") 1x, url("assets/img/about_main@2x.png") 2x);background-repeat:no-repeat;  background-size: contain; background-position:center center;position:relative}
.about_main .lead{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;text-align:center;max-width:720px;width:90%}

.block--about{padding-top: 0;}
#floor{padding-top: 80px;}
/* .about--container{width: 720px;} */

.block--primary .about--container .lead,
.block--blue .about--container .lead{font-size: 1.25rem;letter-spacing:0.05em;line-height:2;font-weight:700;}
.block--accent .about--container .btn-large{margin: 10px auto;}
.block--primary .about--container .lead,.block--blue .about--container .lead,
.block--primary .about_main .lead,.block--blue .about_main .lead{font-size:1.25rem;letter-spacing:0.05em;line-height:2;font-weight:700;}
.block--sub{background-color: #fff; width: 860px;margin: auto;padding: 80px 0;border-radius: 28px;}
.block--sub h3{font-size: 1.8rem; margin-bottom: 75px; text-align: center;}
.block--sub__inner{margin: auto; width: 630px;}

@media (max-width:768px){
.about_main{width: 100%; height: 200px;}
.block--primary .about--container .lead, .block--blue .about--container .lead, .block--primary .about_main .lead, .block--blue .about_main .lead{font-size: .8rem;}

.block--sub{padding: 40px 0; width:100%;}
.block--sub h3{font-size: 1.4rem; margin-bottom: 25px;}
.block--sub__inner{width: 85%;}

}

/* ========== 5. Business ======================================= */
.block--blue{background:var(--color-sub2);color: var(--color-sub3); padding-top:80px;padding-bottom:80px;text-align:center}
.block--blue>.container{width:1000px;margin:0 auto}
.block--blue h2{color:#2c6ba4}
.block--blue .sub{color:#2c6ba4;font-weight:700}
/* .business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:32px}
.block--blue .card{height:240px;background:#f2ede9;border:5px solid #4588b6;border-radius:40px;display:flex;align-items:center;justify-content:center;flex-direction:column;background-size:cover;background-position:center;background-repeat:no-repeat
}
.business-grid .card:first-child{grid-column:1/-1} */
.business-grid {display: grid;grid-template-columns: repeat(2, 1fr); /* 基本は2列 */gap: 30px;margin-top: 32px;}
.business-grid .card {height: 240px;background: #f2ede9;border: 5px solid #4588b6;border-radius: 20px;display: flex;align-items: center;justify-content: center;flex-direction: column;background-size: cover;background-position: center;background-repeat: no-repeat;}
/* 最初の2つだけ横幅100%（1列占有） */
.business-grid .card:nth-child(1),
.business-grid .card:nth-child(2) {grid-column: 1 / -1;}







.block--blue .card strong{display:block;font-size:1.875rem;font-weight:700;letter-spacing:.02em;margin-bottom:15px;color:#fff}
.block--blue .card small{display:block;font-size:1.4375rem;color:#fff}
.block--blue .card p{display:block;font-size:1.2rem;color:#fff}

.business-grid .card:nth-child(1){background-image:url("assets/img/_DSF3866.jpg")}
.business-grid .card:nth-child(2){background-image:url("assets/img/_DSF3925.jpg")}
.business-grid .card:nth-child(3){background-image:url("assets/img/_DSF3888.jpg")}
.business-grid .card:nth-child(4){background-image:url("assets/img/_DSF3930.jpg")}
.business-grid .card:nth-child(5){background-image:url("assets/img/_DSF3946.jpg")}
.business-grid .card:nth-child(6){background-image:url("assets/img/_DSF3964.jpg")}

.page-id-12 .business-grid .card--wide{background-image:url("assets/img/bg_illust@2x.png")}

.business-grid>.card small:nth-child(n+2):nth-child(-n+5){font-size: .9rem;}

.blue--container .sub{margin-bottom: 15px;}
.block--blue .btn-large {background: var(--color-sub3);margin:20px auto;}

body.page-id-12 .business-grid .card:nth-child(2) { 
  grid-column: 1 / -1;            /* ← 2つ目だけ横いっぱい */
}

/* ========== 5. Service =========================================== */

.block--sub__inner .reuse-chiplist{margin: auto; width: 365px;}
.reuse-chiplist .news-chip__date{min-width: 50px;}
.basic_img{border: 5px solid var(--color-sub3) ; border-radius: 10px; margin: 25px auto;display: block;max-height:450px; max-width: 100%;object-fit: contain; /* 枠内に収まる */}

@media (max-width:768px){
.block--sub__inner .reuse-chiplist{width: 100%;}
.basic_img{max-height:200px;}

}

/* ========== 6. News =========================================== */

.section-head h1{margin: 0 auto;}
.block--accent{color:var(--color-accent);}
.block--accent h2,.block--accent .sub{text-align:center}
.news-list{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin:24px 0}
.news-item{flex:1 1 240px;min-height:120px;background:#f2ede9;border-radius:12px;border:1px solid #eee;padding:24px;display:flex;align-items:center;justify-content:center;text-align:center;}
.news-item.is-empty{background: none;border: none;}
.news-item time{display:block;font-size:.8rem;margin-bottom:6px}
.news-item .title{font-size:1rem;line-height:1.6;color:#222}
.block--accent .btn-large {background: var(--color-accent);margin:40px auto 0;}

.news-chiplist{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.news-chip{border-bottom: 1px solid #948c87; display:flex;align-items:center;gap:16px;padding:12px 16px;}
.news-chip__date{display:inline-flex;align-items: center; justify-content:unset;min-width:110px;height:36px;padding:0 12px;font-size:.9rem;letter-spacing:.06em;color:#666;font-weight: bold;}
.news-chip__tag{display:inline-flex;align-items:center;justify-content:center;min-width:86px;height:28px;padding:0 12px;border-radius:9999px;background:var(--color-accent);color:#fff;font-size:.8rem;font-weight:700}
.news-chip__title{flex:1;min-width:0;font-size:.9rem;line-height:1.6;text-align: left;font-weight: bold;color: #333;}

@media (max-width:768px){
  .news-chip{flex-wrap:wrap;gap:10px 12px;padding:10px 12px;border-radius:0px}
  .news-chip__date{min-width:auto;height:32px;font-size:.85rem}
  .news-chip__tag{height:26px;font-size:.75rem}
  .news-chip__title{flex-basis:100%;white-space:normal}
  iframe{height: 250px;}
}

/* ===== News List (archive / taxonomy) ===== */

.news-archive__head { text-align:center; margin-top:40px; }
.news-index { margin:0 auto; max-width: 860px; }
.news-row {
  list-style:none;
  display:grid;
  grid-template-columns: 120px 120px 1fr;
  gap: 16px;
  align-items:center;
  margin: 0 auto 25px;
  padding: 12px 70px;
  background: #f2ede9; /* ベージュ系 */
  border-radius: 10px;
}
.news-row__date { font-variant-numeric: tabular-nums; color:#666;font-size:.8rem; font-weight: bold;}
.news-row__badge {
  display:inline-block;
  width:120px;
  text-align:center;
  border-radius: 11px;
  background: #EA6E62;
  color:#fff;
  font-size: 12px;
  line-height: 23px;
  letter-spacing: 1px;
}
.news-row__badge.is-empty { background: transparent; color: transparent; border: 1px solid transparent; }
.news-row__title { color:#121212; text-decoration:none;font-size: 1rem; font-weight: bold;letter-spacing: 0;text-align: left;}

.news-archive__more { text-align:center; margin: 36px 0 64px; }
.btn-more {
  display:inline-block;
  padding: 14px 28px;
  border-radius: 999px;
  background:#EA6E62; color:#fff; text-decoration:none;
  box-shadow: 0 6px 0 rgba(0,0,0,0.1);
}
.btn-more:hover { opacity:.9; }
.post-type-archive .news-archive{margin-bottom: 180px;}

/* ===== Single News ===== */
.container.single-news {background-color: #f2ede9; padding: 55px 0 110px;max-width: 100%;}
.single-news__card {max-width: 1100px; margin: 0 auto;background-color: #fff;border-radius: 50px;padding: 110px 0 70px ;}
.single-news__header { text-align:center; margin-bottom: 24px; }
.single-news__title { margin:0 0 12px; font-size: 22px; line-height:1.5; }
.single-news__meta { display:flex; gap:12px; justify-content:center; align-items:center; color:#666; }
.single-news__meta time{font-size: 1rem;}
.single-news__badge {
  display:inline-block; padding:4px 10px; border-radius:999px;
  background:#EA6E62; color:#fff; font-size:12px; line-height:1;
}

.single-news__thumb { margin: 28px 0; }
.single-news__content { max-width:870px; margin: auto;}
.single-news__content p{font-size: .9rem;text-align: left;}
.single-news__content img{display: block;margin: 40px auto;max-width: 100%; height: auto;}
.single-news__footer { margin-top: 36px; }
.single-news__pager {
  display:flex; justify-content:space-between; gap:16px;
  max-width: 880px; margin: 0 auto;
}
.single-news__pager a {
  display:inline-flex; align-items:center; gap:8px;
  padding: 12px 20px; border-radius: 999px;
  background:#EA6E62; color:#fff; text-decoration:none;
}
.single-news__pager a:hover { opacity:.9; }
.single-news__pager .arrow { font-size:18px; line-height:1; }

/* 調整（小さめ画面） */
@media (max-width: 640px) {
  .single-news__card{max-width: 90%;}
  .news-row { grid-template-columns: 100px 90px 1fr; padding:10px 12px; }
  .single-news__card { padding:28px 18px; }
}

/* ========== 7. Events ========================================= */
.events{color:var(--color-accent);}
.events h2,.events .sub{text-align:center}
.event-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:24px 0}
.event-card{background:#fff;border-radius:0;overflow:visible}
.event-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius: 25px;box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);}
.event-card p{padding:12px 12px 16px;margin:0;text-align:left}
.event-card time{display:block;font-size:.8rem;color:#374151}
.event-card .cap{display:block;font-size:1rem;line-height:1.4;color:#111}
.events .btn-large {background: var(--color-accent);}

/* ========== single_txt ========================================= */
.single_txt{text-align: left;margin: auto; width: 80%;color: #007f84;}
.single_txt *{font-size: 1rem;letter-spacing: 0.1em;line-height: 1.7; padding: 0;margin: 0;text-align: left;}
.single_txt h2,.single_txt h3,.single_txt h4,.single_txt h5,{font-size: 1.2rem;letter-spacing: 0.1em;line-height: 2;font-weight: 700;text-align: center;}
.single_txt h2{font-size: 1.6rem;margin-bottom: 25px;}
.single_txt h3{font-size: 1.3rem;margin-bottom: 25px;}
.single_txt ul,.single_txt ol{list-style-type: none}
.single_txt section{padding: 75px 0;}

/* ========== 8. Buttons ======================================== */
.btn{display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;text-decoration:none;color:#fff;border-radius:9999px;transition:opacity .2s ease,letter-spacing .3s ease,text-indent .3s ease;padding:0;height:48px;min-width: 300px;}
.btn:hover{opacity:.8;letter-spacing:.12em;text-indent:.12em}
.btn-large{height:80px;padding:0 45px;font-size:1.25rem;border-radius:40px;background:var(--color-primary);position:relative;display:inline-flex;width:auto;line-height:normal;margin:auto;}
.btn-large::after{content:"\25B6";font-size:1rem;margin-left:12px;line-height:1}
.block--accent .container,.events .container{max-width:var(--container);margin:0 auto}
.news-item{min-height:25%}

/* ========== 9. Footer ========================================= */
.site-footer {background:var(--color-primary); color:#fff; padding:60px 0; font-size:.875rem;}
.site-footer .container {width:1000px; margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:repeat(5,max-content);gap:5px;margin-bottom:40px;justify-content:space-between}
.footer-col h3 {font-size:1rem; font-weight:700; letter-spacing:.05em; margin:0 0 16px; color:var(--color-sub1); text-align: left;}
.footer-col h3{border-bottom: 1px solid #fff;color:#fff;padding-bottom:5px;}
.footer-col ul {list-style:none; margin:0; padding:0;}
.footer-col li {margin-bottom:10px;}
.footer-col a {color:#fff; text-decoration:none; transition:opacity .2s ease;}

.footer-col ul li a{position: relative;}
.footer-col ul li a::after {position: absolute;left: 0;content: '';width: 100%;height: 2px;background: #fff;bottom: -5px;transform: scale(0, 1);transition: transform 0.3s;transform-origin: center top;}
.footer-col ul li a:hover::after {transform: scale(1, 1)}

.footer-bottom {text-align:center; padding-top:80px;}
/* .footer-grid .footer-col:nth-child(1) h3 a{color:var(--color-primary)}
.footer-grid .footer-col:nth-child(2) h3 a{color:var(--color-primary)}
.footer-grid .footer-col:nth-child(3) h3 a{color:var(--color-sub3)}
.footer-grid .footer-col:nth-child(4) h3{color:var(--color-accent)} 
.footer-grid .footer-col:nth-child(5) h3{color:var(--color-muted)}  */

/* ========== 10. Hamburger Menu ========== */
.hamburger{display:none;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:28px;height:20px;background:none;border:none;cursor:pointer;z-index:1001}
.hamburger span{position:absolute;left:0;width:100%;height:3px;background:var(--color-primary);transition:.3s;transform-origin:center}
.hamburger span:nth-child(1){top:50%;transform:translateY(-9px)}
.hamburger span:nth-child(2){top:50%;transform:translateY(-50%)}
.hamburger span:nth-child(3){top:50%;transform:translateY(6px)}
.hamburger.active span:nth-child(1){transform:translateY(-50%) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:translateY(-50%) rotate(-45deg)}

.drawer{display:flex;align-items:center;justify-content:space-around;gap:40px;flex:1;position:static;width:100%;height:auto;background:transparent;box-shadow:none;padding:0;z-index:auto}
.drawer .nav{flex:1}
.drawer .nav ul{display:flex;flex-direction:row;justify-content: center;width:100%}
.drawer .btn-contact{margin-left:auto}

/* ========== 11. Breadcrumb  ========== */

.breadcrumb {background:#f9f9f9;font-size:.85rem;padding:12px 0;}
.breadcrumb .container {max-width:var(--container);margin:0 auto;padding:0 16px;}
.breadcrumb ul {list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;}
.breadcrumb li {color:#666;}
.breadcrumb li a {color:var(--color-primary);text-decoration:none;}
.breadcrumb li::after {content:">";margin-left:8px;color:#aaa;}
.breadcrumb li:last-child::after {content:"";}

/* ========== s1. responsive ========================================= */

@media (max-width:768px){
body{font-size:1rem;line-height:1.8}

.site-header .inner{width:auto;padding:0 16px;height:56px;gap:16px;position:relative}
.btn-contact{height:44px;padding:0 20px;font-size:.875rem}

 .drawer{position:fixed;top:0;right:-320px;width:min(86vw,320px);height:auto;max-height:100%;box-sizing:border-box;padding:24px;display:flex;flex-direction:column;align-items:stretch;gap:24px;z-index:1000;background:#f2ede9;box-shadow:none;overflow-y:auto;transition:right .3s,box-shadow .3s}
 .drawer.active{right:0;box-shadow:0 0 0 9999px rgba(0,0,0,.5)}

.drawer .nav{width: 100%;}
.drawer .nav ul{display: block;}
.drawer .nav li{text-align: left; width: 100%;}
.drawer .nav li a{color: var(--color-primary);letter-spacing: 0.2rem;padding-bottom: 10px;margin-bottom: 10px;display: block;border-bottom:1px solid var(--color-primary)}
.drawer .btn-contact{width:100%;justify-content:center;height:56px;border-radius:28px}
.hamburger{display:block}

.hero__inner{height:420px}
.hero__photos{position:absolute;top:0;left:0;transform:none;width:100%;height:100%}
.overlay__center{width:100%;height:100%}
.overlay__left,.overlay__right{width:0}
.hero__abs-inner{width:100%}
.hero-cta--tl{top:16px;left:16px;width:180px;height:180px}
.hero-cta--bl{bottom:16px;left:16px;width:160px;height:160px}
.hero-cta--ktr { bottom:10%; right:-10%; /* width/height の空行は削除 */ }
}
@media (max-width:768px){
  .hero-cta--ktr { bottom:16px; right:10%; /* ここも空行を削除 */ }
  .hero-cta--logo{width: 80px;}
  .hero-cta--tl{top:16px;left:16px;width:90px;height:90px}
  .hero-cta--bl{bottom:16px;left:16px;width:90px;height:90px}

section{padding-top:32px;padding-bottom:56px}
h2{font-size:2rem}
.sub{margin:0 0 24px}
.block--primary .about-visual{margin:0 auto 16px}
.block--primary .lead{font-size:.875rem}

.btn-large{height:56px;padding:0 28px;font-size:1rem; margin-bottom: 30px;}

.block--blue>.container{width:auto}
.business-grid{grid-template-columns:1fr;gap:16px}
.block--blue .card{height:140px;border-radius:16px}
.block--blue .card strong{font-size:1.4rem;margin-bottom:8px; letter-spacing: 0;}
.block--blue .card small,.block--blue .card p{font-size: .9rem; letter-spacing: 0;}

.business-grid>.card small:nth-child(n+2):nth-child(-n+5){font-size: .8rem;}
.news-list{gap:12px}
.news-item{flex:1 1 100%;min-height:68px;padding:16px}

.event-list{grid-template-columns:1fr;gap:24px}
.event-card img{border-radius:12px}
.event-card p{padding:8px 0 0}
.event-card time{font-size:1rem}
.event-card .cap{font-size:1.125rem}

.site-footer .container{width:auto;padding:0 16px}
.footer-grid{grid-template-columns:max-content max-content;gap:24px;justify-content:space-between}
}
/* ========== Subpage Hero (240px) ========== */
.subhero{position:relative;width:100%;height:240px;overflow:hidden;padding: 0; }
.subhero img{width:100%;height:100%;object-fit:cover;display:block}
.subhero__title{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;
  font-size:2rem;line-height:1.2;letter-spacing:.08em;font-weight:700;color:#fff;text-align:center;
  text-shadow:0 2px 6px rgba(0,0,0,.25)}
@media (max-width:768px){
  .subhero{height:200px}
  .subhero__title{font-size:1.5rem}
}

/* === [override] News List rows: full-row link + hover opacity + responsive layout === */
.news-index { margin: 28px auto 0; max-width: 880px; padding: 0 16px; list-style: none; }
.news-index li { list-style: none; }

.news-row {
  display: grid;
  grid-template-columns: 120px 120px 1fr;
  gap: 16px;
  align-items: center;
  margin: 0 auto 25px;
  padding: 12px 70px;
  background: #f2ede9;
  border-radius: 10px;
  text-decoration: none;
  color: #121212;
  transition: opacity .2s;
}
.news-row:hover { opacity: 0.7; text-decoration: none; }

.news-row__date {
  font-variant-numeric: tabular-nums;
  color: #666;
  font-size: .8rem;
  font-weight: bold;
}
.news-row__badge {
  display: inline-block;
  width: 120px;
  text-align: center;
  border-radius: 11px;
  background: #EA6E62;
  color: #fff;
  font-size: 12px;
  line-height: 23px;
  letter-spacing: 1px;
}
.news-row__badge.is-empty { background: transparent; color: transparent; border: 1px solid transparent; }
.news-row__title { font-size: 1rem; font-weight: bold; letter-spacing: 0; text-align: left; color: #121212; text-decoration: none; }

/* Mobile layout: date & category on one row, title below */
@media (max-width: 640px) {
  .news-row {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "date badge"
      "title title";
    padding: 12px 16px;
  }
  .news-row__date  { grid-area: date; }
  .news-row__badge { grid-area: badge; justify-self: end; }
  .news-row__title { grid-area: title; }
}
/* ========== Custom Scroll Offset for Anchors ========== */
/* html { scroll-behavior: smooth; } */
/* :target { scroll-margin-top: 80px; } */

/* ===== Active underline for Global Nav ===== */
/* About トップ：就労体験事業とは */
body.page-id-10 .nav a[href$="/kitara/about/"]::after {transform: scale(1, 1);}
/* About 内の利用案内 (#guide) */
body.block-blue-active .nav a[href$="#guide"]::after {transform: scale(1, 1);}
body.block-blue-active .nav a[href$="/kitara/about/"]::after {transform: scale(0, 1);}
/* Service ページ → 事業紹介に下線を強制 */
body.page-id-12 .nav a[href$="/service/"]::after {transform: scale(1, 1) !important;}
/* Event ページ */
body.post-type-archive-event .nav a[href$="/event/"]::after {transform: scale(1, 1);}
/* News ページ */
body.post-type-archive-news .nav a[href$="/news/"]::after {transform: scale(1, 1);}
/* Contact ページ（IDは本番で要確認） */
body.page-id-14 .nav a[href$="/contact/"]::after {transform: scale(1, 1);}

/* ========== .Form ========== */
.res_ttl{margin:160px auto 45px; width:37%;}.res_ttl_form{margin:0 auto 55px; width:38%;}.res_ttl02{font-weight: bold; margin:0 auto 50px;text-align: center;}input,textarea{-webkit-transition: .5s ease-in; transition: .5s ease-in;font-size:16px; border:1px solid #f2f2f2;}input,textarea,select{background: #f2f2f2;}input:focus,textarea:focus,select:focus {background: #fff;color: #000; border:1px solid #f2f2f2; outline: none;}input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill{background-color: #533607!important;}input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], textarea{line-height: 33px;padding-left: 1rem; width: 100%;}select {-moz-appearance: none;-webkit-appearance: none;appearance: none;border-radius: 0;margin: 0;padding-left: 1em; line-height: 33px; background:#f2f2f2;vertical-align: middle;font-size: inherit;color: inherit;box-sizing: content-box;border: 1px solid #f2f2f2;width: 47.5%;}#calendar{margin:0 auto 50px; width: 800px;}.cal_wrapper {max-width: 800px;min-width: 300px;margin: 2.0833% auto;}.googlecal {position: relative;padding-bottom: 100%;height: 0;overflow: hidden;}.googlecal iframe {position: absolute;top: 0;left: 0;width: 100% !important;height: 100% !important;}@media only screen and (min-width: 600px) {.googlecal {padding-bottom: 75%;}}#zip,#zip1{width: 20%;}.zip_txt{padding: 0 5px 0;}#pref{width: 30%;}#addr{width: 70%;}input.male,input.female{padding:5px 0 5px 1em; width: 66%;}.cntct_item_ttl.cntct_item_nop{float: left; width: 30%;}.cntct_item_ttl_checkin{clear: both;}.cntct_item_ttl .checkin,.cntct_item_ttl .checktime,.cntct_item_ttl .checkout{width: 50%;}.mw_wp_form .error{display: inline!important;}.mw_wp_thanks{margin-bottom: 20px; text-align: center;}.mw_wp_form2{margin: auto; width: 550px;}@media (max-width:900px){.cntct_item_ttl.calendar_sub{font-size: 10px; font-size: 1rem; line-height: 2rem; margin:0 auto 50px; width: 90%;}.mw_wp_form2{margin: auto; width: 90%;}#calendar{margin: auto; width: 100%;}}.required{color: #2D6B05; font-size: 1.6rem;}.form_message{border: none; height: 200px; margin-bottom: 18px; width: 100%;}.form_contents {border: none; -webkit-appearance: button;-moz-appearance: button;appearance: button;text-indent: 1em;background:#fff/*  url(../img_common/arw_select_down.png) no-repeat */;background-size:20px 10px;background-position: right center;height: 40px;line-height: 40px;font-size: 15px;vertical-align: middle;border:1px solid #CCC;margin-bottom:20px;width: 100%;outline: none;}.wpcf7-textarea{margin-bottom: 0;}.cntct_item_att{font-size: 12px;font-size: 1.2rem; letter-spacing: 0;}.cntct_item_att a{font-size: 12px;font-size: 1.2rem; letter-spacing: 0;text-decoration: underline;}.cntct_item_ttl{margin: 0 0 20px 0;}.cntct_item_ttl.cntct_item_select{margin-bottom: 30px; }.cntct_item_select .wpcf7-select{background:#fff url(../img/downarrow.png) no-repeat right bottom 4px; padding-left: 15px;}.mwform-tel-field input[type="text"]{width: 29%!important;}.form_btn_base{background: #1CB8E8; border-radius: 10px; color: #fff; cursor: pointer;font-size: 14px;font-size: 1.4rem; font-weight: bold; padding: 15px 0; -webkit-transition: 0.3s ease;transition: 0.3s ease; width: 39%;}.form_btn_base_back{background: #f2f2f2; color: #333;}.form_btn_base:hover{background: #61ceef; color: #f2f2f2;}.item_person{float: left;}.item_person .male,.item_person .female{padding-right: 10px; width: 56%;}.mw_wp_form_preview .cntct_item_att{display: none!important;}
.cntct_att_block{border: 3px solid #CEE9F2; margin-bottom: 20px; padding: 20px 30px;}
.thanks_body{padding: 25px 0;}.backtotop{ display: block; margin: 15px auto;  text-align: center;}.backtotop_inner{border-bottom: 1px solid #000;padding: 0 0 10px;}.mwform-tel-field input[type="text"] {width: 31.3%!important;}.zipcode input[type="text"]{margin-left: 10px; width:25%;}@media (max-width:900px){.form_btn_base{width:50%;}.contact_inner{margin: auto; width: 90%;}.mwform-tel-field input[type="text"] {width:29%!important;}}

form P{margin-bottom: 15px;}
.wpcf7-textarea{height:150px; }

input,textarea{-webkit-transition: .5s ease-in; transition: .5s ease-in;}
input,textarea,select{background: #fcfcfc;border-radius:5px;}
input:focus,textarea:focus,select:focus {background: #fff;color: #000; outline: none;}
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill{background-color: #533607!important;}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], textarea{line-height: 33px;padding-left: 1rem; width: 100%;}
select {-moz-appearance: none;-webkit-appearance: none;appearance: none;border-radius: 0;margin: 0;padding-left: 1em; line-height: 33px; background:#fcfcfc;vertical-align: middle;font-size: inherit;color: inherit;box-sizing: content-box;width:98%;border-radius:5px;}

.label_name{font-weight: bold;}
input.wpcf7-confirm,input.wpcf7-submit,input.wpcf7-back{background: #427635;border-radius: 10px;color: #fff;cursor: pointer;font-size: 14px;font-size: 1.4rem;font-weight: bold;padding: 15px 0;-webkit-transition: 0.3s ease;transition: 0.3s ease;width: 39%;}
input.wpcf7-confirm:hover,input.wpcf7-submit:hover,input.wpcf7-back:hover{background: #fff;border-radius: 10px;color: #999;}

.your-message{display: block;; margin-bottom:15px;}
.wpcf7c-conf{background: #fff;}
input.wpcf7-back{display: inline-block;margin-bottom: 15px}

div.wpcf7-mail-sent-ok,.wpcf7-response-output{border: 2px solid #398f14;padding: 25px;font-size: 1.3rem;font-weight: bold;}
input[type="checkbox"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 1px;
  left: 4px;
  transform: rotate(50deg);
  width: 4px;
  height: 8px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}
.frm_ttl{display: block; margin:25px 0 10px 0;}
.wpcf7-form-control .wpcf7-list-item{display: block;}

@media screen and (max-width:480px){
input.wpcf7-confirm, input.wpcf7-submit, input.wpcf7-back{width:100% }
}

/* ========== Calendar ========== */
.bizcal-wrap{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:16px}
.bizcal{width:100%;border-collapse:collapse;font-size:.95rem}
.bizcal th,.bizcal td{border:1px solid #fff;text-align:center;padding:8px}
.bizcal__day.is-today{outline:2px solid #999}

/* リンク（任意リンク/イベントリンク） */
.bizcal__day a{display:block;color:inherit;text-decoration:underline}

/* イベント日の丸印（右上） */
.bizcal__day.has-event{position:relative}
.bizcal__day.has-event::before{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--color-accent)}

/* data-hover ツールチップ（任意文言用 + スマホshow-hover対応） */
.bizcal__day[data-hover]{position:relative}
.bizcal__day[data-hover]:hover::after,
.bizcal__day[data-hover].show-hover::after{
  content:attr(data-hover);
  position:absolute;left:50%;bottom:-1.8em;transform:translateX(-50%);
  background:#000;color:#fff;font-size:.75rem;line-height:1;padding:3px 6px;border-radius:4px;
  white-space:nowrap;pointer-events:none
}

/* 休業日：赤文字・相対配置（ツールチップの土台） */
.bizcal__day.is-closed{color:#d00;opacity:1;text-decoration:none;position:relative;overflow:visible}

/* 休業日ツールチップ（“休業日”固定表示） */
.bizcal__day.is-closed::after{
  content:"休業日";position:absolute;left:50%;bottom:-0.8em;transform:translateX(-50%);
  background:#000;color:#fff;font-size:.75rem;line-height:1;padding:3px 6px;border-radius:4px;
  white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease, transform .12s ease;z-index:20
}
.bizcal__day.is-closed:hover::after{opacity:1}
/* a上でも確実に出す（対応ブラウザのみ） */
.bizcal__day.is-closed:has(a:hover)::after{opacity:1}

@media(max-width:768px){.bizcal-wrap{grid-template-columns:1fr}}

/* ========================================
   Responsive (スマホ用スタイル)
   ======================================== */
@media (max-width:768px){
  /* 横スクロール防止 */
  html,body{max-width:100%;overflow-x:hidden}

  /* 画像はみ出し防止 */
  img{max-width:100%;height:auto}

  h2{font-size:1.6rem}
  .sub{font-size: 1rem;}

  /* コンテナ幅調整 */
  .container,
  .block--primary,
  .block--blue,
  .block--accent,
  .events,
  .news-list,
  .event-list,
  .business-grid{
    width:100%;max-width:100%;overflow:hidden;
    padding-left:16px;padding-right:16px;box-sizing:border-box
  }

  /* グリッドを縦並びに */
  .business-grid,
  .news-list,
  .event-list{display:block}

  /* カード類を1列化 */
  .card,
  .news-item,
  .event-card{width:100%;display:block;margin-bottom:16px}

  /* Hero内のボタン縦並び */
  .hero__abs-inner{flex-direction:column;align-items:center}
  .hero-cta{margin:8px 0}

  /* 営業日カレンダー */
  .bizcal-wrap{grid-template-columns:1fr}
  .bizcal{font-size:.9rem}
  .bizcal th,.bizcal td{padding:6px}

  .section-icon{width: 30%;}

  /* Footer アコーディオン */
  .footer-col ul{max-height:0;overflow:hidden;transition:max-height .3s ease}
  .footer-col h3{cursor:pointer}
  .footer-col h3.is-open+ul{max-height:500px}

  .footer-bottom{font-size: .7rem;}
}
@media(max-width:768px){.footer-grid{display:grid;grid-template-columns:1fr;gap:12px}.footer-col{margin:0}.footer-col ul{max-height:0;overflow:hidden;transition:max-height .3s ease}.footer-col h3{cursor:pointer}.footer-col h3.is-open+ul{max-height:500px}}

/* ========== Header Dropdown (canonical) ========== */
.site-nav.dd{position:relative;z-index:5000}

/* 親の並び（PC=横並び） */
.site-nav.dd .dd__root{
  display:flex;flex-wrap:nowrap;gap:32px;align-items:center;
  margin:0;padding:0;list-style:none
}
.site-nav.dd .dd__item{position:relative;display:flex;align-items:center}

/* 親button / 子a 書式統一 */
.site-nav.dd .dd__parent,
.site-nav.dd .dd__menu>li>a{
  display:block;width:100%;text-align:left;
  text-decoration:none;color:var(--color-primary);
  font-size:.9rem;white-space:nowrap;position:relative;
  background:transparent;border:0;cursor:pointer;font-weight: bold;
}

/* --- PCドロップダウン（隙間ゼロ & フェード） --- */
.site-nav.dd .dd__menu{
  position:absolute; top:100%; left:0; min-width:220px;
  background:#f2ede9;
  list-style:none;
  margin:0;
  padding-top:6px;
  box-shadow:0 8px 24px rgba(0,0,0,.08); z-index:9999;
  display:block;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .2s ease, transform .2s ease
}
.site-nav.dd .dd__item--parent:hover > .dd__menu,
.site-nav.dd .dd__item--parent:focus-within > .dd__menu{
  opacity:1; visibility:visible; transform:translateY(0)
}

/* 縦並びを強制（PC/SP共通） */
.site-nav.dd .dd__menu > li{ display:block; }
.site-nav.dd .dd__menu > li > a{ display:block;padding: 10px; }
.site-nav.dd .dd__menu > li > a:hover{ background:#f7f7f7 }
/* === SP DROPDOWN HOTFIX (no typography changes; layout only) === */



/* =========================================
   SP Accordion（≤960px）：兄弟セレクタ一本化
   - 表示制御は display に統一（アニメなし）
   - 旧 .open 方式はここで無効化
========================================= */

/* =========================================
   SP Accordion（≤768px）— aria-expanded × ~ 一本化
   表示方式：max-height（displayは使わない）
========================================= */
@media (max-width:768px){

  /* 親リスト縦積み */
  .site-nav.dd .dd__root{
    display:flex;
    flex-direction:column;
    gap:0;
    align-items:flex-start;
    margin:0;
    padding:0;
    list-style:none;
  }

  .site-nav.dd .dd__item{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    position:static;
  }

  /* トグルボタン */
  .site-nav.dd .dd__parent{
    display:block;
    width:100%;
    padding:12px 10px;
    border-bottom:1px solid var(--color-primary);
    text-align:left;
    background:transparent;
    border:0;
    cursor:pointer;
  }

  /* 子メニュー：初期は閉じる（max-height方式） */
  .site-nav.dd .dd__menu{
    position:static;
    width:100%;
    margin:0;
    padding:0;
    box-shadow:none;
    background:#fff;

    overflow:hidden;
    max-height:0;
    transition:max-height .80s ease;
  }

  .site-nav.dd .dd__menu > li{ display:block; }
  .site-nav.dd .dd__menu > li > a{
    display:block;
    padding:10px 15px;
    border-bottom:1px solid var(--color-primary);
  }

  /* 開く：兄弟セレクタ ~ （直後に別要素があっても命中） */
  .site-nav.dd .dd__parent[aria-expanded="true"] ~ .dd__menu{
    max-height:600px;
  }
}



/* --- Hotfix: SPでPCドロップダウンの残存を完全に無効化 --- */
@media (max-width:768px){
  /* PCのabsolute/hover残骸を上書き */
  .site-nav.dd .dd__menu{
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: auto !important;
    box-shadow: none !important;

    overflow: hidden;
    max-height: 0;
    transition: max-height .30s ease;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
  }
  .site-nav.dd .dd__item{ display:flex; flex-direction:column; align-items:stretch; }

  /* hover可視化をSPでは無効化（“何もしない”上書き） */
  .site-nav.dd .dd__item--parent:hover > .dd__menu,
  .site-nav.dd .dd__item--parent:focus-within > .dd__menu{
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  /* 開く・閉じるは aria-expanded だけで決める */
  .site-nav.dd .dd__parent[aria-expanded="true"] ~ .dd__menu{ max-height: 600px; }
}
@media (max-width:768px){
  .site-nav.dd .dd__root > li {
    display: block;
    width: 100%;
  }
}
