
:root{
  --ytb-text:#211a16;
  --ytb-sub:#756c64;
  --ytb-line:#ddd8d2;
  --ytb-bg:#fff;
  --ytb-dark:#221917;
  --ytb-green:#2f453c;
  --ytb-max:875px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.ytb-body{
  margin:0;
  background:var(--ytb-bg);
  color:var(--ytb-text);
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

.ytb-container{
  width:min(calc(100% - 40px),var(--ytb-max));
  margin-inline:auto;
}

.ytb-header{
  position:relative;
  z-index:50;
  border-bottom:1px solid #eeeae6;
  background:#fff;
}
.ytb-header__inner{
  width:min(calc(100% - 36px),var(--ytb-max));
  min-height:108px;
  margin:auto;
  display:flex;
  align-items:center;
  gap:28px;
}
.ytb-logo{
  flex:0 0 75px;
  width:75px;
  align-self:stretch;
  display:flex;
  align-items:center;
}
.ytb-logo img{
  width:70px;
  max-height:100px;
  object-fit:contain;
}
.ytb-nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:25px;
  white-space:nowrap;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:12px;
}
.ytb-nav a{
  position:relative;
  padding:9px 0;
}
.ytb-nav a::after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:3px;
  height:1px;
  background:#2a201b;
  transition:right .2s ease;
}
.ytb-nav a:hover::after{right:0}

.ytb-menu-button{
  display:none;
  margin-left:auto;
  width:42px;height:42px;
  border:0;background:transparent;
  padding:8px;
}
.ytb-menu-button>span:not(.screen-reader-text){
  display:block;
  width:100%;
  height:1px;
  margin:6px 0;
  background:#302721;
}
.screen-reader-text{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.ytb-home-hero{
  position:relative;
  width:min(calc(100% - 40px),var(--ytb-max));
  min-height:480px;
  margin:0 auto;
  overflow:hidden;
  background:#ddd;
}
.ytb-home-hero__image{
  width:100%;
  height:480px;
  object-fit:cover;
  object-position:58% 36%;
}
.ytb-home-hero__shade{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(244,245,241,.92) 0%,rgba(244,245,241,.72) 30%,rgba(244,245,241,0) 60%);
}
.ytb-home-hero__copy{
  position:absolute;
  left:42px;
  top:43px;
  z-index:2;
}
.ytb-home-hero__copy p{
  margin:0;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:27px;
  line-height:1.75;
  letter-spacing:.055em;
}

.ytb-home-section{padding:58px 0 80px}
.ytb-section-title span{
  display:block;
  color:#8d8178;
  font-family:Georgia,serif;
  font-size:10px;
  letter-spacing:.2em;
}
.ytb-section-title h1{
  margin:5px 0 28px;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:27px;
  font-weight:500;
}
.ytb-news-text{
  border-top:1px solid var(--ytb-line);
  padding-top:22px;
  font-size:13px;
  line-height:2;
}
.ytb-news-placeholder{color:var(--ytb-sub)}

.ytb-static-page{
  min-height:60vh;
  padding:48px 0 90px;
}
.ytb-static-page__inner{max-width:875px}
.ytb-page-header h1{
  margin:0 0 36px;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:34px;
  font-weight:500;
  letter-spacing:.04em;
}
.ytb-page-content{
  font-size:15px;
  line-height:2;
}

.ytb-member-article{padding:55px 0 90px}
.ytb-member-article__inner{max-width:760px}
.ytb-member-article__label{
  margin:0 0 9px;
  color:#7d7168;
  font-size:11px;
  letter-spacing:.12em;
}
.ytb-member-article__header h1{
  margin:0 0 28px;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:34px;
  line-height:1.55;
  font-weight:500;
}
.ytb-member-article__visual{margin:0 0 35px}
.ytb-member-article__content{font-size:15px;line-height:2.1}

.ytb-footer{
  border-top:1px solid #e5e0da;
  background:#f8f7f4;
}
.ytb-footer__inner{
  width:min(calc(100% - 40px),var(--ytb-max));
  margin:auto;
  padding:40px 0 34px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:15px 35px;
  align-items:end;
}
.ytb-footer__brand img{
  width:62px;
  max-height:88px;
  object-fit:contain;
}
.ytb-footer__nav{
  justify-self:end;
  align-self:center;
  font-size:11px;
}
.ytb-footer__copy{
  grid-column:1/-1;
  margin:10px 0 0;
  color:#8d857e;
  font-size:10px;
  text-align:right;
}

@media(max-width:820px){
  .ytb-header__inner{min-height:88px}
  .ytb-logo{flex-basis:60px;width:60px}
  .ytb-logo img{width:56px;max-height:78px}
  .ytb-menu-button{display:block}
  .ytb-nav{
    position:absolute;
    top:100%;
    left:0;right:0;
    display:none;
    margin:0;
    padding:20px 25px 25px;
    background:#fff;
    border-top:1px solid #eeeae6;
    border-bottom:1px solid #ddd8d2;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    font-size:14px;
  }
  .ytb-nav.is-open{display:flex}
  .ytb-nav a{width:100%;padding:10px 0}
}
@media(max-width:600px){
  .ytb-container{width:min(calc(100% - 28px),var(--ytb-max))}
  .ytb-home-hero{
    width:100%;
    min-height:530px;
  }
  .ytb-home-hero__image{
    height:530px;
    object-position:63% center;
  }
  .ytb-home-hero__shade{
    background:linear-gradient(180deg,rgba(244,245,241,.93) 0%,rgba(244,245,241,.76) 38%,rgba(244,245,241,0) 65%);
  }
  .ytb-home-hero__copy{
    left:22px;
    top:28px;
    right:20px;
  }
  .ytb-home-hero__copy p{
    font-size:22px;
    line-height:1.7;
  }
  .ytb-page-header h1,
  .ytb-member-article__header h1{font-size:28px}
  .ytb-footer__inner{grid-template-columns:1fr}
  .ytb-footer__nav{justify-self:start}
  .ytb-footer__copy{grid-column:auto;text-align:left}
}


/* =========================================================
   v2 TOP page
   supplied Illustrator design 1
   ========================================================= */
.ytb-home-v2{
  width:min(calc(100% - 40px),var(--ytb-max));
  margin-inline:auto;
  padding-bottom:44px;
}
.ytb-home-hero-v2{
  position:relative;
  height:505px;
  overflow:hidden;
  background:#d8d8d4;
}
.ytb-home-hero-v2__image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:54% 43%;
}
.ytb-home-hero-v2__quote{
  position:absolute;
  top:44px;
  left:31px;
  z-index:2;
}
.ytb-home-hero-v2__quote p{
  margin:0;
  color:#251d19;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:27px;
  line-height:1.65;
  letter-spacing:.03em;
  text-shadow:0 1px 8px rgba(255,255,255,.3);
}
.ytb-home-hero-v2__news{
  position:absolute;
  left:33px;
  bottom:28px;
  width:210px;
  min-height:225px;
  padding:20px 20px 18px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(2px);
}
.ytb-home-hero-v2__news h1{
  margin:0 0 13px;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:20px;
  line-height:1.2;
  font-weight:500;
}
.ytb-home-hero-v2__news-body{
  max-height:165px;
  overflow:hidden;
  color:#423b36;
  font-size:10px;
  line-height:1.75;
}
.ytb-home-hero-v2__news-body p{
  margin:0 0 7px;
}

.ytb-home-links{
  padding:25px 0 29px;
}
.ytb-home-links__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}
.ytb-home-link-card{
  position:relative;
  display:block;
  height:150px;
  overflow:hidden;
  background:#222;
}
.ytb-home-link-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease, opacity .3s ease;
}
.ytb-home-link-card::after{
  content:"";
  position:absolute;
  inset:50% 0 0;
  background:linear-gradient(180deg,transparent,rgba(18,14,12,.8));
}
.ytb-home-link-card span{
  position:absolute;
  left:10px;
  right:10px;
  bottom:9px;
  z-index:2;
  color:#fff;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:11px;
  line-height:1.45;
  text-align:center;
  letter-spacing:.03em;
}
.ytb-home-link-card:hover img{
  transform:scale(1.025);
  opacity:.94;
}

.ytb-home-membership{
  border:2px solid #26483e;
  background:#fff;
}
.ytb-home-membership__title{
  height:36px;
  display:flex;
  align-items:center;
  padding-left:13px;
  background:#26483e;
  color:#fff;
}
.ytb-home-membership__title span{
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:20px;
  letter-spacing:.08em;
}
.ytb-home-membership__body{
  display:grid;
  grid-template-columns:44% 56%;
  gap:0;
  padding:20px 22px 18px;
}
.ytb-home-membership__intro{
  padding-right:24px;
  border-right:1px solid #32594e;
}
.ytb-home-membership__intro p{
  margin:0 0 10px;
  font-size:10.5px;
  line-height:1.75;
}
.ytb-home-membership__intro img{
  width:100%;
  height:135px;
  margin-top:12px;
  object-fit:cover;
  object-position:center 58%;
}
.ytb-home-membership__contents{
  position:relative;
  padding-left:30px;
  padding-bottom:44px;
}
.ytb-home-membership__label{
  display:inline-block;
  margin-bottom:13px;
  padding:5px 12px;
  background:#211b18;
  color:#fff;
  font-size:9px;
  letter-spacing:.04em;
}
.ytb-home-membership__contents ul{
  margin:0;
  padding-left:17px;
}
.ytb-home-membership__contents li{
  margin-bottom:8px;
  font-size:10px;
  line-height:1.55;
}
.ytb-home-membership__button{
  position:absolute;
  right:0;
  bottom:0;
  display:inline-flex;
  min-width:176px;
  height:29px;
  align-items:center;
  justify-content:center;
  border-radius:5px;
  background:#144b3c;
  color:#fff;
  font-size:9.5px;
  letter-spacing:.04em;
}

@media(max-width:760px){
  .ytb-home-v2{
    width:100%;
  }
  .ytb-home-hero-v2{
    height:610px;
  }
  .ytb-home-hero-v2__image{
    object-position:58% center;
  }
  .ytb-home-hero-v2__quote{
    top:30px;
    left:22px;
    right:20px;
  }
  .ytb-home-hero-v2__quote p{
    font-size:22px;
  }
  .ytb-home-hero-v2__news{
    left:20px;
    bottom:20px;
    width:min(255px,calc(100% - 40px));
  }
  .ytb-home-links{
    padding:18px 14px 24px;
  }
  .ytb-home-links__grid{
    grid-template-columns:repeat(2,1fr);
    gap:10px;
  }
  .ytb-home-link-card{
    height:145px;
  }
  .ytb-home-membership{
    margin:0 14px;
  }
  .ytb-home-membership__body{
    grid-template-columns:1fr;
    padding:18px;
  }
  .ytb-home-membership__intro{
    padding:0 0 18px;
    border-right:0;
    border-bottom:1px solid #32594e;
  }
  .ytb-home-membership__contents{
    padding:18px 0 44px;
  }
}


/* v3 membership section adjustment to match Illustrator */
.ytb-home-membership{
  margin-top:2px;
  border:2px solid #0a4d46;
  border-top-width:4px;
  background:#fff;
}
.ytb-home-membership__title{
  height:auto;
  padding:0;
  background:none;
  color:inherit;
}
.ytb-home-membership__title span{
  display:inline-flex;
  align-items:center;
  height:48px;
  margin:-4px 0 0 -2px;
  padding:0 20px;
  background:#004e49;
  color:#fff;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:23px;
  font-weight:600;
  letter-spacing:.08em;
}
.ytb-home-membership__body{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  column-gap:34px;
  row-gap:0;
  padding:16px 26px 12px 26px;
}
.ytb-home-membership__intro{
  padding-right:24px;
  border-right:1px solid #0a4d46;
}
.ytb-home-membership__intro p{
  margin:0;
  color:#1f1b19;
  font-size:11px;
  line-height:1.72;
  letter-spacing:.01em;
  font-weight:700;
}
.ytb-home-membership__intro img{
  width:100%;
  height:232px;
  margin-top:16px;
  object-fit:cover;
  object-position:center center;
}
.ytb-home-membership__contents{
  position:relative;
  padding:2px 0 46px 0;
}
.ytb-home-membership__label{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  margin-bottom:18px;
  padding:4px 14px 5px;
  border-radius:4px;
  background:#2a1b16;
  color:#fff;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.02em;
}
.ytb-home-membership__item{
  margin-bottom:15px;
}
.ytb-home-membership__bullet,
.ytb-home-membership__desc{
  margin:0;
  color:#1f1b19;
  font-size:11px;
  line-height:1.55;
  letter-spacing:.01em;
  font-weight:700;
}
.ytb-home-membership__desc{
  padding-left:1.15em;
}
.ytb-home-membership__button{
  position:absolute;
  right:0;
  bottom:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:182px;
  height:31px;
  padding:0 16px;
  border-radius:5px;
  background:#0f5a4d;
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.03em;
}

@media(max-width:760px){
  .ytb-home-membership__title span{
    height:42px;
    padding:0 16px;
    font-size:21px;
  }
  .ytb-home-membership__body{
    grid-template-columns:1fr;
    row-gap:18px;
    padding:16px 18px 18px;
  }
  .ytb-home-membership__intro{
    padding-right:0;
    padding-bottom:18px;
    border-right:0;
    border-bottom:1px solid #0a4d46;
  }
  .ytb-home-membership__intro img{
    height:auto;
  }
  .ytb-home-membership__contents{
    padding-bottom:0;
  }
  .ytb-home-membership__button{
    position:static;
    margin-top:12px;
  }
}


/* =========================================================
   v4: TOPをIllustrator原稿により忠実に合わせる
   ========================================================= */
@media(min-width:761px){
  /* Header proportions in original design */
  .ytb-header__inner{
    width:min(calc(100% - 34px),875px);
    min-height:126px;
    gap:22px;
  }
  .ytb-logo{
    flex:0 0 74px;
    width:74px;
  }
  .ytb-logo img{
    width:70px;
    max-height:108px;
    object-fit:contain;
  }
  .ytb-nav{
    gap:24px;
    font-size:11px;
  }

  /* Main visual height / position */
  .ytb-home-v2{
    width:min(calc(100% - 34px),875px);
    padding-bottom:46px;
  }
  .ytb-home-hero-v2{
    height:548px;
  }
  .ytb-home-hero-v2__image{
    height:548px;
    object-fit:cover;
    object-position:center center;
  }
  .ytb-home-hero-v2__quote{
    top:36px;
    left:31px;
  }
  .ytb-home-hero-v2__quote p{
    font-size:29px;
    line-height:1.72;
    letter-spacing:.025em;
    font-weight:400;
  }
  .ytb-home-hero-v2__news{
    left:31px;
    bottom:25px;
    width:215px;
    min-height:276px;
    padding:17px 16px 16px;
    background:rgba(255,255,255,.86);
  }
  .ytb-home-hero-v2__news h1{
    margin-bottom:13px;
    font-size:19px;
    font-weight:400;
  }
  .ytb-home-hero-v2__news-body{
    max-height:216px;
    font-size:9.5px;
    line-height:1.7;
  }

  /* Four navigation cards */
  .ytb-home-links{
    padding:34px 0 35px;
  }
  .ytb-home-links__grid{
    grid-template-columns:repeat(4,1fr);
    gap:17px;
  }
  .ytb-home-link-card{
    height:176px;
    background:#261a16;
  }
  .ytb-home-link-card img{
    width:100%;
    height:138px;
    object-fit:cover;
    object-position:center center;
  }
  .ytb-home-link-card::after{
    display:none;
  }
  .ytb-home-link-card span{
    left:0;
    right:0;
    bottom:0;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 8px;
    background:#261a16;
    color:#fff;
    font-size:12.5px;
    line-height:1.25;
    font-weight:400;
  }
  .ytb-home-link-card:hover img{
    transform:none;
    opacity:1;
  }

  /* Membership frame copied from original's bracket-like construction */
  .ytb-home-membership{
    position:relative;
    margin-top:0;
    border:0;
    background:#fff;
  }
  .ytb-home-membership::before{
    content:"";
    position:absolute;
    top:0;
    left:143px;
    right:0;
    height:3px;
    background:#075048;
  }
  .ytb-home-membership__title{
    position:relative;
    z-index:2;
  }
  .ytb-home-membership__title span{
    height:43px;
    margin:0;
    padding:0 18px;
    background:#075048;
    font-size:21px;
    font-weight:500;
    letter-spacing:.06em;
  }
  .ytb-home-membership__body{
    position:relative;
    grid-template-columns:42% 58%;
    column-gap:28px;
    padding:14px 26px 28px 24px;
    border-left:3px solid #075048;
    border-right:3px solid #075048;
  }
  .ytb-home-membership__body::after{
    content:"";
    position:absolute;
    left:62px;
    right:-3px;
    bottom:0;
    height:3px;
    background:#075048;
  }
  .ytb-home-membership__intro{
    padding-right:20px;
    border-right:0;
  }
  .ytb-home-membership__intro p{
    margin:0;
    font-size:11.5px;
    line-height:1.58;
    font-weight:600;
  }
  .ytb-home-membership__intro img{
    width:100%;
    height:185px;
    margin-top:13px;
    object-fit:cover;
    object-position:center center;
  }
  .ytb-home-membership__contents{
    padding:2px 0 40px 0;
  }
  .ytb-home-membership__label{
    min-height:24px;
    margin-bottom:12px;
    padding:3px 11px 4px;
    border-radius:3px;
    font-size:10.5px;
    font-weight:600;
  }
  .ytb-home-membership__item{
    margin-bottom:10px;
  }
  .ytb-home-membership__bullet,
  .ytb-home-membership__desc{
    font-size:10.6px;
    line-height:1.42;
    font-weight:600;
  }
  .ytb-home-membership__desc{
    padding-left:1.05em;
  }
  .ytb-home-membership__button{
    right:0;
    bottom:8px;
    min-width:165px;
    height:28px;
    padding:0 15px;
    border-radius:12px;
    font-size:10px;
    font-weight:600;
    background:#075048;
  }
}

@media(max-width:760px){
  .ytb-header__inner{
    min-height:82px;
  }
  .ytb-home-hero-v2{
    height:560px;
  }
  .ytb-home-hero-v2__image{
    height:560px;
    object-position:58% center;
  }
  .ytb-home-link-card{
    height:160px;
  }
  .ytb-home-link-card img{
    height:124px;
  }
  .ytb-home-link-card::after{
    display:none;
  }
  .ytb-home-link-card span{
    left:0;
    right:0;
    bottom:0;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 7px;
    background:#261a16;
    font-size:12px;
    line-height:1.25;
  }
  .ytb-home-membership{
    position:relative;
    border:0;
  }
  .ytb-home-membership::before{
    content:"";
    position:absolute;
    top:0;
    left:132px;
    right:0;
    height:3px;
    background:#075048;
  }
  .ytb-home-membership__body{
    border-left:3px solid #075048;
    border-right:3px solid #075048;
    border-bottom:3px solid #075048;
  }
}


/* =========================================================
   v5: Illustrator原稿の比率に合わせた微調整
   ========================================================= */
@media(min-width:761px){

  /* グローバルナビ：元デザインより小さく見えていたため拡大 */
  .ytb-nav{
    gap:19px;
    font-size:13px;
  }

  /* メインビジュアル：
     Illustrator原稿の約1.49:1の縦横比に近づける */
  .ytb-home-hero-v2{
    height:590px;
  }
  .ytb-home-hero-v2__image{
    height:590px;
    object-fit:cover;
    object-position:center center;
  }

  /* 下端が伸びる分、新着情報の位置関係は原稿同様に維持 */
  .ytb-home-hero-v2__news{
    bottom:24px;
  }

  /* 会員募集：本文を元デザインの読みやすさへ */
  .ytb-home-membership__intro p{
    font-size:12.6px;
    line-height:1.58;
    font-weight:600;
  }

  .ytb-home-membership__intro img{
    height:205px;
  }

  .ytb-home-membership__label{
    font-size:11.6px;
  }

  .ytb-home-membership__item{
    margin-bottom:12px;
  }

  .ytb-home-membership__bullet,
  .ytb-home-membership__desc{
    font-size:11.8px;
    line-height:1.48;
    font-weight:600;
  }

  .ytb-home-membership__button{
    min-width:178px;
    height:30px;
    font-size:11.3px;
  }
}

@media(max-width:760px){
  .ytb-nav{
    font-size:14px;
  }

  .ytb-home-membership__intro p{
    font-size:13px;
    line-height:1.65;
  }

  .ytb-home-membership__label{
    font-size:12px;
  }

  .ytb-home-membership__bullet,
  .ytb-home-membership__desc{
    font-size:12px;
    line-height:1.55;
  }

  .ytb-home-membership__button{
    font-size:11.5px;
  }
}


/* =========================================================
   v6: 実ブラウザ表示をIllustrator原稿へさらに合わせる
   ========================================================= */
@media(min-width:761px){

  /* ヘッダー：原稿の縦寸法へ */
  .ytb-header__inner{
    min-height:138px;
    gap:20px;
  }
  .ytb-logo{
    flex-basis:76px;
    width:76px;
  }
  .ytb-logo img{
    width:72px;
    max-height:116px;
  }
  .ytb-nav{
    gap:18px;
    font-size:13.5px;
  }

  /* メインビジュアル：875px幅に対して原稿とほぼ同じ比率 */
  .ytb-home-hero-v2,
  .ytb-home-hero-v2__image{
    height:590px;
  }
  .ytb-home-hero-v2__image{
    object-position:center center;
  }

  /* 引用文 */
  .ytb-home-hero-v2__quote{
    top:38px;
    left:31px;
  }
  .ytb-home-hero-v2__quote p{
    font-size:29px;
    line-height:1.72;
  }

  /* 新着情報ボックスも原稿の縦寸法へ */
  .ytb-home-hero-v2__news{
    left:31px;
    bottom:24px;
    width:215px;
    min-height:295px;
    padding:17px 16px;
  }
  .ytb-home-hero-v2__news-body{
    max-height:235px;
    font-size:9.8px;
  }

  /* 4導線 */
  .ytb-home-links{
    padding:37px 0 37px;
  }
  .ytb-home-links__grid{
    gap:17px;
  }
  .ytb-home-link-card{
    height:181px;
  }
  .ytb-home-link-card img{
    height:142px;
  }
  .ytb-home-link-card span{
    height:39px;
    font-size:13.5px;
    line-height:1.2;
  }

  /* 会員募集：原稿の左右比率・文字サイズ・高さへ */
  .ytb-home-membership::before{
    left:145px;
  }
  .ytb-home-membership__title span{
    height:45px;
    padding:0 18px;
    font-size:22px;
  }
  .ytb-home-membership__body{
    grid-template-columns:45% 55%;
    column-gap:32px;
    padding:16px 27px 30px 24px;
  }
  .ytb-home-membership__body::after{
    left:63px;
  }
  .ytb-home-membership__intro{
    padding-right:20px;
  }
  .ytb-home-membership__intro p{
    font-size:12.8px;
    line-height:1.58;
  }
  .ytb-home-membership__intro img{
    height:213px;
    margin-top:15px;
  }
  .ytb-home-membership__contents{
    padding:3px 0 44px;
  }
  .ytb-home-membership__label{
    min-height:27px;
    margin-bottom:15px;
    padding:4px 12px;
    font-size:11.7px;
  }
  .ytb-home-membership__item{
    margin-bottom:12px;
  }
  .ytb-home-membership__bullet,
  .ytb-home-membership__desc{
    font-size:12px;
    line-height:1.46;
  }
  .ytb-home-membership__button{
    bottom:8px;
    min-width:174px;
    height:30px;
    font-size:11.3px;
    border-radius:14px;
  }
}

/* 印刷/PDFでもデザイン上の背景色を保持 */
@media print{
  .ytb-home-link-card span,
  .ytb-home-membership__title span,
  .ytb-home-membership__label,
  .ytb-home-membership__button{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }
}


/* =========================================================
   v7: font sizing / hero copy image / membership button spacing
   ========================================================= */
.ytb-home-hero-v2__quote img{
  display:block;
  width:min(100%, 620px);
  height:auto;
}

@media(min-width:761px){
  /* グローバルナビをもう一段拡大 */
  .ytb-nav{
    gap:17px;
    font-size:15px;
    letter-spacing:.01em;
  }

  /* メインコピーを画像で表示し、原稿の見え方へ寄せる */
  .ytb-home-hero-v2__quote{
    top:42px;
    left:32px;
    right:auto;
    max-width:620px;
  }
  .ytb-home-hero-v2__quote p{
    display:none;
  }

  /* 会員募集エリア本文をさらに読みやすく */
  .ytb-home-membership__intro p{
    font-size:13.8px;
    line-height:1.62;
  }
  .ytb-home-membership__label{
    font-size:12.4px;
  }
  .ytb-home-membership__bullet,
  .ytb-home-membership__desc{
    font-size:13.2px;
    line-height:1.5;
  }

  /* ボタンが枠にくっつかないよう余白を追加 */
  .ytb-home-membership__contents{
    padding-bottom:56px;
  }
  .ytb-home-membership__button{
    right:12px;
    bottom:14px;
    min-width:186px;
    height:32px;
    padding:0 18px;
    font-size:12px;
  }
}

@media(max-width:760px){
  .ytb-home-hero-v2__quote{
    top:30px;
    left:22px;
    right:22px;
    max-width:min(100%, 430px);
  }
  .ytb-home-hero-v2__quote p{
    display:none;
  }

  .ytb-nav{
    font-size:15px;
  }

  .ytb-home-membership__intro p{
    font-size:13.5px;
    line-height:1.68;
  }
  .ytb-home-membership__label{
    font-size:12.5px;
  }
  .ytb-home-membership__bullet,
  .ytb-home-membership__desc{
    font-size:12.8px;
    line-height:1.58;
  }
  .ytb-home-membership__contents{
    padding-bottom:0;
  }
  .ytb-home-membership__button{
    margin-top:16px;
    font-size:12px;
    min-height:32px;
  }
}


/* =========================================================
   v8: hero quote image transparency and size fix
   ========================================================= */
.ytb-home-hero-v2__quote{
  background: transparent !important;
}
.ytb-home-hero-v2__quote img{
  display:block;
  width:min(100%, 470px) !important;
  max-width:470px;
  height:auto;
}
@media(min-width:761px){
  .ytb-home-hero-v2__quote{
    top:46px;
    left:28px;
    max-width:470px;
  }
}
@media(max-width:760px){
  .ytb-home-hero-v2__quote img{
    width:min(100%, 330px) !important;
    max-width:330px;
  }
  .ytb-home-hero-v2__quote{
    top:24px;
    left:18px;
    right:18px;
    max-width:330px;
  }
}


/* =========================================================
   v9: Illustratorキャプチャに合わせたメインコピー縮小
       ＋新着情報背景の半透明化
   ========================================================= */

@media(min-width:761px){
  /* v8では約470pxで大きすぎたため、原稿比率へ縮小 */
  .ytb-home-hero-v2__quote{
    top:46px;
    left:32px;
    max-width:375px;
  }

  .ytb-home-hero-v2__quote img{
    width:375px !important;
    max-width:375px !important;
    height:auto;
  }

  /* Illustratorのように背景写真が透ける新着情報ボックス */
  .ytb-home-hero-v2__news{
    background:rgba(255,255,255,.70);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
}

@media(max-width:760px){
  .ytb-home-hero-v2__quote{
    max-width:295px;
  }

  .ytb-home-hero-v2__quote img{
    width:295px !important;
    max-width:295px !important;
  }

  .ytb-home-hero-v2__news{
    background:rgba(255,255,255,.72);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
}


/* =========================================================
   v10: 山田太一について（Illustrator 2+3）
   ========================================================= */
.ytb-about-page{
  padding:0 0 72px;
  background:#fff;
}
.ytb-about-wrap{
  width:min(calc(100% - 40px),875px);
  margin:0 auto;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  color:#261f1b;
}
.ytb-about-intro{
  padding-top:22px;
}
.ytb-about-intro h1{
  margin:0 0 16px;
  font-size:30px;
  font-weight:500;
  letter-spacing:.02em;
}
.ytb-about-intro__grid{
  display:grid;
  grid-template-columns:1fr 1.18fr;
  gap:34px;
  align-items:stretch;
}
.ytb-about-intro__text{
  background:#251916;
  color:#fff;
  padding:22px 26px;
}
.ytb-about-intro__text p{
  margin:0;
  font-size:13px;
  line-height:1.82;
}
.ytb-about-intro__portrait img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
}
.ytb-about-intro__portrait{
  margin:0;
}
.ytb-about-timeline{
  margin:48px 0 38px;
}
.ytb-about-timeline img{
  width:100%;
  height:auto;
}
.ytb-about-era{
  display:grid;
  grid-template-columns:minmax(0,1.52fr) minmax(250px,.8fr);
  gap:55px;
  align-items:start;
  margin:0 0 56px;
}
.ytb-about-era__text h2{
  margin:0 0 12px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:27px;
  font-weight:600;
}
.ytb-about-era__text h2 span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#211815;
  color:#fff;
  font-size:11px;
  font-weight:500;
  flex:0 0 48px;
}
.ytb-about-era__text p{
  margin:0 0 11px;
  font-size:13px;
  line-height:1.85;
}
.ytb-about-era__figure{
  margin:0;
  align-self:center;
}
.ytb-about-era__figure img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.ytb-about-era__figure figcaption{
  margin-top:7px;
  font-size:10px;
  line-height:1.55;
  text-align:right;
}
.ytb-about-era__figure--portrait{
  max-width:300px;
  justify-self:center;
}
.ytb-about-era__figure--landscape{
  max-width:360px;
  justify-self:end;
}
.ytb-about-era--last{
  margin-bottom:28px;
}
.ytb-about-credit{
  margin:18px 0 0;
  font-size:13px;
}
@media(max-width:760px){
  .ytb-about-wrap{
    width:min(calc(100% - 28px),875px);
  }
  .ytb-about-intro{
    padding-top:18px;
  }
  .ytb-about-intro h1{
    font-size:27px;
  }
  .ytb-about-intro__grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .ytb-about-intro__text{
    padding:20px;
  }
  .ytb-about-intro__text p{
    font-size:13px;
  }
  .ytb-about-intro__portrait img{
    min-height:0;
  }
  .ytb-about-timeline{
    margin:34px 0 36px;
    overflow-x:auto;
  }
  .ytb-about-timeline img{
    min-width:720px;
  }
  .ytb-about-era{
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:42px;
  }
  .ytb-about-era__text h2{
    font-size:24px;
  }
  .ytb-about-era__text p{
    font-size:13.5px;
    line-height:1.85;
  }
  .ytb-about-era__figure--portrait,
  .ytb-about-era__figure--landscape{
    max-width:100%;
    justify-self:stretch;
  }
  .ytb-about-era__figure img{
    max-height:430px;
  }
}


/* =========================================================
   v11: 山田太一について 微調整
   ========================================================= */
.ytb-about-intro__text p{
  font-size:14px;
  line-height:1.92;
}
.ytb-about-era__text p{
  font-size:14px;
  line-height:1.92;
}
.ytb-about-era__text h2{
  margin:0 0 14px;
  font-size:29px;
}
.ytb-about-era__figure--family{
  max-width:285px;
}
.ytb-about-era__figure--trip{
  max-width:325px;
}
.ytb-about-era__figure--waseda{
  max-width:290px;
}
.ytb-about-era__figure--kinoshita{
  max-width:345px;
}
@media(max-width:760px){
  .ytb-about-intro__text p,
  .ytb-about-era__text p{
    font-size:13.5px;
    line-height:1.9;
  }
  .ytb-about-era__text h2{
    font-size:25px;
  }
}


/* =========================================================
   v17: 作品一覧（baton_an2026_4.pdf）
   ========================================================= */
.ytb-works-page{
  padding:0 0 82px;
  background:#fff;
}
.ytb-works-wrap{
  position:relative;
  width:min(calc(100% - 40px),875px);
  margin:0 auto;
  color:#211a16;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
}
.ytb-works-intro{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:52px;
  align-items:start;
  padding:46px 0 24px;
}
.ytb-works-intro__copy h1,
.ytb-works-section h2{
  display:inline-flex;
  align-items:center;
  min-height:33px;
  margin:0;
  padding:3px 18px 4px;
  background:#050505;
  color:#fff;
  font-size:19px;
  line-height:1.2;
  font-weight:500;
  letter-spacing:.04em;
}
.ytb-works-intro__copy p{
  margin:24px 0 0;
  font-size:16px;
  line-height:1.85;
}
.ytb-works-intro__mark{
  width:105px;
  margin:20px 0 0 28px;
}
.ytb-works-intro__visual{
  margin:0;
}
.ytb-works-intro__visual img{
  width:100%;
  height:338px;
  object-fit:cover;
  object-position:center center;
}
.ytb-works-nav{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
  margin:28px 0 92px;
}
.ytb-works-nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:4px 6px;
  background:#050505;
  color:#fff;
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  font-size:10px;
  line-height:1.2;
  text-align:center;
}
.ytb-works-section{
  scroll-margin-top:24px;
  margin:0 0 92px;
}
.ytb-works-section--compact{
  margin-bottom:78px;
}
.ytb-works-section h2{
  min-width:106px;
  min-height:25px;
  margin-bottom:18px;
  padding:3px 14px;
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  font-size:11px;
  font-weight:600;
}
.ytb-works-table-wrap{
  width:100%;
  overflow-x:auto;
}
.ytb-works-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  color:#111;
  font-size:12px;
}
.ytb-works-table col.year{width:88px}
.ytb-works-table col.title{width:55%}
.ytb-works-table col.award{width:auto}
.ytb-works-table thead th{
  padding:0 12px 10px;
  border-bottom:1px solid #111;
  background:#fff;
  color:#111;
  font-size:13px;
  font-weight:600;
  text-align:left;
  vertical-align:bottom;
}
.ytb-works-table thead th:first-child{
  padding-left:0;
  padding-right:0;
  text-align:center;
}
.ytb-works-table thead th:nth-child(3){
  border-left:1px solid #111;
  padding-left:18px;
}
.ytb-works-table tbody th{
  padding:12px 7px;
  border-bottom:1px solid #fff;
  background:#050505;
  color:#fff;
  font-size:13px;
  font-weight:600;
  text-align:center;
  vertical-align:top;
  white-space:nowrap;
}
.ytb-works-table tbody td{
  padding:10px 16px 11px;
  border-bottom:1px solid #111;
  vertical-align:top;
  line-height:1.55;
}
.ytb-works-table tbody td:nth-child(3){
  border-left:1px solid #111;
}
.ytb-works-table tbody td strong{
  display:block;
  margin-bottom:2px;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
}
.ytb-works-table tbody td small{
  display:block;
  font-size:10px;
  line-height:1.55;
}
.ytb-works-table__tall th,
.ytb-works-table__tall td{
  padding-top:16px!important;
  padding-bottom:18px!important;
}
.ytb-works-table--two col.year{width:88px}
.ytb-works-table--two col.title{width:auto}
.ytb-works-table--two thead th:nth-child(2){
  border-left:0;
}
.ytb-works-table--two tbody td:nth-child(2){
  border-left:0;
}
.ytb-go-up{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  background:#050505;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:8px;
  line-height:1.05;
  text-align:center;
}
@media(max-width:760px){
  .ytb-works-wrap{
    width:min(calc(100% - 28px),875px);
  }
  .ytb-works-intro{
    grid-template-columns:1fr;
    gap:24px;
    padding-top:28px;
  }
  .ytb-works-intro__copy h1{
    font-size:18px;
  }
  .ytb-works-intro__copy p{
    font-size:15px;
  }
  .ytb-works-intro__visual img{
    height:auto;
  }
  .ytb-works-nav{
    grid-template-columns:repeat(2,1fr);
    gap:8px;
    margin:20px 0 58px;
  }
  .ytb-works-nav a{
    min-height:34px;
    font-size:11px;
  }
  .ytb-works-section{
    margin-bottom:60px;
  }
  .ytb-works-table{
    min-width:760px;
  }
  .ytb-go-up{
    right:14px;
    bottom:14px;
  }
}


/* =========================================================
   v18: 作品一覧 文字サイズ微調整
   元デザインよりやや小さく見えていたため全体を1段階拡大
   ========================================================= */
@media(min-width:761px){
  .ytb-works-intro__copy h1{
    font-size:20px;
  }

  .ytb-works-intro__copy p{
    font-size:17px;
    line-height:1.88;
  }

  .ytb-works-nav a{
    font-size:11px;
  }

  .ytb-works-section h2{
    font-size:12px;
  }

  .ytb-works-table{
    font-size:13px;
  }

  .ytb-works-table thead th{
    font-size:14px;
  }

  .ytb-works-table tbody th{
    font-size:14px;
  }

  .ytb-works-table tbody td{
    line-height:1.58;
  }

  .ytb-works-table tbody td strong{
    font-size:14px;
    line-height:1.48;
  }

  .ytb-works-table tbody td small{
    font-size:11px;
    line-height:1.58;
  }
}

@media(max-width:760px){
  .ytb-works-intro__copy h1{
    font-size:19px;
  }

  .ytb-works-intro__copy p{
    font-size:16px;
  }

  .ytb-works-nav a{
    font-size:12px;
  }

  .ytb-works-section h2{
    font-size:12px;
  }

  .ytb-works-table{
    font-size:13px;
  }

  .ytb-works-table thead th,
  .ytb-works-table tbody th,
  .ytb-works-table tbody td strong{
    font-size:14px;
  }

  .ytb-works-table tbody td small{
    font-size:11px;
  }
}


/* =========================================================
   v19: 山田太一が残した言葉（Illustrator 5）
   ========================================================= */
.ytb-words-page{
  padding:24px 0 72px;
  background:#fff;
}
.ytb-words-wrap{
  position:relative;
  width:min(calc(100% - 40px),875px);
  margin:0 auto;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  color:#2b211d;
}
.ytb-words-header{
  text-align:center;
}
.ytb-words-header h1{
  margin:0 0 24px;
  font-size:28px;
  font-weight:500;
  letter-spacing:.02em;
}
.ytb-words-hero{
  width:600px;
  max-width:100%;
  margin:0 auto;
}
.ytb-words-hero img{
  width:100%;
  height:360px;
  object-fit:cover;
  object-position:center center;
}
.ytb-words-lead{
  margin:64px auto 54px;
  max-width:660px;
}
.ytb-words-lead p{
  margin:0;
  font-size:16px;
  line-height:1.9;
  letter-spacing:.02em;
}
.ytb-words-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:62px;
  row-gap:46px;
  align-items:start;
}
.ytb-words-quote{
  position:relative;
  margin:0;
  padding:0 18px 0 0;
  border-right:2px solid #5e5752;
}
.ytb-words-quote p{
  margin:0 0 10px;
  font-size:14px;
  line-height:1.85;
  font-weight:600;
}
.ytb-words-quote cite{
  display:block;
  color:#665e58;
  font-size:10px;
  font-style:normal;
  line-height:1.55;
  text-align:right;
}
.ytb-words-quote--short{
  min-height:130px;
}
.ytb-words-quote--long{
  grid-column:1;
}
.ytb-words-decoration{
  grid-column:2;
  align-self:center;
  justify-self:center;
  width:210px;
  margin-top:18px;
}
.ytb-words-decoration img{
  width:100%;
  height:auto;
}
.ytb-go-up{
  position:absolute;
  right:0;
  bottom:-18px;
  display:flex;
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  background:#211915;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:7px;
  line-height:1.05;
  text-align:center;
}
@media(max-width:760px){
  .ytb-words-wrap{
    width:min(calc(100% - 28px),875px);
  }
  .ytb-words-header h1{
    font-size:25px;
  }
  .ytb-words-hero img{
    height:auto;
  }
  .ytb-words-lead{
    margin:40px auto 38px;
  }
  .ytb-words-lead p{
    font-size:14px;
    line-height:1.9;
  }
  .ytb-words-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .ytb-words-quote,
  .ytb-words-quote--long,
  .ytb-words-decoration{
    grid-column:1;
  }
  .ytb-words-quote{
    padding-right:14px;
  }
  .ytb-words-quote p{
    font-size:13.5px;
  }
  .ytb-words-decoration{
    width:180px;
  }
  .ytb-go-up{
    position:static;
    margin:44px 0 0 auto;
  }
}


/* =========================================================
   v20: 「山田太一が残した言葉」Illustrator原稿へ再調整
   ========================================================= */

/* Cocoon標準blockquote装飾を完全に解除 */
.ytb-words-page blockquote.ytb-words-quote{
  margin:0 !important;
  padding:0 18px 0 0 !important;
  background:transparent !important;
  border:0 !important;
  border-right:2px solid #5e5752 !important;
  box-shadow:none !important;
}
.ytb-words-page blockquote.ytb-words-quote::before,
.ytb-words-page blockquote.ytb-words-quote::after{
  content:none !important;
  display:none !important;
}

/* 元デザインのスケールへ */
@media(min-width:761px){
  .ytb-words-page{
    padding-top:18px;
  }

  .ytb-words-header h1{
    margin-bottom:22px;
    font-size:25px;
  }

  .ytb-words-hero{
    width:520px;
  }

  .ytb-words-hero img{
    height:310px;
  }

  .ytb-words-lead{
    max-width:600px;
    margin:58px auto 50px;
  }

  .ytb-words-lead p{
    font-size:14px;
    line-height:1.82;
  }

  .ytb-words-grid{
    column-gap:54px;
    row-gap:42px;
  }

  .ytb-words-quote p{
    margin:0 0 8px;
    font-size:12px;
    line-height:1.72;
    font-weight:600;
  }

  .ytb-words-quote cite{
    font-size:9px;
    line-height:1.45;
  }

  .ytb-words-quote--short{
    min-height:110px;
  }

  .ytb-words-decoration{
    width:145px;
    margin-top:10px;
  }
}

@media(max-width:760px){
  .ytb-words-page blockquote.ytb-words-quote{
    padding-right:14px !important;
  }
}


/* =========================================================
   v21: バトンをつなぐ会について（Illustrator 6）
   ========================================================= */
.ytb-baton-page{
  padding:28px 0 72px;
  background:#fff;
}
.ytb-baton-wrap{
  position:relative;
  width:min(calc(100% - 40px),875px);
  margin:0 auto;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  color:#2b211d;
}
.ytb-baton-about{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:56px;
  align-items:center;
}
.ytb-baton-about__main h1{
  margin:0 0 28px;
  font-size:31px;
  line-height:1.45;
  font-weight:500;
}
.ytb-baton-about__lead p{
  margin:0;
  font-size:15px;
  line-height:1.9;
}
.ytb-baton-profile{
  margin:42px 0 0;
  font-size:13px;
  line-height:1.8;
}
.ytb-baton-profile div{
  display:flex;
  gap:0;
}
.ytb-baton-profile dt,
.ytb-baton-profile dd{
  margin:0;
}
.ytb-baton-about__illustration{
  margin:58px 0 0;
}
.ytb-baton-about__illustration img{
  width:100%;
  height:auto;
}
.ytb-baton-contact{
  margin:34px 0 52px;
}
.ytb-baton-contact h2{
  display:inline-block;
  margin:0 0 14px;
  padding:4px 10px;
  background:#2a1b16;
  color:#fff;
  font-size:12px;
  font-weight:600;
}
.ytb-baton-contact p{
  margin:0 0 18px;
  font-size:12.5px;
  line-height:1.7;
}
.ytb-baton-contact__mail{
  display:inline-block;
  margin-top:3px;
  font-family:Arial,sans-serif;
  font-weight:700;
  letter-spacing:.01em;
}
.ytb-baton-membership{
  position:relative;
  border-top:3px solid #0a4d46;
  border-left:3px solid #0a4d46;
  border-right:3px solid #0a4d46;
  padding-top:0;
}
.ytb-baton-membership::after{
  content:"";
  position:absolute;
  left:62px;
  right:0;
  bottom:0;
  height:3px;
  background:#0a4d46;
}
.ytb-baton-membership__title{
  display:inline-flex;
  align-items:center;
  height:45px;
  margin-top:-3px;
  margin-left:-3px;
  padding:0 18px;
  background:#004e49;
  color:#fff;
  font-size:22px;
  font-weight:600;
  letter-spacing:.06em;
}
.ytb-baton-membership__body{
  display:grid;
  grid-template-columns:45% 55%;
  gap:32px;
  padding:16px 27px 30px 24px;
}
.ytb-baton-membership__intro{
  padding-right:20px;
  border-right:1px solid #0a4d46;
}
.ytb-baton-membership__intro p{
  margin:0;
  font-size:13.5px;
  line-height:1.6;
  font-weight:600;
}
.ytb-baton-membership__intro img{
  width:100%;
  height:215px;
  margin-top:15px;
  object-fit:cover;
}
.ytb-baton-membership__contents{
  position:relative;
  padding:3px 0 56px;
}
.ytb-baton-membership__label{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  margin-bottom:15px;
  padding:4px 12px;
  border-radius:3px;
  background:#2a1b16;
  color:#fff;
  font-size:12px;
  font-weight:700;
}
.ytb-baton-membership__item{
  margin-bottom:12px;
}
.ytb-baton-membership__bullet,
.ytb-baton-membership__desc{
  margin:0;
  font-size:12.5px;
  line-height:1.48;
  font-weight:600;
}
.ytb-baton-membership__desc{
  padding-left:1.2em;
}
.ytb-baton-membership__button{
  position:absolute;
  right:12px;
  bottom:14px;
  display:inline-flex;
  min-width:188px;
  height:32px;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:16px;
  background:#0f5a4d;
  color:#fff;
  font-size:12px;
  font-weight:700;
}
@media(max-width:760px){
  .ytb-baton-wrap{
    width:min(calc(100% - 28px),875px);
  }
  .ytb-baton-about{
    grid-template-columns:1fr;
    gap:20px;
  }
  .ytb-baton-about__main h1{
    font-size:27px;
  }
  .ytb-baton-about__lead p{
    font-size:14px;
  }
  .ytb-baton-about__illustration{
    width:220px;
    margin:0 auto;
  }
  .ytb-baton-contact{
    margin:30px 0 40px;
  }
  .ytb-baton-membership__body{
    grid-template-columns:1fr;
    gap:18px;
    padding:16px 18px 22px;
  }
  .ytb-baton-membership__intro{
    padding:0 0 18px;
    border-right:0;
    border-bottom:1px solid #0a4d46;
  }
  .ytb-baton-membership__intro img{
    height:auto;
  }
  .ytb-baton-membership__contents{
    padding-bottom:0;
  }
  .ytb-baton-membership__button{
    position:static;
    margin-top:14px;
  }
}


/* =========================================================
   v22: バトンページ 会員募集枠をTOPと完全共通化
   ========================================================= */
.ytb-baton-page .ytb-home-membership{
  margin-top:0;
}


/* =========================================================
   v24: バトンページ GO UP位置修正
   Illustrator原稿同様、会員募集枠の外・右下へ配置
   ========================================================= */
.ytb-baton-page .ytb-go-up{
  position:static;
  margin:12px 0 0 auto;
}


/* =========================================================
   v25: 会員ページ（Illustrator 7 / 7+）
   ========================================================= */
.ytb-member-page{
  padding:28px 0 72px;
  background:#fff;
}
.ytb-member-page__wrap{
  position:relative;
  width:min(calc(100% - 40px),875px);
  margin:0 auto;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  color:#2a211d;
}
.ytb-member-page__intro{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:56px;
  align-items:center;
  margin-bottom:54px;
}
.ytb-member-page__intro-copy h1{
  margin:0 0 20px;
}
.ytb-member-page__intro-copy h1 span{
  display:inline-block;
  padding:7px 14px 8px;
  background:#2a1b16;
  color:#fff;
  font-size:25px;
  font-weight:500;
  line-height:1;
}
.ytb-member-page__intro-copy p{
  margin:0;
  font-size:15px;
  line-height:1.95;
}
.ytb-member-page__intro-illust{
  margin:0;
}
.ytb-member-page__intro-illust img{
  width:100%;
  max-width:235px;
  height:auto;
  margin-left:auto;
}
.ytb-member-page__panel{
  position:relative;
  margin:0 0 46px;
  padding:42px 32px 30px;
  border:2px solid #0b4f48;
}
.ytb-member-page__panel h2{
  position:absolute;
  top:-2px;
  left:-2px;
  margin:0;
}
.ytb-member-page__panel h2 span{
  display:inline-flex;
  align-items:center;
  min-height:43px;
  padding:0 16px;
  background:#075048;
  color:#fff;
  font-size:20px;
  font-weight:500;
  letter-spacing:.02em;
}
.ytb-member-page__featured{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  align-items:start;
}
.ytb-member-page__featured-visual{
  display:block;
}
.ytb-member-page__featured-visual img,
.ytb-member-page__card-visual img,
.ytb-member-page__placeholder{
  width:100%;
  background:#999;
  object-fit:cover;
}
.ytb-member-page__featured-visual img,
.ytb-member-page__featured-visual .ytb-member-page__placeholder{
  aspect-ratio:1.45 / 1;
}
.ytb-member-page__featured-body{
  padding-top:3px;
}
.ytb-member-page__featured-body h3{
  margin:0 0 12px;
  font-size:21px;
  line-height:1.55;
  font-weight:600;
}
.ytb-member-page__featured-body p{
  margin:0 0 12px;
  font-size:13px;
  line-height:1.8;
}
.ytb-member-page__date{
  color:#766c65;
  font-size:10px !important;
  letter-spacing:.03em;
}
.ytb-member-page__readmore{
  display:inline-flex;
  margin-top:4px;
  padding:5px 12px;
  background:#2a1b16;
  color:#fff;
  font-size:11px;
}
.ytb-member-page__cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.ytb-member-page__card-visual{
  display:block;
  margin-bottom:10px;
}
.ytb-member-page__card-visual img,
.ytb-member-page__card-visual .ytb-member-page__placeholder{
  aspect-ratio:1.45 / 1;
}
.ytb-member-page__card h3{
  margin:4px 0 6px;
  font-size:14px;
  line-height:1.55;
}
.ytb-member-page__card p{
  margin:0;
  font-size:11px;
  line-height:1.65;
}
.ytb-member-page__empty{
  padding:24px 0 10px;
  color:#766c65;
  font-size:13px;
}
.ytb-member-page > .ytb-member-page__wrap > .ytb-go-up{
  position:static;
  margin:4px 0 0 auto;
}
@media(max-width:760px){
  .ytb-member-page__wrap{
    width:min(calc(100% - 28px),875px);
  }
  .ytb-member-page__intro{
    grid-template-columns:1fr;
    gap:22px;
    margin-bottom:42px;
  }
  .ytb-member-page__intro-copy h1 span{
    font-size:22px;
  }
  .ytb-member-page__intro-copy p{
    font-size:14px;
  }
  .ytb-member-page__intro-illust img{
    width:190px;
    margin:0 auto;
  }
  .ytb-member-page__panel{
    padding:52px 18px 22px;
  }
  .ytb-member-page__panel h2 span{
    min-height:40px;
    font-size:18px;
  }
  .ytb-member-page__featured{
    grid-template-columns:1fr;
    gap:18px;
  }
  .ytb-member-page__featured-body h3{
    font-size:18px;
  }
  .ytb-member-page__cards{
    grid-template-columns:1fr;
    gap:28px;
  }
  .ytb-member-page__card h3{
    font-size:16px;
  }
}


/* =========================================================
   v27: 会員コンテンツ PDF形式
   ========================================================= */
.ytb-member-article__content--intro{
  margin-bottom:30px;
}
.ytb-member-pdf{
  margin-top:10px;
}
.ytb-member-pdf__viewer{
  width:100%;
  min-height:820px;
  border:1px solid #ddd8d2;
  background:#f6f5f2;
}
.ytb-member-pdf__viewer iframe{
  display:block;
  width:100%;
  height:820px;
  border:0;
}
.ytb-member-pdf__actions{
  margin:18px 0 0;
  text-align:center;
}
.ytb-member-pdf__actions a{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  border:1px solid #0f5a4d;
  border-radius:22px;
  color:#0f5a4d;
  font-size:13px;
  font-weight:600;
}
.ytb-member-pdf__missing{
  padding:24px;
  background:#f8f7f4;
  color:#756c64;
  text-align:center;
}
@media(max-width:760px){
  .ytb-member-pdf__viewer{
    min-height:620px;
  }
  .ytb-member-pdf__viewer iframe{
    height:620px;
  }
}

/* =========================================================
   v29: 可変レイアウト / ヘッダー中央ロゴ / 会員PDFページ内表示
   添付デザインの875pxは基準幅として維持しつつ、広い画面では可変。
   ========================================================= */
:root{
  --ytb-fluid-max:1180px;
}

/* サイト全体：875px固定をやめ、画面幅に応じて可変にする */
.ytb-container,
.ytb-static-page__inner,
.ytb-home-v2,
.ytb-about-wrap,
.ytb-works-wrap,
.ytb-words-wrap,
.ytb-baton-wrap,
.ytb-member-page__wrap{
  width:min(calc(100% - 40px),var(--ytb-fluid-max));
  max-width:var(--ytb-fluid-max);
  margin-left:auto;
  margin-right:auto;
}

/* 会員記事はPDFが読みやすい幅まで拡張 */
.ytb-member-article__inner{
  width:min(calc(100% - 40px),1000px);
  max-width:1000px;
}

@media(min-width:821px){
  /* 添付原稿：ロゴを上段中央、グローバルナビをその下に配置 */
  .ytb-header__inner{
    width:min(calc(100% - 40px),var(--ytb-fluid-max));
    max-width:var(--ytb-fluid-max);
    min-height:126px;
    padding:10px 0 8px;
    margin:0 auto;
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;
    gap:2px;
  }
  .ytb-logo{
    flex:0 0 auto;
    width:48px;
    height:78px;
    align-self:center;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .ytb-logo img{
    width:41px;
    max-height:78px;
    object-fit:contain;
  }
  .ytb-nav{
    width:100%;
    margin:0 auto;
    justify-content:center;
    gap:clamp(16px,2.1vw,30px);
    font-size:clamp(10px,.92vw,12px);
  }
}

/* 会員PDF：別画面へ飛ばさず記事内で閲覧 */
.ytb-member-pdf__viewer{
  width:100%;
  min-height:900px;
  border:1px solid #ddd8d2;
  background:#f6f5f2;
  overflow:hidden;
}
.ytb-member-pdf__viewer iframe{
  display:block;
  width:100%;
  height:900px;
  border:0;
}
.ytb-member-pdf__actions{
  display:none !important;
}

@media(max-width:820px){
  .ytb-container,
  .ytb-static-page__inner,
  .ytb-home-v2,
  .ytb-about-wrap,
  .ytb-works-wrap,
  .ytb-words-wrap,
  .ytb-baton-wrap,
  .ytb-member-page__wrap,
  .ytb-member-article__inner{
    width:min(calc(100% - 28px),var(--ytb-fluid-max));
  }
  .ytb-member-pdf__viewer,
  .ytb-member-pdf__viewer iframe{
    min-height:680px;
    height:680px;
  }
}


/* =========================================================
   v30: ヘッダーのロゴ・ナビ文字サイズを原稿バランスへ調整
   ※会員募集エリアのデザイン変更は行わない
   ========================================================= */
@media(min-width:821px){
  .ytb-header__inner{
    min-height:142px;
    padding:12px 0 10px;
    gap:4px;
  }
  .ytb-logo{
    width:62px;
    height:88px;
  }
  .ytb-logo img{
    width:58px;
    max-height:88px;
  }
  .ytb-nav{
    gap:clamp(18px,2.15vw,32px);
    font-size:clamp(12px,1.05vw,13px);
  }
  .ytb-nav a{
    padding:10px 0;
  }
}


/* =========================================================
   v31: ヘッダーロゴ拡大 / グロナビをメインビジュアル幅に合わせる
   ========================================================= */
@media(min-width:821px){
  .ytb-header__inner{
    min-height:166px;
    padding:14px 0 10px;
    gap:6px;
  }
  .ytb-logo{
    width:88px;
    height:108px;
  }
  .ytb-logo img{
    width:82px;
    max-height:108px;
    height:auto;
    object-fit:contain;
  }
  .ytb-nav{
    width:100%;
    margin:0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:0;
    font-size:clamp(13px,1.12vw,15px);
  }
  .ytb-nav a{
    flex:0 0 auto;
    padding:10px 0;
    white-space:nowrap;
  }
}


/* =========================================================
   v32: 添付ロゴへ差し替え / ロゴ拡大 / ナビ左右に微余白
   ========================================================= */
@media(min-width:821px){
  .ytb-header__inner{
    min-height:238px;
    padding:16px 0 10px;
    gap:7px;
  }
  .ytb-logo{
    width:112px;
    height:204px;
    flex:0 0 204px;
    align-self:center;
  }
  .ytb-logo img{
    width:106px;
    max-height:204px;
    height:auto;
    object-fit:contain;
  }
  .ytb-nav{
    width:100%;
    padding-left:8px;
    padding-right:8px;
    box-sizing:border-box;
    justify-content:space-between;
  }
}


/* =========================================================
   v33: 山田太一について / プロフィール部を元デザインへ調整
   ========================================================= */
@media(min-width:761px){
  .ytb-about-intro{
    width:min(100%,1005px);
    margin-left:auto;
    margin-right:auto;
  }
  .ytb-about-intro__grid{
    grid-template-columns:minmax(0,.85fr) minmax(0,1fr);
    gap:42px;
    align-items:stretch;
  }
  .ytb-about-intro__text{
    padding:34px 40px;
  }
  .ytb-about-intro__text p{
    font-size:14px;
    line-height:1.9;
  }
  .ytb-about-intro__portrait{
    align-self:start;
  }
  .ytb-about-intro__portrait img{
    display:block;
    width:100%;
    height:auto;
    min-height:0;
    object-fit:contain;
    object-position:center top;
  }
}

.ytb-about-credit{
  line-height:1.7;
}


/* =========================================================
   v34: 松竹・大船撮影所 写真を元デザインの全景表示へ
   ========================================================= */
.ytb-about-era__figure--kinoshita img{
  display:block;
  width:100%;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center;
}


/* =========================================================
   v35: 会員記事末尾のクレジット入りイラスト
   ========================================================= */
.ytb-member-article__flower{
  width:150px;
  max-width:36vw;
  margin:56px auto 0;
}
.ytb-member-article__flower img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:760px){
  .ytb-member-article__flower{
    width:120px;
    margin-top:42px;
  }
}

/* =========================================================
   v36: 山田太一が残した言葉 new_02
   PDFの二段組・余白感・引用配置へ再構成
   ========================================================= */
.ytb-words-page--new02{
  padding-top:20px;
  padding-bottom:84px;
}
.ytb-words-page--new02 .ytb-words-header h1{
  margin-bottom:20px;
  font-size:26px;
  font-weight:500;
}
.ytb-words-page--new02 .ytb-words-hero{
  width:min(100%,520px);
}
.ytb-words-page--new02 .ytb-words-hero img{
  width:100%;
  height:auto;
  aspect-ratio:520/310;
  object-fit:cover;
}
.ytb-words-page--new02 .ytb-words-lead{
  max-width:650px;
  margin:44px auto 68px;
}
.ytb-words-page--new02 .ytb-words-lead p{
  font-size:14px;
  line-height:1.9;
  font-weight:400;
}
.ytb-words-columns{
  width:min(100%,1010px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(58px,7vw,92px);
  align-items:start;
}
.ytb-words-column{
  display:flex;
  flex-direction:column;
  gap:44px;
  min-width:0;
}
.ytb-words-column--right{
  padding-top:56px;
}
.ytb-words-page--new02 blockquote.ytb-words-quote{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.ytb-words-page--new02 blockquote.ytb-words-quote::before,
.ytb-words-page--new02 blockquote.ytb-words-quote::after{
  content:none !important;
  display:none !important;
}
.ytb-words-page--new02 .ytb-words-quote p{
  margin:0 0 9px;
  font-size:13px;
  line-height:1.78;
  font-weight:500;
  letter-spacing:.015em;
}
.ytb-words-page--new02 .ytb-words-quote cite{
  display:block;
  margin:0;
  color:#4e4844;
  font-size:9.5px;
  line-height:1.5;
  font-style:normal;
  text-align:right;
}
.ytb-words-page--new02 .ytb-words-decoration{
  width:175px;
  margin:28px auto 0;
  align-self:center;
}
.ytb-words-page--new02 .ytb-words-decoration img{
  display:block;
  width:100%;
  height:auto;
}
.ytb-words-go-up{
  position:static;
  margin:54px 0 0 auto;
}

@media(max-width:760px){
  .ytb-words-page--new02 .ytb-words-header h1{
    font-size:24px;
  }
  .ytb-words-page--new02 .ytb-words-lead{
    margin:34px auto 42px;
  }
  .ytb-words-page--new02 .ytb-words-lead p{
    font-size:13.5px;
  }
  .ytb-words-columns{
    grid-template-columns:1fr;
    gap:36px;
  }
  .ytb-words-column,
  .ytb-words-column--right{
    padding-top:0;
    gap:34px;
  }
  .ytb-words-page--new02 .ytb-words-quote p{
    font-size:13px;
    line-height:1.8;
  }
  .ytb-words-page--new02 .ytb-words-decoration{
    width:150px;
    margin-top:10px;
  }
}

/* =========================================================
   v36: 新着情報 固定ページ
   PDF「1 new_02」の別ページデザインへ
   ========================================================= */
.ytb-news-page{
  padding:34px 0 82px;
  background:#fff;
}
.ytb-news-wrap{
  position:relative;
  width:min(calc(100% - 40px),var(--ytb-fluid-max));
  max-width:var(--ytb-fluid-max);
  margin:0 auto;
  color:#211b18;
  font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
}
.ytb-news-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 245px;
  gap:70px;
  align-items:start;
}
.ytb-news-heading{
  position:relative;
  margin:0 0 28px;
  border-bottom:1px solid #77716d;
}
.ytb-news-heading h1{
  margin:0;
  line-height:1;
}
.ytb-news-heading h1 span{
  display:inline-flex;
  align-items:center;
  min-height:35px;
  padding:0 13px;
  background:#211915;
  color:#fff;
  font-size:23px;
  font-weight:500;
  letter-spacing:.04em;
}
.ytb-news-entry h2{
  margin:0 0 34px;
  font-size:22px;
  line-height:1.6;
  font-weight:500;
}
.ytb-news-entry__lead{
  max-width:780px;
}
.ytb-news-entry__lead p,
.ytb-news-detail p{
  margin:0 0 20px;
  font-size:14px;
  line-height:1.9;
  letter-spacing:.01em;
}
.ytb-news-detail{
  margin-top:48px;
}
.ytb-news-detail h3{
  margin:0 0 12px;
  line-height:1;
}
.ytb-news-detail h3 span,
.ytb-news-archive h2 span{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:0 9px;
  background:#211915;
  color:#fff;
  font-size:14px;
  font-weight:500;
}
.ytb-news-detail--access{
  margin-top:46px;
}
.ytb-news-archive h2{
  margin:0 0 20px;
  border-bottom:1px solid #77716d;
  line-height:1;
  text-align:right;
}
.ytb-news-archive h2 span{
  min-height:35px;
  padding:0 12px;
  font-size:17px;
}
.ytb-news-archive ul{
  margin:0;
  padding:0 0 0 26px;
  list-style:none;
}
.ytb-news-archive li{
  position:relative;
  margin:0 0 13px;
  font-size:14px;
  line-height:1.6;
}
.ytb-news-archive li::before{
  content:"・";
  position:absolute;
  left:-19px;
}
.ytb-news-go-up{
  position:static;
  margin:54px 0 0 auto;
}
@media(max-width:820px){
  .ytb-news-wrap{
    width:min(calc(100% - 28px),var(--ytb-fluid-max));
  }
  .ytb-news-layout{
    grid-template-columns:1fr;
    gap:46px;
  }
  .ytb-news-heading h1 span{
    font-size:21px;
  }
  .ytb-news-entry h2{
    font-size:19px;
  }
  .ytb-news-entry__lead p,
  .ytb-news-detail p{
    font-size:13.5px;
  }
  .ytb-news-archive{
    width:min(100%,320px);
  }
  .ytb-news-archive h2{
    text-align:left;
  }
}

/* =========================================================
   v37: デザイナー確認0919対応（大幅な構造変更なし）
   ========================================================= */

/* 共通ナビ：少し拡大・文字間を詰める・現在地はサイトの緑で表示 */
@media(min-width:821px){
  .ytb-nav{
    font-size:clamp(14px,1.18vw,16px);
    letter-spacing:-.018em;
  }
  .ytb-nav a{
    padding:10px 3px;
    color:#231d19;
    font-weight:500;
  }
  .ytb-nav a.is-current{
    color:#075048;
    font-weight:700;
  }
  .ytb-nav a.is-current::after{
    left:3px;
    right:3px;
    background:#075048;
  }
}

/* TOP：引用の見え方、新着枠、4カード文字を調整 */
.ytb-home-hero-v2__quote img{
  opacity:1;
  filter:contrast(1.16);
}
.ytb-home-hero-v2__news{
  width:fit-content;
  min-width:205px;
  max-width:260px;
  min-height:0;
  height:auto;
  padding:18px 18px 16px;
}
.ytb-home-hero-v2__news h1{
  font-size:22px;
}
.ytb-home-hero-v2__news-body{
  max-height:none;
  overflow:visible;
  font-size:11.5px;
  line-height:1.75;
}
.ytb-home-link-card span{
  font-size:13px;
  line-height:1.4;
  font-weight:500;
}

/* TOP/バトン共通 会員募集：線幅統一、ゴシック、文字を一段拡大 */
.ytb-home-membership{
  border:3px solid #0a4d46;
  border-top-width:3px;
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
.ytb-home-membership__title span{
  height:48px;
  margin:-3px 0 0 -3px;
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  font-size:22px;
  letter-spacing:.04em;
}
.ytb-home-membership__body{
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
  column-gap:28px;
  padding:17px 23px 16px;
}
.ytb-home-membership__intro{
  padding-right:22px;
}
.ytb-home-membership__intro p{
  font-size:12.5px;
  line-height:1.7;
}
.ytb-home-membership__contents{
  padding-left:0;
}
.ytb-home-membership__label{
  font-size:12px;
}
.ytb-home-membership__bullet,
.ytb-home-membership__desc{
  font-size:12px;
  line-height:1.55;
}
.ytb-home-membership__item{
  margin-bottom:13px;
}
.ytb-home-membership__button{
  font-size:11px;
}

/* 山田太一について：プロフィール・年号・本文・キャプションを一段拡大 */
.ytb-about-intro__text p{
  font-size:15px;
  line-height:1.84;
  font-weight:500;
}
.ytb-about-era__text h2{
  font-size:31px;
}
.ytb-about-era__text h2 span{
  width:54px;
  height:54px;
  flex-basis:54px;
  font-size:13px;
  font-weight:600;
}
.ytb-about-era__text p{
  font-size:15px;
  line-height:1.88;
}
.ytb-about-era__figure figcaption{
  font-size:11.5px;
}
.ytb-about-credit{
  font-size:13.5px;
}

/* 作品一覧：レイアウトを変えず、タブと表の可読性だけ上げる */
.ytb-works-nav a{
  min-height:30px;
  padding:5px 7px;
  font-size:12px;
}
.ytb-works-section h2{
  min-height:30px;
  font-size:13px;
}
.ytb-works-table{
  font-size:13.5px;
}
.ytb-works-table thead th,
.ytb-works-table tbody th{
  font-size:14px;
}
.ytb-works-table tbody td{
  padding-top:11px;
  padding-bottom:12px;
  line-height:1.6;
}
.ytb-works-table tbody td strong{
  font-size:14.5px;
}
.ytb-works-table tbody td small{
  font-size:11.5px;
}

/* 山田太一が残した言葉：PDF案の二段組を維持しつつ文字を拡大 */
.ytb-words-page--new02 .ytb-words-lead p{
  font-size:15px;
}
.ytb-words-page--new02 .ytb-words-quote p{
  font-size:14.5px;
  line-height:1.82;
  font-weight:500;
}
.ytb-words-page--new02 .ytb-words-quote cite{
  font-size:10.5px;
}

/* バトンをつなぐ会：本文/メール拡大、イラストは切らない */
.ytb-baton-about__lead p{
  font-size:16px;
}
.ytb-baton-profile{
  font-size:14px;
}
.ytb-baton-about__illustration{
  overflow:visible;
}
.ytb-baton-about__illustration img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
.ytb-baton-contact h2{
  font-size:13px;
}
.ytb-baton-contact p{
  font-size:13.5px;
  line-height:1.75;
}
.ytb-baton-contact__mail{
  font-size:13.5px;
}

/* 会員ページ：TOP会員募集と同系のゴシック・線幅、ラベル上辺のズレ修正 */
.ytb-member-page__wrap{
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
.ytb-member-page__intro-illust{
  overflow:visible;
}
.ytb-member-page__intro-illust img{
  display:block;
  max-width:235px;
  width:100%;
  height:auto;
  object-fit:contain;
}
.ytb-member-page__panel{
  border:3px solid #0a4d46;
  padding-top:48px;
}
.ytb-member-page__panel h2{
  top:-3px;
  left:-3px;
}
.ytb-member-page__panel h2 span{
  min-height:44px;
  font-size:20px;
  font-weight:600;
}
.ytb-member-page__featured-body p{
  font-size:14px;
}
.ytb-member-page__date{
  font-size:11.5px !important;
}
.ytb-member-page__card h3{
  font-size:15.5px;
}
.ytb-member-page__card p{
  font-size:12.5px;
}

/* 新着情報：既存構造のまま文字を拡大 */
.ytb-news-entry__lead p,
.ytb-news-detail p{
  font-size:15px;
  line-height:1.9;
}
.ytb-news-archive li{
  font-size:15px;
}

/* 会員記事：タイトル中央。PDF形式はPDF本文だけを見せる */
.ytb-member-article__header h1{
  text-align:center;
}
.ytb-member-article__inner--pdf{
  width:min(calc(100% - 40px),1000px);
  max-width:1000px;
}
.ytb-member-article__header--pdf{
  max-width:900px;
  margin:0 auto 30px;
}
.ytb-member-article__header--pdf h1{
  margin-bottom:0;
  font-size:32px;
}
.ytb-member-article__inner--pdf .ytb-member-pdf{
  margin-top:0;
}
.ytb-member-article__inner--pdf .ytb-member-pdf__viewer{
  min-height:1100px;
  border:0;
  background:#fff;
  box-shadow:none;
}
.ytb-member-article__inner--pdf .ytb-member-pdf__viewer iframe{
  width:100%;
  height:1100px;
  border:0;
  background:#fff;
}

@media(max-width:820px){
  .ytb-home-hero-v2__news{
    width:min(255px,calc(100% - 40px));
    max-width:255px;
  }
  .ytb-home-membership{
    border-width:3px;
  }
  .ytb-home-membership__title span{
    margin:-3px 0 0 -3px;
  }
  .ytb-home-membership__body{
    grid-template-columns:1fr;
  }
  .ytb-about-intro__text p,
  .ytb-about-era__text p{
    font-size:14px;
  }
  .ytb-about-era__text h2{
    font-size:27px;
  }
  .ytb-about-era__text h2 span{
    width:50px;
    height:50px;
    flex-basis:50px;
    font-size:12px;
  }
  .ytb-works-nav{
    grid-template-columns:repeat(2,1fr);
  }
  .ytb-words-page--new02 .ytb-words-quote p{
    font-size:14px;
  }
  .ytb-member-page__panel{
    border-width:3px;
  }
  .ytb-member-page__panel h2{
    top:-3px;
    left:-3px;
  }
  .ytb-member-article__inner--pdf{
    width:min(calc(100% - 20px),1000px);
  }
  .ytb-member-article__header--pdf h1{
    font-size:25px;
  }
  .ytb-member-article__inner--pdf .ytb-member-pdf__viewer,
  .ytb-member-article__inner--pdf .ytb-member-pdf__viewer iframe{
    min-height:760px;
    height:760px;
  }
}


/* =========================================================
   v38: 会員PDFを本文だけで表示 / 新着情報を投稿型へ
   ========================================================= */

/* 会員記事：タイトル・メイン画像・本文導入を中央基準に */
.ytb-member-article__header{
  text-align:center;
}
.ytb-member-article__header h1{
  margin-left:auto;
  margin-right:auto;
  max-width:920px;
  text-align:center;
}
.ytb-member-article__visual,
.ytb-member-article__visual--pdf,
.ytb-member-pdf-intro .wp-block-image,
.ytb-member-pdf-intro figure{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.ytb-member-article__visual img,
.ytb-member-pdf-intro .wp-block-image img,
.ytb-member-pdf-intro figure img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  margin-left:auto;
  margin-right:auto;
}
.ytb-member-article__visual--pdf{
  max-width:760px;
  margin-bottom:30px;
}
.ytb-member-pdf-intro{
  max-width:1000px;
  margin:0 auto 28px;
  font-size:15px;
  line-height:1.9;
}
.ytb-member-pdf-intro > :first-child{margin-top:0}
.ytb-member-pdf-intro > :last-child{margin-bottom:0}

/* ブラウザ標準PDFビューアを使わず、PDF.jsでページだけ描画する */
.ytb-member-article__inner--pdf .ytb-member-pdf{
  width:100%;
  margin:28px auto 0;
}
.ytb-pdfjs-viewer{
  width:100%;
  max-width:1000px;
  margin:0 auto;
  padding:0;
  background:#fff;
}
.ytb-pdfjs-viewer__loading,
.ytb-pdfjs-viewer__error{
  margin:28px 0;
  padding:24px;
  text-align:center;
  font-size:14px;
  color:#655d57;
  background:#f7f6f3;
}
.ytb-pdfjs-page{
  width:100%;
  margin:0 auto 26px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  background:#fff;
}
.ytb-pdfjs-page canvas{
  display:block;
  max-width:100%;
  height:auto;
  margin:0 auto;
  background:#fff;
  box-shadow:0 1px 7px rgba(0,0,0,.12);
}
/* 旧 iframe / Gutenberg File UI はPDF記事では表示しない */
.ytb-member-article__inner--pdf iframe,
.ytb-member-article__inner--pdf embed,
.ytb-member-article__inner--pdf object,
.ytb-member-article__inner--pdf .wp-block-file__button,
.ytb-member-article__inner--pdf .wp-block-file__embed,
.ytb-member-article__inner--pdf a[download]{
  display:none !important;
}

/* 新着情報：投稿一覧 */
.ytb-news-categories{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 34px;
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
.ytb-news-categories a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:4px 16px;
  border:1px solid #211915;
  background:#fff;
  color:#211915;
  font-size:13px;
}
.ytb-news-categories a.is-current{
  background:#211915;
  color:#fff;
}
.ytb-news-list__item{
  padding:0 0 34px;
  margin:0 0 34px;
  border-bottom:1px solid #b7b0aa;
}
.ytb-news-list__meta{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 9px;
  color:#756d67;
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  font-size:12px;
}
.ytb-news-list__meta span{
  display:inline-flex;
  padding:2px 8px;
  background:#075048;
  color:#fff;
  font-size:11px;
}
.ytb-news-list__item h2,
.ytb-news-article > h2{
  margin:0 0 18px;
  font-size:22px;
  line-height:1.55;
  font-weight:500;
}
.ytb-news-list__item h2 a{color:inherit}
.ytb-news-list__thumb{
  display:block;
  max-width:620px;
  margin:0 0 18px;
}
.ytb-news-list__thumb img,
.ytb-news-article__visual img{
  display:block;
  width:100%;
  height:auto;
}
.ytb-news-list__excerpt{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.85;
}
.ytb-news-list__more{
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  font-size:12px;
  text-decoration:underline;
}
.ytb-news-archive a{color:inherit}
.ytb-news-archive a.is-current{font-weight:700;color:#075048}
.ytb-news-pagination ul{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  list-style:none;
  padding:0;
  margin:10px 0 0;
}
.ytb-news-pagination a,
.ytb-news-pagination span{
  display:flex;
  min-width:30px;
  min-height:30px;
  align-items:center;
  justify-content:center;
  border:1px solid #b7b0aa;
  padding:2px 8px;
}
.ytb-news-pagination .current{
  background:#211915;
  color:#fff;
}
.ytb-news-article__visual{
  max-width:760px;
  margin:0 0 28px;
}
.ytb-news-article__content{
  font-size:15px;
  line-height:1.9;
}
.ytb-news-article__content h2{
  display:inline-flex;
  min-height:27px;
  align-items:center;
  margin:38px 0 12px;
  padding:0 9px;
  background:#211915;
  color:#fff;
  font-size:14px;
  font-weight:500;
}
.ytb-news-article__content p{margin:0 0 20px}

@media(max-width:820px){
  .ytb-member-article__header--pdf h1{font-size:24px}
  .ytb-member-pdf-intro{font-size:14px}
  .ytb-pdfjs-page{margin-bottom:16px}
  .ytb-news-list__item h2,
  .ytb-news-article > h2{font-size:19px}
  .ytb-news-list__excerpt,
  .ytb-news-article__content{font-size:14px}
  .ytb-news-categories{gap:6px}
  .ytb-news-categories a{padding:4px 10px;font-size:12px}
}


/* =========================================================
   v39: TOP引用の鮮明化 / about出典 / 会員PDFズーム
   ========================================================= */

/* TOPメインコピー：元PNGを加工せず、そのまま描画してかすれを防ぐ */
.ytb-home-hero-v2__quote img{
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  image-rendering:auto;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}

/* 会員PDF：標準ビューアではなくPDF本文＋最小限の拡大縮小だけ */
.ytb-member-article__inner--pdf .ytb-member-pdf{
  overflow:visible;
}
.ytb-pdfjs-controls{
  position:sticky;
  top:8px;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:max-content;
  margin:0 auto 14px;
  padding:6px 8px;
  border:1px solid #d6d1cc;
  border-radius:24px;
  background:rgba(255,255,255,.96);
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
.ytb-pdfjs-controls__button,
.ytb-pdfjs-controls__scale{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:#241c18;
  cursor:pointer;
  line-height:1;
}
.ytb-pdfjs-controls__button{
  width:34px;
  height:34px;
  border-radius:50%;
  font-size:24px;
}
.ytb-pdfjs-controls__button:hover,
.ytb-pdfjs-controls__scale:hover{
  background:#f2f0ed;
}
.ytb-pdfjs-controls__scale{
  min-width:62px;
  height:34px;
  padding:0 8px;
  border-radius:17px;
  font-size:13px;
  font-weight:600;
}
.ytb-pdfjs-viewer{
  overflow-x:auto;
  overflow-y:visible;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.ytb-pdfjs-page{
  max-width:none;
}
.ytb-pdfjs-viewer.is-zoomed .ytb-pdfjs-page{
  margin-left:0;
  margin-right:0;
}
.ytb-pdfjs-page canvas{
  max-width:none;
}

@media(max-width:820px){
  .ytb-pdfjs-controls{
    top:5px;
    margin-bottom:10px;
  }
  .ytb-pdfjs-controls__button{width:32px;height:32px;font-size:22px}
  .ytb-pdfjs-controls__scale{height:32px;min-width:58px;font-size:12px}
}


/* =========================================================
   v41: TOP新着情報を「新着情報」投稿と自動連動
   ========================================================= */
.ytb-home-hero-v2__news h1 a{
  color:inherit;
  text-decoration:none;
}
.ytb-home-news-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ytb-home-news-item{
  margin:0;
}
.ytb-home-news-item time{
  display:block;
  margin:0 0 2px;
  color:#6f665f;
  font-size:9.5px;
  line-height:1.4;
}
.ytb-home-news-item a{
  display:block;
  color:#2f2925;
  text-decoration:none;
  font-size:11.5px;
  line-height:1.55;
}
.ytb-home-news-item a:hover,
.ytb-home-news-item a:focus{
  text-decoration:underline;
}
@media(max-width:760px){
  .ytb-home-news-item time{font-size:9px}
  .ytb-home-news-item a{font-size:11px}
}


/* =========================================================
   v44: requested copy updates + SP hero quote separation
   PC hero remains unchanged. On SP, quote sits in its own block
   above the portrait so it never overlaps the face.
   ========================================================= */
@media(max-width:760px){
  .ytb-home-hero-v2{
    height:730px !important;
    background:#fff;
    overflow:hidden;
  }
  .ytb-home-hero-v2__image{
    position:absolute;
    top:170px;
    left:0;
    width:100%;
    height:560px !important;
    object-fit:cover;
    object-position:58% center;
  }
  .ytb-home-hero-v2__quote{
    position:absolute;
    top:18px !important;
    left:22px !important;
    right:22px !important;
    width:auto;
    max-width:none !important;
    min-height:134px;
    display:flex;
    align-items:center;
    z-index:3;
    background:#fff !important;
  }
  .ytb-home-hero-v2__quote img{
    width:min(295px,calc(100vw - 44px)) !important;
    max-width:295px !important;
    height:auto;
  }
  .ytb-home-hero-v2__news{
    bottom:20px;
    z-index:4;
  }
}


/* =========================================================
   v46: 会員募集エリアの文字サイズ調整
   TOP / バトンページ共通パーツに適用
   ========================================================= */
.ytb-home-membership__intro p{
  font-size:14px;
  line-height:1.72;
}
.ytb-home-membership__label{
  font-size:13.5px;
}
.ytb-home-membership__bullet,
.ytb-home-membership__desc{
  font-size:13.5px;
  line-height:1.58;
}
.ytb-home-membership__button{
  min-width:235px;
  height:36px;
  padding:0 20px;
  border-radius:18px;
  font-size:14px;
  line-height:1;
  white-space:nowrap;
}
@media(min-width:761px){
  .ytb-home-membership__contents{
    padding-bottom:62px;
  }
}
@media(max-width:760px){
  .ytb-home-membership__intro p{
    font-size:14px;
  }
  .ytb-home-membership__label{
    font-size:13.5px;
  }
  .ytb-home-membership__bullet,
  .ytb-home-membership__desc{
    font-size:13.5px;
    line-height:1.62;
  }
  .ytb-home-membership__button{
    min-width:235px;
    min-height:38px;
    height:auto;
    padding:9px 20px;
    font-size:14px;
  }
}


/* =========================================================
   v47: 会員募集追記 / 会員ページ複数無料公開 / 新着固定カテゴリー
   ========================================================= */
.ytb-home-membership__intro img{
  display:block;
}
.ytb-home-membership__corporate{
  margin:14px 0 5px !important;
  font-size:12.5px !important;
  line-height:1.72 !important;
  font-weight:700;
}
.ytb-home-membership__corporate-mail{
  margin:0 !important;
  font-size:13.5px !important;
  line-height:1.5 !important;
  font-weight:700;
}
.ytb-home-membership__corporate-mail a{
  color:inherit;
  text-decoration:underline;
  overflow-wrap:anywhere;
}
.ytb-member-page__panel--free .ytb-member-page__featured--free + .ytb-member-page__featured--free{
  margin-top:34px;
  padding-top:34px;
  border-top:1px solid #b9b2ac;
}
.ytb-member-page__panel--backnumber + .ytb-home-membership{
  margin-top:64px;
}
@media(max-width:760px){
  .ytb-home-membership__corporate{
    font-size:12.5px !important;
  }
  .ytb-home-membership__corporate-mail{
    font-size:13px !important;
  }
  .ytb-member-page__panel--free .ytb-member-page__featured--free + .ytb-member-page__featured--free{
    margin-top:26px;
    padding-top:26px;
  }
  .ytb-member-page__panel--backnumber + .ytb-home-membership{
    margin-top:46px;
  }
}

/* =========================================================
   v49: 会員カテゴリー / YouTube / 同カテゴリー回遊
   ========================================================= */


/* ---------------------------------------------------------
   会員ページ カテゴリー
--------------------------------------------------------- */

.ytb-member-categories{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 52px;
  padding:0;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    sans-serif;
}

.ytb-member-categories a{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  justify-content:center;
  padding:5px 15px;
  border:1px solid #a9a19b;
  background:#fff;
  color:#312925;
  font-size:13px;
  line-height:1.4;
  text-decoration:none;
  transition:
    background .2s ease,
    color .2s ease,
    border-color .2s ease;
}

.ytb-member-categories a:hover,
.ytb-member-categories a:focus,
.ytb-member-categories a.is-current{
  border-color:#075048;
  background:#075048;
  color:#fff;
}


/* ---------------------------------------------------------
   会員一覧 カテゴリー名
--------------------------------------------------------- */

.ytb-member-page__category{
  margin:0 0 6px !important;
  color:#075048;
  font-size:11.5px !important;
  font-weight:700;
  line-height:1.5 !important;
}

.ytb-member-page__featured-body h3 a,
.ytb-member-page__card h3 a{
  color:inherit;
  text-decoration:none;
}

.ytb-member-page__featured-body h3 a:hover,
.ytb-member-page__card h3 a:hover{
  text-decoration:underline;
}


/* ---------------------------------------------------------
   一覧イラスト
--------------------------------------------------------- */

.ytb-member-page__intro-illust img{
  object-fit:contain !important;
  object-position:center !important;
  background:#fff;
}

.ytb-member-page__featured-visual img,
.ytb-member-page__card-visual img{
  display:block;
}

.ytb-member-page__featured-visual img[src*="member/member-illustration"],
.ytb-member-page__card-visual img[src*="member/member-illustration"]{
  object-fit:contain;
  background:#fff;
}


/* ---------------------------------------------------------
   YouTube
--------------------------------------------------------- */

.ytb-member-video{
  width:100%;
  max-width:1000px;
  margin:54px auto 0;
}

.ytb-member-video iframe{
  display:block;
  width:100%;
  max-width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  margin:0 auto;
  border:0;
}


/* ---------------------------------------------------------
   個別記事 関連エリア
--------------------------------------------------------- */

.ytb-member-related{
  width:100%;
  max-width:1000px;
  margin:82px auto 0;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    sans-serif;
}


/* ---------------------------------------------------------
   前の記事 / 次の記事
--------------------------------------------------------- */

.ytb-member-prev-next{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  min-height:72px;
  margin:0 0 88px;
  background:#f6f6f6;
}

.ytb-member-prev,
.ytb-member-next{
  min-width:0;
}

.ytb-member-next{
  text-align:right;
}

.ytb-member-prev a,
.ytb-member-next a{
  display:flex;
  min-height:72px;
  align-items:center;
  gap:13px;
  padding:12px 22px;
  color:#2f2b28;
  font-size:15px;
  line-height:1.5;
  text-decoration:none;
}

.ytb-member-next a{
  justify-content:flex-end;
}

.ytb-member-prev a:hover,
.ytb-member-next a:hover{
  background:#efefef;
}

.ytb-member-arrow{
  display:inline-flex;
  align-items:center;
  font-family:Arial,sans-serif;
  font-size:27px;
  font-weight:300;
  line-height:1;
}


/* ---------------------------------------------------------
   バックナンバー
--------------------------------------------------------- */

.ytb-member-backnumber{
  margin:0;
}

.ytb-member-backnumber h2{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:44px;
  margin:0 0 8px;
  color:#302d2a;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    sans-serif;
  font-size:30px;
  font-weight:700;
  line-height:1.4;
  text-align:center;
}

.ytb-member-backnumber h2::before,
.ytb-member-backnumber h2::after{
  content:"";
  display:block;
  width:34px;
  height:1px;
  background:#aaa;
}

.ytb-member-backnumber-list{
  border-top:1px solid #cfcac6;
}

.ytb-member-backnumber-item{
  display:grid;
  grid-template-columns:
    110px
    minmax(0,1fr);
  align-items:center;
  min-height:70px;
  padding:0 10px;
  border-bottom:1px solid #cfcac6;
  color:#38322f;
  text-decoration:none;
}

.ytb-member-backnumber-item:hover{
  background:#fafafa;
}

.ytb-member-backnumber-date{
  padding:0 20px 0 0;
  border-right:1px solid #d1ccc8;
  font-size:16px;
  line-height:1.5;
  white-space:nowrap;
}

.ytb-member-backnumber-title{
  min-width:0;
  padding:0 22px;
  font-size:15px;
  line-height:1.65;
}

.ytb-member-backnumber__empty{
  padding:32px 0;
  border-top:1px solid #cfcac6;
  border-bottom:1px solid #cfcac6;
  color:#746b65;
  font-size:14px;
  text-align:center;
}


/* ---------------------------------------------------------
   PDF記事でも関連エリアを通常幅で表示
--------------------------------------------------------- */

.ytb-member-article__inner--pdf
.ytb-member-related{
  max-width:1000px;
}


/* ---------------------------------------------------------
   SP
--------------------------------------------------------- */

@media(max-width:760px){

  .ytb-member-categories{
    gap:6px;
    margin-bottom:40px;
  }

  .ytb-member-categories a{
    min-height:32px;
    padding:5px 11px;
    font-size:12px;
  }


  .ytb-member-video{
    margin-top:38px;
  }


  .ytb-member-related{
    margin-top:55px;
  }


  .ytb-member-prev-next{
    min-height:60px;
    margin-bottom:60px;
  }

  .ytb-member-prev a,
  .ytb-member-next a{
    min-height:60px;
    gap:7px;
    padding:10px 13px;
    font-size:13px;
  }

  .ytb-member-arrow{
    font-size:23px;
  }


  .ytb-member-backnumber h2{
    gap:15px;
    font-size:21px;
  }

  .ytb-member-backnumber h2::before,
  .ytb-member-backnumber h2::after{
    width:22px;
  }


  .ytb-member-backnumber-item{
    grid-template-columns:
      82px
      minmax(0,1fr);
    min-height:65px;
    padding:0 5px;
  }

  .ytb-member-backnumber-date{
    padding-right:10px;
    font-size:12px;
  }

  .ytb-member-backnumber-title{
    padding:0 0 0 12px;
    font-size:13px;
    line-height:1.55;
  }


}


/* ---------------------------------------------------------
   小さいSP
--------------------------------------------------------- */

@media(max-width:420px){

  .ytb-member-prev a,
  .ytb-member-next a{
    font-size:12px;
  }

  .ytb-member-backnumber h2{
    font-size:19px;
  }

  .ytb-member-backnumber h2::before,
  .ytb-member-backnumber h2::after{
    width:16px;
  }

}


/* =========================================================
   v50: クレジット入りイラストのサイズ調整
   0927見本（横875px）の配置比率に合わせる。
   会員一覧の画像未設定時は挿絵を拡大せずプレースホルダー表示。
   ========================================================= */

.ytb-member-page__placeholder{
  display:block;
}

@media(min-width:761px){
  /* 作品一覧：りんご＋クレジット */
  .ytb-works-intro__mark{
    width:137px;
    max-width:137px;
    height:auto;
  }

  /* 山田太一が残した言葉：木＋クレジット */
  .ytb-words-page--new02 .ytb-words-decoration{
    width:179px;
    max-width:179px;
  }

  /* バトンをつなぐ会：犬＋クレジット */
  .ytb-baton-about__illustration{
    width:209px;
    max-width:209px;
    justify-self:end;
  }
  .ytb-baton-about__illustration img{
    width:209px;
    max-width:100%;
    height:auto;
  }

  /* 会員ページ：人物＋クレジット */
  .ytb-member-page__intro-illust{
    justify-self:end;
  }
  .ytb-member-page__intro-illust img{
    width:135px;
    max-width:135px;
    height:auto;
    margin-left:auto;
  }

  /* 会員記事末尾：花＋クレジット */
  .ytb-member-article__flower{
    width:100px;
    max-width:100px;
  }
}

@media(max-width:760px){
  .ytb-works-intro__mark{
    width:122px;
    max-width:42vw;
  }

  .ytb-words-page--new02 .ytb-words-decoration{
    width:150px;
    max-width:48vw;
  }

  .ytb-baton-about__illustration{
    width:180px;
    max-width:58vw;
    margin-left:auto;
    margin-right:auto;
  }
  .ytb-baton-about__illustration img{
    width:100%;
    height:auto;
  }

  .ytb-member-page__intro-illust img{
    width:125px;
    max-width:42vw;
    margin-left:auto;
    margin-right:auto;
  }

  .ytb-member-article__flower{
    width:90px;
    max-width:30vw;
  }
}

/* =========================================================
   v51: 作品一覧のPC幅を0927見本の875px基準へ戻す
   v29の全体可変幅（1180px）が作品一覧まで広げていたため、
   作品一覧だけ元設計の875pxに固定する。SPレイアウトは変更しない。
   ========================================================= */
@media(min-width:761px){
  .ytb-works-wrap{
    width:min(calc(100% - 40px),875px);
    max-width:875px;
  }
}

/* =========================================================
   v53: 作品一覧 上段のみ0927見本比率へ調整
   v52で下段のカテゴリナビ・作品表まで縮小した変更を撤回。
   外側はv51の875pxを維持し、導入部だけ778pxで中央配置する。
   ========================================================= */
@media(min-width:761px){
  .ytb-works-wrap{
    width:min(calc(100% - 40px),875px);
    max-width:875px;
  }

  .ytb-works-intro{
    width:778px;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    grid-template-columns:244px 495px;
    gap:39px;
  }

  .ytb-works-intro__visual img{
    width:495px;
    max-width:100%;
    height:341px;
    object-fit:cover;
    object-position:center center;
  }

  .ytb-works-intro__mark{
    width:207px;
    max-width:207px;
    height:auto;
    margin-left:36px;
  }
}

/* =========================================================
   v54: 会員ページを0927見本の比率へ調整
   875px画面内で本文・記事枠は約750px。
   導入イラストは約150pxで右下寄せ。
   ========================================================= */
@media(min-width:761px){
  .ytb-member-page__wrap{
    width:min(calc(100% - 40px),750px);
    max-width:750px;
  }

  .ytb-member-page__intro{
    grid-template-columns:410px 1fr;
    gap:58px;
    align-items:stretch;
  }

  .ytb-member-page__intro-illust{
    display:flex;
    justify-content:flex-end;
    align-self:end;
    justify-self:stretch;
    padding-right:26px;
    margin:0;
  }

  .ytb-member-page__intro-illust img{
    display:block;
    width:150px;
    max-width:150px;
    height:auto;
    margin:0;
    object-fit:contain;
  }
}


/* =========================================================
   v55: 「バトンをつなぐ会について」を0927見本比率へ調整
   875px基準の見本から、上部は約800px、会員募集枠は約822px。
   犬＋クレジット画像は見本上の約229pxへ戻す。
   ========================================================= */
@media(min-width:761px){
  .ytb-baton-wrap{
    width:min(calc(100% - 40px),822px);
    max-width:822px;
  }

  .ytb-baton-about{
    width:800px;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  .ytb-baton-contact{
    width:800px;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  .ytb-baton-about__illustration{
    width:229px;
    max-width:229px;
    justify-self:end;
  }

  .ytb-baton-about__illustration img{
    width:229px;
    max-width:100%;
    height:auto;
  }

  .ytb-baton-page .ytb-home-membership{
    width:100%;
    max-width:822px;
    margin-left:auto;
    margin-right:auto;
  }
}

/* =========================================================
   v56: 会員募集枠の線幅を統一
   右上・左下を含め、枠を構成する線を同じ4pxにする
   ========================================================= */
.ytb-home-membership{
  --ytb-membership-frame-width:4px;
}

@media(min-width:761px){
  .ytb-home-membership::before{
    height:var(--ytb-membership-frame-width);
  }

  .ytb-home-membership__body{
    border-left-width:var(--ytb-membership-frame-width);
    border-right-width:var(--ytb-membership-frame-width);
  }

  .ytb-home-membership__body::after{
    height:var(--ytb-membership-frame-width);
    right:calc(-1 * var(--ytb-membership-frame-width));
  }
}

@media(max-width:760px){
  .ytb-home-membership::before{
    height:var(--ytb-membership-frame-width);
  }

  .ytb-home-membership__body{
    border-left-width:var(--ytb-membership-frame-width);
    border-right-width:var(--ytb-membership-frame-width);
    border-bottom-width:var(--ytb-membership-frame-width);
  }
}

/* =========================================================
   v58: 会員募集枠の線幅を完全統一
   旧3px外枠と4px内側罫線の重なりを解消し、
   見えている罫線をすべて4pxで描画する。
   ========================================================= */
.ytb-home-membership{
  --ytb-membership-frame-width:4px;
  --ytb-membership-frame-color:#075048;
  border:0 !important;
}

@media(min-width:761px){
  .ytb-home-membership::before{
    height:var(--ytb-membership-frame-width);
    background:var(--ytb-membership-frame-color);
  }

  .ytb-home-membership__body{
    border-left:var(--ytb-membership-frame-width) solid var(--ytb-membership-frame-color);
    border-right:var(--ytb-membership-frame-width) solid var(--ytb-membership-frame-color);
  }

  .ytb-home-membership__body::after{
    height:var(--ytb-membership-frame-width);
    right:calc(-1 * var(--ytb-membership-frame-width));
    background:var(--ytb-membership-frame-color);
  }
}

@media(max-width:760px){
  .ytb-home-membership::before{
    height:var(--ytb-membership-frame-width);
    background:var(--ytb-membership-frame-color);
  }

  .ytb-home-membership__body{
    border-left:var(--ytb-membership-frame-width) solid var(--ytb-membership-frame-color);
    border-right:var(--ytb-membership-frame-width) solid var(--ytb-membership-frame-color);
    border-bottom:var(--ytb-membership-frame-width) solid var(--ytb-membership-frame-color);
  }
}


/* =========================================================
   v60: クレジット入りイラストの見かけの文字サイズを統一
   「絵：山田太一」は画像内に埋め込まれているため、
   元画像ごとのクレジット文字比率に合わせて表示幅を個別調整。
   犬イラストの見え方を基準に、5種類を同程度へ揃える。
   ========================================================= */
@media(min-width:761px){
  /* 作品一覧：りんご */
  .ytb-works-intro__mark{
    width:200px;
    max-width:200px;
  }

  /* 山田太一が残した言葉：木 */
  .ytb-words-page--new02 .ytb-words-decoration{
    width:203px;
    max-width:203px;
  }

  /* バトンをつなぐ会：犬（基準） */
  .ytb-baton-about__illustration{
    width:229px;
    max-width:229px;
  }
  .ytb-baton-about__illustration img{
    width:229px;
    max-width:100%;
    height:auto;
  }

  /* 会員ページ：人物 */
  .ytb-member-page__intro-illust img{
    width:226px;
    max-width:226px;
    height:auto;
  }

  /* 会員記事末尾：花 */
  .ytb-member-article__flower{
    width:141px;
    max-width:141px;
  }
}

@media(max-width:760px){
  /* SPでもクレジット文字の見かけを同程度にする */
  .ytb-works-intro__mark{
    width:170px;
    max-width:48vw;
  }

  .ytb-words-page--new02 .ytb-words-decoration{
    width:173px;
    max-width:52vw;
  }

  .ytb-baton-about__illustration{
    width:195px;
    max-width:58vw;
  }
  .ytb-baton-about__illustration img{
    width:100%;
    height:auto;
  }

  .ytb-member-page__intro-illust img{
    width:193px;
    max-width:56vw;
  }

  .ytb-member-article__flower{
    width:120px;
    max-width:36vw;
  }
}

/* =========================================================
   v61: 最終イラストデータへ差し替え
   「イラスト+クレジット.pdf」を正本とし、5点を同一PDF倍率で表示。
   PDF内で同じサイズの「絵：山田太一」が、サイト上でも同程度に見える比率にする。
   ========================================================= */
@media(min-width:761px){
  /* 作品一覧：りんご */
  .ytb-works-intro__mark{
    width:210px;
    max-width:210px;
    height:auto;
  }

  /* 山田太一が残した言葉：木 */
  .ytb-words-page--new02 .ytb-words-decoration{
    width:204px;
    max-width:204px;
    height:auto;
  }

  /* バトンをつなぐ会：犬 */
  .ytb-baton-about__illustration{
    width:229px;
    max-width:229px;
  }
  .ytb-baton-about__illustration img{
    width:229px;
    max-width:100%;
    height:auto;
  }

  /* 会員ページ：人物 */
  .ytb-member-page__intro-illust img{
    width:156px;
    max-width:156px;
    height:auto;
  }

  /* 会員記事末尾：花 */
  .ytb-member-article__flower{
    width:122px;
    max-width:122px;
  }
}

@media(max-width:760px){
  /* SPでも同じPDF倍率比を保つ */
  .ytb-works-intro__mark{
    width:179px;
    max-width:48vw;
    height:auto;
  }

  .ytb-words-page--new02 .ytb-words-decoration{
    width:174px;
    max-width:52vw;
    height:auto;
  }

  .ytb-baton-about__illustration{
    width:195px;
    max-width:58vw;
  }
  .ytb-baton-about__illustration img{
    width:100%;
    height:auto;
  }

  .ytb-member-page__intro-illust img{
    width:133px;
    max-width:42vw;
    height:auto;
  }

  .ytb-member-article__flower{
    width:104px;
    max-width:36vw;
  }
}

/* =========================================================
   v62: 会員ページ囲み枠統一 / 会員募集文言調整 / 会員ページデフォルト写真
   ========================================================= */
.ytb-home-membership__corporate-note{
  margin:6px 0 8px !important;
  font-size:12.5px !important;
  line-height:1.72 !important;
  font-weight:400;
}

.ytb-member-page__panel{
  position:relative;
  border:0;
  border-left:4px solid #075048;
  border-right:4px solid #075048;
  border-bottom:4px solid #075048;
  padding:46px 18px 22px;
}
.ytb-member-page__panel::before{
  content:"";
  position:absolute;
  top:0;
  left:140px;
  right:0;
  height:4px;
  background:#075048;
}
.ytb-member-page__panel h2{
  position:absolute;
  top:0;
  left:0;
  margin:0;
}
.ytb-member-page__panel h2 span{
  min-height:44px;
  padding:0 16px;
  background:#075048;
}
@media(max-width:760px){
  .ytb-home-membership__corporate-note{
    font-size:12.5px !important;
  }
  .ytb-member-page__panel{
    padding:50px 14px 18px;
  }
  .ytb-member-page__panel::before{
    left:118px;
  }
}

/* =========================================================
   v63: 会員ページ囲み枠を会員募集枠と同じ形へ / 注意書きのみ小さく
   ========================================================= */
@media(min-width:761px){
  .ytb-member-page__panel{
    border-bottom:0;
  }
  .ytb-member-page__panel::before{
    left:145px;
  }
  .ytb-member-page__panel::after{
    content:"";
    position:absolute;
    left:62px;
    right:-4px;
    bottom:0;
    height:4px;
    background:#075048;
  }
}

.ytb-home-membership__corporate,
.ytb-home-membership__corporate-note{
  font-size:11.5px !important;
}

@media(max-width:760px){
  .ytb-home-membership__corporate,
  .ytb-home-membership__corporate-note{
    font-size:11.5px !important;
  }
}

/* =========================================================
   v64: 会員ページ見出しラベルのみ会員募集中と統一
   ========================================================= */
.ytb-member-page__panel{
  border:3px solid #075048;
  padding:46px 18px 22px;
}
.ytb-member-page__panel::before,
.ytb-member-page__panel::after{
  content:none;
  display:none;
}
.ytb-member-page__panel h2{
  top:-3px;
  left:-3px;
}
.ytb-member-page__panel h2 span{
  height:48px;
  min-height:48px;
  padding:0 16px;
  background:#075048;
  font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  font-size:22px;
  letter-spacing:.04em;
}
@media(max-width:760px){
  .ytb-member-page__panel{
    padding:50px 14px 18px;
  }
  .ytb-member-page__panel h2{
    top:-3px;
    left:-3px;
  }
}


/* =========================================================
   v65: 山田太一について 写真差し替え / 写真位置中央揃え
   ========================================================= */
.ytb-about-era__figure{
  justify-self:center !important;
}
.ytb-about-era__figure figcaption{
  text-align:center;
}


/* =========================================================
   v67: 会員募集ボタンを写真の下へ移動
   ========================================================= */
.ytb-home-membership__button{
  position:static !important;
  display:inline-flex;
}

@media(min-width:761px){
  .ytb-home-membership__intro .ytb-home-membership__button{
    margin:12px auto 14px;
  }
  .ytb-home-membership__contents{
    padding-bottom:0;
  }
}

@media(max-width:760px){
  .ytb-home-membership__intro .ytb-home-membership__button{
    margin:12px auto 14px;
  }
}


/* =========================================================
   v68: 会員募集ボタンを写真直下へ確実に配置
   ========================================================= */
.ytb-home-membership__intro .ytb-home-membership__button{
  position:static !important;
  display:flex !important;
  width:max-content;
  margin:12px auto 14px !important;
}
