@charset "utf-8";
/* 海外鉄道の旅　PCSP共通（レスポンシブ） */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900&display=swap&subset=japanese');
/*リセット*/
h1, h2, h3, h4, h5, h6, p, ul {
  font-weight: inherit;
  /*font-size: 1em;*/
}
ol {
  margin: 0;
}
li {
  list-style: none;
}
img {
  max-width: 100%
}
.main {
  --default-fs-pc-px: 20px;
  --default-fs-pc: 20;
  --default-fs-txt: min(calc(38vw / 10), 15px);
  --default-fs-detail-txt: min(calc(32vw / 10), 13px);
  --default-fs-title-txt: min(calc(43vw / 10), 17px);
  --default-fs-txtbtn: min(calc(20vw / 10), 11px);
  --default-fs-notes: min(calc(16em / var(--default-fs-pc)), 16px);
  --default-width-pc: 992px;
  --default-width-inner: min(calc(680vw / 7.5), var(--default-width-pc));
  --default-border-radius: min(calc(10vw / 7.5), 10px);
  --default-color-blue: #00a0e9;
  --default-color-red: #e73656;
  --default-norepeat-center-cover: no-repeat center center / cover;
  --default-icon-link: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2254%22%20height%3D%2254%22%20viewBox%3D%220%200%2054%2054%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%2300a0e9%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Ctitle%3Eicon_arrow_right%3C%2Ftitle%3E%20%3Cg%20id%3D%22%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%22%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M20.58579%2C14.27206h0a2%2C2%2C0%2C0%2C0%2C0%2C2.82842L30.48529%2C27l-9.89951%2C9.89951a2%2C2%2C0%2C0%2C0%2C0%2C2.82842h0a2%2C2%2C0%2C0%2C0%2C2.82842%2C0L34.72794%2C28.41421a2%2C2%2C0%2C0%2C0%2C0-2.82842L23.41421%2C14.27206A2%2C2%2C0%2C0%2C0%2C20.58579%2C14.27206Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') var(--default-norepeat-center-cover);
  --default-icon-blank: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2254%22%20height%3D%2254%22%20viewBox%3D%220%200%2054%2054%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%2300a0e9%3B%7D%3C%2Fstyle%3E%3Ctitle%3Eicon_blank%3C%2Ftitle%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M36.3%2C36.3H17.7V17.7H27v-2.7h-9.3c-1.5%2C0-2.7%2C1.2-2.7%2C2.7v18.6c0%2C1.5%2C1.2%2C2.7%2C2.7%2C2.7h18.6%20c1.5%2C0%2C2.7-1.2%2C2.7-2.7V27h-2.7L36.3%2C36.3L36.3%2C36.3z%20M29.7%2C15.1v2.7h4.8l-13%2C13l1.9%2C1.9l13-13v4.8H39v-9.4H29.7z%22%2F%3E%3C%2Fsvg%3E');
  --default-icon-right-white: url('/cmn/icon/icon_arrow_right_white.svg');
  --default-icon-blank-white: url('/cmn/icon/icon_blank_white.svg');
}
.main *::before, .main *::after {
  box-sizing: border-box;
}
.main div:not([class])::after {
  content: none;
}
.main div:focus {
  outline: none;
}
@media screen and (min-width: 751px) {
.main a:hover {
  opacity: 0.75;
}
}
@media screen and (max-width: 750px) {
.main a:hover {
  opacity: 1;
}
}
.main a:not(.searchBtn) {
  color: inherit;
  text-decoration: none;
}
.breadcrumb__contents {
  overflow: hidden;
  background: #fff;
}
.is-size-pc .breadcrumb__contents {
  padding-bottom: 5px;
}
.goTop__link {
  display: none;
}
.his-top__button {
  display: block;
  font-size: calc(26vw / (750 / 100));
  color: #fff;
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
  padding: calc(30vw/ (750 / 100)) calc(20vw/ (750 / 100));
  background: #0057B8 url(/cmn/icon/icon_arrow_right_white.svg) no-repeat right calc(10vw/ (750 / 100)) center / calc(48vw/ (750 / 100));
}
/*＝＝ ベース ＝＝*/
.main {
  font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", sans-serif;
  color: #000;
  font-size: min(calc(30vw / (750 / 100)), var(--default-fs-pc-px));
  line-height: calc(30 / var(--default-fs-pc));
  overflow: hidden;
  min-width: 320px;
}
.main .is-mt-1 {
  display: block;
  margin-top: 1em;
}
.gnavi__inner {
  width: var(--default-width-inner);
  margin: auto;
}
.section__inner:not(.inner_map) {
  width: var(--default-width-inner);
  margin: auto;
}
.attention {
  color: var(--default-color-red);
}
.base-sub-title__subtext, .main small, .notes__item {
  font-size: var(--default-fs-notes);
}
.notes__item {
  text-indent: -1em;
  padding-left: 1em;
}
/*.base-title, .base-sub-title {
  color: var(--default-color-blue);
  font-weight: bold;
}
.base-title {
  font-size: calc(34em / var(--default-fs-pc));
  line-height: calc(48 / 34);
  text-align: center;
  margin-bottom: calc(42em / 34);
}*/
.base-sub-title__subtext:not(:only-child) {
  margin-left: 1em;
}
.base-text-link {
  display: inline-block;
  text-decoration: underline;
  background: var(--default-icon-link);
  background-position: right center;
  background-size: 1.5em;
  padding-right: 1.5em;
}
.notes__item .base-text-link {
  display: inline;
}
.base-text-link[target="_blank"] {
  background-image: var(--default-icon-blank);
}
.base-text-link[href^="#"] {}
.base-button-link__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(calc(106vw / 7.5), 66px);
  background: var(--default-color-blue);
  font-size: calc(28em / var(--default-fs-pc));
  line-height: 1.2;
  color: #fff;
  text-align: center;
  padding: .5em;
  margin: auto;
  transition: var(--default-transition-opacity);
}
.base-button-link__item::after {
  content: "";
  width: .5em;
  height: 1.5em;
  background: var(--default-icon-right-white) var(--default-norepeat-center-cover);
}
.base-button-link__item[target="_blank"]::after {
  width: 1.5em;
  background-image: var(--default-icon-blank-white);
}
.base-button-link__text {
  flex: 1;
  text-indent: 1.5em;
}
.section {
  padding: min(calc(60vw / 7.5), 50px) 0;
  font-size: var(--default-fs-txt);
}
.section__inner h2 {
  padding-bottom: min(calc(60vw / 7.5), 50px);
  text-align: center;
}
.is-sp .section__inner h2 img {
  width: auto;
  max-height: 50px;
}
.section__lead {
  padding-bottom: min(calc(50vw / 7.5), 40px);
}
/*.section__lead:not(:last-child) {
  font-weight: bold;
  margin-bottom: min(calc(80vw / 7.5), 60px);
}*/

/*＝＝ MV ＝＝*/
@media screen and (max-width: 750px) {
.title_sp {
  width: 100%;
  padding-top: 5px;
}
.title_pc {
  display: none;
}
}

/*＝＝ #nav ＝＝*/
.nav {
  background: #004d38;
  width: 100%;
}
@media screen and (min-width: 751px) {
.nav ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 992px;
  height: 70px;
  margin: 0 auto;
  color: #fff;
  font-size: min(calc(40vw / 10), 15px);
}
.nav ul li {
  padding-bottom: 8px;
  position: relative;
}
.nav ul li::after {
  content: "";
  border-top: 6px solid #fff;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  bottom: 0;
  left: calc(50% - 6px);
  position: absolute;
}
}
@media screen and (max-width: 750px) {
.nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  font-size: min(calc(28vw / 10), 12px);
}
.nav ul a {
  width: calc(100% / 3);
  padding: 7px 0;
  border-bottom: dotted 1px #fff;
  border-right: dotted 1px #fff;
}
.nav ul a:nth-child(3n) {
  border-right: none;
}
.nav ul a:nth-child(n+4) {
  border-bottom: none;
}
.nav ul li {
  padding-bottom: 7px;
  position: relative;
  text-align: center;
}
.nav ul li::after {
  content: "";
  border-top: 5px solid #fff;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  bottom: 0;
  left: calc(50% - 5px);
  position: absolute;
}
}

/*＝＝ #lead ＝＝*/
@media screen and (min-width: 751px) {
.page_lead {
  font-size: var(--default-fs-txt);
  line-height: 2;
}
}
@media screen and (max-width: 750px) {
.page_lead {
  font-size: var(--default-fs-detail-txt);
  line-height: 1.8;
}
}
@media screen and (min-width: 751px) {
#lead {
  text-align: center;
  padding-bottom: 20px;
}
.lead_info {
  padding-top: 20px;
  font-size: 12px;
}
.lead_info span {
  background: linear-gradient(to top, #ffef64 0% 50%, rgba(0,0,0,0) 50% 100%);
}
}
@media screen and (max-width: 750px) {
#lead {
  text-align: center;
  padding-bottom: 20px;
}
.lead_info {
  padding-top: 20px;
  font-size: min(calc(22vw / 10), 11px);
  text-align: initial;
}
.lead_info span {
  background: linear-gradient(to top, #ffef64 0% 50%, rgba(0,0,0,0) 50% 100%);
}
}

/*＝＝ #キャンペーン ＝＝*/
@media screen and (min-width: 751px) {
.cpn__bnr--wrapper {
  width: 992px;
  margin: 40px auto;
  display: flex;
  justify-content: center;
}
.cpn__bnr {
  width: 960px;
  height: 100px;
}
.cpn__bnr img {
  width: 960px;
  height: 100px;
}
}
@media screen and (max-width: 750px) {
.cpn__bnr--wrapper {
  width: var(--default-width-inner);
  margin: 0 auto;
  padding: min(calc(20vw / 7.5), 20px) 15px min(calc(30vw / 7.5), 30px);
}
.cpn__bnr {
  width: 100%;
  height: auto;
}
.cpn__bnr img {
  width: 100%;
  height: auto;
}
}

/*＝＝ #map ＝＝*/
@media screen and (min-width: 751px) {
.map {
  background: url(../images/pc/map.png) center no-repeat;
  background-color: #E4F2ED;
  width: 100%;
  height: 548px;
}
.tab_wrap {
  position: relative;
  width: var(--default-width-inner);
  margin: 0 auto;
}
.tab_item {
  padding: 4px 7px;
  background: #000;
  color: #fff;
  font-weight: bold;
  font-size: var(--default-fs-detail-txt);
  /*position: absolute;
  transition: all 0.2s ease;
  z-index: 100;*/
}
.tab_item:hover {
  opacity: 0.65;
  cursor: pointer;
}
.tab_item::before {
  content: "";
  border-top: 7px solid #fff;
  border-right: 5px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 5px solid transparent;
  display: inline-block;
  margin-bottom: calc(-11px/2);
  margin-right: 2px;
}
/*↓【PC】地図の国名*/
.tab_item.GBR {
  top: 235px;
  left: 85px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.FRA {
  top: 350px;
  left: 130px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.ESP {
  top: 445px;
  left: 65px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.ITA {
  top: 420px;
  left:290px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.DEU {
  top: 267px;
  left: 300px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.AUT {
  top: 344px;
  left: 315px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.HUN {
  top: 378px;
  left: 390px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.CHE {
  top: 353px;
  left: 240px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.BEL {
  top: 272px;
  left: 190px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.NLD {
  top: 240px;
  left: 215px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.LUX {
  top: 305px;
  left: 220px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.CZE {
  top: 309px;
  left: 345px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.SWE {
  top: 150px;
  left: 330px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.DNK {
  top: 200px;
  left: 250px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.NOR {
  top: 100px;
  left: 235px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.FIN {
  top: 80px;
  left: 450px;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.otherArea {
  position: absolute;
  background: #fff;
  padding: 7px 10px 10px;
  top: 180px;
  right: 9vw;
  z-index: 1;
  text-align: center;
}
.otherArea span {
  font-size: var(--default-fs-detail-txt);
  display: inline-block;
}
.tab_item.USA,.tab_item.ASI {
  margin-top: 8px;
}
/*↑【PC】地図の国名*/

#dst_detail {
  background: #f2f0ec;
}
#dst_detail .tab_content {
  width: var(--default-width-inner);
  margin: 0 auto;
  padding: min(calc(60vw / 7.5), 50px) 0;
}
.tab_content {
  display: none;
}
.tab_content.is-show {
  display: block;
}
.tab_content h3 {
  border-left: solid #43a783 8px;
  padding-left: 7px;
  font-weight: bold;
  font-size: min(calc(48vw / 10), 20px);
}
.rail_detail {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 0 20px;
}
.rail_detail li {
  width: calc(50% - 15px);
  margin-bottom: 30px;
  margin-right: 30px;
  display: flex;
}
.rail_detail li:nth-child(even) {
  margin-right: 0;
}
.content_img {
  width: 140px;
  height: 140px;
  background: #999;
}
.content_txt {
  width: calc(100% - 140px);
  padding-left: 20px;
}
.content_txt h4 {
  font-weight: bold;
}
.content_txt p {
  font-size: var(--default-fs-detail-txt);
  margin: 10px 0 15px;
}
.detail_other {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 0;
}
.detail_other li {
  width: calc(50% - 15px);
  margin-bottom: 20px;
  margin-right: 30px;
  display: flex;
}
.detail_other li:nth-child(even) {
  margin-right: 0;
}
.detail_other_content {
  width: 100%;
}
.detail_other_content p {
  font-size: var(--default-fs-title-txt);
  font-weight: bold;
  margin-bottom: 15px;
}
.detail_other_content div {
  font-size: var(--default-fs-txt);
  margin-bottom: 7px;
}
.detail_other_content div a {
  background: url(/cmn/icon/icon_launch_black.svg) no-repeat right / 17px;
  padding-right: 20px;
  text-decoration: underline!important;
}
.map_top {
  width: 100%;
  background: #f2f0ec;
  padding: 20px 0 50px;
}
.map_top a {
  width: var(--default-width-inner);
  font-size: var(--default-fs-detail-txt);
  margin: 0 auto;
  display: block;
  text-align: right;
}
.map_top a span {
    background-color: #fff;
    padding: 10px 10px;
    color: #222;
    border: 1px solid #555;
    text-align: center;
    display: inline-block;
}
.map_top a span::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 5px;
  border-top: 1px solid #222;
  border-left: 1px solid #222;
  transform: rotate(45deg);
}
}

@media screen and (max-width: 750px) {
.map {
  background: url(../images/sp/map.png) center no-repeat;
  background-size: contain;
  width: 100%;
}
.tab_wrap {
  position: relative;
  width: var(--default-width-inner);
  padding-top: 85%;
  margin: 0 auto;
}
.tab_item {
  padding: 3px 5px;
  background: #000;
  color: #fff;
  font-size: min(calc(26vw / 10), 11px);
  font-weight: bold;
}
.tab_item:hover {
  opacity: 0.65;
}
.tab_item::before {
  content: "";
  border-top: calc(3vw/2) solid #fff;
  border-right: 1vw solid transparent;
  border-bottom: calc(3vw/2) solid transparent;
  border-left: 1vw solid transparent;
  display: inline-block;
  margin-bottom: calc(-4vw/3);
  margin-right: calc(1vw/2);
}
/*↓【SP】地図の国名*/
.tab_item.GBR {
  top: 27vw;
  left: 9vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.FRA {
  top: 51vw;
  left: 14vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.ESP {
  top: 66vw;
  left: 8vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.ITA {
  top: 60vw;
  left: 43vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.DEU {
  top: 34vw;
  left: 45vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.AUT {
  top: 50vw;
  left: 50vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.HUN {
  top: 57vw;
  left: 60vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.CHE {
  top: 51vw;
  left: 35vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.BEL {
  top: 36vw;
  left: 26vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.NLD {
  top: 29vw;
  left: 28vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.LUX {
  top: 43vw;
  left: 29vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.CZE {
  top: 41vw;
  left: 55vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.SWE {
  top: 13vw;
  left: 50vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.DNK {
  top: 21vw;
  left: 35vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.NOR {
  top: 5vw;
  left: 34vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.tab_item.FIN {
  top: 3vw;
  right: 1vw;
  position: absolute;
  transition: all 0.2s ease;
  z-index: 100;
}
.otherArea {
  position: absolute;
  background: #fff;
  padding: calc(3vw/2);
  bottom: 3vw;
  right: 0;
  z-index: 1;
  text-align: center;
}
.otherArea span {
  display: block;
  font-size: min(calc(26vw / 10), 11px);
}
.tab_item.USA,.tab_item.ASI {
  display: inline-block;
  margin-top: 1vw;
}
/*↑【SP】地図の国名*/

#dst_detail {
  background: #f2f0ec;
}
#dst_detail .tab_content {
  width: var(--default-width-inner);
  margin: 0 auto;
  padding: min(calc(60vw / 7.5), 50px) 0;
}
.tab_content {
  display: none;
}
.tab_content.is-show {
  display: block;
}
.tab_content h3 {
  border-left: solid #43a783 8px;
  padding-left: 7px;
  font-weight: bold;
  font-size: min(calc(43vw / 10), 18px);
}
.rail_detail {
  display: flex;
  flex-wrap: wrap;
  padding: min(calc(48vw / 7.5), 25px) 0;
}
.rail_detail li {
  width: 100%;
  margin-bottom: 23px;
  display: flex;
}
.content_img {
  width: 100px;
  height: 100px;
  background: #999;
}
.content_txt {
  width: calc(100% - 100px);
  padding-left: 15px;
}
.content_txt h4 {
  font-weight: bold;
}
.content_txt p {
  font-size: var(--default-fs-detail-txt);
  margin: 10px 0 15px;
}
.detail_other {
  display: flex;
  flex-wrap: wrap;
  /*padding: 10px 0;*/
}
.detail_other li {
  width: 100%;
  margin-bottom: 20px;
  display: flex;
}
.detail_other_content {
  width: 100%;
}
.detail_other_content p {
  font-size: var(--default-fs-title-txt);
  font-weight: bold;
  margin-bottom: 15px;
}
.detail_other_content div {
  font-size: var(--default-fs-txt);
  margin-bottom: 7px;
}
.detail_other_content div a {
  background: url(/cmn/icon/icon_launch_black.svg) no-repeat right / 17px;
  padding-right: 20px;
  text-decoration: underline!important;
}
.map_top {
  width: 100%;
  background: #f2f0ec;
  padding-bottom: min(calc(60vw / 7.5), 50px);
}
.map_top a {
  width: var(--default-width-inner);
  font-size: var(--default-fs-detail-txt);
  margin: 0 auto;
  display: block;
}
.map_top a span {
    background-color: #fff;
    padding: 5px;
    color: #222;
    border: 1px solid #555;
    text-align: center;
    display: block;
}
.map_top a span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0 5px;
  border-top: 1px solid #222;
  border-left: 1px solid #222;
  transform: rotate(45deg);
}
}

/*＝＝ #pass ＝＝*/
@media screen and (min-width: 751px) {
.recommend_rail {
  background: #fff;
  display: flex;
  padding: 25px;
  margin-bottom: 30px;
  color: #000;
}
.recommend_pass {
  background: #daede6;
  display: flex;
  padding: 25px;
  margin-bottom: 30px;
}
.recommend_img {
  padding-right: 25px;
}
.recommend_txt {
  width: calc(100% - 310px);
}
.recommend_title {
  font-size: var(--default-fs-detail-txt);
  background: #fff;
  padding: 5px 7px;
  margin-bottom: 10px;
  display: inline-block;
}
.recommend_txt h4 {
  font-weight: bold;
  font-size: var(--default-fs-title-txt);
  padding-bottom: 10px;
}
.recommend_txt p {
  padding-bottom: 20px;
}
}
@media screen and (max-width: 750px) {
.recommend_rail {
  background: #fff;
  display: flex;
  padding: 25px;
  margin-bottom: 30px;
  color: #000;
}
.recommend_pass {
  background: #daede6;
  display: flex;
  padding: 20px;
  margin-bottom: min(calc(40vw / 7.5), 30px);
}
.recommend_img {
  display: none;
}
.recommend_txt {
  width: 100%;
}
.recommend_title {
  font-size: var(--default-fs-detail-txt);
  background: #fff;
  padding: 5px 7px;
  margin-bottom: 10px;
  display: inline-block;
}
.recommend_txt h4 {
  font-weight: bold;
  font-size: var(--default-fs-title-txt);
  padding-bottom: 10px;
}
.recommend_txt p {
  padding-bottom: 20px;
}
}

/*＝＝ #guide ＝＝*/
@media screen and (min-width: 751px) {
.step {
  display: flex;
  padding-bottom: 30px;
}
.step a {
  margin-right: 24px;
  background: url(../images/pc/step_bg.png) no-repeat;
  background-size: contain;
  width: max((750px / 4) , 230px);
  height: max((750px / 4) , 230px);
}
.step li {
  background: url(/cmn/icon/icon_launch_black.svg) no-repeat bottom / 24px;
  text-align: center;
  padding-top: 28%;
  padding-bottom: 10%;
}
.step li:last-child {
  margin-right: 0;
}
.step li span {
  background: #41a884;
  font-size: var(--default-fs-detail-txt);
  font-weight: bold;
  color: #fff;
  border-radius: 15px;
  padding: 3px 15px;
  display: inline-block;
}
.step li p {
  padding: 10px 0;
  font-size: var(--default-fs-txt);
  font-weight: bold;
}
}
@media screen and (max-width: 750px) {
#guide .section__inner {
  width: 100%;
}
#guide .section__inner h2 {
  width: var(--default-width-inner);
  margin: 0 auto;
}
#guide .section__lead {
  width: var(--default-width-inner);
  margin: 0 auto;
}
#guide .link_area {
  width: var(--default-width-inner);
  margin: 0 auto;
}
.step {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: min(calc(40vw / 7.5), 30px);
  width: 100%;
}
.step a {
  width: 100%;
  border-top: 1px solid #000;
  padding: 8px;
}
.step a:last-child {
  border-bottom: 1px solid #000;
}
.step li {
  background: url(/cmn/icon/icon_launch_black.svg) no-repeat right / 24px;
  width: var(--default-width-inner);
  margin: 0 auto;
  display: flex;
}
.step li span {
  background: #41a884;
  font-size: var(--default-fs-detail-txt);
  font-weight: bold;
  color: #fff;
  border-radius: 20px;
  padding: 5px 15px;
  margin: 10px;
  justify-content: center;
  align-items: center;
  display: flex;
}
.step li p {
  padding: 15px 0 15px 20px;
  font-size: var(--default-fs-txt);
  font-weight: bold;
}
}

/*＝＝ #premium ＝＝*/
#premium {
  background: #000;
  color: #fff;
  margin: min(calc(60vw / 7.5), 50px) 0;
}
@media screen and (min-width: 751px) {
.recommend_rail {
  background: #fff;
  display: flex;
  padding: 25px;
  margin-bottom: 30px;
  color: #000;
}
}
@media screen and (max-width: 750px) {
.recommend_rail {
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  padding: 20px;
  margin-bottom: 20px;
  color: #000;
}
.recommend_rail .recommend_img {
  display: block!important;
  width: 100%;
  margin-bottom: 15px;
}
}

/*＝＝ #tour ＝＝*/
@media screen and (min-width: 751px) {
.recommend_tour {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.recommend_tour li {
  width: calc((100% - 45px) / 4);
  margin-right: 15px;
  margin-bottom: 20px;
  background: #ececec;
}
.recommend_tour li:nth-child(4n) {
  margin-right: 0;
}
.recommend_tour a:hover {
  display: block;
}
.tour_imgBox {
  position: relative;
}
.tour_imgBox span {
  position: absolute;
  top: 0;
  right: 0;
  background: #000;
  color: #fff;
  font-size: var(--default-fs-detail-txt);
  padding: 3px 5px;
}
.tour_imgBox img {
  width: 100%;
  height: 145px;
  object-fit: cover;
}
.tour_txtBox {
  padding: 10px 10px 15px;
  background: #ececec;
}
.tour_title {
  font-weight: bold;
}
.tour_txt {
  font-size: var(--default-fs-detail-txt);
  padding-top: 10px;
}
.tour_price {
  font-size: var(--default-fs-title-txt);
  font-weight: bold;
  color: #d80000;
  padding-top: 8px;
}
}
@media screen and (max-width: 750px) {
.recommend_tour {
  display: flex;
  flex-wrap: wrap;
}
.recommend_tour li {
  width: 100%;
  padding-bottom: 20px;
}
.recommend_tour a {
  display: flex;
  background: #ececec;
}
.tour_imgBox {
  position: relative;
  padding: 10px;
}
.tour_imgBox span {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #000;
  color: #fff;
  font-size: var(--default-fs-detail-txt);
  padding: 3px 5px;
}
.tour_imgBox img {
  width: 100px;
  height: 100px;
  object-fit: cover;
}
.tour_txtBox {
  padding: 10px 10px 10px 5px;
  width: calc(100% - 120px);
}
.tour_title {
  font-weight: bold;
}
.tour_txt {
  font-size: var(--default-fs-detail-txt);
  padding-top: 5px;
}
.tour_price {
  font-size: var(--default-fs-title-txt);
  font-weight: bold;
  color: #d80000;
  padding-top: 5px;
}
}

/*＝＝ #Q&A ＝＝*/
#faq {
  background: #f2f0ec;
}
@media screen and (min-width: 751px) {
.faq_list {
  margin-bottom: 30px;
  border-top: #000 solid 2px;
}
.faq_Q {
  padding: 10px 5px;
  border-bottom: #000 dotted 1px;
  font-weight: bold;
}
.faq_A {
  padding: 10px 8px;
  border-bottom: #000 solid 2px;
}
}
@media screen and (max-width: 750px) {
#faq {
  background: url(../images/sp/faq_bg.jpg) no-repeat center;
  background-size: cover;
}
#faq.section {
  padding: min(calc(60vw / 7.5), 50px) 0 60px;
}
.faq_list {
  margin-bottom: 30px;
  border-top: #000 solid 2px;
  background: rgba(255,255,255,0.8);
}
.faq_Q {
  padding: 10px;
  border-bottom: #000 dotted 1px;
  font-weight: bold;
}
.faq_A {
  padding: 10px;
  border-bottom: #000 solid 2px;
}
}


/*＝＝ リンクボタン ＝＝*/
@media screen and (min-width: 751px) {
.link_area {
  color: #fff;
  font-size: var(--default-fs-title-txt);
  font-weight: bold;
  text-align: center;
}
.linkBtn_orange {
  background-color: #ff6200;
  background-image: url(/cmn/icon/icon_launch_white.svg);
  background-repeat: no-repeat;
  background-position: top 50% right 20px;
  background-size: 22px;
  border-radius: 30px;
  padding: 15px 60px 15px 50px;
  margin: 20px 15px 0;
  display: inline-block;
}
.linkBtn_green {
  background-color: #004d38;
  background-image: url(/cmn/icon/icon_launch_white.svg);
  background-repeat: no-repeat;
  background-position: top 50% right 20px;
  background-size: 22px;
  border-radius: 30px;
  padding: 15px 60px 15px 50px;
  margin: 20px 15px 0;
  display: inline-block;
}
.detail_linkBtn,.detail_linkBtn_gold {
  text-align: right;
}
.detail_linkBtn a {
  background: #000;
  padding: 3px 5px 5px 7px;
  display: inline-block;
}
.detail_linkBtn_gold a {
  background: #a0821e;
  padding: 3px 5px 5px 7px;
  display: inline-block;
}
.detail_linkBtn span,.detail_linkBtn_gold span {
  font-size: var(--default-fs-detail-txt);
  font-weight: bold;
  color: #fff;
  padding-right: 20px;
  background: url(/cmn/icon/icon_launch_white.svg) no-repeat right / 17px;
}
}
@media screen and (max-width: 750px) {
.link_area {
  color: #fff;
  font-size: var(--default-fs-txt);
  font-weight: bold;
  text-align: center;
  padding: 0 20px;
}
.linkBtn_orange {
  background-color: #ff6200;
  background-image: url(/cmn/icon/icon_launch_white.svg);
  background-repeat: no-repeat;
  background-position: top 50% right 20px;
  background-size: 18px;
  border-radius: 30px;
  padding: 15px 0;
  margin: 15px auto 0;
  width: 100%;
  display: inline-block;
}
.linkBtn_green {
  background-color: #004d38;
  background-image: url(/cmn/icon/icon_launch_white.svg);
  background-repeat: no-repeat;
  background-position: top 50% right 20px;
  background-size: 18px;
  border-radius: 30px;
  padding: 15px 0;
  margin: 15px auto 0;
  width: 100%;
  display: inline-block;
}
.detail_linkBtn,.detail_linkBtn_gold {
  text-align: right;
}
.detail_linkBtn a {
  background: #000;
  padding: 3px 5px 5px 8px;
  display: inline-block;
}
.detail_linkBtn_gold a {
  background: #a0821e;
  padding: 3px 5px 5px 8px;
  display: inline-block;
}
.detail_linkBtn span,.detail_linkBtn_gold span {
  font-size: var(--default-fs-detail-txt);
  font-weight: bold;
  color: #fff;
  padding-right: 17px;
  background: url(/cmn/icon/icon_launch_white.svg) no-repeat right / 15px;
}
}

/*＝＝ #サーチ ＝＝*/
@media screen and (min-width: 751px) {
#searchArea {
  background: url(../images/pc/footer_bg.jpg) no-repeat;
  background-position: center top 0;
  background-size: cover;
}
.section__wrapper.search {
  height: 760px;
}
}
@media screen and (max-width: 750px) {
#searchArea {
  padding: 0;
}
#searchArea .section {
  padding: 0 0 15px 0;
}
}

/*=======================================*/
@media screen and (min-width: 751px) {
  .is-dsp-sp {
    display: none;
  }

  /*＝＝ MV ＝＝*/
  .mv {
  }
  .title_pc {
    width: 100%;
    position: absolute;
    top: 65px;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .title_pc p {
    width: 875px;
    text-align: right;
  }
  .title_sp {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  .is-dsp-pc {
    display: none;
  }
}

/*＝＝ MV swiper ＝＝*/
.swiper-slide {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media screen and (min-width: 751px) {
.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    height: 500px;
    width: 100%;
}
.swiper-slide.slide01 {
  background-image: url(../images/pc/mv_pc01.jpg);
}
.swiper-slide.slide02 {
  background-image: url(../images/pc/mv_pc02.jpg);
}
.swiper-slide.slide03 {
  background-image: url(../images/pc/mv_pc03.jpg);
}
.swiper-slide.slide04 {
  background-image: url(../images/pc/mv_pc04.jpg);
}
.swiper-button-prev,.swiper-button-next {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size)/ 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(-1 * var(--swiper-navigation-size)/ 2);
    margin-left: 10px;
    margin-right: 10px;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
}

@media screen and (max-width: 750px) {
.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    height: 200px;
    width: 100%;
}
.swiper-slide.slide01 {
  background-image: url(../images/sp/mv_sp01.jpg);
}
.swiper-slide.slide02 {
  background-image: url(../images/sp/mv_sp02.jpg);
}
.swiper-slide.slide03 {
  background-image: url(../images/sp/mv_sp03.jpg);
}
.swiper-slide.slide04 {
  background-image: url(../images/sp/mv_sp04.jpg);
}
.swiper-button-prev,.swiper-button-next {
    position: absolute;
    top: 50%;
    width: 20px;
    height: 30px;
    margin-top: calc(-1 * var(--swiper-navigation-size)/ 2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: 30px;
    text-transform: none!important;
    letter-spacing: 0;
    text-transform: none;
    font-variant: initial;
    line-height: 1
}
}

/*PC/SP出し分け*/
@media screen and (max-width: 750px) {
  .PC_on {
    display: none!important;
  }
}
@media screen and (min-width: 751px) {
  .SP_on {
    display: none!important;
  }
}