@charset "utf-8";
/* 「オトコ旅 course配下のみ」レスポンシブCSS */
#schedule, #course, #headerArea, #footerArea {
  background: #fff;
}
/*★ ＝＝ headerArea ＝＝ ★*/
/*mv*/
#mv {
  position: relative;
  --size: min((590vw / 7.5), var(--default-width-pc));
  --yohaku: min((12.5vw / 7.5), 12.5px);
}
.is-pc #mv {
  --yohaku: 28.5px;
}
.js-slider-mv .slider__arrow {
  --posi: calc(615vw / 7.5);
  left: 0;
  right: 0;
}
.is-pc .js-slider-mv .slider__arrow {
  --posi: min((805vw / 9.51), 1046px);
}
.js-slider-mv .slider__arrow.is-prev {
  right: var(--posi)
}
.js-slider-mv .slider__arrow.is-next {
  left: var(--posi)
}
.mv__accessories .slider__dots {
  margin-top: min((16vw / 7.5), 8px);
}
.mv__accessories li:not(.slick-active) .slider__dots--item {
  --dot-color: #ccc;
}
.mv__title {
  display: grid;
  justify-content: center;
  justify-items: center;
  align-items: center;
  text-align: center;
  position: absolute;
  top: min(calc(128vw / 7.5), 144px);
  left: 0;
  right: 0;
}
.mv__title .base-title__inner {
  display: grid;
  gap: min((23vw / 7.5), 29px);
}
.mv__title--text :is(.base-title__text--sub--item, .base-title__text--main--item) {
  font-size: min((36vw / 7.5), 48px);
  line-height: 1.2;
  color: #fff;
  background: var(--default-color-black);
  font-weight: bold;
  padding: .2em .7em .4em;
  display: inline-block;
}
.mv__photo--item {
  width: var(--size);
  margin: 0 var(--yohaku);
  height: min((420vw / 7.5), 500px);
  padding: min((20vw / 7.5), 25px) 0;
  transition: padding .4s ease;
}
.mv__photo--item[class*="center"] {
  padding: 0;
}
.mv__photo--item .base-picture__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right bottom;
}
/*------------------------------------------------*/
/*★ ＝＝ footerArea ＝＝ ★*/
#footerArea {
  padding: min((10vw / 7.5), 20px) 0 min((80vw / 7.5), 95px);
}
#reco-banner {
  margin-top: min((70vw / 7.5), 100px);
}
/*------------------------------------------------*/
/*★ ＝＝ mainArea ＝＝ ★*/
#pageApp.is-page-001.is-sp::before {
  background-image: url("../images/001/report_bg_photo_sp.jpg");
}
#pageApp.is-page-001.is-pc::before {
  background-image: url("../images/001/report_bg_photo_pc.jpg");
}
#pageApp.is-page-002.is-sp::before {
  background-image: url("../images/002/report_bg_photo_sp.jpg");
}
#pageApp.is-page-002.is-pc::before {
  background-image: url("../images/002/report_bg_photo_pc.jpg");
}
#pageApp.is-page-003.is-sp::before {
  background-image: url("../images/003/report_bg_photo_sp.jpg");
}
#pageApp.is-page-003.is-pc::before {
  background-image: url("../images/003/report_bg_photo_pc.jpg");
}
/*schedule*/
#schedule .section__inner {
  width: 100%;
  padding-top: 0;
}
.schedule__block {
  padding: min((75vw / 7.5), 75px) 0;
}
.schedule__block:nth-child(even) {
  background: #eee;
}
.schedule__block--inner {
  width: var(--default-width);
  margin: auto;
  display: grid;
  gap: min((85vw / 7.5), 80px) calc((80 / var(--default-width-pc-val)) * 100%);
  align-items: baseline;
  align-items: start;
}
.is-pc .schedule__block--inner {
  grid-template-columns: auto 1fr;
}
.schedule__block--title {
  font-weight: bold;
  font-size: min((100vw / 7.5), 100px);
  line-height: 1;
}
.is-sp .schedule__block--title {
  text-align: center;
}
.is-pc .schedule__block--title {
  margin-top: -.125em;
}
.schedule__block--detail.is-length-1 {
  align-self: center;
}
.schedule__list--item {
  display: grid;
  grid-template-areas:
    "ico txt"
    "none img";
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: start;
  gap: min((26vw / 7.5), 20px) 0;
  position: relative;
}
.schedule__list--item:not(:last-child) {
  padding-bottom: min((48vw / 7.5), 40px);
}
.schedule__list--item:not(:last-child)::before {
  --size: min((2vw / 7.5), 2px);
  --posi: min((35.5vw / 7.5), 35.5px);
  content: "";
  width: var(--size);
  height: 100%;
  background: currentColor;
  position: absolute;
  top: var(--posi);
  left: var(--posi);
}
.is-pc .schedule__list--item:not(:last-child)::before {
  --size: 2px;
  --posi: 24px;
}
.is-pc .schedule__list--item {
  grid-template-columns: auto auto auto;
  grid-template-areas: "ico txt img";
}
.schedule__list--text {
  grid-area: txt;
}
.schedule__list--photo {
  grid-area: img;
  width: auto;
  height: min((162vw / 7.5), 162px);
  object-fit: contain;
}
.is-pc .schedule__list--photo {
  height: 56px;
  margin-left: 18px;
}
.schedule__list--icon {
  --size: min((73vw / 7.5), 73px);
  grid-area: ico;
  background: no-repeat center center / contain;
  width: var(--size);
  height: var(--size);
  margin-right: min((20vw / 7.5), 24px);
  position: relative;
}
.is-pc .schedule__list--icon {
  --size: 50px;
}
.schedule__list--icon[data-name="空港"] {
  background-image: url("../images/schedule_icon_air.svg");
}
.schedule__list--icon[data-name="観光"] {
  background-image: url("../images/schedule_icon_camera.svg");
}
.schedule__list--icon[data-name="食事"] {
  background-image: url("../images/schedule_icon_eat.svg");
}
.schedule__list--icon[data-name="ホテル"] {
  background-image: url("../images/schedule_icon_hotel.svg");
}
.schedule__list--icon[data-name="買い物"] {
  background-image: url("../images/schedule_icon_shopping.svg");
}
.schedule__list--icon[data-name="移動"] {
  background-image: url("../images/schedule_icon_train.svg");
}
/*impression*/
#impression .section__inner {
  padding: min((130vw / 7.5), 155px) 0 min((150vw / 7.5), 155px);
}
.impression__block--wrapper {
  display: grid;
  font-weight: bold;
  gap: min((58vw / 7.5), 63px);
}
.is-pc .impression__block {
  width: 567px;
}
.is-pc .impression__block:nth-child(even) {
  justify-self: end;
  width: 596px;
  margin-right: calc((48 / var(--default-width-pc-val)) * 100%);
}
.impression__block--title {
  margin-bottom: min((20vw / 7.5), 20px);
}
.impression__block--title :is(.base-title__text--sub--item, .base-title__text--main--item) {
  line-height: 1.2;
  color: #fff;
  background: var(--default-color-black);
  font-size: min((36vw / 7.5), 30px);
  font-weight: var(--fw-black);
  text-align: center;
  padding: .5em 0 .7em;
  display: block;
  white-space: nowrap;
  overflow: hidden;
}
.is-pc .impression__block--title :is(.base-title__text--sub, .base-title__text--main) {
  display: grid;
  justify-content: start;
}
.is-pc .impression__block--title :is(.base-title__text--sub--item, .base-title__text--main--item) {
  text-align: left;
  display: inline-block;
  min-width: 440px;
}
.impression__block--title :is(.base-title__text--sub--text, .base-title__text--main--text) {
  padding: 0 .7em;
}
.impression__block--title.js-animation :is(.base-title__text--sub--item, .base-title__text--main--item) {
  width: 0;
  min-width: 0;
}
.is-sp .impression__block--title.js-animation :is(.base-title__text--sub--text, .base-title__text--main--text) {
  width: var(--default-width);
  display: block;
}
.impression__block--title.js-animation.is-active :is(.base-title__text--sub--item, .base-title__text--main--item) {
  animation: var(--animation-obitext);
}
.is-pc .impression__block--title.js-animation.is-active :is(.base-title__text--sub--item, .base-title__text--main--item) {
  min-width: 440px;
}
.impression__buttons {
  display: grid;
  justify-items: center;
  gap: min((27vw / 7.5), 43px);
  margin-top: min((150vw / 7.5), 190px);
}
/*.impression__button .base-button__link {
  min-height: min((80vw / 7.5), 60px);
  min-width: min((400vw / 7.5), 600px);
  font-size: min(var(--default-font-size-sp), 24px);
}*/
.movie {
  margin-top: min((130vw / 7.5), 190px);
}
.movie__title {
  font-size: min((46vw / 7.5), 40px);
  line-height: 1;
  font-weight: var(--fw-black);
  text-align: center;
  display: grid;
  grid-auto-flow: column;
  justify-content: center;
  gap: .75em;
  align-items: center;
  margin-bottom: min((30vw / 7.5), 25px);
}
.movie__title::before, .movie__title::after {
  content: "";
  width: 1px;
  height: 1.5em;
  background: currentColor;
  transform: rotate(50deg);
}
.movie__title::before {
  transform: rotate(-50deg);
}
/*course*/
#course .section__inner {
  padding-top: min((370vw / 7.5), 370px);
}
.is-pc #course .section__inner {
  padding-top: min((295vw / 7.5), 295px);
}
.course__block--title, .course__other--title {
  font-weight: var(--fw-black);
  font-size: min((40vw / 7.5), 30px);
  margin-bottom: min((80vw / 7.5), 70px);
  line-height: 1.2;
}
.course__block--title {
  margin-bottom: min((80vw / 7.5), 70px);
}
.is-sp .course__block--item {
  justify-content: center;
}
.course__other {
  margin: min((140vw / 7.5), 110px) auto 0;
}
.course__other--title {
  margin-bottom: min((40vw / 7.5), 30px);
  text-align: center;
}
.course__other--list {
  width: min((710vw / 7.5), 736px);
  margin: auto;
  display: grid;
  gap: min((40vw / 7.5), 25px);
}
.course__other--item {
  background: var(--bg);
  &.is-001 {
    --bg: #cf250f;
  }
  &.is-002 {
    --bg: #ef7517;
  }
  &.is-003 {
    --bg: #213f92;
  }
}
.course__other--link {
  display: grid;
  grid-template-columns: 1fr min((461vw / 7.5), 461px);
  padding: min((20vw / 7.5), 20px) min((25vw / 7.5), 25px);
  padding-left: 0;
  background: var(--icon-arrow-right-white) no-repeat right center / min((28vw / 7.5), 28px);
}
.course__other--texts {
  display: grid;
  justify-items: center;
  align-content: space-between;
  font-size: min((22vw / 7.5), 24px);
  line-height: 1;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: .5em 0 .75em;
}
.course__other--place {
  background: #fff;
  color: var(--bg);
  min-width: min((175vw / 7.5), 175px);
  padding: .3em .5em .4em;
}
.course__other--report {
  line-height: calc(30 / 24);
}
.course__other--name {
  font-size: min((17vw / 7.5), 17px);
}
.course__other--photo {
  width: 100%;
  height: min((250vw / 7.5), 260px);
  object-fit: cover;
}
/**/
.scroll-border {
  --border-base: min((200vw / 7.5), 200px);
  --border: min((120vw / 7.5), 120px);
  height: var(--border-base);
  width: 1px;
  position: relative;
}
.scroll-border::after {
  content: "";
  background: currentColor;
  position: absolute;
  top: 0;
  width: 100%;
  height: var(--border);
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: var(--border);
    opacity: 1;
  }
  100% {
    height: 0;
    top: var(--border-base);
    opacity: 0;
  }
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  .course__other--link {
    transition: var(--default-hover-transition);
  }
  .course__other--link:hover {
    opacity: var(--default-hover-opacity);
  }
}