/*-- ==========================================================
       yokohama.css
 ===============================================================--*/

 /*--------------- Reset & Base ----------------*/

 *, *::before, *::after {box-sizing: border-box; margin:0; padding:0;}
 html { font-size: 62.5%; scroll-behavior:smooth;}
 body{
  font-family: 'Noto Sans JP' , sans-serif;
  color:#333;
  background:#fff;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
 }
 img{
   max-width:100%;height:auto;display:block;
  }
.inner a{ text-decoration:none; color:inherit;}
ul,ol{ list-style:none;}


 /*--------------- css Variables ----------------*/

 :root{
  --blue-dark:#1F3A5F;
  --blue-main:#1F3A5F;
  --blue-Light:#3b82c4;
  --blue-gray: #4A78A6;
  --blue-btn:#2878d6;
  --beige:#f7f6f3;
  --gold:#c9a84c;
  --gold-Light:#e8c96a;
  --gray-bg:#F7F6F3;
  --gray-border:#dde2ea;
  --text-dark:#1a1a2e;
  --text-body:#444;
  --white:#fff;
  --red-accent:#FF6F57;
  --max-w:1100px;
 }

  /*--------------- Utility ----------------*/
  .fade-up {
  transform: translateY(40px);
  opacity: 0;
  transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
}
.fade-up.is-show {
  transform: translateY(0);
  opacity: 1;
}
 .highlight{
  color:var(--blue-gray);
  font-weight: bold;
 }
  .inner{
    max-width:var(--max-w);
    margin:0 auto;
    padding:0 40px;
  }
  .section-sub-title{
    font-family:'Noto Serif JP' ,'Lato', sans-serif;
    font-size:2rem;
    font-weight:700;
    color: #fff;
    text-align:center;
    padding-bottom:60px;
    line-height:1.4;
  }

  .section-sub-title02{
    line-height:2;
    text-decoration:underline 1px #fff;
    text-underline-offset: 4px;
    padding:60px 0 0;
  }
  .section-title{
    font-size:3rem;
    font-weight:700;
    color: #fff;
    text-align:center;
    margin-bottom:12px;
    line-height:1.4;
  }

  .section-title .lato{
    font-family:'Lato',sans-serif;
  }
  .text-gold{
    color: #C39C58;
    font-weight: bold;
  }
  .title-bar{
    width:60px;
    height:3px;
    background:var(--gold);
    margin:0 auto 60px;
    border-radius: 2px;
  }
  .section-lead{
    text-align:justify;
    font-size:1.4rem;
    color:var(--text-body);
    margin-bottom:40px;
  }

    /*--------------- HEADER ----------------*/

    .header-nav_upper{
      justify-content: space-between;
    }
    .header-cta{
      background-image: linear-gradient(90deg, #ff6f57, #ffb30d);
      color:#fff !important;
      width: 280px;
      padding:10px 0px 10px 45px;
      border-radius: 6px;
      font-size: 1.4rem;
      font-weight: 700;
      transition: background .2s, transform .15s;
    letter-spacing: .03em;
    border: 2px solid #FFF;
    position: relative;
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.35);
    }
    .header-cta:hover{ background: var(--blue-main) !important;}
    .header-cta::before {
    content: "";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 15px;
    top: 55%;
    transform: translateY(-50%) translateX(0%);
    margin: 0 auto;
    background-image: url(/lp/buy/yokohama/img/yajirusi.png);
    width: 10px;
    height: 15px;
    background-size: contain;
    background-repeat: no-repeat;
}



/*--------------- HERO ----------------*/
.sec-hero{
  position: relative;
  min-height: 80vh;
  display:flex;
  align-items: center;
  overflow: hidden;
}
.sec-bg{
  position:absolute;
  inset:0;
  background: #1a3c6e url('/lp/buy/yokohama/img/mv-pc.jpg') center/cover no-repeat;
  background-position: center bottom;
}
.sec-bg::after{
  content:'';
  position: absolute;
  inset:0;
  background: rgba(80, 160, 255, 0.3);
}
.hero-inner{
  position: relative;
  z-index: 1;
  width: 100%;
}
.hero-inner .inner{
  padding-top:0;
}
.hero-title{
  font-size:4rem;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 20px;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
  font-family: Noto Serif JP;
  text-align: center;
}
.hero-sub{
font-size: 2.4rem;
  color: rgba(255,255,255,.9);
  margin-bottom: 60px;
  font-family: Noto Serif JP;
  text-align: center;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .9);
}
.hero-badges{
  display: flex;
  gap:16px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  justify-content: space-between;
}
.hero-badge{
  position: relative;
  background: rgba(31, 58, 95, 0.7);
  color:#fff;
  padding:10px 20px;
  border-radius: 4px;
  font-size:1.4rem;
  font-weight:700;
  display:flex;
  align-items: center;
  gap:8px;
}
.hero-badge::before {
  content: "";
  font-family: "FontAwesome";
  font-weight: 400;
  background-image:url(/lp/buy/yokohama/img/top-check.png);
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* CTAボタン */

.hero-cta-box{
  width: 325px;
  position:fixed;
  bottom:80px;
  right:0;
  z-index: 9999;
  box-shadow: 2px 2px 5px #999;
}
.hero-cta-wrap{
  position: relative;
}
.hero-cta-label{
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size:1rem;
  color:#222;
  font-weight: bold;
  text-align: center;
  z-index: 9999;
  border-radius: 13px;
  background-color: #fff;
  width: 95%;
  padding: 4px 3px;
  border: 1px solid #ff6f57;
}
.btn-cta-main{
  display:flex;
  align-items: center;
  justify-content: space-evenly;
  width:100%;
  background-image: linear-gradient(90deg, #ff6f57, #ffb30d);
  color:#fff;
  text-align: center;
  font-size: 1.4rem;
  font-weight:700;
  padding:10px 0;
  border-radius: 6px;
  transition: background .2s, transform .15s;
  letter-spacing: .03em;
  border: 2px solid #FFF;
  position: relative;
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.35);
}
/* .btn-cta-main::before {
  display: inline-block;
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.5rem;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) translateX(0%);
  margin: 0 auto;
  background-image: url(/lp/buy/yokohama/img/yajirusi.png);
  width: 15px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
} */
.btn-cta-main:hover{ background: var(--blue-main) !important;transform: translateY(-2px);}
.hero-cta-note{
  font-size:0.9rem;
  color:#888;
  text-align: center;
  margin-top: 8px;
  letter-spacing: unset;
}
.btn-cta-sub{
  display: inline-block;
  background-color: #fff;
  color: #222;
  font-size: 1rem;
  font-weight: bold;
  padding: 2px 5px;
  border-radius: 4px;
}



/*--------------- REASONS 3つ ----------------*/
.sec-reasons{
  background:var(--blue-main);
  padding:80px 0;
  position:relative;
}
.sec-reasons::after{
  content:'';
  position:absolute;
  bottom: -40px;
left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  border-top: 40px solid var(--blue-main);
  z-index: 2;
}
.sec-reasons .section-title{ color:#fff;font-family: Noto Serif JP;}
.sec-reasons .title-bar{background: var(--gold);}
.reasons-grid{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap:36px;
  margin-top:48px;
}


.reason-card{
  text-align: center;
}
.reason-img{
  width: 160px;
  height:160px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 20px;
  background:#2a5a9a;
}
.reason-title{
  font-size: 2rem;
  font-weight: 700;
  color:#fff;
  line-height: 1.6;
}
.reason-sub{
  font-size: 1.6rem;
  color:rgba(255,255,255,.8);
  line-height: 1.6;
}

/*--------------- PRICE COMPARE ----------------*/
.sec-price{
  padding:100px 0 80px;
  background: var(--beige);
}
.sec-price .section-title{
color: var(--blue-main);
}
.chart-sub-word {
  display: flex;
  justify-content: center;
  padding-bottom: 20px;
}
.chart-sub-word .chart-sub-word-tonai ,.chart-sub-word .chart-sub-word-yokohama{
  display: flex;
  align-items: center;
  font-size: 2rem;
}
.chart-sub-word .chart-sub-word-tonai::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #9aa3b0;
  margin-right: 8px; /* 必要に応じて調整 */
}
.chart-sub-word .chart-sub-word-yokohama::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #4a78a6;
  margin-right: 8px; /* 必要に応じて調整 */
}

.chart-wrap{
  background: #fff;
  border: 1px solid var(--gray-border);
  border-radius: 4px;
  padding: 36px 40px;
  margin-bottom:32px;
}
.chart-title{
  font-size:2.4rem;
  font-weight: 700;
  text-align: center;
  color: var(--blue-dark);
  margin-bottom:28px;
}
.bar-chart{display:flex;flex-direction: column;gap:14px;}
.bar-row{display: flex;align-items: center;gap:16px;}
.bar-label{
  width: 80px;
  font-size: 1.6rem;
  color:#222;
  text-align: right;
  flex-shrink: 0;
  font-weight: 500;
}
.bar-track{
  flex: 1;
  background:#eef0f4;
  border-radius: 3px;
  height:32px;
  position: relative;
}
.bar-fill{
  height: 100%;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 10px;
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  transition: width 1s ease;
}
.bar-fill.gray{background:#9aa3b0;color:#fff;}
.bar-fill.blue{background:var(--blue-gray);}
.price-text{
  font-size: 1.4rem;
  color: var(--text-body);
}
.data-note{
  font-size: 1rem;
  color: #999;
  border-top: 1px solid #eee;
  padding-top: 16px;
  margin-top: 20px;
  line-height: 1.8;
}

/*--------------- SUPPORT TABLE ----------------*/
.sec-support{
  padding: 80px 0;
  background: var(--white);
}
.sec-support .section-title ,.sec-area .section-title{
  color: #1F3A5F;
}
.support-table{
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
}
.support-table th,.support-table td{
  border: 1px solid var(--gray-border);
  padding: 16px 20px;
  font-size: 1.6rem;
vertical-align: middle;
line-height: 1.7;
text-align: center;
}
.support-table thead th{
  background: #AAAAAA;
  font-weight: 700;
  text-align: center;
  font-size: 1.6rem;
  color: var(--text-dark);
}
.support-table thead th.kanagawa{
  background: var(--blue-gray);
  color: #fff;
}
.th-cat{
  background: var(--gray-bg);
  font-weight: 700;
  color: var(--text-dark);
  width: 130px;
}
.support-table .chart01{
  background-color: #E9F0F8;
}
.support-table .link-text{color:var(--blue-main);font-size: 1.6rem;
font-weight: bold;}
.support-table .note-text{font-size: 1.2rem;color: #777;}

/*--------------- AREA PRICE TREND ----------------*/
.sec-trend{
  padding: 80px 0;
  background: var(--blue-dark);
}
.sec-trend .sectiion-title{
  color:#fff;
}
.sec-trend .title-bar{ color:#fff;}
.sec-trend .section-lead{ color:rgba(255,255,255,.75);}
.trend-chart-wrap{
  background: #fff;
  border-radius: 4px;
  padding: 10px;
  margin-bottom: 32px;
}

.trend-img-placeholder{
  width:100%;
  background: #e8ecf2;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .875rem;
}
.sec-trend p{
  color: #fff;
  font-size: 1.4rem;
}
/*--------------- AREA CARDS ----------------*/
.large {
  font-size: 2.8rem;}
.small {
  font-size: 2rem; }
.sm-20 {
  font-size: 1.8rem; }
.xsmall {
  font-size: 1.6rem; }

.area-box {
  display: block;
  margin: 0 auto;
  position: relative;
  background-color: #f7f6f3;
  padding: 60px 0;
}
.area-box:nth-of-type(4) {
    margin: 0 auto 0px;
}
.area-box .area-frame {
  position: relative;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
.area-box .area-wrap {
display: flex;
justify-content: space-between;
align-items: center;
}
.area-wrap:nth-child(even) {
flex-direction: row-reverse;
justify-content: flex-start;
}

.area-image{
  position: absolute;
  top: 20px;
  left: 0;
  width: 410px;
  height: 100%;
  object-fit: contain;
}
.area-image02{
  position: absolute;
  top: 5px;
  right: 0;
  width: 410px;
  height: 100%;
  object-fit: contain;
}
.area-box .location-wrap {
 width: 80%;
  background-color: #ffffff;
  border-radius: 4px;
  padding: 30px 30px 30px 300px;
  margin-left: auto;
}
.area-box .location-wrap02 {
 width: 80%;
  background-color: #ffffff;
  border-radius: 4px;
  padding: 30px 260px 30px 40px;
}
.location-point{
    display: flex;
    align-items: center;
}
.area-box .location-img {
  width: 65px;
  height: 65px;
}
.area-box .location-epx {
  width: 100%;
}
.area-box .location-epx p{
  line-height: 1.4;
}
.area-box .comment-wrap {
  padding: 40px 0px 0px;
  position: relative;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.area-box .comment-img {
  display: inline-flex;
}
.area-box .comment-wrap-ttl {
  padding: 30px;
  background-color: #e9f0f8;
  border-radius: 4px;
}
.area-box .star-wrap {
  padding-top: 30px;
}
.area-box .star-wrap-txt {
margin-bottom: 20px;
  padding: 20px 30px;
  background-color: #ffffff;
  border-radius: 4px;
}
.area-box .star-wrap-txt img{
  width: 160px;
  margin-bottom: 5px;
}
.list-wrap{
    display: flex;
    gap: 60px;
    justify-content: space-around;
}
.area-box .good-list-wrap, .bad-list-wrap {
  display: flex;
  width: 100%;
  max-width: 500px;
  align-items: center;
  justify-content: center;
  padding: 60px 0px 30px;
  position: relative;
  background-color: #ffffff;
  border-radius: 4px;
  border: 2px solid;
  border-color: #c39c58;
}
.area-box .good-list-wrap img, .bad-list-wrap img{
  width: 55px;
}
.area-box .bad-list-wrap {
  border-color: #4a78a6;
}
.area-box .good-list, .bad-list{
  line-height: 2;
}
.area-box .good-list-ttl, .bad-list-ttl {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 46px;
  font-weight: bold;
}
.good-list li, .bad-list li{
  display: flex;
  align-items: center;
  gap: 5px;
}
.good-list li:before, .bad-list li:before{
  content: "";
  display: inline-block;
  background-image: url(/lp/buy/yokohama/img/check-gold.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  padding-right: 5px;
}
.bad-list li:before {
  background-image: url(/lp/buy/yokohama/img/check-blue.svg);
}





.sec-areas .section-title{
color: var(--blue-main);
}

.reviews-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
  margin-top:8px;
}
.review-box{
  border-radius: 6px;
  padding: 18px 20px;
}
.review-box.good{ border: 2px solid var(--gold);}
.review-box.bad{border: 2px solid var(--blue-Light);}
.review-box-title{
  font-size: .875rem;
  font-weight: 700;
  margin-bottom:12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.review-box.good .review-box-title{ color: var(--gold);}
.review-box.bad .review-box-title{color: var(--blue-main);}
.review-box-title .tag-icon{
padding: 2px 8px;
border-radius: 3px;
font-size: 1.4rem;
color: #fff;
font-weight: 700;
}
.review-box.good .tag-icon{ background: var(--gold);}
.review-box.bad .tag-icon{background: var(--blue-main);}
.review-list li{
  font-size: .85rem;
  color: var(--text-body);
  padding: 4px 0 4px 22px;
  position: relative;
  line-height: 1.6;
}
.review-list li::before{
  content:'';
  position: absolute;
  left:0;top:10px;
  width: 14px;height: 14px;
  border-radius: 50%;
  border: 2px solid currentColor;
  background: #fff;
}
.review-box.good .review-list li{ color: var(--text-dark);}
.review-box.good .review-list li::before{ border-color: var(--gold);}
.review-box.bad .review-list li::before{ border-color: var(--blue-Light);}

/*--------------- PICKUP（物件） ----------------*/
.sec-pickup{
  padding: 80px 0;
  background: var(--blue-dark);
}
.sec-pickup .section-title{color: #fff;}
.sec-pickup .title-bar{background: var(--gold);}
.pickup-card{
  overflow: hidden;
  
  margin-bottom: 32px;
}
.pickup-badge{
  display: inline-flex;
  align-items: center;
  position: relative;
  background-image: linear-gradient(90deg, #bf9850 21%, #f7e3d2 100%, #8b5cf6);
  color: #1F3556;
  font-size: 2rem;
  font-weight: bold;
  padding :8px 40px 8px 20px;
  letter-spacing: .1em;
  margin-bottom: 20px;
  clip-path: polygon(0 0,100% 0, calc(100% - 16px) 50%, 100% 100%, 0 100%);
}
.pickup-badge .gold-dot{display: none;}
.pickup-inner{
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  align-items: start;
}
.pickup-name-en{
  font-family: 'Lato',sans-serif;
  font-size: 1.6rem;
  color:rgba(255,255,255,0.6);
  letter-spacing: .15em;
}
.pickup-name-ja{
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
}
.pickup-address{
  font-size: 1.4rem;
  color: rgba(255,255,255,.6);
  margin-bottom:30px;
}
.btn-entry{
  width: 400px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap:10px;
  background: var(--gold);
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 6px;
  margin-bottom: 30px;
  transition: background .2s;
  background: linear-gradient(90.21deg, #C39C58 3.25%, #EED2B8 100.47%);
  border: 2px solid #fff;
}
.btn-entry:hover{background:var(--gold-Light);color: #fff;}
.btn-entry .free-tag{
  background: #fff;
  color: var(--gold);
  font-size: 1.6rem;
  padding: 2px 8px;
  border-radius: 3px;
}
.pickup-official{
  display: block;
  font-size: 1.2rem;
  counter-reset: rgba(255,255,255,.6);
  text-decoration: underline;
  margin-bottom: 24px;
  color: #fff;
}
.access-chips{
  display: flex;
  gap:12px;
  flex-wrap: wrap;
}
.access-chip{
   background: #3A5078;
  color: #fff;
  border-radius: 4px;
  padding: 12px 5px;
  font-size: 1.2rem;
  text-align: center;
  min-width: 110px;
  width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.access-chip .big{font-size: 2rem;font-weight: 700;line-height: 1;}
.access-chip .unit{font-size: 1.8rem;}
.pickup-img{
  border-radius: 6px;
  overflow: hidden;
}
.pickup-img img{width: 100%;height: 100%;object-fit: cover;}
.pickup-specs{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap:12px;
  margin:32px 0; 
}

.spec-chip{
  background: #3A5078;
  color: #fff;
  border-radius: 4px;
  padding: 36px 5px 18px;
  text-align: center;
  font-size: 1.2rem;
}
.spec-chip .spec-icon{font-size:1.4rem;margin-bottom: 6px;}
.spec-chip .spec-val{
  font-size: 1.5rem;
  font-weight: 700;
  display: block;
  margin-bottom: 2px;
}
.spec-chip .spec-note{
  font-size: 1.4rem;
  color: rgba(255,255,255,.6);}
.outline-wrap{margin-top: 20px;}


/* アコーディオン */
.outline-toggle {
  cursor: pointer;
  color: #fff;
  font-weight: 700;
  font-size: 1.6rem;
  display: flex;
  justify-content: space-between;
  padding: 15px;
  background: #3A5078;
  border-radius: 4px 4px 0 0;
}
.chevron {
  position: relative;
}
.chevron::after {
  content: "";
      display: block;
      position: absolute;
      top: 45%;
      right: 20px;
      transform: translateY(-45%) rotate(135deg);
      width: 10px;
      height: 10px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transition: all .3s;
      z-index: 90;
}
/* 開いたら回転 */
.outline-toggle.active .chevron::after {
  transform: rotate(315deg);
}
/* 初期は閉じる */
.outline-table-wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  border-radius: 0 0 4px 4px;
}
/* 開いた状態 */
.outline-table-wrap.active {
  max-height: 2000px; /* 少し大きめに */
}
.outline-table{
  width: 100%;
  border-collapse: collapse;
}
.outline-table tr:nth-child(even) td{
  background: #334a72;
}
.outline-table td{
  padding: 12px 20px;
  font-size: 1.6rem;
  color: rgba(255,255,255,.85);
  vertical-align: top;
  background-color: rgba(255,255,255,.02);
}
.outline-table td:first-child{
  width: 14%;
  color: #fff;
  font-size: 1.6rem;
  background-color: rgba(255,255,255,.04);
}
.outline-table .link-val{color: var(--gold-Light);}



/*--------------- 関連物件 ----------------*/
.related-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap:20px;
  margin-top: 40px;
}
.related-card{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 6px;
  overflow: hidden;
}
.related-img{
  width: 100%;height: 120px;
  background: #2a4a7a;
  object-fit: cover;
}
.related-body{
  padding: 16px 8px;
   background-color: #fff;
   height: 100%;
}
.related-name{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 4px;
  color: #222;
  height: 23%;
}

.related-note{
  font-size: 1.4rem;
  color: #5D5D5D;
  padding-bottom: 13px;
}

/*--------------- VISIT ----------------*/
.sec-visit{
  padding: 60px 0;
  background: var(--gray-bg);
  margin-top: 60px;
}
.sec-visit .section-title{ color: var(--blue-dark);}
.visit-crown{
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: -8px;

}
.visit-headline{
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 60px;
  line-height: 1.6;
}
.visit-headline .blue{color: var(--blue-main);}
.visit-note-sm{
  text-align: center;
  font-size: 1.2rem;
  color: #999;
  margin-bottom: 40px;
}
.visit-steps{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap:24px;
  margin-bottom:40px;
}
.visit-step{
  text-align: center;
  background-color: #fff;
  border-radius: 4px;}
.visit-step-img{
  width: 100%;
  height: 110px;
  object-fit: cover;
  border-radius: 4px;
  background-color: #dde2ea;
  margin-bottom: 14px;
}
.step-num{
  display: inline-flex;
  width: 28px;height: 28px;
  background: var(--blue-main);
  color: #fff;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 8px;
}
.visit-step-title{
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--text-dark);
  margin-bottom: 10px;
  padding: 0 10px;
  line-height: 1.5;
}
.visit-step-title01{
  margin-bottom: 33px;
}
.visit-step-desc{
  font-size: 1.4rem;
  color:var(--text-body);
  line-height: 1.6;
  padding: 0 10px 30px;
}
.cta-block{text-align: center;}
.cta-block .btn-cta-main{
  display: flex;
  width: 400px;
  min-width: 355px;
  font-size: 1.8rem;
  padding: 15px 5px;
  border-radius: 6px;
  margin: 0 auto;
}
.visit-office{
  margin-top: 60px;
  font-size: 1.6rem;
  color: #777;
}
.sp{
  display: block;
}
.pc{
  display: none;
}




/*--------------- SP ----------------*/
@media (max-width:768px){
.inner {
    padding: 0 2%;
}
.sp{
  display: none;
}
.pc{
  display: block;
}

/*-------header -------*/
.header-cta {
    width: 200px;
    padding: 8px 0px 8px 18px;
    font-size: 1.1rem;
}


.header-cta-sp{
  display:block;
  background: var(--blue-btn);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 4px;
}
.hero-cta-note {
    font-size: 0.8rem;
}
.hero-cta-label {
    font-size: 1.2rem;
}

/*-------hero -------*/
.sec-bg{
  position:absolute;
  inset:0;
  background: #1a3c6e url('/lp/buy/yokohama/img/mv-sp.jpg') center/cover no-repeat;
}
.sec-hero{min-height: auto;padding-top: 80px;}
.hero-inner .inner{
  padding-top: 40px;
  padding-bottom: 160px;
  width: 100%;}
  .hero-sub {
    margin-bottom: 50px;
}
.hero-title{font-size: 2.4rem;}
.hero-sub{font-size: 1.8rem;}
.hero-badges{flex-direction: column;gap:15px;}

.hero-badge{
  font-size: 1.5rem;
        padding: 8px 12px 8px 40px;
}
.hero-badges .fade-up{
  opacity: 0;
  transform: translateY(20px);
  animation: fadeup 0.8s ease forwards;}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero-badge::before {
    margin: 5px 0 0 0;
    position: absolute;
    top: 12%;
    left: 3%;
}
.hero-cta-box{
  position: fixed;
  bottom: 0;
  left:0;
  right:0;
  min-width: auto;
  width: 100%;
  border-radius: inherit;
  padding: 5px 0;
}
.hero-cta-label {
    margin-bottom: 4px;
}
.btn-cta-main {
    width: 355px;
    margin: 0 auto;
}
/*-------reasons-------*/
.sec-reasons {
    padding: 60px 0;
}
.section-sub-title {
    font-size: 1.6rem;
    line-height: 1.6;
}
.reason-title {
    font-size: 1.8rem;
}
.reason-sub {
    font-size: 1.4rem;
}
.reasons-grid{grid-template-columns: 1fr;gap:20px;}
.sec-reasons::after{
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 28px solid var(--blue-main);
  bottom:-28px;
}
.bar-label {
    color: #333;
}

/*-------price-------*/
.sec-price {
    padding: 60px 0;
}
.sec-support {
    padding: 60px 0;
}
.sec-trend {
    padding: 60px 0;
}
.trend-chart-wrap {
    padding: 10px 0;
    border-radius: 6px;
}
.chart-title {
    font-size: 1.8rem;
}
.chart-sub-word .chart-sub-word-tonai, .chart-sub-word .chart-sub-word-yokohama {
    font-size: 1.6rem;
}
/*-------chart-------*/
.chart-wrap{padding: 20px 16px;}
.bar-label{width: 56px;font-size: 1.4rem;}
.section-lead {
    margin-bottom: 20px;
}
.price-text {
    font-size: 1.4rem;
}
.sec-trend p {
    font-size: 1.4rem;
}
.large {
    font-size: 2rem;
}
.sm-20{
font-size: 1.7rem;
}
.small{
  font-size: 1.6rem;
}
.xsmall{
  font-size: 1.4rem;
}
/*-------support table-------*/
.table-scroll {
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.support-table th, .support-table td{font-size: .78rem;padding: 10px 12px;min-width: 120px;}

/*-------section titlles-------*/
.section-title{font-size: 2.2rem;}

/*-------section area-------*/
.area-image ,.area-image02 {
   width: 100%; 
}
.area-image ,.area-image02{
    position: inherit;
    padding-bottom: 20px;
}
.area-box .location-img {
    width: 50px;
    height: 50px;
}
.area-box .area-wrap {
    display: block;
    margin: 0 auto;
    align-items: center;
}
.area-box .location-wrap, .area-box  .location-wrap02{
    width: 100%;
    padding: 20px 15px;
    margin:0 auto;
}

.area-box .comment-wrap-ttl {
    padding: 20px 15px;
    background-color: #e9f0f8;
    border-radius: 6px;
}
.area-box .comment-img {
    display: inline-flex;
    width: 65px;
}
.area-box .comment-wrap {
  padding: 20px 0 0;
    align-items: flex-end;
}
.area-box .location-epx p{
  line-height: 1.5;
}
.comment-shop .xsmall{
      font-size: 1.4rem;
}
.area-box .star-wrap {
    padding-top: 20px;
}
.comment-wrap-ttl .medium{
  font-size: 1.8rem;
}
.area-box .star-wrap-txt img {
   padding-bottom: 8px;
}
.area-box .star-wrap-txt {
    padding: 20px 15px;
    border-radius: 6px;
}
.list-wrap {
    display: block;
}
.area-box .good-list-wrap, .bad-list-wrap {
    display: flex;
    padding: 60px 0px 30px;
    margin: 0 auto 20px;
}
.area-box .good-list-wrap img, .bad-list-wrap img {
    width: 46px;
}
.area-box {
    margin: 0 auto;
    position: relative;
    background-color: #f7f6f3;
    padding: 40px 0;
}

/*-------pickup-------*/

.visit-step-title01{
  margin-bottom: inherit;
}
.pickup-inner{
  grid-template-columns: 1fr;
  gap:24px;
text-align: center;
}
.pickup-img{height: 330px;}
.pickup-specs{grid-template-columns: repeat(2,1fr);}
.related-grid{grid-template-columns: 1fr;}
.sec-pickup {
    padding: 60px 0;
    position: relative;
}
.pickup-card{padding: 0;}
.access-chips {
    display: flex;
    justify-content: space-around;
    gap: 10px;
    flex-wrap: nowrap;
    
}
.access-chip {
    border-radius: 6px;
    padding: 12px 8px;
    font-size: 1.2rem;
}
.spec-chip {
    border-radius: 6px;
    padding: 20px 2px 8px;
    font-size: 1.6rem;
}
.spec-chip .spec-val {
    font-size: 1.5rem;
}
.outline-table td:first-child {
    width: 28%;
}
.pickup-name-ja{
  font-size: 2rem;
}
.pickup-name-en {
    font-size: 1.4rem;
}
.pickup-address {
    font-size: 1.2rem;
}

/*-------visit-------*/
.visit-steps{grid-template-columns: repeat(2,1fr);gap:10px;}
.visit-step-title {
    margin-bottom: 0px;
    padding: 0 6px;
}
.visit-step-desc {
    font-size: 1.2rem;
    color: var(--text-body);
    line-height: 1.6;
    padding: 0 6px 18px;
}
.cta-block .btn-cta-main{min-width: auto;width: 355px;font-size: 1.6rem;}
.sec-visit {
    padding: 60px 0;
}
.related-grid {
    margin-top: 0px; 
}
.title-bar {
    margin: 0 auto 20px;
}
.visit-headline {
    margin-bottom: 30px;
}
.visit-step {
    border-radius: 6px;
}
.btn-entry {
    width: 355px;
}
.pickup-img { grid-row: 1; 
margin-top: 60px;}
.spec-sp{
  padding-top: 30px;
}
.access-chips { grid-row: 2; }
.pickup-badge {
  position: absolute;
  top: 45px;
  left: 0px;
  z-index: 999;
}
.related-img {
    height: 130px;
}
.outline-table td:first-child {
    font-size: 1.4rem;
}
.outline-table td {
    font-size: 1.4rem;
}/*-- ==========================================================
       yokohama.css
 ===============================================================--*/

 /*--------------- Reset & Base ----------------*/

 *, *::before, *::after {box-sizing: border-box; margin:0; padding:0;}
 html { font-size: 62.5%; scroll-behavior:smooth;}
 body{
  font-family: 'Noto Sans JP' , sans-serif;
  color:#333;
  background:#fff;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
 }
 img{
   max-width:100%;height:auto;display:block;
  }
.inner a{ text-decoration:none; color:inherit;}
ul,ol{ list-style:none;}


 /*--------------- css Variables ----------------*/

 :root{
  --blue-dark:#1F3A5F;
  --blue-main:#1F3A5F;
  --blue-Light:#3b82c4;
  --blue-gray: #4A78A6;
  --blue-btn:#2878d6;
  --beige:#f7f6f3;
  --gold:#c9a84c;
  --gold-Light:#e8c96a;
  --gray-bg:#F7F6F3;
  --gray-border:#dde2ea;
  --text-dark:#1a1a2e;
  --text-body:#444;
  --white:#fff;
  --red-accent:#FF6F57;
  --max-w:1100px;
 }

  /*--------------- Utility ----------------*/
  .fade-up {
  transform: translateY(40px);
  opacity: 0;
  transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
}
.fade-up.is-show {
  transform: translateY(0);
  opacity: 1;
}
 .highlight{
  color:var(--blue-gray);
  font-weight: bold;
 }
  .inner{
    max-width:var(--max-w);
    margin:0 auto;
    padding:0 40px;
  }
  .section-sub-title{
    font-family:'Noto Serif JP' ,'Lato', sans-serif;
    font-size:2rem;
    font-weight:700;
    color: #fff;
    text-align:center;
    padding-bottom:60px;
    line-height:1.4;
  }

  .section-sub-title02{
    line-height:2;
    text-decoration:underline 1px #fff;
    text-underline-offset: 4px;
    padding:60px 0 0;
  }
  .section-title{
    font-size:3rem;
    font-weight:700;
    color: #fff;
    text-align:center;
    margin-bottom:12px;
    line-height:1.4;
  }

  .section-title .lato{
    font-family:'Lato',sans-serif;
  }
  .text-gold{
    color: #C39C58;
    font-weight: bold;
  }
  .title-bar{
    width:60px;
    height:3px;
    background:var(--gold);
    margin:0 auto 60px;
    border-radius: 2px;
  }
  .section-lead{
    text-align:justify;
    font-size:1.4rem;
    color:var(--text-body);
    margin-bottom:40px;
  }

    /*--------------- HEADER ----------------*/

    .header-nav_upper{
      justify-content: space-between;
    }
    .header-cta{
      background-image: linear-gradient(90deg, #ff6f57, #ffb30d);
      color:#fff !important;
      width: 280px;
      padding:10px 0px 10px 45px;
      border-radius: 6px;
      font-size: 1.4rem;
      font-weight: 700;
      transition: background .2s, transform .15s;
    letter-spacing: .03em;
    border: 2px solid #FFF;
    position: relative;
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.35);
    }
    .header-cta:hover{ background: var(--blue-main) !important;}
    .header-cta::before {
    content: "";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 15px;
    top: 55%;
    transform: translateY(-50%) translateX(0%);
    margin: 0 auto;
    background-image: url(/lp/buy/yokohama/img/yajirusi.png);
    width: 10px;
    height: 15px;
    background-size: contain;
    background-repeat: no-repeat;
}



/*--------------- HERO ----------------*/
.sec-hero{
  position: relative;
  min-height: 80vh;
  display:flex;
  align-items: center;
  overflow: hidden;
}
.sec-bg{
  position:absolute;
  inset:0;
  background: #1a3c6e url('/lp/buy/yokohama/img/mv-pc.jpg') center/cover no-repeat;
  background-position: center bottom;
}
.sec-bg::after{
  content:'';
  position: absolute;
  inset:0;
  background: rgba(80, 160, 255, 0.3);
}
.hero-inner{
  position: relative;
  z-index: 1;
  width: 100%;
}
.hero-inner .inner{
  padding-top:0;
}
.hero-title{
  font-size:4rem;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 20px;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
  font-family: Noto Serif JP;
  text-align: center;
}
.hero-sub{
font-size: 2.4rem;
  color: rgba(255,255,255,.9);
  margin-bottom: 60px;
  font-family: Noto Serif JP;
  text-align: center;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .9);
}
.hero-badges{
  display: flex;
  gap:16px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  justify-content: space-between;
}
.hero-badge{
  position: relative;
  background: rgba(31, 58, 95, 0.7);
  color:#fff;
  padding:10px 20px;
  border-radius: 4px;
  font-size:1.4rem;
  font-weight:700;
  display:flex;
  align-items: center;
  gap:8px;
}
.hero-badge::before {
  content: "";
  font-family: "FontAwesome";
  font-weight: 400;
  background-image:url(/lp/buy/yokohama/img/top-check.png);
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* CTAボタン */

.hero-cta-box{
  width: 325px;
  position:fixed;
  bottom:80px;
  right:0;
  z-index: 9999;
  box-shadow: 2px 2px 5px #999;
}
.hero-cta-wrap{
  position: relative;
}
.hero-cta-label{
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size:1rem;
  color:#222;
  font-weight: bold;
  text-align: center;
  z-index: 9999;
  border-radius: 13px;
  background-color: #fff;
  width: 95%;
  padding: 4px 3px;
  border: 1px solid #ff6f57;
}
.btn-cta-main{
  display:flex;
  align-items: center;
  justify-content: space-evenly;
  width:100%;
  background-image: linear-gradient(90deg, #ff6f57, #ffb30d);
  color:#fff;
  text-align: center;
  font-size: 1.4rem;
  font-weight:700;
  padding:10px 0;
  border-radius: 6px;
  transition: background .2s, transform .15s;
  letter-spacing: .03em;
  border: 2px solid #FFF;
  position: relative;
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.35);
}
/* .btn-cta-main::before {
  display: inline-block;
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.5rem;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) translateX(0%);
  margin: 0 auto;
  background-image: url(/lp/buy/yokohama/img/yajirusi.png);
  width: 15px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
} */
.btn-cta-main:hover{ background: var(--blue-main) !important;transform: translateY(-2px);}
.hero-cta-note{
  font-size:0.9rem;
  color:#888;
  text-align: center;
  margin-top: 8px;
  letter-spacing: unset;
}
.btn-cta-sub{
  display: inline-block;
  background-color: #fff;
  color: #222;
  font-size: 1rem;
  font-weight: bold;
  padding: 2px 5px;
  border-radius: 4px;
}



/*--------------- REASONS 3つ ----------------*/
.sec-reasons{
  background:var(--blue-main);
  padding:80px 0;
  position:relative;
}
.sec-reasons::after{
  content:'';
  position:absolute;
  bottom: -40px;
left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  border-top: 40px solid var(--blue-main);
  z-index: 2;
}
.sec-reasons .section-title{ color:#fff;font-family: Noto Serif JP;}
.sec-reasons .title-bar{background: var(--gold);}
.reasons-grid{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap:36px;
  margin-top:48px;
}


.reason-card{
  text-align: center;
}
.reason-img{
  width: 160px;
  height:160px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 20px;
  background:#2a5a9a;
}
.reason-title{
  font-size: 2rem;
  font-weight: 700;
  color:#fff;
  line-height: 1.6;
}
.reason-sub{
  font-size: 1.6rem;
  color:rgba(255,255,255,.8);
  line-height: 1.6;
}

/*--------------- PRICE COMPARE ----------------*/
.sec-price{
  padding:100px 0 80px;
  background: var(--beige);
}
.sec-price .section-title{
color: var(--blue-main);
}
.chart-sub-word {
  display: flex;
  justify-content: center;
  padding-bottom: 20px;
}
.chart-sub-word .chart-sub-word-tonai ,.chart-sub-word .chart-sub-word-yokohama{
  display: flex;
  align-items: center;
  font-size: 2rem;
}
.chart-sub-word .chart-sub-word-tonai::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #9aa3b0;
  margin-right: 8px; /* 必要に応じて調整 */
}
.chart-sub-word .chart-sub-word-yokohama::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #4a78a6;
  margin-right: 8px; /* 必要に応じて調整 */
}

.chart-wrap{
  background: #fff;
  border: 1px solid var(--gray-border);
  border-radius: 4px;
  padding: 36px 40px;
  margin-bottom:32px;
}
.chart-title{
  font-size:2.4rem;
  font-weight: 700;
  text-align: center;
  color: var(--blue-dark);
  margin-bottom:28px;
}
.bar-chart{display:flex;flex-direction: column;gap:14px;}
.bar-row{display: flex;align-items: center;gap:16px;}
.bar-label{
  width: 80px;
  font-size: 1.6rem;
  color:#222;
  text-align: right;
  flex-shrink: 0;
  font-weight: 500;
}
.bar-track{
  flex: 1;
  background:#eef0f4;
  border-radius: 3px;
  height:32px;
  position: relative;
}
.bar-fill{
  height: 100%;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 10px;
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  transition: width 1s ease;
}
.bar-fill.gray{background:#9aa3b0;color:#fff;}
.bar-fill.blue{background:var(--blue-gray);}
.price-text{
  font-size: 1.4rem;
  color: var(--text-body);
}
.data-note{
  font-size: 1rem;
  color: #999;
  border-top: 1px solid #eee;
  padding-top: 16px;
  margin-top: 20px;
  line-height: 1.8;
}

/*--------------- SUPPORT TABLE ----------------*/
.sec-support{
  padding: 80px 0;
  background: var(--white);
}
.sec-support .section-title ,.sec-area .section-title{
  color: #1F3A5F;
}
.support-table{
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
}
.support-table th,.support-table td{
  border: 1px solid var(--gray-border);
  padding: 16px 20px;
  font-size: 1.6rem;
vertical-align: middle;
line-height: 1.7;
text-align: center;
}
.support-table thead th{
  background: #AAAAAA;
  font-weight: 700;
  text-align: center;
  font-size: 1.6rem;
  color: var(--text-dark);
}
.support-table thead th.kanagawa{
  background: var(--blue-gray);
  color: #fff;
}
.th-cat{
  background: var(--gray-bg);
  font-weight: 700;
  color: var(--text-dark);
  width: 130px;
}
.support-table .chart01{
  background-color: #E9F0F8;
}
.support-table .link-text{color:var(--blue-main);font-size: 1.6rem;
font-weight: bold;}
.support-table .note-text{font-size: 1.2rem;color: #777;}

/*--------------- AREA PRICE TREND ----------------*/
.sec-trend{
  padding: 80px 0;
  background: var(--blue-dark);
}
.sec-trend .sectiion-title{
  color:#fff;
}
.sec-trend .title-bar{ color:#fff;}
.sec-trend .section-lead{ color:rgba(255,255,255,.75);}
.trend-chart-wrap{
  background: #fff;
  border-radius: 4px;
  padding: 10px;
  margin-bottom: 32px;
}

.trend-img-placeholder{
  width:100%;
  background: #e8ecf2;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .875rem;
}
.sec-trend p{
  color: #fff;
  font-size: 1.4rem;
}
/*--------------- AREA CARDS ----------------*/
.large {
  font-size: 2.8rem;}
.small {
  font-size: 2rem; }
.sm-20 {
  font-size: 1.8rem; }
.xsmall {
  font-size: 1.6rem; }

.area-box {
  display: block;
  margin: 0 auto;
  position: relative;
  background-color: #f7f6f3;
  padding: 60px 0;
}
.area-box:nth-of-type(4) {
    margin: 0 auto 0px;
}
.area-box .area-frame {
  position: relative;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
.area-box .area-wrap {
display: flex;
justify-content: space-between;
align-items: center;
}
.area-wrap:nth-child(even) {
flex-direction: row-reverse;
justify-content: flex-start;
}

.area-image{
  position: absolute;
  top: 20px;
  left: 0;
  width: 410px;
  height: 100%;
  object-fit: contain;
}
.area-image02{
  position: absolute;
  top: 5px;
  right: 0;
  width: 410px;
  height: 100%;
  object-fit: contain;
}
.area-box .location-wrap {
 width: 80%;
  background-color: #ffffff;
  border-radius: 4px;
  padding: 30px 30px 30px 300px;
  margin-left: auto;
}
.area-box .location-wrap02 {
 width: 80%;
  background-color: #ffffff;
  border-radius: 4px;
  padding: 30px 260px 30px 40px;
}
.location-point{
    display: flex;
    align-items: center;
}
.area-box .location-img {
  width: 65px;
  height: 65px;
}
.area-box .location-epx {
  width: 100%;
}
.area-box .location-epx p{
  line-height: 1.4;
}
.area-box .comment-wrap {
  padding: 40px 0px 0px;
  position: relative;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.area-box .comment-img {
  display: inline-flex;
}
.area-box .comment-wrap-ttl {
  padding: 30px;
  background-color: #e9f0f8;
  border-radius: 4px;
}
.area-box .star-wrap {
  padding-top: 30px;
}
.area-box .star-wrap-txt {
margin-bottom: 20px;
  padding: 20px 30px;
  background-color: #ffffff;
  border-radius: 4px;
}
.area-box .star-wrap-txt img{
  width: 160px;
  margin-bottom: 5px;
}
.list-wrap{
    display: flex;
    gap: 60px;
    justify-content: space-around;
}
.area-box .good-list-wrap, .bad-list-wrap {
  display: flex;
  width: 100%;
  max-width: 500px;
  align-items: center;
  justify-content: center;
  padding: 60px 0px 30px;
  position: relative;
  background-color: #ffffff;
  border-radius: 4px;
  border: 2px solid;
  border-color: #c39c58;
}
.area-box .good-list-wrap img, .bad-list-wrap img{
  width: 55px;
}
.area-box .bad-list-wrap {
  border-color: #4a78a6;
}
.area-box .good-list, .bad-list{
  line-height: 2;
}
.area-box .good-list-ttl, .bad-list-ttl {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 46px;
  font-weight: bold;
}
.good-list li, .bad-list li{
  display: flex;
  align-items: center;
  gap: 5px;
}
.good-list li:before, .bad-list li:before{
  content: "";
  display: inline-block;
  background-image: url(/lp/buy/yokohama/img/check-gold.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  padding-right: 5px;
}
.bad-list li:before {
  background-image: url(/lp/buy/yokohama/img/check-blue.svg);
}





.sec-areas .section-title{
color: var(--blue-main);
}

.reviews-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
  margin-top:8px;
}
.review-box{
  border-radius: 6px;
  padding: 18px 20px;
}
.review-box.good{ border: 2px solid var(--gold);}
.review-box.bad{border: 2px solid var(--blue-Light);}
.review-box-title{
  font-size: .875rem;
  font-weight: 700;
  margin-bottom:12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.review-box.good .review-box-title{ color: var(--gold);}
.review-box.bad .review-box-title{color: var(--blue-main);}
.review-box-title .tag-icon{
padding: 2px 8px;
border-radius: 3px;
font-size: 1.4rem;
color: #fff;
font-weight: 700;
}
.review-box.good .tag-icon{ background: var(--gold);}
.review-box.bad .tag-icon{background: var(--blue-main);}
.review-list li{
  font-size: .85rem;
  color: var(--text-body);
  padding: 4px 0 4px 22px;
  position: relative;
  line-height: 1.6;
}
.review-list li::before{
  content:'';
  position: absolute;
  left:0;top:10px;
  width: 14px;height: 14px;
  border-radius: 50%;
  border: 2px solid currentColor;
  background: #fff;
}
.review-box.good .review-list li{ color: var(--text-dark);}
.review-box.good .review-list li::before{ border-color: var(--gold);}
.review-box.bad .review-list li::before{ border-color: var(--blue-Light);}

/*--------------- PICKUP（物件） ----------------*/
.sec-pickup{
  padding: 80px 0;
  background: var(--blue-dark);
}
.sec-pickup .section-title{color: #fff;}
.sec-pickup .title-bar{background: var(--gold);}
.pickup-card{
  overflow: hidden;
  
  margin-bottom: 32px;
}
.pickup-badge{
  display: inline-flex;
  align-items: center;
  position: relative;
  background-image: linear-gradient(90deg, #bf9850 21%, #f7e3d2 100%, #8b5cf6);
  color: #1F3556;
  font-size: 2rem;
  font-weight: bold;
  padding :8px 40px 8px 20px;
  letter-spacing: .1em;
  margin-bottom: 20px;
  clip-path: polygon(0 0,100% 0, calc(100% - 16px) 50%, 100% 100%, 0 100%);
}
.pickup-badge .gold-dot{display: none;}
.pickup-inner{
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  align-items: start;
}
.pickup-name-en{
  font-family: 'Lato',sans-serif;
  font-size: 1.6rem;
  color:rgba(255,255,255,0.6);
  letter-spacing: .15em;
}
.pickup-name-ja{
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
}
.pickup-address{
  font-size: 1.4rem;
  color: rgba(255,255,255,.6);
  margin-bottom:30px;
}
.btn-entry{
  width: 400px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap:10px;
  background: var(--gold);
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 6px;
  margin-bottom: 30px;
  transition: background .2s;
  background: linear-gradient(90.21deg, #C39C58 3.25%, #EED2B8 100.47%);
  border: 2px solid #fff;
}
.btn-entry:hover{background:var(--gold-Light);color: #fff;}
.btn-entry .free-tag{
  background: #fff;
  color: var(--gold);
  font-size: 1.6rem;
  padding: 2px 8px;
  border-radius: 3px;
}
.pickup-official{
  display: block;
  font-size: 1.2rem;
  counter-reset: rgba(255,255,255,.6);
  text-decoration: underline;
  margin-bottom: 24px;
  color: #fff;
}
.access-chips{
  display: flex;
  gap:12px;
  flex-wrap: wrap;
}
.access-chip{
   background: #3A5078;
  color: #fff;
  border-radius: 4px;
  padding: 12px 5px;
  font-size: 1.2rem;
  text-align: center;
  min-width: 110px;
  width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.access-chip .big{font-size: 2rem;font-weight: 700;line-height: 1;}
.access-chip .unit{font-size: 1.8rem;}
.pickup-img{
  border-radius: 6px;
  overflow: hidden;
}
.pickup-img img{width: 100%;height: 100%;object-fit: cover;}
.pickup-specs{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap:12px;
  margin:32px 0; 
}

.spec-chip{
  background: #3A5078;
  color: #fff;
  border-radius: 4px;
  padding: 36px 5px 18px;
  text-align: center;
  font-size: 1.2rem;
}
.spec-chip .spec-icon{font-size:1.4rem;margin-bottom: 6px;}
.spec-chip .spec-val{
  font-size: 1.5rem;
  font-weight: 700;
  display: block;
  margin-bottom: 2px;
}
.spec-chip .spec-note{
  font-size: 1.4rem;
  color: rgba(255,255,255,.6);}
.outline-wrap{margin-top: 20px;}


/* アコーディオン */
.outline-toggle {
  cursor: pointer;
  color: #fff;
  font-weight: 700;
  font-size: 1.6rem;
  display: flex;
  justify-content: space-between;
  padding: 15px;
  background: #3A5078;
  border-radius: 4px 4px 0 0;
}
.chevron {
  position: relative;
}
.chevron::after {
  content: "";
      display: block;
      position: absolute;
      top: 45%;
      right: 20px;
      transform: translateY(-45%) rotate(135deg);
      width: 10px;
      height: 10px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transition: all .3s;
      z-index: 90;
}
/* 開いたら回転 */
.outline-toggle.active .chevron::after {
  transform: rotate(315deg);
}
/* 初期は閉じる */
.outline-table-wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  border-radius: 0 0 4px 4px;
}
/* 開いた状態 */
.outline-table-wrap.active {
  max-height: 2000px; /* 少し大きめに */
}
.outline-table{
  width: 100%;
  border-collapse: collapse;
}
.outline-table tr:nth-child(even) td{
  background: #334a72;
}
.outline-table td{
  padding: 12px 20px;
  font-size: 1.6rem;
  color: rgba(255,255,255,.85);
  vertical-align: top;
  background-color: rgba(255,255,255,.02);
}
.outline-table td:first-child{
  width: 14%;
  color: #fff;
  font-size: 1.6rem;
  background-color: rgba(255,255,255,.04);
}
.outline-table .link-val{color: var(--gold-Light);}



/*--------------- 関連物件 ----------------*/
.related-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap:20px;
  margin-top: 40px;
}
.related-card{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 6px;
  overflow: hidden;
}
.related-img{
  width: 100%;height: 120px;
  background: #2a4a7a;
  object-fit: cover;
}
.related-body{
  padding: 16px 8px;
   background-color: #fff;
   height: 100%;
}
.related-name{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 4px;
  color: #222;
  height: 23%;
}

.related-note{
  font-size: 1.4rem;
  color: #5D5D5D;
  padding-bottom: 13px;
}

/*--------------- VISIT ----------------*/
.sec-visit{
  padding: 60px 0;
  background: var(--gray-bg);
  margin-top: 60px;
}
.sec-visit .section-title{ color: var(--blue-dark);}
.visit-crown{
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: -8px;

}
.visit-headline{
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 60px;
  line-height: 1.6;
}
.visit-headline .blue{color: var(--blue-main);}
.visit-note-sm{
  text-align: center;
  font-size: 1.2rem;
  color: #999;
  margin-bottom: 40px;
}
.visit-steps{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap:24px;
  margin-bottom:40px;
}
.visit-step{
  text-align: center;
  background-color: #fff;
  border-radius: 4px;}
.visit-step-img{
  width: 100%;
  height: 110px;
  object-fit: cover;
  border-radius: 4px;
  background-color: #dde2ea;
  margin-bottom: 14px;
}
.step-num{
  display: inline-flex;
  width: 28px;height: 28px;
  background: var(--blue-main);
  color: #fff;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 8px;
}
.visit-step-title{
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--text-dark);
  margin-bottom: 10px;
  padding: 0 10px;
  line-height: 1.5;
}
.visit-step-title01{
  margin-bottom: 33px;
}
.visit-step-desc{
  font-size: 1.4rem;
  color:var(--text-body);
  line-height: 1.6;
  padding: 0 10px 30px;
}
.cta-block{text-align: center;}
.cta-block .btn-cta-main{
  display: flex;
  width: 400px;
  min-width: 355px;
  font-size: 1.8rem;
  padding: 15px 5px;
  border-radius: 6px;
  margin: 0 auto;
}
.visit-office{
  margin-top: 60px;
  font-size: 1.6rem;
  color: #777;
}
.sp{
  display: block;
}
.pc{
  display: none;
}




/*--------------- SP ----------------*/
@media (max-width:768px){
.inner {
    padding: 0 2%;
}
.sp{
  display: none;
}
.pc{
  display: block;
}

/*-------header -------*/
.header-cta {
    width: 200px;
    padding: 8px 0px 8px 18px;
    font-size: 1.1rem;
}


.header-cta-sp{
  display:block;
  background: var(--blue-btn);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 4px;
}
.hero-cta-note {
    font-size: 0.8rem;
}
.hero-cta-label {
    font-size: 1.2rem;
}

/*-------hero -------*/
.sec-bg{
  position:absolute;
  inset:0;
  background: #1a3c6e url('/lp/buy/yokohama/img/mv-sp.jpg') center/cover no-repeat;
}
.sec-hero{min-height: auto;padding-top: 80px;}
.hero-inner .inner{
  padding-top: 40px;
  padding-bottom: 160px;
  width: 100%;}
  .hero-sub {
    margin-bottom: 50px;
}
.hero-title{font-size: 2.4rem;}
.hero-sub{font-size: 1.8rem;}
.hero-badges{flex-direction: column;gap:15px;}

.hero-badge{
  font-size: 1.5rem;
        padding: 8px 12px 8px 40px;
}
.hero-badges .fade-up{
  opacity: 0;
  transform: translateY(20px);
  animation: fadeup 0.8s ease forwards;}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero-badge::before {
    margin: 5px 0 0 0;
    position: absolute;
    top: 12%;
    left: 3%;
}
.hero-cta-box{
  position: fixed;
  bottom: 0;
  left:0;
  right:0;
  min-width: auto;
  width: 100%;
  border-radius: inherit;
  padding: 5px 0;
}
.hero-cta-label {
    margin-bottom: 4px;
}
.btn-cta-main {
    width: 355px;
    margin: 0 auto;
}
/*-------reasons-------*/
.sec-reasons {
    padding: 60px 0;
}
.section-sub-title {
    font-size: 1.6rem;
    line-height: 1.6;
}
.reason-title {
    font-size: 1.8rem;
}
.reason-sub {
    font-size: 1.4rem;
}
.reasons-grid{grid-template-columns: 1fr;gap:20px;}
.sec-reasons::after{
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 28px solid var(--blue-main);
  bottom:-28px;
}
.bar-label {
    color: #333;
}

/*-------price-------*/
.sec-price {
    padding: 60px 0;
}
.sec-support {
    padding: 60px 0;
}
.sec-trend {
    padding: 60px 0;
}
.trend-chart-wrap {
    padding: 10px 0;
    border-radius: 6px;
}
.chart-title {
    font-size: 1.8rem;
}
.chart-sub-word .chart-sub-word-tonai, .chart-sub-word .chart-sub-word-yokohama {
    font-size: 1.6rem;
}
/*-------chart-------*/
.chart-wrap{padding: 20px 16px;}
.bar-label{width: 56px;font-size: 1.4rem;}
.section-lead {
    margin-bottom: 20px;
}
.price-text {
    font-size: 1.4rem;
}
.sec-trend p {
    font-size: 1.4rem;
}
.large {
    font-size: 2rem;
}
.sm-20{
font-size: 1.7rem;
}
.small{
  font-size: 1.6rem;
}
.xsmall{
  font-size: 1.4rem;
}
/*-------support table-------*/
.table-scroll {
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.support-table th, .support-table td{font-size: .78rem;padding: 10px 12px;min-width: 120px;}

/*-------section titlles-------*/
.section-title{font-size: 2.2rem;}

/*-------section area-------*/
.area-image ,.area-image02 {
   width: 100%; 
}
.area-image ,.area-image02{
    position: inherit;
    padding-bottom: 20px;
}
.area-box .location-img {
    width: 50px;
    height: 50px;
}
.area-box .area-wrap {
    display: block;
    margin: 0 auto;
    align-items: center;
}
.area-box .location-wrap, .area-box  .location-wrap02{
    width: 100%;
    padding: 20px 15px;
    margin:0 auto;
}

.area-box .comment-wrap-ttl {
    padding: 20px 15px;
    background-color: #e9f0f8;
    border-radius: 6px;
}
.area-box .comment-img {
    display: inline-flex;
    width: 65px;
}
.area-box .comment-wrap {
  padding: 20px 0 0;
    align-items: flex-end;
}
.area-box .location-epx p{
  line-height: 1.5;
}
.comment-shop .xsmall{
      font-size: 1.4rem;
}
.area-box .star-wrap {
    padding-top: 20px;
}
.comment-wrap-ttl .medium{
  font-size: 1.8rem;
}
.area-box .star-wrap-txt img {
   padding-bottom: 8px;
}
.area-box .star-wrap-txt {
    padding: 20px 15px;
    border-radius: 6px;
}
.list-wrap {
    display: block;
}
.area-box .good-list-wrap, .bad-list-wrap {
    display: flex;
    padding: 60px 0px 30px;
    margin: 0 auto 20px;
}
.area-box .good-list-wrap img, .bad-list-wrap img {
    width: 46px;
}
.area-box {
    margin: 0 auto;
    position: relative;
    background-color: #f7f6f3;
    padding: 40px 0;
}

/*-------pickup-------*/

.visit-step-title01{
  margin-bottom: inherit;
}
.pickup-inner{
  grid-template-columns: 1fr;
  gap:24px;
text-align: center;
}
.pickup-img{height: 330px;}
.pickup-specs{grid-template-columns: repeat(2,1fr);}
.related-grid{grid-template-columns: 1fr;}
.sec-pickup {
    padding: 60px 0;
    position: relative;
}
.pickup-card{padding: 0;}
.access-chips {
    display: flex;
    justify-content: space-around;
    gap: 10px;
    flex-wrap: nowrap;
    
}
.access-chip {
    border-radius: 6px;
    padding: 12px 8px;
    font-size: 1.2rem;
}
.spec-chip {
    border-radius: 6px;
    padding: 20px 2px 8px;
    font-size: 1.6rem;
}
.spec-chip .spec-val {
    font-size: 1.5rem;
}
.outline-table td:first-child {
    width: 28%;
}
.pickup-name-ja{
  font-size: 2rem;
}
.pickup-name-en {
    font-size: 1.4rem;
}
.pickup-address {
    font-size: 1.2rem;
}

/*-------visit-------*/
.visit-steps{grid-template-columns: repeat(2,1fr);gap:10px;}
.visit-step-title {
    margin-bottom: 0px;
    padding: 0 6px;
}
.visit-step-desc {
    font-size: 1.2rem;
    color: var(--text-body);
    line-height: 1.6;
    padding: 0 6px 18px;
}
.cta-block .btn-cta-main{min-width: auto;width: 355px;font-size: 1.6rem;}
.sec-visit {
    padding: 60px 0;
}
.related-grid {
    margin-top: 0px; 
}
.title-bar {
    margin: 0 auto 20px;
}
.visit-headline {
    margin-bottom: 30px;
}
.visit-step {
    border-radius: 6px;
}
.btn-entry {
    width: 355px;
}
.pickup-img { grid-row: 1; 
margin-top: 60px;}
.spec-sp{
  padding-top: 30px;
}
.access-chips { grid-row: 2; }
.pickup-badge {
  position: absolute;
  top: 45px;
  left: 0px;
  z-index: 999;
}
.related-img {
    height: 130px;
}
.outline-table td:first-child {
    font-size: 1.4rem;
}
.outline-table td {
    font-size: 1.4rem;
}
.visit-office {
    font-size: 1.4rem;
    line-height: 1.5;
}
.related-name {
    height: auto;
}



}


.visit-office {
    font-size: 1.4rem;
    line-height: 1.5;
}
.related-name {
    height: auto;
}



}


