@media screen and (min-width: 1920px){
  .sp{
    display: none !important;
  }
}
/* ===================================
access
=================================== */
.access .page-tit {
  background: url("../img/access/page-tit-bg.jpg") no-repeat center center;
  background-size: cover;
  height: 70rem;
}
.access-intro-sec {
  background: url("../img/access/catch-bg.jpg") no-repeat top center;
  background-size: cover;
  width: 100%;
  padding: 10rem 0 8rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.access-intro-sec h2 {
  font-size: 2.2rem;
  text-align: center;
  color: #fff;
  margin-bottom: 3rem;
  letter-spacing: .2em;
  line-height: 1.818;
}
.access-intro-sec p {
  font-size: 1.2rem;
  text-align: center;
  color: #fff;
  letter-spacing: .2em;
  line-height: 2.5;
}

.access-top-sec{
  width: 100%;
  padding: 12rem 0 8rem;
}
.access-top-sec .access-sec-title{
  display: block;
  text-align: center;
  line-height: 1.666;
  font-size: 3rem;
}
.access-top-sec .access-top-wrap{
  width: 100%;
  margin-top: 4rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.access-top-sec .access-top-detail{
  width: calc(100% - 51.04%);
  padding-right: 3.2rem;
}
.access-top-sec .access-top-detail-list{
  margin-top: 2.2rem;
}
.access-top-sec .access-top-detail-line{
  font-size: 1.6rem;
  line-height: 1;
}
.access-top-sec .access-top-detail-station{
  font-size: clamp(10px, 3.6rem, 32px);
  line-height: 0.5;
  margin-left: -.6em;
}
.access-top-sec .access-top-detail-station span{
  color: #6e2855;
  font-size: clamp(10px, 6.6rem, 66px);
}
.access-top-sec .access-top-detail-station span.f-small{
  color: #000;
  font-size: 1rem;
}
.access-top-sec .access-top-detail-list:first-of-type{
  margin-top: 0;
}
.access-top-sec .access-top-detail-imgs{
  width: 100%;
  padding-right: 3.2rem;
  margin-top: 3.2rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.access-top-sec .access-top-detail-imgs figure{
  width: calc(50% - 1.1rem);
}
.access-top-sec .access-top-detail-imgs figure figcaption{
  display: block;
  font-size: 1rem;
  margin-top: .25rem;
  line-height: 1.25;
}
.access-top-sec .access-top-map{
  width: 51.04%;
}

.access-list-sec.sec-osaka{
  position: relative;
  width: 100%;
  background: #edebed;
  padding: 10rem 4.62% 8rem 0;
}
.access-list-sec .access-list-tit{
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.access-list-sec .access-list-tit span{
  display: block;
}
.access-list-sec .access-list-tit-ja{
  font-size: 12rem;
  line-height: 1;
}
.access-list-sec .access-list-tit-en{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 8rem;
  line-height: 1;
}
.access-list-sec.sec-osaka .access-list-tit{
  position: absolute;
  top: 0;
  right: 7.69%;
  color: #fff;
  z-index: 1;
}
.access-list-sec.sec-kyoto{
  position: relative;
  width: 100%;
  padding: 10rem 0 8rem 4.62%;
  display: flex;
  justify-content: flex-end;
}
.access-list-sec.sec-kyoto .access-list-tit{
  position: absolute;
  top: 0;
  left: 7.69%;
  color: #edebed;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
}
.access-list-sec .access-list-wrap{
  width: 100%;
  max-width: 86.92%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-end;
}
.access-list-sec.sec-kyoto .access-list-wrap{
  flex-direction: row-reverse;
}
.access-list-sec .access-list-wrap .access-list-thumb{
  position: relative;
  z-index: 2;
  width: calc(53.1% - 1.4rem);
}
.access-list-sec .access-list-wrap .access-list-thumb figure figcaption{
  display: block;
  text-align: right;
  font-size: 1rem;
  margin-top: .25rem;
  line-height: 1.25;
}
.access-list-sec.sec-kyoto .access-list-wrap .access-list-thumb figure figcaption{
  padding-right: 1.5rem;
}
.access-list-sec .access-list-wrap .access-list-text{
  position: relative;
  z-index: 2;
  width: calc(100% - 53.1% + 1.4rem);
  padding-left: 7.6rem;
}
.access-list-sec .access-list-wrap .access-list-text-tit{
  margin-top: 3.5rem;
  font-size: 2rem;
}
.access-list-sec .access-list-wrap .access-list-text-lead{
  margin-top: 1.5rem;
  font-size: 1.2rem;
  line-height: 1.666;
}
.access-list-sec .access-list-text-detail{
  width: 100%;
  margin-top: 2.2rem;
}
.access-list-sec .access-list-text-detail-line{
  font-size: 1rem;
  line-height: 1;
}
.access-list-sec .access-list-text-detail-station{
  font-size: 3rem;
  line-height: 0.8;
  margin-left: -.6em;
}
.access-list-sec .access-list-text-detail-station.express{
  font-size: 2.4rem;
}
.access-list-sec .access-list-text-detail-station span{
  color: #6e2855;
  font-size: 4.4rem;
}
.access-list-sec .access-list-text-detail-station.express span{
  font-size: 3.8rem;
}
.access-list-sec .access-list-text-detail-station span.f-small{
  color: #000;
  font-size: 1rem;
}
.access-list-sec .access-list-text-detail:first-of-type{
  margin-top: 0;
}
.access-list-sec .access-list-imgs{
  width: 100%;
  margin-top: 2rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.access-list-sec .access-list-imgs figure{
  width: calc(50% - 1.5rem);
}
.access-list-sec .access-list-imgs figure figcaption{
  display: block;
  text-align: right;
  font-size: 1rem;
  margin-top: .25rem;
  line-height: 1.25;
}
.access-list-sec.sec-kyoto .access-list-wrap .access-list-text{
  width: calc(100% - 53.1%);
  padding-left: 0;
  padding-right: 5.6rem;
}
.access-sub-sec .access-list-wrap .access-list-text-tit{
  margin-top: 3.5rem;
  font-size: 2rem;
}
.access-sub-sec .access-list-wrap .access-list-text-lead{
  margin-top: 1.5rem;
  font-size: 1.2rem;
  line-height: 1.666;
}
.access-sub-sec .access-sub-list-text-detail{
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: 2.2rem;
}
.access-sub-sec .access-sub-list-text-detail-line{
  font-size: 1rem;
  line-height: 1;
}
.access-sub-sec .access-sub-list-text-detail-station{
  font-size: 3rem;
  line-height: 0.8;
  margin-left: -.6em;
}
.access-sub-sec .access-sub-list-text-detail-station span{
  color: #6e2855;
  font-size: 4.4rem;
}
.access-sub-sec .access-sub-list-text-detail-station span.f-small{
  color: #000;
  font-size: 1rem;
}
.access-sub-sec .access-sub-list-text-detail:first-of-type{
  margin-top: 0;
}

.access-sub-sec{
  width: 100%;
  background: #edebed;
  padding: 10rem 0 12rem;
}
.access-sub-sec .access-sub-wrap{
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.access-sub-sec .access-sub-list-thumb{
  width: 100%;
}
.access-sub-sec .access-sub-list{
  position: relative;
  width: calc(50% - 5rem);
}
.access-sub-sec .access-sub-list:nth-child(odd){
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.access-sub-sec .access-sub-list figure figcaption{
  display: block;
  text-align: right;
  font-size: 1rem;
  margin-top: .25rem;
  line-height: 1.25;
}
.access-sub-sec .access-sub-list:nth-child(2n) .access-sub-list-thumb figure figcaption{
  padding-right: 1.5rem;
}
.access-sub-sec .access-sub-list-imgs{
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 71.67%;
  margin-top: 3.5rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.access-sub-sec .access-sub-list-imgs figure{
  width: calc(50% - 1.5rem);
}
.access-sub-sec .access-sub-list-text{
  position: relative;
  z-index: 2;
  margin-top: 3.5rem;
}
.access-sub-sec .access-sub-list:nth-child(odd) .access-sub-list-text{
  max-width: 71.67%;
}
.access-sub-sec .access-sub-list:nth-child(odd) .access-sub-list-text .access-sub-list-imgs{
  max-width: 100%;
}

.access-sub-sec .access-sub-list-tit{
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.access-sub-sec .access-sub-list-tit span{
  display: block;
}
.access-sub-sec .access-sub-list-tit .access-sub-list-tit-ja{
  font-size: 12rem;
  line-height: 1;
}
.access-sub-sec .access-sub-list-tit .access-sub-list-tit-en{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 8rem;
  line-height: 1;
}
.access-sub-sec .access-sub-list:nth-child(odd) .access-sub-list-text .access-sub-list-tit{
  position: absolute;
  top: -5.5rem;
  left: calc(7.69% - ((100% - 71.67%) / 1.2));
  color: #fff;
  z-index: 1;
}
.access-sub-sec .access-sub-list:nth-child(even) .access-sub-list-text .access-sub-list-tit{
  position: absolute;
  top: -5.5rem;
  right: 7.69%;
  color: #fff;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
}
.access-sub-sec .access-sub-list .access-sub-list-text-tit{
  position: relative;
  z-index: 2;
  margin-top: 3.5rem;
  font-size: 2rem;
}

.access-bottom-sec{
  width: 100%;
}
.access-bottom-sec .access-bottom-main figcaption{
  display: block;
  text-align: right;
  font-size: 1rem;
  margin-top: .25rem;
  padding-right: 1.5rem;
  line-height: 1.25;
}
.access-bottom-sec .access-bottom-title{
  display: block;
  text-align: center;
  line-height: 1.666;
  font-size: 3rem;
  margin-top: 5rem;
}
.access-bottom-sec .access-bottom-title span.access-bottom-title-sub{
  position: relative;
  display: block;
  text-align: center;
  font-size: 2rem;
  padding: 2rem 0;
  line-height: 1.2;
}
.access-bottom-sec .access-bottom-title span.access-bottom-title-sub:after{
  content: '';
  display: inline-block;
  width: 6rem;
  height: 6rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/access/ico-sakura.svg) no-repeat;
  background-size: 100%;
}
.access-bottom-sec .access-bottom-lead{
  display: block;
  text-align: center;
  line-height: 1.666;
  font-size: 1.2rem;
  margin-top: 4rem;
}
.access-bottom-sec .access-bottom-wrap{
  width: 100%;
  margin-top: 4.5rem;
  padding-bottom: 8rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-end;
}
.access-bottom-sec .access-bottom-detail{
  width: calc(100% - 55.58%);
  padding-right: 3.2rem;
}
.access-bottom-sec .access-bottom-detail-list{
  margin-top: 2.2rem;
}
.access-bottom-sec .access-bottom-detail-line{
  font-size: 1.6rem;
  line-height: 1;
}
.access-bottom-sec .access-bottom-detail-station{
  font-size: clamp(10px, 3.6rem, 26px);
  line-height: 0.5;
}
.access-bottom-sec .access-bottom-detail-station span{
  color: #6e2855;
  font-size: clamp(10px, 6.6rem, 56px);
}
.access-bottom-sec .access-bottom-detail-station span.f-small{
  color: #000;
  font-size: 1rem;
}
.access-bottom-sec .access-bottom-detail-list:first-of-type{
  margin-top: 0;
}
.access-bottom-sec .access-bottom-detail-img{
  width: 100%;
  margin-top: 3rem;
}
.access-bottom-sec .access-bottom-detail-img figure{
  width: 100%;
}
.access-bottom-sec .access-bottom-detail-img figure figcaption{
  display: block;
  text-align: right;
  font-size: 1rem;
  margin-bottom: 1rem;
  line-height: 1.25;
}
.access-bottom-sec .access-bottom-map{
  position: relative;
  width: 55.58%;
}
.access-bottom-sec .access-bottom-map figcaption{
  display: block;
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 1rem;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .access .page-tit{
    background: url("../img/access/page-tit-bg_sp.jpg") no-repeat center center;
    background-size: cover;
    height: auto;
    aspect-ratio: 1 / 2;
  }
  .access-intro-sec {
    padding: 12rem 0;
  }
  .access-intro-sec h2 {
    font-size: 4.4rem;
    margin-bottom: 3rem;
    letter-spacing: 0;
  }
  .access-intro-sec p {
    font-size: 2.4rem;
    text-align: left;
    padding: 0 5%;
    letter-spacing: 0;
  }

  .access-top-sec{
    padding: 13.5rem 0 10rem;
  }
  .access-top-sec .wrap{
    max-width: 100%;
    padding: 0 2.5rem;
  }
  .access-top-sec .access-sec-title{
    font-size: 4.8rem;
  }
  .access-top-sec .access-top-wrap{
    margin-top: 15rem;
  }
  .access-top-sec .access-top-detail{
    width: 100%;
    padding-right: 0;
  }
  .access-top-sec .access-top-detail-list{
    margin-top: 4rem;
  }
  .access-top-sec .access-top-detail-line{
    font-size: 2.2rem;
    line-height: 1;
  }
  .access-top-sec .access-top-detail-station{
    font-size: 5.2rem;
  }
  .access-top-sec .access-top-detail-station span{
    font-size: 9.2rem;
  }
  .access-top-sec .access-top-detail-station span.f-small{
    color: #000;
    font-size: 1.4rem;
  }
  .access-top-sec .access-top-detail-imgs{
    width: 100%;
    padding-right: 0;
    margin-top: 6rem;
  }
  .access-top-sec .access-top-detail-imgs figure{
    width: calc(50% - 2.5rem);
  }
  .access-top-sec .access-top-detail-imgs figure figcaption{
    font-size: 1.6rem;
    margin-top: .8rem;
  }
  .access-top-sec .access-top-map{
    width: 100%;
    margin-top: 7rem;
  }
  
  .access-list-sec.sec-osaka{
    padding: 18rem 0 12rem;
  }
  .access-list-sec .access-list-tit-ja{
    font-size: 17.6rem;
  }
  .access-list-sec .access-list-tit-en{
    font-size: 11.6rem;
  }
  .access-list-sec.sec-osaka .access-list-tit{
    z-index: 3;
    top: 7rem;
    right: unset;
    left: 4rem;
  }
  .access-list-sec.sec-kyoto{
    padding: 18rem 0 12rem;
    display: block;
  }
  .access-list-sec.sec-kyoto .access-list-tit{
    z-index: 3;
    top: 7rem;
    left: unset;
    right: 4rem;
  }
  .access-list-sec .access-list-wrap{
    width: 100%;
    max-width: 100%;
  }
  .access-list-sec.sec-kyoto .access-list-wrap{
    flex-direction: row-reverse;
  }
  .access-list-sec .access-list-wrap .access-list-thumb{
    width: 100%;
  }
  .access-list-sec .access-list-wrap .access-list-thumb figure figcaption{
    font-size: 1.6rem;
    margin-top: .8rem;
    padding-right: 2.5rem;
  }
  .access-list-sec.sec-kyoto .access-list-wrap .access-list-thumb figure figcaption{
    padding-right: 2.5rem;
  }
  .access-list-sec .access-list-wrap .access-list-text{
    width: 100%;
    padding: 0 2.5rem;
    margin-top: 6.4rem;
  }
  .access-list-sec .access-list-wrap .access-list-text-tit{
    margin-top: 7rem;
    font-size: 4rem;
    line-height: 1.2;
  }
  .access-list-sec .access-list-wrap .access-list-text-lead{
    margin-top: 7rem;
    font-size: 2.4rem;
  }
  .access-list-sec .access-list-text-detail{
    width: 100%;
    margin-top: 5rem;
  }
  .access-list-sec .access-list-text-detail-line{
    font-size: 1.8rem;
  }
  .access-list-sec .access-list-text-detail-station{
    font-size: 5.4rem;
  }
  .access-list-sec .access-list-text-detail-station.express{
    font-size: 4.2rem;
  }
  .access-list-sec .access-list-text-detail-station span{
    font-size: clamp(10px, 7.4rem, 74px);
  }
  .access-list-sec .access-list-text-detail-station.express span{
    font-size: clamp(10px, 6.2rem, 62px);
  }
  .access-list-sec .access-list-text-detail-station span.f-small{
    font-size: 1.8rem;
  }
  .access-list-sec .access-list-imgs{
    width: 100%;
    margin-top: 4rem;
  }
  .access-list-sec .access-list-imgs figure{
    width: calc(50% - 2.2rem);
  }
  .access-list-sec .access-list-imgs figure figcaption{
    font-size: 1.6rem;
    margin-top: .8rem;
  }
  .access-list-sec.sec-kyoto .access-list-wrap .access-list-text{
    width: 100%;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .access-sub-sec .access-list-wrap .access-list-text-tit{
    margin-top: 7rem;
    font-size: 4rem;
  }
  .access-sub-sec .access-list-wrap .access-list-text-lead{
    margin-top: 3rem;
    font-size: 2.4rem;
  }
  .access-sub-sec .access-sub-list-text-detail{
    margin-top: 5rem;
  }
  .access-sub-sec .access-sub-list-text-detail-line{
    font-size: 1.8rem;
  }
  .access-sub-sec .access-sub-list-text-detail-station{
    font-size: 6rem;
  }
  .access-sub-sec .access-sub-list-text-detail-station span{
    font-size: clamp(10px, 8.4rem, 74px);
  }
  .access-sub-sec .access-sub-list-text-detail-station span.f-small{
    font-size: 1.8rem;
  }
  
  .access-sub-sec{
    padding: 18rem 0 12rem;
  }
  .access-sub-sec .access-sub-list-thumb{
    width: 100%;
  }
  .access-sub-sec .access-sub-list{
    position: relative;
    width: 100%;
    margin-top: 12rem;
  }
  .access-sub-sec .access-sub-list:first-of-type{
    margin-top: 0;
  }
  .access-sub-sec .access-sub-list .access-sub-list-thumb figure figcaption{
    font-size: 1.6rem;
    margin-top: .8rem;
    padding-right: 2.5rem;
  }
  .access-sub-sec .access-sub-list figure figcaption{
    font-size: 1.6rem;
    margin-top: .8rem;
  }
  .access-sub-sec .access-sub-list:nth-child(2n) figure figcaption{
    padding-right: 1.5rem;
  }
  .access-sub-sec .access-sub-list-imgs{
    max-width: 100%;
    margin-top: 5rem;
  }
  .access-sub-sec .access-sub-list-imgs figure{
    width: calc(50% - 2.2rem);
  }
  .access-sub-sec .access-sub-list-text{
    position: unset;
    margin-top: 6rem;
    padding: 0 2.5rem;
  }
  .access-sub-sec .access-sub-list:nth-child(odd) .access-sub-list-text{
    max-width: 100%;
  }
  .access-sub-sec .access-sub-list-tit .access-sub-list-tit-ja{
    font-size: 17.6rem;
  }
  .access-sub-sec .access-sub-list-tit .access-sub-list-tit-en{
    font-size: 11.6rem;
  }
  .access-sub-sec .access-sub-list:nth-child(odd) .access-sub-list-text .access-sub-list-tit{
    top: -7rem;
    left: 3rem;
  }
  .access-sub-sec .access-sub-list:nth-child(even) .access-sub-list-text .access-sub-list-tit{
    top: -7rem;
    left: 3rem;
    right: unset;
  }
  .access-sub-sec .access-sub-list .access-sub-list-text-tit{
    margin-top: 7rem;
    font-size: 4rem;
    line-height: 1.2;
  }
  
  .access-bottom-sec{
    padding: 0 0 4rem;
  }
  .access-bottom-sec .access-bottom-main figcaption{
    font-size: 1.6rem;
    margin-top: .8rem;
    padding-right: 2.5rem;
  }
  .access-bottom-sec .wrap{
    max-width: 100%;
    padding: 0 2.5rem;
  }
  .access-bottom-sec .access-bottom-title{
    line-height: 1.4;
    font-size: 4.4rem;
    margin-top: 6rem;
  }
  .access-bottom-sec .access-bottom-title span.access-bottom-title-sub{
    font-size: 4rem;
    padding: 4rem 0;
  }
  .access-bottom-sec .access-bottom-title span.access-bottom-title-sub:after{
    width: 12rem;
    height: 12rem;
  }
  .access-bottom-sec .access-bottom-lead{
    font-size: 2.4rem;
    margin-top: 7rem;
    text-align: left;
  }
  .access-bottom-sec .access-bottom-wrap{
    margin-top: 5rem;
    padding-bottom: 9rem;
  }
  .access-bottom-sec .access-bottom-detail{
    width: 100%;
    padding-right: 0;
  }
  .access-bottom-sec .access-bottom-detail-list{
    margin-top: 2.5rem;
  }
  .access-bottom-sec .access-bottom-detail-station{
    font-size: 4.6rem;
  }
  .access-bottom-sec .access-bottom-detail-station span{
    font-size: clamp(10px, 6.6rem, 66px);
  }
  .access-bottom-sec .access-bottom-detail-station span.f-small{
    font-size: 1.6rem;
  }
  .access-bottom-sec .access-bottom-detail-img{
    margin-top: 5rem;
  }
  .access-bottom-sec .access-bottom-detail-img figure{
    width: 100%;
  }
  .access-bottom-sec .access-bottom-detail-img figure figcaption{
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
  }
  .access-bottom-sec .access-bottom-map{
    width: 100%;
    margin-top: 9rem;
  }
  .access-bottom-sec .access-bottom-map figcaption{
    font-size: 1.6rem;
  }
}


/* ===================================
value
=================================== */
.value .page-tit {
  background: url("../img/value/page-tit-bg.jpg") no-repeat center center;
  background-size: cover;
  aspect-ratio: 13 / 10;
}
.value .page-tit .wrap{
  top: 12rem;
  transform: translate(-50%, 0);
}
.value-col-bg {
  background: url("../img/value/catch-bg.jpg") repeat top center;
  background-size: 100%;
  width: 100%;
  padding: 0 0 8rem;
}
.value-col-sec{
  width: 100%;
  padding: 17.4rem 0 0;
}
.value-col-sec h2{
  display: block;
  text-align: center;
  font-size: 3rem;
  line-height: 1.66;
  color: #fff;
}
.value-col-wrap,
.value-plan-wrap{
  width: 100%;
  padding-left: 13.08%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-top: 10rem;
}
.value-col-wrap.flex-start{
  align-items: flex-start;
}
.value-col-wrap.reverse{
  flex-direction: row-reverse;
  padding-left: 0;
  padding-right: 13.08%;
}
.value-col-wrap:first-of-type{
  margin-top: 15.5rem;
}
.value-col-wrap .value-col-text,
.value-plan-wrap .value-plan-text{
  width: calc(100% - 52.1%);
  padding-right: 4.2rem;
}
.value-col-wrap.reverse .value-col-text{
  padding-right: 0;
  padding-left: 4.2rem;
}
.value-col-wrap .value-col-text h3,
.value-plan-wrap .value-plan-text h3{
  font-size: 3rem;
  line-height: 1.56;
  color: #fff;
}
.value-col-wrap .value-col-text p,
.value-plan-wrap .value-plan-text p{
  font-size: 1.2rem;
  line-height: 1.66;
  color: #fff;
  margin-top: 3rem;
}
.value-plan-wrap .value-plan-text p{
  margin-top: 2.8rem;
}
.value-col-wrap .value-col-text .value-col-imgs,
.value-plan-wrap .value-plan-text .value-plan-imgs{
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.value-plan-wrap .value-plan-imgs{
  display: none;
}
.value-col-wrap .value-col-text .value-col-imgs figure,
.value-plan-wrap .value-plan-text .value-plan-imgs figure{
  width: calc(50% - 1.5rem);
  margin-top: 4.15rem;
}
.value-col-wrap .value-col-text .value-col-imgs figure figcaption,
.value-plan-wrap .value-plan-text .value-plan-imgs figure figcaption{
  font-size: 1rem;
  margin-top: .25rem;
  color: #fff;
  line-height: 1.2;
}
.value-col-wrap .value-col-text .value-col-imgs figure figcaption.txt-center,
.value-plan-wrap .value-plan-text .value-plan-imgs figure figcaption{
  text-align: center;
}
.value-col-wrap .value-col-thumb,
.value-plan-wrap .value-plan-thumb{
  width: 52.1%;
}
.value-col-wrap .value-col-thumb figcaption,
.value-plan-wrap .value-plan-thumb figcaption{
  font-size: 1rem;
  margin-top: .25rem;
  color: #fff;
  line-height: 1.2;
}
.value-col-wrap .value-col-thumb figcaption.txt-right{
  text-align: right;
}
.value-col-sec .value-col-cap{
  width: calc(100% - 26.16%);
  margin: 1rem auto 0;
  display: block;
  font-size: clamp(10px, .7rem, 16px);
  line-height: 1.66;
  color: #fff;
}
.value-col-sec .value-col-border{
  width: 100%;
  height: 1px;
  margin: 5rem auto 0;
  background: #fff;
}
.value-plan-sec{
  width: 100%;
  padding: 10rem 0 0;
}
.value-plan-sec .value-plan-main{
  width: 100%;
}
.value-plan-sec .value-plan-main h2{
  display: block;
  text-align: center;
  font-size: 3rem;
  line-height: 1.66;
  color: #fff;
}
.value-plan-sec .value-plan-main p{
  display: block;
  text-align: center;
  font-size: clamp(1rem, 1.2rem, 2rem);
  line-height: 1.66;
  color: #fff;
  margin-top: 3rem;
}
.value-plan-sec .value-plan-main .value-plan-main-imgs{
  width: 100%;
  margin: 4rem auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  align-items: flex-end;
}
.value-plan-sec .value-plan-main .value-plan-main-imgs figure{
  position: relative;
  width: 22.71%;
}
.value-plan-sec .value-plan-main .value-plan-main-imgs figure:nth-child(2){
  width: 54.58%;
  padding: 0 3.8rem 0 6.2rem;
}
.value-plan-sec .value-plan-main .value-plan-main-imgs figure figcaption{
  font-size: 1rem;
  margin-top: .25rem;
  color: #fff;
  line-height: 1.2;
  text-align: center;
}
.value-plan-sec .value-plan-main .value-plan-main-imgs figure:nth-child(2) figcaption{
  position: absolute;
  bottom: 1rem;
  right: 3.8rem;
}

.value-trend-sec{
  width: 100%;
  padding: 10rem 4rem 0;
  margin-bottom: 7.5rem;
}
.value-trend-sec .value-trend-box{
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 5rem 5rem 2rem;
  background: #edebed;
}
.value-trend-sec .value-trend-box h2{
  font-size: 2rem;
  line-height: 1.5;
}
.value-trend-sec .value-trend-box p{
  display: block;
  font-size: clamp(1rem, 1.2rem, 2rem);
  line-height: 1.66;
  margin-top: 1rem;
}
.value-trend-sec .value-trend-graph{
  width: 100%;
  margin-top: 2rem;
  padding: 0 3.5rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.value-trend-sec .value-trend-graph figure{
  width: calc(50% - 1.7rem);
}
.value-trend-sec p.value-trend-graph-cap{
  font-size: clamp(.7rem, 1rem, 2rem);
  margin-top: 3.5rem;
  line-height: 1.2;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .value .page-tit {
    height: auto;
    aspect-ratio: 1 / 2;
    background: url("../img/value/page-tit-bg-sp.jpg") no-repeat center center;
    background-size: cover;
  }
  .value .page-tit .wrap{
    top: 20rem;
  }
  .value-col-bg {
    padding: 0 2.5rem 11.5rem;
  }
  .value-col-sec{
    padding: 18rem 0 0;
  }
  .value-col-sec h2{
    font-size: 4.4rem;
    line-height: 1.45;
  }
  .value-col-wrap,
  .value-plan-wrap{
    width: 100%;
    padding-left: 0;
    margin-top: 15rem;
    flex-direction: column-reverse;
  }
  .value-plan-wrap{
    flex-direction: unset;
    margin-top: 6rem;
  }
  .value-col-wrap.reverse{
    flex-direction: column-reverse;
    padding-right: 0;
  }
  .value-col-wrap:first-of-type{
    margin-top: 15rem;
  }
  .value-col-wrap .value-col-text,
  .value-plan-wrap .value-plan-text{
    width: 100%;
    padding: 0 3rem;
    margin-top: 6rem;
  }
  .value-plan-wrap .value-plan-text{
    margin-top: 0;
  }
  .value-col-wrap.reverse .value-col-text{
    padding: 0 3rem;
  }
  .value-col-wrap .value-col-text h3,
  .value-plan-wrap .value-plan-text h3{
    font-size: 4rem;
    line-height: 1.5;
  }
  .value-col-wrap .value-col-text p,
  .value-plan-wrap .value-plan-text p{
    font-size: 2.4rem;
    margin-top: 2.6rem;
  }
  .value-plan-wrap .value-plan-text p{
    margin-top: 2.6rem;
  }
  .value-col-wrap .value-col-text .value-col-imgs,
  .value-plan-wrap .value-plan-text .value-plan-imgs{
    width: calc(100% + 6rem);
    margin-left: -3rem;
  }
  .value-plan-wrap .value-plan-text .value-plan-imgs{
    display: none;
  }
  .value-col-wrap .value-col-text .value-col-imgs figure,
  .value-plan-wrap .value-plan-text .value-plan-imgs figure{
    width: calc(50% - 2.2rem);
    margin-top: 4.2rem;
  }
  .value-col-wrap .value-col-text .value-col-imgs figure figcaption,
  .value-plan-wrap .value-plan-text .value-plan-imgs figure figcaption{
    font-size: 2rem;
    margin-top: .8rem;
  }
  .value-col-wrap .value-col-thumb,
  .value-plan-wrap .value-plan-thumb{
    width: 100%;
  }
  .value-plan-wrap .value-plan-thumb{
    margin-top: 7rem;
  }
  .value-plan-wrap .value-plan-imgs{
    width: 100%;
    margin-top: 4.5rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .value-plan-wrap .value-plan-imgs figure{
    width: calc(50% - 2.2rem);
    margin-bottom: 4.5rem;
  }
  .value-plan-wrap .value-plan-imgs figure figcaption{
    font-size: 2rem;
    margin-top: .8rem;
    color: #fff;
    text-align: center;
  }
  .value-col-wrap .value-col-thumb figcaption,
  .value-plan-wrap .value-plan-thumb figcaption{
    font-size: 2rem;
    margin-top: .8rem;
    text-align: right;
  }
  .value-col-sec .value-col-cap{
    width: 100%;
    padding: 0 3rem;
    margin: 3.6rem auto 0;
    font-size: 1.4rem;
    line-height: 1.2;
  }
  .value-col-sec .value-col-border{
    width: 100%;
    margin: 7rem auto 0;
  }
  .value-plan-sec{
    padding: 12rem 0 0;
  }
  .value-plan-sec .value-plan-main h2{
    font-size: 3.8rem;
    line-height: 1.45;
  }
  .value-plan-sec .value-plan-main p{
    font-size: 2.4rem;
    margin-top: 6rem;
    text-align: left;
    padding: 0 2.5rem;
  }
  .value-plan-sec .value-plan-main .value-plan-main-imgs{
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 10rem auto 0;
  }
  .value-plan-sec .value-plan-main .value-plan-main-imgs figure{
    width: calc(50% - 1.6rem);
    margin-top: 7rem;
  }
  .value-plan-sec .value-plan-main .value-plan-main-imgs figure:nth-child(1){
    order: 2;
  }
  .value-plan-sec .value-plan-main .value-plan-main-imgs figure:nth-child(3){
    order: 3;
  }
  .value-plan-sec .value-plan-main .value-plan-main-imgs figure:nth-child(2){
    width: 100%;
    order: 1;
    padding: 0;
    margin-top: 0;
  }
  .value-plan-sec .value-plan-main .value-plan-main-imgs figure figcaption{
    font-size: 2rem;
    margin-top: .8rem;
  }
  .value-plan-sec .value-plan-main .value-plan-main-imgs figure:nth-child(2) figcaption{
    position: absolute;
    bottom: 3rem;
    right: 0;
  }
  .value-trend-sec{
    padding: 0;
    margin-bottom: 10rem;
  }
  .value-trend-sec .value-trend-box{
    max-width: 100%;
    margin: 0 auto;
    padding: 7rem 2.5rem;
    background: #edebed;
  }
  .value-trend-sec .value-trend-box h2{
    font-size: 3.8rem;
  }
  .value-trend-sec .value-trend-box p{
    font-size: 2.2rem;
    text-align: left;
    margin-top: 3.5rem;
  }
  .value-trend-sec .value-trend-graph{
    margin-top: 3.5rem;
    padding: 0;
  }
  .value-trend-sec .value-trend-graph figure{
    width: 100%;
    margin-top: 6rem;
  }
  .value-trend-sec .value-trend-graph figure:first-of-type{
    margin-top: 0;
  }
  .value-trend-sec p.value-trend-graph-cap{
    font-size: 2rem;
    margin-top: 4.5rem;
    text-align: left;
  }
}


/* ===================================
location
=================================== */
.location .page-tit {
  background: url("../img/location/page-tit-bg.jpg") no-repeat center center;
  background-size: cover;
  height: 70rem;
}
.location-intro-sec {
  position: relative;
  background: url("../img/location/catch-bg.jpg") no-repeat top center;
  background-size: cover;
  width: 100%;
  padding: 10rem 0 12rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.location-intro-sec h2 {
  font-size: 2.2rem;
  text-align: center;
  color: #fff;
  margin-bottom: 3rem;
  letter-spacing: .2em;
  line-height: 1.818;
}
.location-intro-sec p {
  font-size: 1.2rem;
  text-align: center;
  color: #fff;
  letter-spacing: .2em;
  line-height: 2.5;
}
.location-intro-sec p sup {
  font-size: .7rem;
}
.location-intro-sec p.location-sec-cap{
  width: 100%;
  padding: 0 4rem;
  margin: 0 auto;
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translate(-50%, 0);
  font-size: clamp(7px, .7rem, 16px);
  color: #fff;
  letter-spacing: 0;
  line-height: 1.25;
}

.location-nature-sec,
.location-facility-sec{
  position: relative;
  width: 100%;
  padding: 10rem 0 9rem;
}
.location-nature-sec .location-nature-catch,
.location-facility-sec .location-facility-catch{
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: absolute;
  top: 0;
  right: 7.69%;
  color: #edebed;
  z-index: 1;
}
.location-nature-sec .location-nature-catch span,
.location-facility-sec .location-facility-catch span{
  display: block;
}
.location-nature-sec .location-nature-catch-ja,
.location-facility-sec .location-facility-catch-ja{
  font-size: 12rem;
  line-height: 1;
}
.location-nature-sec .location-nature-catch-en,
.location-facility-sec .location-facility-catch-en{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 8rem;
  line-height: 1;
}
.location-nature-sec .location-nature-title,
.location-facility-sec .location-facility-title{
  display: block;
  text-align: center;
  line-height: 1.666;
  font-size: 3rem;
  margin-top: 5rem;
}
.location-nature-sec .location-nature-title span.location-nature-title-sub,
.location-facility-sec .location-facility-title span.location-facility-title-sub{
  position: relative;
  display: block;
  text-align: center;
  font-size: 2rem;
  padding: 2rem 0;
  line-height: 1.2;
}
.location-nature-sec .location-nature-title span.location-nature-title-sub:after,
.location-facility-sec .location-facility-title span.location-facility-title-sub:after{
  content: '';
  display: inline-block;
  width: 6rem;
  height: 6rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/location/ico-sakura.svg) no-repeat;
  background-size: 100%;
}
.location-nature-wrap,
.location-facility-wrap{
  width: 100%;
  padding-right: 13.08%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 10rem;
}
.location-nature-wrap .location-nature-text,
.location-facility-wrap .location-facility-text{
  width: calc(100% - 52.1%);
  padding-left: 4.2rem;
}
.location-nature-wrap .location-nature-text h4,
.location-facility-wrap .location-facility-text h4{
  font-size: 3rem;
  line-height: 1.66;
  margin-top: 4rem;
}
.location-nature-wrap .location-nature-text h4:first-of-type,
.location-facility-wrap .location-facility-text h4:first-of-type{
  margin-top: 0;
}
.location-nature-wrap .location-nature-text p,
.location-facility-wrap .location-facility-text p{
  font-size: 1.2rem;
  line-height: 1.66;
  margin-top: 3rem;
  letter-spacing: .05rem;
}
.location-nature-wrap .location-nature-text .location-nature-imgs,
.location-facility-wrap .location-facility-text .location-facility-imgs{
  width: 100%;
  margin-top: 3.8rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.location-nature-wrap .location-nature-text .location-nature-imgs figure,
.location-facility-wrap .location-facility-text .location-facility-imgs figure{
  width: calc(50% - 1.5rem);
}
.location-nature-wrap .location-nature-text .location-nature-imgs figure figcaption,
.location-facility-wrap .location-facility-text .location-facility-imgs figure figcaption{
  font-size: 1rem;
  margin-top: .25rem;
  line-height: 1.2;
  text-align: center;
}
.location-nature-wrap .location-nature-text .location-nature-imgs figure figcaption.txt-right,
.location-facility-wrap .location-facility-text .location-facility-imgs figure figcaption.txt-right{
  text-align: right;
}
.location-nature-wrap .location-nature-thumb,
.location-facility-wrap .location-facility-thumb{
  width: 52.1%;
}
.location-nature-wrap .location-nature-thumb figcaption,
.location-facility-wrap .location-facility-thumb figcaption{
  font-size: 1rem;
  margin-top: .25rem;
  line-height: 1.2;
  text-align: right;
}

.location-nature-sec,
.location-facility-sec{
  position: relative;
  width: 100%;
  padding: 10rem 0 9rem;
}
.location-nature-sec .location-nature-catch,
.location-facility-sec .location-facility-catch{
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: absolute;
  top: 0;
  right: 7.69%;
  color: #edebed;
  z-index: 1;
}
.location-nature-sec .location-nature-catch span,
.location-facility-sec .location-facility-catch span{
  display: block;
}
.location-nature-sec .location-nature-catch-ja,
.location-facility-sec .location-facility-catch-ja{
  font-size: 12rem;
  line-height: 1;
}
.location-nature-sec .location-nature-catch-en,
.location-facility-sec .location-facility-catch-en{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 8rem;
  line-height: 1;
}
.location-nature-sec .location-nature-title,
.location-facility-sec .location-facility-title{
  display: block;
  text-align: center;
  line-height: 1.666;
  font-size: 3rem;
  margin-top: 5rem;
}
.location-nature-sec .location-nature-title span.location-nature-title-sub,
.location-facility-sec .location-facility-title span.location-facility-title-sub{
  position: relative;
  display: block;
  text-align: center;
  font-size: 2rem;
  padding: 2rem 0;
  line-height: 1.2;
}
.location-nature-sec .location-nature-title span.location-nature-title-sub:after,
.location-facility-sec .location-facility-title span.location-facility-title-sub:after{
  content: '';
  display: inline-block;
  width: 6rem;
  height: 6rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/location/ico-sakura.svg) no-repeat;
  background-size: 100%;
}
.location-nature-wrap,
.location-facility-wrap{
  position: relative;
  z-index: 1;
  width: 100%;
  padding-right: 13.08%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-top: 10rem;
}
.location-nature-wrap .location-nature-text,
.location-facility-wrap .location-facility-text{
  width: calc(100% - 52.1%);
  padding-left: 6.5rem;
  margin-top: -.5rem;
}
.location-nature-wrap .location-nature-text h4,
.location-facility-wrap .location-facility-text h4{
  font-size: 2rem;
  line-height: 1.66;
  margin-top: 3.5rem;
}
@media screen and (min-width: 1920px){
  .location-nature-wrap .location-nature-text h4,
  .location-facility-wrap .location-facility-text h4{
    font-size: 2.4rem;
    margin-top: 4.5rem;
  }
}
.location-nature-wrap .location-nature-text h4:first-of-type,
.location-facility-wrap .location-facility-text h4:first-of-type{
  margin-top: 0;
}
.location-nature-wrap .location-nature-text p,
.location-facility-wrap .location-facility-text p{
  font-size: 1.2rem;
  line-height: 1.66;
  margin-top: 1.2rem;
}
@media screen and (min-width: 1920px){
  .location-nature-wrap .location-nature-text p,
  .location-facility-wrap .location-facility-text p{
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}
.location-nature-wrap .location-nature-text .location-nature-imgs,
.location-facility-wrap .location-facility-text .location-facility-imgs{
  width: 100%;
  margin-top: 1.5rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (min-width: 1920px){
  .location-nature-wrap .location-nature-text .location-nature-imgs,
  .location-facility-wrap .location-facility-text .location-facility-imgs{
    margin-top: 1.8rem;
  }
}
.location-nature-wrap .location-nature-text .location-nature-imgs figure,
.location-facility-wrap .location-facility-text .location-facility-imgs figure{
  width: calc(50% - 1.5rem);
}
.location-nature-wrap .location-nature-text .location-nature-imgs figure figcaption,
.location-facility-wrap .location-facility-text .location-facility-imgs figure figcaption{
  font-size: 1rem;
  margin-top: .25rem;
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 1920px){
  .location-nature-wrap .location-nature-text .location-nature-imgs figure figcaption,
  .location-facility-wrap .location-facility-text .location-facility-imgs figure figcaption{
    font-size: 1.2rem;
  }
}
.location-nature-wrap .location-nature-text .location-nature-imgs figure figcaption.txt-right,
.location-facility-wrap .location-facility-text .location-facility-imgs figure figcaption.txt-right{
  text-align: right;
}
.location-nature-wrap .location-nature-thumb,
.location-facility-wrap .location-facility-thumb{
  width: 52.1%;
}
.location-nature-wrap .location-nature-thumb figcaption,
.location-facility-wrap .location-facility-thumb figcaption{
  font-size: 1rem;
  margin-top: .25rem;
  line-height: 1.2;
  text-align: right;
}
@media screen and (min-width: 1920px){
  .location-nature-wrap .location-nature-thumb figcaption,
  .location-facility-wrap .location-facility-thumb figcaption{
    font-size: 1.2rem;
  }
}

.location-education-sec,
.location-shop-sec{
  position: relative;
  width: 100%;
  padding: 10rem 0 9rem;
  background: #edebed;
}
.location-education-sec .location-education-catch,
.location-shop-sec .location-shop-catch{
  writing-mode: vertical-rl;
  text-orientation: upright;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
  position: absolute;
  top: 0;
  left: 7.69%;
  color: #ffffff;
  z-index: 1;
}
.location-education-sec .location-education-catch span,
.location-shop-sec .location-shop-catch span{
  display: block;
}
.location-education-sec .location-education-catch-ja,
.location-shop-sec .location-shop-catch-ja{
  font-size: 12rem;
  line-height: 1;
  letter-spacing: -3rem;
}
.location-education-sec .location-education-catch-en,
.location-shop-sec .location-shop-catch-en{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 8rem;
  line-height: 1;
}
.location-education-sec .location-education-title,
.location-shop-sec .location-shop-title{
  display: block;
  text-align: center;
  line-height: 1.666;
  font-size: 3rem;
  margin-top: 5rem;
}
.location-education-sec .location-education-title span.location-education-title-sub,
.location-shop-sec .location-shop-title span.location-shop-title-sub{
  position: relative;
  display: block;
  text-align: center;
  font-size: 2rem;
  padding: 2rem 0;
  line-height: 1.2;
}
.location-education-sec .location-education-title span.location-education-title-sub:after,
.location-shop-sec .location-shop-title span.location-shop-title-sub:after{
  content: '';
  display: inline-block;
  width: 6rem;
  height: 6rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/location/ico-sakura.svg) no-repeat;
  background-size: 100%;
}
.location-education-wrap,
.location-shop-wrap{
  position: relative;
  z-index: 1;
  width: 100%;
  padding-left: 13.08%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  align-items: flex-end;
  margin-top: 10rem;
}
.location-education-wrap .location-education-text,
.location-shop-wrap .location-shop-text{
  width: calc(100% - 52.1%);
  padding-right: 6.5rem;
  margin-top: -.5rem;
}
.location-education-wrap .location-education-text h4,
.location-shop-wrap .location-shop-text h4{
  font-size: 2rem;
  line-height: 1.66;
  margin-top: 3.5rem;
}
@media screen and (min-width: 1920px){
  .location-education-wrap .location-education-text h4,
  .location-shop-wrap .location-shop-text h4{
    font-size: 2.4rem;
    margin-top: 4.5rem;
  }
}
.location-education-wrap .location-education-text h4:first-of-type,
.location-shop-wrap .location-shop-text h4:first-of-type{
  margin-top: 0;
}
.location-education-wrap .location-education-text p,
.location-shop-wrap .location-shop-text p{
  font-size: 1.2rem;
  line-height: 1.66;
  margin-top: 1.2rem;
}
@media screen and (min-width: 1920px){
  .location-education-wrap .location-education-text p,
  .location-shop-wrap .location-shop-text p{
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}
.location-education-wrap .location-education-text .location-education-imgs,
.location-shop-wrap .location-shop-text .location-shop-imgs{
  width: 100%;
  margin-top: 1.5rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (min-width: 1920px){
  .location-education-wrap .location-education-text .location-education-imgs,
  .location-shop-wrap .location-shop-text .location-shop-imgs{
    margin-top: 1.8rem;
  }
}
.location-education-wrap .location-education-text .location-education-imgs figure,
.location-shop-wrap .location-shop-text .location-shop-imgs figure{
  width: calc(50% - 1.5rem);
}
.location-education-wrap .location-education-text .location-education-imgs figure figcaption,
.location-shop-wrap .location-shop-text .location-shop-imgs figure figcaption{
  font-size: 1rem;
  margin-top: .25rem;
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 1920px){
  .location-education-wrap .location-education-text .location-education-imgs figure figcaption,
  .location-shop-wrap .location-shop-text .location-shop-imgs figure figcaption{
    font-size: 1.2rem;
  }
}
.location-education-wrap .location-education-text .location-education-imgs figure figcaption.txt-right,
.location-shop-wrap .location-shop-text .location-shop-imgs figure figcaption.txt-right{
  text-align: right;
}
.location-education-wrap .location-education-thumb,
.location-shop-wrap .location-shop-thumb{
  width: 52.1%;
}
.location-education-wrap .location-education-thumb figcaption,
.location-shop-wrap .location-shop-thumb figcaption{
  font-size: 1rem;
  margin-top: .25rem;
  line-height: 1.2;
  text-align: left;
}
@media screen and (min-width: 1920px){
  .location-education-wrap .location-education-thumb figcaption,
  .location-shop-wrap .location-shop-thumb figcaption{
    font-size: 1.2rem;
  }
}

.location-info-sec{
  position: relative;
  width: 100%;
  padding: 10rem 0 0;
}
.location-info-sec .location-info-title{
  display: block;
  text-align: center;
  line-height: 1.666;
  font-size: 3rem;
}
.location-info-sec .location-info-title span.location-info-title-sub{
  position: relative;
  display: block;
  text-align: center;
  font-size: 2rem;
  padding: 2rem 0;
  line-height: 1.2;
}
.location-info-sec .location-info-title span.location-info-title-sub:after{
  content: '';
  display: inline-block;
  width: 6rem;
  height: 6rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/location/ico-sakura.svg) no-repeat;
  background-size: 100%;
}
.location-info-sec .location-info-wrap{
  width: 100%;
  max-width: calc(960px + 8rem);
  padding: 0 4rem 4.5rem;
  margin: 3.5rem auto 0;
}
.location-info-sec .location-info-facility{
  width: 100%;
  margin-top: 5rem;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: flex-start;
}
.location-info-sec .location-info-facility .location-info-facility-list{
  width: calc(100% / 2 - 2.5rem);
  margin-right: 5rem;
}
.location-info-sec .location-info-facility .location-info-facility-list:nth-child(2n){
  margin-right: 0;
}
.location-info-sec .location-info-facility .location-info-facility-list h3{
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0;
  margin-bottom: 2rem;
  font-size: 1.6rem;
  line-height: 1.3;
  border-bottom: 1px solid #231815;
}
.location-info-sec .location-info-facility .location-info-facility-list h3 .btn_toggle_icon {
  height: fit-content;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
.location-info-sec .location-info-facility .location-info-facility-list h3 .cross {
  position: relative;
  width: fit-content;
  display: block;
  height: fit-content;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50vw
}
.location-info-sec .location-info-facility .location-info-facility-list h3 .cross:before,
.location-info-sec .location-info-facility .location-info-facility-list h3 .cross:after {
  content: "";
  background-color: #333;
  width: 2rem;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  display: block;
  max-width: 18.85px;
  max-height: 5.45px;
}
.location-info-sec .location-info-facility .location-info-facility-list h3 .btn_toggle_icon .cross:before {
  transform: translate(-50%,-50%) rotate(90deg);
  transition: transform .6s
}
.location-info-sec .location-info-facility .location-info-facility-list h3.is-active .btn_toggle_icon .cross:before {
  transform: translate(-50%,-50%) rotate(00deg);
  transition: transform .3s
}
.location-info-sec .location-info-facility .location-info-facility-list h3:first-of-type{
  margin-top: 0;
}
.location-info-sec .location-info-facility .location-info-facility-list ul{
  display: none;
  margin-top: 1.5rem;
  margin-top: 2rem;
}
.location-info-sec .location-info-facility .location-info-facility-list ul li{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 1.15rem;
  line-height: 1.3;
  margin-bottom: .5rem;
  letter-spacing: 0;
}
.location-info-facility-list ul li .detail-wrap{
  min-width: 11.5rem;
  display: flex;
  justify-content: space-between;
}
.location-info-facility-list ul li .detail-wrap .time{
  min-width: 4.75rem;
  display: flex;
  justify-content: space-between;
}
.location-info-facility-list ul li .detail-wrap .distance{
  min-width: 7rem;
  display: flex;
  justify-content: space-between;
}
.location-info-facility-list ul li .ls-s{
  letter-spacing: -.1rem;
}

@media screen and (max-width: 767px) {
  .location .page-tit {
    height: auto;
    aspect-ratio: 1 / 2;
    background: url("../img/location/page-tit-bg-sp.jpg") no-repeat center center;
    background-size: cover;
  }
  .location-intro-sec {
    padding: 12rem 0;
  }
  .location-intro-sec h2 {
    font-size: 4.4rem;
    margin-bottom: 3rem;
    letter-spacing: 0;
  }
  .location-intro-sec p {
    font-size: 2.4rem;
    text-align: left;
    padding: 0 5%;
    letter-spacing: 0;
  }
  .location-intro-sec p.location-sec-cap {
    font-size: 1.4rem;
    line-height: 1.2;
    text-align: left;
    letter-spacing: 0;
  }
  .location-nature-sec,
  .location-facility-sec{
    padding: 0 0 12rem;
  }
  .location-nature-sec .location-nature-catch,
  .location-facility-sec .location-facility-catch{
    top: 55rem;
    right: 4rem;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-end;
  }
  .location-nature-sec .location-nature-catch-ja,
  .location-facility-sec .location-facility-catch-ja{
    font-size: 17.4rem;
  }
  .location-nature-sec .location-nature-catch-en,
  .location-facility-sec .location-facility-catch-en{
    font-size: 11.6rem;
  }
  .location-nature-sec .location-nature-title,
  .location-facility-sec .location-facility-title{
    font-size: 4rem;
    margin-bottom: 10rem;
  }
  .location-nature-sec .location-nature-title span.location-nature-title-sub,
  .location-facility-sec .location-facility-title span.location-facility-title-sub{
    font-size: 3.6rem;
    padding: 5rem 0;
  }
  .location-nature-sec .location-nature-title span.location-nature-title-sub:after,
  .location-facility-sec .location-facility-title span.location-facility-title-sub:after{
    width: 12rem;
    height: 12rem;
  }
  .location-nature-wrap,
  .location-facility-wrap{
    width: 100%;
    padding-right: 0;
    flex-direction: row-reverse;
    margin-top: 0;
  }
  .location-nature-wrap .location-nature-text,
  .location-facility-wrap .location-facility-text{
    position: relative;
    z-index: 4;
    width: 100%;
    padding: 0 5rem;
  }
  .location-nature-wrap .location-nature-text h4,
  .location-facility-wrap .location-facility-text h4{
    font-size: 4rem;
    margin-top: 6rem;
  }
  .location-nature-wrap .location-nature-text p,
  .location-facility-wrap .location-facility-text p{
    font-size: 2.4rem;
    margin-top: 2rem;
  }
  .location-nature-wrap .location-nature-text .location-nature-imgs,
  .location-facility-wrap .location-facility-text .location-facility-imgs{
    width: calc(100% + 5rem);
    margin-left: -2.5rem;
    margin-top: 4.4rem;
  }
  .location-nature-wrap .location-nature-text .location-nature-imgs figure,
  .location-facility-wrap .location-facility-text .location-facility-imgs figure{
    width: calc(50% - 2.2rem);
  }
  .location-nature-wrap .location-nature-text .location-nature-imgs figure figcaption,
  .location-facility-wrap .location-facility-text .location-facility-imgs figure figcaption{
    font-size: 2rem;
    margin-top: .8rem;
  }
  .location-nature-wrap .location-nature-thumb,
  .location-facility-wrap .location-facility-thumb{
    width: 100%;
  }
  .location-nature-wrap .location-nature-thumb figcaption,
  .location-facility-wrap .location-facility-thumb figcaption{
    font-size: 2rem;
    margin-top: .8rem;
    text-align: left;
    padding-left: 2.5rem;
  }

  .location-education-sec,
  .location-shop-sec{
    padding: 0 0 12rem;
  }
  .location-education-sec .location-education-catch{
    top: 36rem;
    left: 4rem;
    z-index: 3;
    align-items: flex-end;
  }
  .location-shop-sec .location-shop-catch{
    top: 52rem;
    left: 4rem;
    z-index: 3;
    align-items: flex-end;
  }
  .location-education-sec .location-education-catch-ja,
  .location-shop-sec .location-shop-catch-ja{
    font-size: 17.4rem;
  }
  .location-education-sec .location-education-catch-en,
  .location-shop-sec .location-shop-catch-en{
    font-size: 11.6rem;
  }
  .location-education-sec .location-education-title,
  .location-shop-sec .location-shop-title{
    font-size: 4rem;
    margin-bottom: 10rem;
  }
  .location-education-sec .location-education-title span.location-education-title-sub,
  .location-shop-sec .location-shop-title span.location-shop-title-sub{
    font-size: 3.6rem;
    padding: 5rem 0;
  }
  .location-education-sec .location-education-title span.location-education-title-sub:after,
  .location-shop-sec .location-shop-title span.location-shop-title-sub:after{
    width: 12rem;
    height: 12rem;
  }
  .location-education-wrap,
  .location-shop-wrap{
    width: 100%;
    padding-left: 0;
    flex-direction: row-reverse;
    margin-top: 0;
  }
  .location-education-wrap .location-education-text,
  .location-shop-wrap .location-shop-text{
    position: relative;
    z-index: 4;
    width: 100%;
    padding: 0 5rem;
  }
  .location-education-wrap .location-education-text h4,
  .location-shop-wrap .location-shop-text h4{
    font-size: 4rem;
    margin-top: 6rem;
  }
  .location-education-wrap .location-education-text h4:first-of-type,
  .location-shop-wrap .location-shop-text h4:first-of-type{
    margin-top: 0;
  }
  .location-education-wrap .location-education-text p,
  .location-shop-wrap .location-shop-text p{
    font-size: 2.4rem;
    margin-top: 2rem;
  }
  .location-education-wrap .location-education-text .location-education-imgs,
  .location-shop-wrap .location-shop-text .location-shop-imgs{
    width: calc(100% + 5rem);
    margin-left: -2.5rem;
    margin-top: 4.4rem;
  }
  .location-education-wrap .location-education-text .location-education-imgs figure,
  .location-shop-wrap .location-shop-text .location-shop-imgs figure{
    width: calc(50% - 2.2rem);
  }
  .location-education-wrap .location-education-text .location-education-imgs figure figcaption,
  .location-shop-wrap .location-shop-text .location-shop-imgs figure figcaption{
    font-size: 2rem;
    margin-top: .8rem;
  }
  .location-education-wrap .location-education-thumb,
  .location-shop-wrap .location-shop-thumb{
    width: 100%;
  }
  .location-education-wrap .location-education-thumb figcaption,
  .location-shop-wrap .location-shop-thumb figcaption{
    font-size: 2rem;
    margin-top: .8rem;
    text-align: right;
    padding-right: 2.5rem;
  }

  .location-info-sec{
    padding: 12rem 2.5rem 0;
  }
  .location-info-sec .location-info-title{
    font-size: 4.4rem;
  }
  .location-info-sec .location-info-title span.location-info-title-sub{
    font-size: 4rem;
    padding: 5rem 0;
  }
  .location-info-sec .location-info-title span.location-info-title-sub:after{
    width: 12rem;
    height: 12rem;
  }
  .location-info-sec .location-info-wrap{
    max-width: 100%;
    padding: 0;
    margin: 6rem auto 0;
  }
  .location-info-sec .location-info-facility{
    margin-top: 8rem;
    padding: 0 5rem;
  }
  .location-info-sec .location-info-facility .location-info-facility-list{
    width: 100%;
    margin-right: 0;
    margin-top: 3rem;
  }
  .location-info-sec .location-info-facility .location-info-facility-list:first-of-type{
    margin-top: 0;
  }
  .location-info-sec .location-info-facility .location-info-facility-list h3{
    padding-bottom: 2rem;
    font-size: 3.2rem;
    margin-top: 4rem;
  }
  .location-info-sec .location-info-facility .location-info-facility-list ul{
    margin-top: 2.2rem;
  }
  .location-info-sec .location-info-facility .location-info-facility-list ul li{
    font-size: 2.4rem;
    line-height: 1.66;
    margin-bottom: 2rem;
  }
  .location-info-facility-list ul li .list-name{
    width: 100%;
  }
  .location-info-facility-list ul li .detail-wrap{
    width: 100%;
    min-width: 40%;
    max-width: 40%;
  }
  .location-info-facility-list ul li .detail-wrap .time{
    min-width: 33%;
  }
  .location-info-facility-list ul li .detail-wrap .distance{
    min-width: 47%;
  }
}