/*
Theme Name: KitaMachi Diary
Version: 1.0.7
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@300;400;500;700&display=swap');

@font-face {
  font-family: 'Quentin';
  src: url('assets/fonts/Quentin.woff2') format('woff2');
  font-weight: normal; font-style: normal; font-display: swap;
}

/* ============================================================
   Variables
   PDF実測値(1920px→1280px)確定
   ============================================================ */
:root {
  --font-go: 'Noto Sans JP', sans-serif;
  --font-mi: 'Noto Serif JP', serif;
  --font-en: 'Quentin', cursive;

  --c-bg:    #ffffff;
  --c-bg-bl: #e8f2f4;
  --c-bg-be: #f0ede8;
  --c-bg-gr: #f5f5f5;
  --c-tx:    #3a3530;
  --c-sub:   #999999;
  --c-lt:    #bbbbbb;
  --c-ac:    #7aabb5;
  --c-bd:    #e0e0e0;
  --c-grid:  rgba(140,180,195,0.15);

  --w:  1280px;
  --hh: 72px;
}

/* ============================================================
   Reset
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-go);font-size:14px;font-weight:300;line-height:1.8;color:var(--c-tx);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
figure{background:transparent!important;margin:0;padding:0}

/* ============================================================
   ============================================================
   PC 全指定 ここから
   ============================================================
   ============================================================ */

/* ============================================================
   HEADER (PC)
   ============================================================ */
#site-header{
  position:fixed;top:0;left:0;width:100%;height:var(--hh);
  z-index:1000;
  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 100px;
  transition:background .3s,box-shadow .3s;
}
#site-header.scrolled{background:rgba(255,255,255,0.92);box-shadow:0 1px 20px rgba(0,0,0,.06)}
.header-logo a{display:block;line-height:0}
.header-logo img{height:40px;width:auto}

.hamburger{width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;cursor:pointer;background:none;border:none;padding:0;z-index:1100}
.hamburger span{display:block;width:26px;height:1px;background:var(--c-tx);transition:all .4s cubic-bezier(.76,0,.24,1);transform-origin:center}
.hamburger.is-active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.is-active span:nth-child(2){opacity:0;width:0}
.hamburger.is-active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ============================================================
   NAV MENU (PC)
   ============================================================ */
.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.15);z-index:1040;opacity:0;pointer-events:none;transition:opacity .4s}
.nav-overlay.is-active{opacity:1;pointer-events:all}
#nav-menu{position:fixed;top:0;right:-340px;width:300px;height:100vh;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);z-index:1050;display:flex;flex-direction:column;justify-content:center;padding:80px 48px;transition:right .55s cubic-bezier(.76,0,.24,1)}
#nav-menu.is-open{right:0}
.nav-logo{display:block;margin-bottom:32px;padding-left:0}
.nav-logo img{width:220px;height:auto}
#nav-menu ul{display:flex;flex-direction:column;gap:26px;padding-left:20px}
#nav-menu ul li a{font-family:var(--font-go);font-size:14px;font-weight:300;letter-spacing:.15em;color:var(--c-tx);transition:color .3s;display:block}
#nav-menu ul li a:hover{color:var(--c-ac)}
.nav-sns{margin-top:40px;padding-left:20px}
.nav-sns a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--c-bd);border-radius:50%;color:var(--c-sub);transition:color .3s,border-color .3s}
.nav-sns a:hover{color:var(--c-ac);border-color:var(--c-ac)}

/* ============================================================
   MAIN WRAPPER (PC)
   ============================================================ */
#main-wrapper{
  position:relative;
  width:100%;
  margin:0 auto;
  overflow:visible;
}
#hero,#about,#publications,#topics,#magazine,#sns,#contact{
  position:relative;
  z-index:1;
}
.illust-wrap{position:absolute;inset:0;pointer-events:none;z-index:0}
[class^="illust-"] img{
  height:auto;
  display:block;
}

/* ============================================================
   HERO (PC)
   ============================================================ */
#hero{
  position:relative;
  width:100%;
  height:914px;
  background-color:#fff;
  background-image:
    linear-gradient(var(--c-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--c-grid) 1px,transparent 1px);
  background-size:50px 50px;
  overflow:visible;
  z-index:1;
}
.hero-inner{
  position:relative;
  width:1280px;
  height:914px;
  margin:0 auto;
}
.hero-logo{
  position:absolute;
  left:70px;
  top:130px;
  width:190%;
  z-index:10;
}
.hero-logo img{
  width:360px;
  height:auto;
}
.hero-nav{
  position:absolute;
  left:103px;
  top:332px;
  display:flex;flex-direction:column;gap:16px;
  z-index:10;
}
.hero-nav a{
  font-family:var(--font-go);
  font-size:16px;font-weight:500;
  letter-spacing:.12em;color:var(--c-tx);
  white-space:nowrap;line-height:1;
  transition:color .3s;display:block;
}
.hero-nav a:hover{color:var(--c-ac)}
.hero-map{
  position:absolute;
  left:37px;top:0;
  width:1010px;
  z-index:2;
}
.hero-map img{width:1010px;height:auto}
.hero-catch-1{
  position:absolute;left:1147px;top:234px;
  writing-mode:vertical-rl;text-orientation:mixed;
  font-family:var(--font-mi);font-size:22px;font-weight:400;
  letter-spacing:.1em;line-height:1.2;color:var(--c-tx);z-index:10;
}
.hero-catch-2{
  position:absolute;left:1099px;top:234px;
  writing-mode:vertical-rl;text-orientation:mixed;
  font-family:var(--font-mi);font-size:22px;font-weight:400;
  letter-spacing:.1em;line-height:1.8;color:var(--c-tx);z-index:10;
}
.hero-catch-sub-1{
  position:absolute;left:1053px;top:242px;
  writing-mode:vertical-rl;text-orientation:mixed;
  font-family:var(--font-mi);font-size:13px;font-weight:500;
  letter-spacing:.12em;line-height:1.3;color:var(--c-sub);z-index:10;
}
.hero-catch-sub-2{
  position:absolute;left:1019px;top:242px;
  writing-mode:vertical-rl;text-orientation:mixed;
  font-family:var(--font-mi);font-size:13px;font-weight:500;
  letter-spacing:.12em;line-height:1.3;color:var(--c-sub);z-index:10;
}
.hero-catch-sub-3{
  position:absolute;left:986px;top:241px;
  writing-mode:vertical-rl;text-orientation:mixed;
  font-family:var(--font-mi);font-size:13px;font-weight:500;
  letter-spacing:.12em;line-height:1.3;color:var(--c-sub);z-index:10;
}

/* ============================================================
   #about (PC)
   ============================================================ */
.about-in{max-width:var(--w);margin:0 auto;padding:0 60px;position:relative}
.about-wrap{max-width:660px;margin:0 auto}
.about-title{
  font-family:var(--font-mi);
  font-size:28px;font-weight:500;
  letter-spacing:.35em;
  text-align:center;margin-bottom:8px;
}
.about-title-en{
  font-family:var(--font-en);
  font-size:30px;color:var(--c-sub);
  font-weight:normal;
  text-align:center;margin-bottom:33px;
  display:block;
}
.about-lead{
  font-family:var(--font-mi);
  font-size:23px;font-weight:300;
  letter-spacing:.08em;line-height:2;
  text-align:left;margin-bottom:40px;
}
.about-body{
  font-family:var(--font-go);
  font-size:16px;font-weight:400;
  line-height:2.2;letter-spacing:.03em;
}
.about-body p+p{margin-top:20px}

/* ============================================================
   セクション共通 (PC)
   ============================================================ */
.sec-in{max-width:var(--w);margin:0 auto;padding:0 60px;position:relative}
.sec-head{text-align:center;margin-bottom:120px}
.sec-title-ja{
  font-family:var(--font-mi);
  font-size:28px;font-weight:400;
  letter-spacing:.35em;
  color:var(--c-tx);margin-bottom:6px;line-height:1.4;
}
.sec-title-en{
  font-family:var(--font-en);
  font-size:39px;color:var(--c-sub);
  font-weight:normal;letter-spacing:.02em;line-height:1.4;
}
.btn-more{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mi);
  font-size:13px;letter-spacing:.3em;
  color:var(--c-tx);border:1px solid var(--c-tx);
  padding:10px 28px;background:transparent;
  transition:background .35s,color .35s,transform .3s;white-space:nowrap;
}
.btn-more:hover{background:var(--c-tx);color:#fff;transform:translateX(3px)}
.btn-more-wrap{display:flex;justify-content:flex-end;margin-top:32px}

/* ============================================================
   カード・Swiper (PC)
   ============================================================ */
.swiper{overflow:hidden}
.card{cursor:pointer;transition:transform .4s}
.card:hover{transform:translateY(-5px)}
.card-thumb{overflow:hidden;margin-bottom:12px;background:#e8f2f4;border-radius:8px}
.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .65s;display:block}
.card-vew{
  font-family:var(--font-mi);
  font-size:11px;
  letter-spacing:.25em;
  color:var(--c-tx);
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.card-vew-arrow{display:inline-block;flex-shrink:0;vertical-align:middle;transition:transform .35s}
.card:hover .card-vew-arrow{transform:translateX(6px)}
.pub-swiper .card-thumb{aspect-ratio:3/4;overflow:hidden;margin-bottom:0;border-radius:8px 8px 0 0;background:#f5f5f5}
.pub-swiper .card-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.pub-swiper .swiper-slide{border:1px solid var(--c-bd);border-radius:8px;overflow:hidden}
.pub-swiper .card-title{padding:12px 14px 4px}
.pub-swiper .card-date{padding:0 14px 14px}
.pub-swiper-wrap{position:relative}
.pub-swiper-nav{display:flex;justify-content:space-between;align-items:center;margin-top:20px}
.pub-swiper-prev,.pub-swiper-next{background:none;border:1px solid var(--c-tx);color:var(--c-tx);width:44px;height:44px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.pub-swiper-prev:hover,.pub-swiper-next:hover{background:var(--c-tx);color:#fff}
.pub-swiper-prev.swiper-button-disabled,.pub-swiper-next.swiper-button-disabled{opacity:0.3;pointer-events:none}
.topics-swiper .card-thumb img{height:260px}
.mag-swiper .card-thumb img{height:260px}
.card:hover .card-thumb img{transform:scale(1.05)}
.card-date{font-family:var(--font-go);font-size:9px;letter-spacing:.15em;color:var(--c-sub);margin-bottom:6px;line-height:1}
.card-story{font-family:var(--font-go);font-size:10px;letter-spacing:.25em;color:var(--c-sub);margin-bottom:8px;text-align:center}
.card-title{font-family:var(--font-mi);font-size:20px;font-weight:500;letter-spacing:.08em;line-height:1.8}
.card-subtitle{font-family:var(--font-go);font-size:13px;letter-spacing:.25em;color:var(--c-sub);margin-top:4px}
.card-excerpt{font-family:var(--font-go);font-size:12px;font-weight:300;line-height:1.8;letter-spacing:.05em;color:var(--c-sub);margin-top:6px}

/* PCカード内 文字色統一（タイトル・日付・抜粋・VEW MORE） */
.card-title,
.card-date,
.card-excerpt,
.card-vew{color:#000}

/* ============================================================
   各セクション背景・高さ (PC, PDF実測)
   ============================================================ */
#hero{width:100%;height:914px;position:relative;overflow:visible}
#about{width:100%;height:1220px;position:relative;overflow:visible;background:rgba(85,70,54,0.06)}
#publications{width:100%;height:1100px;position:relative;overflow:visible;background:var(--c-bg)}
#topics{width:100%;height:1050px;position:relative;overflow:visible;background:rgba(229,247,247,0.75)}
#magazine{width:100%;height:1080px;position:relative;overflow:visible;background:var(--c-bg)}
#sns{width:100%;height:auto;position:relative;overflow:visible;background:var(--c-bg)}
#contact{width:100%;height:1240px;position:relative;overflow:visible;background:var(--c-bg-be)}
#about,#publications,#topics,#magazine,#sns,#contact{width:100%;}

/* セクション内コンテンツのパディング */
#about .about-in{padding-top:150px;padding-bottom:100px}
#publications .sec-in{padding-top:160px;padding-bottom:160px}
#topics .sec-in{padding-top:114px;padding-bottom:80px}
#magazine .sec-in{padding-top:140px;padding-bottom:80px}
#sns .sec-in{padding-top:120px;padding-bottom:80px}
#contact .contact-in{padding-top:100px;padding-bottom:100px}

/* ============================================================
   #sns (PC, 4列×3行)
   ============================================================ */
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:40px}
.ig-grid a{display:block;aspect-ratio:1;overflow:hidden;background:#e8f2f4;border-radius:8px}
.ig-grid a img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ig-grid a:hover img{transform:scale(1.06)}
.sns-account{text-align:center;margin-top:16px;font-family:var(--font-go);font-size:12px;letter-spacing:.25em;color:var(--c-sub)}

/* ============================================================
   #contact フォーム (PC)
   ============================================================ */
.contact-in{max-width:600px;margin:0 auto;padding:0 60px;position:relative;z-index:10;pointer-events:auto}
.contact-lead{text-align:center;font-family:var(--font-go);font-size:12px;font-weight:500;line-height:2.2;letter-spacing:.03em;margin-bottom:52px}
.contact-form{display:flex;flex-direction:column;gap:28px}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-label{font-family:var(--font-go);font-size:15px;font-weight:300;letter-spacing:.15em;color:var(--c-tx)}
.form-label .req{color:var(--c-ac);margin-left:4px;font-size:10px}
.form-input,.form-select,.form-textarea{width:100%;border:1px solid #ccc;background:#fff;padding:10px 12px;font-family:var(--font-go);font-size:14px;font-weight:300;color:var(--c-tx);outline:none;transition:border-color .3s;letter-spacing:.03em;border-radius:0;-webkit-appearance:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--c-ac)}
.form-textarea{resize:vertical;min-height:110px;line-height:1.8}
.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;padding-right:20px}
.form-radio-group{display:flex;flex-direction:column;gap:10px}
.form-radio{display:flex;align-items:center;gap:10px;font-family:var(--font-go);font-size:13px;font-weight:300;letter-spacing:.03em;color:var(--c-tx);cursor:pointer}
.form-radio input[type="radio"]{width:14px;height:14px;accent-color:var(--c-ac);cursor:pointer;flex-shrink:0}
.form-group--radio{flex-direction:row;align-items:flex-start;gap:24px}
.form-group--radio .form-label{flex-shrink:0;padding-top:2px}
.form-privacy{display:flex;align-items:center;gap:10px;font-family:var(--font-go);font-size:11px;letter-spacing:.03em;cursor:pointer}
.form-privacy input[type="checkbox"]{width:14px;height:14px;accent-color:var(--c-ac);cursor:pointer}
.form-privacy a{color:var(--c-ac);text-decoration:underline;text-underline-offset:2px}
.form-submit{text-align:center;margin-top:8px}
.btn-submit{display:inline-block;font-family:var(--font-mi);font-size:11px;letter-spacing:.4em;color:var(--c-tx);border:1px solid var(--c-tx);padding:14px 60px;background:transparent;cursor:pointer;transition:background .35s,color .35s}
.btn-submit:hover{background:var(--c-tx);color:#fff}
#form-error{color:#b33;font-size:11px;letter-spacing:.03em;text-align:center}

/* ============================================================
   FOOTER (PC)
   ============================================================ */
#site-footer{background:var(--c-bg);padding:52px 0 36px;border-top:0px solid var(--c-bd)}
.footer-in{max-width:var(--w);margin:0 auto;padding:0 60px;display:flex;flex-direction:column;align-items:center;gap:24px}
.footer-logo img{height:72px;width:auto}
.footer-sns{display:flex;gap:16px}
.footer-sns a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--c-bd);border-radius:50%;color:var(--c-sub);transition:color .3s,border-color .3s}
.footer-sns a:hover{color:var(--c-ac);border-color:var(--c-ac)}
.footer-nav ul{display:flex;align-items:center}
.footer-nav ul li{display:flex;align-items:center}
.footer-nav ul li+li::before{content:'｜';color:var(--c-bd);margin:0 14px;font-size:11px}
.footer-nav ul li a{font-family:var(--font-go);font-size:13px;letter-spacing:.15em;color:var(--c-tx);transition:color .3s}
.footer-nav ul li a:hover{color:var(--c-tx)}
.footer-copy{font-family:var(--font-go);font-size:10px;letter-spacing:.15em;color:var(--c-lt)}

/* ============================================================
   スライドイン (PC)
   ============================================================ */
.si{opacity:0;transform:translateY(28px);transition:opacity .75s,transform .75s}
.si.on{opacity:1;transform:translateY(0)}
.si-l{opacity:0;transform:translateX(-28px);transition:opacity .75s,transform .75s}
.si-l.on{opacity:1;transform:translateX(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}

/* ============================================================
   アーカイブ (PC)
   ============================================================ */
.arc-page{padding-top:var(--hh)}
.arc-head{position:relative;max-width:var(--w);margin:0 auto;padding:72px 60px 60px}
.arc-title-en{font-family:var(--font-en);font-size:48px;font-weight:normal;color:var(--c-tx);line-height:1.1}
.arc-chara{position:absolute;right:60px;top:0%;pointer-events:none}
.arc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:52px 40px;max-width:var(--w);margin:0 auto;padding:0 60px 72px}
.pagination{display:flex;align-items:center;justify-content:center;gap:4px;padding:32px 0 72px}
.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;font-size:12px;color:var(--c-tx);border:1px solid transparent;transition:border-color .3s}
.pagination .current{font-weight:700;border-color:var(--c-tx)}
.pagination a:hover{border-color:var(--c-tx)}
.pagination .prev,.pagination .next{border:1px solid var(--c-tx)}
.pub-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:var(--w);margin:0 auto;padding:0 60px 72px}
.pub-grid a{display:block;overflow:hidden}
.pub-grid a img{width:100%;height:320px;object-fit:cover;transition:transform .5s;border-radius:0px}
.pub-grid a:hover img{transform:scale(1.04)}

/* ============================================================
   Single (PC)
   ============================================================ */
.single-post{padding-top:var(--hh)}
.s-head{max-width:820px;margin:0 auto;padding:64px 60px 48px;border-bottom:0px solid var(--c-bd)}
.s-cat{font-family:var(--font-go);font-size:11px;letter-spacing:.25em;color:var(--c-sub);margin-bottom:6px}
.s-cat-en{font-family:var(--font-en);font-size:20px;color:var(--c-sub);font-weight:normal;display:block;margin-top:2px}
.s-story{font-family:var(--font-go);font-size:11px;letter-spacing:.25em;color:var(--c-sub);margin-bottom:10px}
.s-title{font-family:var(--font-mi);font-size:32px;font-weight:300;letter-spacing:.08em;line-height:1.8;margin-bottom:14px}
.s-date{font-family:var(--font-go);font-size:11px;letter-spacing:.15em;color:var(--c-sub);margin-bottom:4px}
.s-sub{font-family:var(--font-go);font-size:12px;letter-spacing:.4em;color:var(--c-sub)}
.s-lead{font-family:var(--font-mi);font-size:14px;font-weight:300;line-height:2.0;letter-spacing:.05em;color:var(--c-sub);margin-top:16px}
.s-mv{max-width:820px;margin:0 auto;padding:0 60px 52px}
.s-mv img{width:100%;height:460px;object-fit:cover;border-radius:8px}
.s-body{max-width:820px;margin:0 auto;padding:0 60px;overflow-wrap:break-word;word-break:break-all}
.s-body h2{font-family:var(--font-mi)!important;font-size:20px!important;font-weight:300!important;letter-spacing:.08em!important;line-height:1.8!important;margin:56px 0 18px!important;padding-bottom:10px!important;border-bottom:1px solid var(--c-bd)!important}
.s-body h3{font-family:var(--font-mi)!important;font-size:17px!important;font-weight:300!important;letter-spacing:.08em!important;line-height:1.8!important;margin:40px 0 14px!important}
.s-body h4{font-family:var(--font-mi)!important;font-size:15px!important;font-weight:400!important;letter-spacing:.08em!important;line-height:1.8!important;margin:32px 0 12px!important}
.s-body p{font-family:var(--font-go)!important;font-size:13px!important;font-weight:300!important;line-height:2.6!important;letter-spacing:.03em!important;margin-bottom:18px!important}
.s-body ul,.s-body ol{font-family:var(--font-go)!important;font-size:13px!important;font-weight:300!important;line-height:2.6!important;letter-spacing:.03em!important;margin:0 0 18px 24px!important}
.s-body li{font-family:var(--font-go)!important;font-size:13px!important;font-weight:300!important;line-height:2.6!important;letter-spacing:.03em!important;margin-bottom:4px!important}
.s-body a{color:var(--c-ac)!important;text-decoration:underline!important;text-underline-offset:3px!important}
.s-body strong,.s-body b{font-weight:700!important}
.s-body em{font-style:italic!important}
.s-body blockquote{border-left:3px solid var(--c-bd)!important;padding:12px 20px!important;margin:24px 0!important;font-family:var(--font-mi)!important;font-size:13px!important;color:var(--c-sub)!important;line-height:2.2!important}
.s-body img{width:100%!important;height:340px!important;object-fit:cover!important;margin:36px 0!important}
.s-body pre{font-family:var(--font-go)!important;font-size:13px!important;font-weight:300!important;line-height:2.6!important;letter-spacing:.03em!important;margin-bottom:18px!important;white-space:pre-wrap!important;overflow-wrap:break-word!important;word-break:break-all!important}
.s-body figure{margin:36px 0!important}
.s-body figure img{height:auto!important;margin:0!important}
.s-body figcaption{font-family:var(--font-go)!important;font-size:11px!important;color:var(--c-sub)!important;letter-spacing:.03em!important;margin-top:8px!important;text-align:center!important}
.s-body table{width:100%!important;border-collapse:collapse!important;font-family:var(--font-go)!important;font-size:13px!important;font-weight:300!important;line-height:2.2!important;letter-spacing:.03em!important;margin-bottom:24px!important}
.s-body table th{font-weight:400!important;padding:10px 14px!important;border-bottom:1px solid var(--c-bd)!important;text-align:left!important;color:var(--c-sub)!important}
.s-body table td{padding:10px 14px!important;border-bottom:1px solid var(--c-bd)!important}
.s-body hr{border:none!important;border-top:1px solid var(--c-bd)!important;margin:40px 0!important}
/* WPブロックエディタ出力クラスの強制上書き */
.s-body *{font-family:var(--font-go);line-height:2.6;letter-spacing:.03em;font-size:13px;font-weight:300}
.spot-info{border:1px solid var(--c-bd);padding:28px 36px;margin:52px 0;font-family:var(--font-go);font-size:12px;line-height:2.2;letter-spacing:.03em}
.spot-info-name{font-family:var(--font-mi);font-size:15px;font-weight:400;letter-spacing:.08em;margin-bottom:14px}
.spot-info a{color:var(--c-ac)}
.check-it{text-align:center;padding:72px 60px;border-top:0px solid var(--c-bd);margin-top:72px}
.check-it-chara{width:110px;margin:0 auto 20px}
.check-it-text{font-family:var(--font-go);font-size:12px;letter-spacing:.03em;line-height:2.2;color:var(--c-sub);margin-bottom:28px}
.check-it-btns{display:flex;justify-content:center;gap:16px}

/* ============================================================
   固定ページ (PC)
   ============================================================ */
.page-head{padding:calc(var(--hh) + 72px) 60px 52px;text-align:center}
.page-title-ja{font-family:var(--font-mi);font-size:26px;font-weight:300;letter-spacing:.4em;margin-bottom:6px}
.page-title-en{font-family:var(--font-en);font-size:20px;color:var(--c-sub);font-weight:normal}
.page-body{max-width:900px;margin:0 auto;padding:0 60px 80px}
.page-body h2{font-family:var(--font-mi);font-size:18px;font-weight:300;letter-spacing:.15em;margin:48px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--c-bd)}
.page-body p{font-family:var(--font-go);font-size:13px;font-weight:300;line-height:2.6;letter-spacing:.03em;margin-bottom:16px}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 72px;max-width:1100px;margin:0 auto;padding:0 60px 72px}
.loc-area-title{font-family:var(--font-mi);font-size:15px;font-weight:400;letter-spacing:.15em;color:var(--c-ac);border-bottom:1px solid var(--c-ac);padding-bottom:7px;margin-bottom:14px}
.loc-list{font-family:var(--font-go);font-size:12px;line-height:2.2;letter-spacing:.03em}
.loc-total{text-align:right;font-family:var(--font-go);font-size:11px;letter-spacing:.15em;color:var(--c-sub);max-width:1100px;margin:0 auto;padding:0 60px 16px}
.loc-illust-left{position:absolute;left:60px;top:60px;pointer-events:none}
.loc-illust-right{position:absolute;right:60px;top:60px;pointer-events:none}
.thanks-area{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 60px;gap:28px}
.thanks-title{font-family:var(--font-mi);font-size:20px;font-weight:300;letter-spacing:.25em}
.thanks-text{font-family:var(--font-go);font-size:13px;font-weight:300;line-height:2.2;letter-spacing:.03em;color:var(--c-sub)}

/* ============================================================
   ヒーロー以外のイラスト配置（PC, セクション基準）
   ============================================================ */

/* #about */
/* 山（右下）*/
.illust-about-mountain{
  position:absolute;
  left:60vw;
  top:65vh;
  width:251px;
  z-index:100;
  pointer-events:none;
}
/* 鳥（左下）*/
.illust-about-bird{
  position:absolute;
  left:30%;
  top:-8vh;
  width:159px;
  z-index:100;
  pointer-events:none;
}

/* #publications */
/* 女性キャラ（右上）*/
.illust-pub-chara{
  position:absolute;
  left:60%;
  top:70px;
  width:190px;
  z-index:100;
  pointer-events:none;
}

/* #magazine */
/* 自転車（左） ※コメント意図的：クラス名と逆・画像はchara-bicycle.png */
.illust-mag-walk{
  position:absolute;
  left:20%;
  top:-50px;
  width:400px;
  z-index:100;
  pointer-events:none;
}
/* 歩く男性（右） ※コメント意図的：クラス名と逆・画像はchara-walk-01.png */
.illust-mag-bicycle{
  position:absolute;
  left:65%;
  top:-70px;
  width:196px;
  z-index:100;
  pointer-events:none;
}

/* #contact */
/* 鳥（左上）*/
.illust-contact-bird{
  position:absolute;
  left:30%;
  top:-80px;
  width:200px;
  z-index:100;
  pointer-events:none;
}

/* PC状態の改行・表示切替（初期=PC） */
.sp-br{display:none}
.pc-br{display:block}
.sp-only{display:none}
.pc-only{display:block}

/* SP専用イラスト：PC時は非表示 */
.sp-illust-about-humans,
.sp-illust-topics,
.sp-illust-mag-bicycle2,
.sp-illust-mag-run2,
.sp-hero-img { display:none }

/* ============================================================
   運営会社ページ (PC)
   ============================================================ */
.co-main{font-family:var(--font-mi);color:var(--c-tx);background:var(--c-bg);line-height:2.3;letter-spacing:0.05em;-webkit-font-smoothing:antialiased;}
.co-main p,
.co-main .service-grid > div,
.co-main .er-th,
.co-main .er-td{font-family:var(--font-go);font-weight:500;color:#000;}
.co-container{max-width:900px;margin:0 auto;padding:0 40px;box-sizing:border-box;}
.co-head-sub{font-size:32px;letter-spacing:0.2em;border-bottom:1.5px solid var(--c-tx);display:inline-block;line-height:1.2;margin-bottom:60px;}
.co-hero-text{font-size:20px;}
.concept-wrap{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:64px;}
.v-group{display:flex;align-items:flex-start;gap:40px;}
.v-line{writing-mode:vertical-rl;font-size:38px;letter-spacing:0.4em;line-height:1;padding-right:15px;border-right:1px solid var(--c-tx);white-space:nowrap;}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 40px;margin-top:40px;font-size:14px;}
.er-row{display:flex;padding:22px 0 12px;align-items:flex-start;}
.er-th{width:140px;font-weight:normal;font-size:14px;flex-shrink:0;text-align:left;}
.er-td{font-size:14px;line-height:1.8;}
.bg-gray{background-color:var(--c-bg-be);width:100%;}
.bg-white{background-color:var(--c-bg);width:100%;}

/* ============================================================
   広告掲載ページ (PC)
   ============================================================ */
.adv-main{padding-top:var(--hh)}
.adv-hero{position:relative;text-align:center;padding:140px 60px 120px}
.adv-hero-inner{position:relative;max-width:900px;margin:0 auto}
.adv-hero-bird{position:absolute;left:-5%;top:-100%;pointer-events:none}
.adv-hero-bird img{width:180px!important;height:auto!important}
.adv-hero-title{font-family:var(--font-mi);font-size:28px;font-weight:300;letter-spacing:.35em;margin-bottom:12px}
.adv-hero-tag{font-family:var(--font-mi);font-size:20px;letter-spacing:.15em;color:var(--c-tx);line-height:2}
.adv-hero-illust{position:absolute;right:0;top:160px;pointer-events:none}
.adv-hero-illust img{width:260px!important;height:auto!important}
.adv-section{padding:60px 0}
.adv-section--rel{position:relative}
.adv-inner{max-width:900px;margin:0 auto;padding:0 60px;position:relative}
.adv-catch{padding:80px 0}
.adv-catch-text{font-family:var(--font-mi);font-size:26px;font-weight:300;letter-spacing:.08em;line-height:2;text-align:center;max-width:900px;margin:0 auto;padding:0 60px}
.adv-section-title{font-family:var(--font-mi);font-size:25px;font-weight:500;letter-spacing:.25em;margin-bottom:32px;width:fit-content;padding-bottom:8px;border-bottom:1px solid var(--c-tx)}
.adv-body{font-family:var(--font-go);font-size:13px;font-weight:300;line-height:2.6;letter-spacing:.03em;margin-bottom:16px}
.adv-strength-list{list-style:none;display:flex;flex-direction:column;gap:40px;margin-top:8px}
.adv-strength-label{font-family:var(--font-go);font-size:15px;font-weight:400;letter-spacing:.15em;color:var(--c-tx);margin-bottom:12px;width:fit-content;padding-bottom:4px;border-bottom:1px solid var(--c-tx)}
.adv-illust-pink{position:absolute;right:0;bottom:-15%;pointer-events:none;z-index:10}
.adv-illust-pink img{width:190px!important;height:auto!important}
.adv-illust-bicycle{position:absolute;left:-10%;bottom:-5%;pointer-events:none;transform:scaleX(-1)}
.adv-illust-bicycle img{width:130px!important;height:auto!important}
.adv-data{width:100%;border-collapse:collapse;font-family:var(--font-go);font-size:13px;font-weight:300;line-height:2.2;letter-spacing:.03em;margin-bottom:24px}
.adv-data th{width:180px;text-align:left;font-weight:300;padding:14px 0;border-bottom:1px solid var(--c-bd);vertical-align:top;color:var(--c-sub)}
.adv-data td{padding:14px 0 14px 24px;border-bottom:1px solid var(--c-bd);vertical-align:top}
.adv-list-data{margin-bottom:24px}
.adv-row{display:flex;align-items:flex-start;padding:20px 0}
.adv-th{width:160px;flex-shrink:0;font-family:var(--font-go);font-size:var(--sp-adv-intro);font-weight:500;color:var(--c-tx);letter-spacing:.03em}
.adv-td{font-family:var(--font-go);font-size:var(--sp-adv-intro);font-weight:500;color:var(--c-tx);line-height:2;letter-spacing:.03em}
.adv-note{color:var(--c-sub);font-size:11px}
.adv-note-block{font-family:var(--font-go);font-size:15px;font-weight:500;color:var(--c-tx);line-height:2;letter-spacing:.03em;margin-top:16px}
.adv-map-wrap{display:flex;align-items:flex-end;gap:40px;margin:32px 0}
.adv-map{width:90%;max-width:600px}
.adv-map img{width:100%;height:auto}
.adv-btn-wrap{margin-top:40px;display:flex;justify-content:flex-end}
.adv-intro{background:var(--c-bg-gr)}
.adv-intro-text{font-family:var(--font-go);font-size:var(--sp-adv-intro,15px);font-weight:500;line-height:2.6;letter-spacing:.03em;margin-bottom:16px}
.adv-catch-title{font-family:var(--font-mi);font-size:33px;font-weight:500;letter-spacing:0;line-height:2;margin-bottom:85px}
.adv-data-footer{display:flex;flex-direction:column;gap:24px;margin-top:32px}
.adv-note-wrap{display:flex;align-items:flex-start;gap:40px}
.adv-illust-run2{position:absolute;right:0;bottom:-30%;pointer-events:none}
.adv-illust-run2 img{width:140px!important;height:auto!important}

/* Quentinフォント指定要素 文字色統一（真っ黒） */
.about-title-en,
.sec-title-en,
.arc-title-en,
.s-cat-en,
.page-title-en{color:#000}

/* ============================================================
   メディアクエリ（1280px以下）レイアウト調整
   ============================================================ */
@media (max-width:1280px){
  #main-wrapper{width:100%;padding-top:0}
  .illust-birds{left:75%;top:4.7%}
  .illust-chara-pink{left:22%;top:19.6%}
  .illust-chara-run{left:65%;top:24.4%}
  .illust-bicycle{left:4.8%;top:54.7%}
  .illust-couple{left:68%;top:46.9%}
  .illust-mountain{left:64.5%}
  .illust-bird-about{left:13%}
  .illust-chara-pub{left:74.3%}
  .illust-chara-topics{left:79.4%}
  .illust-chara-mag{left:10.5%}
  .illust-bird-contact{left:19.4%}
}

/* ============================================================
   ============================================================
   PC 全指定 ここまで
   ============================================================
   ============================================================ */


/* ============================================================
   ============================================================
   SP 全指定 ここから @media (max-width:768px)
   ============================================================
   ============================================================ */
@media (max-width:768px){

  /* ----------------------------------------
     Variables (SP)
     タイポスケール (base 13px / 1.2倍刻み / iPhone 17(402px)基準)
     全て clamp(下限px, 中央vw, 上限px) で流動化
  ---------------------------------------- */
  :root{
    /* レイアウト */
    --hh: 60px;
    --sp-pad: 5vw;

    /* タイポスケール 7段階（主要見出しは --sp-section で保護） */
    --sp-xs:        clamp(10px,   2.736vw, 12px);    /* 11px 注釈・会社概要・広告本文 */
    --sp-sm:        clamp(11.5px, 3.234vw, 14.5px);  /* 13px 本文基準 */
    --sp-md:        clamp(14px,   3.856vw, 17px);    /* 15.5px 本文強調・小見出し */
    --sp-lg:        clamp(16px,   4.602vw, 20.5px);  /* 18.5px 見出し3・固定ページ */
    --sp-section:   clamp(17px,   4.975vw, 22px);    /* 20px ★保護枠:セクション主要見出し */
    --sp-xl:        clamp(19px,   5.473vw, 24.5px);  /* 22px 記事タイトル・広告ヒーロー */

    /* 縦書き専用 */
    --sp-vertical:  clamp(18px,   5.224vw, 23px);    /* 21px */

    /* 英文装飾（Quentin）用 */
    --sp-en-sm:     clamp(14px,   3.980vw, 18px);    /* 16px */
    --sp-en-md:     clamp(20px,   5.970vw, 26.5px);  /* 24px */
    --sp-en-xl:     clamp(27px,   7.960vw, 35px);    /* 32px */

    /* マージンスケール（要素間余白、iPhone 17(402px)基準） */
    --sp-gap-md:    clamp(36px,  11.940vw, 60px);   /* 48px 見出し・本文間 */
  }

  /* ----------------------------------------
     フォントサイズ統一（--sp-* 変数で一元管理）
  ---------------------------------------- */
  .sec-title-ja{font-size:var(--sp-section)}
  .sec-title-en{font-size:var(--sp-en-md)}
  .about-title{font-size:var(--sp-section)}
  .about-title-en{font-size:var(--sp-en-md)}
  .about-lead{font-size:var(--sp-lg)}
  .about-body{font-size:var(--sp-sm)}
  .s-title{font-size:var(--sp-xl)}
  .s-cat-en{font-size:var(--sp-en-sm)}
  .co-head-sub{font-size:var(--sp-section)!important;margin-bottom:36px}
  .arc-title-en{font-size:var(--sp-en-xl)}
  .page-title-ja{font-size:var(--sp-lg)}
  .card-title{font-size:var(--sp-md)}
  .adv-hero-title{font-size:var(--sp-xl)}
  .adv-hero-tag{font-size:var(--sp-sm)}
  .adv-catch-text{font-size:var(--sp-lg)}

  /* SP h1 統一(広告・運営会社・設置箇所) */
  .adv-hero-title,
  .page-title-ja,
  .co-sec-hero h1{font-size:20px!important;font-weight:400!important;color:#000!important}
  .adv-section-title{font-size:var(--sp-md)!important}
  .adv-data th{font-size:var(--sp-sm)}
  .adv-data td{font-size:var(--sp-sm)}

  /* ----------------------------------------
     SP本文 weight 統一（文章<p>系）
     PC指定の font-weight を上書き
  ---------------------------------------- */
  .adv-intro-text,
  .adv-body,
  .adv-hero-tag,
  .adv-note-block,
  .about-body,
  .about-body p,
  .about-lead,
  .contact-lead,
  .page-body p,
  .thanks-text,
  .check-it-text,
  .co-main p{font-weight:400}

  /* ----------------------------------------
     SPカード内 文字色統一（タイトル・日付・抜粋・VEW MORE）
  ---------------------------------------- */
  .card-title,
  .card-date,
  .card-excerpt,
  .card-vew{color:#000}

  /* ----------------------------------------
     表示切替（SP）
  ---------------------------------------- */
  .sp-br{display:block}
  .pc-br{display:none}
  .sp-only{display:block}
  .pc-only{display:none}

  /* ----------------------------------------
     Header (SP)
  ---------------------------------------- */
  #site-header{padding:0 24px;justify-content:flex-end;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  #site-header.scrolled{justify-content:flex-end;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .header-logo{display:none}
  .hamburger{background:#fff;border:1px solid var(--c-bd);border-radius:4px}

  /* SP枠：ヘッダー（値を入れたいときコメント解除） */
  /*
  #site-header{ position:; top:; left:; width:; height:; z-index:; transition:; }
  .header-logo{ }
  .header-logo a{ display:; line-height:; }
  .header-logo img{ height:; width:; }
  .hamburger{ width:; height:; display:; flex-direction:; justify-content:; align-items:; gap:; cursor:; padding:; z-index:; }
  .hamburger span{ display:; width:; height:; background:; transition:; transform-origin:; }
  .hamburger.is-active span:nth-child(1){ transform:; }
  .hamburger.is-active span:nth-child(2){ opacity:; width:; }
  .hamburger.is-active span:nth-child(3){ transform:; }
  */

  /* ----------------------------------------
     Nav (SP)
  ---------------------------------------- */
  #nav-menu{width:100%;right:-100%}
  .nav-logo{display:block;margin-bottom:32px;padding-left:0}
  .nav-logo img{width:160px;height:auto}

  /* SP枠：ナビ（値を入れたいときコメント解除） */
  /*
  .nav-overlay{ background:; z-index:; opacity:; pointer-events:; transition:; }
  .nav-overlay.is-active{ opacity:; pointer-events:; }
  #nav-menu{ position:; top:; height:; background:; backdrop-filter:; z-index:; display:; flex-direction:; justify-content:; padding:; transition:; }
  #nav-menu.is-open{ right:; }
  #nav-menu ul{ display:; flex-direction:; gap:; padding-left:; }
  #nav-menu ul li a{ font-family:; font-size:; font-weight:; letter-spacing:; color:; transition:; display:; }
  #nav-menu ul li a:hover{ color:; }
  .nav-sns{ margin-top:; padding-left:; }
  .nav-sns a{ display:; align-items:; justify-content:; width:; height:; border:; border-radius:; color:; transition:; }
  .nav-sns a:hover{ color:; border-color:; }
  */

  /* ----------------------------------------
     ヒーロー (SP)
  ---------------------------------------- */
  #hero{height:auto;min-height:auto;padding:0}
  .hero-inner{width:100%;height:auto;position:relative;padding:0}
  .hero-logo{display:none}
  .hero-map{display:none}
  .hero-nav{display:none}
  .hero-catch-1,.hero-catch-2,
  .hero-catch-sub-1,.hero-catch-sub-2,.hero-catch-sub-3{display:none}

  /* ヒーロー内インラインstyleイラスト：全て非表示 */
  .hero-inner > div[style*="left:960px"]{display:none}  /* 鳥 */
  .hero-inner > div[style*="left:281px"]{display:none}  /* ピンク女性 */
  .hero-inner > div[style*="left:832px"]{display:none}  /* 走るキャラ */
  .hero-inner > div[style*="left:61px"] {display:none}  /* 自転車 */
  .hero-inner > div[style*="left:871px"]{display:none}  /* カップル */
  .sp-hero-img{display:block;width:100%;margin-top:0}
  .sp-hero-img img{width:100%;height:auto;display:block}
  .pub-swiper-nav{display:none}

  /* ----------------------------------------
     セクション共通 (SP)
  ---------------------------------------- */
  #about,#publications,#topics,#magazine,#sns,#contact{height:auto;overflow:hidden}
  .illust-wrap{position:static}
  .sec-in{padding:0 var(--sp-pad)}
  .sec-head{margin-bottom:40px}
  .btn-more-wrap{margin-top:40px}
  .btn-more{font-size:10px!important;padding:7px 16px!important;letter-spacing:.2em!important}
  #about .about-in      {padding-top:clamp(75px, 24.876vw, 125px);padding-bottom:52px;padding-left:var(--sp-pad);padding-right:var(--sp-pad)}
  #publications .sec-in {padding-top:52px;padding-bottom:52px}
  #topics .sec-in       {padding-top:52px;padding-bottom:52px}
  #magazine .sec-in     {padding-top:52px;padding-bottom:52px}
  #sns .sec-in          {padding-top:52px;padding-bottom:52px}
  #contact .contact-in{padding-top:52px;padding-bottom:120px}

  /* SP枠：セクション共通（値を入れたいときコメント解除） */
  /*
  .sec-in{ max-width:; margin:; position:; }
  .sec-head{ text-align:; }
  .sec-title-ja{ font-family:; font-size:; font-weight:; letter-spacing:; color:; margin-bottom:; line-height:; }
  .sec-title-en{ font-family:; font-size:; color:; font-weight:; letter-spacing:; line-height:; }
  .btn-more{ display:; align-items:; gap:; font-family:; color:; border:; background:; transition:; white-space:; }
  .btn-more:hover{ background:; color:; transform:; }
  .btn-more-wrap{ display:; justify-content:; }
  */

  /* ----------------------------------------
     aboutセクション (SP)
  ---------------------------------------- */
  .illust-about-mountain{display:none}
  .illust-about-bird{display:none}
  .about-wrap{max-width:100%}

  /* SP枠：#about（値を入れたいときコメント解除） */
  /*
  .about-in{ max-width:; margin:; padding:; position:; }
  .about-title{ font-family:; font-size:; font-weight:; letter-spacing:; text-align:; margin-bottom:; }
  .about-title-en{ font-family:; font-size:; color:; font-weight:; text-align:; margin-bottom:; display:; }
  .about-lead{ font-family:; font-size:; font-weight:; letter-spacing:; line-height:; text-align:; margin-bottom:; }
  .about-body{ font-family:; font-size:; font-weight:; line-height:; letter-spacing:; }
  .about-body p+p{ margin-top:; }
  */

  /* SP用：aboutタイトル右下・2人組（tw-humans.png） */
  .sp-illust-about-humans{
    display:block;
    position:absolute;
    right:3%;        /* ← 調整行 */
    top:33%;         /* ← 調整行 */
    width:100px;     /* ← 調整行 */
    z-index:100;
    pointer-events:none
  }

  /* ----------------------------------------
     publicationsセクション (SP)
  ---------------------------------------- */
  .illust-pub-chara{
    width:90px;    /* ← 調整行 */
    left:0%;       /* ← 調整行 */
    top:30px       /* ← 調整行 */
  }

  /* バックナンバーカルーセル */
  .pub-swiper{padding:0;overflow:hidden;width:100%;max-width:100%}
  .pub-swiper .swiper-wrapper{width:100%}
  .pub-swiper .swiper-slide{box-shadow:0 4px 20px rgba(0,0,0,.10);border-radius:8px;overflow:hidden}
  .pub-swiper .card-thumb{aspect-ratio:3/4}
  .pub-swiper .card-title,.pub-swiper .card-date{padding:0 12px}

  /* SP枠：カード・Swiper共通（値を入れたいときコメント解除） */
  /*
  .swiper{ overflow:; }
  .card{ cursor:; transition:; }
  .card:hover{ transform:; }
  .card-thumb{ overflow:; margin-bottom:; background:; border-radius:; }
  .card-thumb img{ width:; height:; object-fit:; transition:; display:; }
  .card:hover .card-thumb img{ transform:; }
  .card-vew{ font-family:; font-size:; letter-spacing:; color:; margin-top:; display:; }
  .card:hover .card-vew{ text-decoration:; text-underline-offset:; }
  .card-date{ font-family:; font-size:; letter-spacing:; color:; margin-bottom:; line-height:; }
  .card-story{ font-family:; font-size:; letter-spacing:; color:; margin-bottom:; text-align:; }
  .card-title{ font-family:; font-weight:; letter-spacing:; line-height:; }
  .card-subtitle{ font-family:; font-size:; letter-spacing:; color:; margin-top:; }
  .card-excerpt{ font-family:; font-size:; font-weight:; line-height:; color:; margin-top:; }
  .pub-swiper .card-thumb img{ object-fit:; display:; background:; border-radius:; }
  .pub-swiper-prev,.pub-swiper-next{ background:; border:; color:; width:; height:; font-size:; cursor:; align-items:; justify-content:; transition:; }
  .pub-swiper-prev:hover,.pub-swiper-next:hover{ background:; color:; }
  .topics-swiper .card-thumb img{ height:; }
  .mag-swiper .card-thumb img{ height:; }
  */

  /* ----------------------------------------
     topicsセクション (SP)
  ---------------------------------------- */
  /* SP用：青い服の歩く男（chara-walk-01.png）右上 */
  .sp-illust-topics{
    display:block;
    position:absolute;
    right:0vw;             /* ← 調整行 */
    top:0px;               /* ← 調整行 */
    width:130px!important; /* ← 調整行 */
    z-index:10;
    pointer-events:none
  }

  /* ----------------------------------------
     magazineセクション (SP)
  ---------------------------------------- */
  /* PC用イラスト非表示 */
  .illust-mag-walk{display:none}
  .illust-mag-bicycle{display:none}

  /* SP用：自転車の子供（bayseco-chai2.png）タイトル左上 */
  .sp-illust-mag-bicycle2{
    display:block;
    position:absolute;
    left:3%;         /* ← 調整行 */
    top:11px;        /* ← 調整行 */
    width:60px;      /* ← 調整行 */
    z-index:10;
    pointer-events:none
  }

  /* SP用：しましま走る少年（hero-chara-right.png）カード右下 */
  .sp-illust-mag-run2{
    display:block;
    position:absolute;
    right:40%;       /* ← 調整行 */
    bottom:00px;     /* ← 調整行 */
    width:100px;     /* ← 調整行 */
    z-index:10;
    pointer-events:none
  }

  /* ----------------------------------------
     SNSセクション (SP)
  ---------------------------------------- */
  /* 3列×3行=9コマ */
  .ig-grid{grid-template-columns:repeat(3,1fr);gap:3px}

  /* SP枠：#sns（値を入れたいときコメント解除） */
  /*
  .ig-grid{ display:; margin-top:; }
  .ig-grid a{ display:; aspect-ratio:; overflow:; background:; border-radius:; }
  .ig-grid a img{ width:; height:; object-fit:; transition:; }
  .ig-grid a:hover img{ transform:; }
  .sns-account{ text-align:; margin-top:; font-family:; font-size:; letter-spacing:; color:; }
  */

  /* ----------------------------------------
     contactセクション (SP)
  ---------------------------------------- */
  .illust-contact-bird{display:none}
  .contact-in{padding:0 var(--sp-pad)}
  .contact-lead{text-align:left!important}

  /* SP：お問合せ種別は縦並びに戻す */
  .form-group--radio{flex-direction:column;gap:8px}

  /* SP枠：#contact（値を入れたいときコメント解除） */
  /*
  .contact-in{ max-width:; margin:; position:; z-index:; pointer-events:; }
  .contact-lead{ font-family:; font-size:; font-weight:; line-height:; letter-spacing:; margin-bottom:; }
  .contact-form{ display:; flex-direction:; gap:; }
  .form-group{ display:; flex-direction:; gap:; }
  .form-label{ font-family:; font-size:; font-weight:; letter-spacing:; color:; }
  .form-label .req{ color:; margin-left:; font-size:; }
  .form-input,.form-select,.form-textarea{ width:; border:; background:; padding:; font-family:; font-size:; font-weight:; color:; outline:; transition:; letter-spacing:; border-radius:; }
  .form-input:focus,.form-select:focus,.form-textarea:focus{ border-color:; }
  .form-textarea{ resize:; min-height:; line-height:; }
  .form-select{ background-image:; background-repeat:; background-position:; padding-right:; }
  .form-privacy{ display:; align-items:; gap:; font-family:; font-size:; letter-spacing:; cursor:; }
  .form-privacy input[type="checkbox"]{ width:; height:; accent-color:; cursor:; }
  .form-privacy a{ color:; text-decoration:; text-underline-offset:; }
  .form-submit{ text-align:; margin-top:; }
  .btn-submit{ display:; font-family:; font-size:; letter-spacing:; color:; border:; padding:; background:; cursor:; transition:; }
  .btn-submit:hover{ background:; color:; }
  #form-error{ color:; font-size:; letter-spacing:; text-align:; }
  */

  /* ----------------------------------------
     カテゴリーページ (SP)
  ---------------------------------------- */
  .arc-grid{grid-template-columns:1fr;gap:40px;padding:0 var(--sp-pad) 60px}
  .pub-grid{grid-template-columns:repeat(3,1fr);padding:0 var(--sp-pad) 60px;gap:8px}
  .pub-grid a{border:1px solid var(--c-bd)}
  .pub-grid a img{height:auto;object-fit:contain}
  .arc-chara{position:absolute;right:0px;top:0px}
  .arc-chara img{width:150px!important}
  .arc-head > div[style*="right:60px"]{right:16px!important;top:130px!important;font-size:10px!important}

  /* SP枠：アーカイブ（値を入れたいときコメント解除） */
  /*
  .arc-page{ padding-top:; }
  .arc-head{ position:; max-width:; margin:; padding:; }
  .arc-title-en{ font-family:; color:; line-height:; }
  .arc-chara{ pointer-events:; }
  .arc-grid{ display:; max-width:; margin:; }
  .pagination{ display:; align-items:; justify-content:; gap:; padding:; }
  .pagination a,.pagination span{ display:; align-items:; justify-content:; width:; height:; font-size:; color:; border:; transition:; }
  .pagination .current{ font-weight:; border-color:; }
  .pagination a:hover{ border-color:; }
  .pagination .prev,.pagination .next{ border:; }
  .pub-grid{ display:; max-width:; margin:; }
  .pub-grid a{ display:; overflow:; }
  .pub-grid a img{ width:; transition:; border-radius:; }
  .pub-grid a:hover img{ transform:; }
  */

  /* ----------------------------------------
     シングル記事 (SP)
  ---------------------------------------- */
  .s-head{padding:48px var(--sp-pad) 32px}
  .s-mv{padding:0 var(--sp-pad) 40px}
  .s-mv img{height:200px}
  .s-body{padding:0 var(--sp-pad)}
  .check-it-btns{flex-direction:column;align-items:center;gap:12px}
  .check-it-btns .btn-more{width:240px;text-align:center;justify-content:center}

  /* SP枠：シングル記事（値を入れたいときコメント解除、必要に応じ !important を付ける） */
  /*
  .single-post{ padding-top:; }
  .s-head{ max-width:; margin:; border-bottom:; }
  .s-cat{ font-family:; font-size:; letter-spacing:; color:; margin-bottom:; }
  .s-cat-en{ font-family:; color:; font-weight:; display:; margin-top:; }
  .s-story{ font-family:; font-size:; letter-spacing:; color:; margin-bottom:; }
  .s-title{ font-family:; font-weight:; letter-spacing:; line-height:; margin-bottom:; }
  .s-date{ font-family:; font-size:; letter-spacing:; color:; margin-bottom:; }
  .s-sub{ font-family:; font-size:; letter-spacing:; color:; }
  .s-lead{ font-family:; font-size:; font-weight:; line-height:; letter-spacing:; color:; margin-top:; }
  .s-mv{ max-width:; margin:; }
  .s-mv img{ width:; object-fit:; border-radius:; }
  .s-body{ max-width:; margin:; overflow-wrap:; word-break:; }
  .s-body h2{ font-family:; font-size:; font-weight:; letter-spacing:; line-height:; margin:; padding-bottom:; border-bottom:; }
  .s-body h3{ font-family:; font-size:; font-weight:; letter-spacing:; line-height:; margin:; }
  .s-body h4{ font-family:; font-size:; font-weight:; letter-spacing:; line-height:; margin:; }
  .s-body p{ font-family:; font-size:; font-weight:; line-height:; letter-spacing:; margin-bottom:; }
  .s-body ul,.s-body ol{ font-family:; font-size:; font-weight:; line-height:; letter-spacing:; margin:; }
  .s-body li{ font-family:; font-size:; font-weight:; line-height:; letter-spacing:; margin-bottom:; }
  .s-body a{ color:; text-decoration:; text-underline-offset:; }
  .s-body strong,.s-body b{ font-weight:; }
  .s-body em{ font-style:; }
  .s-body blockquote{ border-left:; padding:; margin:; font-family:; font-size:; color:; line-height:; }
  .s-body img{ width:; height:; object-fit:; margin:; }
  .s-body pre{ font-family:; font-size:; font-weight:; line-height:; letter-spacing:; margin-bottom:; white-space:; overflow-wrap:; word-break:; }
  .s-body figure{ margin:; }
  .s-body figure img{ height:; margin:; }
  .s-body figcaption{ font-family:; font-size:; color:; letter-spacing:; margin-top:; text-align:; }
  .s-body table{ width:; border-collapse:; font-family:; font-size:; font-weight:; line-height:; letter-spacing:; margin-bottom:; }
  .s-body table th{ font-weight:; padding:; border-bottom:; text-align:; color:; }
  .s-body table td{ padding:; border-bottom:; }
  .s-body hr{ border:; border-top:; margin:; }
  .s-body *{ font-family:; line-height:; letter-spacing:; font-size:; font-weight:; }
  .spot-info{ border:; padding:; margin:; font-family:; font-size:; line-height:; letter-spacing:; }
  .spot-info-name{ font-family:; font-size:; font-weight:; letter-spacing:; margin-bottom:; }
  .spot-info a{ color:; }
  .check-it{ text-align:; padding:; border-top:; margin-top:; }
  .check-it-chara{ width:; margin:; }
  .check-it-text{ font-family:; font-size:; letter-spacing:; line-height:; color:; margin-bottom:; }
  .check-it-btns{ display:; justify-content:; }
  */

  /* ----------------------------------------
     固定ページ (SP)
  ---------------------------------------- */
  .loc-grid{grid-template-columns:1fr;padding:0 var(--sp-pad) 60px;gap:0!important;}
  .loc-grid > div{display:contents;}
  .loc-grid .loc-area-title{margin-top:32px;}
  .loc-grid h2.loc-kannabe{margin-top:0;}
  .loc-kannabe  {order:1;}
  .loc-miyuki   {order:2;}
  .loc-kamo     {order:3;}
  .loc-ekiya    {order:4;}
  .loc-shinichi {order:5;}
  .loc-fuchu    {order:6;}
  .loc-jinseki  {order:7;}
  .loc-ibara    {order:8;}
  .loc-fukuyama {order:9;}
  .loc-illust-left{display:none}
  .loc-illust-right{display:none}
  .loc-list{font-size:var(--sp-sm);font-weight:400}
  .page-head{padding:calc(var(--hh) + 32px) var(--sp-pad) 32px}
  .page-body{padding:0 var(--sp-pad) 60px}
  .page-body h2{font-size:var(--sp-lg)}
  .page-body p{font-size:var(--sp-sm)}

  /* SP枠：固定ページ共通・設置場所ページ（値を入れたいときコメント解除） */
  /*
  .page-head{ text-align:; }
  .page-title-ja{ font-family:; font-weight:; letter-spacing:; margin-bottom:; }
  .page-title-en{ font-family:; font-size:; color:; font-weight:; }
  .page-body{ max-width:; margin:; }
  .page-body h2{ font-family:; font-weight:; letter-spacing:; margin:; padding-bottom:; border-bottom:; }
  .page-body p{ font-family:; font-weight:; line-height:; letter-spacing:; margin-bottom:; }
  .loc-grid{ display:; max-width:; margin:; }
  .loc-area-title{ font-family:; font-weight:; letter-spacing:; color:; border-bottom:; padding-bottom:; margin-bottom:; }
  .loc-list{ font-family:; line-height:; letter-spacing:; }
  .loc-total{ text-align:; font-family:; font-size:; letter-spacing:; color:; max-width:; margin:; padding:; }
  .thanks-area{ min-height:; display:; flex-direction:; align-items:; justify-content:; text-align:; padding:; gap:; }
  .thanks-title{ font-family:; font-size:; font-weight:; letter-spacing:; }
  .thanks-text{ font-family:; font-size:; font-weight:; line-height:; letter-spacing:; color:; }
  */

  /* ----------------------------------------
     運営会社ページ (SP)
  ---------------------------------------- */
  .co-main p,
  .co-main .service-grid > div,
  .co-main .er-th,
  .co-main .er-td{font-family:var(--font-mi)!important;}
  .co-container{max-width:100%!important;padding:0 var(--sp-pad)!important;margin:0 auto!important;}
  .co-hero-text{font-size:var(--sp-sm)!important}
  .co-sec-hero{min-height:auto!important;padding:9vh 0!important}
  .co-sec-concept{min-height:auto!important;padding:12vw 0!important}
  .co-head-sub{font-size:var(--sp-section)!important}
  .concept-wrap{display:flex;align-items:flex-start;margin-bottom:80px;gap:8vw;}
  .concept-wrap > div[style*="width"]{width:auto!important;flex:1;min-width:0;}
  .v-group{display:flex;align-items:flex-start;gap:20px!important;flex-shrink:0;}
  .concept-wrap:first-of-type .v-group{margin-top:80px;}
  .v-line{writing-mode:vertical-rl!important;font-size:24px!important;letter-spacing:0.2em!important;line-height:0.6!important;padding-right:0!important;border-right:none!important;white-space:nowrap!important;}
  .service-grid{grid-template-columns:repeat(2,1fr)!important;gap:15px 21px!important;margin-top:-21px!important;font-size:14px!important;}
  .service-grid > div:empty{display:none!important;}
  .er-th{width:90px!important;font-size:var(--sp-sm)!important;line-height:1.8!important;}
  .er-td{font-size:var(--sp-sm)!important;line-height:1.8!important;}
  .er-row{padding:9px 0 0!important;}
  .co-main > section.bg-white:nth-of-type(5){min-height:62vh!important;}
  /* CONCEPT セクション個別指定（共通の0.2emから上書き） */
  .co-sec-concept p{letter-spacing:0em!important;}

  /* SP枠：運営会社ページ（値を入れたいときコメント解除） */
  /*
  .co-main{ font-family:; color:; background:; line-height:; letter-spacing:; }
  .co-main p{ font-weight:; color:; }
  .co-head-sub{ letter-spacing:; border-bottom:; display:; line-height:; margin-bottom:; }
  .co-hero-text{ }
  .concept-wrap{ justify-content:; margin-bottom:; }
  .v-group{ }
  .v-line{ font-size:; letter-spacing:; line-height:; padding-right:; border-right:; white-space:; }
  .service-grid{ display:; gap:; margin-top:; font-size:; }
  .er-row{ display:; padding:; align-items:; }
  .er-th{ font-weight:; flex-shrink:; text-align:; }
  .er-td{ }
  .bg-gray{ background-color:; width:; }
  .bg-white{ background-color:; width:; }
  */

  /* ----------------------------------------
     広告掲載ページ (SP)
  ---------------------------------------- */
  .adv-hero{padding:40px var(--sp-pad) 40px}
  .adv-hero-bird{display:none}
  .adv-hero-illust{display:none}
  .adv-illust-pink{display:none}
  .adv-illust-run2{display:none}
  .adv-illust-bicycle{display:none}
  .adv-inner{padding:0 var(--sp-pad)}
  .adv-catch{padding:48px 0}
  .adv-catch-text{font-size:var(--sp-lg);padding:0 var(--sp-pad)}
  .adv-catch-title{font-size:var(--sp-lg)}
  .adv-section{padding:40px 0}
  .adv-section-title{font-size:var(--sp-md)!important}
  .adv-body{font-size:var(--sp-xs)}
  .adv-intro-text{font-size:var(--sp-sm)}
  .adv-hero-title{font-size:var(--sp-xl);letter-spacing:.2em}
  .adv-hero-tag{font-size:var(--sp-sm);color:rgb(79,76,83);font-weight:500}
  .adv-data{display:block}
  .adv-data tr{display:block;padding:12px 0}
  .adv-data th{display:block;width:100%;border-bottom:none;padding:0 0 4px;font-family:var(--font-mi)}
  .adv-data td{display:block;padding:0;font-family:var(--font-go)}
  .adv-map-wrap{flex-direction:column;gap:20px}
  .adv-map{max-width:100%;margin-left:0}
  .adv-row{padding:12px 0;gap:16px}
  .adv-th{width:100px}
  .adv-th--wide{width:140px}
  .adv-th,
  .adv-td{font-size:var(--sp-sm);font-weight:400}

  /* 強み見出し（セク3）：SP個別指定 */
  .adv-strength-label{
    font-size:var(--sp-md);
    font-weight:500;
    border-bottom:none;
    padding-bottom:0;
  }
  /* 強み見出しの直後本文 + 連続本文の余白 */
  .adv-strength-label + .adv-intro-text,
  .adv-intro-text + .adv-intro-text{margin-top:var(--sp-gap-md)}

  /* SP枠：広告掲載ページ（値を入れたいときコメント解除） */
  /*
  .adv-main{ padding-top:; }
  .adv-hero{ position:; text-align:; }
  .adv-hero-inner{ position:; max-width:; margin:; }
  .adv-hero-title{ font-family:; font-weight:; letter-spacing:; margin-bottom:; }
  .adv-hero-tag{ font-family:; letter-spacing:; line-height:; }
  .adv-section{ }
  .adv-section--rel{ position:; }
  .adv-inner{ max-width:; margin:; position:; }
  .adv-catch{ }
  .adv-catch-text{ font-family:; font-weight:; letter-spacing:; line-height:; text-align:; max-width:; margin:; }
  .adv-section-title{ font-family:; font-weight:; letter-spacing:; margin-bottom:; width:; padding-bottom:; border-bottom:; }
  .adv-body{ font-family:; font-weight:; line-height:; letter-spacing:; margin-bottom:; }
  .adv-strength-list{ list-style:; display:; flex-direction:; gap:; margin-top:; }
  .adv-strength-label{ font-family:; letter-spacing:; color:; margin-bottom:; width:; }
  .adv-data{ width:; border-collapse:; font-family:; font-weight:; line-height:; letter-spacing:; margin-bottom:; }
  .adv-data th{ width:; text-align:; font-weight:; padding:; border-bottom:; vertical-align:; color:; }
  .adv-data td{ padding:; border-bottom:; vertical-align:; }
  .adv-list-data{ margin-bottom:; }
  .adv-row{ display:; align-items:; }
  .adv-th{ flex-shrink:; font-family:; font-size:; font-weight:; color:; letter-spacing:; }
  .adv-td{ font-family:; font-size:; font-weight:; color:; line-height:; letter-spacing:; }
  .adv-note{ color:; font-size:; }
  .adv-note-block{ font-family:; font-size:; font-weight:; color:; line-height:; letter-spacing:; margin-top:; }
  .adv-map-wrap{ display:; align-items:; margin:; }
  .adv-map{ width:; max-width:; }
  .adv-map img{ width:; height:; }
  .adv-btn-wrap{ margin-top:; display:; justify-content:; }
  .adv-intro{ background:; }
  .adv-intro-text{ font-family:; font-weight:; line-height:; letter-spacing:; margin-bottom:; }
  .adv-catch-title{ font-family:; font-weight:; letter-spacing:; line-height:; margin-bottom:; }
  .adv-data-footer{ display:; flex-direction:; gap:; margin-top:; }
  .adv-note-wrap{ display:; align-items:; gap:; }
  */

  /* ----------------------------------------
     フッター (SP)
  ---------------------------------------- */
  .footer-in{padding:0 var(--sp-pad);gap:16px}
  .footer-sns{display:none!important}
  .footer-nav ul{flex-direction:row;gap:0;text-align:center;justify-content:center;flex-wrap:nowrap}
  .footer-nav ul li a{font-size:11px;letter-spacing:.05em;color:#000!important}
  .footer-nav ul li+li::before{display:inline;margin:0 8px;font-size:10px;color:#000!important}
  .footer-copy{text-align:center;color:#000!important}

  /* SP枠：フッター（値を入れたいときコメント解除） */
  /*
  #site-footer{ background:; padding:; border-top:; }
  .footer-in{ max-width:; margin:; display:; flex-direction:; align-items:; }
  .footer-logo img{ height:; width:; }
  .footer-sns{ gap:; }
  .footer-sns a{ display:; align-items:; justify-content:; width:; height:; border:; border-radius:; color:; transition:; }
  .footer-sns a:hover{ color:; border-color:; }
  .footer-nav ul{ display:; align-items:; }
  .footer-nav ul li{ display:; align-items:; }
  .footer-nav ul li a{ font-family:; font-weight:; transition:; }
  .footer-nav ul li a:hover{ color:; }
  .footer-copy{ font-family:; font-size:; letter-spacing:; }
  */
}
/* ============================================================
   ============================================================
   SP 全指定 ここまで
   ============================================================
   ============================================================ */


/* ============================================================
   Smash Balloon Instagram Feed カスタマイズ（全画面共通）
   ============================================================ */
/* プロフィールヘッダー非表示 */
#sbi_images .sbi_header_area{display:none!important}
.sbi_header{display:none!important}
/* さらに読み込むボタン非表示 */
.sbi_load_btn_wrapper{display:none!important}
/* Instagramでフォローボタン非表示 */
.sbi_follow_btn{display:none!important}
/* フィードコンテナをig-gridに合わせる */
#sbi_images{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:3px!important;margin-top:0!important}
#sbi_images .sbi_item{padding:0!important}
#sbi_images .sbi_photo_wrap{overflow:hidden!important;border-radius:0px!important}
#sbi_images .sbi_photo_wrap img{width:100%!important;height:100%!important;object-fit:cover!important}
