.tranDetails-page {
  overflow-x: clip;
}
.tranDetails-page .bg_01 {
  background-color: #faf8e6;
}
.tranDetails-page .bg_02 {
  background-color: #fff;
}
.tranDetails-page .kv .content_ttl {
  font-size: 5.2rem;
}
@media screen and (max-width: 959.98px) {
  .tranDetails-page .kv .content_ttl {
    font-size: 5.7rem;
  }
}
.tranDetails-page .kv .content_txt {
  font-size: 3.1rem;
  margin-top: 1.2rem;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  color: #002952;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 959.98px) {
  .tranDetails-page .kv .content_txt {
    font-size: 3.7rem;
    line-height: 1.4054;
    margin-top: 2.4rem;
    text-align: center;
  }
}
.tranDetails-page .kv_img img {
  width: 100%;
}
.tranDetails-page .content_pageLink {
  margin-top: 7rem;
}
@media screen and (max-width: 959.98px) {
  .tranDetails-page .content_pageLink {
    margin-top: 6rem;
  }
}
.tranDetails-page .pageLink_wrap {
  border-radius: 1rem;
  background-color: #faf8e6;
  display: flex;
  align-content: inherit;
  justify-content: center;
  gap: 6.5rem;
  padding: 0 1rem;
}
@media screen and (max-width: 959.98px) {
  .tranDetails-page .pageLink_wrap {
    border-radius: 2rem;
    flex-wrap: wrap;
    gap: 6.6rem 2rem;
    padding: 7rem 6rem 9rem;
    justify-content: flex-start;
  }
}
.tranDetails-page .pageLink_wrap a {
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: 600;
  color: #15345c;
  padding: 3.8rem 1rem;
  line-height: 1;
  transition: 0.3s;
}
@media screen and (max-width: 959.98px) {
  .tranDetails-page .pageLink_wrap a {
    font-size: 2.8rem;
    padding: 0;
    width: calc((100% - 2rem) / 2);
    display: block;
  }
}
.tranDetails-page .pageLink_wrap a:hover {
  opacity: 0.7;
}
.tranDetails-page .pageLink_wrap a:visited {
  color: #15345c;
}

#concept {
  padding-top: 12rem;
}
@media screen and (max-width: 959.98px) {
  #concept {
    padding-top: 9rem;
  }
}
#concept .concept_ttl {
  font-size: 4rem;
  line-height: 1.55;
  color: #002952;
  font-weight: 600;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 959.98px) {
  #concept .concept_ttl {
    margin-bottom: 4rem;
  }
}
#concept .concept_txt {
  font-size: 1.8rem;
  line-height: 2.11112;
  color: #333;
}
@media screen and (max-width: 959.98px) {
  #concept .concept_txt {
    font-size: 2.6rem;
    line-height: 1.8461;
    letter-spacing: -0.03em;
  }
}

.concept_content {
  padding-left: 6rem;
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: 30.6rem auto;
  grid-template-rows: auto 1fr;
  gap: 0px 0px;
  grid-template-areas: "txt_slider img_slider" "controller img_slider";
  width: 132rem;
  margin: 0 auto 19rem;
}
@media screen and (max-width: 959.98px) {
  .concept_content {
    width: 100%;
    display: block;
    padding: 0 4.8rem;
    width: auto;
    margin-bottom: 16rem;
  }
}
.concept_content .text-content h2 {
  font-size: 3.3rem;
  padding-top: 14.4rem;
  font-weight: 600;
  color: #15345c;
  position: relative;
}
@media screen and (max-width: 959.98px) {
  .concept_content .text-content h2 {
    padding-top: 10rem;
  }
}
.concept_content .text-content h2::before {
  content: "";
  display: block;
  width: 30.6rem;
  height: 30.6rem;
  position: absolute;
  top: 2rem;
  right: -1rem;
  background-image: url(/travel-information/assets/img/train-usage-guide/trains/hanaakari/img_object_01.webp);
  background-repeat: no-repeat;
  background-size: 100%;
  z-index: -1;
}
@media screen and (max-width: 959.98px) {
  .concept_content .text-content h2::before {
    width: 20.2rem;
    height: 20.2rem;
    top: 2.5rem;
    right: initial;
    left: 9rem;
  }
}
.concept_content .picture-swiper-content {
  grid-area: img_slider;
  margin-right: -28rem;
  width: 114rem;
  margin-left: auto;
}
@media screen and (max-width: 959.98px) {
  .concept_content .picture-swiper-content {
    margin: 0;
    width: auto;
  }
}
.concept_content .picture-swiper-content .picture-swiper .swiper-content {
  position: relative;
  border-radius: 1.5rem;
  aspect-ratio: 550/413;
  overflow: hidden;
}
@media screen and (max-width: 959.98px) {
  .concept_content .picture-swiper-content .picture-swiper .swiper-content {
    aspect-ratio: 650/488;
    margin: 0;
  }
}
.concept_content .picture-swiper-content .picture-swiper .swiper-content img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.concept_content .picture-swiper-content .picture-swiper .swiper-slide-next .swiper-content {
  left: -8rem;
  transform: scale(0.68);
}
@media screen and (max-width: 959.98px) {
  .concept_content .picture-swiper-content .picture-swiper .swiper-slide-next .swiper-content {
    left: 0;
    transform: scale(1);
  }
}
.concept_content .picture-swiper-content .picture-swiper .swiper-slide-next + .swiper-slide .swiper-content {
  left: -21.3rem;
  transform: scale(0.68);
}
@media screen and (max-width: 959.98px) {
  .concept_content .picture-swiper-content .picture-swiper .swiper-slide-next + .swiper-slide .swiper-content {
    left: 0;
    transform: scale(1);
  }
}

.concept_content .picture-swiper-content .picture-swiper .swiper-slide-active .swiper-content {
  transform: scale(1);
  left: 0;
  transition: 0.3s transform;
}

.concept-swiper-pagenation-btn-wrapper {
  grid-area: controller;
  margin-top: auto;
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (max-width: 959.98px) {
  .concept-swiper-pagenation-btn-wrapper {
    margin-top: -5rem;
  }
}

.concept-swiper-btn-wrapper {
  margin-left: 0;
}
@media screen and (max-width: 959.98px) {
  .concept-swiper-btn-wrapper {
    margin: 0 0 0 auto;
  }
}

.concept-swiper-pagination {
  margin-top: 3rem;
}
@media screen and (max-width: 959.98px) {
  .concept-swiper-pagination {
    margin-top: 10rem;
  }
}

#vehicle {
  position: relative;
  padding-top: 22.5rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle {
    padding-top: 26rem;
  }
}
#vehicle .trans_img {
  width: 50.4rem;
  position: absolute;
  top: 6.5rem;
  right: 0;
}
@media screen and (max-width: 959.98px) {
  #vehicle .trans_img {
    width: 40rem;
    top: 16rem;
    right: -5rem;
  }
}
#vehicle .heading {
  text-align: center;
  margin-bottom: 5.5rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .heading {
    font-size: 5rem;
    margin-bottom: 3.2rem;
    text-align: left;
    padding: 0 4.8rem;
  }
}
#vehicle .vehicle_introWrap {
  padding: 7rem 0 5rem;
}
#vehicle .intro_box {
  padding: 9rem 0;
}
@media screen and (max-width: 959.98px) {
  #vehicle .intro_box {
    padding: 10rem 0 9rem;
  }
}
#vehicle .intro_box:last-child {
  padding-bottom: 0;
}
#vehicle .intro_box .content_inner {
  display: flex;
  align-items: center;
  gap: 7rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .intro_box .content_inner {
    flex-direction: column;
    gap: 7rem;
  }
}
#vehicle .intro_box .img_wrapper {
  flex-shrink: 0;
  overflow: hidden;
}
@media screen and (max-width: 959.98px) {
  #vehicle .intro_box .img_wrapper {
    width: 100%;
    height: 38.2rem;
    border-radius: 1rem;
  }
}
#vehicle .intro_box .img_wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#vehicle .intro_box .txt_wrapper {
  flex-shrink: 0;
}
#vehicle .intro_box .txt_wrapper h3 {
  font-size: 5rem;
  line-height: 1.26;
  font-weight: 600;
  color: #042c53;
}
#vehicle .intro_box .txt_wrapper p {
  font-size: 2rem;
  line-height: 2.1;
  color: #333333;
  margin-top: 3rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .intro_box .txt_wrapper p {
    font-size: 2.6rem;
    line-height: 1.8461;
    margin-top: 4rem;
  }
}
@media screen and (min-width: 960px) {
  #vehicle .intro_box.reverse .content_inner {
    flex-direction: row-reverse;
  }
  #vehicle .intro_box.reverse .img_wrapper {
    margin-right: calc(50% - 50vw);
    margin-left: auto;
    width: 47.5vw;
    border-radius: 1.5rem 0 0 1.5rem;
    height: 36rem;
  }
  #vehicle .intro_box.reverse .txt_wrapper {
    width: 57rem;
  }
  #vehicle .intro_box:not(.reverse) .img_wrapper {
    margin-left: calc(50% - 50vw);
    width: 45.375vw;
    border-radius: 0 1.5rem 1.5rem 0;
    height: 42rem;
  }
  #vehicle .intro_box:not(.reverse) .txt_wrapper {
    width: 61rem;
  }
}
#vehicle .interior_list li {
  border-bottom: 1px solid rgba(0, 41, 82, 0.4);
  padding: 6rem 0 3.5rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .interior_list li {
    border-bottom: 0.2rem solid rgba(0, 41, 82, 0.4);
    padding: 7rem 0 6rem;
  }
}
#vehicle .interior_list .number {
  display: inline-block;
  font-size: 2rem;
  border: 1px solid #002952;
  border-radius: 5px;
  color: #002952;
  font-weight: 600;
  padding: 0.7rem 4.8rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .interior_list .number {
    border-radius: 0.5rem;
    padding: 0.7rem 4.8rem;
  }
}
#vehicle .interior_list .train_type {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-top: 1rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .interior_list .train_type {
    flex-direction: column;
    gap: 1.6rem;
    align-items: flex-start;
    margin-top: 1.7rem;
  }
}
#vehicle .interior_list .train_type .name {
  font-size: 4rem;
  font-weight: 600;
  color: #002952;
}
#vehicle .interior_list .train_type .icn {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  height: 5.7rem;
  gap: 1.4rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .interior_list .train_type .icn {
    height: 6rem;
  }
}
#vehicle .interior_list .train_txt {
  font-size: 1.6rem;
  line-height: 1.875;
  color: #333333;
  margin-bottom: 2rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .interior_list .train_txt {
    font-size: 2.6rem;
    margin-bottom: 4rem;
  }
}
#vehicle .interior_list .train_img {
  width: 100%;
}
#vehicle .interior_list .btn_more {
  font-size: 1.6rem;
  line-height: 1.625;
  font-weight: 600;
  color: #042c53;
  text-decoration: none;
  display: inline-block;
  padding-left: 6rem;
  position: relative;
  margin-top: 9rem;
  margin-bottom: 8rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .interior_list .btn_more {
    font-size: 2.6rem;
    display: block;
    margin-top: 4.6rem;
    margin-bottom: 8.6rem;
  }
}
#vehicle .interior_list .btn_more::before {
  content: "";
  width: 4.4rem;
  height: 4.4rem;
  border: 1px solid #b0c5d5;
  border-radius: 50%;
  z-index: 9;
  transition: 0.3s transform, 0.3s background-color, 0.3s border-color;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#vehicle .interior_list .btn_more::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-right: 2px solid #002952;
  border-bottom: 2px solid #002952;
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 1.6rem;
  transform: translateY(-50%) rotate(-45deg);
}
@media (any-hover: hover) {
  #vehicle .interior_list .btn_more:hover::before {
    transform: translateY(-50%) scale(0.9);
    background-color: #d6e0ea;
    border-color: transparent;
  }
}
#vehicle .note {
  font-size: 1.4rem;
  text-align: right;
}
@media screen and (max-width: 959.98px) {
  #vehicle .note {
    font-size: 2.6rem;
  }
}
#vehicle .charm {
  padding-top: 6rem;
  color: #042c53;
}
@media screen and (max-width: 959.98px) {
  #vehicle .charm {
    padding-top: 7.5rem;
  }
}
#vehicle .charm h4 {
  font-size: 4rem;
  font-weight: 600;
  margin-bottom: 6rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .charm h4 {
    margin-bottom: 5rem;
  }
}
#vehicle .charm .charm_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8rem;
  margin-bottom: 8rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .charm .charm_list {
    gap: 6rem 3rem;
    margin-bottom: 9rem;
  }
}
#vehicle .charm .charm_list li {
  width: calc((100% - 8rem) / 2);
}
@media screen and (max-width: 959.98px) {
  #vehicle .charm .charm_list li {
    width: calc((100% - 3rem) / 2);
  }
}
#vehicle .charm .charm_img {
  border-radius: 1.3rem;
  overflow: hidden;
  margin-bottom: 4rem;
}
#vehicle .charm dt {
  font-weight: 600;
  margin-bottom: 2rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .charm dt {
    margin-bottom: 1rem;
  }
}
#vehicle .charm dt .type {
  display: inline-block;
  font-size: 2rem;
  border: 1px solid #002952;
  border-radius: 5px;
  padding: 0.7rem 5.4rem;
}
@media screen and (max-width: 959.98px) {
  #vehicle .charm dt .type {
    border-radius: 0.5rem;
  }
}
#vehicle .charm dt .txt {
  margin-top: 1.6rem;
  display: block;
  font-size: 2.8rem;
}
#vehicle .charm dd {
  font-size: 1.6rem;
  line-height: 1.875;
  color: #333;
}
@media screen and (max-width: 959.98px) {
  #vehicle .charm dd {
    font-size: 2.4rem;
  }
}
#vehicle .charm .note {
  color: #333333;
}

.designer_section {
  padding: 12rem 0 8rem;
}
@media screen and (max-width: 959.98px) {
  .designer_section {
    padding: 10rem 0 0;
  }
  .designer_section .heading {
    font-size: 5rem;
    margin-bottom: 6rem;
  }
}
.designer_section .designer_img {
  width: 50.6rem;
  overflow: hidden;
  border-radius: 1.3rem;
}
@media screen and (max-width: 959.98px) {
  .designer_section .designer_img {
    margin: 0 auto;
  }
}
.designer_section .head {
  color: #042c53;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 7rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 959.98px) {
  .designer_section .head {
    flex-direction: column;
    align-items: flex-start;
    gap: 6rem;
    margin-bottom: 6rem;
  }
}
.designer_section .head .name {
  font-size: 3.3rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 959.98px) {
  .designer_section .head .name {
    margin-bottom: 1.2rem;
  }
}
.designer_section .head .name small {
  font-size: 2.8rem;
}
.designer_section .head .name + span {
  font-size: 2rem;
}
@media screen and (max-width: 959.98px) {
  .designer_section .head .name + span {
    font-size: 2.4rem;
  }
}
.designer_section .head .profile {
  margin-top: 5rem;
}
.designer_section .head .profile dt {
  display: inline-block;
  font-size: 1.6rem;
  border: 1px solid #042c53;
  border-radius: 5px;
  padding: 0.6rem 2.6rem;
  margin-bottom: 1.4rem;
}
@media screen and (max-width: 959.98px) {
  .designer_section .head .profile dt {
    border-radius: 0.5rem;
    padding: 1rem 2.6rem;
    margin-bottom: 1.8rem;
  }
}
.designer_section .head .profile dd {
  font-size: 1.6rem;
  line-height: 1.75;
  color: #333333;
  font-weight: 400;
}
@media screen and (max-width: 959.98px) {
  .designer_section .head .profile dd {
    font-size: 2.4rem;
    line-height: 2;
  }
}
.designer_section .works {
  border-radius: 2.5rem;
  padding: 5rem 6rem 6rem;
}
@media screen and (max-width: 959.98px) {
  .designer_section .works {
    padding: 5rem 4rem;
  }
}
.designer_section .works h3 {
  font-size: 3.4rem;
  color: #183a5c;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 959.98px) {
  .designer_section .works h3 {
    margin-bottom: 2.5rem;
  }
}
.designer_section .works .works_list {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 8rem;
}
@media screen and (max-width: 959.98px) {
  .designer_section .works .works_list {
    flex-direction: column;
    gap: 5.5rem;
  }
}
.designer_section .works .works_list li {
  width: calc((100% - 8rem) / 2);
  color: #333333;
}
@media screen and (max-width: 959.98px) {
  .designer_section .works .works_list li {
    width: 100%;
  }
}
.designer_section .works .works_list h4 {
  font-size: 1.8rem;
  line-height: 1.5556;
}
@media screen and (max-width: 959.98px) {
  .designer_section .works .works_list h4 {
    font-size: 2.6rem;
  }
}
.designer_section .works .works_list p {
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (max-width: 959.98px) {
  .designer_section .works .works_list p {
    font-size: 2.6rem;
    line-height: 1.692;
  }
}

#vehicle #interior .txt_wrapper {
  margin-bottom: 3rem;
  width: 100%;
}
#vehicle #interior .content_inner {
  display: block;
}