@charset "utf-8";
/* 「オトコ旅 TOPのみ」レスポンシブCSS */
/*★ ＝＝ headerArea ＝＝ ★*/
/*mv*/
#mv-video {
  position: fixed;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
  background: #000;
}
#mv-video-item {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
  height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  min-height: var(--default-max-height);
  min-width: 100%;
}
#mv {
  display: grid;
  justify-items: center;
  color: #fff;
  font-weight: var(--fw-black);
  text-align: center;
  background: rgba(0, 0, 0, .4);
}
.is-sp #mv {
  grid-template-rows: max(100lvh, 600px) auto;
  align-items: center;
}
.is-pc #mv {
  gap: 151px;
  padding: 211px 0 140px;
}
.mv__logo {
  display: grid;
  grid-template-rows: min((278vw / 7.5), 294px) min((56vw / 7.5), 42px);
  gap: min((70vw / 7.5), 32px);
}
.is-pc .mv__logo {
  gap: 32px;
}
.is-sp .mv__logo {
  padding-bottom: calc(89.66px + 28px); /*センターずれ回避*/
}
.mv__logo--main--image, .mv__logo--kyosan--image {
  height: 100%;
  width: auto;
  object-fit: contain;
}
.mv__lead {
  font-size: min((29vw / 7.5), 24px);
}
.is-sp .mv__lead {
  line-height: calc(120 / 29);
  padding-bottom: max(20lvh, 100px);
}
.is-pc .mv__lead {
  line-height: calc(48 / 24);
}
/*gnavi*/
.gnavi {
  background: var(--default-color-black);
  text-align: center;
  font-weight: bold;
}
.is-sp .gnavi__inner {
  padding: min((35vw / 7.5), 20px) 0;
}
.is-pc .gnavi__inner {
  --yohaku: 5px;
  --portal-width: 140px;
  width: var(--default-width2);
  margin: auto;
  padding: var(--yohaku) 0;
  display: grid;
  align-items: center;
  min-height: 45px;
  position: relative;
}
.is-pc .gnavi__inner.is-portal-active {
  grid-template-columns: 1fr var(--portal-width);
  gap: 50px;
}
.section-navi {
  color: #fff;
}
.is-sp .section-navi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min((55vw / 7.5), 30px) 0;
}
.is-pc .section-navi {
  display: grid;
  grid-auto-flow: column;
  justify-content: space-between;
}
.is-sp .section-navi__item {
  --border: dotted 2px;
  padding: .5em 1.01em; /*iPhonesでのボーダー表示不備応急処置で1emに.01追加*/
}
.is-sp .section-navi__item:not(:first-child) {
  border-left: var(--border)
}
.is-sp .section-navi__item:last-child {
  border-right: var(--border)
}
.section-navi__link {
  display: grid;
  grid-template-columns: auto .5em;
  gap: .75em;
  align-items: center;
}
.section-navi__link::after {
  content: "";
  width: 100%;
  height: 1.25em;
  background: var(--default-icon-arrow-right-white);
  transform: rotate(90deg);
}
/*portal-navi sp*/
.is-sp .portal-navi {
  position: absolute;
  top: 0;
}
.is-sp .portal-navi__active {
  background: #000;
  color: #fff;
  border-radius: 0 500px 500px 0;
  padding: .5em 1em .6em .5em;
  font-size: min((30vw / 7.5), 18px);
  font-weight: bold;
  line-height: 1.2;
  display: flex;
  gap: 0 .75em;
  align-items: center;
  margin-top: min((54vw / 7.5), 50px)
}
.is-sp .portal-navi__active::after {
  content: "";
  width: .5em;
  height: 1.5em;
  background: var(--default-icon-arrow-right-white);
  transform: rotate(90deg);
}
.is-sp .portal-navi__content.js-open-target {
  width: 100%;
  background: rgba(255, 123, 22, .8);
  top: 0;
  cursor: default;
  position: fixed;
  z-index: 15;
}
.is-sp .portal-navi__content--inner {
  padding: min((70vw / 7.5), 70px) min((20vw / 7.5), 20px) min((90vw / 7.5), 90px);
  position: relative;
}
@media (orientation: landscape) {
  .is-sp .portal-navi__content.js-open-target {
    height: 100%;
  }
  .is-sp .portal-navi__content--inner {
    overflow-y: auto;
    height: 100%;
  }
}
.is-sp .portal-navi__logo {
  width: auto;
  height: min((188vw / 7.5), 150px);
  margin: 0 auto min((38vw / 7.5), 30px);
}
.is-sp .portal-navi__title {
  background: #000;
  color: #fff;
  text-align: center;
  font-size: min((34vw / 7.5), 20px);
  line-height: 1.2;
  padding: .5em 1em .6em;
  margin-bottom: min((16vw / 7.5), 15px);
}
.is-sp .portal-navi__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min((6vw / 7.5), 10px);
}
.is-sp .portal-navi__item {
  --color: #000;
}
.is-sp .portal-navi__link {
  background: #fff;
  min-height: min((70vw / 7.5), 50px);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 .75em;
  align-items: center;
  font-size: min((21vw / 7.5), 14px);
  color: var(--color);
  text-align: left;
  padding: 0 1em;
}
.is-sp .portal-navi__link::before {
  content: "";
  --size: .6em;
  width: var(--size);
  height: var(--size);
  background: var(--color);
}
.is-sp .portal-navi__item.is-active {
  --color: var(--default-color-orange);
}
.is-sp .portal-navi__close {
  cursor: pointer;
}
.is-sp .portal-navi__close.is-icon {
  --icon-size: min((90vw / 7.5), 60px);
  position: absolute;
  top: 0;
  right: 0;
}
.is-sp .portal-navi__close.is-button {
  --icon-size: min((80vw / 7.5), 45px);
  background: var(--default-color-emegreen);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 min((25vw / 7.5), 20px);
  font-size: min((26vw / 7.5), 16px);
  font-weight: normal;
  border-radius: 10px;
  height: min((85vw / 7.5), 50px);
  padding-right: var(--icon-size);
  margin-top: min((40vw / 7.5), 40px);
}
.is-sp .portal-navi__close--icon {
  width: var(--icon-size);
  height: var(--icon-size);
}
/*portal-navi pc*/
.is-pc .portal-navi {
  background: #fff;
  border-radius: 5px;
  width: var(--portal-width);
  text-align: left;
  position: absolute;
  top: var(--yohaku);
  right: 0;
  z-index: 2;
}
.is-pc .portal-navi__active, .is-pc .portal-navi__item {
  padding: 0 12px;
}
.is-pc .portal-navi__item.is-active {
  display: none;
}
.is-pc .portal-navi__active--name, .is-pc .portal-navi__link {
  padding: .25em .2em .4em .2em;
  line-height: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .25em;
}
.is-pc .portal-navi__link {
  border-top: dotted 1px #000;
}
.is-pc .portal-navi__active--name::after, .is-pc .portal-navi__link::after {
  content: "";
  width: .5em;
  height: 1.5em;
  background: var(--default-icon-arrow-right-black);
}
.is-pc .portal-navi__active--name::after {
  transform: rotate(90deg);
  transition: transform var(--default-hover-speed);
}
.is-pc .portal-navi__active.is-open .portal-navi__active--name::after {
  transform: rotate(-90deg);
}
/*fixed-button*/
.fixed-button__link {
  --size-yoko: min((120vw / 7.5), 120px);
  --size-tate: min((126vw / 7.5), 126px);
  --posi: min((196vw / 7.5), 215px);
  display: block;
  width: var(--size-yoko);
  height: var(--size-tate);
  position: absolute;
  z-index: 1;
  right: min((20vw / 7.5), 20px);
  margin-top: var(--posi);
  transition: right .8s ease-out, margin .3s;
}
.is-pc .fixed-button__link {
  --size-yoko: 140px;
  --size-tate: 146px;
  --posi: 80px;
}
.fixed-button.is-fixed-active .fixed-button__link {
  position: fixed;
  top: 0;
  z-index: 10;
}
.is-sp .fixed-button.is-fixed-active .fixed-button__link {
  --posi: 20px;
}
.fixed-button.is-target-over .fixed-button__link {
  right: -200px;
}
.fixed-button__text {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/*------------------------------------------------*/
/*★ ＝＝ mainArea ＝＝ ★*/
.section__title {
  font-size: min((40vw / 7.5), 36px);
  text-align: center;
  font-weight: bold;
  margin-bottom: min((60vw / 7.5), 65px);
}
[id*="-info"], #branch, #map {
  background: rgba(239, 117, 23, .9);
}
#theme, #course, #useful-article {
  background: #fff;
}
#point {
  background: rgba(0, 0, 0, .7);
}
:is([id*="-info"], #branch) .section__title {
  color: #fff;
}
#pageApp::before {
  background-image: url("../images/point_bg_photo.jpg");
  opacity: 0;
}
#pageApp.is-bg-switch::before {
  opacity: 1;
}
/*map*/
#map .section__inner {
  width: 100%;
}
.map {
  margin-bottom: min((47vw / 7.5), 58px);
}
.is-sp .map__area, .is-pc .map {
  background: no-repeat center top / 100vw;
}
.is-sp .map__area {
  background-image: url("../images/map_bg_seoul_sp.png");
}
.is-pc .map {
  background-image: url("../images/map_bg_seoul_pc.png");
  background-size: 1200px;
}
.map__inner {
  position: relative;
}
.map__title {
  margin-bottom: 0;
}
.is-sp .map__title .base-title__picture {
  height: min((118vw / 7.5), 118px);
  width: auto;
  object-fit: contain;
}
.is-pc .map__title {
  width: var(--default-width);
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: left;
}
.map__area {
  width: 100%;
  height: calc(1053vw / 7.5);
  position: relative;
}
.is-sp .map__area {
  margin-top: max((-8vw / 7.5), -8px);
}
.is-pc .map__area {
  width: 914px;
  height: 917px;
  margin: auto;
}
.map__area--item {
  width: calc(200vw / 7.5);
  background: #000;
  color: #fff;
  text-align: center;
  padding: 5px;
  position: absolute;
}
.map__area--item.is-target::before {
  content: "";
  width: min((193vw / 7.5), 135px);
  height: min((94vw / 7.5), 66px);
  background: url("../images/map_icon_flag.png") no-repeat center center / contain;
  position: absolute;
  top: max((-38vw / 7.5), -26px);
  right: max((-20vw / 7.5), -36px); /*-48vw*/
  z-index: 1;
}
.is-pc .map__area--item {
  width: 158px;
}
.map__area--photo {
  width: 100%;
  height: calc(125vw / 7.5);
  object-fit: cover;
  display: block;
  border: 2px solid;
}
.is-pc .map__area--photo {
  height: 100px;
}
.map__area--name {
  font-size: min((22vw / 7.5), 18px);
  line-height: 1.2;
  margin: .4em 0 .2em;
  font-weight: bold;
}
/*↓mapエリアposi↓*/
.is-sp .map__area--item.is-myeongdong {
  top: calc(205vw / 7.5);
  left: calc(266vw / 7.5);
}
.is-sp .map__area--item.is-dongdaemun {
  top: calc(160vw / 7.5);
  right: calc(53vw / 7.5);
}
.is-sp .map__area--item.is-hongdae {
  top: calc(317vw / 7.5);
  left: calc(21vw / 7.5);
}
.is-sp .map__area--item.is-seongsudong {
  top: calc(401vw / 7.5);
  right: calc(28vw / 7.5);
}
.is-sp .map__area--item.is-yeouido {
  top: calc(534vw / 7.5);
  left: calc(59vw / 7.5);
}
.is-sp .map__area--item.is-suwon {
  top: calc(549vw / 7.5);
  left: calc(286vw / 7.5);
}
.is-sp .map__area--item.is-busan {
  bottom: calc(53vw / 7.5);
  right: calc(110vw / 7.5);
}
.is-pc .map__area--item.is-myeongdong {
  top: 344px;
  left: 360px;
}
.is-pc .map__area--item.is-dongdaemun {
  top: 277px;
  right: 230px;
}
.is-pc .map__area--item.is-hongdae {
  top: 389px;
  left: 175px;
}
.is-pc .map__area--item.is-seongsudong {
  top: 434px;
  right: 140px;
}
.is-pc .map__area--item.is-yeouido {
  bottom: 226px;
  left: 232px;
}
.is-pc .map__area--item.is-suwon {
  bottom: 144px;
  left: 403px;
}
.is-pc .map__area--item.is-busan {
  bottom: 167px;
  right: 0;
}
/*↑mapエリアposi↑*/
.area-check {
  width: min(var(--default-width-sp), 700px);
  background: #fff;
  border: 1px solid;
  margin: auto;
  text-align: center;
  font-weight: bold;
  padding: min((40vw / 7.5), 25px) min((40vw / 7.5), 25px) min((45vw / 7.5), 40px);
}
.area-check__title {
  color: var(--default-color-orange);
  line-height: 1;
}
.area-check__title [class*="base-title__text--"] {
  display: block;
}
.area-check__title .base-title__text--sub {
  font-size: min((30vw / 7.5), 24px);
  margin-bottom: .5em;
}
.area-check__title .base-title__text--main {
  font-size: min((72vw / 7.5), 48px);
}
.area-check__text {
  font-size: min((24vw / 7.5), 18px);
  line-height: calc(28 / 18);
  margin: min((50vw / 7.5), 24px) 0 min((40vw / 7.5), 30px);
}
/*map -- area*/
@media (orientation: portrait) {
  .is-sp .modal[data-name="area-detail"] {
    height: min(90svh, (560vw / 3.75));
  }
}
.area {
  display: grid !important;
  gap: min((34vw / 7.5), 34px);
  padding: min((50vw / 7.5), 50px) min((45vw / 7.5), 45px);
}
.is-pc .area {
  grid-template-columns: auto 1fr;
  gap: 27px;
  padding: 40px;
}
.area__detail {
  order: 1;
  font-weight: bold;
}
.area__photo {
  width: min(100%, 500px);
  height: min((340vw / 7.5), 340px);
  object-fit: contain;
  margin-left: auto;
  margin-right: auto;
}
.is-pc .area__photo {
  width: 380px;
  height: 260px;
}
.area__title {
  font-size: min((18vw / 7.5), 12px);
  line-height: 1;
  padding-bottom: min((24vw / 7.5), 18px);
  border-bottom: 1px solid;
  margin-bottom: min((24vw / 7.5), 25px);
}
.area__title .base-title__inner {
  display: grid;
  gap: .6em;
  justify-items: center;
}
.is-pc .area__title .base-title__inner {
  justify-content: start;
}
.area__title .base-title__text--main--item {
  font-size: min((48vw / 7.5), 40px);
  font-weight: var(--fw-black);
}
.area__access {
  margin-top: min((50vw / 7.5), 30px);
}
.area__access--title {
  font-size: min((28vw / 7.5), 18px);
  font-weight: var(--fw-black);
  line-height: 1;
  margin-bottom: .6em;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: .5em;
}
.area__access--title::before {
  content: "";
  width: calc(34em / 28); /*右端切れる対策で少し大きめ*/
  height: calc(40em / 28);
  background: url("../images/icon_map.png") no-repeat left center / contain;
}
/*map -- modal */
.modal__inner {
  /*min-height: min((1060vw / 7.5), 1060px);*/
  background: #fff;
  height: 100%;
  overflow-y: auto;
}
.is-sp .modal__inner {
  margin: 0 min((40vw / 7.5), 40px);
}
.is-pc .modal__inner {
  min-height: 500px;
}
.modal[data-name="area-check"] .modal__inner {
  display: grid;
}
.modal[data-name="area-check"] .modal__content.question {
  display: grid;
  align-content: center;
  gap: min((80vw / 7.5), 80px);
  padding: min((50vw / 7.5), 50px) 0;
}
.modal__content {
  position: relative;
}
.question__title {
  font-size: min((40vw / 7.5), 40px);
  text-align: center;
  font-weight: var(--fw-black);
  line-height: 1;
}
.question__list {
  width: min(84%, 752px);
  display: grid;
  gap: min((90vw / 7.5), 32px);
  margin: auto;
}
.is-pc .question__list {
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
}
.question__item {
  height: min((250vw / 7.5), 180px);
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 1em;
  border-radius: min((10vw / 7.5), 10px);
  background: #fff;
  font-size: min((26vw / 7.5), 18px);
  line-height: 1;
  text-align: center;
  font-weight: bold;
  border: min((2vw / 7.5), 2px) solid;
  cursor: pointer;
}
.question__item b {
  font-size: 1.3em;
  font-weight: var(--fw-black);
}
.answer__title {
  --posi: calc(-116em / 36);
  position: absolute;
  top: var(--posi);
  width: 100%;
  font-size: min((36vw / 7.5), 40px);
  font-weight: var(--fw-black);
  line-height: 1.5;
  text-align: center;
  color: #fff;
  display: grid;
  justify-items: center;
  justify-content: center;
  align-items: end;
  grid-template-columns: 1em auto 1em;
  gap: .25em;
}
.is-sp .answer__title {
  left: 0;
  right: 0;
  margin: auto;
}
.is-pc .answer__title {
  --posi: calc(-75em / 40);
}
.answer__title::before, .answer__title::after {
  content: "";
  background: currentColor;
  width: 1px;
  height: 1.25em;
}
.answer__title::before {
  transform: rotate(-45deg);
}
.answer__title::after {
  transform: rotate(45deg);
}
.modal .slider__arrow {
  --posi: max((-20vw / 7.5), -40px);
}
.is-pc .modal .slider__arrow {
  --posi: -60px;
}
.modal .slider__dots {
  position: absolute;
  bottom: max((-45vw / 7.5), -20px);
  left: 0;
  right: 0;
}
/*theme*/
#theme .section__inner {
  padding: 0;
  width: 100%;
  padding-top: min((90vw / 7.5), 80px);
}
#theme .section__title {
  width: var(--default-width);
  margin-left: auto;
  margin-right: auto;
}
.theme {
  position: relative;
}
.theme__button {
  width: var(--default-width);
  margin: auto;
  display: grid;
  justify-content: center;
  grid-auto-flow: column;
  gap: min((20vw / 7.5), 17px);
  position: relative;
  z-index: 1;
}
.is-sp .theme__button {
  grid-auto-columns: 1fr;
  margin-bottom: min((70vw / 7.5), 70px);
}
.theme__button--item[class*="active"]::after {
  content: "";
  width: min((24vw / 7.5), 20px);
  height: min((20vw / 7.5), 17px);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  display: block;
  margin: auto;
  position: relative;
  top: -1px; /*謎の余白対策*/
}
.is-pc .theme__button--item {
  width: 180px;
}
.theme__button--name {
  height: min((70vw / 7.5), 60px);
  display: grid;
  align-items: center;
  color: #fff;
  text-align: center;
  font-size: min((32vw / 7.5), 28px);
  line-height: 1.2;
  font-weight: bold;
}
.theme__block {
  --yohaku: calc(25vw / 7.5);
  padding-top: var(--yohaku);
  position: relative;
}
.is-pc .theme__block {
  --yohaku: min((185vw / 9.92), 185px);
  margin-top: max((-38.5vw / 9.92), -77px);
}
.theme__block::before {
  --height: calc((135vw / 7.5) + 5px);
  content: "";
  display: block;
  width: calc(100% + 10px);
  height: var(--height);
  clip-path: polygon(0 0, 0 100%, 100% 0);
  background: #fff;
  position: absolute;
  top: -.5px; /*隙間対策*/
  right: -10px;
}
.is-pc .theme__block::before {
  --height: min(((185vw / 9.92) + 5px), (326px + 5px));
}
#theme-gourmet, [data-target="#theme-gourmet"] .theme__button--name, [data-target="#theme-gourmet"]::after {
  background-color: #ff6f00;
}
#theme-shopping, [data-target="#theme-shopping"] .theme__button--name, [data-target="#theme-shopping"]::after {
  background-color: #1b7519;
}
#theme-culture, [data-target="#theme-culture"] .theme__button--name, [data-target="#theme-culture"]::after {
  background-color: #193175;
}
.theme__block--name {
  width: min(100%, 1920px);
  margin: min((175vw / 7.5), 100px) auto 0;
  font-size: min((500vw / 7.5), 500px);
  line-height: 1;
  font-weight: bold;
  color: #fff;
  opacity: .15;
  position: absolute;
  left: 0;
  right: 0;
}
.theme__block--name.is-fixed .theme__block--name--text {
  position: fixed;
  top: 0;
}
.is-bg-switch .theme__block--name.is-fixed .theme__block--name--text {
  opacity: 0;
}
#theme-gourmet .theme__block--name {
  text-indent: -.02em;
}
#theme-shopping .theme__block--name {
  text-indent: -.035em;
}
#theme-culture .theme__block--name {
  text-indent: -.03em;
}
.theme__block--inner {
  width: var(--default-width);
  margin: auto;
  position: relative;
  display: grid;
  padding-bottom: min((154vw / 7.5), 145px);
}
.is-sp .theme__block--inner {
  width: var(--default-width2);
  justify-items: center;
}
.theme__block--kazari {
  height: var(--height);
  width: auto;
  object-fit: contain;
  margin-top: var(--posi);
  margin-bottom: min((35vw / 7.5), 54px);
}
.is-pc .theme__block--kazari {
  margin-left: min((70vw / 7.5), 70px);
}
#theme-gourmet .theme__block--kazari {
  --height: min((231vw / 7.5), 228px);
  --posi: max((-23vw / 7.5), -29px);
}
#theme-shopping .theme__block--kazari {
  --height: min((198vw / 7.5), 200px);
  --posi: max((-13vw / 7.5), -24px);
}
#theme-culture .theme__block--kazari {
  --height: min((179vw / 7.5), 183px);
  --posi: 0;
}
.theme__block--title {
  width: var(--default-width);
}
.theme__block--title .base-title__inner {
  display: grid;
  gap: min((15vw / 7.5), 15px);
  justify-items: start;
  font-size: min((32vw / 7.5), 32px);
}
.theme__block--title :is(.base-title__text--sub--item, .base-title__text--main--item) {
  line-height: 1.2;
  color: #fff;
  font-weight: var(--fw-black);
  display: grid;
  background: var(--default-color-black);
  padding: .5em 0 .7em;
  white-space: nowrap;
  overflow: hidden;
}
.is-pc .theme__block--title :is(.base-title__text--sub--item, .base-title__text--main--item) {
  display: inline-block;
}
.theme__block--title .base-title__text--sub--item {
  font-size: min((38vw / 7.5), 38px);
}
.theme__block--title :is(.base-title__text--sub--text, .base-title__text--main--text) {
  padding: 0 .7em;
}
.is-sp .theme__block--title :is(.base-title__text--sub--text, .base-title__text--main--text) > .is-inline-block {
  display: block;
}
.theme__list {
  display: grid;
  gap: min((110vw / 7.5), 100px);
}
.is-pc .theme__list {
  gap: 154px;
}
.theme__item {
  position: relative;
}
.is-sp .theme__item {
  display: grid;
  justify-items: center;
  gap: min((62vw / 7.5), 60px);
}
.is-sp #theme-gourmet .theme__item.is-standard .theme__item--photo {
  height: min((815vw / 7.5), 815px);
}
.is-sp #theme-gourmet .theme__item.is-market .theme__item--photo {
  height: min((648vw / 7.5), 648px);
}
.is-sp #theme-gourmet .theme__item.is-drink .theme__item--photo {
  height: min((936vw / 7.5), 936px);
}
.is-sp #theme-shopping .theme__item.is-clothes .theme__item--photo {
  height: min((810vw / 7.5), 810px);
}
.is-sp #theme-shopping .theme__item.is-cosmetics .theme__item--photo {
  height: min((617vw / 7.5), 617px);
}
.is-sp #theme-shopping .theme__item.is-souvenir .theme__item--photo {
  height: min((598vw / 7.5), 598px);
}
.is-sp #theme-culture .theme__item.is-worldheritage-seoul .theme__item--photo {
  height: min((729vw / 7.5), 729px);
}
.is-sp #theme-culture .theme__item.is-worldheritage-nearseoul .theme__item--photo {
  height: min((417vw / 7.5), 417px);
}
.is-sp #theme-culture .theme__item.is-demilitarizedzone .theme__item--photo {
  height: min((431vw / 7.5), 431px);
}
.theme__item--photo .base-picture__image {
  object-fit: contain;
  width: auto;
  height: 100%;
}
.theme__item--texts {
  background: #fff;
  margin-top: min((36vw / 7.5), 24px);
  display: grid;
}
.is-sp .theme__item--texts {
  width: var(--default-width);
  margin-left: auto;
  margin-right: auto;
  order: 1;
}
.theme__item--title {
  margin: max((-36vw / 7.5), -24px) .5em min((52vw / 7.5), 30px) min((37vw / 7.5), 27px);
}
.theme__item--title .base-title__text--main {
  display: grid;
  justify-content: start;
}
.theme__item--title .base-title__text--main--item {
  font-size: min((42vw / 7.5), 30px); /*46vw*/
  line-height: 1.2;
  letter-spacing: -1px;
  color: #fff;
  background: var(--default-color-black);
  font-weight: var(--fw-black);
  padding: .2em 0 .4em;
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
}
.is-pc .theme__item--title .base-title__text--main--item {
  font-size: min((22vw / 7.5), 30px);
}
.theme__item--title .base-title__text--main--text {
  padding: 0 .75em;
}
.is-sp .theme__item--title :is(.base-title__text--main--text, .base-title__text--main--text > .is-inline-block) {
  display: block;
}
.theme__item--wrapper {
  padding: 0 min((38vw / 7.5), 20px) min((50vw / 7.5), 30px);
  font-weight: bold;
}
.theme__item--lead:not(:last-child), .theme__item--detail--item:not(:last-child) {
  margin-bottom: 1em;
}
.theme__item--text:not(:first-child) {
  margin-top: 1em;
}
.theme__item--detail--title {
  font-size: min((26vw / 7.5), 18px);
}
.theme__item--detail--text .icon.is-num:not(:first-child) {
  margin-left: 1em;
}
/*theme -- PCレイアウト調整*/
.is-pc .theme__item--content {
  --posi: 0;
  width: calc((496 / var(--default-width-pc-val)) * 100%);
  margin-top: var(--posi);
  position: absolute;
  top: 0;
  z-index: 1;
}
.is-pc .theme__item.is-worldheritage-nearseoul .theme__item--content {
  width: calc((626 / var(--default-width-pc-val)) * 100%);
}
.is-pc .theme__item:nth-child(odd) .theme__item--content {
  right: 0;
}
.is-pc .theme__item:nth-child(even) .theme__item--content {
  left: 0;
}
.is-pc .theme__item--photo {
  --posi: 0;
  width: var(--yoko);
  padding-top: var(--tate);
  margin-top: var(--posi);
  position: relative;
  z-index: 1;
}
.is-pc .theme__item:nth-child(even) .theme__item--photo {
  margin-left: auto;
}
.is-pc .theme__item--photo .base-picture__image {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 1;
}
.is-pc #theme-gourmet .theme__item.is-standard .theme__item--photo {
  --yoko: calc((736 / var(--default-width-pc-val)) * 100%);
  --tate: calc((983 / var(--default-width-pc-val)) * 100%);
}
.is-pc #theme-gourmet .theme__item.is-standard .theme__item--content {
  --posi: calc((50 / var(--default-width-pc-val)) * 100%);
}
.is-pc #theme-gourmet .theme__item.is-market .theme__item--photo {
  --yoko: calc((756 / var(--default-width-pc-val)) * 100%);
  --tate: calc((710 / var(--default-width-pc-val)) * 100%);
}
.is-pc #theme-gourmet .theme__item.is-market .theme__item--content {
  --posi: calc((205 / var(--default-width-pc-val)) * 100%);
}
.is-pc #theme-gourmet .theme__item.is-drink .theme__item--photo {
  --yoko: calc((506 / var(--default-width-pc-val)) * 100%);
  --tate: calc((781 / var(--default-width-pc-val)) * 100%);
  --posi: calc((5 / var(--default-width-pc-val)) * 100%);
}
.is-pc #theme-shopping .theme__item.is-clothes .theme__item--photo {
  --yoko: calc((483 / var(--default-width-pc-val)) * 100%);
  --tate: calc((675 / var(--default-width-pc-val)) * 100%);
}
.is-pc #theme-shopping .theme__item.is-clothes .theme__item--content {
  --posi: calc((10 / var(--default-width-pc-val)) * 100%);
}
.is-pc #theme-shopping .theme__item.is-cosmetics .theme__item--photo {
  --yoko: calc((724 / var(--default-width-pc-val)) * 100%);
  --tate: calc((693 / var(--default-width-pc-val)) * 100%);
  --posi: calc((58 / var(--default-width-pc-val)) * 100%); /*15*/
}
.is-pc #theme-shopping .theme__item.is-souvenir .theme__item--photo {
  --yoko: calc((495 / var(--default-width-pc-val)) * 100%);
  --tate: calc((683 / var(--default-width-pc-val)) * 100%);
}
.is-pc #theme-shopping .theme__item.is-souvenir .theme__item--content {
  --posi: calc((67 / var(--default-width-pc-val)) * 100%);
}
.is-pc #theme-culture .theme__item.is-worldheritage-seoul .theme__item--photo {
  --yoko: calc((895 / var(--default-width-pc-val)) * 100%);
  --tate: calc((778 / var(--default-width-pc-val)) * 100%);
  --posi: calc((40 / var(--default-width-pc-val)) * 100%); /*3*/
}
.is-pc #theme-culture .theme__item.is-worldheritage-nearseoul .theme__item--photo {
  --yoko: calc((344 / var(--default-width-pc-val)) * 100%);
  --tate: calc((458 / var(--default-width-pc-val)) * 100%);
  --posi: calc((10 / var(--default-width-pc-val)) * 100%);
}
.is-pc #theme-culture .theme__item.is-demilitarizedzone .theme__item--photo {
  --yoko: calc((450 / var(--default-width-pc-val)) * 100%);
  --tate: calc((328 / var(--default-width-pc-val)) * 100%);
  --posi: calc((57 / var(--default-width-pc-val)) * 100%);
}
/*theme -- animation*/
.theme__block--title.js-animation :is(.base-title__text--sub--item, .base-title__text--main--item), .theme__item.js-animation .theme__item--title .base-title__text--main--item {
  width: 0;
}
.theme__block--title.js-animation.is-active :is(.base-title__text--sub--item, .base-title__text--main--item), .theme__item.js-animation.is-active .theme__item--title .base-title__text--main--item {
  animation: var(--animation-obitext);
}
.theme__item.js-animation .theme__item--photo {
  opacity: 0;
  --animation-photo: dsp-photo 2.5s cubic-bezier(.16, 1, .3, 1) forwards;
}
.is-sp .theme__item--photo.js-animation.is-active {
  animation: var(--animation-photo);
}
.is-pc .theme__item.js-animation.is-active .theme__item--photo {
  animation: var(--animation-photo);
  animation-delay: .5s;
}
/*course*/
#course .section__inner {
  padding-top: min((420vw / 7.5), 420px);
}
.is-pc #course .section__inner {
  padding-top: 35px;
}
#course .section__title {
  font-size: min((40vw / 7.5), 30px);
  line-height: calc(40 / 30);
  font-weight: var(--fw-black);
  text-align: left;
  letter-spacing: -.5px;
  margin-bottom: .75em;
}
#course :is(.section__title, .section__lead) {
  width: min((660vw / 7.5), 660px);
  margin-left: auto;
}
.is-sp #course :is(.section__title, .section__lead) {
  /*width: min((660vw / 7.5), 660px);*/
  margin-right: auto;
}
.is-pc #course :is(.section__title, .section__lead) {
  /*width: min(((638 / var(--default-width-pc-val)) * 100%), 610px);
  margin-left: auto;*/
  padding-right: 3em;
}
.course {
  display: grid;
  gap: min((105vw / 7.5), 70px);
  margin-top: min((105vw / 7.5), 70px);
}
.course__block--title {
  font-size: min((84vw / 7.5), 64px);
  margin-bottom: min((70vw / 7.5), 50px);
}
.course__block--title b {
  color: #fff;
  text-shadow: 1px 1px 0 var(--default-color-black), -1px -1px 0 var(--default-color-black), -1px 1px 0 var(--default-color-black), 1px -1px 0 var(--default-color-black), 0px 1px 0 var(--default-color-black), 0-1px 0 var(--default-color-black), -1px 0 0 var(--default-color-black), 1px 0 0 var(--default-color-black);
  margin-right: .04em;
  font-weight: inherit;
}
.course__block--title .is-kerning-small {
  letter-spacing: -.07em;
  padding-right: .07em;
}
/*point：point内に商品枠有*/
#point .section__inner {
  width: 100%;
  position: relative;
  z-index: 1;
}
@media screen and (min-width:1025px) {
  #point .section__inner {
    width: var(--default-width2);
  }
}
#point .section__title {
  color: var(--default-color-orange);
  font-size: min((64vw / 7.5), 64px);
  line-height: 1.05;
}
#point .section__title :is(strong, b) {
  font-size: min((80vw / 7.5), 80px);
}
#point .section__title strong {
  color: #fff;
  padding: 0 .1em;
  letter-spacing: -1px;
}
#point .section__title small {
  font-size: min((40vw / 7.5), 40px);
}
#point .section__title .is-font-small {
  font-size: min((60vw / 7.5), 60px);
}
#point .section__title .is-kerning-small {
  letter-spacing: -.25em;
  padding-right: .25em;
}
#point .section__subtitle {
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: min((48vw / 7.5), 36px);
  line-height: 1.2;
  margin-bottom: min((60vw / 7.5), 35px);
}
.point {
  display: grid;
  gap: min((42vw / 7.5), 25px);
  width: var(--default-width);
  margin: auto;
}
.is-pc .point {
  --yohaku-yoko: calc((16 / var(--default-width-pc-val)) * 100%);
  grid-template-columns: repeat(auto-fit, calc((100% - var(--yohaku-yoko) * 2) / 3));
  gap: var(--yohaku-yoko);
  justify-content: center;
}
.point__item {
  background: #fff;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  padding: min((30vw / 7.5), 15px) min((35vw / 7.5), 15px) min((56vw / 7.5), 35px);
}
.point__item--title {
  color: var(--default-color-orange);
  font-weight: bold;
  text-align: center;
  font-size: min((36vw / 7.5), 24px);
  line-height: 1.2;
  align-self: center;
}
.point__item--texts {
  display: flex;
  flex-direction: column;
  border-top: 1px solid;
  --yohaku: min((20vw / 7.5), 10px);
  padding-top: var(--yohaku);
  margin-top: var(--yohaku);
}
.point__item--text {
  font-size: min(var(--default-font-size-sp), 18px);
  line-height: calc(28 / 18);
  font-weight: bold;
}
.point__item--buttons {
  margin-top: auto;
}
.point__item--button:first-child {
  margin-top: min((35vw / 7.5), 25px) !important;
}
#product {
  padding-top: min((160vw / 7.5), 80px);
}
#product .section__button--wrapper {
  width: var(--default-width);
  margin: auto;
}
.product__list--item:is(.gourmet, .shopping, .culture) .product__list--price {
  --label-posi1: 0 bottom;
  --label-posi2: min((132vw / 7.5), 66px) bottom;
  --label-posi3: min((264vw / 7.5), 132px) bottom;
  --label-setting: no-repeat var(--label-posi1) / min((120vw / 7.5), 60px);
  --label-shopping: url("../images/label_shopping.svg") var(--label-setting);
  --label-gourmet: url("../images/label_gourmet.svg") var(--label-setting);
  --label-culture: url("../images/label_culture.svg") var(--label-setting);
  padding-bottom: min((60vw / 7.5), 30px);
}
.product__list--item.gourmet:not(.shopping, .culture) .product__list--price {
  background: var(--label-gourmet);
}
.product__list--item.shopping:not(.gourmet, .culture) .product__list--price {
  background: var(--label-shopping);
}
.product__list--item.culture:not(.gourmet, .shopping) .product__list--price {
  background: var(--label-culture);
}
.product__list--item.gourmet.shopping.culture .product__list--price {
  background: var(--label-gourmet), var(--label-shopping), var(--label-culture);
  background-position: var(--label-posi1), var(--label-posi2), var(--label-posi3);
}
.product__list--item.gourmet.shopping .product__list--price {
  background: var(--label-gourmet), var(--label-shopping);
}
.product__list--item.gourmet.culture .product__list--price {
  background: var(--label-gourmet), var(--label-culture);
}
.product__list--item.shopping.culture .product__list--price {
  background: var(--label-shopping), var(--label-culture);
}
:is(.product__list--item.gourmet.shopping, .product__list--item.gourmet.culture, .product__list--item.shopping.culture) .product__list--price {
  background-position: var(--label-posi1), var(--label-posi2);
}
/*basic-info*/
.basic-info {
  --boder: 1px solid;
  display: grid;
  color: #fff;
  font-size: min(var(--default-font-size-sp), 14px);
  font-weight: bold;
  border-top: var(--boder);
  border-bottom: var(--boder)
}
.is-pc .basic-info {
  gap: 0 calc((32 / var(--default-width-pc-val)) * 100%);
  grid-template-columns: repeat(2, 1fr);
}
.is-pc .basic-info__item:nth-child(n + 3), .is-sp .basic-info__item:nth-child(n + 2) {
  border-top: var(--boder);
}
.basic-info__item {
  display: grid;
  grid-template-columns: min((130vw / 7.5), 105px) 1fr;
  padding: 1em 0 1.2em;
}
/*useful-info*/
.useful-info {
  display: grid;
  gap: min((56vw / 7.5), 26px) 0;
}
.is-pc .useful-info {
  --yohaku-yoko: calc((26 / var(--default-width-pc-val)) * 100%);
  grid-template-columns: repeat(auto-fit, calc((100% - var(--yohaku-yoko) * 2) / 3));
  gap: 0 var(--yohaku-yoko);
}
.useful-info__item {
  --yohaku-tate: min((40vw / 7.5), 30px);
  background: #fff;
  padding: var(--yohaku-tate) min((40vw / 7.5), 25px);
  border: 1px solid;
}
.is-pc .useful-info__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
.is-pc .useful-info__item:not([class*="is-column"]):not(:only-child) {
  padding: var(--yohaku-tate) min((40vw / 7.5), 15px);
}
.is-pc .useful-info__item.is-column-2 {
  grid-column: span 2;
}
.is-pc :is(.useful-info__item.is-column-3, .useful-info__item:only-child) {
  grid-column: span 3;
}
.useful-info__item--title {
  color: var(--default-color-orange);
  font-weight: bold;
  text-align: center;
  font-size: min((30vw / 7.5), 24px);
  line-height: 1.2;
  margin-bottom: min((40vw / 7.5), 25px);
  display: grid;
  align-items: center;
}
.useful-info__item--detail {
  font-weight: bold;
  font-size: min(var(--default-font-size-sp), 18px);
  line-height: calc(28 / 18);
}
.useful-info__item--list.is-column-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2em calc(48em / 18);
}
.useful-info__item--list--item--title {
  font-size: min(var(--default-font-size-sp), 20px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .25em;
  margin-bottom: .5em;
}
.useful-info__item--list--item--title::before, .useful-info__item--list--item--title::after {
  content: "";
  width: 100%;
  height: 1px;
  background: currentColor;
}
#useful-info .section__button--wrapper {
  margin-top: min((70vw / 7.5), 100px);
}
/*branch*/
.branch__item {
  background: #fff;
  border: 1px solid;
  padding: min((40vw / 7.5), 30px) min((40vw / 7.5), 45px) min((60vw / 7.5), 30px);
}
.branch__item--title {
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  margin-bottom: min((40vw / 7.5), 35px);
}
.branch__item--title .base-title__inner {
  display: grid;
  gap: min((10vw / 7.5), 14px);
}
.branch__item--title .base-title__text--sub {
  color: var(--default-color-orange);
  font-size: min((30vw / 7.5), 24px);
}
.branch__item--title .base-title__text--main {
  font-size: min((40vw / 7.5), 30px);
}
.branch__item--detail {
  display: grid;
  gap: min((40vw / 7.5), 28px);
  font-weight: bold;
  font-size: min(var(--default-font-size-sp), 18px);
  line-height: calc(28 / 18);
}
.is-pc .branch__item--detail {
  grid-template-columns: auto 1fr;
}
.branch__item--photo {
  text-align: center;
}
.branch__item--photo .base-picture__image {
  height: min((270vw / 7.5), 270px);
  width: auto;
  object-fit: cover;
}
.branch__item--access {
  border: 1px solid;
  padding: .75em 1em 1em;
  margin-top: 1em;
}
.branch__item--access--notes {
  font-size: min((18vw / 7.5), 14px);
  margin-top: .5em;
}
.branch__item--buttons {
  margin-top: min((40vw / 7.5), 20px);
}
#branch .section__button--wrapper {
  margin-top: min((65vw / 7.5), 50px)
}
/*useful-article*/
.is-pc #useful-article.section::before {
  --size: min((630vw / 7.5), 630px);
  content: "";
  display: block;
  width: var(--size);
  height: var(--size);
  background: url("../../all/images/bg_text_report.svg") no-repeat 0 0 / contain;
  animation: 90s var(--animation-loop) rotate;
  position: absolute;
  top: 0;
  bottom: 0;
  right: max((-324vw / 7.5), -324px);
  margin: auto;
}
.article {
  --yohaku-yoko: calc((30 / var(--default-width-sp-val)) * 100%);
  display: grid;
  gap: min((25vw / 7.5), 25px) var(--yohaku-yoko);
  grid-template-columns: repeat(auto-fit, calc((100% - var(--yohaku-yoko)) / 2));
  justify-content: center;
}
.is-pc .article {
  --yohaku-yoko: calc((37 / var(--default-width-pc-val)) * 100%);
  grid-template-columns: repeat(auto-fit, calc((100% - var(--yohaku-yoko) * 3) / 4));
}
.article__item {
  display: flex;
  flex-direction: column;
  background: #fff;
}
.article__item--photo {
  height: min((200vw / 7.5), 120px);
  width: 100%;
  object-fit: cover;
}
.article__item--text {
  flex: 1;
  order: 1;
  background: #000;
  color: #fff;
  padding: .75em .75em 1em;
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  .is-sp .portal-navi__item:hover {
    --color: var(--default-color-orange);
    transition: var(--default-hover-transition2), var(--default-hover-transition3);
  }
  .is-sp .portal-navi__item:hover .portal-navi__link {
    transition: var(--default-hover-transition3);
  }
  .is-sp .portal-navi__item:hover .portal-navi__link::before {
    transition: var(--default-hover-transition2);
  }
  .is-sp .portal-navi__active, .is-sp .portal-navi__close.is-button {
    transition: var(--default-hover-transition2);
  }
  .is-sp .portal-navi__active:hover {
    background: var(--default-color-emegreen);
  }
  .is-sp .portal-navi__close.is-button:hover {
    background: #000;
  }
  .section-navi__link, .is-pc .portal-navi__link, .is-pc .portal-navi__active {
    transition: var(--default-hover-transition3);
  }
  .section-navi__link:hover, .is-pc .portal-navi__link:hover, .is-pc .portal-navi__active:hover {
    color: var(--default-color-orange2);
  }
  .section-navi__link::after, .is-pc .portal-navi__link::after {
    transition: var(--default-hover-transition2);
  }
  .is-pc .portal-navi__active .portal-navi__active--name::after {
    transition: var(--default-hover-transition2), var(--default-hover-transition4);
  }
  .section-navi__link:hover::after, .is-pc .portal-navi__link:hover::after, .is-pc .portal-navi__active:hover .portal-navi__active--name::after {
    background-image: var(--icon-arrow-right-orange);
  }
  .question__item {
    transition: var(--default-hover-transition2);
  }
  .question__item:hover {
    background: var(--default-color-orange2);
  }
  .theme__button--item:not([class*="active"]), .article__item--link {
    transition: var(--default-hover-transition);
  }
  :is(.theme__button--item:not([class*="active"]), .article__item--link):hover {
    opacity: var(--default-hover-opacity);
  }
}