:root { --vw: 1vw; }

.lead .left, .lead .right {
    text-align: left;
}

/* 共通は非表示にしない */
br.pc-only,
br.sp-only { display: none; }

/* PC用 */
@media (min-width: 768px){
  br.pc-only { display: inline; }
}

/* SP用 */
@media (max-width: 767.98px){
  br.sp-only { display: inline; }
}

/*=======indexページ=========*/
.fade_up.is-active, .fade_up01.is-active, .fade_up02.is-active {
    opacity: 1;
    transition: 0.6s;
    transform: translateY(0);
}


.ly_df {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

body.ly_df .right .txt {
  font-family: "Noto Sans JP","ヒラギノ角ゴシック","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size: 16px;       /* 基本サイズ */
  line-height: 1.8;      /* 行間を広めに */
  color: #333;           /* 読みやすい文字色 */
}


#mv .mv_txt .txt01 {
    font-size: calc(var(--vw) * 38 / 1380 * 100);
    line-height: 0.88;
    letter-spacing: 0;
}

@media only screen and (max-width: 767.98px) {
    #mv .mv_txt .txt01 {
        font-size: calc(var(--vw) * 20 / 375 * 100);
    }
}

#mv .mv_txt .txt02 {
    letter-spacing: 0.018em;
    line-height: 1.5;
    font-size: calc(var(--vw) * 24 / 1380 * 100);
    font-weight: 400; 
}

@media only screen and (max-width: 767.98px) {
    #mv .mv_txt .txt02 {
        font-size: calc(var(--vw) * 14 / 375 * 100);
    }
}

.ly_df.type-3 .item .txt p {
    font-weight: 500;
    line-height: 1.5;
}

.ly_df.type-3 .item .txt p {
    text-align: center;
    font-size: calc(var(--vw) * 20 / 1380 * 100);
}

@media (min-width:767.9px){
body.home .ly_df.type-3 .item .txt p {
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  font-size: clamp(16px, 2.5vw, 18px);
}}


@media (max-width: 767.98px){
  body.home .ly_df.type-3 .item .txt p {
    font-size: clamp(16px, 2.5vw, 18px);
    line-height: 1.5;
    text-align: center; 
  }
}

body.home .ly_df.type-3{
  display: flex;
  gap: 24px;
  justify-content: space-between;
  flex-wrap: wrap;          /* 狭い幅で崩れにくくする */
}

body.home .ly_df.type-3 .item{
  flex: 1 1 calc(33.333% - 16px);   /* 3カラム */
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.home .ly_df.type-3 .item a{
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

/* 画像部分 */
body.home .ly_df.type-3 .img{
  position: relative;
  overflow: hidden;
}
body.home .ly_df.type-3 .img img{
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
}

/* 本文 */
body.home .ly_df.type-3 .txt{
  padding: 16px;
  font-size: 15px;
  line-height: 1.6;
  color: #333;
  flex-grow: 1;
}

body.home .ly_df.type-3 .item:hover{
  transform: translateY(-6px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.2);
}
body.home .ly_df.type-3 .item:hover img{
  transform: scale(1.05);
}


@media (max-width: 767.98px){
  body.home .ly_df.type-3{
    flex-direction: column;
    gap: 16px;
  }
  body.home .ly_df.type-3 .item{
    flex: 1 1 100%;
  }
  body.home .ly_df.type-3 .inner-txt p{
    font-size: 16px;
  }
  body.home .ly_df.type-3 .inner-txt span{
    font-size: 12px;
  }
}


body.home .ly_df.type-3 .item {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* PC hoverエフェクト */
@media (hover: hover) and (pointer: fine) {
  body.home .ly_df.type-3 .item:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  }

  body.home .ly_df.type-3 .item:hover img {
    transform: scale(1.05);
  }

  body.home .ly_df.type-3 .item img {
    transition: transform 0.3s ease;
  }
}

/* スマホ → タップ時に軽い影 */
@media (hover: none) and (pointer: coarse) {
  body.home .ly_df.type-3 .item:active {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
  }
}


body.home .ttl-wrap {
  margin-top: 74px;
}

/* 見出し（日本語） */
body.home .ttl-wrap h2 {
  font-weight: 600;
  /* 1380px基準 22px を上限、SPで18pxを下限にした流体タイポ */
  font-size: clamp(18px, calc(var(--vw) * 22 / 1380 * 100), 22px);
  line-height: 1.3;
  margin: 0; /* 念のためリセット */
}

@media (min-width:767.9px){
body.home .ttl-wrap h2 span {
  display: block;
  line-height: 1;
  font-family: "Noto Sans JP","ヒラギノ角ゴシック","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-weight: 400;
  /* 1380px で 70px、SPでは 12px まで下げる流体タイポ */
  font-size: clamp(12px, calc(var(--vw) * 70 / 1380 * 100), 70px);
  letter-spacing: .02em;
  opacity: .9;
}}

@media (max-width:768px){
body.home .ttl-wrap h2 span {
  display: block;
  line-height: 1;
  font-family: "Noto Sans JP","ヒラギノ角ゴシック","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-weight: 400;
  font-size: clamp(24x, 2.5vw, 30px);
  letter-spacing: .02em;
  opacity: .9;
}}

/* --- SP 微調整（〜767.98px）--- */
/* SP時に日本語h2だけ “上限18px” を厳守したい場合の保険 */
@media (max-width: 767.98px) {
  body.home .ttl-wrap h2 {
    font-size: min(calc(var(--vw) * 16 / 375 * 100), 18px);
  }
}

/* ===============================
   index 専用（body.home に限定）
   type-a
   =============================== */
.ly_df.type-a .right {
    width: 40%;
}

.ly_df.type-a .left {
    width: 55%;
}


body.ly_df.type-a img {
    width: 100%;
}
@media (max-width: 767.98px){
  /* 横並び → 縦並び */
  body.home .ly_df.type-a{
    display: flex;
    flex-direction: column;
    gap: 16px;                /* 要素間のすき間 */
  }

  /* 左右カラムは全幅に */
  body.home .ly_df.type-a .left,
  body.home .ly_df.type-a .right{
    width: 100%;
  }

  body.home .ly_df.type-a .img{
    width: 100%;
  }
  body.home .ly_df.type-a .img img{
    display: block;           /* 余計な隙間防止 */
    width: 100%;              /* 横幅フィット */
    height: auto;             /* 比率維持 */
  }

  body.home .ly_df.type-a .right .txt{
    padding: 0 0px;
  }
}

body.home .ly_df .right .txt {
  font-family: "Noto Sans JP","ヒラギノ角ゴシック",
               "Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size: 16px;       /* PCデフォルト */
  line-height: 1.8;
  color: #333;
  margin: 0;
}

@media (max-width: 767.98px) {
  body.home .ly_df .right .txt {
    font-size: clamp(16px, 2.5vw, 18px);
    line-height: 1.5;    /* 行間を調整 */
  }}


@media (min-width: 768px) and (max-width: 1199px) {
  body.home .ly_df .right .txt {
    font-size: 18px;
    line-height: 1.8;
  }}

/* PC (1200px〜) */
@media (min-width: 1200px) {
  body.home .ly_df .right .txt {
    font-size: clamp(18px, 2.5vw, 18px);
    line-height: 1.8;
  }}

@media (max-width:768px){
body.home .ly_df .right .txt a {
  color: #0b2b57;              /* ブランドカラー */
  transition: color 0.3s ease;
}

.btn_more {
    transition: opacity 0.4s;
    margin-top: 10px;
    opacity: 1;
    backface-visibility: hidden;
    position: relative;
    padding-right: 50px;
    display: inline-block;
    font-size: clamp(16px, 2.5vw, 18px);
    font-weight: 400;
}}


body.home .ly_df .right .txt a {
  color: #0b2b57;              /* ブランドカラー */
  transition: color 0.3s ease;
}

@media (min-width:767.9px){
.btn_more {
    transition: opacity 0.4s;
    margin-top: 20px;
    opacity: 1;
    backface-visibility: hidden;
    position: relative;
    padding-right: 60px;
    display: inline-block;
    font-size: clamp(16px, 2.5vw, 18px);
    font-weight: 400; 
}}


.under #mv { position: relative; width: 100%; min-height: 360px; }
.under #mv .bg_img { position: absolute; inset: 0; z-index: -1; }
.under #mv .bg_img img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
}

:root { --header-h: 96px; } 
@media (max-width: 768px){
  :root { --header-h: 64px; } 
}


body.under.wholesale main { padding-top: 0; }
body.under.wholesale main { padding-top: 0; }


body.under.wholesale main::before{
  content: "";
  display: block;
  height: var(--header-h); 
}

body.under.contact main::before{
  content: "";
  display: block;
  height: var(--header-h); 
}

body.under.wholesale #mv .mv_txt {
  position: relative;
  z-index: 2;
  padding-top: 120px; 
}




body.under.wholesale .content .lead {
  font-size: clamp(20px, 3vw, 35px);
  text-align: center;
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 30px;
  margin-bottom: calc(var(--vw) * 50 / 1380 * 100);
  padding-left: 0;
  padding-right: 0;
}

@media (max-width:768px){
body.under.wholesale .wholesale .catchcopy {
  font-size: clamp(16px, 2.5vw, 16px);
  font-weight: 600;
  margin: 0 0 16px;
  line-height: 1.5;
  text-align: left;
  max-width: 900px;   /* concept と同じ幅を指定 */
  margin-left: 0;
  color: #0066b3;
}}

@media (min-width:767.9px){
body.under.wholesale .wholesale .catchcopy {
  font-size: clamp(20px, 2.5vw, 18px);
  font-weight: 500;
  color: #000000;
  margin: 0 0 24px;
  line-height: 1.5;
  text-align: left;
  max-width: 900px;   /* concept と同じ幅を指定 */
  margin-left: 0;
  color: #0066b3;
}}


@media (max-width:768px){
body.under.wholesale .wholesale .catchcopy2 {
  font-size: clamp(16px, 2.5vw, 16px);
  font-weight: 400;
  color: #000000;
  margin: 0 0 16px;
  line-height: 1.5;
  text-align: left;
  max-width: 900px;   
  margin-left: 0;     
}}

@media (min-width:767.9px){
body.under.wholesale .wholesale .catchcopy2 {
  font-size: clamp(18px, 2.5vw, 18px);
  font-weight: 400;
  color: #000000;
  margin: 0 0 24px;
  line-height: 1.5;
  text-align: left;
  max-width: 900px;   
  margin-left: 0;     
}}

@media (max-width:768px){
body.under.wholesale .wholesale .catchcopy3 {
  font-size: clamp(16px, 2.5vw, 20px);
  font-weight: 400;
  color: #333;
  margin: 0 0 20px;
  line-height: 1.5;
  text-align: left;
  max-width: 1200px;   
  margin-left: 0;
  margin-top: 20px;
}}

@media (min-width:767.9px){
body.under.wholesale .wholesale .catchcopy3 {
  font-size: clamp(16px, 2.5vw, 18px);
  font-weight: 400;
  color: #000000;
  line-height: 1.8;
  text-align: left;
  max-width: 1200px;  
  margin-left: 0;
}}

body.under.wholesale .company-philosophy .catchcopy {
  text-align: center; font-weight: 400; line-height: 1.5;
  margin: 0 0 24px; font-size: clamp(20px, 3vw, 32px);
  text-shadow: 0 2px 8px rgba(0,0,0,.35);
}

body.under.wholesale .company-philosophy .lead {
  text-align: center; line-height: 1.9; max-width: 900px; margin: 0 auto 40px;
  font-size: clamp(13px, 1.8vw, 18px); text-shadow: 0 2px 8px rgba(0,0,0,.25);
}

body.under.wholesale #mv .mv_txt .txt01 { 
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 400;
}
body.under.wholesale #mv .mv_txt .txt02 { 
  font-size: clamp(30px, 4vw, 56px);
  font-weight: 700;
}


body.under.wholesale main .content .inner .lead {
  font-size: 34px;
  text-align: center;
  line-height: 1.4;
  font-weight: 600;
  font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴシック W6",
               "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  margin-bottom: 30px;
}

.under #mv .in {
  position: relative;
  display: flex;
  align-items: center;       
  justify-content: flex-start; 
  height: 100%;
  min-height: inherit;
}
.under #mv .mv_txt {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  text-align: left;
}
.under #mv .mv_txt .txt01,
.under #mv .mv_txt .txt02 { margin: 0; }

@media (max-width: 768px) {
  .under #mv { min-height: 500px; }
}

body.under.wholesale .wholesale {
  background: #fff;
  color: #222;
}


body.under.wholesale .wholesale .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0 0 0;
 }

@media (min-width:767.9px){
body.under.wholesale .wholesale .section-title {
  font-family: "Noto Sans JP","ヒラギノ角ゴシック","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size: clamp(36px, 3.5vw, 48px);
  font-weight: 400;
  color: #0066b3;
  margin: 0 0 0px;
  margin-top: 2px;
  line-height: 1.1;
  letter-spacing: .0em;
  text-align: left;
}}

@media (max-width:768px){
body.under.wholesale .wholesale .section-title {
  font-family: "Noto Sans JP","ヒラギノ角ゴシック","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size: clamp(34px, 3.5vw, 48px);
  font-weight: 400;
  color: #0066b3;
  margin: 0 0 2px;
  margin-top: 2px;
  line-height: 1.1;
  letter-spacing: .04em;
  text-align: left;
}}


body.under.concept .company-philosophy .section-subtitle{
  position: relative;
  display: inline-block;       
  margin: 60px auto 0;          
  padding-left: 1.6em;          
  font-size: clamp(18px, 2.5vw, 24px);
  font-weight: 500;
  color: #fff;
  line-height: 1.2;
  letter-spacing: .02em;
  text-align: left;            
}

body.under.concept .company-philosophy .section-subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  height: 2px;
  background: #fff;
  transform: translateY(-50%);
  border-radius: 2px;
}

@media (min-width:767.9px){
body.under.wholesale .section-subtitle{
  position: relative;
  font-size: clamp(18px, 2.5vw, 20px);
  font-weight: 500;
  color: #111;
  line-height: 1.2;
  padding-left: 1.6em;  
  letter-spacing: .02em;
  margin-top: 40px; 
  }}


body.under.wholesale .section-subtitle::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1.0em;               
  height: 2px;                 
  background: #111;            
  transform: translateY(-50%); 
  border-radius: 2px;
}

@media (max-width: 768px){
  body.under.wholesale .section-subtitle{
    padding-left: 1.4em;
    font-size: clamp(14px, 2.5vw, 24px);
    margin-top: 0;
    position: relative;
    font-weight: 500;
    color: #111;
    line-height: 1.2;
    letter-spacing: .02em;
    text-align: left;
  }

  body.under.wholesale .section-subtitle::before{ 
  width: 1em;
   }}

body.under.wholesale main .content .inner h3.lead {
  font-size: 34px;
  text-align: center;
  line-height: 1.4;
  font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴシック W6",
               "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 600;
  margin-bottom: 30px;
}

body.under.wholesale .griditem li .img {
  max-width: 900px;    
  margin: 40px auto 0;   
  padding: 0 20px;     
}

body.under.wholesale .griditem li .img img {
  display: block;
  width: 90%;
  height: auto;
}

body.under.wholesale .wholesale .center {
  max-width: 900px;   
  margin: 40px auto 0;
  padding: 0 20px;
}

body.under.wholesale .wholesale .center img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.lead .type-b .left .txt .section-subtitle {
  font-size: 20px;
  font-weight: 600;
  color: #000;
  margin-bottom: 8px;
  text-align: left;
}

.lead .type-b .left .txt .section-title {
  font-family: "Noto Sans JP","ヒラギノ角ゴシック","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size: 48px;
  font-weight: 400;
  color: #0066b3;
  margin: 0 0 12px;
  line-height: 1.1;
  letter-spacing: .05em;
  text-align: left;
}

@media (min-width:767.9px){
.lead .type-b .left .txt .catchcopy {
  font-size: clamp(16px, 2.5vw, 20px);
  font-weight: 500;
  color: #0066b3;
  margin: 0 0 24px;
  line-height: 1.8;
  text-align: left;
}}

@media (max-width:768px){
.lead .type-b .left .txt .catchcopy {
  font-size: clamp(16px, 2.5vw, 20px);
  font-weight: 500;
  color: #0066b3;
  margin: 0 0 2px;
  line-height: 1.5;
  text-align: left;
}}

@media (max-width:768px){
.lead .type-b .left .txt .catchcopy2 {
  font-size: clamp(16px, 2.5vw, 20px);
  font-weight: 400;
  color: #333;
  margin: 0 0 24px;
  line-height: 1.8;
  text-align: left;
}}

@media (min-width:767.9px){
.lead .type-b .left .txt .catchcopy2 {
  font-size: clamp(16px, 2.5vw, 20px);
  font-weight: 400;
  color: #333;
  margin: 0 0 24px;
  line-height: 1.8;
  text-align: left;
}}

@media (max-width:768px){
.lead .type-a .right .txt .section-subtitle {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin-bottom: 8px;
  text-align: left;
}}

@media (min-width:767.9px){
.lead .type-a .right .txt .section-subtitle {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin-bottom: 8px;
  text-align: left;
}}

@media (max-width:768px){
.lead .type-a .right .txt .section-title {
  font-family: "Noto Sans JP","ヒラギノ角ゴシック",
               "Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size: 48px;
  font-weight: 400;
  color: #0066b3;
  margin: 0 0 12px;
  line-height: 1.1;
  letter-spacing: .05em;
  text-align: left;
}}

@media (min-width:767.9px){
.lead .type-a .right .txt .section-title {
  font-family: "Noto Sans JP","ヒラギノ角ゴシック",
               "Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size: 48px;
  font-weight: 400;
  color: #0066b3;
  margin: 0 0 12px;
  line-height: 1.1;
  letter-spacing: .05em;
  text-align: left;
}}

@media (max-width:768px){
.lead .type-a .right .txt .catchcopy {
  font-size: clamp(16px, 2.5vw, 20px);
  font-weight: 500;
  color: #0066b3;
  margin: 0 0 2px;
  line-height: 1.5;
  text-align: left;
}}

@media (min-width:767.9px){
.lead .type-a .right .txt .catchcopy {
  font-size: clamp(16px, 2.5vw, 20px);
  font-weight: 500;
  color: #0066b3;
  margin: 0 0 24px;
  line-height: 1.8;
  text-align: left;
}}

@media (max-width:768px){
.lead .type-a .right .txt .catchcopy2 {
  font-size: clamp(16px, 2.5vw, 18px);
  font-weight: 400;
  color: #333;
  margin: 10px 0 24px;
  line-height: 1.5;
  text-align: left;
  max-width: 900px;
}}

@media (min-width:767.9px){
.lead .type-a .right .txt .catchcopy2 {
  font-size: clamp(16px, 2.5vw, 18px);
  font-weight: 400;
  color: #333;
  margin: 0 0 24px;
  line-height: 1.8;
  text-align: left;
  max-width: 900px;
}}

@media (max-width:768px){
.lead .type-b .left .txt .catchcopy2 {
    font-size: clamp(16px, 2.5vw, 18px);
    font-weight: 400;
    color: rgb(51, 51, 51);
    line-height: 1.5;
    text-align: left;
    margin: 10px 0px 0px 0px;
}}

@media (min-width:767.9px){
.lead .type-b .left .txt .catchcopy2 {
    font-size: clamp(16px, 2.5vw, 18px);
    font-weight: 400;
    color: rgb(51, 51, 51);
    line-height: 1.8;
    text-align: left;
    margin: 0px 0px 24px;
}}

@media (min-width:767.9px){
body.under.wholesale .wh-products {
  padding: 60px 0 0;　
  background: #fff;
  color: #222;
}}

@media (max-width:768px){
body.under.wholesale .wh-products {
  background: #fff;
  color: #222;
  margin: 24px 0px 0px 0px;
}}


body.under.wholesale .wh-products .container {
  max-width: 1200px;         /* 外枠は1200 */
  margin: 0 auto;
  padding: 0 20px;
}

body.under.wholesale .wh-products .section-ttl {
  position: relative;
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 24px;
  padding-left: 16px;
  line-height: 1.2;
  text-align: left;   /* ←中央揃えを上書き */
}

body.under.wholesale .wh-products .section-ttl::before {
  content: "";
  position: absolute;
/*  left: 0; top: 0.15em; bottom: 0.15em; */
  left: 0;
  top: 0;         /* ← 上下をフォントに合わせて揃える */
  bottom: 0;
  width: 4px;     /* ← 4px → 6px に太く */
  background: #0066b3;
}

/* 2カラム */
body.under.wholesale .wh-products .cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 40px;
  align-items: start;
  max-width: 1100px;
}

body.under.wholesale .wh-products .card-img {
  /* aspect-ratio: 16 / 9; */ overflow: hidden;
}


body.under.wholesale .wh-products .card-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width:767.9px){
body.under.wholesale .wh-products .card-ttl {
  font-size: clamp(16px, 2.5vw, 20px);
  font-weight: 600;
  color: #0066b3;
  margin: 12px 0 10px;
  line-height: 1.5;
}}

@media (max-width:768px){
body.under.wholesale .wh-products .card-ttl {
  font-size: clamp(16px, 2.5vw, 20px);
  font-weight: 600;
  color: #0066b3;
  margin: 12px 0 10px;
  line-height: 1.5;
  text-align: left;
}}


body.under.wholesale .wh-products .card-txt {
  font-size: clamp(16px, 2.5vw, 18px);
  font-weight: 400;
  line-height: 1.5;
  color: #222;
}

@media (max-width: 768px) {
  body.under.wholesale .wh-products .container {
    padding: 0 0px;
  }
  body.under.wholesale .wh-products .section-ttl {
  font-size: clamp(16px, 2.5vw, 20px);
    margin-bottom: 18px;
  }
  body.under.wholesale .wh-products .cards {
    grid-template-columns: 1fr;
    gap: 24px;
    max-width: none;
  }

  body.under.wholesale .wh-products .card-txt {
    font-size: clamp(16px, 2.5vw, 20px);
    text-align: left;
  }
}

body.under.wholesale .wh-products,
body.under.wholesale .wh-products .cards,

@media (max-width:768px){
body.under.wholesale .wh-products .card {
  text-align: left;
  margin-top: 20px;
}}

@media (min-width:767.9px){
body.under.wholesale .wh-products .card {
  text-align: left;
}}

body.under.wholesale .wh-products .cards {
  justify-items: start; 
}


body.under.wholesale .wh-products .container {
  max-width: 90%;
  margin: 0 auto;    /* 中央寄せ */
}

@media (min-width: 1025px) {
  body.under.wholesale .wh-products .container {
    max-width: 960px;  
  }}

body.under.wholesale .direct-purchase {
  margin-top: 60px; 
}

body.under.wholesale .direct-purchase .direct-bg {
  position: relative;
  overflow: hidden;
  border-radius: 4px; 
}

body.under.wholesale .direct-purchase .direct-bg img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

body.under.wholesale .direct-purchase .direct-text {
  position: absolute;
  left: 20px;
  bottom: 20px;
  color: #fff;
}

body.under.wholesale .direct-purchase .direct-text .subtitle {
  font-size: 16px;
  margin: 0 0 4px;
}

body.under.wholesale .direct-purchase .direct-text .title {
  font-size: 32px;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}

body.under.wholesale .wh-directpurchase .directpurchase-img{
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 40px;
  margin-bottom: 40px;

  height: 40vh;                 /* ← ここで高さを決める（画面高の60%） */
  max-height: 640px;            /* 任意：大画面の上限 */
  min-height: 320px;            /* 任意：小画面の下限 */
}

body.under.wholesale .wh-directpurchase .directpurchase-img img{
  display: block;
  width: 100%;
  height: 100%;                 /* 親の高さにフィット */
  object-fit: cover;            /* はみ出しトリミング */
}

body.under.wholesale .wh-directpurchase .directpurchase-txt{
  position: absolute;
  top: 72px;        
  left: 64px;        /* 左マージン */
  color: #fff;
  text-align: left;
  z-index: 1;
}

body.under.wholesale .wh-directpurchase .directpurchase-txt::before{
  content: "";
  position: absolute;
  inset: -12px -16px -14px -16px;
}


body.under.wholesale .wh-directpurchase .directpurchase-txt .sub{
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 6px;
  line-height: 1.4;
  letter-spacing: .02em;
}

body.under.wholesale .wh-directpurchase .directpurchase-txt .main{
  font-size: 44px;
  font-weight: 800;
  line-height: 1.1;
  margin: 0;
  letter-spacing: .05em;
}

@media (min-width: 1600px){
  body.under.wholesale .wh-directpurchase .directpurchase-txt{
    top: 88px;
    left: 88px;
  }
}

@media (max-width: 768px){
  body.under.wholesale .wh-directpurchase .directpurchase-txt{
    top: 20px;
    left: 16px;
  }
  body.under.wholesale .wh-directpurchase .directpurchase-txt::before{
    inset: -8px -10px -10px -10px;
  }
  body.under.wholesale .wh-directpurchase .directpurchase-txt .sub{
    font-size: 14px;
    margin-bottom: 4px;
  }
  body.under.wholesale .wh-directpurchase .directpurchase-txt .main{
    font-size: 26px;
  }}


@media (max-width:768px){
body.under.wholesale .wh-head { padding: 10px 0 0 0; }  
}

@media (min-width:767.9px){
body.under.wholesale .wh-head { padding: 0 0 0; } 
}

@media (max-width:768px){
body.under.wholesale .wh-head .container {
 max-width: 1200px; 
 margin: 0 auto; 
 padding: 0 0;  
 }
}

@media (min-width:767.9px){
body.under.wholesale .wh-head .container { max-width: 1200px; margin: 0 auto;}
}

@media (max-width:768px){
body.under.wholesale .wh-head.yohaku { padding: 20px 0 0 0; }
}

@media (min-width:767.9px){
body.under.wholesale .wh-head.yohaku { padding: 0 0 16px; }
}


.lead .type-b .left .txt { color: #222; }


body.under.wholesale .wh-feature-nav {
  padding: 48px 0 28px;
  background: #fff;
  color: #222;
}

body.under.wholesale .wh-feature-nav .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

body.under.wholesale .wh-feature-title {
  font-size: clamp(28px, 2.6vw, 28px);
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
  margin: 0 0 60px 28px;
}


@media (max-width: 767.98px){
  body.under.wholesale .wh-feature-title {
    font-size: 20px;        
    line-height: 1.4;       
    margin: 0 0 30px 0;     
    text-align: center;     
  }
}

body.under.wholesale .wh-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;   
  gap: 24px;
  list-style: none;
  padding: 0;
 　margin: 0 auto;           
  max-width: 1920px;        
}

/* カード本体 */
body.under.wholesale .wh-card {
  position: relative;
}

body.under.wholesale .wh-card__link {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 0px;
  background: #eee;
  text-decoration: none;
  color: inherit;
  aspect-ratio: 16 / 9;
}

body.under.wholesale .wh-card__media,
body.under.wholesale .wh-card__media img {
  width: 100%;
  height: 100%;
}
body.under.wholesale .wh-card__media {
  position: absolute;
  inset: 0;
}
body.under.wholesale .wh-card__media img {
  display: block;
  object-fit: cover;
  transform: scale(1);
  transition: transform .5s ease, filter .5s ease;
}

body.under.wholesale .wh-card__link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.38) 0%, rgba(0,0,0,.12) 45%, rgba(0,0,0,.35) 100%);
  opacity: .55;
  transition: opacity .35s ease;
}

body.under.wholesale .wh-card__label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 中央寄せ */
  z-index: 1;
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 700;
  color: #fff;
  text-align: center;
  white-space: nowrap; /* 長い文でも改行せず */
  text-shadow: 0 2px 6px rgba(0,0,0,.45);
}

body.under.wholesale .wh-card__cta {
  position: absolute;
  left: 50%;
  bottom: 40px;
  transform: translateX(-50%);
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff;
  z-index: 1;
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}

body.under.wholesale .wh-card__cta::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  border-left: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: translate(-50%, -65%) rotate(-45deg);
}

body.under.wholesale .wh-card__link:hover .wh-card__media img {
  transform: scale(1.05);
  filter: saturate(1.05) brightness(1.05);
}
body.under.wholesale .wh-card__link:hover::after {
  opacity: .4;
}
body.under.wholesale .wh-card__link:hover .wh-card__cta {
  bottom: 40px;
}

@media (max-width: 1024px) {
  body.under.wholesale .wh-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  body.under.wholesale .wh-feature-nav { padding: 36px 0 10px; }
  body.under.wholesale .wh-cards { grid-template-columns: 1fr; gap: 18px; }
  body.under.wholesale .wh-card__label { left: 16px; top: 14px; }
  body.under.wholesale .wh-card__cta { width: 40px; height: 40px; bottom: 12px; }
}
.wh-products .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  margin-top: 10px;
}



.wh-products .card {
  flex: 1 1 calc(50% - 16px);
  background: #fff;
  border: 1px solid #fff;
  /* padding: 20px; */
}

.wh-products .card-img img {
  width: 100%;
  height: auto;
  display: block;
}

.wh-products .card-ttl {
  font-size: 20px;
  margin: 16px 0 8px;
  color: #0060a0;
  font-weight: 700;
}

.wh-products .card-txt {
  font-size: 14px;
  line-height: 1.6;
  color: #444;
}

body.under.wholesale #support + .lead{
  max-width: 1200px;  
  margin: 0 auto;
  padding: 0 20px;     
}


@media (max-width: 768px){
  body.under.wholesale #support + .lead{ padding: 0 15px; }
}


#support.wh-head {
  margin-top: 120px;
  text-align: left;
}

#support .container {
  max-width: 1200px; 
  margin: 0 auto;
  padding: 0 20px;
}

#support .section-subtitle {
  position: relative;
  font-size: 20px;
  font-weight: 500;
  color: #111;
  line-height: 1.2;
  padding-left: 3.2em;
  letter-spacing: .02em;
  margin-top: 60px;
}
#support .section-subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 2.6em;
  height: 2px;
  background: #111;
  transform: translateY(-50%);
  border-radius: 2px;
}

#support .section-title {
  font-family: "Noto Sans JP","ヒラギノ角ゴシック","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size: 70px;
  font-weight: 400;
  color: #0066b3;  
  margin: 0 0 12px;
  line-height: 1.1;
  letter-spacing: .05em;
}

#support .catchcopy {
  font-size: 28px;
  font-weight: 600;
  color: #0066b3;
  margin: 0 0 24px;
  line-height: 1.5;
  text-align: left;
  max-width: 900px;
}


body.under.wholesale #freshfish.wh-head {
  margin-top: 120px;
  text-align: left;
}
body.under.wholesale #freshfish .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
body.under.wholesale #freshfish .section-subtitle {
  position: relative;
  font-size: 20px;
  font-weight: 500;
  color: #111;
  line-height: 1.2;
  padding-left: 3.2em;
  margin-top: 60px;
}
body.under.wholesale #freshfish .section-subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 2.6em;
  height: 2px;
  background: #111;
  transform: translateY(-50%);
}
body.under.wholesale #freshfish .section-title {
  font-size: 70px;
  font-weight: 400;
  color: #0066b3;
  margin: 0 0 12px;
  line-height: 1.1;
  letter-spacing: .05em;
}
body.under.wholesale #freshfish .catchcopy {
  font-size: 28px;
  font-weight: 600;
  color: #0066b3;
  margin: 0 0 16px;
}
body.under.wholesale #freshfish .lead-txt {
  font-size: 16px;
  line-height: 1.8;
  color: #111;
  margin: 0 0 32px;
}

body.under.wholesale .wh-freshfish .container {
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 20px;
}

body.under.concept .company-profile .main-img{
  position: relative;
  margin-bottom: 32px;
}

body.under.concept .company-profile .main-img img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 0px;
    position: relative;
    z-index: 0;
}

body.under.concept .company-profile .container {
    max-width: 1200px;
    margin: 0 auto;
}

@media (max-width:768px){
body.under.wholesale .wh-freshfish .main-img {
    position: relative;
    margin-bottom: 32px;
}}

@media (min-width:767.9px){
body.under.wholesale .wh-freshfish .main-img {
    position: relative;
    margin-bottom: 32px;
    margin-top: 20px;
}}


body.under.wholesale .wh-freshfish .main-img img{
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 0;       
  position: relative;
  z-index: 0;
  vertical-align: top;
}

body.under.wholesale .wh-products .map iframe{
  width: 100%;
  height: clamp(240px, 40vw, 520px); 
  border: 0;
  display: block;
  margin-bottom: 40px;        
}


body.under.wholesale .wh-freshfish .main-img .info-link{
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translate(-50%,-50%); 
  margin: 0;
  z-index: 2;
  color: #fff;
  text-align: center;
  width: max-content;             
}

body.under.wholesale .wh-freshfish .main-img .recruite_info-link{
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  z-index: 2;
  color: #fff;
  text-align: center;
  width: max-content;             
  line-height: 1;
}

@media (max-width:768px){
body.under.wholesale .wh-freshfish .main-img .recruite_btn_more{
    transition: opacity 0.4s;

    opacity: 1;
    backface-visibility: hidden;
    position: relative;
    padding-right: 60px;
    display: inline-block;
    font-size: 14px;
    color: #fff;
}

body.under.wholesale .wh-freshfish .main-img .recruite_btn_more::after{
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 31px;
  height: 31px;
  display: block;
  background: url(../img/btn_arrow03.png) center/contain no-repeat;
  filter: invert(1) brightness(1.2); 
  transition: filter .6s ease, transform .2s ease;
}}

@media (min-width:767.9px){
body.under.wholesale .wh-freshfish .main-img .recruite_info-link{
  position: absolute;
  left: 50%;
  
  margin: 0;
  line-height: 1;
  z-index: 2;
  color: #fff;
  text-align: center;
  width: max-content;  
}

body.under.wholesale .wh-freshfish .main-img .recruite_btn_more{
    transition: opacity 0.4s;
    margin-top: 20px;
    opacity: 1;
    backface-visibility: hidden;
    position: relative;
    padding-right: 60px;
    display: inline-block;
    font-size: 18px;
    color: #fff;
}

body.under.wholesale .wh-freshfish .main-img .recruite_btn_more::after{
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 31px;
  height: 31px;
  display: block;
  background: url(../img/btn_arrow03.png) center/contain no-repeat;
  filter: invert(1) brightness(1.2);     /* 黒→白っぽく */
  transition: filter .6s ease, transform .2s ease;
}}


@media (max-width: 768px){
  body.under.wholesale .wh-freshfish .main-img .info-link{
    left: 50%; right: auto; bottom: 12%;
    transform: translateX(-50%);
    text-align: center;
    width: max-content;
  }}


body.under.wholesale .wh-freshfish .sub-imgs {
  display: flex;
  gap: 20px;
}
body.under.wholesale .wh-freshfish .sub-imgs figure {
  flex: 1;
}
body.under.wholesale .wh-freshfish .sub-imgs img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0px;
}

@media (max-width: 768px) {
  body.under.wholesale #freshfish .section-title { font-size: 36px; }
  body.under.wholesale #freshfish .catchcopy { font-size: 18px; }
  body.under.wholesale .wh-freshfish .sub-imgs {
    flex-direction: column;
    gap: 16px;
  }}

body.under.concept #mv .mv_txt .txt01 { 
  font-size: clamp(16px, 1.6vw, 22px);
  font-weight: 400;
  line-height: 1.0;
  letter-spacing: 0;
}

body.under.concept #mv .mv_txt .txt02 { 
  font-size: clamp(28px, 3.8vw, 52px);
  font-weight: 700;
}

@media (max-width:768px){
.company-profile .catchcopy {
    font-size: 18px;
    font-weight: 600;
    color: #0066b3;
    margin: 0 0 2px;
    line-height: 1.5;
}}

@media (min-width:767.9px){
.company-profile .catchcopy {
    font-size: 20px;
    font-weight: 600;
    color: #0066b3;
    margin: 0 0 24px;
    line-height: 1.5;
}}

@media screen and (min-width: 1380px) {
  body.under.concept #mv .mv_txt .txt01 { font-size: 22px; }
  body.under.concept #mv .mv_txt .txt02 { font-size: 52px; }
}

@media (max-width:768px){
body.under.concept main .company_block .c_ttl01 {
  font-size: 20px; font-weight: 700; color: #071E58; margin-bottom: 1em;
}}

@media (min-width:767.9px){
body.under.concept main .company_block .c_ttl01 {
  font-size: 22px; font-weight: 700; color: #071E58; margin-bottom: 1em;
}}

@media screen and (min-width: 1380px) {
  body.under.concept main .company_block .c_ttl01 { font-size: 28px; }
  body.under.concept main .company_block .txt { margin-top: 20px; }
}

@media (max-width:768px){
body.under.concept main .company_block .txt {
  font-size: 16px; line-height: 1.5; color: #25282B;
  margin-top: calc(var(--vw) * 2 / 375 * 100);
}}

@media (min-width:767.9px){
body.under.concept main .company_block .txt {
  font-size: 18px; line-height: 1.8; color: #25282B;
}}

body.under.concept main .company_block .txt p { margin-bottom: 1em; }

@media (max-width:768px){
body.under.concept main .company_block .name {
  font-size: 16px; font-weight: 400; color: #071E58;
  margin-top: .75em; line-height: 1.5;
}}

@media (min-width:767.9px){
body.under.concept main .company_block .name {
  font-size: 18px; font-weight: 400; color: #071E58;
  margin-top: .75em; line-height: 1.5;
}}

body.under.concept main .l_bigttl_concept {
  background: url(../img/concept/pic_04.png) center/cover no-repeat;
  width: 100%;
  color: #fff;
  display: flex; justify-content: center; align-items: center;
  text-align: center;
  margin-top: calc(100vw * 80 / 1380);
  padding: 80px 20px;
  line-height: 1.6;
}
@media screen and (min-width: 1380px) {
  body.under.concept main .l_bigttl_concept { margin-top: 80px; padding: 120px 20px; }
}
@media (max-width: 767.98px) {
  body.under.concept main .l_bigttl_concept {
    margin-top: calc(100vw * 40 / 375);
    padding: 60px 15px;
  }
}
body.under.concept .l_bigttl_inner { max-width: 900px; margin: 0 auto; padding: 0 10px; }


body.under.concept .company-philosophy .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
body.under.concept .company-philosophy .section-title {
  font-weight: 700; line-height: 1.1; letter-spacing: .05em;
  font-size: clamp(28px, 4vw, 48px); margin: 0 0 12px;
  text-align: center;
}
body.under.concept .company-philosophy .catchcopy {
  text-align: center; font-weight: 400; line-height: 1.5;
  margin: 0 0 24px; font-size: clamp(20px, 3vw, 32px);
  text-shadow: 0 2px 8px rgba(0,0,0,.35);
}
body.under.concept .company-philosophy .lead {
  text-align: center; line-height: 1.9; max-width: 900px; margin: 0 auto 40px;
  font-size: clamp(20px, 1.8vw, 24px); text-shadow: 0 2px 8px rgba(0,0,0,.25);
}
@media (max-width: 767.98px) {
body.under.concept .company-philosophy .lead {
  text-align: center; line-height: 1.9; max-width: 900px; margin: 0 auto 40px;
  font-size: clamp(18px, 1.8vw, 24px); text-shadow: 0 2px 8px rgba(0,0,0,.25);
  line-height: 1.8;
  }
}

body.under.concept .company-profile {
background: #fff;
color: #222;   
padding: 0 0 0;
}

body.under.concept .company-profile .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

body.under.concept .company-profile .section-title {
  font-family: "Noto Sans JP","ヒラギノ角ゴシック","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size: 48px; font-weight: 400; color: #0066b3;
  margin: 0 0 12px; line-height: 1.1; letter-spacing: .05em;
}

@media (max-width: 767.98px) {
  body.under.concept .company-profile .section-title {
     font-size: clamp(34px, 2.5vw, 34px);
    margin-bottom: calc(100vw * 8 / 375);
    font-family: "Noto Sans JP","ヒラギノ角ゴシック","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    font-weight: 400; 
    color: #0066b3;
    margin: 0 0 2px; 
    line-height: 1.1; 
    letter-spacing: .05em;
  }}


@media (min-width:767.9px){
body.under.concept .company-profile .section-subtitle {
        position: relative;
        font-size: clamp(18px, 2.5vw, 20px);
        font-weight: 500;
        color: #111;
        line-height: 1.2;
        padding-left: 1.6em;
        letter-spacing: .02em;
        margin-top: 40px;
}}

@media (max-width: 767.98px) {
  body.under.concept .company-profile .subtitle {
    font-size: 18px; 
    margin-bottom: calc(100vw * 8 / 375);
  }
}

body.under.concept .section-subtitle::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1.0em;
    height: 2px;
    background: #111;
    transform: translateY(-50%);
    border-radius: 2px;
}

@media (min-width:767.9px){
body.under.concept main .content .lead {
  text-align: left; 
  line-height: 1.58; 
  font-size: clamp(16px, 1.6vw, 18px);
  margin-top: 40px;
}}

@media (max-width:768px){
body.under.concept main .content .lead {
  text-align: left; 
  line-height: 1.58; 
  font-size: clamp(16px, 1.6vw, 18px);
  margin-top: 20px;
}}

body.under.concept main .table01 {
  width: 80%;
  margin: 0 auto;
  font-size: clamp(14px, 1.3vw, 18px);
  margin-top: clamp(28px, 4.3vw, 60px);
  border-top: 1px solid #C1C1C1; line-height: 1.5;
}

body.under.concept main .table01 tr { border-bottom: 1px solid #C1C1C1; }
@media (max-width: 767.98px) {
  body.under.concept main .table01 { width: 100%; font-size: clamp(14px, 3.8vw, 16px); }
  body.under.concept main .table01 tr {  }
  body.under.concept main .table01 th {   border-bottom: 0; padding-bottom: 0; }
  body.under.concept main .table01 td {   }
}


body.under.wholesale #support.wh-head {
  margin-top: 120px;
  text-align: left;
}
body.under.wholesale #support .container {
  max-width: 1200px;      
  margin: 0 auto;
  padding: 0 0;         
}

@media (max-width:768px){
body.under.wholesale #support .section-subtitle {
padding-left: 1.4em;
        font-size: clamp(14px, 2.5vw, 24px);
        margin-top: 0;
        position: relative;
        font-weight: 500;
        color: #111;
        line-height: 1.2;
        letter-spacing: .02em;
        text-align: left;
}}

@media (min-width:767.9px){
body.under.wholesale #support .section-subtitle {
  position: relative;
  font-size: 20px;
  font-weight: 500;
  color: #111;
  line-height: 1.2;
  padding-left: 1.6em;
  letter-spacing: .02em;
  margin-top: 140px;  /* ←60だった */
}}


body.under.wholesale #support .section-subtitle::before {
　  content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1.0em;
    height: 2px;
    background: #111;
    transform: translateY(-50%);
    border-radius: 2px; 
}

@media (max-width:768px){
body.under.wholesale #support .section-title {
    font-family: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: clamp(36px, 3.5vw, 36px);
    font-weight: 400;
    color: #0066b3;
    line-height: 1.1;
    letter-spacing: .0em;
    margin: 0 0 2px;
    text-align: left;
}}

@media (min-width:767.9px){
body.under.wholesale #support .section-title {
    font-family: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: clamp(18px, 3.5vw, 48px);
    font-weight: 400;
    color: #0066b3;
    margin: 0 0 2px;
    margin-top: 2px;
    line-height: 1.1;
    letter-spacing: .0em;
}}

body.under.wholesale #support .catchcopy {
  font-size: clamp(16px, 2.5vw, 20px);
  font-weight: 500;
  color: #0066b3;
  margin: 0 0 24px;
  line-height: 1.5;
  text-align: left;
  max-width: 900px;
}

body.under.wholesale #support + .lead {
  max-width: 1200px;    
  margin: 0 auto;
  padding: 0 20px;    
}

@media (max-width: 768px){
  body.under.wholesale #support .catchcopy     { font-size: 16px; }
  body.under.wholesale #support + .lead        { padding: 0 15px; }
}

.wh-sep{
  border: 0; height: 1px; background: #dbe3ee;
  max-width: 1200px; margin: 48px auto;
}

.lead .type-b .left .txt .lead-link{
  margin-top: 20px;
  margin-left: 12px;
  font-size: 18px;
  font-weight: 400;
  color: #333;
  margin: 0 0 24px;
  line-height: 1.8;
  text-align: left;
}

.lead .type-b .left .txt .lead-link a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0b66b3;
  text-decoration: none; /* 下線なし（XD準拠） */
  font-weight: 700;
  font-size: 20px;      /* ← “大きすぎ”を解消：本文寄りに */
  line-height: 1;
  text-align: left;
}

body.under.wholesale .btn-purchase .btn-text{
  transform: translateY(1px); /* ベースライン微調整 */
}
body.under.wholesale .btn-purchase .btn-icon{
  width: 28px; height: 28px;  
  border-radius: 50%;
  background: #0a2b57; color:#fff;
  display:inline-flex; align-items:center; justify-content:center;
  font-size: 14px; line-height:1;
  margin-left: 6px;
  transition: transform .18s ease;
}
body.under.wholesale .btn-purchase:hover .btn-icon{ transform: translateX(2px); }


body.under.wholesale .ecshop{ padding-top: 48px; }
body.under.wholesale .ecshop .container{
  max-width: 1200px; margin: 0 auto; padding: 0 20px;
}
body.under.wholesale .ecshop__site{
  font-size: 22px; font-weight: 700; margin: 0 0 10px;
}

body.under.wholesale .section-title {
    font-size: 38px;
    font-weight: 700;
    margin: 0 0 10px;
    font-family: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 38px;
    font-weight: 400;
    color: #0066b3;
    margin: 0 0 12px;
    line-height: 1.1;
    letter-spacing: .05em;
    text-align: left;
}


body.under.wholesale .ecshop__site a{
  color:#0b66b3; text-decoration: underline;
  text-underline-offset: 6px; text-decoration-thickness: 3px;
}
body.under.wholesale .ecshop__banner{
  max-width: 1200px; margin: 12px auto 0; padding: 0 20px;
}
body.under.wholesale .ecshop__banner img{ width:100%; height:auto; display:block; }


@media (max-width: 600px){
  .lead .type-b .left .txt .lead-link{ margin-left: 8px; }
  .lead .type-b{ margin: 0px auto; }
  .wh-sep{ margin: 32px auto; }
}


.lead .type-c{
  max-width: 1200px;
  margin: 56px auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr 460px;
  gap: 28px;
  align-items: start;
}

@media (min-width:767.9px){
.lead .right .img img{ width:100%; height:auto; display:block; }
}

@media (max-width:768px){
.lead .right .img img{ width:100%; height:auto; display:block; }
}

@media (max-width: 900px){
  .lead{ grid-template-columns: 1fr; }
}

@media (min-width:767.9px){
.lead { margin-top: 40px; }　
}

@media (max-width:768px){
.lead { margin-top: 20px; }　
}


.lead .left, .lead .right { text-align: left; }

@media (max-width:768px){
.lead .left .txt .section-title2{
  font-size: clamp(20px, 2.5vw, 20px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: .04em;
  color: #0b66b3;
  margin: 5px 0 0 0;
}
}

@media (min-width:767.9px){
.lead .left .txt .section-title2{
  font-size: clamp(20px, 2.5vw, 20px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: .04em;
  color: #0b66b3;
  margin: 5px 0 0 0;
}
}

@media (max-width:768px){
.lead .left .txt .catchcopy{
  color: #000;
  margin: 10px 0 0 0;
  font-size: clamp(16px, 2.5vw, 24px);
  font-weight: 500;  
}}

@media (min-width:767.9px){
.lead .left .txt .catchcopy{
  color: #0b66b3;
  margin: 40px 0 8px; /* 調整した0740だめかも */
  font-size: clamp(18px, 1.5vw, 24px);
  font-weight: 600;  
}}

@media (max-width:768px){
.lead .left .txt .catchcopy2{
  margin: 10px 0 12px;
  font-size: clamp(16px, 2.5vw, 18px);
  font-weight: 400;
}}

@media (min-width:767.9px){
.lead .left .txt .catchcopy2{
  margin: 20px 0 12px;  /* 調整した0740だめかも */
  font-size: clamp(16px, 2.5vw, 18px);
  font-weight: 400;
  line-height: 1.5;
}}

/* ご購入はこちら：テキスト＋丸矢印 */
.lead .left .txt .lead-link{
  margin-top: 20px;
  margin-left: 12px;          /* ご指定の左余白 */
}
.lead .left .txt .lead-link a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0b66b3;
  text-decoration: none;      /* 下線なし（XD準拠） */
  font-weight: 700;
  font-size: 14px;            /* 大きすぎ問題を解消 */
  line-height: 1;
}

/* 丸矢印（小さめに） */
body.under.wholesale .btn-purchase .btn-text{
  transform: translateY(1px);
}
body.under.wholesale .btn-purchase .btn-icon{
  width: 28px; height: 28px;  /* 40→28 */
  border-radius: 50%;
  background: #0a2b57; color:#fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 14px; line-height: 1;
  margin-left: 6px;
  transition: transform .18s ease;
}
body.under.wholesale .btn-purchase:hover .btn-icon{
  transform: translateX(2px);
}

/* 区切り線（薄ブルー） */
.wh-sep{
  border:0; height:1px; background:#dbe3ee;
  max-width:1200px; margin:48px auto;
}

/* ===== retail専用：type-c 内のテキストサイズ指定 ===== */

/* 小見出し（section-subtitle） */
.lead .type-c .left .txt .section-subtitle {
  font-size: 14px;          /* XDに合わせて小さめ */
  font-weight: 600;
  color: #000;
  margin-bottom: 8px;
  text-align: left;
}

/* サブコピー（catchcopy） */
.lead .type-c .left .txt .catchcopy {
  font-size: 22px;          /* 例：XD参考で中見出し級 */
  font-weight: 600;
  color: #0b66b3;
  margin: 18px 0 8px;
  line-height: 1.6;
}

/* 本文（catchcopy2） */
.lead .type-c .left .txt .catchcopy2 {
  font-size: 16px;          /* 例：本文寄り */
  font-weight: 400;
  color: #333;
  margin: 0 0 16px;
  line-height: 1.8;
  text-align: left;
}

.lead .type-c .left .txt .section-subtitle {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin-bottom: 8px;
  text-align: left;
}

.lead .type-c .left .txt .section-title2 {
  font-family: "Noto Sans JP","ヒラギノ角ゴシック",
               "Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size: 38px;
  font-weight: 400;
  color: #0066b3;
  margin: 0 0 12px;
  line-height: 1.1;
  letter-spacing: .05em;
  text-align: left;
}

.lead .type-b .left .txt .section-title2 {
  font-family: "Noto Sans JP","ヒラギノ角ゴシック",
               "Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size: 38px;
  font-weight: 400;
  color: #0066b3;
  margin: 0 0 12px;
  line-height: 1.1;
  letter-spacing: .05em;
  text-align: left;
}

.lead .type-c .left .txt .catchcopy {
  font-size: 24px;
  font-weight: 500;
  color: #0066b3;
  margin: 0 0 24px;
  line-height: 1.8;
  text-align: left;
}

.lead .type-c .left .txt .catchcopy2 {
  font-size: 18px;
  font-weight: 500;
  color: #333;
  margin: 0 0 24px;
  line-height: 1.8;
  text-align: left;
}


body.under.news #mv .mv_txt .txt01 { 
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 400;
}
body.under.news #mv .mv_txt .txt02 { 
  font-size: clamp(30px, 4vw, 56px);
  font-weight: 700;
}

body.under.news .news-category {
  text-align: center;
  margin: 30px 0;
}

body.under.news .news-category a {
  color: #111;
  text-decoration: none;
  font-size: 15px;
}
body.under.news .news-category a:hover {
  color: #0066b3;
}

body.under.news .news-item time {
  color: #555;
  min-width: 90px;
}

body.under.news .news-item .label.event { background: #0066b3; }
body.under.news .news-item .label.info { background: #666; }
body.under.news .news-item a {
  flex: 1;
  color: #111;
  text-decoration: none;
}

body.under.news .news-item a:hover { text-decoration: underline; }

body.under.news .back-link {
  text-align: center;
  margin: 40px 0;
}
body.under.news .back-link a {
  display: inline-block;
  padding: 8px 20px;
  background: #f5f5f5;
  color: #0066b3;
  border-radius: 20px;
  text-decoration: none;
}

body.under.news .back-link a:hover { background: #e6f0f8; }
body.under.news #mv .mv_txt .txt01{ font-size:clamp(18px,1.8vw,24px); font-weight:400; }
body.under.news #mv .mv_txt .txt02{ font-size:clamp(30px,4vw,56px); font-weight:700; }
body.under.news .news-head .container{ max-width:1200px; margin:0 auto; padding:0 20px; }

body.under.news .news-head .section-title{
  position:relative; font-size:36px; font-weight:600; color:#0066b3; margin:0 0 6px; line-height:1.2;
}

body.under.news .news-head .section-title::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:44px; height:2px; background:#0b0b0b; margin-left:-64px; 
}

@media (max-width:768px){
  body.under.news .news-head .section-title::before{ display:none; }
}

body.under.news .news-category a{ color:#111; text-decoration:none; font-size:14px; }
body.under.news .news-category a:hover{ color:#0066b3; }
body.under.news .news-item time{ min-width:100px; color:#556; }
body.under.news .news-item .label.event{   background:#0066b3; }
body.under.news .news-item .label.info{    background:#6b7785; }
body.under.news .news-item a:hover{ text-decoration:underline; }

body.under.news .back-link{ text-align:center; margin:36px 0 48px; }
body.under.news .back-link a{
  display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:20px;
  background:#f2f6fb; color:#0b66b3; text-decoration:none; font-weight:700; font-size:14px;
}
body.under.news .back-link a::before{
  content:"←"; display:inline-block; transform:translateY(-1px);
}
body.under.news .back-link a:hover{ background:#e6f0f8; }


body.under.news #mv{
  min-height: 0;     
  height: auto;     
  padding: 0;        
}
body.under.news #mv .bg_img{ display: none; }


body.under.news #mv .in{ padding: 24px 0; }


body.under.news.detail #mv .mv_txt .txt01{ font-size:clamp(18px,1.8vw,24px); font-weight:400; }
body.under.news.detail #mv .mv_txt .txt02{ font-size:clamp(30px,4vw,56px); font-weight:700; }


body.under.news.detail .news-head .container{ max-width:1200px; margin:0 auto; padding:0 20px; }
body.under.news.detail .news-head .section-title{
  position:relative; font-size:36px; font-weight:600; color:#0066b3; margin:0 0 6px; line-height:1.2;
}
body.under.news.detail .news-head .catchcopy{ font-size:18px; color:#8aa0b8; }

body.under.news.detail .news-category{ margin:24px 0; }
body.under.news.detail .news-category ul{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 18px; list-style:none; padding:12px 0;
  border-top:1px solid #e4ebf4; border-bottom:1px solid #e4ebf4; background:#f7f9fc;
}
body.under.news.detail .news-category a{ color:#111; text-decoration:none; font-size:14px; }
body.under.news.detail .news-category a:hover{ color:#0066b3; }


body.under.news.detail .news-article{
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px 40px;
}
body.under.news.detail .news-article .article-head .meta{
  display:flex; align-items:center; gap:12px; color:#556; margin-bottom:8px;
}
body.under.news.detail .news-article .article-head time{ min-width:100px; color:#556; }
body.under.news.detail .news-article .label{
  display:inline-block; padding:2px 10px; font-size:12px; font-weight:700; color:#fff; border-radius:12px;
}
body.under.news.detail .news-article .label.event{   background:#0066b3; }
body.under.news.detail .news-article .label.recruit{ background:#1aa36f; }
body.under.news.detail .news-article .label.info{    background:#6b7785; }

body.under.news.detail .news-article .article-head .title{
  font-size:20px; font-weight:700; color:#111; margin:0 0 6px; line-height:1.6;
}


body.under.news.detail .news-article .sep{
  border:0; border-top:1px solid #dfe6ef; height:1px; margin:10px 0 24px;
}

body.under.news.detail .news-article .article-body p{
  font-size:15px; line-height:1.9; color:#222; margin:0 0 16px;
}

body.under.news.detail .news-article .article-body .info{
  display:grid; grid-template-columns: 120px 1fr; row-gap:10px; column-gap:16px;
  padding:12px 0 6px; margin:0 0 12px; border-left:4px solid #e6f0f8;
}
body.under.news.detail .news-article .article-body .info dt{
  font-weight:700; color:#335; margin:0;
}
body.under.news.detail .news-article .article-body .info dd{
  margin:0; color:#222; line-height:1.8;
}

@media (max-width: 640px){
  body.under.news.detail .news-article .article-body .info{
    grid-template-columns: 1fr; border-left-width:0; border-top:1px solid #e6f0f8; padding-top:10px;
  }}


body.under.news.detail .news-article .note{ color:#444; }
body.under.news.detail .back-link{ text-align:center; margin:32px 0 48px; }
body.under.news.detail .back-link a{
  display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:20px;
  background:#f2f6fb; color:#0b66b3; text-decoration:none; font-weight:700; font-size:14px;
}
body.under.news.detail .back-link a::before{ content:"←"; transform:translateY(-1px); }
body.under.news.detail .back-link a:hover{ background:#e6f0f8; }

body.under.news .news-title {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px;
    font-size: clamp(16px, 2.5vw, 24px);
    font-weight: 500; 
}

body.under.news .news-detail {
    max-width: 960px;
    margin:24px 0;
}

body.under.news .news-detail a{ font-weight: 400; color: #0b66b3; }

body.under.news .news-detail p{
    max-width: 960px;
    margin:24px 0;
    font-size: clamp(16px, 2.5vw, 18px);
}


body.under.news #mv .mv_txt .txt01{ font-size:clamp(18px,1.8vw,24px); font-weight:400; margin:0; }
body.under.news #mv .mv_txt .txt02{ font-size:clamp(30px,4vw,56px); font-weight:700; margin:0; }
body.under.news .news-head .container{ max-width:1200px; margin:0 auto; padding:0 20px; }


@media (max-width:768px){
body.under.news .news-head .section-title{
  position:relative; font-size:30px; font-weight:600; color:#0066b3; margin:0 0 6px; line-height:1.2;
}}


body.under.news .news-head .section-title::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:44px; height:2px; background:#0b0b0b; margin-left:-64px;
}
@media (max-width:768px){
  body.under.news .news-head .section-title::before{ display:none; }
}

body.under.news .news-head .catchcopy{
 font-size:18px;
 color:#8aa0b8;
 font-weight: 400;
 }

@media only screen and (max-width: 767.98px) {
body.under main .content {
        padding-top: calc(var(--vw) * 20 / 375 * 100);
    }}
  
body.under.news .news-list{
max-width:960px;
margin:0 auto;
padding:0 20px;
font-size: clamp(16px, 2.5vw, 18px);
}

body.under.news .news-item{
  display:flex; align-items:center; gap:16px;
  padding:20px 0;                  
  border-bottom:1px solid #dfe6ef;
  font-size:15px;
}
body.under.news .news-item:first-child{ border-top:1px solid #dfe6ef; }
body.under.news .news-item time{ min-width:100px; color:#556; }
body.under.news .news-item .label{
  display:inline-block; padding:2px 10px; font-size:12px; font-weight:700; color:#fff; border-radius:12px;
}
body.under.news .news-item .label.event{   background:#0066b3; }
body.under.news .news-item .label.recruit{ background:#1aa36f; }
body.under.news .news-item .label.info{    background:#6b7785; }
body.under.news .news-item a{ flex:1; color:#111; text-decoration:none; }
body.under.news .news-item a:hover{ text-decoration:underline; }

body.under.news .news-item .label,
body.under.news .news-item .label a{
  color:#fff !important; text-decoration:none; font-weight:700;
}


body.under.news .back-link{ text-align:center; margin:36px 0 48px; }
body.under.news .back-link a{
  display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:20px;
  background:#f2f6fb; color:#0b66b3; text-decoration:none; font-weight:500; font-size:14px;
}
body.under.news .back-link a::before{ content:"←"; display:inline-block; transform:translateY(-1px); }
body.under.news .back-link a:hover{ background:#e6f0f8; }


body.under.news.detail #mv .mv_txt{ padding-top:0; text-align:center; }

/* 記事ヘッダ */
body.under.news.detail .news-article{ max-width:960px; margin:0 auto; padding:0 20px 40px; }
body.under.news.detail .news-article .article-head .meta{
  display:flex; align-items:center; gap:12px; color:#556; margin-bottom:8px;
}
body.under.news.detail .news-article .article-head time{ min-width:100px; color:#556; }
body.under.news.detail .news-article .label{
  display:inline-block; padding:2px 10px; font-size:12px; font-weight:700; color:#fff; border-radius:12px;
}
body.under.news.detail .news-article .label.event{   background:#0066b3; }
body.under.news.detail .news-article .label.recruit{ background:#1aa36f; }
body.under.news.detail .news-article .label.info{    background:#6b7785; }
body.under.news.detail .news-article .article-head .title{
  font-size:20px; font-weight:700; color:#111; margin:0 0 6px; line-height:1.6;
}

body.under.news.detail .news-article .sep{ border:0; border-top:1px solid #dfe6ef; height:1px; margin:10px 0 24px; }

body.under.news.detail .news-article .article-body p{ font-size:15px; line-height:1.9; color:#222; margin:0 0 16px; }
body.under.news.detail .news-article .article-body .info{
  display:grid; grid-template-columns:120px 1fr; row-gap:10px; column-gap:16px;
  padding:12px 0 6px; margin:0 0 12px; border-left:4px solid #e6f0f8;
}
body.under.news.detail .news-article .article-body .info dt{ font-weight:700; color:#335; margin:0; }
body.under.news.detail .news-article .article-body .info dd{ margin:0; color:#222; line-height:1.8; }

@media (max-width:640px){
  body.under.news.detail .news-article .article-body .info{
    grid-template-columns:1fr; border-left-width:0; border-top:1px solid #e6f0f8; padding-top:10px;
  }
}

body.under.news.detail .back-link{ text-align:center; margin:32px 0 48px; }
body.under.news.detail .back-link a{
  display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:20px;
  background:#f2f6fb; color:#0b66b3; text-decoration:none; font-weight:700; font-size:14px;
}
body.under.news.detail .back-link a::before{ content:"←"; transform:translateY(-1px); }
body.under.news.detail .back-link a:hover{ background:#e6f0f8; }

:root { --header-h: 96px; }
@media (max-width: 768px){ :root { --header-h: 64px; } }

body.under.concept main { padding-top: 0; }
body.under.concept main::before{
  content:"";
  display:block;
  height:var(--header-h);
}


body.under.concept #mv{
  position: relative;
  height: 400px;          
  min-height: 400px;
  overflow: hidden;       
}

body.under.concept #mv .bg_im {
    position: absolute;
    inset: 0;
    z-index: -1;
}

body.under.concept #mv .in{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    min-height: inherit;
}


@media (max-width:768px){
  body.under.concept #mv{ height: 360px; min-height: 360px; }
  body.under.concept #mv .mv_txt{ padding: 0 16px; }
}


body.under.concept #mv .mv_txt .txt01 { 
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 400;
}
body.under.concept #mv .mv_txt .txt02 { 
  font-size: clamp(30px, 4vw, 56px);
  font-weight: 700;
}


body.under.concept main { padding-top: 0; }
body.under.concept main::before{
  content:"";
  display:block;
  height: var(--header-h);
}


body.under.concept #mv{
  position: relative;
  margin-top: 0;
  height: 400px; 
  min-height: 400px;
  overflow: hidden;
}


body.under.concept #mv .bg_img{ position:absolute; inset:0; z-index:-1; }

body.under.concept #mv .bg_img img,body.under.wholesale #mv .bg_img img{
  position:absolute; 
  inset:0;
  width:100%; 
  height:100%; 
  object-fit:cover;
}

body.under.concept #mv .bg_img.pc,body.under.wholesale #mv .bg_img.pc,body.under.recruit #mv .bg_img.pc {  display: block;}
body.under.concept #mv .bg_img.sp,body.under.wholesale #mv .bg_img.sp,body.under.recruit #mv .bg_img.sp {  display: none;}

@media (max-width: 767.98px){
  body.under.concept #mv .bg_img.pc { display: none; }
  body.under.concept #mv .bg_img.sp { display: block; }
}

body.under.recruit #mv .bg_img img{width:100%;height:100%;object-fit:cover;}

body.under.recruit #mv .in{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    min-height: inherit;
}

@media (min-width:767.9px){
body.under.recruit #mv .mv_txt{
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  text-align: left;
  padding-top: 120px;
}}


@media (max-width:768px){
body.under.recruit #mv .mv_txt{
        padding-top: 90px;
        padding: 90px 0 0 0;
}}


body.under.recruit #mv .mv_txt .txt01{font-size:clamp(18px,1.8vw,24px);font-weight:400;margin:0;}
body.under.recruit #mv .mv_txt .txt02{font-size:clamp(30px,4vw,56px);font-weight:700;margin:.1em 0 0;}



@media (max-width: 767.98px){
  body.under.concept #mv .bg_img.pc,body.under.wholesale #mv .bg_img.pc,body.under.recruit #mv .bg_img.pc { display: none; }
  body.under.concept #mv .bg_img.sp,body.under.wholesale #mv .bg_img.sp,body.under.recruit #mv .bg_img.sp { display: block; }
}

body.under.concept #mv .in{
  position: relative;
  display:flex; align-items:center; justify-content:flex-start;
  height:100%; min-height:inherit;
}

body.under.concept #mv .mv_txt {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;  
  text-align: left;
}

body.under.concept #mv .mv_txt .txt01{ font-size:clamp(18px,1.8vw,24px); font-weight:400; margin:0; }
body.under.concept #mv .mv_txt .txt02{ font-size:clamp(30px,4vw,56px); font-weight:700; margin:0; }

@media (max-width:768px){
  body.under.concept #mv{ height: 320px; min-height: 320px; }
  body.under.concept #mv .mv_txt{ padding:0 20px; }
}


@media (max-width:768px){
body.under.concept #mv,body.under.wholesale #mv {
  position: relative;
  margin-top: 0;
  height: 200px;   
  min-height: 200px;
  overflow: hidden;
}}

@media (min-width:767.9px){
body.under.concept #mv {
  position: relative;
  margin-top: 0;
  height: 400px;      
  min-height: 400px;
  overflow: hidden;
}}

@media (min-width:767.9px){
body.under.wholesale #mv {
  position: relative;
  margin-top: 0;
  height: 400px;       
  min-height: 400px;
  overflow: hidden;
}}

body.under.wholesale #mv .mv_txt > *:first-child { margin-top: 0; }

@media (max-width: 768px) {  body.under.wholesale #mv .mv_txt { padding-top: 20px; }}

body.under.wholesale #mv { overflow: hidden; } 
body.under.wholesale #mv .mv_txt h1,
body.under.wholesale #mv .mv_txt h2 { margin-top: 0; } 

body.under.wholesale #mv .bg_img img,body.under.recruit #mv .bg_img img {  
    width: 100%;  
    height: 100%;  
    object-fit: cover;
    position: absolute;
    inset: 0;
    }

body.under.concept #mv .in {
  position: relative;
  display: flex;
  align-items: center;      
  justify-content: flex-start;
  height: 100%;
  min-height: inherit;
}

body.under.concept #mv .mv_txt {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  text-align: left;
  padding-top: 120px; 
}

body.under.concept #mv .mv_txt h1,
body.under.concept #mv .mv_txt h2 {
  margin-top: 0;
}

@media (max-width: 768px) {
  body.under.concept #mv { min-height: 200px; }
  body.under.concept #mv .mv_txt {
      padding-top: 90px; padding: 90px 0 0 0;}
}

@media (max-width: 768px) {
  body.under.concept #mv,body.under.wholesale #mv,body.under.recruit.work #mv{ min-height: 200px; }
  body.under.wholesale #mv .mv_txt,body.under.recruit #mv .mv_txt {
      padding-top: 90px; padding: 90px 0 0 0;}
}

body.under.recruit #mv{ position:relative; height:400px; min-height:400px; overflow:hidden; }
body.under.recruit #mv .bg_img{ position:absolute; inset:0; z-index:-1; }
body.under.recruit #mv .bg_img img{ width:100%; height:100%; object-fit:cover; }
body.under.recruit #mv .in{
  height:100%; display:flex; align-items:center; justify-content:flex-start;
}

body.under.recruit #mv .mv_txt .txt01{ font-size:clamp(18px,1.8vw,20px); font-weight:400; }
body.under.recruit #mv .mv_txt .txt02{ font-size:clamp(28px,4vw,48px); font-weight:700; margin:2px 0 0; }

body.under.recruit .section-subtitle{
  position:relative; font-size:18px; font-weight:500; color:#111; line-height:1.2; padding-left:3.0em; margin:28px 0 6px;
}

body.under.recruit .section-subtitle::before{
  content:""; position:absolute; left:0; top:50%; width:2.4em; height:2px; background:#111; transform:translateY(-50%);
}
body.under.recruit .section-title{
  font-size:48px; font-weight:400; color:#0066b3; line-height:1.12; letter-spacing:.04em; margin:0 0 10px;
}
body.under.recruit .lead{ font-size:16px; line-height:1.9; color:#222; }
body.under.recruit .rc-sep{ border:0; height:1px; background:#dbe3ee; max-width:1200px; margin:40px auto; }
body.under.recruit .two-col{ display:grid; grid-template-columns: 1fr 1fr; gap:28px; align-items:start; }
body.under.recruit .two-col .img img{ width:100%; height:auto; display:block; }
body.under.recruit .mini-ttl{ font-size:14px; font-weight:700; color:#0066b3; margin:0 0 8px; }
@media (max-width:900px){ body.under.recruit .two-col{ grid-template-columns:1fr; } }
body.under.recruit .movie{ position:relative; padding-top:56.25%; background:#000; border-radius:2px; overflow:hidden; }
body.under.recruit .movie iframe{ position:absolute; inset:0; width:100%; height:100%; }
body.under.recruit .visual-link{ position:relative; display:block; overflow:hidden; border-radius:0; }
body.under.recruit .visual-link img{ width:100%; height:auto; display:block; }

body.under.recruit .visual-label{
  position:absolute; left:16px; top:14px; color:#fff; font-weight:700; text-shadow:0 2px 6px rgba(0,0,0,.45);
}

body.under.recruit .info-ttl{ font-size:32px; font-weight:700; color:#0066b3; margin:6px 0 10px; }
body.under.recruit .info-lead{ font-size:16px; line-height:1.9; }

body.under.recruit .btn-ghost{
  display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:20px;
  background:#f2f6fb; color:#0b66b3; text-decoration:none; font-weight:700; font-size:14px;
}

body.under.recruit .btn-ghost::after{ content:"→"; transform:translateY(-1px); }
body.under.recruit .btn-ghost:hover{ background:#e6f0f8; }
body.under.recruit .back-link{ text-align:center; margin:10px 0 10px; }

body.under.recruit .back-link a{
  display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:20px;
  background:#f2f6fb; color:#0b66b3; text-decoration:none; font-weight:600; 
  font-size: clamp(16px, 2.5vw, 18px);
}

body.under.recruit .back-link a:hover{ background:#e6f0f8; }

@media (max-width: 767.98px) {
body.under.recruit.work .section-title{
 font-size:30px;
 margin: 0 0 12px;
 } }
 
 @media (min-width:767.9px){
body.under.recruit.work .section-title{
 font-size:44px;
 margin: 0 0 12px;
 } }
  
body.under.recruit .tl{ position:relative; list-style:none; padding:0; margin:34px 0 0; }

body.under.recruit .tl::before{
  content:""; position:absolute; left:50%; top:0; bottom:0; width:2px; background:#e4ebf4; transform:translateX(-50%);
}

body.under.recruit .tl-item{
  position:relative; display:grid; grid-template-columns: 1fr 1fr; gap:28px; align-items:start; margin:34px 0;
}

body.under.recruit .tl-item .time{ grid-column:1 / -1; text-align:center; margin-bottom:8px; }
body.under.recruit .time-badge{
  display:inline-block; padding:6px 12px; border-radius:14px; background:#0b66b3; color:#fff; font-size:12px; font-weight:700;
}
body.under.recruit .tl-item .media img{ width:100%; height:auto; display:block; border-radius:0; }
body.under.recruit .tl-item .tl-ttl{ margin:.2em 0 .4em; font-size:18px; color:#0b66b3; }
body.under.recruit .tl-item .body p{ margin:0; line-height:1.9; }

@media (min-width:900px){
  body.under.recruit .tl-item{ grid-template-columns: 1fr 1fr; }
  body.under.recruit .tl-item:nth-child(odd) .media{ grid-column:1; }
  body.under.recruit .tl-item:nth-child(odd) .body{ grid-column:2; }
  body.under.recruit .tl-item:nth-child(even) .media{ grid-column:2; }
  body.under.recruit .tl-item:nth-child(even) .body{ grid-column:1; text-align:left; }
}

@media (max-width:899.98px){
  body.under.recruit .tl::before{ left:20px; transform:none; } /* 目安の縦ライン */
  body.under.recruit .tl-item{ grid-template-columns: 1fr; }
  body.under.recruit .tl-item .time{ text-align:left; padding-left:40px; }
}

@media (min-width:767.9px){
body.under.recruit.requirements .section-title{ font-size:44px; }
}
@media (max-width:768px){
body.under.recruit.requirements .section-title{ font-size:30px; }
}

body.under.recruit .req-dl{ 
    margin:16px 0 40px; 
    border-top:1px solid #dfe6ef; 
    font-size: clamp(16px, 2.5vw, 18px);
    }
    
    
body.under.recruit .req-dl .row{
  display:grid; grid-template-columns: 180px 1fr; gap:24px;
  padding:16px 0; border-bottom:1px solid #dfe6ef; align-items:start;
}
body.under.recruit .req-dl dt{ margin:0; font-weight:700; color:#334; }
body.under.recruit .req-dl dd{ margin:0; color:#222; line-height:1.9; }
@media (max-width:720px){
  body.under.recruit .req-dl .row{ grid-template-columns: 1fr; gap:10px; }
}

body.under.recruit main{color:#222;line-height:1.8;font-size:16px;}
@media (max-width:768px){
  body.under.recruit main{font-size:14px;}
}

@media (min-width:767.9px){
body.under.recruit #mv{
        position: relative;
        margin-top: 0;
        height: 400px;
        min-height: 400px;
        overflow: hidden;
}}

@media (max-width:768px){
body.under.recruit #mv{
        position: relative;
        margin-top: 0;
        height: 200px;
        min-height: 200px;
        overflow: hidden;
}}


body.under.recruit main::before {
    content: "";
    display: block;
    height: var(--header-h);
}



body.under.recruit section.rc-head{padding:56px 0 48px;}
body.under.recruit hr.rc-sep{height:1px;border:0;margin:0;background:#dbe3ee;}
@media (max-width:768px){
  body.under.recruit section.rc-head{padding:40px 0 32px;}
}


@media (max-width:768px){
body.under.recruit .section-subtitle{
          padding-left: 1.4em;
        font-size: clamp(14px, 2.5vw, 24px);
        margin-top: 0;
}}

@media (min-width:767.9px){
body.under.recruit .section-subtitle{
        font-size: clamp(18px, 2.5vw, 20px);
        font-weight: 500;
        color: #111;
        line-height: 1.2;
        padding-left: 1.6em;
        letter-spacing: .02em;
        margin-top: 40px;
}}

@media (min-width:767.9px){
body.under.recruit .section-subtitle::before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1.0em;
    height: 2px;
    background: #111;
    transform: translateY(-50%);
    border-radius: 2px;
}}

@media (max-width:768px){
body.under.recruit .section-subtitle::before{
        width: 1em;
}}


body.under.recruit .section-title{
  font-family:"Noto Sans JP","ヒラギノ角ゴシック","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size:48px;font-weight:400;color:#0066b3;margin:0;
}
@media (max-width:768px){body.under.recruit .section-title{font-size:28px;}}

/* ティーザー画像の安定化（WORKSなど） */
body.under.recruit .center img{display:block;width:100%;height:auto;}
body.under.recruit .w60{max-width:60%;}
@media (max-width:768px){body.under.recruit .w60{max-width:none;}}

/* 情報ブロック */
body.under.recruit .info-lead{max-width:900px;margin:16px auto 12px;padding:0 20px;}
body.under.recruit .btn-ghost{
  display:inline-block;padding:10px 20px;border-radius:24px;border:2px solid #0b66b3;color:#0b66b3;text-decoration:none;font-weight:700;
}
body.under.recruit .btn-ghost:hover{background:#e6f0f8;}

/* ===== WORK（1日のタイムライン） ===== */
body.under.recruit.work .timeline{position:relative;max-width:960px;margin:0 auto;padding:0 20px;}
body.under.recruit.work .timeline::before{
  content:"";position:absolute;left:calc(50% - 1px);top:0;bottom:0;width:2px;background:#e4ebf4;
}
body.under.recruit.work .tl-item{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:flex-start;margin:40px 0;}
body.under.recruit.work .tl-item:nth-child(odd) .tl-col:first-child{order:2;}
body.under.recruit.work .tl-time{font-weight:700;color:#0066b3;margin:0 0 6px;}
body.under.recruit.work .tl-text{font-size:15px;color:#222;}

@media (max-width:768px){
  body.under.recruit.work .timeline::before{left:0;display:none;}
  body.under.recruit.work .tl-item{grid-template-columns:1fr;gap:12px;margin:28px 0;}
}

body.under.recruit.requirements .rc-terms{max-width:960px;margin:0 auto;padding:0 20px;}
body.under.recruit.requirements .rc-terms dl{
  display:grid;grid-template-columns:180px minmax(0,1fr);row-gap:14px;column-gap:20px;margin:0;
}
body.under.recruit.requirements .rc-terms dt{font-weight:700;color:#334;line-height:1.6;}
body.under.recruit.requirements .rc-terms dd{margin:0;color:#222;}

@media (max-width:640px){
  body.under.recruit.requirements .rc-terms dl{grid-template-columns:1fr;}
}

body.under.recruit main > section:last-of-type{padding-bottom:24px;}

body.under.recruit.work {
  background: #fff;
  color: #222;
}

body.under.recruit.work .timeline {
  max-width: 1200px;
  margin: 80px auto;
  padding: 0 20px;
}

body.under.recruit.work .timeline h2 {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  color: #0066b3;
  margin-bottom: 40px;
  position: relative;
}

body.under.recruit.work .timeline h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 6px;
  width: 220px;
  height: 12px;
  background: #fffa7d; 
  z-index: -1;
}


body.under.recruit.work .timeline-item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 60px;
}

body.under.recruit.work .timeline-item .time {
  flex: 0 0 120px;
  font-size: 20px;
  font-weight: 600;
  color: #0066b3;
  text-align: center;
}
body.under.recruit.work .timeline-item .icon {
  flex: 0 0 60px;
}
body.under.recruit.work .timeline-item .text {
  flex: 1;
  font-size: 16px;
  line-height: 1.8;
}
body.under.recruit.work .timeline-item img {
  max-width: 280px;
  height: auto;
  border-radius: 4px;
}

/* 交互レイアウト */
body.under.recruit.work .timeline-item:nth-child(even) {
  flex-direction: row-reverse;
  text-align: left;
}
body.under.recruit.work .timeline-item:nth-child(even) .time {
  text-align: center;
}

@media (max-width: 768px) {
  body.under.recruit.work .timeline-item {
    flex-direction: column;
    align-items: flex-start;
  }
  body.under.recruit.work .timeline-item:nth-child(even) {
    flex-direction: column;
  }
  body.under.recruit.work .timeline-item img {
    max-width: 100%;
  }
}

body.under.recruit.work .rc-timeline .tl{
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
}
body.under.recruit.work .rc-timeline .tl::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:2px;
  background:#e4ebf4;
  transform: translateX(-1px);
}


body.under.recruit.work .rc-timeline .tl-item{
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
  padding: 28px 0;
}


body.under.recruit.work .rc-timeline .tl-item::before{
  content:"";
  position:absolute;
  left:50%;
  top: 6px;                
  transform: translate(-50%, 0);
  width: 44px;
  height: 44px;
  border: 2px solid #0066b3;
  border-radius: 50%;
  background: #fff; 
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}


body.under.recruit.work .rc-timeline .tl-item .media{ grid-column: 1; }
body.under.recruit.work .rc-timeline .tl-item .body { grid-column: 2; }
body.under.recruit.work .rc-timeline .tl-item:nth-child(even) .media{ grid-column: 2; }
body.under.recruit.work .rc-timeline .tl-item:nth-child(even) .body { grid-column: 1; }
body.under.recruit.work .rc-timeline .tl-item .time{ margin: 0 0 8px; }
body.under.recruit.work .rc-timeline .tl-item .time .time-badge{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e6f0f8;
  color: #0b66b3;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  margin-right: 8px;
}
body.under.recruit.work .rc-timeline .tl-item .tl-ttl{
  margin: 6px 0 8px;
  font-weight: 700;
  color:#0066b3;
  font-size: 16px;
}
body.under.recruit.work .rc-timeline .tl-item .body p{
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
  color:#222;
}


body.under.recruit.work .rc-timeline .tl-item .media img{
  display:block;
  width: 100%;
  max-width: 300px; 
  height: auto;
}

@media (max-width: 768px){
  body.under.recruit.work .rc-timeline .tl::before{ display:none; }
  body.under.recruit.work .rc-timeline .tl-item{
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 20px 0;
  }
  body.under.recruit.work .rc-timeline .tl-item::before{ display:none; }
}


body.under.recruit.work section.timeline{ display:none; } 


body.home .ly_df.type-3 .img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;     
}
body.home .ly_df.type-3 .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;         
  display: block;
  transition: transform 0.4s ease;
}


body.home .ly_df.type-3 {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  flex-wrap: wrap;
}
body.home .ly_df.type-3 .item {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  flex: 1 1 calc(33.333% - 16px);   
}
body.home .ly_df.type-3 .item a {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

body.home .ly_df.type-3 .inner-txt {
  position: absolute;
  inset: auto 0 0 0;
  color: #fff;
  text-align: center;
  padding: 105px 8px;
  font-size: clamp(18px, 5.5vw, 28px);
}


body.home .ly_df.type-3 .inner-txt p {
  font-size: 18px; 
  font-weight: 700;
  letter-spacing: .02em;
}
body.home .ly_df.type-3 .inner-txt span {
  display: block;
  font-weight: 400;
  opacity: .95;
  font-size: clamp(18px, 5.5vw, 28px);
}

body.home .ly_df.type-3 .txt {
  padding: 16px 18px 18px;
  font-size: 15px;
  line-height: 1.7;
  color: #333;
  flex-grow: 1;
}

@media (hover: hover) and (pointer: fine){
  body.home .ly_df.type-3 .item:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  }
  body.home .ly_df.type-3 .item:hover .img img { transform: scale(1.05); }
}

@media (min-width: 768px) and (max-width: 1024px){
  body.home .ly_df.type-3 .item { flex: 1 1 calc(50% - 12px); }
}

@media (max-width: 767.98px){
  body.home .ly_df.type-3 { gap: 16px; }
  body.home .ly_df.type-3 .item { flex: 1 1 100%; border-radius: 14px; }
  body.home .ly_df.type-3 .inner-txt { padding: 12px 10px; }
  body.home .ly_df.type-3 .inner-txt p { font-size: 17.5px; }
  body.home .ly_df.type-3 .inner-txt span { font-size: 13.5px; }
  
  body.home .ly_df.type-3 .txt {
    padding: 14px 16px 18px;
    font-size: 16px;    
    line-height: 1.5;
    text-align: left;      
  }}

@media (hover: none) and (pointer: coarse){
  body.home .ly_df.type-3 .item:active {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
  }}


@media (max-width: 767.98px){
  body.home .ly_df.type-3 .inner-txt {
    position: absolute;
    top: 50%;              
    bottom: auto;           
    transform: translateY(-50%); 
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 0;
  }
  
  body.home .ly_df.type-3 .inner-txt p {
    font-size: 18px;       
    margin: 0;
  }
  body.home .ly_df.type-3 .inner-txt span {
    font-size: 24px;
  }}



@media (max-width: 767.98px){
  body.under.wholesale .wh-cards{
    grid-template-columns: 1fr;  
    gap: 14px;
    padding: 0;                  
  }
  body.under.wholesale .wh-card__link{
    border-radius: 10px;
    aspect-ratio: 16 / 9;
  }


body.under.wholesale .wh-card__label {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    font-weight: 700;
    background: none;  
    padding: 0;        
    white-space: nowrap;
    text-shadow: 0 2px 6px rgba(0,0,0,.55); 
  }

  body.under.wholesale .wh-card__cta {
    width: 28px;
    height: 28px;
    bottom: 14px;
  } }

@media (max-width: 767.98px){
  .wh-head .container {
    padding-left: 12px;
    padding-right: 12px;
  }}


@media (max-width: 767.98px){
  section.wh-head {
    box-sizing: border-box;
  }}

.wh-head .section-subtitle {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
  display: block;
  padding-left: 14px;   
  padding-right: 14px;
}


@media (min-width: 768px) {
  .wh-head .section-subtitle,
  .wh-head .section-title,
  .wh-head .catchcopy {
    padding-left: 0;
    padding-right: 0;
  }
}


@media (min-width: 768px){
  .wh-head .container { padding-left: 0; padding-right: 0; }
}


.wh-head .section-subtitle,
.wh-head .section-title,
.wh-head .catchcopy {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
  display: block;
}


.wh-head .section-subtitle {             
  position: relative;
  padding-left: calc(14px + 3.2em);      
}

.wh-head .section-subtitle::before{
  content: "";
  position: absolute;
  left: 14px;                            
  top: 50%;
  width: 3.2em;                           
  height: 2px;
  background: #111;
  transform: translateY(-50%);
  border-radius: 2px;
}



.wh-head .section-subtitle{
  position: relative;
  padding-left: calc(3.2em + .6em);
  text-align: left;
}

.wh-head .section-subtitle::before{
  content:"";
  position:absolute;
  left: 14px;           
  top:50%;
  width: 3.2em;        
  height: 2px;
  background:#111;
  transform: translateY(-50%);
  border-radius: 2px;
}


.wh-head .section-title{
  text-align: left;
  margin-right: auto;
  display: block;
}

@media (min-width: 768px){
  .wh-head .container{ padding-left:0; padding-right:0; }
  .wh-head .section-subtitle{ padding-left: calc(3.2em + .6em); }
  .wh-head .section-subtitle::before{ left: 0; }
  .wh-head .section-title,
  .wh-head .catchcopy{ margin-left: 0; }
}


@media (min-width:768px){
  body .wh-head{ padding-left: 0 !important; padding-right: 0 !important; }
}


body .wh-head .section-subtitle::before{
  content: "";
  position: absolute;
  left: 0;                    
  top: 50%;
  transform: translateY(-50%);
  width: 2.6em;      
  height: 2px;
  background: #111;
  border-radius: 2px;
}


@media (max-width: 767.98px){
  body.under.wholesale .wh-cards{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 0 12px;          
  }
  
  body.under.wholesale .wh-card{
    margin: 0;
  }
  body.under.wholesale .wh-card__link{
    aspect-ratio: 1 / 1;      
    border-radius: 8px;
    overflow: hidden;
    position: relative;
  }

  body.under.wholesale .wh-card__media,
  body.under.wholesale .wh-card__media img{
    width: 100%;
    height: 100%;
  }
  
  body.under.wholesale .wh-card__media img{
    object-fit: cover;
  }
  body.under.wholesale .wh-card__label{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    text-shadow: 0 2px 6px rgba(0,0,0,.45);
  }
  body.under.wholesale .wh-card__cta{
    display: none !important;
  }}

@media (max-width: 767.98px) {
  .ly_df.type-a {
    flex-direction: column;
     /* gap: 20px;  */ 
    }

  .ly_df.type-a .left,
  .ly_df.type-a .right {
    width: 100%;   }


  .ly_df.type-a .left .img img {
    width: 100%;
    height: auto;
    display: block;  }


  .ly_df.type-a .right .txt {padding: 0 0 0 0; text-align: left;}
  }

body.under.contact .contact-txt {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px;
}


@media only screen and (max-width: 767.98px) {
    main .table01 th {
        padding: calc(var(--vw) * 10 / 375 * 100) calc(var(--vw) * 1 / 375 * 100) calc(var(--vw) * 10 / 375 * 100) calc(var(--vw) * 0 / 375 * 100);
    }}

@media only screen and (max-width: 767.98px) {
    main .table01 td {
        padding: calc(var(--vw) * 10 / 375 * 100) calc(var(--vw) * 1 / 375 * 100) calc(var(--vw) * 10 / 375 * 100) calc(var(--vw) * 10 / 375 * 100)
    }}


@media (max-width: 768px){
  body.under.news .news-item{
    display: grid;
    grid-template-columns: auto 1fr;  
    column-gap: 12px;
    row-gap: 6px;
    align-items: center;
  }

  body.under.news .news-itemtime{    grid-column: 1;   white-space: nowrap;  }
  body.under.news .news-item .label{    grid-column: 2;    justify-self: start;  }
  body.under.news .news-item > a{    grid-column: 1 / -1;        display: block;    margin-top: 2px;  }}


@media (max-width: 768px){
body.under.wholesale .content .lead {
    font-size: clamp(20px, 3vw, 35px);
    text-align: center;
    line-height: 1.4;
    font-weight: 600;
}}


@media (min-width:767.9px){
body.under.wholesale .content .lead {
    font-size: clamp(20px, 3vw, 35px);
    text-align: center;
    line-height: 1.4;
    font-weight: 600;
    margin-bottom: 30px;
   margin-right: 120px;
    margin-left: 120px;
}}

@media (max-width: 768px){
body.under.concept .company-profile .section-subtitle{
    padding-left: 1.4em;
    font-size: clamp(14px, 2.5vw, 24px);
    margin-top: 0;
    position: relative;
    font-weight: 500;
    color: #111;
    line-height: 1.2;
    letter-spacing: .02em;
    text-align: left;
}}


@media (min-width:767.9px){
body.under.concept .company-profile .section-subtitle{
    padding-left: 1.4em;
    font-size: clamp(14px, 2.5vw, 24px);
    margin-top: 0;
    position: relative;
    font-weight: 500;
    color: #111;
    line-height: 1.2;
    letter-spacing: .02em;
    text-align: left;
}}


body.under.concept .company-profile .section-subtitle::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1em;
  height: 2px;
  background: #111;
  transform: translateY(-50%);
  border-radius: 2px;
}


.ly_yt {
    position: relative;
    width: 100%;
    max-width: 980px;
    margin: auto;
    aspect-ratio: 16 / 9;
    margin-top: 60px;
    margin-bottom: 10px;
}

header .header_nav .os_btn {
    color: #fff;
    display: table;
    text-align: center;
    background-color: #09204F;
    font-weight: 600;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-direction: column;
    font-size: calc(var(--vw) * 14 / 1380 * 100);
}

@media only screen and (max-width: 767.98px) {
    header .header_nav .list {
      line-height: 1.5;  
    }}

.pc-only { display: inline; }
.sp-only { display: none; }

@media (max-width: 767.98px){
  .pc-only { display: none !important; }
  .sp-only { display: inline !important; }
}


.under.recruit.requirements .recruitment_type{
  margin-top:16px;
  display:flex;
}

.under.recruit.requirements .recruitment_type ul{
  display:flex;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
}

.under.recruit.requirements .recruitment_type li a{
  display:block;
  padding:10px 14px;
  border-radius:4px;
  background:#e6f0f8;
  color:#0b66b3;
  text-decoration:none;
  font-weight:700;
}
.under.recruit.requirements .recruitment_type li.on a{
  background:#0b66b3;
  color:#fff;
}

body.home.mv {height: calc(var(--vw) * 820 / 1380 * 100);}

body.under.recruit .catchcopy3 {
        font-size: clamp(16px, 2.5vw, 20px);
        font-weight: 400;
        color: #000000;
        margin: 0 0 2px;
        line-height: 1.5;
        text-align: left;
        max-width: 1200px;
        margin-left: 0;
   }
   
   
header .header.is-active .header_nav .list li:hover a:after {
    background-color: #09204f;
}


@media print, screen and (min-width: 768px) {
    header .header_nav .list li:hover a:after {
        content: "";
        width: 100%;
        height: 3px;
        position: absolute;
        bottom: 1em;
        left: 0;
        background-color: #fff;
    }}


@media (max-width:768px){
body.under.news .news-category{
 margin:24px 0;
  }}

@media (max-width:768px){
body.under.news .news-category ul{
  display:flex; flex-wrap:wrap; 
  justify-content:center; 
  list-style:none; 
  padding:12px 0;
  background:#f7f9fc;
}}

@media (max-width:768px){
body.under.news .news-category a:hover{
 color:#0066b3;
  } }
  
   
  
@media (min-width:767.9px){
body.under.news .news-category{
 margin:24px 0;
  }}

@media (min-width:767.9px){
body.under.news .news-category ul{
  display:flex; flex-wrap:wrap; 
  justify-content:center; 
  list-style:none; 
  padding:12px 0;
  background:#f7f9fc;
}}

@media (min-width:767.9px){
body.under.news .news-category a{ 
    color:#111; 
    text-decoration:none; 
    font-size: clamp(16px, 2.5vw, 18px);
}}

@media (min-width:767.9px){
body.under.news .news-category a:hover{
 color:#0066b3;
  }}


/*-------*/

@media (max-width:768px){
body.under.news .news-category .ul{
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 5個を等幅 */
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}}

@media (max-width:768px){
body.under.news .news-category li{ min-width: 0; }
body.under.news .news-category a{
  display: block;
  text-align: center;
  padding: 2px 6px;
  text-decoration: none;
  border-radius: 4px;
  color: #000;
  font-weight: 400;
  white-space: nowrap;
  font-size: clamp(14px, 2.5vw, 16px);
}}

@media (min-width:767.9px){
body.under.news .news-category .ul{
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 5個を等幅 */
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}}

@media (min-width:767.9px){
body.under.news .news-category li{ min-width: 0; }
body.under.news .news-category a{
  display: block;
  text-align: center;
  padding: 10px 16px;
  text-decoration: none;
  border-radius: 4px;
  color: #000;
  font-weight: 400;
  white-space: nowrap; 
}}


@media (max-width:768px){
body.under.news .news-category .list{
    grid-template-columns: repeat(2, 1fr);
  }}


:root { --header-h: 0px; }

#mv {
  position: relative;
  width: 100%;
  padding: 0 40px 87px 40px;
}

@media (min-width: 768px){
  #mv{
    height: min(calc(100vw * 781 / 1380), calc(100vh - var(--header-h)));
    height: min(calc(100dvw * 781 / 1380), calc(100dvh - var(--header-h)));
  }}


@media (max-width: 767.98px){
  #mv{
    padding: 0 15px 30px 15px;
    height: calc(100vh - var(--header-h));
    height: calc(100dvh - var(--header-h));
  }
  .under #mv { padding-bottom: 42px; }
}


@media only screen and (max-width: 767.98px) {
    main .c_bigttl .in_ttl {
        font-size: calc(var(--vw) * 20 / 375 * 100);
    }}