/* extracted style block 1 from pages/home.blade.php */
.page-home .section-hero .text-contents {
    width: 65%;
    margin-top: 5%;
    margin-left: 3%;
}
.page-home .section-service .service-list .slider .slider-item {
    width: 16.666666%;
}
.page-home .section-service .service-list .slider .slider-img-container {
    position: relative;
    overflow: hidden;
    height: 16vw;
    display: flex;
    justify-content: center;
    align-items: center;
}
.page-home .section-service .service-list .slider .slider-text-container {
    margin-top: 33px;
    padding-left: 10px;
    z-index: 40;
    color: #000;
}
.page-home .section-service .service-list .slider .slider-text-container .name {
    font-size: 1.3vw;
    line-height: 1;
    color: #fff;
}
.page-home .section-service .service-list .slider .slider-item.slider-item-partner a::before {
    background: none;
}
.copy1 {
    font-size: 0.9vw;
    color: #fff;
    font-weight: 600;
    margin: 1% 0 0 0;
}
.page-home .section-service .service-list .slider .slider-item.slider-item-journal a::before {
    background: none;
}
.page-home .section-service .service-list .slider .slider-item.slider-item-test a::before {
    background: none;
}
.page-home .section-service .service-list .slider .slider-item.slider-item-growth a::before {
    background: none;
}

.page-home .section-service .service-list .slider .slider-text-container {
    margin-top: -75px;
    padding-left: 0px;
    z-index: 40;
    color: #000;text-align:center;
}
img.thmimg {
    width: 99%;
}
.page-home .section-service {
    z-index: 1;
    margin-top: 0px;
    margin-bottom: -1px;
    padding-bottom: 75px;
    background: #fff;
}
.page-home .section-hero .copy .copy-sub {
    color: #fff;
    margin-top: 3%;
    margin-left: 6px;
    font-size: 1.6vw;
    letter-spacing: 1px;
    line-height: 1.4vw;
}
.page-home .slider .slider-scroll {
    display: none;
    position: relative;
    width: 100%;
    height: 2px;
}
.page-home .section-information .block-container {
    display: inline-block;
}
p.mainlead {
    font-size: 1vw;
    line-height: 2.6vw;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-weight: 600;
}
span.lead {
    display: block;
    margin-top: 4%;
    font-size: 0.94vw;
    border-top: 1px solid #a9a9a9;    border-bottom: 1px solid #a9a9a9;
    padding: 1% 0 1%;
    line-height: 1.8vw;
    color: #000000;
    font-weight: 500;
}
.img.contentnts {
    overflow: hidden;
    height: 37.5vw;
}
.page-home .section-project .slider .slider-img-container {
    overflow: hidden;
    height: 20.5vw;
}
.page-home .section-project .section-inner {
    padding-top: 0%;
    padding-bottom: 4%;
}
img.contentsthm {
    width: 100%;
}
.slider-text-container.top {
    margin-top: -5%!important;
    margin-bottom: 5%;
}
ul.service-list.second {
    margin-top: -10% !important;
}
span.small {
    font-size: 0.74vw;
}
@media only screen and (max-width: 767px) {
span.lead {
    margin-top: 6%;
    display: block;
    font-size: 13px;
    line-height: 22px;
    padding: 20px 0 20px;
}
.page-home .section-project .slider .slider-img-container {
    overflow: hidden;
    height: auto;
}
.img.contentnts {
    overflow: hidden;
    height: 92vw;
}
  .page-home .section-hero .text-contents {
      width: 95%;
      margin-top: 5%;
      margin-left: 3%;
  }
  .page-home .section-hero .copy .copy-sub{
      color: #fff;
      margin-top: 1%;
      margin-left: 0px;
      font-size: 14px;
      letter-spacing: 1px;
      line-height: 22px;
      font-weight: 600;
  }
  .service-03  .slider .slider-item{
    width: 33.3% !important;
  }
  .page-home .slider .slider-item-container{
    flex-wrap:wrap;
  }
  .page-home .section-service .service-list .slider .slider-img-container{
    height:38vw;
  }
.page-home .section-service .service-list .slider .slider-text-container .name {
    font-size: 13px;
    line-height: 1;
    color: #fff;
}
.copy1 {
    font-size: 11px;
    color: #fff;
    font-weight: 600;
    margin: 1% 0 0 0;
}
.page-home .section-service {
    z-index: 1;
    margin-top: 0px;
    margin-bottom: -1px;
    padding-bottom: 1%;
    background: #fff;
}
.page-home .section-service .service-list .slider .slider-img-container {
    height: 30.5vw;
}
.page-home .section-service .service-list {
    margin-top: 0%;
}
.page-home .section-service .service-list li.service-03 {
    margin-top: 14%;
    padding: 0;
}
.page-home .section-service .service-list .slider .slider-text-container {
    margin-top: -20%;
    padding-left: 0px;
    z-index: 40;
    color: #000;
    text-align: center;
}
.page-home .section-information .section-inner {
    display: flex;
    flex-direction: column;
    padding: 15% 6.666666666666667vw 3%;
}
.page-home .section-information .main-text {
    margin-left: 0;
    margin-top: 12%;
    font-size: 13px;
    color: #000;
    letter-spacing: 0.04em;
    line-height: 22px;
    font-weight: 500;
}
.information-list li a {
    border-width: 0.266666666666667vw;
    padding: 5% 22.666666666666664vw 5% 0;
}
.information-list li .date {
    margin-top: 2.4vw;
    font-size: 12px;
}
.information-list li .title {
    margin-top: 2.4vw;
    font-size: 3.466666666666666vw;
    line-height: 1.769230769230769;
    text-align: justify;
    margin-top: 1%;
    font-size: 13px;
    line-height: 20px;
    text-align: justify;
    padding: 5px 0px 10px 0;
    line-height: 20px;
}
.page-home .section-careers .text {
    font-size: 13px;
    line-height: 28px;
    letter-spacing: 0.05em;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
}
.page-home .section-careers .section-inner {
    padding: 15% 6.666666666666667vw 25%;
}
.information-list li .icon-arrow-right {
    width: 8vw;
    height: 8vw;
    margin-top: -6vw;
}
.page-home .section-careers .btn-arrow-right {
    margin-top: 10.4vw;
    margin-right: 0%;
    position: static;
    align-self: flex-end;
    text-align: right;
    display: table;
}
p.mainlead {
    margin-top: 0%;
    font-size: 13px;
    line-height: 28px;
    text-align: justify;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
}
span.lead {
    margin-top: 6%;
    display: block;
}
li.service-03.second {
    margin-top: 0%!important;
}
.slider.allian {
    margin-top: 0%!important;
}
}

/* extracted style attributes */
.csp-s-936edfbb39{color:#fff!important;}

/* ==========================================================================
   testtop — トップページ改修案 v3(2026-09-04)
   幅 80vw / PC本文 0.94vw / 白ベース + ヘアライン
   v3の変更:通し番号を撤去 / カードはソフト影+高さ揃え / 成果は図版+数値 /
            参画事業者は詳細ページへのリンク格子
   ========================================================================== */

.tt-section { padding: 8.4vw 0; background: #fff; }
.tt-section + .tt-section { border-top: 1px solid #e1e4e6; }
.tt-inner { width: 80vw; margin-right: auto; margin-left: auto; }

.tt-head { margin-bottom: 3.2vw; }
.tt-h2 {
    margin: 0;
    color: #000;
    font-size: 2.6vw;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -.01em;
}

.tt-lead {
    max-width: 58em;
    margin: 0 0 2.2vw;
    color: #373737;
    font-size: 0.94vw;
    line-height: 2;
    font-weight: 500;
}
.tt-note { margin-left: 1em; color: #7a8085; font-size: .86em; }

.tt-more { margin: 0; }
.tt-more a {
    display: inline-flex; align-items: center; gap: .8em;
    padding-bottom: .5em;
    border-bottom: 1px solid #000;
    color: #000; font-size: 0.94vw; font-weight: 600; line-height: 1;
    text-decoration: none;
    transition: gap .25s ease-out, border-color .25s ease-out;
}
.tt-more a::after { content: "→"; font-size: 1.05em; line-height: 1; }
.tt-more a:hover { gap: 1.6em; border-color: #ffd700; }

/* 導線 */
.tt-links { display: grid; grid-template-columns: repeat(4, 1fr); margin: 3.2vw 0 0; padding: 0; list-style: none; border-top: 1px solid #e1e4e6; }
.tt-links li { border-bottom: 1px solid #e1e4e6; border-left: 1px solid #e1e4e6; }
.tt-links li:nth-child(4n+1) { border-left: 0; }
.tt-links a {
    display: flex; align-items: center; justify-content: space-between; gap: 1em;
    padding: 1.7vw 1.6vw;
    color: #000; font-size: 0.94vw; font-weight: 600; line-height: 1.5;
    text-decoration: none;
    transition: background .25s ease-out;
}
.tt-links a::after { content: "→"; color: #b9bec2; transition: color .25s ease-out, transform .25s ease-out; }
.tt-links a:hover { background: #fafafa; }
.tt-links a:hover::after { color: #000; transform: translateX(.3em); }

/* カード:ソフト影 + 高さ揃え(グリッド行 stretch + 縦flex) */
.tt-cards { display: grid; gap: 2.4vw; margin: 0 0 3.2vw; padding: 0; list-style: none; align-items: stretch; }
.tt-cards--3 { grid-template-columns: repeat(3, 1fr); }
.tt-card { display: flex; }
.tt-card > a,
.tt-card > .tt-card__inner {
    display: flex; flex-direction: column; width: 100%;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 10px 28px rgba(0,0,0,.06);
    color: inherit; text-decoration: none;
    overflow: hidden;
    transition: box-shadow .25s ease-out, transform .25s ease-out;
}
.tt-card > a:hover { box-shadow: 0 2px 4px rgba(0,0,0,.07), 0 16px 40px rgba(0,0,0,.10); transform: translateY(-2px); }
.tt-card__thumb { display: block; width: 100%; aspect-ratio: 4 / 3; }
.tt-card__meta { display: flex; flex-direction: column; flex: 1 1 auto; padding: 1.3vw 1.4vw 1.5vw; }
.tt-card__date {
    display: block; margin-bottom: .7em; color: #7a8085;
    font-size: 0.78vw; font-weight: 600; letter-spacing: .06em; line-height: 1;
}
.tt-card__title, .tt-card__h {
    display: block; margin: 0; color: #000;
    font-size: 1.1vw; line-height: 1.55; font-weight: 700;
}
.tt-card__body { margin: .8em 0 0; color: #373737; font-size: 0.94vw; line-height: 1.95; }

/* 取組 */
.tt-row { display: grid; grid-template-columns: 46% 1fr; gap: 3.6vw; align-items: center; padding: 3.6vw 0; border-bottom: 1px solid #e1e4e6; }
.tt-row:first-of-type { border-top: 1px solid #e1e4e6; }
.tt-row--rev { grid-template-columns: 1fr 46%; }
.tt-row--rev .tt-row__media { order: 2; }
.tt-row__media { width: 100%; aspect-ratio: 3 / 2; }
.tt-row__h { margin: 0 0 1em; color: #000; font-size: 1.5vw; line-height: 1.5; font-weight: 700; letter-spacing: -.01em; }
.tt-row .tt-more { margin-top: 1.8vw; }

/* 成果 */
.tt-figure { width: 100%; aspect-ratio: 16 / 6; margin-bottom: 3.6vw; }
.tt-stats { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid #000; }
.tt-stat { padding: 2.4vw 0; }
.tt-stat + .tt-stat { padding-left: 3.2vw; border-left: 1px solid #e1e4e6; }
.tt-stat__label { display: block; margin-bottom: 1em; color: #7a8085; font-size: 0.78vw; font-weight: 700; letter-spacing: .1em; line-height: 1; }
.tt-stat__row { display: flex; align-items: center; gap: 1.6vw; }
.tt-stat__icon { flex: none; width: 7vw; aspect-ratio: 1 / 1; }
.tt-stat__num { color: #000; font-size: 5.2vw; line-height: 1; font-weight: 700; letter-spacing: -.03em; }
.tt-stat__unit { margin-left: .12em; font-size: .26em; font-weight: 700; letter-spacing: 0; }

/* 参画事業者:詳細ページへのリンク格子 */
.tt-members { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 3.2vw; padding: 0; list-style: none; border-top: 1px solid #e1e4e6; }
.tt-members li { border-bottom: 1px solid #e1e4e6; }
.tt-members a,
.tt-members span {
    display: flex; align-items: center; min-height: 4.4vw;
    padding: .9vw 1.4vw .9vw 0;
    color: #373737; font-size: 0.94vw; line-height: 1.5; text-decoration: none;
}
.tt-members a { color: #000; transition: color .2s ease-out, padding-left .2s ease-out; }
.tt-members a::after { content: "→"; margin-left: auto; color: #d5d9dc; transition: color .2s ease-out; }
.tt-members a:hover { padding-left: .5vw; }
.tt-members a:hover::after { color: #000; }
.tt-members__foot { display: flex; align-items: center; justify-content: space-between; gap: 2vw; }
.tt-members__count { color: #7a8085; font-size: 0.78vw; font-weight: 700; letter-spacing: .08em; }

/* 素材未入稿 */
.tt-ph {
    display: flex; align-items: center; justify-content: center;
    box-sizing: border-box;
    background: #f1f1f1;
    color: #b9bec2; font-size: 0.78vw; font-weight: 700; letter-spacing: .08em;
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .tt-members { grid-template-columns: repeat(2, 1fr); }
    .tt-cards--3 { grid-template-columns: repeat(2, 1fr); }
    .tt-links { grid-template-columns: repeat(2, 1fr); }
    .tt-links li { border-left: 1px solid #e1e4e6; }
    .tt-links li:nth-child(2n+1) { border-left: 0; }
}

@media only screen and (max-width: 767px) {
    .tt-section { padding: 16vw 0; }
    .tt-inner { width: 86.666666666666667vw; }

    .tt-head { margin-bottom: 6.4vw; }
    .tt-h2  { font-size: 6.4vw; }

    .tt-lead { margin-bottom: 6.4vw; font-size: 3.733333333333334vw; line-height: 1.9; }
    .tt-more a { font-size: 3.466666666666666vw; }

    .tt-links { grid-template-columns: 1fr; margin-top: 8vw; }
    .tt-links li,
    .tt-links li:nth-child(4n+1) { border-left: 0; }
    .tt-links a { padding: 4.8vw 0; font-size: 3.733333333333334vw; }

    .tt-cards--3 { grid-template-columns: 1fr; gap: 6.4vw; }
    .tt-card__meta  { padding: 4.266666666666667vw 4.8vw 5.333333333333334vw; }
    .tt-card__date  { font-size: 2.933333333333333vw; }
    .tt-card__title, .tt-card__h { font-size: 4.266666666666667vw; }
    .tt-card__body  { font-size: 3.466666666666666vw; line-height: 1.9; }

    .tt-row, .tt-row--rev { grid-template-columns: 1fr; gap: 5.333333333333334vw; padding: 9.6vw 0; }
    .tt-row--rev .tt-row__media { order: 0; }
    .tt-row__h { font-size: 4.8vw; }
    .tt-row .tt-more { margin-top: 5.333333333333334vw; }

    .tt-figure { margin-bottom: 8vw; }
    .tt-stats  { grid-template-columns: 1fr; }
    .tt-stat   { padding: 6.4vw 0; }
    .tt-stat + .tt-stat { padding-left: 0; border-left: 0; border-top: 1px solid #e1e4e6; }
    .tt-stat__label { font-size: 2.933333333333333vw; }
    .tt-stat__row   { gap: 4.266666666666667vw; }
    .tt-stat__icon  { width: 21.333333333333332vw; }
    .tt-stat__num   { font-size: 14.666666666666666vw; }

    .tt-members { grid-template-columns: 1fr; }
    .tt-members a, .tt-members span { min-height: 0; padding: 3.733333333333334vw 0; font-size: 3.466666666666666vw; }
    .tt-members__foot { flex-direction: column; align-items: flex-start; gap: 4.266666666666667vw; }
    .tt-members__count { font-size: 2.933333333333333vw; }

    .tt-ph { font-size: 2.666666666666667vw; }
}

/* ===== v4(2026-09-08):冒頭動画 + 別添素材の実装 ===== */

/* 冒頭のイニシアチブ動画(自動再生・ミュート) */
.tt-video { padding: 0; background: #000; }
.tt-video__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; }
.tt-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }

/* 画像の基本 */
.tt-card__thumb img,
.tt-row__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tt-card__thumb { overflow: hidden; background: #f1f1f1; }
.tt-row__media  { overflow: hidden; background: #f1f1f1; }

/* アイコン型サムネ(小さい素材は引き伸ばさず中央に置く) */
.tt-card__thumb--icon { display: flex; align-items: center; justify-content: center; background: #f7f7f7; }
.tt-card__thumb--icon img { width: auto; height: 46%; max-width: 60%; object-fit: contain; }

/* ニュースの図版系サムネ(地図・アイコン)は余白を持たせて contain */
.tt-card__thumb--contain { display: flex; align-items: center; justify-content: center; background: #f7f7f7; }
.tt-card__thumb--contain img { width: auto; height: auto; max-width: 72%; max-height: 72%; object-fit: contain; }

/* 図版(食塩の国際比較・成果インフォグラフィック) */
.tt-figure { display: block; width: 100%; aspect-ratio: auto; background: transparent; }
.tt-figure img { width: 100%; height: auto; display: block; }
.tt-figure--salt { max-width: 62%; margin: 0 auto 3.6vw; }
.tt-figure--result { margin-bottom: 3.6vw; }

/* 成果の数値アイコン */
.tt-stat__icon { display: flex; align-items: center; justify-content: center; background: transparent; }
.tt-stat__icon img { width: 100%; height: 100%; object-fit: contain; }

@media only screen and (max-width: 767px) {
    .tt-figure--salt { max-width: 100%; margin-bottom: 8vw; }
    .tt-figure--result { margin-bottom: 8vw; }
    .tt-card__thumb--icon img { height: 40%; }
}

/* ===== v5(2026-09-08) ===== */

/* [1] figure の既定マージン(0 40px)で width:100% がはみ出していたのを是正 */
.tt-figure { margin-left: 0; margin-right: 0; }
.tt-figure--salt { margin-left: auto; margin-right: auto; }

/* [2] 動画をヒーローの主画像に重ねる */
.section-hero { position: relative; }
.tt-hero-video {
    position: absolute;
    top: 50%; right: 10vw;
    transform: translateY(-50%);
    width: 38vw; max-width: 760px;
    aspect-ratio: 16 / 9;
    z-index: 5;
    background: #000;
    box-shadow: 0 18px 48px rgba(0,0,0,.34);
    overflow: hidden;
}
.tt-hero-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
/* 旧:ヒーロー下の帯は使わない */
.tt-video { display: none; }

/* [3] ニュース:写真は全面に敷く / 図版は余白を持たせて中央 */
.tt-card__thumb--cover { background: #f1f1f1; }
.tt-card__thumb--cover img { width: 100%; height: 100%; object-fit: cover; }

/* [4] 栄養課題:アイコン左・本文右の2カラム(pptxの組み方) */
.tt-issues {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 3.2vw 3.6vw; margin: 0 0 3.2vw; padding: 0; list-style: none;
}
.tt-issue { display: grid; grid-template-columns: 6.4vw 1fr; gap: 1.6vw; align-items: start; }
.tt-issue__icon { display: flex; align-items: flex-start; justify-content: center; padding-top: .3em; }
.tt-issue__icon img { width: 100%; height: auto; max-height: 9vw; object-fit: contain; }
.tt-issue__h { margin: 0 0 .7em; color: #000; font-size: 1.1vw; line-height: 1.5; font-weight: 700; }
.tt-issue__body { margin: 0; color: #373737; font-size: 0.94vw; line-height: 2; }
.tt-issue--figure { display: block; }
.tt-issue--figure img { width: 100%; height: auto; display: block; }

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .tt-hero-video { width: 44vw; right: 6vw; }
}

@media only screen and (max-width: 767px) {
    /* SPは重ねずヒーロー直下に置く */
    .tt-hero-video {
        position: static; transform: none;
        width: 100%; max-width: none; box-shadow: none;
    }
    .tt-issues { grid-template-columns: 1fr; gap: 8vw; }
    .tt-issue { grid-template-columns: 16vw 1fr; gap: 4.266666666666667vw; }
    .tt-issue__icon img { max-height: 22vw; }
    .tt-issue__h { font-size: 4.266666666666667vw; }
    .tt-issue__body { font-size: 3.466666666666666vw; line-height: 1.9; }
}

/* ===== v5.1:ヒーロー内で見出しと動画を左右に住み分け ===== */
.section-hero .text-contents { max-width: 48vw; }
.tt-hero-video { right: 6vw; width: 40vw; max-width: 780px; }

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .section-hero .text-contents { max-width: 46vw; }
    .tt-hero-video { right: 5vw; width: 42vw; }
}
@media only screen and (max-width: 767px) {
    .section-hero .text-contents { max-width: none; }
}

/* ===== v5.2(2026-09-08):ヒーロー見出しを2行に収める / お知らせカードの品格 ===== */

/* 見出し:54px だと「健康的で持続可能な食環境」12文字が 48vw に収まらず3行になる。
   1文字あたりの送りは約1.24em なので 12×1.24em ≦ 48vw を満たすサイズへ落とす。 */
.section-hero .copy-main-inner { font-size: 3.05vw; line-height: 1.34; }
.section-hero .copy-sub { font-size: 1.25vw; line-height: 1.6; }

/* お知らせカード:高さを詰めて、影は浅く・角は控えめに・余白は厚く */
.tt-card__thumb { aspect-ratio: 16 / 9; }
.tt-card > a,
.tt-card > .tt-card__inner {
    border: 1px solid #edeff1;
    border-radius: 2px;
    box-shadow: 0 1px 1px rgba(0,0,0,.03), 0 6px 18px rgba(0,0,0,.045);
}
.tt-card > a:hover {
    box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 12px 28px rgba(0,0,0,.08);
    transform: translateY(-2px);
}
.tt-card__meta { padding: 1.5vw 1.6vw 1.8vw; }
.tt-card__date { margin-bottom: 1em; color: #8b9096; font-size: 0.74vw; letter-spacing: .12em; }
.tt-card__title { font-size: 1.02vw; line-height: 1.75; font-weight: 700; }
.tt-card__thumb--contain img { max-width: 76%; max-height: 80%; }

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .section-hero .copy-main-inner { font-size: 3.4vw; }
    .section-hero .copy-sub { font-size: 1.5vw; }
}

@media only screen and (max-width: 767px) {
    .section-hero .copy-main-inner { font-size: 7.2vw; line-height: 1.45; }
    .section-hero .copy-sub { font-size: 3.2vw; line-height: 1.6; }
    .tt-card__meta { padding: 4.8vw 5.333333333333334vw 5.6vw; }
    .tt-card__date { font-size: 2.933333333333333vw; }
    .tt-card__title { font-size: 4vw; }
}

/* ===== v5.3:ヒーロー見出しを確実に2行へ =====
   元ルールは style.css の
     .page-home .section-hero .copy .copy-main-inner { font-size:5.4rem; letter-spacing:0.9vw }
   詳細度(0,4,0)。同じ形で後ろから上書きする。
   文字送り = font-size + letter-spacing。「健康的で持続可能な食環境」12文字が
   コピー枠(48vw = 1440px時691px)に収まる必要がある。
     46px + 7.2px = 53.2px → ×12 = 638px < 691px  ✓ */
.page-home .section-hero .copy .copy-main-inner { font-size: 4.6rem; letter-spacing: 0.5vw; line-height: 1.36; }
.page-home .section-hero .copy .copy-sub { font-size: 1.15vw; line-height: 1.7; }

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .page-home .section-hero .copy .copy-main-inner { font-size: 4.1rem; letter-spacing: 0.45vw; }
    .page-home .section-hero .copy .copy-sub { font-size: 1.4vw; }
}

/* ===== v6(2026-09-10):NTTデータ経営研究所 嵩元さん 修正依頼 =====
   ② 栄養課題アイコンの青い外枠 → ベクター素材に差し替えて解消(枠自体が無い)
   ③ 参画事業者数・参画自治体数:見出しを大きく / 数値を青(#0080B1)へ
      青は修正イメージから採取した実測値
   ===================================================================== */

.tt-stat__label {
    margin-bottom: .9em;
    color: #000;
    font-size: 1.05vw;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.4;
}
.tt-stat__num  { color: #0080B1; }
.tt-stat__unit { color: #0080B1; }

/* ベクターアイコンはにじまないので少し大きく見せられる */
.tt-issue__icon img { max-height: 7.4vw; }
.tt-stat__icon { width: 6.2vw; }

@media only screen and (max-width: 767px) {
    .tt-stat__label { font-size: 3.733333333333334vw; }
    .tt-issue__icon img { max-height: 18vw; }
    .tt-stat__icon { width: 18vw; }
}

/* ===== v6.1:「イニシアチブとは」を 写真左・本文右 に(修正依頼①) ===== */
.tt-about { display: grid; grid-template-columns: 40% 1fr; gap: 3.6vw; align-items: center; margin-bottom: 0; }
.tt-about__media { width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: #f1f1f1; }
.tt-about__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tt-about__text .tt-head { margin-bottom: 1.8vw; }
.tt-about__text .tt-lead { max-width: none; }

@media only screen and (max-width: 767px) {
    .tt-about { grid-template-columns: 1fr; gap: 5.333333333333334vw; }
    .tt-about__media { aspect-ratio: 3 / 2; }
}

/* ===== v7:ヒーロー背景に動画を敷く(TiBトップと同じ手法) =====
   ・動画を画面いっぱいに cover 配置(16:9 を高さ基準/幅基準の大きい方に合わせる)
   ・半透明の黒(scrim)を重ねて見出しの視認性を確保
   ・iframe は pointer-events:none(背景なので操作対象にしない)
   ============================================================ */
.section-hero { position: relative; overflow: hidden; }

.tt-hero-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.tt-hero-bg__video {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 100vw; height: 56.25vw;        /* 16:9 */
    min-width: 177.78vh; min-height: 100vh;
}
.tt-hero-bg__video iframe { width: 100%; height: 100%; border: 0; display: block; }
.tt-hero-bg__scrim { position: absolute; inset: 0; background: rgba(0,0,0,.46); }

/* 文字とスクロールインジケータは常に前面へ */
.section-hero .section-inner,
.section-hero .scroll { position: relative; z-index: 2; }

/* 見出しの可読性(薄い影で締める) */
.page-home .section-hero .copy .copy-main-inner,
.page-home .section-hero .copy .copy-sub { text-shadow: 0 1px 14px rgba(0,0,0,.34); }

/* 動画を右に置いていた旧レイアウトは廃止。コピー幅の制限も解除 */
.tt-hero-video { display: none; }
.section-hero .text-contents { max-width: none; }

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .section-hero .text-contents { max-width: none; }
}
@media only screen and (max-width: 767px) {
    .tt-hero-bg__video { min-width: 177.78vh; min-height: 100vh; }
    .tt-hero-bg__scrim { background: rgba(0,0,0,.52); }
}

/* ===== v7.1:ヒーロー見出しの拡大 =====
   コピー幅の 48vw 制限を外したので、元の設計スケールまで戻して少し上回る。
   「健康的で持続可能な食環境」= 12文字。
     62px + 字送り7.9px = 69.9px → ×12 = 839px(1440px時で画面の58%)
   2行は維持される。 */
.page-home .section-hero .copy .copy-main-inner {
    font-size: 6.2rem;
    letter-spacing: 0.55vw;
    line-height: 1.42;
}
.page-home .section-hero .copy .copy-sub {
    font-size: 1.35vw;
    line-height: 1.8;
    letter-spacing: .02em;
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .page-home .section-hero .copy .copy-main-inner { font-size: 5rem; letter-spacing: 0.5vw; }
    .page-home .section-hero .copy .copy-sub { font-size: 1.7vw; }
}
@media only screen and (max-width: 767px) {
    .page-home .section-hero .copy .copy-main-inner { font-size: 7.6vw; letter-spacing: .04em; line-height: 1.5; }
    .page-home .section-hero .copy .copy-sub { font-size: 3.2vw; line-height: 1.7; }
}

/* ===== 参画事業者:一覧リンクを見出し直下へ ===== */
.tt-members__link { margin: 0 0 2.4vw; }
.tt-members__foot { justify-content: flex-end; }

@media only screen and (max-width: 767px) {
    .tt-members__link { margin-bottom: 6.4vw; }
    .tt-members__foot { align-items: flex-end; }
}

/* ===== v8:セクション見出しの右端にリンクを角丸ボタンで配置 ===== */
.tt-h2 {
    margin: 0;
    color: #000;
    font-size: 1.8vw;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -.01em;
}

.tt-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2vw;
    margin-bottom: 3.2vw;
}
.tt-head .tt-h2 { flex: 1 1 auto; }

/* 見出し行に入るリンクは角丸ボタン(下線リンクの装飾を打ち消す) */
.tt-head .tt-more { margin: 0; flex: 0 0 auto; }
.tt-head .tt-more a {
    padding: .95em 1.7em;
    border: 1px solid #111;
    border-bottom: 1px solid #111;
    border-radius: 999px;
    background: transparent;
    color: #111;
    font-size: 0.86vw;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    gap: .7em;
    transition: background .25s ease-out, color .25s ease-out, border-color .25s ease-out;
}
.tt-head .tt-more a:hover {
    gap: .7em;
    background: #111;
    color: #fff;
    border-color: #111;
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .tt-head .tt-more a { font-size: 1.05vw; padding: .9em 1.5em; }
}
@media only screen and (max-width: 767px) {
    .tt-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 4.266666666666667vw;
        margin-bottom: 6.4vw;
    }
    .tt-h2 { font-size: 5.6vw; }
    .tt-head .tt-more a { font-size: 3.2vw; padding: 1em 1.8em; }
    .tt-members__link { margin-bottom: 0; }
}

/* ===== 背景動画:再生が始まるまで隠す(▶ボタン・タイトル画面を出さない) ===== */
.tt-hero-bg__video { opacity: 0; transition: opacity .8s ease-out; }
.tt-hero-bg.is-ready .tt-hero-bg__video { opacity: 1; }
.tt-hero-bg__video > div,
.tt-hero-bg__video iframe { width: 100%; height: 100%; border: 0; display: block; }

/* ===== 別添①枠に紹介動画(zigzagトーン) =====
   /about のカード(クリーム地・角丸24px・影・大きな余白)は主張が強いので、
   白地+ヘアライン+最小の角丸に翻訳。装飾英語ラベル(movie)は入れない。 */
.tt-about { grid-template-columns: 52% 1fr; gap: 3.2vw; align-items: center; }

.tt-movie { margin: 0; }
.tt-movie__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 1px solid #e1e4e6;
    border-radius: 2px;
    overflow: hidden;
    background: #000;
}
.tt-movie__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }

.tt-movie__cap {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1.2vw;
    margin: .9vw 0 0;
    padding-top: .8vw;
    border-top: 1px solid #e1e4e6;
}
.tt-movie__t {
    margin: 0;
    color: #161616;
    font-size: 0.86vw;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.6;
}
.tt-movie__sub { margin: 0; color: #7a8085; font-size: 0.78vw; line-height: 1.6; white-space: nowrap; }
.tt-movie__sub a {
    color: #161616;
    text-decoration: none;
    border-bottom: 1px solid #b9bec2;
    padding-bottom: .1em;
    transition: border-color .2s ease-out;
}
.tt-movie__sub a:hover { border-color: #161616; }

@media only screen and (max-width: 767px) {
    .tt-about { grid-template-columns: 1fr; gap: 5.333333333333334vw; }
    .tt-movie__cap { flex-direction: column; gap: 1.6vw; margin-top: 3.2vw; padding-top: 3.2vw; }
    .tt-movie__t   { font-size: 3.466666666666666vw; }
    .tt-movie__sub { font-size: 3.2vw; white-space: normal; }
}

/* 動画枠に写真用の比率・背景・クリップが効かないよう明示的に解除(保険) */
.tt-movie { aspect-ratio: auto; height: auto; background: transparent; overflow: visible; }

/* ===== v9:ヒーロー背景を自前配信の mp4 に変更(2026-09-19 柿森) =====
   YouTube 埋め込みをやめたので iframe 用の指定は不要。
   video は object-fit: cover で 16:9 ボックスを埋める。 */
.tt-hero-bg__video video {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    object-fit: cover;
}

/* ===== v10(2026-09-30):ヒーロー見出しを0.75倍に縮小(先方依頼) =====
   タイトルが動画内の字幕ボックス(「日本の主な栄養課題」等)と重なるため、
   先方提示の縮小イメージ(0.75倍)に合わせて PC/タブレットを縮小。
   SPは動画のクロップ位置が異なるため据え置き。
     PC: 62px→46.5px / 字送り 0.55vw→0.41vw / sub 1.35vw→1.01vw */
.page-home .section-hero .copy .copy-main-inner {
    font-size: 4.65rem;
    letter-spacing: 0.41vw;
}
.page-home .section-hero .copy .copy-sub {
    font-size: 1.01vw;
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .page-home .section-hero .copy .copy-main-inner { font-size: 3.75rem; letter-spacing: 0.38vw; }
    .page-home .section-hero .copy .copy-sub { font-size: 1.28vw; }
}
