@charset "UTF-8";
/*_____FOR CORPOLATE STYLE_______*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200..600&display=swap');
@import url("https://use.typekit.net/hoj7qej.css");

/* -----------------------------------------
   Variables
----------------------------------------- */
:root {
  --txt-color: #010302;
  --key-color: #b52b4e;
  --red-color: #d40000;
  --gold-color: #B4843D;
  --font-serif: "Noto Serif JP",'ヒラギノ明朝 Pro W3', Hiragino Mincho Pro, '游明朝', YuMincho, 'リュウミン M-KL', Ryumin Medium KL, "HG明朝E", "ＭＳ Ｐ明朝", MS PMincho, serif;
  --noto-serif: "Noto Serif JP", serif;
  --noto-sans: "Noto Sans JP", serif;
  /* デザインカンプの基準幅 */
  --bw-pc: 1667;   /* PCの基準幅 */
  --bw-sp: 390;    /* SPの基準幅 */
  --bw-pc-include-nav:1667;
  --max-w: 1100;   /* コンテンツ固定はばの最大値 */
  --color-gradient-1: linear-gradient(91deg, #B7861E 3.08%, #ECCA93 99.76%);
}
@media (min-width: 769px) and (max-width: 1023px) {
  :root {
  /* デザインカンプの基準幅 */
  --bw-pc: 1440;   /* PCの基準幅 */
}
  
}

.js .fade-in {
  opacity: 0;
  transition: opacity 1.1s ease;
}
.js .fade-in.is-visible {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .js .fade-in {
    transition: none;
  }
}
/* base
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.kochouran-houjin_lp_contents{
  background-color: #000;
}
.kochouran-houjin_lp_contents *{
  line-height: 1.65;
  font-weight: 400;
  font-family: var(--font-serif); 
}

/* Typo
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.kochouran-houjin_lp_contents h1,
.kochouran-houjin_lp_contents h2,
.kochouran-houjin_lp_contents h3,
.kochouran-houjin_lp_contents h4,
.kochouran-houjin_lp_contents h5{
  line-height: normal;
}
.kochouran-houjin_lp_contents h2
{ font-size:3.3rem; text-align: center; margin-bottom: 3.5rem;}
.kochouran-houjin_lp_contents  h2.h2-small
{ font-size:2.8rem;}
.kochouran-houjin_lp_contents h2.h2-small-2
{ font-size:2.3rem;}
.kochouran-houjin_lp_contents h3
{ font-size:2.2rem; }
.kochouran-houjin_lp_contents h4
{ font-size:1.75rem;}

h4.kochouran-houjin_lp_h4-bdr {
  padding-left: .5em;
  border-left: 3px solid #fff;
}

.kochouran-houjin_lp_contents p {
    font-size: 1.4rem;
}
@media (max-width: 768px) {
h3.h3-small{ font-size:2.0rem;}
}
@media (min-width: 769px) {
.kochouran-houjin_lp_contents h2 { font-size:4.8rem;
font-size: clamp(
  3.6rem,                            /* 下限 */
  calc(100vw * 48 / var(--bw-pc)),  /*基準幅可変*/
  5.5rem                            
);} 

.kochouran-houjin_lp_contents h2.h2-big{ 
  font-size:6.5rem;
 font-size: clamp(
  3.6rem,                            /* 下限 */
  calc(100vw * 65 / var(--bw-pc)),  /*基準幅可変*/
  7.5rem                            
);
}
.kochouran-houjin_lp_contents h2.h2-small{ 
margin-bottom: 6rem;
  font-size:3.7rem;
 font-size: clamp(
  2.7rem,                            /* 下限 */
  calc(100vw * 37 / var(--bw-pc)),  /*基準幅可変*/
  4.25rem                            
);
}
.kochouran-houjin_lp_contents h2.h2-small-2{ font-size:3.3rem;
 font-size: clamp(
  2.5rem,                            /* 下限 */
  calc(100vw * 33 / var(--bw-pc)),  
  3.8rem                            
);
}
.kochouran-houjin_lp_contents h3{ font-size:2.8rem;
font-size: clamp(
  2.1rem,                            /* 下限 */
  calc(100vw * 28 / var(--bw-pc)),  /*基準幅可変*/
  3.8rem                            
);
}
.kochouran-houjin_lp_contents h4{ font-size:2.5rem;
font-size: clamp(
  2.0rem,                            /* 下限 */
  calc(100vw * 25 / var(--bw-pc)),  /*基準幅可変*/
  2.8rem                            
);
margin-bottom: 1.25em;
}

.kochouran-houjin_lp_contents h5{ font-size:2.5rem;
font-size: clamp(
  1.6rem,                            /* 下限 */
  calc(100vw * 16 / var(--bw-pc)),  /*基準幅可変*/
  1.85rem                            
);
margin-bottom: 1.25em;
}

.kochouran-houjin_lp_contents p {
  font-size: clamp(
  1.4rem,                            /* 下限 */
  calc(100vw * 16 / var(--bw-pc)),  /*基準幅可変*/
  1.8rem                            
);
}
}

/*breadcrumb*/
 .breadcrumb-list {
  position: absolute ;
  color: #fff;
  z-index: 1;}

.breadcrumb-list a {
  color: #FFF; }

.breadcrumb-list li {
  color: #ddd; }

/* Utilities / font ※サイトの共通スタイルにもあり
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-fz-87_5 { font-size: 87.5%; }
.u-fz-85 { font-size: 85%; }
.u-text-block-center {
  width: fit-content;
  margin-inline: auto;
  text-align: left;
}
.u-txt-center-left {
  text-align: center;
}
.u-color-red { color: var(--red-color); }
.u-color-gold2 { color: #D4AF37; }

.u-dot-box {
  padding: 1em;
  border: 1px dotted rgba(255, 255, 255, 0.50);

}
.u-tab-pc{
  display: none;
}
.u-lead-mb {
  margin-bottom: 5em;
}
.u-mb-35{
  margin-bottom: 3.5rem;
}
@media (min-width: 769px) {
.u-txt-center-left {
  text-align: left;
}
.u-tab-pc{
  display: block;
}
.u-mb-35{
  margin-bottom: 5.0rem;
}
}
/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.kochouran-houjin_lp_contents hr {
  margin-top: 2.5rem;
  margin-bottom: 3.0rem;
  border-width: 0;
  border-top: 1px dashed #757575; }
  
  #page-top {
  z-index: 3;
}

/* Applly 基本のボタン section内に記述
–––––––––––––––––––––––––––––––––––––––––––––––––– */


/* flex
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* 汎用flexコンテナ */
.u-flex-box {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.u-flex-box > * {
  min-width: 0;
}
.u-w-45  { width: 45%; }
.u-w-37  { width: 37%; }
.u-w-38  { width: 38%; }
.u-w-46  { width: 46%; }
.u-w-48  { width: 48%; }
.u-w-50  { width: 50%; }
.u-w-55  { width: 52%; }
.u-w-100 { width: 100%; }
.u-flex-1 { flex: 1; }

/* 均等グリッド（PC） */
.u-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.u-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

/* gap */
.u-gap-8  { gap: 8px; }
.u-gap-16 { gap: 16px; }
.u-gap-20 { gap: 20px; }
.u-gap-26 { gap: 26px; }
.u-gap-30  { gap: 6%;}
/*任意の数値用*/
.u-gap-var { gap: var(--gap, 20px); }
.u-gap-lineup { gap:1.5%; row-gap: 0; }

/* 位置調整（vertical-align: middle 相当） */
.u-align-center { align-items: center; }


@media (max-width: 768px) {
  .u-flex-box > *,
  .u-grid-2 > *,
  .u-grid-3 > * {
    width: 100%;
  }
   .u-flex-1 {
    flex-basis: 100%; /* SPの時だけbasisを上書き */
  }
  .u-grid-2,
  .u-grid-3 {
    grid-template-columns: 1fr;
  }
  .u-grid-3-2col-sp,.u-grid-2-2col-sp {
    grid-template-columns: repeat(2, 1fr);
  }

  .u-w-48-sp {
    width: 48%;
  }
}
@media (min-width: 769px) {
.u-flex-reverse-pc {/*並びを入れ替え*/
    flex-direction: row-reverse;
  }
.u-gap-lineup { gap:4.9%; }
}

/*img-list*/

.u-img-list{
  margin-bottom:0em;
}
.u-img-list li{
  margin-bottom:1em;
}
.u-img-list li:last-child{
  margin-bottom:0;
}
.u-img-list li img{
  vertical-align: top;
}
/* animation
–––––––––––––––––––––––––––––––––––––––––––––––––– */

@keyframes fadeInSP { 0% { opacity: 0; }
  100% { opacity: 1;} }
@-webkit-keyframes fadeInSP { 0% { opacity: 0; }
  100% { opacity: 1;} }


.spsite-fade-blur {
  animation: blurIn 2.25s ease-out forwards;
}

@keyframes blurIn {
  0% {
    opacity: 0;
    filter: blur(5px); 
  }
  100% {
    opacity: 1;
    filter: blur(0); 
  }
}
/* common
--------------------------- */
.kochouran-houjin_lp_contents{
  animation: fadeInSP 2s ease 0s 1 normal;
  -webkit-animation: fadeInSP 2s ease 0s 1 normal;

  background-image: url(../../images/corporate/kochouran-houjin/bg_bottom.webp);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% auto;
  padding-bottom: calc(426 / 1920 * 100%);
  color: var(--txt-color);
}
.kochouran-houjin_lp_sec {
  padding: 4em 4%;
}
.kochouran-houjin_lp_sec_col {
  padding:5em 6%;
}
.kochouran-houjin_lp_sec_col_wide {
  padding:5em 4.5%;
}
.kochouran-houjin_lp_sec_inner {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
.kochouran-houjin_lp_sec_inner_full {
  width: 100%;
  margin: 0 auto;
}
.kochouran-houjin_lp_sec_inner-w1120 {
  max-width: 1120px;
}
.kochouran-houjin_lp_w1210{
max-width: 1210px;
margin-inline: auto;
}
.kochouran-houjin_lp_w1440{
max-width: 1920px;
margin-inline: auto;
}
figure img,
ul li img{
	width: 100%;
}
.sec_bg_black{
  background-color: #000;
  color: #fff;
}
.sec_bg_beige {
  background-color: #FFF9F4;
}
.sec_bg_white {
  background-color: #fff;
}

/* each section
--------------------------- */
.container{ 
  overflow: visible;/*#01sticky調整用*/
}
/*kochouran-houjin_lp_fxbtn_area*/
.kochouran-houjin_lp_fxbtn_area {
  position: fixed;
  right: 0;
  bottom: 80px;
  z-index: 3;
	opacity: 0;
  transition: all 0.5s ease;
  transform: translate(30px, 0px); 
}
.kochouran-houjin_lp_fxbtn_area img{
	width:130px;
  height: auto;
}
.kochouran-houjin_lp_fxbtn_area.show{
	opacity: 1;
  transform: translate(0px, 0px); }

/* #Main
--------------------------- */
.kochouran-houjin_lp_main_video {
  position: relative;
  width: 100%;
  height: calc(100vh - 0px);
  height: calc(100svh - 0px);
  min-height: 560px;
  overflow: hidden;
  margin: 0 auto;
  background-color: #222;
  color: #fff;
}
.kochouran-houjin_lp_main_video video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: translate(-50%, -50%);
}
.kochouran-houjin_lp_main_video_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.4) 100%);
  pointer-events: none;
}

.kochouran-houjin_lp_main_video_inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  /* padding: clamp(16px, 5vw, 48px); */
  z-index: 2;

  color: #fff;
  font-weight: normal;
}

.js .kochouran-houjin_lp_main_video h1,
.js .kochouran-houjin_lp_main_video h2 {
  opacity: 0;
}
.js .kochouran-houjin_lp_main_video h1.show-h {
  animation: main_h1_fadeIn 1.5s forwards 0.7s;
}
.js .kochouran-houjin_lp_main_video h2.show-h {
  animation: main_h1_fadeIn 1.5s forwards 1.2s;
}

@keyframes main_h1_fadeIn {
  from {
    opacity: 0;
    transform: translateY(100px);
    filter: blur(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

.kochouran-houjin_lp_logo{
  position: absolute;
  bottom: 120px;
  width: 57.95%;
  margin: 0 auto;
  z-index: 2;
}
.kochouran-houjin_lp_main_video .header-headline {
  margin: 0 0 1em;
font-size: min(                          /* 下限 */
  calc(100vw * 50 / var(--bw-pc)),  /*基準幅可変*/
  5.4rem                            
);
text-shadow: 0 2.138px 2.833px rgba(0, 0, 0, 0.40);
}
.kochouran-houjin_lp_main_video .header-subline {
  margin: 0;
font-size: min(                          /* 下限 */
  calc(100vw * 28 / var(--bw-pc)),  /*基準幅可変*/
  3.0rem                            
);
  letter-spacing: .025em;
  text-shadow: 0 2.618px 3.469px rgba(0, 0, 0, 0.40);
}
.kochouran-houjin_lp_main_video_band {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 72px;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-gradient-1);
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 3.2rem;
  font-weight: 500;
  color: #fff;
  z-index: 2;
  box-sizing: border-box;
}
.kochouran-houjin_lp_main_video_band{
  overflow: hidden;
}

/* 追加：光の帯 */
.kochouran-houjin_lp_main_video_band::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -60%;
  width: 30%;              /* 帯を少し細く → メリハリが出る */
  height: 200%;
  background: linear-gradient(
    75deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.85) 50%,   /* 0.6 → 0.85 に上げてコントラスト強化 */
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-20deg);
  mix-blend-mode: screen; /* ゴールドに輝きが乗る */
  pointer-events: none;
  z-index: 1;
}

/* 中央に来たタイミングで付与するクラス */
.kochouran-houjin_lp_main_video_band.is-inview::after {
  animation: shine-sweep 1.75s ease-in-out;  /* 1.1s → 2.2s に伸ばしてゆっくりに */
}

@keyframes shine-sweep {
  0%   { left: -60%; opacity: 0; }
  15%  { opacity: 1; }
  60%  { opacity: 1; }
  100% { left: 130%; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
 .kochouran-houjin_lp_main_video_band::after { animation: none; }
}


@media all and (max-width: 768px) {
.kochouran-houjin_lp_main_video .header-headline {
 font-size: min(                          /* 下限 */
  calc(100vw * 29 / var(--bw-sp)),  /*基準幅可変*/
  3.4rem                            
);
}
  .kochouran-houjin_lp_main_video .header-subline {
  font-size: min(                          /* 下限 */
  calc(100vw * 17 / var(--bw-sp)),  /*基準幅可変*/
  1.73rem                            
);
}
.kochouran-houjin_lp_main_video_band {
    font-size: 2.5rem;
    height: auto;
    padding: 10px 16px;
  }
}
@media (max-width: 600px) {
  .kochouran-houjin_lp_main_video_band::after {
    width: 40%; 
     background: linear-gradient(
    75deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.5) 50%,   /* 0.6 → 0.85 に上げてコントラスト強化 */
    rgba(255, 255, 255, 0) 100%
  );
  }
  .kochouran-houjin_lp_main_video_band.is-inview::after {
    animation-duration: 1.4s; 
  }
}
  /* #intro
--------------------------- */

.kochouran-houjin_lp_contents_intro{
background: url(../../images/corporate/kochouran-houjin/main_bg-intro_sp.webp) no-repeat top right #000;
background-size: 100% auto;
padding-top: 110vw;
text-align: left;
}

.kochouran-houjin_lp_contents .kochouran-houjin_lp_contents_intro h2{
text-align: left;
}


@media all and (max-width: 768px) {
.kochouran-houjin_lp_prize ul{
  width: 79.61111%;
  margin: 4em auto 0;
}
}

/* #01 妥協なき..
--------------------------- */

.kochouran-houjin_lp_contents01{
background: url(../../images/corporate/kochouran-houjin/sec_01_bg_sp.webp) no-repeat top right #000;
background-size: 100% auto;
}

.kochouran-houjin_lp_contents .kochouran-houjin_lp_contents01 h2{
text-align: left;
}

@media all and (max-width: 768px) {
.kochouran-houjin_lp_contents01 .kochouran-houjin_lp_sec_col{
  padding-top: 6em;
}
.kochouran-houjin_lp_contents01_img{
  margin-left: -6.7%;
}

.kochouran-houjin_lp_contents01_img ul{
  width: 93%;
  margin-top: 4em;
}
}

/* #02 見比べれば..
--------------------------- */
.kochouran-houjin_lp_contents02 {
  padding: 0;
}
.kochouran-houjin_lp_contents02_main {
  position: relative;
  background: linear-gradient(180deg, rgba(235, 226, 218, 0.00) 0%, #EBE2DA 66.31%);
}
.kochouran-houjin_lp_contents02_main_img {
 position: absolute;
  inset: 0;
  overflow: hidden;
}
.kochouran-houjin_lp_contents02_main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;           /* .lp_heroの高さ(=テキストの高さ)に自動追従してトリミング */
  object-position: center top; /* SP:商品が上寄りに来るよう調整 */
  display: block;
}
.kochouran-houjin_lp_contents02_main_inner {
  position: relative;
  z-index: 1;
  padding: 158.5% 4% 5%;
}
.kochouran-houjin_lp_hikaku h3{
  margin: 1.5em 0;
}
.kochouran-houjin_lp_hikaku{
  background: linear-gradient(91deg, #B7861E 3.08%, #ECCA93 99.76%);
  color: #fff;
}
.kochouran-houjin_lp_hikaku figure img{
  width: 100%;
  height: auto;
  vertical-align: top;
}
.kochouran-houjin_lp_hikaku table{
  border: 1px solid #E7D4AC;
background: rgba(175, 123, 56, 0.43);
  border-collapse: separate;
  border-spacing: 10px;
  letter-spacing: .025em;
}
.kochouran-houjin_lp_hikaku th,.kochouran-houjin_lp_hikaku td{
  border: none;
  text-align: center;
  padding: 0;
}
.kochouran-houjin_lp_hikaku th{
  font-size: 1.75rem;
}
.kochouran-houjin_lp_hikaku td:last-child{
  border-left: 1px solid #fff;
}
.kochouran-houjin_lp_hikaku td{
  color: #FFF0B4;
  font-size: 1.35rem;
}
.kochouran-houjin_lp_hikaku td b{
  color: #fff;
  font-size: 138%;
  font-weight: 400;
}

@media all and (max-width: 768px) {
.kochouran-houjin_lp_hikaku{
  padding: 0 5%;
}
.kochouran-houjin_lp_hikaku figure{
  margin:1.5em -5.5%;
}
.kochouran-houjin_lp_hikaku tr{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.kochouran-houjin_lp_hikaku th{
  display: block;
  width: 100%;
}
.kochouran-houjin_lp_hikaku td{
  width: 50%;
    display: block;
}
}

/* #03 誠意..
--------------------------- */

.kochouran-houjin_lp_contents03 {
  background: url("../../images/corporate/kochouran-houjin/section-03_bg.webp") no-repeat top;
  background-size: cover;
}
.kochouran-houjin_lp_contents03.kochouran-houjin_lp_sec_col {
  padding-top:2em;
}
.kochouran-houjin_lp_contents03 h2{
  text-align: left;
}

.kochouran-houjin_lp_contents03 figure img {
  width: 100%;
}
.kochouran-houjin_lp_contents03 figcaption {
  font-size: 1.2rem;
  margin-top: 0.75em;
}

.kochouran-houjin_lp_contents03 figure.cont03-img_main {
  padding: 3.25em 0 3em;
  padding-left: 12%;
}

.kochouran-houjin_lp_contents03 figure.cont03-img_01 {
  width: 95%;
  text-align: right;
  margin-left: -6.7%;
}
.kochouran-houjin_lp_contents03 figure.cont03-img_01 figcaption{
  text-align: right;
  margin-right: -0.75em;
}
.kochouran-houjin_lp_contents03 figure.cont03-img_02 {
  width: 76%;
  padding: 2.5em 0 1.7em;
}
.kochouran-houjin_lp_contents03 figure.cont03-img_03 {
  padding-left: 44%;
}
.kochouran-houjin_lp_contents03 figure.cont03-img_04 {
 padding: 2.5em 0 0;
}


/* #04 信頼..
--------------------------- */
.kochouran-houjin_lp_contents04 strong{
     font-weight: 400;
     font-size: 2.0rem;
     line-height: 1.35em; 
}
.kochouran-houjin_lp_contents04 img{
  width: 100%;
  height: auto;
}
.kochouran-houjin_lp_bdrbox {
  padding: 25px 18px;
  border: 1px solid #FFE9BB;
  max-width: 1200px;
}
.kochouran-houjin_lp_bdrbox.u-gap-var {
  --gap: 20px;
}

.kochouran-houjin_lp_bdrbox.u-gap-var h3{
  padding-left: 1.75em;
  margin-bottom: 1.5em;
  background: url(../../images/corporate/kochouran-houjin/icon_camera.webp) no-repeat left center;
  background-size: auto 80%;
}


/* #05 環境
--------------------------- */
.kochouran-houjin_lp_contents05 img{
  max-width: 100%;
}

.kochouran-houjin_lp_contents05 div.u-gap-var{
  --gap: 20px;
}

.kochouran-houjin_lp_contents05 ul.u-gap-var{
  --gap: 20px;
}

/* Parallax
--------------------------- */
.kochoran_lp_parallax {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.kochoran_lp_parallax img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
  line-height: 1;
}

.simpleParallax {
  height: 60vw;
}
@media all and (max-width: 768px){

.kochoran_lp_parallax > div {
  width: 120%;
  margin-left: -10%;
}
}

/* #06 lineup
--------------------------- */

.kochouran-houjin_lp_contents06 .u-grid-3{
  margin-bottom: 2em;
}
.kochouran-houjin_lp_contents06 .u-grid-3 > div img{
  margin-bottom: .75em;
}
.kochouran-houjin_lp_contents06 .kochouran-houjin_lp_btnlist{
  margin-top: 3em;
}
.kochouran-houjin_lp_contents06 .u-dot-box {
  margin: 2em 0 5em;
   font-size: clamp(
  1.225rem,                            /* 下限 */
  calc(100vw * 12 / var(--bw-pc)),  /*基準幅可変*/
  1.3rem                            
);
}
.kochouran-houjin_lp_label {
  border: 1px solid #B4843D;
  color: #BF984A;
  font-family: var(--noto-sans) ;
  display:inline-block;
  padding: .15em .75em; 
  font-weight: 500;
  margin-bottom: .5em;
}

.kochouran-houjin_lp_btnlist p {
  margin-bottom: 10px;;
}
/*お申込みボタン*/
.btn_kochouran a {
  color: #fff;
  font-weight: 600;
  position: relative;
  display: block;
  max-width: 300px;
  width: 100%;
  font-family: var(--noto-serif);
  padding: 12px 0;
  background-color: var(--red-color);
  border: solid 1px #fff;
  text-align: center;
  margin: 0 auto;
  transition: all 0.3s;
}
/*お申込みボタン各種*/
.btn_kochouran__bdr a {
  background-color: #000;
  border: solid 1px var(--gold-color);
}
.btn_kochouran__gold a {
  background-color: var(--gold-color);
  border: solid 1px var(--gold-color);
}
.btn_kochouran__big a {
  font-size: 1.5rem;
}

/* #07 wrapping
--------------------------- */
.kochouran-houjin_lp_contents07 h3{
  display: block;
  width: 69px;
  height: 69px;
  border-radius: 50%;
  background-color: #B23232;
  color: #fff;
  font-size: 1.45rem;
  line-height: normal;
  text-align: center;
  line-height: 1;
  padding-top: 19px;
    position: relative;
    left: 4%;
    margin-bottom: -3%;
    z-index: 3;
}
.kochouran-houjin_lp_contents07 h3 b{
  font-size: 2.95rem;
  font-weight: 400;
  line-height: 1;
}

/* #08 tatefuda
--------------------------- */
.u-grid-tatefuda {
  row-gap: 20px;
}
.u-grid-tatefuda li{
  border: solid 1px var(--red-color);
  text-align: center;
  padding:1.5%;
}
.u-grid-tatefuda li h3{
  line-height: 2.35em;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
  background-color: var(--red-color);
}

/* #09 otodoke
--------------------------- */
.kochouran-houjin_lp_contents09 {
  text-align: center;
}
.kochouran-houjin_lp_contents09 h4{
  font-weight: 500;
}
.kochouran-houjin_lp_contents09 .u-underline{
  text-decoration: underline;
  text-decoration-color: var(--red-color);
  text-underline-offset: 6px;
}

.kochouran-houjin_lp_contents09 strong{
  font-size: 1.9rem;
  color:#000;
  display: block;
  line-height: 2em;
  font-weight: 600;
}

.kochouran-houjin_lp_contents09 strong,
.kochouran-houjin_lp_contents09 strong span{
  font-weight: 600;
}

.kochouran-houjin_lp_contents09 ul {
  border: solid 1px #966B33;
  padding: 3% 3.25%;
  background-color: rgba(255, 255, 255, 0.5);
}
.kochouran-houjin_lp_contents09 ul li{
padding-left: 1em;
text-indent: -1em;
}
.kochouran-houjin_lp_cont_inner {
  background-color: #fff;
  padding: 10% 3%;
  margin-bottom: 20px;
  max-width: 1120px;
}
.delivery-area-table{
  vertical-align: top !important;
  margin-bottom: 3em;
}
.delivery-area-table caption{
  width: 100%;
  padding: .25em .75em;
  font-size: 1.7rem;
  font-weight: 700;
  background-color: #70B65A;
  color: #fff;
  margin-bottom: 1em;
}
.delivery-area-table_pink caption{
  background-color: #E96878;
}
.delivery-area-table_blue caption{
  background-color: #536FB3;
}
.delivery-area-table tbody{
  margin: 10px;
}
.kochouran-houjin_lp_contents .delivery-area-table tbody td,
.kochouran-houjin_lp_contents .delivery-area-table tbody th{
  font-family: var(--noto-sans)
}
.delivery-area-table th,td{
  padding: 2px;
  vertical-align: top;
  border: none;
}
.delivery-area-table th{
 width: 6.25em;
 color: #70B65A;
 padding-left: .75em;
}
.delivery-area-table td{
  padding-left: 1em;
  text-indent: -1em;
  padding-right: .75em;
  padding-left: .75em;
}
.delivery-area-table_pink th{
  color: #E96878;
}
.delivery-area-table_blue th{
  color: #536FB3;
}
.delivery-area-table td::before {
  content: "：";
  color: #70B65A;
}
.delivery-area-table_pink td::before {
   color: #E96878;
}
.delivery-area-table_blue td::before {
  color: #536FB3;
}
.kochouran-houjin_lp_contents09 img {
  width: 100%;
  height: auto;
}

/*sp-only*/
@media all and (max-width: 768px) {
.kochouran-houjin_lp_contents09 img {
  max-width: 460px;
  padding: 0 3%;
  margin-inline:auto;
}

.kochouran-houjin_lp_contents05 li:first-child img{
  max-width: 147px;
}
.kochouran-houjin_lp_contents05 li:last-child img{
  max-width: 301px;
}

.kochouran-houjin_lp_contents04_img{
margin: 1em -6.7% 4em;
}


}

/*tab-desktop*/
@media all and (min-width: 769px) {
.kochouran-houjin_lp_cont_inner {
  padding: 6%;
}
/*kochouran-houjin_lp_fxbtn_area*/
.kochouran-houjin_lp_fxbtn_area img{
	width:200px;
}

.kochouran-houjin_lp_sec {  /* 主にインフォのラッパー */

  padding: 8em 4%;
}

/* #Main
--------------------------- */
   .kochouran-houjin_lp_main_video {
    height: calc(100vh - 0px);
    height: calc(100svh - 0px);
    min-height: 640px;
  }
  .kochouran-houjin_lp_logo{
  bottom:auto;
  right: 1%;
  top: 1%;
  width: 19.5%;
  max-width: 282px;
  margin: 0;
}
.kochouran-houjin_lp_main_video .header-headline {
text-shadow: 0 4px 5.3px rgba(0, 0, 0, 0.40);
}
.kochouran-houjin_lp_main_video .header-subline {
  text-shadow: 0 4.131px 5.473px rgba(0, 0, 0, 0.40);
}

/* #intro
--------------------------- */
.kochouran-houjin_lp_contents_intro{
background: url(../../images/corporate/kochouran-houjin/main_bg-intro.webp) no-repeat top right #000;
background-size: 100% auto;
padding-top: 6vw;
position: relative;
padding-bottom: 5.5%;
}
.kochouran-houjin_lp_contents_intro h2{
  margin-bottom: 1.25em;
}
.kochouran-houjin_lp_contents_intro_main {
  padding: 0 3% 0;
  width: 50%;
}
.kochouran-houjin_lp_contents_intro_main_inner{
  margin-inline: auto;   /* 親カラムの中で左右中央配置 */
  max-width: 89.75%;
  min-width: 32em;
  padding-right: 1em; 
}
.kochouran-houjin_lp_prize{
  position: absolute;
  width: 28%;
  right: 4.5%;
  bottom: 0;
  margin-bottom: 5.5%;
  max-width: 396px;
}
.kochouran-houjin_lp_prize ul{
  margin: 0;
  gap:35px;
}

/* #01 妥協なき..
--------------------------- */
.kochouran-houjin_lp_contents01{
padding-left: 0;
padding-right: 0;
background: url(../../images/corporate/kochouran-houjin/sec_01_bg.webp) no-repeat top right #000;
background-size: 41% auto;
}
.kochouran-houjin_lp_contents01 p{
text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.kochouran-houjin_lp_contents01_main {
  padding: 4em 3% 0;
  min-width: 37em; 
}
.kochouran-houjin_lp_contents01_main_inner{
  width: fit-content;    /* 中身に応じた幅（下限は上のmin-widthが効く） */
  margin-inline: auto;   /* 親カラムの中で左右中央配置 */
  max-width:33em;   
  
  position: sticky;
  top:40%;
  padding-bottom: 19%;     /* 最大幅 */
}

/* #02 見比べれば..
--------------------------- */
  .kochouran-houjin_lp_contents02_main{
    min-height: calc(100vw * 1024 / 1440);
    display: flex;
    height: 100%;
}

.kochouran-houjin_lp_contents02_main_inner {
  width: 45%;
  margin-left: 50.5%;
  padding: 5%;
  min-height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;  /* 追加：子要素は縦に並べる */
  justify-content: center; /* 縦方向の中央寄せはこちらに変更 */
}
.kochouran-houjin_lp_contents02_main_inner h2{
  text-align: left;
  margin-bottom: 1em;
}
.kochouran-houjin_lp_hikaku{
align-items: stretch
}
.kochouran-houjin_lp_hikaku figure{
  margin-bottom: 0;
}
.kochouran-houjin_lp_hikaku > div{
 text-align: center;
}
.kochouran-houjin_lp_hikaku > div:first-child{
 padding-top: 1%;
 padding-bottom: 1%;
   display: flex;
  flex-direction: column;
  justify-content: center; /* 縦方向中央寄せ */
}
.kochouran-houjin_lp_hikaku > div:last-child {
  overflow: hidden; 
}

.kochouran-houjin_lp_hikaku figure {
  width: 100%;
  height: 100%;
  margin: 0; /* figureのデフォルト余白をリセット */
}

.kochouran-houjin_lp_hikaku > div:last-child img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}
.kochouran-houjin_lp_hikaku h3{
  width: 12.5em;
  text-align: left;
  margin: 0 auto 4%;
  margin-inline: auto;
  font-size: 3.3rem;
font-size: clamp(
  2.5rem,                            /* 下限 */
  calc(100vw * 33 / var(--bw-pc)),  /*基準幅可変*/
  3.7rem                            
);
}
.kochouran-houjin_lp_hikaku table{
  width: auto;
  margin: 0 auto;
}
.kochouran-houjin_lp_hikaku table th{
 padding-left: 1em;
}
.kochouran-houjin_lp_hikaku td{
  padding-left: 1em;
  padding-right: 1em;
  font-size: 1.6rem;
}

/* #03 誠意..
--------------------------- */
.kochouran-houjin_lp_contents03.kochouran-houjin_lp_sec_col {
  padding: 4em 0 5em;
}
.kochouran-houjin_lp_contents03 figcaption {
  font-size: 1.2rem;
   font-size: clamp(
  1.2rem,                            /* 下限 */
  calc(100vw * 12 / var(--bw-pc)),  /*基準幅可変*/
  1.35rem                            
);
}
.kochouran-houjin_lp_contents03 figure.cont03-img_main {
  padding: 3.5em 0 3em;
  margin-left: 16.7%;
}
.kochouran-houjin_lp_contents03 figure.cont03-img_main {
  width: 63.8%;
  padding-bottom: 0;
}

.kochouran-houjin_lp_contents03 figure.cont03-img_01 {
  width: 85.8%;
 margin-left: 0;
}
.kochouran-houjin_lp_contents03 figure.cont03-img_02 {
  width: 33%;
  padding: 3em 2.7% 0 6.6%;
}
.kochouran-houjin_lp_contents03 figure.cont03-img_03 {
  width: 33%;
  padding: 6em 11% 0;
  padding-left: 4%;
}
.kochouran-houjin_lp_contents03 figure.cont03-img_04 {
  width: 64%;
  display: block;
  padding: 0;
  margin: 0 auto;
  position: relative;
  bottom: -8em;
}
.kochouran-houjin_lp_contents03_main {
  margin-inline: auto;
  margin-top: -4.5em;
  padding: 0 5%;
}
.kochouran-houjin_lp_contents03_main h2{
  display: block;
  width: 100%;
  margin-right: -20%;
}
.kochouran-houjin_lp_contents03_main_inner{
  width: fit-content;    /* 中身に応じた幅（下限は上のmin-widthが効く） */
  margin-inline: auto;   /* 親カラムの中で左右中央配置 */
  max-width:33em;        /* 最大幅 */
  max-width: 90%;
}
.kochouran-houjin_lp_contents03_main_wrapper .u-flex-1{
  position: relative;
}

/* #04 信頼..
--------------------------- */
.kochouran-houjin_lp_contents04 {
  padding: 0;
}
.kochouran-houjin_lp_contents04 .kochouran-houjin_lp_col_wrapper {
  padding: 11% 0 8%;
}
.kochouran-houjin_lp_contents04 h2{
     text-align: left
}
.kochouran-houjin_lp_contents04 strong{
     font-size: 3.0rem;
font-size: clamp(
  2.6rem,                            /* 下限 */
  calc(100vw * 30 / var(--bw-pc)),  /*基準幅可変*/
  3.0rem                            
);
}
.kochouran-houjin_lp_contents04_main {
  padding: 0 3% 6%;
  min-width: 32em; 
}
.kochouran-houjin_lp_contents04_main_inner{
  width: fit-content;    /* 中身に応じた幅（下限は上のmin-widthが効く） */
  margin-inline: auto;   /* 親カラムの中で左右中央配置 */
  max-width:32em;        /* 最大幅 */
  max-width: 75.5%;
}
.kochouran-houjin_lp_contents04_img img{
  max-width: 100%;
  width: 100%;
  min-width: 100%;
  height: auto;
}
.kochouran-houjin_lp_bdrbox {
  padding: min(3%, 60px) min(4%, 80px);
  margin:9% 5% 0;
  width: 90%;
  margin-inline: auto;
  max-width: 1600px;
}
.kochouran-houjin_lp_bdrbox.u-gap-var {
  --gap: 6.4%;
}

/* #05 環境
--------------------------- */
.kochouran-houjin_lp_contents05 h2{
     text-align: left
}
.kochouran-houjin_lp_contents05 div.u-gap-var{
  --gap: 8%;
}
.kochouran-houjin_lp_contents05 ul.u-gap-var{
  --gap: 8%;
}
.kochouran-houjin_lp_contents05 li.u-w-25{
  width: 25.7%;
}

/* Parallax
--------------------------- */
  .kochoran_lp_parallax {
    margin: 0;
  }
  .simpleParallax {
    height: 30vw;
  }

/* #08 tatefuda
--------------------------- */
.u-grid-tatefuda {
  row-gap: 40px;
}
.u-grid-tatefuda li h3{
  font-size: 2.0rem;
font-size: clamp(
  1.7rem,                            /* 下限 */
  calc(100vw * 20 / var(--bw-pc)),  /*基準幅可変*/
  2.2rem                            
);
}

/* #07 wrapping
--------------------------- */
.kochouran-houjin_lp_contents07 h3{
  font-size: 2.125rem;
  width: calc(110px * 0.85);
  height: calc(110px * 0.85);
  line-height: calc(118px * 0.85);
padding: 0;
    left: 14.25%;
}
.kochouran-houjin_lp_contents07 h3 b{
  font-size: 3.973rem;
}

/* #06 Lineup
--------------------------- */
.kochouran-houjin_lp_contents06 .u-grid-3{
  margin-bottom: 6em;
  margin-top: 4.5rem;
}
.kochouran-houjin_lp_contents06 .u-grid-3 > div img{
  margin-bottom: 1.25em;
}
.kochouran-houjin_lp_contents06 .u-dot-box {
  margin: -2em 0 8em;
   font-size: clamp(
  1.4rem,                            /* 下限 */
  calc(100vw * 14 / var(--bw-pc)),  /*基準幅可変*/
  1.5rem                            
);
}
.kochouran-houjin_lp_contents06 .kochouran-houjin_lp_btnlist{
  margin-top: 4.5em;
}
.kochouran-houjin_lp_contents hr {
  margin-top: 5rem;
  margin-bottom: 5.5rem;}
/*お申込みボタン*/
.kochouran-houjin_lp_btnlist {
  max-width: 620px;
  margin: 0 auto;
  gap: 20px;
}
.kochouran-houjin_lp_btnlist >*{
 margin: 0;
}
.btn_kochouran__big a {
  font-size: 1.8rem;
}

/* #09 otodoke
--------------------------- */
.kochouran-houjin_lp_contents09 h4{
  margin-bottom: 3.5rem;
  font-size: clamp( 2.0rem, calc(100vw * 25 / var(--bw-pc)), 2.5rem );
}
.kochouran-houjin_lp_contents09 strong{
  font-size: 2.6rem;
font-size: clamp(
  2.2rem,                            /* 下限 */
  calc(100vw * 26 / var(--bw-pc)),  /*基準幅可変*/
  2.8rem                            
);
}
.delivery-area-table th,td{
  font-size: 1.5rem;
}


}


/*desktop*/


@media (min-width: 769px) and (max-width: 1279px) {
  /* #02 見比べれば..
--------------------------- */
  .kochouran-houjin_lp_hikaku td b{
  font-size: 120%;
}
.kochouran-houjin_lp_hikaku table th {
  padding-left: .5em;
  font-size: 1.65rem;
}
.kochouran-houjin_lp_hikaku td{
  padding-left: 0;
  padding-right: 0em;
  font-size: 1.5rem;
}
.kochouran-houjin_lp_hikaku td:last-child{
  padding-left: .75em;
}
}
@media (min-width: 769px) and (max-width: 1248px) {
.kochouran-houjin_lp_contents01_main {
  min-width: 20em;
}
.kochouran-houjin_lp_contents01_main_inner{
  max-width:28em;   
}

.kochouran-houjin_lp_contents03_main {
  padding: 0 1% 0 5%;
}

.kochouran-houjin_lp_contents04_main_inner{
  max-width: 85%;
}
}

@media all and (min-width: 1024px) {
    /* #02 見比べれば..
--------------------------- */
  .kochouran-houjin_lp_contents02_main{
    min-height: calc(100vw * 1024 / 1667);
}

}

@media all and (min-width: 1200px) {
.kochouran-houjin_lp_bdrbox {
 /*  padding: 4%  5%; */
 width: 80%;
 margin-top: 8em;
}
}
@media all and (min-width: 1350px) {
    /* #01 妥協なき..
--------------------------- */
.kochouran-houjin_lp_contents01_main {
  padding: 7em 3% 0;
  margin-left: -2%;
}
/* #07 wrapping
--------------------------- */
.kochouran-houjin_lp_contents07 h3{
  font-size: 2.5rem;
  width: 110px;
  height: 110px;
  line-height: 118px;
}
.kochouran-houjin_lp_contents07 h3 b{
  font-size: 4.675rem;
}
}
@media all and (min-width: 1680px) {
.kochouran-houjin_lp_sec {  /* 主にインフォのラッパー */
  padding: 9em 4%;
}
}


/* Swiper for kochoran hojin LP
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.kochouran-houjin_lp_contents07{
  overflow: hidden;
}
.swiper.kochouran-lp-swiper{
  overflow: visible;
}
.kochouran-lp-swiper .swiper-button-next,
.kochouran-lp-swiper .swiper-button-prev {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background: #222;
  color: #fff;
  top:auto;
  bottom: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}
.kochouran-lp-swiper .swiper-button-next{
  margin-right: -18px;
}
.kochouran-lp-swiper .swiper-button-prev{
  margin-left: -18px;
}
.kochouran-lp-swiper .swiper-button-next:after,
.kochouran-lp-swiper .swiper-button-prev:after {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
}
.swiper-pagination {
  margin-bottom: -.5em;
}

.kochouran-lp-swiper .swiper-slide {
  opacity: 0.5; /* デフォルトは透過(＝見切れてる両端がこれに該当) */
}

.kochouran-lp-swiper .swiper-slide-active,
.kochouran-lp-swiper .swiper-slide-prev,
.kochouran-lp-swiper .swiper-slide-next {
  opacity: 1; /* 真ん中3枚だけ不透明に上書き */
}
.kochouran-lp-swiper .swiper-pagination-bullet-active {
  background: #111;
}
.swiper-slide figure {
 position: relative; 
}
.swiper-slide figure figcaption {
 position:absolute;
 right:2%;
  top:1%;
  font-size: 1.5rem;
  color:#533713;
}
@media all and (max-width: 768px) {
  .kochouran-lp-swiper .swiper-button-next,
  .kochouran-lp-swiper .swiper-button-prev {
    width: 39px;
    height: 39px;
  }
  .kochouran-lp-swiper .swiper-button-next:after,
  .kochouran-lp-swiper .swiper-button-prev:after {
    font-size: 16px;
  }
}
@media all and (min-width: 769px) {
   .kochouran-houjin_lp-carousel{
    margin-right: -4.2%;
    margin-left: -4.2%;
  }   
   .kochouran-lp-swiper .swiper-button-next {
    margin-right: 0;
    right: calc(12.5% - 27.5px);
    bottom: 55px;
  }
  .kochouran-lp-swiper .swiper-button-prev {
  margin-left: 0;
   left: calc(12.5% - 27.5px);
   bottom: 55px;
  }
  .kochouran-lp-swiper-36 {
    margin-bottom: 5em;
  }
  .swiper-slide figure figcaption {
  font-size: 2.1rem;
}
.swiper-pagination {
  margin-bottom: -1em;
}
}