@charset "utf-8";

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  html, body {
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
    background: #F6EEE0;
/*    background: #ffffff;	*/
    color: #000000;
    font-size: 16px;
/*    min-width: 1920px;	*/
    min-width: 64px;
    scroll-behavior: smooth;
  }

  /* ─── HEADER ─── */
  .site-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 78px;	/* 80.5px */
    z-index: 100;
    background: #FFFFFF;
    overflow: hidden;
  }
.site-header .bg {
    position: relative;	/* absolute;*/
    inset: 0 0 4px 0;
    background: #F6EEE0;
}
/*
  .site-header__bg {
    position: absolute;
    top: 0;
    left: 50vw;
    transform: translateX(-50%);
    width: 1920px;
    height: 84px;
    pointer-events: none;
    user-select: none;
  }
  .site-header__bg img {
    display: block;
    width: 1920px;
    height: 84px;
  }
*/
  .site-header__inner {
    position: relative;
    z-index: 1;
    height: 80px;
    display: flex;
    align-items: center;
    width: 1000px;
    margin: 0 auto;
  }
  .site-header__logo img {
    position: absolute;
    top: 25px;
    display: block;
    width: 258px;
    height: 28px;
  }
  .site-header__newsletter-btn {
    margin-left: auto;
    display: block;
    cursor: pointer;
    text-decoration: none;
  }
  .site-header__newsletter-btn img {
    display: block;
    width: 220px;
    height: 46px;
  }

  /* ─── HEADER ─── */
  .hero__rule.hero__rule--thick.rule_header {    top:76px;  }
  .hero__rule.hero__rule--thin.rule_header  {    top:80px;  }
@media (max-width: 1050px) {
  .hero__rule.hero__rule--thick.rule_header {    top:44px ! important;  }
  .hero__rule.hero__rule--thin.rule_header  {    top:48px ! important;  }
}

  /* ─── HERO ─── */
  .hero {
    margin-top: 76px;
    height: 480px;
    position: relative;
    overflow: hidden;
  }
  .hero__bg {
    position: absolute;
    top: 0;
    left: 50vw;
    transform: translateX(-50%);
    width: 1920px;
    height: 480px;
    pointer-events: none;
    user-select: none;
  }
  .hero__bg img {
    display: block;
    width: 1920px;
    height: 480px;
  }
  /* 全画面幅に延ばす横線（SVG外の余白を埋める） */
  .hero__rule {
/*
    position: relative;
    z-index: 999;
*/
    position: absolute;
    left: 0; right: 0;
    height: 0;
    pointer-events: none;
  }
  .hero__rule.hero__rule--thin.rule_hero_top_upper  {    top:5px;   }

  .hero__rule.hero__rule--thin.rule_hero_top_lower  {    top:22px;  }
  .hero__rule.hero__rule--thick.rule_hero_top_lower {    top:26px;  }

  .hero__rule.hero__rule--thick.rule_hero_bottom_upper {    top:452px;  }
  .hero__rule.hero__rule--thin.rule_hero_bottom_upper  {    top:456px;  }

  .hero__rule.hero__rule--thin.rule_hero_bottom_lower  {    top:474px;  }
  .hero__rule.hero__rule--thick.rule_hero_bottom_lower {    top:478px;  }

@media (max-width: 1050px) {
  /* 390px〜1000px：hero_bg_SP.svg が max-width(390px) で固定表示される範囲 → px 指定 */
  .hero__rule.hero__rule--thin.rule_hero_top_upper  {    top:4px;   }

  .hero__rule.hero__rule--thin.rule_hero_top_lower  {    top:14.5px;  }
  .hero__rule.hero__rule--thick.rule_hero_top_lower {    top:17.5px;  }

  .hero__rule.hero__rule--thick.rule_hero_bottom_upper {    top:538.8px;  }
  .hero__rule.hero__rule--thin.rule_hero_bottom_upper  {    top:542.0px;  }

  .hero__rule.hero__rule--thin.rule_hero_bottom_lower  {    top:553.1px;  }
  .hero__rule.hero__rule--thick.rule_hero_bottom_lower {    top:calc(556.3px - 1px);  }
}

/*@media (max-width: 390px) {
*/
@media (max-width: 420px) {
  /* 390px 未満：hero_bg_SP.svg が 100vw にリニア縮小する範囲 */

  /* hero セクション全体を SVG に合わせて縮小 */
/*
  .hero {
/*    height: calc(557 / 390 * 100vw);* /
    height: calc(557 / 420 * 100vw);
  }
*/
  .hero__bg {
    position: relative;
    width: 100%;
    height: 100%; /* 親(.hero)の高さに合わせる */
  }

  /* SVG 高さもアスペクト比を保って比例縮小 */
  .hero__bg img {
    width: 100%;
    max-width: none;
    height: 100%; /* 親(.hero__bg)の高さに合わせる */
  }

  /* hero ルール位置も SVG に完全追従 */
/*
  .hero__rule.hero__rule--thin.rule_hero_top_lower   { top: calc(14.5 / 390 * 100vw); }
  .hero__rule.hero__rule--thick.rule_hero_top_lower  { top: calc(17.5 / 390 * 100vw); }

  .hero__rule.hero__rule--thick.rule_hero_bottom_upper { top: calc(538.8 / 390 * 100vw); }
  .hero__rule.hero__rule--thin.rule_hero_bottom_upper  { top: calc(542.0 / 390 * 100vw); }

  .hero__rule.hero__rule--thin.rule_hero_bottom_lower  { top: calc(553.1 / 390 * 100vw); }
  .hero__rule.hero__rule--thick.rule_hero_bottom_lower { top: calc(556.3 / 390 * 100vw); }
*/
  .hero__rule.hero__rule--thin.rule_hero_top_upper   { top: calc(2.5 / 420 * 100vw); }

  .hero__rule.hero__rule--thin.rule_hero_top_lower   { top: calc(14.0 / 420 * 100vw); }
  .hero__rule.hero__rule--thick.rule_hero_top_lower  { top: calc(17.5 / 420 * 100vw - 1.5px); }

  .hero__rule.hero__rule--thick.rule_hero_bottom_upper { top: calc(538.8 / 420 * 100vw); }
  .hero__rule.hero__rule--thin.rule_hero_bottom_upper  { top: calc(542.0 / 420 * 100vw); }

  .hero__rule.hero__rule--thin.rule_hero_bottom_lower  { top: calc(553.1 / 420 * 100vw); }
  .hero__rule.hero__rule--thick.rule_hero_bottom_lower { top: calc(556.3 / 420 * 100vw - 1.5px); }
}

  .hero__rule--thick { border-top: 2px solid #000000; }
  .hero__rule--thin  { border-top: 0.5px solid #000000; }

  /* ─── SERVICE ─── */
  .service-section {
    position: relative;
    overflow: hidden;
    background: #F6EEE0;
  }
  .service-section__inner {
    width: 1000px;
    margin: 0 auto;
    position: relative;
    height: 1100px;
  }
  .service-section__heading {
    position: absolute;
    top: 118px;
    left: 0; right: 0;
    height: 39px;
  }
  .service-section__omf-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    display: block;
  }
  /* ロゴ右端（50% + 半幅180px）から16px右に配置、下揃え */
  .service-section__toha {
    position: absolute;
    left: calc(50% + 180px + 16px);
    bottom: 0;
    display: block;
  }
  .service-section__lead {
    position: absolute;
    top: 268px;
    left: 267px;
    width: 500px;
    text-align: center;
    font-size: 21px;
    font-weight: bold;	/* 500; */
    line-height: 1.3;
    letter-spacing: 0.05em;
  }
  .service-section__rule {
    position: absolute;
    left: 285px;
    width: 430px;
    height: 0;
    border-top: 0.3px solid #000000;
  }
  .service-section__body {
    position: absolute;
    top: 468px;
    left: 130px;
    width: 750px;
    line-height: 2;
    font-weight: 400;
  }
  .service-section__body p { margin-bottom: 0; }
  .service-section__buttons {
    position: absolute;
    top: 968px;
    left: 0; right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 70px;
  }
  .service-section__btn {
    display: block;
    text-decoration: none;
    cursor: pointer;
  }

  /* ─── AMBASSADOR INTRO ─── */
  .ambassador-intro {
    position: relative;
    overflow: hidden;
    background: #ffffff;
  }
  /* SVGグラデーションをCSSで再現: y=44〜659(615px) / 上:透明 → 下:クリーム */
  .ambassador-intro::before {
    content: '';
    position: absolute;
    top: 60px;
    left: 0; right: 0;
    height: 702px;
    pointer-events: none;
    background: linear-gradient(
      to top,
      rgba(246,238,224,0)    0%,
      rgba(246,238,224,.152) 3.9%,
      rgba(246,238,224,.328) 9.1%,
      rgba(246,238,224,.489) 14.8%,
      rgba(246,238,224,.628) 21.0%,
      rgba(246,238,224,.744) 27.8%,
/*
      rgba(246,238,224,.839) 35.3%,
      rgba(246,238,224,.911) 43.9%,
      rgba(246,238,224,.962) 54.3%,
      rgba(246,238,224,.992) 68.1%,
*/
      #F6EEE0                100%
    );
  }
  .ambassador-intro__inner {
    width: 1000px;
    margin: 0 auto;
    position: relative;
    height: 1247px;
    z-index: 1;
  }
  .ambassador-intro__bg {
    position: absolute;
    top: 0;
    left: 50vw;
    transform: translateX(-50%);
    pointer-events: none;
    user-select: none;
  }
  .ambassador-intro__bg img {
    display: block;
    width: 1920px;
    height: 45px;
  }
  .ambassador-intro__rule {
    position: absolute;
    left: 0; right: 0;
    height: 0;
    pointer-events: none;
  }

  .ambassador-intro__rule.ambassador-intro__rule--thick.rule_intro_top_upper {    top:0px;  }
  .ambassador-intro__rule.ambassador-intro__rule--thin.rule_intro_top_upper  {    top:4px;  }

  .ambassador-intro__rule.ambassador-intro__rule--thin.rule_intro_top_lower  {    top:56px;  }
  .ambassador-intro__rule.ambassador-intro__rule--thick.rule_intro_top_lower {    top:60px;  }


  .ambassador-intro__rule--thick { border-top: 2px   solid #000000; z-index: 9;}
  .ambassador-intro__rule--thin  { border-top: 0.5px solid #000000; z-index: 9;}
  .ambassador-intro__text {
    position: absolute;
    top: 164px;
    left: 130px;
    width: 770px;
    font-size: 16px;
    line-height: 2.2;
    text-align: left;
  }
  /* アンバサダーカード */
  .amb-card {
    position: absolute;
    display: block;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
  }
  .amb-card__photo { display: block; }
  .amb-card__name {
    position: absolute;
    display: block;
  }
  .amb-card__name-default { display: block; }
  .amb-card__name-hover   { display: none; }
  .amb-card:hover .amb-card__name-default { display: none; }
  .amb-card:hover .amb-card__name-hover   { display: block; }

  /* ─── ボタン ホバー画像切替 ─── */
  .btn-hover-swap { cursor: pointer; }
  .btn-hover-swap .btn-img-default { display: block; }
  .btn-hover-swap .btn-img-hover   { display: none; }
  .btn-hover-swap:hover .btn-img-default { display: none; }
  .btn-hover-swap:hover .btn-img-hover   { display: block; }

  /* ─── PC / SP 切替ヘルパー ─── */
  .sp-only { display: none; }

  /* ─── AMBASSADOR 共通 ─── */
  .amb-common {
    position: relative;
    overflow: hidden;
    background: #ffffff;
  }
  .amb-common__rule {
    position: absolute;
    left: 0; right: 0;
    height: 0;
    pointer-events: none;
    z-index: 2;
  }
  .amb-common__rule--thick { border-top: 2px solid #000000; }
  .amb-common__rule--thin  { border-top: 0.5px solid #000000; }
@media (max-width: 1050px) {
  .rule--thin-rsp{
    top : calc(30 / 390 * 100vw)!important;
  }

}
  .amb-common__stripe {
    position: absolute;
    top: 4px;
    left: 0; right: 0;
    height: 51px;
    z-index: 1;
  }
  .amb-common__inner {
    width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  .amb-common__photo,
  .amb-common__x-icon,
  .amb-common__q-title,
  .amb-common__q,
  .amb-common__font-title,
  .amb-common__font-body
  {
    position: absolute;
    display: block;
  }
  .amb-common__q {
    /* ●印テキスト制御の為 */
    display:flex;
    align-items:start;		/* ●を上寄せに・・・画像は全て同サイズのViewBoxにするので、上寄りになっている */
/*    gap:10px; /* ●と画像の間隔 */
  }
  .amb-common__q .q-icon{
      /* ★注意！★この font-sizeを 変更する時は、sp-vline.js の cx01 の算出計算式も連動させる事！*/
      font-size: 18px;
  }
@media (max-width: 1050px) {
  .amb-common__q .q-icon{
      /* ★注意！★この font-sizeを 変更する時は、sp-vline.js の cx01 の算出計算式も連動させる事！*/
      /*font-size: calc(8 * 2 * 0.7  / 390 * 100vw);	*/
      font-size: clamp(0.5rem, calc(8 * 2 * 0.7  / 390 * 100vw), 26px);
  }
}
  .q-icon-takano{
    color: #016b49;
  }
  .q-icon-bekon{
    color: #f98375;
  }
  .q-icon-itokuni{
    color: #abd3c1;
  }
  .q-icon-yukamaru{
    color: #ffb200;
  }

  .amb-common__newsletter-btn {
    position: absolute;
    display: block;
    text-decoration: none;
  }
  .link-img-under-line{
    border-bottom:1px solid #000;
    padding-bottom:3px;
  }
  .link-img-under-line:hover{
    border-bottom-color: #b5b5b5;
    opacity: 0.6;
  }
  .amb-common__vline {
    position: absolute;
    left: 59px;
    top: 840px;
    width: 2px;
    height: 1249px;
  }
  .amb-common_title-text {
    position: absolute;
    top: 17px;
    left: 332px;
    width: 336px;
    font-size: 16px;
    color: #000000;
    text-align: center;
  }

  .amb-common_prof-text-3 {
    position: absolute;
    top: 110px;
    left: 273px;
    width: 740px;
    font-size: 12px;
  }
  .amb-common_prof-text-1 {
    position: absolute;
    top: 120px;
    left: 273px;
    width: 740px;
    font-size: 20px;
  }
  .amb-common_prof-text-2 {
    position: absolute;
    top: 160px;
    left: 273px;
    width: 730px;
/*    height: 353px;	*/
    font-size: 16px;
/*    text-align: center;	*/
    line-height: 1.8;
  }

.amb-common_prof-text-2 a {
  color: #000;
/*  text-decoration: none;	*/
  transition: color 0.3s ease;
}

.amb-common_prof-text-2 a:hover {
  color: #b5b5b5;
}

.amb-common_prof-text-2 .space-before{
  margin-left: 0.1em;
}
.amb-common_prof-text-2 .space-after{
  margin-right: 0.1em;
}
.amb-common_prof-text-2 .space-bef-aft{
  margin-left: 0.1em;
  margin-right: 0.1em;
}

  .amb-common_q2-text {
    position: absolute;
    top: 1927px;
    left: 114px;
    line-height: 2.2;
  }
  .amb-common_q3-text {
    position: absolute;
    top: 2119px;
    left: 114px;
    line-height: 2.2;
  }
@media (max-width: 1050px) {
  .amb-common_q2-text.amb-itokuni_q2-text {
    line-height: clamp(1.0rem, 4.7vw, 2.0rem);
  }
  .amb-common_q3-text.amb-itokuni_q3-text {
    line-height: clamp(1.0rem, 4.7vw, 2.0rem);
    margin-bottom: 2.3vw;
  }
}

  /* ─── AMBASSADOR 鷹野 ─── */
  .amb-common.amb-takano {
  }
  .amb-common__stripe.amb-takano__stripe {
    background: #016B49;
  }
  .amb-common__inner.amb-takano__inner {
    height: auto; /* グループの積み重ねで高さが決まる（元: 2345px） */
  }
  /* グループコンテナ（縦に積み重ねる） */
  .amb-takano__group {
    position: relative;
  }
  .amb-takano__group--profile {
    height: 465px;  /* y=0〜465 */
  }
  .amb-takano__group--links {
    height: 195px;  /* y=465〜660 */
    margin-top: 0;	/*20px;*/
  }
  .amb-takano__group--qa {
    height: 1593.6px; /* 1685 - margin-top(91.4) */
  }
  /* 縦線: Q&Aタイトルoffset(91.4)を引いた値 180-91.4=88.6 */
  .amb-common__vline.amb-takano__vline {
    top: 88.6px;
    height: 1249px;
    background: #016B49;
  }
  .amb-common_title-text.amb-takano_title-text {
    color: #ffffff;
  }

  /* ─── AMBASSADOR ベーコン ─── */
  .amb-common.amb-bekon {
  }
  .amb-common__stripe.amb-bekon__stripe {
    background: #F98375;
  }
  .amb-common__inner.amb-bekon__inner {
    height: auto; /* グループの積み重ねで高さが決まる（元: 1603px） */
  }
  /* グループコンテナ（縦に積み重ねる） */
  .amb-bekon__group {
    position: relative;
  }
  .amb-bekon__group--profile {
    height: 458px;  /* y=0〜458 */
  }
  .amb-bekon__group--links {
    height: 202px;  /* y=458〜660 */
  }
  .amb-bekon__group--qa {
    height: 851.2px; /* 943 - margin-top(91.8) */
  }
  /* 縦線: Q&Aタイトルoffset(91.8)を引いた値 178-91.8=86.2 */
  .amb-common__vline.amb-bekon__vline {
/*    left: 65px;	*/
    top: 86.2px;
    height: 372px;
    background: #F98375;
  }
  .amb-common_title-text.amb-bekon_title-text {
    color: #000000;
  }
/*
  .amb-common_prof-text-2.amb-bekon_prof-text-2 {
    top: 160px;
/*
    left: 733px;
    width: 740px;
* /
    line-height: 1.9;
  }
*/
  .amb-common_q2-text.amb-bekon_q2-text {
    top: 497.2px; /* 589 - Q&Aタイトルoffset(91.8) */
    width: 719px;
  }

  /* ─── AMBASSADOR いとくに ─── */
  .amb-common.amb-itokuni {
  }
  .amb-common__stripe.amb-itokuni__stripe {
    background: #abd3c1;
  }
  .amb-common__inner.amb-itokuni__inner {
    height: auto; /* グループの積み重ねで高さが決まる（元: 2618px） */
  }
  /* グループコンテナ（縦に積み重ねる） */
  .amb-itokuni__group {
    position: relative;
  }
  .amb-itokuni__group--profile {
/*    height: 460px;  /* y=0〜460 */
    height: calc(460px + 53px);  /* y=0〜460 */
  }
  .amb-itokuni__group--links {
/*    height: 147px;  /* y=513〜660 (200 - margin-top53) */
    height: calc(147px + 53px);  /* y=513〜660 (200 - margin-top53) */
  }
  .amb-itokuni__group--qa {
    height: 1867px; /* 1958 - margin-top(91) */
  }
  /* 縦線: Q&Aタイトルoffset(91)を引いた値 217-91=126 */
  .amb-common__vline.amb-itokuni__vline {
/*    left: 64px;	*/
    top: 126px;
    height: 1249px;
    background: #abd3c1;
  }
  .amb-common_title-text.amb-itokuni_title-text {
    color: #000000;
  }
/*
  .amb-common_prof-text-2.amb-itokuni_prof-text-2 {
    top: 160px;
/*
    left: 733px;
    width: 740px;
* /
    line-height: 8vw;	/* 1.9 * /
  }
*/
  .amb-common_q2-text.amb-itokuni_q2-text {
    top: 1021px; /* 1112 - Q&Aタイトルoffset(91) */
    width: 727px;
  }
  .amb-common_q3-text.amb-itokuni_q3-text {
    top: 1405px; /* 1496 - Q&Aタイトルoffset(91) */
    width: 315px;
  }

  /* ─── AMBASSADOR ゆかまる ─── */
  .amb-common.amb-yukamaru {
  }
  .amb-common__stripe.amb-yukamaru__stripe {
    background: #ffb200;
  }
  .amb-common__inner.amb-yukamaru__inner {
    height: auto; /* グループの積み重ねで高さが決まる（元: 1918px） */
  }
  /* グループコンテナ（縦に積み重ねる） */
  .amb-yukamaru__group {
    position: relative;
  }
  .amb-yukamaru__group--profile {
    height: 460px;  /* y=0〜460 */
  }
  .amb-yukamaru__group--links {
    height: 200px;  /* y=460〜660 */
  }
  .amb-yukamaru__group--qa {
    height: 1078px; /* 1258 - margin-top(100) */
  }
  /* 縦線: Q&Aタイトルoffset(100)を引いた値 188-100=88 (217-29補正-100) */
  .amb-common__vline.amb-yukamaru__vline {
/*    left: 59px;	*/
    top: 88px;
    height: 654px;
    background: #ffb200;
  }
  .amb-common_title-text.amb-yukamaru_title-text {
    color: #000000;
  }
  .amb-common_prof-text-2.amb-yukamaru_prof-text-2 {
    padding-top: 1.0vw;
  }
  .amb-common_q2-text.amb-yukamaru_q2-text {
    top: 508px;  /* 637 - 29(補正) - 100(margin-top) = 508 */
    width: 772px;
  }
  .amb-common_q3-text.amb-yukamaru_q3-text {
    top: 771px;  /* 900 - 29(補正) - 100(margin-top) = 771 */
    width: 729px;
  }

  /* ─── AMBASSADOR Footer ─── */
  .amb-common.amb-footer {
/*
    background: #F6EEE0;
*/
    height: 207px;
/*
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-top: 2px solid #000000;
    gap: 24px;
*/
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .amb-common.amb-footer_TAMESHI {
    height: 207px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 48px;
  }

  /* Footer の背景色を4px下から適用する（境界ライン考慮） */
  .amb-common.amb-footer::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #F6EEE0;
  }

  .amb-footer__inner {
    height: 207px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 48px;
  }
  .text-link {
    color: #000;
    text-decoration: none;
    transition: color 0.3s ease;
  }

  .text-link:hover {
    color: #b5b5b5;
  }
  /* ============================================================
     SECTION SEPARATOR STRIPE
     ============================================================ */
  .stripe {
    height: 52px;
    width: 100%;
  }
  .stripe-salmon { background: #F98375; }
  .stripe-mint   { background: #ABD3C1; }
  .stripe-yellow { background: #FFB200; }
  .stripe-cream  { background: #F6EEE0; }

  /* ============================================================
     AMBASSADOR PROFILE + Q&A
     ============================================================ */
  .ambassador-section {
    scroll-margin-top: 77px; /* 固定ヘッダ(80.5px)分オフセット */
    background: #ffffff;
    padding: 0;
  }
  .ambassador-qa-section {
/*    scroll-margin-top: calc(77px + 30px); /* 固定ヘッダ(80.5px)分オフセット */
/*    scroll-margin-top: calc(77px - 28.5vw + 3vw);; /* 固定ヘッダ(80.5px)分オフセット */
  }

  /* PC版限定：他アンバサダーとの頭出しズレ補正（SP版は別途 @media (max-width: 1050px) 側で調整済み） */
  @media (min-width: 1051px) {
    .ambassador-qa-section.qa-itokuni {
      scroll-margin-top: 16px;
    }

    .ambassador-qa-section.qa-yukamaru {
      scroll-margin-top: -12px;
    }
  }

  .profile-block {
    display: flex;
    padding: 80px 140px;
    gap: 80px;
    align-items: flex-start;
    border-bottom: 1px solid #000000;
  }
  .profile-photo {
    flex: 0 0 auto;
  }
  .profile-photo img {
    display: block;
    object-fit: cover;
    object-position: top center;
  }
  .profile-info {
    flex: 1;
    padding-top: 8px;
  }
  .profile-name-en {
    font-size: 12px;
    font-weight: 400;
    color: #707070;
    letter-spacing: 0.12em;
    margin-bottom: 4px;
  }
  .profile-name-ja {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.2;
    margin-bottom: 4px;
  }
  .profile-name-kana {
    font-size: 12px;
    font-weight: 400;
    color: #707070;
    margin-bottom: 24px;
  }
  .profile-company {
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 16px;
    letter-spacing: 0.05em;
  }
  .profile-bio {
    font-size: 13px;
    line-height: 1.9;
    font-weight: 400;
    color: #000000;
    max-width: 820px;
  }
  .profile-bio p {
    margin-bottom: 4px;
  }
  .profile-bio .tag {
    font-weight: 700;
  }
  .profile-social {
    margin-top: 24px;
    display: flex;
    gap: 16px;
    align-items: center;
  }
  .profile-social a {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    text-decoration: none;
    color: #4D5357;
    font-weight: 500;
  }
  .profile-social .x-icon {
    width: 30px;
    height: 30px;
    background: #4D5357;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .profile-social .x-icon svg {
    width: 16px;
    height: 16px;
    fill: #ffffff;
  }

  /* Character mascot figures */
  .mascot {
    flex: 0 0 auto;
    align-self: flex-end;
  }
  .mascot img {
    display: block;
  }

  /* Q&A block */
  .qa-section {
    padding: 60px 140px 80px;
  }
  .qa-title {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 48px;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .qa-title::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 2px;
    background: currentColor;
  }

  .qa-item {
    margin-bottom: 48px;
  }
  .qa-question {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 8px;
  }
  .qa-q-label {
    font-size: 16px;
    font-weight: 900;
    flex-shrink: 0;
    width: 24px;
  }
  .qa-question-text {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.6;
  }
  .qa-answer {
    padding-left: 36px;
    font-size: 14px;
    line-height: 1.9;
    font-weight: 400;
  }
  .qa-answer p {
    margin-bottom: 4px;
  }

  /* Font name display */
  .font-list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 32px;
    margin-bottom: 24px;
    padding-left: 36px;
  }
  .font-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .font-item .font-code {
    font-size: 13px;
    font-weight: 400;
    color: #707070;
    letter-spacing: 0.05em;
  }
  .font-item .font-name {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.03em;
  }
  .font-item .font-type {
    font-size: 12px;
    font-weight: 400;
    color: #707070;
  }

  /* Underline accent bars */
  .qa-underline {
    height: 11.5px;
    margin-bottom: 24px;
    margin-left: 36px;
    max-width: 430px;
  }
  .green-bar  { background: #016B49; }
  .salmon-bar { background: #F98375; }
  .mint-bar   { background: #ABD3C1; }
  .yellow-bar { background: #FFB200; }

  /* ============================================================
     FOOTER / ARTBOARD 2 CONTENT
     ============================================================ */
  .newsletter-section {
    background: #ffffff;
    padding: 80px 140px;
    border-top: 2px solid #000000;
  }
  .newsletter-title {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 48px;
    letter-spacing: 0.1em;
  }
  .newsletter-form {
    max-width: 640px;
    margin: 0 auto;
  }
  .form-group {
    margin-bottom: 32px;
  }
  .form-label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 8px;
    letter-spacing: 0.05em;
  }
  .form-input {
    width: 100%;
    height: 48px;
    border: 1px solid #000000;
    background: #ffffff;
    font-size: 14px;
    padding: 0 16px;
    font-family: inherit;
    outline: none;
  }
  .form-input:focus {
    border-width: 2px;
  }
  .form-submit {
    display: block;
    width: 200px;
    margin: 0 auto;
    height: 48px;
    background: #000000;
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em;
    border: none;
    cursor: pointer;
  }

  .footer-nav {
    display: flex;
    gap: 72px;
    align-items: center;
    font-size: 18px;
    font-weight: 700;
  }

@media (max-width: 560px) {
  .amb-common.amb-footer { height: auto; }
  .amb-footer__inner {
    height: auto;
    padding: 32px 0;
    gap: 24px;
    align-items: stretch; /* 左右個別に制御 */
  }
  .footer-nav {
    flex-direction: column;
    gap: 16px;
    font-size: 16px;
    align-items: flex-start;
    /* 左端から 15.5/390 の比率でインデント */
    margin-left:  calc(15.5 / 390 * 100vw);
  }
  .footer-company {
    text-align: right ! important;
    /* 右端から同比率でインデント */
    padding-right: calc(15.5 / 390 * 100vw);
  }
}

  .footer-nav_TAMESHI {
    display: flex;
    gap: 72px;
    align-items: center;

    font-size: 18px;
    font-weight: 700;

    transform: translateY(12px);
  }
  .footer-company {
    font-size: 14px;
    color: #4D4D4D;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: center;
  }
  .footer-company_TAMESHI {
    font-size: 14px;
    color: #4D4D4D;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: center;

    transform: translateY(12px);
  }

  /* ============================================================
     UTILITY
     ============================================================ */
  .text-center { text-align: center; }
  .fw-black { font-weight: 900; }
  .fw-bold  { font-weight: 700; }
  .fw-med   { font-weight: 500; }

  /* Accent colors applied to Q section headings etc. */
  .accent-green  { color: #016B49; }
  .accent-salmon { color: #F98375; }
  .accent-yellow { color: #FFB200; }
  .accent-mint   { color: #016B49; }

  .divider-line {
    border: none;
    border-top: 1px solid #000000;
    margin: 0;
  }
  .divider-line-half {
    border: none;
    border-top: 0.5px solid #000000;
    margin: 0;
  }



/*******************************************************************************/


  /* ─── HERO ─── */
  .mailmag_hero {
    margin-top: 76px;
    height: 26px;
    position: relative;
    overflow: hidden;
  }
  .mailmag_hero__bg {
    position: absolute;
    top: 0;
/*
    left: 50vw;
    transform: translateX(-50%);
*/
    width: 100%;
    height: 27px;
    pointer-events: none;
    user-select: none;
  }
  .mailmag_hero__bg img {
    display: block;
    width: 100%;
    height: 27px;
/*
    width: 100%;
    height: auto;
*/
  }
  /* 全画面幅に延ばす横線（SVG外の余白を埋める） * /
  .mailmag_hero__rule {
    position: absolute;
    left: 0; right: 0;
    height: 0;
    pointer-events: none;
  }
*/
  /* ─── MAIL MAG FORM ─── */
  .mailmag_form {
    position: relative;
    height: 668px;
    overflow: hidden;
/*    background: #F6EEE0;*/
  }
  .mailmag_form__inner {
    position: absolute;
    top: 0;
/*
    left: 50vw;
    transform: translateX(-50%);
*/
/*    width: 1920px;	*/
    width: 100%;
    height: 668px;
  }
  .mailmag_form__heading {
    position: absolute;
    top: 132.4px;
    left: 0; right: 0;
    height: 43px;
  }
  .mailmag_form__omf-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
/*    top: 175.8px;*/
    display: block;
    width: 400px;
    height: 43px;
  }
  .mailmag_form__lead {
    position: absolute;
    top: 198.0px;
/*
    left: 727px;
    width: 500px;
*/
    position: relative;
    text-align: center;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.05em;
  }
  .mailmag_form__rule {
    position: absolute;
    left: 745px;
    width: 430px;
    height: 0;
    border-top: 0.3px solid #000000;
  }
/*
  .mailmag_form__body {
    position: absolute;
    top: 468px;
    left: 590px;
    width: 750px;
    line-height: 2;
    font-weight: 400;
  }
  .mailmag_form__body p { margin-bottom: 0; }
  .mailmag_form__buttons {
    position: absolute;
    top: 968px;
    left: 0; right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 70px;
  }
  .mailmag_form__btn {
    display: block;
    text-decoration: none;
    cursor: pointer;
  }
*/

  /* ─── MAIL MAG FORM ─── * /
  .mailmag_form {
    position: relative;
    height: 641px;
    overflow: hidden;
  }
  .mailmag_form__inner {
    position: absolute;
    top: 0;
    left: 50vw;
    transform: translateX(-50%);
    width: 1920px;
    height: 641px;
  }
  .mailmag_form__heading {
    position: absolute;
    top: 22px;
    left: 0; right: 0;
    height: 43px;
  }
  .mailmag_form__bg {
    position: absolute;
    left: 50vw;
    transform: translateX(-50%);
    width: 400px;
    height: 43px;
    pointer-events: none;
    user-select: none;
  }
  .mailmag_form__bg img {
    display: block;
    width: 400px;
    height: 43px;
  }
  .mailmag_form-title {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 48px;
    letter-spacing: 0.1em;
  }
  /* 全画面幅に延ばす横線（SVG外の余白を埋める） * /
  .mailmag_form__rule {
    position: absolute;
    left: 0; right: 0;
    height: 0;
    pointer-events: none;
  }
  .mailmag_form__rule--thick { border-top: 2px solid #000000; }
  .mailmag_form__rule--thin  { border-top: 0.5px solid #000000; }
*/


  /* ============================================================
     FOOTER / ARTBOARD 2 CONTENT
     ============================================================ */
/*
  .newsletter-section {
    background: #ffffff;
    padding: 80px 140px;
    border-top: 2px solid #000000;
  }
  .newsletter-title {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 48px;
    letter-spacing: 0.1em;
  }
*/

  .mailmag_form-form {
/*
    position: relative;
    top: 146px;
*/
    position: absolute;
    top: 276.7px;
    left: 50%;
    transform: translateX(-50%);
/*
    max-width: 640px;
    margin: 0 auto;
    position: absolute;
    left: 50%;
*/
    width: 700px;
  }
  .mailmag_form-group {
/*    margin-bottom: 55px;	*/
  }
  .mailmag_form-group-top-gap {
    margin-top: 47.2px;
  }

  .mailmag_form-group-top-gap-agree {
    margin-top: 36.0px;
  }

  .mailmag_form-label-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
/*    margin-bottom: 8px;*/
  }

  .mailmag_form-label {
    display: block;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
/*    margin-bottom: 8px;*/
  }

  .mailmag_form-badge {
    width: 43px;
    height: 18px;
    display: block;
  }

  .mailmag_form-label_GOMI {
    display: block;
    font-size: 18px;
    font-weight: 500;
/*    margin-bottom: 8px;*/
    letter-spacing: 0.05em;
  }

  .mailmag_form-input {
    width: 100%;
    height: 48px;
    border: 1px solid #000000;
    background: #ffffff;
    font-size: 14px;
    padding: 0 16px;
    font-family: inherit;
    outline: none;
  }
  .mailmag_form-input:focus {
    border-width: 2px;
  }
  .mailmag_form-submit_btn {
    display: block;
    width: 200px;
    margin: 0 auto;
    height: 48px;
    background: #000000;
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em;
    border: none;
    cursor: pointer;
  }
  .mailmag_form-submit-wrap {
      text-align: center;
  }
  .mailmag_form-submit {
    margin-top: 20px;
    margin-left: auto;
    display: inline-block;
    cursor: pointer;
    text-decoration: none;
  }
  .mailmag_form-submit img {
    display: block;
    margin: 0 auto;
    width: 114px;
    height: 37px;
  }

  .mailmag-disabled {
      pointer-events: none;
      opacity: 0.5;
  }



/* ============================================================
   Scroll した時に Fade Animation で表示する
============================================================ */

.fadein {
  opacity: 0;
  transform: translateY(200px);	/*スライドさせるならこれを使う*/
  transition:
    opacity 2.0s ease,
    transform 1.2s ease;
}

.fadein.active  {
  opacity: 1;
  transform: translateY(0);
}
.delay-0 { transition-delay: 0.0s; }
.delay-1 { transition-delay: 0.3s; }
.delay-2 { transition-delay: 0.6s; }
.delay-3 { transition-delay: 0.9s; }

/* ============================================================
   SEO対策の為の非表示属性
============================================================ * /

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

*/

/* ============================================================
   HAMBURGER / SP NAV  — PC デフォルト（非表示）
   ============================================================ */
.hamburger-btn {
  display: none; /* PC では非表示 */
  flex-direction: column;
  justify-content: center;	/* 3本線なら⇒space-between;*/
  gap: 5px;	/* 2本線なら */
  width: 44px;
  height: 44px;
  padding: 10px 8px;
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  margin-left: auto;
}
.hamburger-btn span {
  display: block;
  width: 26px;
  height: 2px;
  background: #000;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: center;
}

.sp-nav { display: none; } /* PC では完全非表示 */

body.sp-nav-open { overflow: hidden; }

.sp-header-logo {
  display: block;
  text-decoration: none;
  line-height: 0;
  flex-shrink: 0;
}

/* ============================================================
   RESPONSIVE — スマホ版 (max-width: 1000px)
   PC 版の CSS を一切変更せず、スマホのみに追加適用
   ============================================================ */
@media (max-width: 1050px) {
  .amb-common__stripe {
/*
    top: calc(4 / 390 * 100vw);	/* calc(4 / 390 * 100vw) * /
    height: calc( ( 30 - 4 ) / 390 * 100vw);
*/
    top: 4px;	/* calc(4 / 390 * 100vw) */
    height: calc( 30 / 390 * 100vw - 4px);
  }

  /* ─── UTILITY ─── */
  .sp-hide { display: none !important; }

  /* ─── FADEIN: スマホでは即表示（絶対配置のトリガーがずれるため） ─── */
  .fadein {
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: none !important;
  }

  /* ─── HEADER ─── */
  .site-header {
    height: 46px;
  }
  .site-header__inner {
    width: 100%;
    padding: 0 16px;
    height: 44px;
  }
  /* index.php のロゴ（sp-header-logo） */
  .sp-header-logo img {
    width: 180px;
    height: auto;
  }
  /* mailmag.php のロゴ（site-header__logo img）— absolute → static */
  .site-header__logo img {
    position: static !important;
    top: auto !important;
    width: 180px;
    height: auto;
  }
  .site-header__logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
  }

  /* ─── HAMBURGER BUTTON ─── */
  .hamburger-btn {
    display: flex;
    width: 44px;
    height: 36px;
    padding: 8px 6px;
  }
  .hamburger-btn span {
    width: 30px;
  }
  .hamburger-btn.is-active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
  }
  .hamburger-btn.is-active span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
  }
  .hamburger-btn.is-active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
  }

  /* ─── SP NAV ─── */
  .sp-nav {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 200;
    background: #fff;
    transform: translateY(-100%);
    transition: transform 0.35s ease;
    overflow-y: auto;
  }
  .sp-nav.is-open {
    transform: translateY(0);
  }
  .sp-nav__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    height: 44px;
    flex-shrink: 0;
    /*border-bottom: 2px solid #000;	*/
  }
  .sp-nav__logo {
    display: block;
    line-height: 0;
    text-decoration: none;
  }
  .sp-nav__logo img {
    width: 178.02px;
    height: auto;
  }
  .sp-nav__close {
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
  }
  .sp-nav__close::before,
  .sp-nav__close::after {
    content: '';
    position: absolute;
    width: 28px;
    height: 2px;
    background: #000;
    top: 50%;
    left: 50%;
  }
  .sp-nav__close::before { transform: translate(-50%, -50%) rotate(45deg); }
  .sp-nav__close::after  { transform: translate(-50%, -50%) rotate(-45deg); }

/*
  .sp-nav__body {
    flex: 1;
/*
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px 0;
* /
    padding: 124px 0 24px 0;
  }
*/
  .sp-nav__body {	/* 画面の上下中央（ヘッダ除く） */
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
  }


  .sp-nav__menu {
    list-style: none;
    padding: 0;
    text-align: center;
    /*margin-top: 44px;		画面の上下中央（ヘッダ除く）にする為、削除 */
  }
  .sp-nav__link {
    display: block;
    padding: 14px 20px;
    font-size: 18px;
    font-weight: 700;
    color: #000;
    text-decoration: none;
    letter-spacing: 0.05em;
  }
  .sp-nav__sub {
    font-size: 16px;
    font-weight: 500;
  }
  .sp-nav__divider.upper {
    border: none;
    border-top: 0.5px solid #000;
    margin: 16px 48px 0px 48px;
  }
  .sp-nav__divider.lower {
    border: none;
    border-top: 0.5px solid #000;
    margin: 5px 48px 16px 48px;
  }

  /* ─── HERO ─── */
  .hero {
    height: auto;
    margin-top: 44px;
  }
  .hero__bg {
    position: relative;
    left: auto;
    transform: none;
    width: 100%;
    height: auto;
  }
  .hero__bg img {
    width: 100%;
    max-width: 401px;
    height: 557px; /* 390px〜1000px：max-width 固定で height も 557px 固定 */
    display: block;
    margin: 0 auto;
  }

/*  .hero__rule { display: none; }*/

  /* ─── SERVICE ─── */
  .service-section__inner {
    width: 100%;
    height: auto;
    padding: 48px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
  .service-section__heading {
    position: relative;
    top: auto; left: auto; right: auto;
    height: auto;
    display: flex;
    align-items: flex-end;
    gap: 8px;
    justify-content: center;
  }
  .service-section__omf-logo {
    position: relative;
    left: auto; top: auto;
    transform: none;
    width: 220px;
    height: auto;
  }
  .service-section__toha {
    position: relative;
    left: auto; bottom: auto;
    width: 33px;
    height: auto;
  }
  .service-section__lead {
    position: relative;
    top: auto; left: auto;
    width: 100%;
    font-size: 15px;
    text-align: center;
  }
  .service-section__lead br { display: none; }
  /* 両方の rule を既定では非表示、--main のみ SP で表示 */
  .service-section__rule    { display: none; }
  .service-section__rule--main {
    display: block;
    position: relative;
    top: 0vw  ! important;	/* 39.49vw;	 auto */
    left: auto;
    /* 左右 17.75vw の余白を確保して中央寄せ */
    width: calc(100% - 17.75vw * 2);
    margin: 0 auto;
    height: 0;
    border-top: 0.3px solid #000;
  }
  .service-section__body {
    position: relative;
    top: auto; left: auto;
    width: 100%;
    font-size: 14px;
    line-height: 1.9;
  }
  .service-section__body br { display: none; }
  .service-section__buttons {
    position: relative;
    top: auto;
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }

  /* ─── AMBASSADOR INTRO ─── */
  .ambassador-intro {
    background: #F6EEE0; /* SP版: セクション全体を単色で塗りつぶし */
  }
  .ambassador-intro::before {
    /* SP版: SVG高さ分だけ白でマスク（section の #F6EEE0 を隠す）。SVG以外は section background が透ける */
    top: 0;
    height: 59px; /* 391px幅時のSVG高さ: 391 × (58.745758/391.776189) ≈ 58.6px */
    background: #ffffff;
  }
  .ambassador-intro__rule {
    /* 表示を維持（display: none の上書きなし）— 縁取りラインとして機能 */
  }
  .ambassador-intro__bg {
    position: relative;
    left: auto; top: auto;
    transform: none;
    width: 100%;
  }
  .ambassador-intro__bg img {
    width: 100%;
    max-width: 391px;
    height: auto;
    display: block;
    margin: 0 auto;
  }
  .ambassador-intro__inner {
    width: 100%;
    height: auto;
    padding-bottom: 40px;
  }
  .ambassador-intro__text {
    position: relative;
    top: auto; left: auto;
    width: 100%;
    font-size: 13px;
    line-height: 1.9;
    padding: 24px 24px 0;
    margin-bottom: 32px;
  }
  .ambassador-intro__text br { display: none; }

  /* アンバサダーカード（2カラム・画像下端揃え・名前上端揃え） */
  .fade-group {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto auto auto; /* photo行1, name行1, photo行2, name行2 */
    column-gap: 16px;
    row-gap: 0;
    padding: 0 16px;
  }
  .amb-card {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: grid !important;
    grid-template-rows: subgrid; /* 親グリッドの行トラックを継承 */
    grid-row: span 2;            /* photo行 + name行 の2トラックを占有 */
    justify-items: center;
  }
  .amb-card__photo {
    align-self: end;             /* photo行トラックの下端に揃える */
    width: 160px;                /* いとくに(最大幅253px) を 160px = 63.2% 基準 */
    height: auto;
    display: block;
  }
  /* 各画像を同じ倍率（160/253 ≈ 63.2%）で表示。height:auto でアスペクト比を維持 */
  .fade-group .amb-card:nth-child(2) .amb-card__photo { width: 128px; } /* 鷹野: 203 × 160/253 */
  .fade-group .amb-card:nth-child(3) .amb-card__photo { width: 130px; } /* ベーコン: 205.6 × 160/253 */
  /* nth-child(4) = いとくに: 160px（デフォルト値）＋横位置を0.41に移動 */
  .fade-group .amb-card:nth-child(4) .amb-card__photo {
/*    transform: translateX(calc(4.5vw + 2.16px)); /* カラム幅の0.5中心 → 0.41中心へ右シフト */
    transform: translateX(calc(160px * 0.09)); /* カラム幅の0.5中心 → 0.41中心へシフト いとくにさんの画像の中心はちょっとズレている為微調整*/
  }
  .fade-group .amb-card:nth-child(5) .amb-card__photo { width: 129px; } /* ゆかまる: 204 × 160/253 */
  .amb-card__name {
    align-self: start;           /* name行トラックの上端に揃える */
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: block;
    padding: 8px 0 0;
    text-align: center;
  }
  /* 1段目カードのname下に余白を設けて2段目との間隔を確保 */
  .fade-group .amb-card:nth-child(-n+3) .amb-card__name {
    padding-bottom: 24px;
  }
  .amb-card__name img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .amb-card__name-hover   { display: none !important; }
  .amb-card__name-default { display: block !important; }

  /* ─── AMBASSADOR SECTION 共通 ─── */
  .amb-common__inner {
    width: 100% !important;
    height: auto !important;
  }
  .amb-common__vline { display: none !important; }

  /* ─── グループ: プロフィール ─── */
  .amb-takano__group--profile,
  .amb-bekon__group--profile,
  .amb-itokuni__group--profile,
  .amb-yukamaru__group--profile {
    height: auto !important;
    padding: 80px 24px 32px;
  }
  .amb-common__photo {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 160px !important;
    height: auto !important;
    margin-bottom: 20px;
    display: block;
  }
  .amb-common_prof-text-3,
  .amb-common_prof-text-1,
  .amb-common_prof-text-2 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
  }
  .amb-common_prof-text-3 { font-size: 11px; margin-bottom: 4px; }
  .amb-common_prof-text-1 { font-size: 16px; margin-bottom: 8px; }
  .amb-common_prof-text-2 { 
    font-size: clamp(0.75rem, 3.42vw, 1.1rem);	 /* 13px 1.8*/
    line-height: clamp(1.125rem, 8vw, 2.5rem)	/* 8vw; */
}	

  /* ─── グループ: ソーシャルリンク ─── */
  .amb-takano__group--links,
  .amb-bekon__group--links,
  .amb-itokuni__group--links,
  .amb-yukamaru__group--links {
    height: auto !important;
    padding: 11.1vw 6.1vw 0vw 6.1vw;	/* 16px 24px; */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .amb-itokuni__group.amb-itokuni__group--links{
    margin-top:0px ! important;	/* いとくに メルマガ登録ボタン */
  }
  .amb-itokuni__group.amb-itokuni__group--qa{
    margin-top:24px ! important;	/* いとくにさんに質問 グループ */
  }

  .amb-common__x-icon {
    position: relative !important;
    top: auto !important;
    left: auto !important;
  }
  .amb-common__x-icon img {
    width: auto !important;
    max-width: 200px;
    height: auto !important;
  }
  .amb-common__newsletter-btn {
    position: relative !important;
    top: auto !important;
    left: auto !important;
  }

  /* ─── グループ: Q&A ─── */
  .amb-takano__group--qa,
  .amb-bekon__group--qa,
  .amb-itokuni__group--qa,
  .amb-yukamaru__group--qa {
    height: auto !important;
    margin-top: 0 !important;
    /* padding-left = 4.6vw (≒390px時18px)、padding-right = 18.5vw (≒390px時72px) */
    /* padding-top = 17vw：区切り線と最初の要素の間の余白 */
    padding: 28.5vw 0vw 0vw 4.6vw;	/*28.5vw 6.1vw 0vw 4.6vw*/ /*20vw 6.1vw 0px 4.6vw;*/ /*20vw 6.1vw 24px 4.6vw;*/ /*17vw 18.5vw 24px 4.6vw;*/
    display: flex;
    flex-direction: column;
    gap: 0px;	/*16px;*/
    position: relative;
  }
  /* 『～～に質問』 */
  .amb-common__q-title {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
/*    max-width: 180px;	*/
    height: auto !important;
  }
  .amb-common__q-title[width="199"] {	/* 鷹野さんに質問 */
    width: 26.22vw !important;		/* 102.26px/390 */
/*    margin-bottom: 0.5vw;		/* 10px/390 */
  }
  .amb-common__q-title[width="230"] {	/* ベーコンさんに質問 ／ いとくにさんに質問 ／ ゆかまるさんに質問*/
    width: 29.57vw !important;		/* 119.2649 px/390 * 0.967 */
/*    margin-bottom: 0.5vw !important;		/* 10px/390 */
  }


/*
  .amb-common__q-title[width="240"] {	/* ベーコンさんに質問 * /
    width: 29.2vw !important;		/* 117.6281px/390 * /
    margin-bottom: 0.5vw !important;		/* 10px/390 * /
  }
  .amb-common__q-title[width="240.0"] {	/* ゆかまるさんに質問 * /
    width: 31.55vw !important;		/* 123.0273px/390 * /
    margin-bottom: 0.5vw !important;		/* 10px/390 * /
  }
*/
  .amb-common__q {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    /* width は下記の属性セレクタ（同一スケール指定）で上書き */
    width: auto;
    max-width: none;
    height: auto !important;
  }
  .amb-common__font-title {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    /* PC比率: font-title(80px) - q(52px) = 28px / 1000px = 2.8vw */
    margin-left: 3.7vw;		/*2.8vw;*/
    margin-top: 5.2vw;
    width: auto !important;
    max-width: 46.0vw;	/*calc(100% - 45.04vw)	calc(100% - 27.0vw);*/ /*2.8vw*/
    height: auto !important;
    padding-left: 0;
  }
  .amb-common__font-title.blank_top {
    margin-top: 8.39vw;		/*8.5	*/
  }

  .amb-common__font-body {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    /* PC比率: font-body(106px) - q(52px) = 54px / 1000px = 5.4vw */
    margin-top: 3.3vw;
    margin-left: 3.7vw;		/*5.4vw;*/
    width: 76.79vw !important;	/*calc(100% - 3.7vw) !important		5.4vw*/
    height: auto !important;
    padding-left: 0;
  }
  /* picture で包んだ場合の img は親に追従 */
  .amb-common__font-body img {
    width: 100%;
    height: auto;
    display: block;
  }
  .amb-common_q2-text,
  .amb-common_q3-text {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
/*    font-size: 13px;	*/
/*    font-size: 3.0vw;	*/
/*    line-height: 4.9vw;	*/
    font-size: clamp(0.6rem, 3.0vw, 1.2rem);
    line-height: clamp(1.0rem, 4.9vw, 2.0rem);
    /* padding-left = 9vw (≒390px時35px)、padding-right = 10vw (≒390px時39px) */
    padding-left : 3.7vw;	/*9vw;*/
    padding-right: 3.7vw;
  }
  /* 各アンバサダー固有の top/width 上書きを解除 */
  .amb-common_q2-text.amb-takano_q2-text,
  .amb-common_q2-text.amb-bekon_q2-text,
  .amb-common_q2-text.amb-itokuni_q2-text,
  .amb-common_q2-text.amb-yukamaru_q2-text,
  .amb-common_q3-text.amb-takano_q3-text,
  .amb-common_q3-text.amb-itokuni_q3-text,
  .amb-common_q3-text.amb-yukamaru_q3-text {
/*    top: auto !important;	*/
    top:1vw ! important;
    width: 100% !important;
  }

  /* ─── FOOTER ─── */
/*Footerの左寄せ制御は560px以下の場合に行う
  .amb-common.amb-footer { height: auto; }
  .amb-footer__inner {
    height: auto;
    padding: 32px 0;
    gap: 24px;
    align-items: stretch; /* 左右個別に制御 * /
  }

  .footer-nav {
    flex-direction: column;
    gap: 16px;
    font-size: 16px;
    align-items: flex-start;
    /* 左端から 15.5/390 の比率でインデント * /
    margin-left:  calc(15.5 / 390 * 100vw);
  }

  .footer-company {
    text-align: right;
    /* 右端から同比率でインデント * /
    padding-right: calc(15.5 / 390 * 100vw);
  }
*/

  /* ─── PC / SP 切替 ─── */
  .pc-only { display: none !important; }
  .sp-only { display: block; }

  /* ─── SP版 縦線を表示（top / height / left は sp-vline.js で設定） ─── */
  .amb-common__vline {
    display: block !important;
    position: absolute;
    width: 2px;
    top: 0;
    height: 0;
    left: 0; /* JS が上書きするため、ここは初期値のみ */
  }

  /* ─── SP版プロフィールグループ ─── */
  .amb-takano__group--profile,
  .amb-bekon__group--profile,
  .amb-itokuni__group--profile,
  .amb-yukamaru__group--profile {
    padding: 0 !important;
  }
  /* SP版 本文テキストにpadding */
  .amb-common_prof-text-2 {
    padding: 4.1vw 3.3vw 0vw 3.8vw;	/* 16px 3.3vw 24px 3.8vw; */
  }

  /* ─── SP版プロフィールコンテナ（絶対座標ベース、420px基準vw） ─── */
  .sp-profile {
    position: relative;
    width: 100%;
    height: calc(230 / 420 * 100vw);
    overflow: visible;
  }

  /* SP版 写真 */
  .sp-profile__photo {
    position: absolute;
    display: block;
    height: auto;
  }
  .sp-profile--takano  .sp-profile__photo {
    left: calc(54.6643  / 390 * 100vw * 0.967);
    top:  calc(56.1076  / 390 * 100vw * 0.967);
    width: calc(95.5634 / 390 * 100vw * 0.967);
  }
  .sp-profile--bekon   .sp-profile__photo {
    left: calc(54.6144  / 390 * 100vw * 0.967);
    top:  calc(73.1076  / 390 * 100vw * 0.967);
    width: calc(95.8659 / 390 * 100vw * 0.967);
  }
  .sp-profile--itokuni .sp-profile__photo {
    left: calc(54.6144   / 390 * 100vw * 0.967);
    top:  calc(71.6622   / 390 * 100vw * 0.967);
    width: calc(118.3856 / 390 * 100vw * 0.967);
  }
  .sp-profile--yukamaru .sp-profile__photo {
    left: calc(54.8957  / 390 * 100vw * 0.967);
    top:  calc(57.1076  / 390 * 100vw * 0.967);
    width: calc(97.7159 / 390 * 100vw * 0.967);
  }

  /* SP版 ふりがな */
  .sp-profile__yomi {
    position: absolute;
    line-height: 1;
    white-space: nowrap;
    margin: 0;
  }
  .sp-profile--takano .sp-profile__yomi {
    left: calc(185.042 / 390 * 100vw * 0.967);
    top:  calc(76.6506 / 390 * 100vw * 0.967);
    font-size: calc(10 / 390 * 100vw * 0.967);
  }

  /* SP版 名前 */
  .sp-profile__name {
    position: absolute;
    line-height: 1;
    white-space: nowrap;
    font-weight: 500;	/* Medium 相当 */
    margin: 0;
  }
.sp-profile_suffix{
    font-size: calc(17.78  / 390 * 100vw * 0.967);
    margin-left: calc(-4  / 390 * 100vw * 0.967);
    vertical-align: calc(0.5  / 390 * 100vw * 0.967);
}

  .sp-profile--takano  .sp-profile__name {
    left: calc(180.4121 / 390 * 100vw * 0.967);
    top:  calc(87.2263  / 390 * 100vw * 0.967);
    font-size: calc(20  / 390 * 100vw * 0.967);
  }
  .sp-profile--bekon   .sp-profile__name {
    left: calc(180.1064 / 390 * 100vw * 0.967);
    top:  calc(87.2263  / 390 * 100vw * 0.967);		/* 78.5427 */
    font-size: calc(20  / 390 * 100vw * 0.967);
  }
  .sp-profile--itokuni .sp-profile__name {
    left: calc(180.1064 / 390 * 100vw * 0.967);
    top:  calc(87.2263  / 390 * 100vw * 0.967);		/* 78.5427 */
    font-size: calc(20  / 390 * 100vw * 0.967);
  }
  .sp-profile--yukamaru .sp-profile__name {
    left: calc(180.1064 / 390 * 100vw * 0.967);
    top:  calc(87.2263  / 390 * 100vw * 0.967);		/* 78.5431 */
    font-size: calc(20  / 390 * 100vw * 0.967);
  }

  /* SP版 会社名（鷹野のみ） */
  .sp-profile__company {
    position: absolute;
    line-height: 1;
    white-space: nowrap;
    font-weight: 500;	/* Medium 相当 */
    margin: 0;
  }
  .sp-profile--takano .sp-profile__company {
    left: calc(180.3584 / 390 * 100vw * 0.967);
    top:  calc(111.0192 / 390 * 100vw * 0.967);
    font-size: calc(13  / 390 * 100vw * 0.967);
  }

  /* SP版 横バー */
  .sp-profile__bar {
    position: absolute;
  }
  .sp-profile--takano  .sp-profile__bar {
    left:   calc(177.6278 / 390 * 100vw * 0.967);
    top:    calc(131.2967 / 390 * 100vw * 0.967);
    width:  calc(141.6201 / 390 * 100vw * 0.967);
    height: calc(9.3633   / 390 * 100vw * 0.967);
    background: #016B49;
  }
  .sp-profile--bekon   .sp-profile__bar {
    left:   calc(177.6278 / 390 * 100vw * 0.967);
    top:    calc(109.9803 / 390 * 100vw * 0.967);	/* 101.2967 */
    width:  calc(141.6201 / 390 * 100vw * 0.967);
    height: calc(9.3633   / 390 * 100vw * 0.967);
    background: #F98375;
  }
  .sp-profile--itokuni .sp-profile__bar {
    left:   calc(177.6278 / 390 * 100vw * 0.967);
    top:    calc(109.9803 / 390 * 100vw * 0.967);	/* 101.2967 */
    width:  calc(141.6201 / 390 * 100vw * 0.967);
    height: calc(9.3633   / 390 * 100vw * 0.967);
    background: #abd3c1;
  }
  .sp-profile--yukamaru .sp-profile__bar {
    left:   calc(177.6278 / 390 * 100vw * 0.967);
    top:    calc(109.9803 / 390 * 100vw * 0.967);	/* 101.2967 */
    width:  calc(141.6201 / 390 * 100vw * 0.967);
    height: calc(9.3633   / 390 * 100vw * 0.967);
    background: #ffb200;
  }

  /* SP版 リンク要素（共通） */
  .sp-profile a {
    position: absolute;
    display: block;
    text-decoration: none;
  }
  .sp-profile a img {
    display: block;
    height: auto;
  }
  /* border-bottom は sp-profile 内でも機能させる */
  .sp-profile .link-img-under-line {
    border-bottom: 1px solid #000;
    padding-bottom: 1px;
  }
  .sp-profile .link-img-under-line:hover {
    border-bottom-color: #b5b5b5;
    opacity: 0.6;
  }

  /* ─── 鷹野 SP版リンク ─── */
  .sp-profile--takano .sp-profile__x1 {
    left:  calc(178.3727 / 390 * 100vw * 0.967);
    top:   calc(146.118  / 390 * 100vw * 0.967);
    width: calc(57.4691  / 390 * 100vw * 0.967);
  }
  .sp-profile--takano .sp-profile__x1 img { width: 100%; }
  .sp-profile--takano .sp-profile__x2 {
    left:  calc(253.3727 / 390 * 100vw * 0.967);
    top:   calc(146.118  / 390 * 100vw * 0.967);
    width: calc(71.7093  / 390 * 100vw * 0.967);
  }
  .sp-profile--takano .sp-profile__x2 img { width: 100%; }

  /* ─── ベーコン SP版リンク ─── */
  .sp-profile--bekon .sp-blog {
    left:  calc((178.373 + 3) / 390 * 100vw * 0.967);
    top:   calc(131.4142 / 390 * 100vw * 0.967);	/* 122.7306 */
    width: calc(144.0117 / 390 * 100vw * 0.967);
  }
  .sp-profile--bekon .sp-blog img { width: 100%; height: auto; }
  .sp-profile--bekon .sp-book {
    left:  calc((178.373 + 3) / 390 * 100vw * 0.967);
    top:   calc((131.4142 + 28) / 390 * 100vw * 0.967);	/* 122.7306 */ /* calc(142.7306 / 390 * 100vw * 0.967); */
    width: calc(159.6953 / 390 * 100vw * 0.967);
  }
  .sp-profile--bekon .sp-book img { width: 100%; height: auto; }
  .sp-profile--bekon .sp-x {
    left:  calc((178.3727 + 3) / 390 * 100vw * 0.967);
    top:   calc((131.4142 + 28 + 28)  / 390 * 100vw * 0.967);	/* 122.7306 */ /* calc(161.118  / 390 * 100vw * 0.967); */
    width: calc(144.015  / 390 * 100vw * 0.967);
  }
  .sp-profile--bekon .sp-x img { width: 100%; }

  /* ─── いとくに SP版リンク ─── */
  .sp-profile--itokuni .sp-x {
    left:  calc(178.3727 / 390 * 100vw * 0.967);
    top:   calc(126.8016 / 390 * 100vw * 0.967);	/* 118.118 */
    width: calc(128.923  / 390 * 100vw * 0.967);
  }
  .sp-profile--itokuni .sp-x img { width: 100%; height: auto; }
  .sp-profile--itokuni .sp-tiktok {
    left:  calc(178.3727 / 390 * 100vw * 0.967);
    top:   calc(161.3961 / 390 * 100vw * 0.967);	/* 152.7125 */
    width: calc(24.8372  / 390 * 100vw * 0.967);
  }
  .sp-profile--itokuni .sp-tiktok img { width: 100%; }
  .sp-profile--itokuni .sp-youtube {
    left:  calc(221.6379 / 390 * 100vw * 0.967);
    top:   calc(161.239  / 390 * 100vw * 0.967);	/* 152.5554 */
    width: calc(35.9045  / 390 * 100vw * 0.967);
  }
  .sp-profile--itokuni .sp-youtube img { width: 100%; }

  /* ─── ゆかまる SP版リンク ─── */
  .sp-profile--yukamaru .sp-design {
    left:  calc((178.4121 + 3) / 390 * 100vw * 0.967);
    top:   calc((130.9754 - 2) / 390 * 100vw * 0.967);	/* 122.2922 */
    width: calc(96.0 / 390 * 100vw * 0.967);
  }
  .sp-profile--yukamaru .sp-design img { width: 100%; height: auto; }
  .sp-profile--yukamaru .sp-instagram {
    left:  calc(180.5965 / 390 * 100vw * 0.967);
    top:   calc((130.9754 + 28) / 390 * 100vw * 0.967);	/* 122.2922 */	/* calc(144.0744 / 390 * 100vw * 0.967); */
    width: calc(25.3032  / 390 * 100vw * 0.967);
  }
  .sp-profile--yukamaru .sp-instagram img { width: 100%; }
  .sp-profile--yukamaru .sp-youtube {
    left:  calc(224.3581 / 390 * 100vw * 0.967);
    top:   calc((130.9754 - 0.1601 + 28) / 390 * 100vw * 0.967);	/* 122.2922 */ /* calc(143.9143 / 390 * 100vw * 0.967); */
    width: calc(36.5783  / 390 * 100vw * 0.967);
  }
  .sp-profile--yukamaru .sp-youtube img { width: 100%; }
  .sp-profile--yukamaru .sp-x {
    left:  calc(180.5965 / 390 * 100vw * 0.967);
    top:   calc((130.9754 - 0.1601 + 28 + 38)  / 390 * 100vw * 0.967);	/* 122.2922 */ /* calc(177.118  / 390 * 100vw * 0.967); */
    width: calc(157.2091 / 390 * 100vw * 0.967);
  }
  .sp-profile--yukamaru .sp-x img { width: 100%; }

  /* ゆかまる：写真下端 222px が最大なので他と同じ 230px に統一 */
  .sp-profile--yukamaru { height: calc(230 / 390 * 100vw * 0.967); }

  /* ─── メルマガ登録ボタン：SP版は中央寄せ ─── */
  .amb-takano__group--links .amb-common__newsletter-btn,
  .amb-bekon__group--links  .amb-common__newsletter-btn,
  .amb-itokuni__group--links .amb-common__newsletter-btn,
  .amb-yukamaru__group--links .amb-common__newsletter-btn {
    align-self: center;
  }

  /* ─── グループ2（links）とグループ3（Q&A）の間の区切り線 ─── */
  /* QA グループ top:0 に絶対配置 → links直下の境界に描画 */
  /* padding-top: 17vw が線と最初の要素の余白になる */
  .amb-takano__group--qa::before,
  .amb-bekon__group--qa::before,
  .amb-itokuni__group--qa::before,
  .amb-yukamaru__group--qa::before {
    content: "";
    position: absolute;
    top: 12.2vw;
    left:  17.75vw;
    right: 17.75vw;
    height: 0;
    border-top: 0.5px solid #000;
  }

  /* ─── Q&A 質問画像：全て同一の倍率でスケーリング（454px 基準・76.19vw） ─── */
  /* 基準: 最大幅 454px の画像を 76.19vw（≒420px 時 320px）で表示。他は同比率 */
  .amb-common__q {
    width: auto;        /* !important を外して個別指定で上書き可能に */
    max-width: none;
    height: auto !important;

  }
  .amb-common__q.blank_top {
    margin-top: 11.0vw;		/* 9.5vw */
  }
  .amb-common__q.blank_top-takano {
    margin-top: 12.0vw;
  }
  .amb-common__q.blank_top-itokuni {
    margin-top: 14.0vw;
  }
  .amb-common__q.blank_top-yukamaru {
    margin-top: 16.0vw;
  }
  .amb-common__q.blank_head-takano {
    margin-top: 1vw;	/*4px;*/
  }
  .amb-common__q.blank_head-bekon ,
  .amb-common__q.blank_head-itokuni{
    margin-top: 1.2vw;
  }
  .amb-common__q.blank_head-yukamaru {
    margin-top: 1.1vw;
  }
/*
  .amb-common__q.blank_top-bekon {
    margin-top: 9.5vw;
  }
  .amb-common__q.blank_top-yukamaru {
    margin-top: 7.0vw;
  }
*/
  .amb-common_q2-text.blank_top {
    margin-top: 1.5vw;
  }
  .amb-common_q2-text.blank_bottom {
/*    margin-bottom: -1.4vw;	*/
  }
  .amb-common_q3-text.blank_top {
    margin-top: 1.5vw;
  }
  .amb-common_q3-text.blank_top-itokuni {
    margin-top: -0.5vw;
  }

  /* Safari の baseline gap 対策: inline img の下余白をブラウザ間で統一 */
  .amb-common__q img { display: block; }

  .amb-common__q img[width="418.76"] { width: 66.15vw; height:auto; }	/* 鷹野Q1		66.34	70.15		267.56	*/
  .amb-common__q img[width="346.22"] { width: 54.69vw; height:auto; }	/* 鷹野Q2		54.69	58.06		220.56	*/
  .amb-common__q img[width="351.91"] { width: 55.59vw; height:auto; }	/* 鷹野Q3		56.18	59.42		226.56	*/
  .amb-common__q img[width="454.57"] { width: 71.81vw; height:auto; }	/* ベーコンQ1		72.60	76.19		292.9	72.6*0.967	*/
  .amb-common__q img[width="346.22"] { width: 54.69vw; height:auto; }	/* ベーコンQ2		54.69	58.06		220.56	*/
  .amb-common__q img[width="454.01"] { width: 71.72vw; height:auto; }	/* いとくにQ1		72.60	76.19		292.9	72.6*0.967	*/
  .amb-common__q img[width="346.22"] { width: 54.69vw; height:auto; }	/* いとくにQ2		54.69	58.06		220.56	*/
  .amb-common__q img[width="351.91"] { width: 55.59vw; height:auto; }	/* いとくにQ3		56.18	58.91		226.56	*/
  .amb-common__q img[width="452.01"] { width: 71.40vw; height:auto; }	/* ゆかまるQ1		72.63	75.86		292.93	*/
  .amb-common__q img[width="346.22"] { width: 54.69vw; height:auto; }	/* ゆかまるQ2		54.69	57.06		220.56	*/
  .amb-common__q img[width="351.91"] { width: 55.59vw; height:auto; }	/* ゆかまるQ3		56.18	58.91		226.56	*/


  .amb-common__q img[width="431.20"] { width: 69.82vw; height:auto; }	/* 全アンバサダー共通	*/

  .amb-common__font-body img[width="796.97"] { width: 72.89vw  !important; }	/* 鷹野 1 Ｊグー	*/
  .amb-common__font-body img[width="715.91"] { width: 73.68vw  !important; }	/* 鷹野 2 キリギリス	ベーコン 1 */
  .amb-common__font-body img[width="723.17"] { width: 83.05vw  !important; }	/* 鷹野 3 クワドラ	*/
  .amb-common__font-body img[width="619.40"] { width: 78.51vw  !important; }	/* 鷹野 4 とんぼ	*/

  .amb-common__font-body img[width="780.47"] { width: 82.50vw  !important; 	/* いとくにショウネンオト	*/
                                               margin-top: -0.4vw;
                                               margin-bottom: -0.2vw;       }
  .amb-common__font-body img[width="635.29"] { width: 78.76vw  !important; 	/* いとくに竹田城	*/
                                               margin-top: -0.4vw;
                                               margin-bottom: -0.2vw;       }
  .amb-common__font-body img[width="619.40"] { width: 78.51vw  !important; 	/* いとくにとんぼ	*/
                                               margin-top: 0.0vw;
                                               margin-bottom: -0.2vw;       }
  .amb-common__font-body img[width="622.59"] { width: 79.31vw  !important; }	/* ゆかまる 1 漫画チック	*/

  /* ─── 各アンバサダーセクション：SP版 margin-bottom = 25vw ─── */
  .ambassador-section.amb-takano,
  .ambassador-section.amb-yukamaru {
    padding-bottom: 22.5vw;
  }
  .ambassador-section.amb-bekon{
    padding-bottom: 20.5vw;	/*margin-bottom: 20.5vw;*/
  }

  .ambassador-section.amb-itokuni{
    padding-bottom: 18.5vw;	/*margin-bottom: 18.5vw;	20.5vw	25vw;*/
  }
  /* ─── SCROLL MARGIN（固定ヘッダー分オフセット） ─── */
  .ambassador-section {
    scroll-margin-top: 44px;
  }
  .ambassador-qa-section {
/*    scroll-margin-top: calc(44px + 30px);*/
    scroll-margin-top: calc(44px - 28.5vw + 3vw);
  }

  .ambassador-qa-section.qa-itokuni {
    transform: translateY(25px);
  }

  .ambassador-qa-section.qa-yukamaru {
/*    transform: translateY(4px);*/
  }


  /* ─── MAILMAG HERO ─── */
  .mailmag_hero {
    margin-top: 44px;
    height: auto;
  }
  .mailmag_hero__bg {
    position: relative;
    left: auto; top: auto;
    transform: none;
    width: 100%;
    height: 27px;
  }
  .mailmag_hero__bg img {
    width: 100%;
    height: 27px;
  }

  /* ─── MAILMAG FORM ─── */
  .mailmag_form {
    height: auto;
    overflow: visible;
    padding-bottom: 66px;	/* 16.92vw	48px */
  }
  .mailmag_form__inner {
    position: relative;
    top: auto; left: auto;
    transform: none;
    width: 100%;
    height: auto;
    padding: 0vw 10vw;
  }
@media (max-width: 420px) {
  .mailmag_form__inner{
    padding: 0vw 2vw;
  }
  .mailmag_form-form {
    padding: 0vw;
  }
}
  .mailmag_form__heading {
    position: relative;
    top: auto;
    height: auto;
    padding-top: 40px;
    display: flex;
    justify-content: center;
  }
  .mailmag_form__omf-logo {
    position: relative;
    left: auto;
    transform: none;
    width: 240px;
    height: auto;
  }
  .mailmag_form__lead {
    position: relative;
    top: auto;
    font-size: 16px;
    text-align: center;
    margin-top: 24px;	/* 6.67vw;	16px */
  }
  .mailmag_form-form {
    position: relative;
    top: auto; left: auto;
    transform: none;
    width: 100%;
    padding: 0 24px;
    margin-top: 54px;	/* 14.88vw	32px */
    box-sizing: border-box;
  }
  .mailmag_form-label { font-size: 15px; }

  .mailmag_form-group-top-gap-agree {
    margin-top: 69px;	/* 18.21vw */
  }
  .mailmag_form-group-top-gap{
    margin-top: 54px;	/* 18.21vw */
  }

} /* end @media (max-width: 1050px) */
.mailmag_form,
.site-header,
.hero,
.service-section ,
.ambassador-section,
.mailmag_hero {
    background: #fff;
}
/* ─── 390px 未満：max-width:1000px ブロックの上書きを解除して縮小に追従 ─── */
/*@media (max-width: 390px) {
*/
@media (max-width: 420px) {
  .hero {
/*    height: calc(557 / 390 * 100vw);*/
/*    height: calc(557 / 420 * 100vw);*/
    height: calc(557 / 420 * 100vw);
  }
  .hero__bg {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .hero__bg img {
    width: 100%;
    max-width: none;
    height: 100%;
  }
}

@media (max-width: 1050px) {
  /* 390px〜1000px：hero_bg_SP.svg が max-width(390px) で固定表示される範囲 → px 指定 * /
  .ambassador-intro__rule.ambassador-intro__rule--thick.rule_intro_top_upper {    top:0px;  }
  .ambassador-intro__rule.ambassador-intro__rule--thin.rule_intro_top_upper  {    top:4px;  }

  .ambassador-intro__rule.ambassador-intro__rule--thin.rule_intro_top_lower  {    top:56px;  }
  .ambassador-intro__rule.ambassador-intro__rule--thick.rule_intro_top_lower {    top:60px;  }
*/
}
@media (max-width: 420px) {
  .ambassador-intro__rule.ambassador-intro__rule--thick.rule_intro_top_upper { top: calc(0.0 / 420 * 100vw); }
  .ambassador-intro__rule.ambassador-intro__rule--thin.rule_intro_top_upper  { top: calc(4.0 / 420 * 100vw); }

  .ambassador-intro__rule.ambassador-intro__rule--thin.rule_intro_top_lower  { top: calc(56.0 / 420 * 100vw); }
  .ambassador-intro__rule.ambassador-intro__rule--thick.rule_intro_top_lower { top: calc(60.0 / 420 * 100vw - 1.5px); }

  /* SVGを100vwにリニア縮小（heroと同様の仕組みで__innerが自動追従） */
  .ambassador-intro__bg img {
    max-width: none;
  }
  /* ::before もSVGのアスペクト比に合わせて追従 */
  .ambassador-intro::before {
    height: calc(55 / 390 * 100vw); /* calc(58.745758 / 391.776189 * 100vw);	≈ 14.994vw */
  }
}

/* 画面右下の期間限定POPバナー */
#pop-banner {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  display: block;
  line-height: 0;
  transition: opacity 0.2s, transform 0.2s;
}
#pop-banner img {
  width: 192px;
  height: auto;
  display: block;
/*  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
*/
}
#pop-banner:hover {
  opacity: 0.85;
  transform: scale(1.04);
}

.popup-icon {
  display: inline-block;
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-20px); /* 上に跳ねる */
  }
  60% {
    transform: translateY(-10px); /* 少し戻って着地する */
  }
}

/*
.popup-icon {
  display: inline-block;
  /* 0.6秒周期で無限に繰り返す * /
  animation: fast-bounce 1.6s infinite ease-in-out;
  /* 動きの軸を着地（下部）に設定 * /
  transform-origin: bottom; 
}

@keyframes fast-bounce {
  0%, 100% {
    transform: translateY(0) scaleY(1); /* 地面 * /
  }
  10% {
    transform: translateY(0) scaleY(0.85); /* 踏み込んで縮む * /
  }
  50% {
    transform: translateY(-15px) scaleY(1.05); /* 最高点（少し伸びる） * /
  }
}
*/
@media (max-width: 768px) {
  #pop-banner {
    bottom: 16px;
    right: 16px;
  }
  #pop-banner img {
    width: 27vw;
  }
}

