@charset "UTF-8";
:root {
  --width-min: 1086px;
  --width-max: 1366px;
  --color-black: #333;
  --color-white: #fff;
  --color-green: #15a99e;
  --color-green2: #3e9d06;
  --color-brown: #bc8d47;
  --color-pink: #dd7777;
  --color-purple: #7755b4;
  --color-red: #d12f2f;
  --color-lightBrown: #cc4e00;
  --color-darkBrown: #895b2e;
  --color-blue: #0087cb;
  --color-lightBlue: #e9eeef;
  --color-yellow: #e0a038;
  --color-gold: #e6b422;
  --color-orange: #ff8800;
  --color-grad: linear-gradient(-135deg, #3dc7be 0%, #12a79c 100%);
  --color-base: #f8f8f5;
  --color-jr: #016e33;
  --color-club: linear-gradient(to right, #006760 0%, #008b80 100%);
  --color-club2: #006760;
  --shadow: 0px 3px 3px rgba(0, 0, 0, 0.05);
  --text-color: #333;
  --text-color-gray: #707070;
  --border-color: #cccccc;
  --border-color-gray: #eeeeee;
}

@font-face {
  font-family: "Noto Sans JP";
  src: url(/reserve/static/otq/common/fonts/Noto_Sans_JP/NotoSansJP-Light.woff2) format("woff2");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url(/reserve/static/otq/common/fonts/Noto_Sans_JP/NotoSansJP-Regular.woff2) format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url(/reserve/static/otq/common/fonts/Noto_Sans_JP/NotoSansJP-Medium.woff2) format("woff2");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url(/reserve/static/otq/common/fonts/Noto_Sans_JP/NotoSansJP-Bold.woff2) format("woff2");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Sono";
  src: url(/reserve/static/otq/common/fonts/Sono/Sono-Medium.ttf) format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Istok Web";
  src: url(/reserve/static/otq/common/fonts/Istok_Web/IstokWeb-Regular.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
}
/* Foundation
----------------------------------------------- */
/* reset
----------------------------------------------- */
html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--text-color);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background-color: var(--color-base);
}
@media screen and (max-width: 768px) {
  body {
    font-weight: 500;
  }
}

img {
  height: auto;
  vertical-align: middle;
}
img:not(.itineraryIcon), img:not(.st-inlineIcon) {
  max-width: 100%;
}

h6,
h5,
h4,
h3,
h2,
h1 {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.5;
}

dd,
dt,
ol,
ul,
dl,
p {
  margin: 0;
}

ul,
ol {
  list-style-type: none;
  padding: 0;
}

dt {
  font-weight: normal;
}

figure {
  margin: 0;
}

button {
  width: 100%;
  border: none;
  color: inherit;
}

input {
  outline: none;
}

input[type=reset] {
  border: none;
  background: none;
  padding: 0;
}

/* base
----------------------------------------------- */
/* layout
----------------------------------------------- */
@media screen and (min-width: 769px) {
  .l-wrapper {
    min-width: var(--width-min);
  }
}

.l-header {
  height: 162px;
}
@media screen and (max-width: 768px) {
  .l-header {
    height: 103px;
  }
}

.l-lower {
  padding-top: 90px;
  margin-bottom: 195px;
}
@media screen and (max-width: 768px) {
  .l-lower {
    padding-top: 45px;
    margin-bottom: 100px;
  }
}

.l-content {
  position: relative;
  background-color: var(--color-base);
}

.l-section {
  max-width: 1166px;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: auto;
  margin-left: auto;
  padding-right: 3%;
  padding-left: 3%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .l-section {
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}

/* component
----------------------------------------------- */
/* btn
----------------------------------------------- */
.st-btn,
.btn {
  max-width: 315px;
}
.st-btn a,
.btn a {
  text-decoration: none;
  color: inherit;
}
.st-btn a:hover,
.btn a:hover {
  color: inherit;
}
.st-btn a,
.st-btn button,
.btn a,
.btn button {
  display: block;
  padding-top: 18px;
  padding-bottom: 18px;
  padding-left: 45px;
  padding-right: 45px;
  text-align: center;
  color: #fff;
  font-weight: 500;
  background-color: var(--color-green);
  line-height: 1.5;
  border-radius: 5px;
  -webkit-transition: background-color cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, -webkit-box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition: background-color cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, -webkit-box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition: background-color cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition: background-color cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, -webkit-box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
}
@media screen and (max-width: 768px) {
  .st-btn a,
  .st-btn button,
  .btn a,
  .btn button {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .st-btn a:hover,
  .st-btn button:hover,
  .btn a:hover,
  .btn button:hover {
    background-color: #16beb1;
    color: #fff;
    -webkit-box-shadow: 0 30px 30px rgba(0, 0, 0, 0.1);
            box-shadow: 0 30px 30px rgba(0, 0, 0, 0.1);
  }
}
.st-btn a[target=_blank] span,
.st-btn button[target=_blank] span,
.btn a[target=_blank] span,
.btn button[target=_blank] span {
  position: relative;
}
.st-btn a[target=_blank] span::after,
.st-btn button[target=_blank] span::after,
.btn a[target=_blank] span::after,
.btn button[target=_blank] span::after {
  content: "";
  position: absolute;
  right: -14px;
  top: -5px;
  display: block;
  width: 12px;
  height: 12px;
  background: url(/common/images/common/icon_blank-white.svg) center center no-repeat;
  background-size: cover;
}
.st-btn.is-disabled--Btn a,
.st-btn.is-disabled--Btn button,
.btn.is-disabled--Btn a,
.btn.is-disabled--Btn button {
  background: #ccc;
  color: var(--text-color-gray);
  cursor: default;
}
.st-btn.is-disabled--Btn a:hover,
.st-btn.is-disabled--Btn button:hover,
.btn.is-disabled--Btn a:hover,
.btn.is-disabled--Btn button:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.st-btn.is-disabled--Btn a::before, .st-btn.is-disabled--Btn a::after,
.st-btn.is-disabled--Btn button::before,
.st-btn.is-disabled--Btn button::after,
.btn.is-disabled--Btn a::before,
.btn.is-disabled--Btn a::after,
.btn.is-disabled--Btn button::before,
.btn.is-disabled--Btn button::after {
  content: none;
}

.st-btn--next,
.btn--next {
  position: relative;
}
.st-btn--next a::after,
.st-btn--next button::after,
.btn--next a::after,
.btn--next button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url(/common/images/common/icon_arr-white.svg) center center no-repeat;
  background-size: cover;
  opacity: 0.85;
}

.btn--down {
  position: relative;
}
.btn--down a::before,
.btn--down button::before {
  content: url(/common/images/common/icon_arr-down-white.svg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 23px;
  width: 14px;
  height: 8px;
  margin: auto;
  line-height: 0;
  opacity: 0.85;
}

.st-btn--brown a,
.btn--brown a {
  background-color: var(--color-brown);
}
@media screen and (min-width: 769px) {
  .st-btn--brown a:hover,
  .btn--brown a:hover {
    background-color: #dba657;
  }
}

.st-btn--sm,
.btn--sm {
  max-width: none;
  display: inline-block;
}
.st-btn--sm.block,
.btn--sm.block {
  display: block;
  max-width: 315px;
  margin: 10px 0;
}
.st-btn--sm a,
.st-btn--sm button,
.btn--sm a,
.btn--sm button {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .st-btn--sm a,
  .st-btn--sm button,
  .btn--sm a,
  .btn--sm button {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.st-btn--sm a[target=_blank] span::after,
.st-btn--sm button[target=_blank] span::after,
.btn--sm a[target=_blank] span::after,
.btn--sm button[target=_blank] span::after {
  content: "";
  right: -12px;
  top: 0;
  width: 9px;
  height: 9px;
}

/* subBtn
----------------------------------------------- */
.st-subBtn,
.subBtn {
  max-width: 315px;
}
.st-subBtn a,
.subBtn a {
  text-decoration: none;
  color: inherit;
}
.st-subBtn a:hover,
.subBtn a:hover {
  color: inherit;
}
.st-subBtn a,
.st-subBtn button,
.subBtn a,
.subBtn button {
  display: block;
  padding-top: 18px;
  padding-bottom: 18px;
  padding-left: 45px;
  padding-right: 45px;
  text-align: center;
  font-weight: 500;
  background-color: #fff;
  line-height: 1.5;
  border-radius: 5px;
  border: solid 1px var(--border-color);
}
@media screen and (max-width: 768px) {
  .st-subBtn a,
  .st-subBtn button,
  .subBtn a,
  .subBtn button {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .st-subBtn a:hover,
  .st-subBtn button:hover,
  .subBtn a:hover,
  .subBtn button:hover {
    opacity: 0.7;
  }
}
.st-subBtn a[target=_blank] span,
.st-subBtn button[target=_blank] span,
.subBtn a[target=_blank] span,
.subBtn button[target=_blank] span {
  position: relative;
}
.st-subBtn a[target=_blank] span::after,
.st-subBtn button[target=_blank] span::after,
.subBtn a[target=_blank] span::after,
.subBtn button[target=_blank] span::after {
  content: "";
  position: absolute;
  right: -14px;
  top: -5px;
  display: block;
  width: 12px;
  height: 12px;
  background: url(/common/images/common/icon_blank.svg) center center no-repeat;
  background-size: cover;
}

.st-subBtn--next,
.subBtn--next {
  position: relative;
}
.st-subBtn--next a::after,
.st-subBtn--next button::after,
.subBtn--next a::after,
.subBtn--next button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 17px;
  width: 18px;
  height: 18px;
  margin: auto;
  background: url(/common/images/common/icon_arr.svg) center center no-repeat;
  background-size: cover;
}

.subBtn--back {
  position: relative;
}
.subBtn--back a::after,
.subBtn--back button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 17px;
  width: 18px;
  height: 18px;
  margin: auto;
  background: url(/common/images/common/icon_arr.svg) center center no-repeat;
  background-size: cover;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

.subBtn--conducts a span,
.subBtn--conducts button span {
  position: relative;
  padding-left: 25px;
}
@media screen and (max-width: 768px) {
  .subBtn--conducts a span,
  .subBtn--conducts button span {
    padding-left: 15px;
  }
}
.subBtn--conducts a span::before,
.subBtn--conducts button span::before {
  content: url(/common/images/common/icon_notice-border.svg);
  display: block;
  width: 15px;
  height: 19px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .subBtn--conducts a span::before,
  .subBtn--conducts button span::before {
    left: -5px;
  }
}

.subBtn--keyword a span,
.subBtn--keyword button span {
  position: relative;
  padding-left: 24px;
}
.subBtn--keyword a span::before,
.subBtn--keyword button span::before {
  content: url(/common/images/common/icon_word-border.svg);
  display: block;
  width: 17px;
  height: 14px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.subBtn--friends a span,
.subBtn--friends button span {
  position: relative;
  padding-left: 30px;
}
@media screen and (max-width: 768px) {
  .subBtn--friends a span,
  .subBtn--friends button span {
    padding-left: 25px;
  }
}
.subBtn--friends a span::before,
.subBtn--friends button span::before {
  content: url(/common/images/common/icon_people.svg);
  display: block;
  width: 24px;
  height: 16px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .subBtn--friends a span::before,
  .subBtn--friends button span::before {
    left: -5px;
  }
}

.subBtn--copy a span,
.subBtn--copy button span {
  position: relative;
  padding-left: 23px;
}
.subBtn--copy a span::before,
.subBtn--copy button span::before {
  content: url(/common/images/common/icon_copy.svg);
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.st-subBtn--sm,
.subBtn--sm {
  max-width: none;
  display: inline-block;
}
.st-subBtn--sm a,
.st-subBtn--sm button,
.subBtn--sm a,
.subBtn--sm button {
  padding-top: 9px;
  padding-bottom: 9px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .st-subBtn--sm a,
  .st-subBtn--sm button,
  .subBtn--sm a,
  .subBtn--sm button {
    padding-top: 14px;
    padding-bottom: 14px;
  }
}
.st-subBtn--sm a[target=_blank] span::after,
.st-subBtn--sm button[target=_blank] span::after,
.subBtn--sm a[target=_blank] span::after,
.subBtn--sm button[target=_blank] span::after {
  content: "";
  right: -10px;
  top: 0;
  width: 9px;
  height: 9px;
}

.subBtn--down {
  position: relative;
}
.subBtn--down a::after,
.subBtn--down button::after {
  content: url(/common/images/common/icon_selectdown.svg);
  position: absolute;
  display: block;
  width: 13px;
  height: 8px;
  margin: auto;
  line-height: 0;
  top: 0;
  bottom: 0;
  right: 23.5px;
}
.subBtn--down.is-active a::after,
.subBtn--down.is-active button::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.subBtn--down.subBtn--sm a::after,
.subBtn--down.subBtn--sm button::after {
  right: 13px;
}
.subBtn--down.subBtn--sm a span,
.subBtn--down.subBtn--sm button span {
  padding-right: 15px;
}

.subBtn--plus {
  position: relative;
}
.subBtn--plus button::after,
.subBtn--plus a::after {
  content: url(/common/images/common/icon_more-plus2.svg);
  position: absolute;
  display: block;
  width: 14px;
  height: 14px;
  margin: auto;
  line-height: 0;
  top: 0;
  bottom: 0;
  right: 23px;
}
.subBtn--plus.subBtn--sm a::after,
.subBtn--plus.subBtn--sm button::after {
  right: 13px;
}
.subBtn--plus.subBtn--sm a span,
.subBtn--plus.subBtn--sm button span {
  padding: 0 15px 0 0;
}
.subBtn--plus.is-active button::after,
.subBtn--plus.is-active a::after {
  content: url(/common/images/common/icon_more-minus2.svg);
  width: 14px;
  height: 10px;
}

.subBtn--delete {
  position: relative;
}
.subBtn--delete a::after,
.subBtn--delete button::after {
  content: url(/common/images/common/icon_more-plus2.svg);
  position: absolute;
  display: block;
  width: 14px;
  height: 14px;
  margin: auto;
  line-height: 0;
  top: 0;
  bottom: 0;
  left: 23px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.subBtn--delete.subBtn--sm a::after,
.subBtn--delete.subBtn--sm button::after {
  left: 13px;
}
.subBtn--delete.subBtn--sm a span,
.subBtn--delete.subBtn--sm button span {
  padding: 0 0 0 15px;
}

/* primaryBtn
----------------------------------------------- */
.primaryBtn {
  max-width: 440px;
}
.primaryBtn a,
.primaryBtn button {
  position: relative;
  display: block;
  padding-top: 25px;
  padding-bottom: 25px;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  color: #fff;
  background: var(--color-grad);
  line-height: 1.5;
  border-radius: 8px;
  -webkit-transition: -webkit-box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: -webkit-box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s, -webkit-box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .primaryBtn a,
  .primaryBtn button {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .primaryBtn a,
  .primaryBtn button {
    padding-top: 22px;
    padding-bottom: 22px;
    font-size: 1.8rem;
  }
}
.primaryBtn a::before, .primaryBtn a::after,
.primaryBtn button::before,
.primaryBtn button::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: opacity ease 0.5s;
  transition: opacity ease 0.5s;
  border-radius: inherit;
}
.primaryBtn a::before,
.primaryBtn button::before {
  background: linear-gradient(-135deg, #3dc7be 0%, #12a79c 100%);
  opacity: 1;
}
.primaryBtn a::after,
.primaryBtn button::after {
  background: linear-gradient(135deg, #3dc7be 0%, #12a79c 100%);
  opacity: 0;
}
@media screen and (min-width: 769px) {
  .primaryBtn a:hover,
  .primaryBtn button:hover {
    -webkit-box-shadow: 0 50px 50px rgba(0, 0, 0, 0.1);
            box-shadow: 0 50px 50px rgba(0, 0, 0, 0.1);
  }
  .primaryBtn a:hover::before,
  .primaryBtn button:hover::before {
    opacity: 0;
  }
  .primaryBtn a:hover::after,
  .primaryBtn button:hover::after {
    opacity: 1;
  }
}
.primaryBtn a span,
.primaryBtn button span {
  position: relative;
  z-index: 1;
}
.primaryBtn a[target=_blank] span,
.primaryBtn button[target=_blank] span {
  position: relative;
}
.primaryBtn a[target=_blank] span::after,
.primaryBtn button[target=_blank] span::after {
  content: "";
  position: absolute;
  right: -14px;
  top: -5px;
  display: block;
  width: 12px;
  height: 12px;
  background: url(/common/images/common/icon_blank-white.svg) center center no-repeat;
  background-size: cover;
}
.primaryBtn.is-disabled a,
.primaryBtn.is-disabled button {
  background: #ccc;
  color: var(--text-color-gray);
}
.primaryBtn.is-disabled a:hover,
.primaryBtn.is-disabled button:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.primaryBtn.is-disabled a::before, .primaryBtn.is-disabled a::after,
.primaryBtn.is-disabled button::before,
.primaryBtn.is-disabled button::after {
  content: none;
}
.primaryBtn.is-disabled::after {
  content: none;
}

.primaryBtn--search a,
.primaryBtn--search button {
  padding-top: 19px;
  padding-bottom: 19px;
}
@media screen and (max-width: 768px) {
  .primaryBtn--search a,
  .primaryBtn--search button {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}
.primaryBtn--search span {
  display: inline-block;
  padding-left: 32px;
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}
.primaryBtn--search span::before {
  content: url(/common/images/common/icon_search-white.svg);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 24px;
  height: 24px;
  margin: auto;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}
.primaryBtn--search strong {
  font-size: 2.8rem;
  font-weight: inherit;
}
@media screen and (max-width: 768px) {
  .primaryBtn--search strong {
    font-size: 2.6rem;
  }
}

.primaryBtn--next {
  position: relative;
}
.primaryBtn--next::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url(/common/images/common/icon_arr-white.svg) center center no-repeat;
  background-size: cover;
  opacity: 0.85;
}

/* myListBtn
----------------------------------------------- */
.comparisonBtn button,
.myListBtn button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 60px;
  padding: 0;
  border-radius: 5px;
  background-color: #fff;
  border: solid 1px var(--border-color);
  font-size: 1.2rem;
  font-weight: 500;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .comparisonBtn button,
  .myListBtn button {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .comparisonBtn button,
  .myListBtn button {
    font-size: 1.3rem;
  }
}
.comparisonBtn button > span,
.myListBtn button > span {
  display: block;
  position: relative;
}
.comparisonBtn button > span::before,
.myListBtn button > span::before {
  position: absolute;
  display: block;
  left: 0;
  top: 0;
}
@media screen and (min-width: 769px) {
  .comparisonBtn button:hover,
  .myListBtn button:hover {
    opacity: 0.7;
  }
}

.myListBtn button > span {
  padding-left: 27px;
}
.myListBtn button > span::before {
  content: url(/common/images/common/icon-heart-gray.svg);
  width: 20px;
  top: 3px;
}
.myListBtn.is-active button > span::before {
  content: url(/common/images/common/icon-heart.svg);
}

.comparisonBtn button > span {
  padding-left: 32px;
}
.comparisonBtn button > span::before {
  content: url(/common/images/common/icon-comparison-gray.svg);
  width: 26px;
  top: 1px;
}
.comparisonBtn.is-active button > span::before {
  content: url(/common/images/common/icon-comparison.svg);
}

/* txtLink
----------------------------------------------- */
.st-txtLink,
.txtLink {
  text-decoration: underline;
  cursor: pointer;
  color: inherit;
}
.st-txtLink:hover,
.txtLink:hover {
  text-decoration: none;
  color: inherit;
}

.st-txtLink[target=_blank],
.txtLink[target=_blank] {
  background: url(/common/images/common/icon_blank.svg) right top no-repeat;
  background-size: 10px;
  margin-right: 5px;
  padding-right: 12px;
}

.txtLink--pin,
.txtLink--hash {
  position: relative;
}
.txtLink--pin::before,
.txtLink--hash::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
}

.txtLink--hash {
  padding-left: 20px;
}
.txtLink--hash::before {
  width: 13px;
  height: 14px;
  background: url(/common/images/common/icon_hash.svg) center center no-repeat;
  background-size: cover;
}

.txtLink--pin {
  padding-left: 20px;
}
.txtLink--pin::before {
  width: 11px;
  height: 14.63px;
  background: url(/common/images/common/icon_pin.svg) center center no-repeat;
  background-size: cover;
}

.txtLink--back {
  position: relative;
  padding-left: 23px;
}
.txtLink--back::before {
  content: url(/common/images/common/icon_arr.svg);
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform: scale(-1, 1) translateY(1px);
          transform: scale(-1, 1) translateY(1px);
  line-height: 1;
}

.txtLink--icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.txtLink--icon img {
  height: 17px;
  width: auto;
  margin-right: 5px;
}

/* areaTtl
----------------------------------------------- */
.areaTtl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
}

.areaTtl__txt {
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .areaTtl__txt {
    font-size: 2.3rem;
  }
}

.areaTtl__txt__sm {
  font-size: 2.3rem;
}
@media screen and (max-width: 768px) {
  .areaTtl__txt__sm {
    font-size: 1.6rem;
  }
}

.areaTtl__en {
  position: relative;
  top: 9px;
  margin-left: 10px;
  padding-left: 12px;
  font-size: 1rem;
  color: var(--text-color-gray);
}
@media screen and (max-width: 370px) {
  .areaTtl__en {
    font-size: 0.9rem;
    margin-left: 3px;
    padding-left: 5px;
  }
}
.areaTtl__en::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 1px;
  height: 15px;
  background-color: #a1a19f;
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
}

.areaTtl__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60px;
  height: 60px;
}
@media screen and (max-width: 768px) {
  .areaTtl__icon {
    width: 35px;
    height: 35px;
  }
}
@media screen and (max-width: 370px) {
  .areaTtl__icon {
    width: 25px;
    height: 35px;
    margin-right: 5px;
  }
}

.areaTtl--recommend .areaTtl__icon {
  width: auto;
  height: auto;
  margin-right: 10px;
  -webkit-transform: translate(0, 4px);
          transform: translate(0, 4px);
}
@media screen and (max-width: 768px) {
  .areaTtl--recommend .areaTtl__icon {
    margin-right: 7px;
  }
}
.areaTtl--recommend .areaTtl__icon img {
  width: 55px;
}
@media screen and (max-width: 768px) {
  .areaTtl--recommend .areaTtl__icon img {
    width: 52px;
  }
}

.areaTtl--feauture .areaTtl__icon {
  width: auto;
  height: auto;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .areaTtl--feauture .areaTtl__icon {
    margin-right: 7px;
  }
}
.areaTtl--feauture .areaTtl__icon img {
  width: 66px;
}
@media screen and (max-width: 768px) {
  .areaTtl--feauture .areaTtl__icon img {
    width: 52px;
  }
}

.areaTtl--theme .areaTtl__icon img {
  width: 30px;
}
@media screen and (max-width: 768px) {
  .areaTtl--theme .areaTtl__icon img {
    width: 25px;
  }
}

.areaTtl--destination .areaTtl__icon img {
  width: 28px;
}
@media screen and (max-width: 768px) {
  .areaTtl--destination .areaTtl__icon img {
    width: 25px;
  }
}

.areaTtl--news .areaTtl__icon img {
  width: 27px;
}
@media screen and (max-width: 768px) {
  .areaTtl--news .areaTtl__icon img {
    width: 24px;
  }
}

.areaTtl--info .areaTtl__icon img {
  width: 34px;
}
@media screen and (max-width: 768px) {
  .areaTtl--info .areaTtl__icon img {
    width: 26px;
  }
}

@media screen and (max-width: 768px) {
  .areaTtl--sm .areaTtl__txt {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 370px) {
  .areaTtl--sm .areaTtl__txt {
    font-size: 1.8rem;
  }
}

.areaTtl--history .areaTtl__icon img {
  width: 34px;
}
@media screen and (max-width: 768px) {
  .areaTtl--history .areaTtl__icon img {
    width: 26px;
  }
}

.areaTtl--popular .areaTtl__icon img {
  width: 32px;
}
@media screen and (max-width: 768px) {
  .areaTtl--popular .areaTtl__icon img {
    width: 26px;
  }
}

/* pageTtl
----------------------------------------------- */
.pageTtl {
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .pageTtl {
    margin-bottom: 20px;
  }
}

.pageTtl__ttl {
  margin-bottom: 3px;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .pageTtl__ttl {
    font-size: 2.3rem;
    font-weight: 700;
  }
}

.pageTtl__sub {
  margin-bottom: 3px;
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .pageTtl__sub {
    font-weight: 700;
  }
}

.pageTtl__en {
  font-size: 1rem;
  color: #7c7c7a;
}

/* ttlBar
----------------------------------------------- */
.ttlBar {
  text-align: center;
  background-color: var(--color-green);
  color: #fff;
  font-size: 2rem;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 20px;
  padding-left: 20px;
  border-radius: 3px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .ttlBar {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .ttlBar {
    padding-top: 7px;
    padding-bottom: 7px;
    font-size: 1.8rem;
  }
}

/* iconLink
----------------------------------------------- */
.iconLink a {
  text-decoration: none;
  color: inherit;
}
.iconLink a:hover {
  color: inherit;
}
.iconLink a {
  display: block;
  width: 60px;
  text-align: center;
  -webkit-transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
.iconLink a:hover {
  color: var(--color-green);
}
@media screen and (min-width: 769px) {
  .iconLink a {
    padding: 0 8px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }
}
@media screen and (max-width: 1250px) {
  .iconLink a {
    padding: 0 4px;
  }
}
@media screen and (max-width: 768px) {
  .iconLink a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 78px;
    height: 78px;
    padding: 0;
    background-color: #fff;
    border: solid 1px #ccc;
    border-radius: 5px;
  }
}

.iconLink__icon {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 7px;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .iconLink--comparison .iconLink__icon {
    width: 26px;
    height: 21px;
  }
}
@media screen and (max-width: 768px) {
  .iconLink--comparison .iconLink__icon {
    width: 30px;
    height: 26px;
  }
}

@media screen and (min-width: 769px) {
  .iconLink--reserve .iconLink__icon {
    width: 18px;
    height: 21px;
  }
}
@media screen and (max-width: 768px) {
  .iconLink--reserve .iconLink__icon {
    width: 23px;
    height: 26px;
  }
}

@media screen and (min-width: 769px) {
  .iconLink--mylist .iconLink__icon {
    width: 20px;
    height: 21px;
  }
}
@media screen and (max-width: 768px) {
  .iconLink--mylist .iconLink__icon {
    width: 23px;
    height: 26px;
    -webkit-transform: translateY(2px);
            transform: translateY(2px);
  }
}

.iconLink--keyword,
.iconLink--notice,
.iconLink--change {
  display: none;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .is-login .iconLink--keyword,
  .is-login .iconLink--notice,
  .is-login .iconLink--change {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .iconLink--keyword .iconLink__icon {
    width: 26px;
    height: 20px;
    -webkit-transform: translateY(2px);
            transform: translateY(2px);
  }
}

@media screen and (max-width: 768px) {
  .iconLink--notice .iconLink__icon {
    width: 19px;
    height: 23px;
    -webkit-transform: translateY(2px);
            transform: translateY(2px);
  }
}

@media screen and (max-width: 768px) {
  .iconLink--change .iconLink__icon {
    width: 21px;
    height: 21px;
  }
}
.iconLink--change .iconLink__txt {
  letter-spacing: -0.05em;
}

.iconLink__num {
  position: absolute;
  right: -16px;
  top: -14px;
  display: inline-block;
  min-width: 22px;
  height: 22px;
  padding: 3px;
  text-align: center;
  border-radius: 11px;
  background-color: #bc8d47;
  font-family: "Istok Web", sans-serif;
  color: #fff;
  font-size: 1.4rem;
  border: solid 2px #fff;
}

.iconLink__txt {
  font-size: 1.2rem;
  line-height: 1.3;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .iconLink__txt {
    font-weight: 700;
  }
}

/* iconClub and iconGeneral
----------------------------------------------- */
.iconClub,
.iconGeneral {
  display: inline-block;
  padding-top: 7px;
  padding-bottom: 7px;
  padding-right: 15px;
  padding-left: 15px;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1;
  border-radius: 3px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .iconClub,
  .iconGeneral {
    font-weight: 700;
  }
}

.iconClub {
  background: var(--color-club);
  color: #fff;
}

.iconGeneral {
  border: solid 1px #b5b5b5;
  background-color: #f8f8f5;
}

/* tag
----------------------------------------------- */
.tagList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.tagList .tag {
  margin: 0 15px 15px 0;
}
@media screen and (max-width: 768px) {
  .tagList .tag {
    margin: 0 10px 10px 0;
  }
}

.tag {
  display: inline-block;
}
.tag a {
  text-decoration: none;
  color: inherit;
}
.tag a:hover {
  color: inherit;
}
.tag a,
.tag button {
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 20px;
  padding-left: 20px;
  background-color: #fff;
  line-height: 1.5;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  font-size: 1.4rem;
  font-weight: 500;
  border-radius: 3px;
  -webkit-transition: cubic-bezier(0.165, 0.84, 0.44, 1) background-color 0.3s, cubic-bezier(0.165, 0.84, 0.44, 1) color 0.3s;
  transition: cubic-bezier(0.165, 0.84, 0.44, 1) background-color 0.3s, cubic-bezier(0.165, 0.84, 0.44, 1) color 0.3s;
}
@media screen and (max-width: 768px) {
  .tag a,
  .tag button {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .tag a:hover,
  .tag button:hover {
    background-color: var(--color-green);
    color: #fff;
  }
}
.tag span {
  line-height: inherit;
  text-align: center;
}

.tag--type2 a,
.tag--type2 button {
  background-color: var(--color-base);
  border: solid 1px #ccc;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media screen and (min-width: 769px) {
  .tag--type2 a:hover,
  .tag--type2 button:hover {
    border: solid 1px var(--color-green);
  }
}

.tag--tag span,
.tag--pin span,
.tag--theme span {
  position: relative;
}
.tag--tag span::before, .tag--tag span::after,
.tag--pin span::before,
.tag--pin span::after,
.tag--theme span::before,
.tag--theme span::after {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  -webkit-transition: cubic-bezier(0.165, 0.84, 0.44, 1) opacity 0.3s;
  transition: cubic-bezier(0.165, 0.84, 0.44, 1) opacity 0.3s;
}
.tag--tag span::before,
.tag--pin span::before,
.tag--theme span::before {
  opacity: 1;
}
.tag--tag span::after,
.tag--pin span::after,
.tag--theme span::after {
  opacity: 0;
}
@media screen and (min-width: 769px) {
  .tag--tag a:hover span::before,
  .tag--pin a:hover span::before,
  .tag--theme a:hover span::before {
    opacity: 0;
  }
  .tag--tag a:hover span::after,
  .tag--pin a:hover span::after,
  .tag--theme a:hover span::after {
    opacity: 1;
  }
}

.tag--theme a {
  padding-left: 10px;
  padding-right: 10px;
}
.tag--theme span {
  padding-left: 18px;
}
.tag--theme span::before, .tag--theme span::after {
  width: 13px;
  height: 20px;
}
.tag--theme span::before {
  content: url(/common/images/common/icon_hash-gray.svg);
}
.tag--theme span::after {
  content: url(/common/images/common/icon_hash-white2.svg);
}

.tag--pin a {
  padding-left: 12px;
}
.tag--pin span {
  padding-left: 18px;
}
.tag--pin span::before, .tag--pin span::after {
  width: 12px;
  height: 17px;
}
.tag--pin span::before {
  content: url(/common/images/common/icon_pin-gray.svg);
}
.tag--pin span::after {
  content: url(/common/images/common/icon_pin-white2.svg);
}

.tag--tag a {
  padding-left: 13px;
}
.tag--tag span {
  padding-left: 20px;
  display: inline-block;
  text-align: left;
}
.tag--tag span::before, .tag--tag span::after {
  width: 14px;
  height: 14px;
  line-height: 1;
}
.tag--tag span::before {
  content: url(/common/images/common/icon_tag-gray.svg);
}
.tag--tag span::after {
  content: url(/common/images/common/icon_tag-white2.svg);
}

.tag--delete button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 17px;
  padding-left: 10px;
  cursor: default !important;
}
@media screen and (max-width: 768px) {
  .tag--delete button {
    padding-top: 7px;
    padding-bottom: 7px;
    padding-left: 9px;
  }
}
@media screen and (min-width: 769px) {
  .tag--delete button:hover {
    background-color: #fff;
    color: inherit;
  }
}

.tag--delete__icon {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 7px;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .tag--delete__icon {
    width: 26px;
    height: 26px;
  }
}
.tag--delete__icon::before, .tag--delete__icon::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: inherit;
  height: inherit;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
.tag--delete__icon::before {
  content: url(/common/images/common/icon_delete.svg);
  opacity: 1;
}
.tag--delete__icon::after {
  content: url(/common/images/common/icon_delete-green.svg);
  opacity: 0;
}
@media screen and (min-width: 769px) {
  .tag--delete__icon:hover::before {
    opacity: 0;
  }
  .tag--delete__icon:hover::after {
    opacity: 1;
  }
}

/* checkItem
----------------------------------------------- */
.radioItem,
.checkItem {
  /*input custom*/
}
.radioItem input[type=checkbox],
.radioItem input[type=radio],
.checkItem input[type=checkbox],
.checkItem input[type=radio] {
  display: none;
}
.radioItem input[type=checkbox] + label,
.radioItem input[type=radio] + label,
.checkItem input[type=checkbox] + label,
.checkItem input[type=radio] + label {
  position: relative;
  display: block;
  padding-top: 9px;
  padding-bottom: 9px;
  padding-right: 30px;
  padding-left: 30px;
  font-size: 1.4rem;
  line-height: 1.5;
  border-radius: 3px;
  cursor: pointer;
  text-align: center;
  border: solid 1px var(--border-color);
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .radioItem input[type=checkbox] + label,
  .radioItem input[type=radio] + label,
  .checkItem input[type=checkbox] + label,
  .checkItem input[type=radio] + label {
    padding-top: 14px;
    padding-bottom: 14px;
  }
}
.radioItem input[type=checkbox]:checked + label,
.radioItem input[type=radio]:checked + label,
.checkItem input[type=checkbox]:checked + label,
.checkItem input[type=radio]:checked + label {
  border: solid 1px var(--color-green);
  background-color: var(--color-green);
  color: #fff;
}
@media screen and (min-width: 769px) {
  .radioItem input[type=checkbox]:not(:disabled):hover + label,
  .radioItem input[type=radio]:not(:disabled):hover + label,
  .checkItem input[type=checkbox]:not(:disabled):hover + label,
  .checkItem input[type=radio]:not(:disabled):hover + label {
    border: solid 1px var(--color-green);
    background-color: var(--color-green);
    color: #fff;
    opacity: 0.8;
  }
}
.radioItem input[type=checkbox]:disabled + label,
.radioItem input[type=radio]:disabled + label,
.checkItem input[type=checkbox]:disabled + label,
.checkItem input[type=radio]:disabled + label {
  opacity: 0.4;
  cursor: default;
}

.checkItem input[type=checkbox] + label::before, .checkItem input[type=checkbox] + label::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 11px;
  display: block;
  width: 20px;
  height: 14px;
  margin: auto;
  line-height: 1;
}
.checkItem input[type=checkbox] + label::before {
  content: url(/common/images/common/icon_check-gray.svg);
  opacity: 1;
}
.checkItem input[type=checkbox] + label::after {
  content: url(/common/images/common/icon_check-white.svg);
  opacity: 0;
}
.checkItem input[type=checkbox]:checked + label {
  opacity: 1 !important;
}
.checkItem input[type=checkbox]:checked + label::before {
  content: url(/common/images/common/icon_check-gray.svg);
  opacity: 0;
}
.checkItem input[type=checkbox]:checked + label::after {
  content: url(/common/images/common/icon_check-white.svg);
  opacity: 0.8;
}

.radioItem input[type=radio] + label::before, .radioItem input[type=radio] + label::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 11px;
  display: block;
  width: 18px;
  height: 18px;
  margin: auto;
  line-height: 1;
}
.radioItem input[type=radio] + label::before {
  content: url(/common/images/common/icon_radio-gray.svg);
  opacity: 1;
}
.radioItem input[type=radio] + label::after {
  content: url(/common/images/common/icon_radio-white.svg);
  opacity: 0;
}
.radioItem input[type=radio]:checked + label::before {
  content: url(/common/images/common/icon_radio-gray.svg);
  opacity: 0;
}
.radioItem input[type=radio]:checked + label::after {
  content: url(/common/images/common/icon_radio-white.svg);
  opacity: 0.8;
}

/* myBlock
----------------------------------------------- */
.myBlock {
  position: relative;
  width: 210px;
  height: 80px;
  border-radius: 5px;
  line-height: 1;
  background: url(/common/images/common/myblock_bg.jpg) center center no-repeat;
  background-size: cover;
  -webkit-box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.09);
          box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.09);
  -webkit-transition: width cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: width cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 1250px) {
  .myBlock {
    width: 186px;
  }
}
@media screen and (max-width: 768px) {
  .myBlock {
    width: 100%;
    height: 97px;
    margin-bottom: 25px;
  }
}

.myBlock__msg {
  position: absolute;
  padding: 11px 10px 11px 20px;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.5;
  right: 0;
  top: -62px;
  border-radius: 5px;
  background-color: var(--color-black);
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s;
  transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s;
}
@media screen and (min-width: 769px) {
  .myBlock__msg {
    width: 630px;
  }
}
@media screen and (max-width: 768px) {
  .myBlock__msg {
    padding: 12px 10px;
    right: 0;
    top: -103px;
  }
}
.myBlock__msg.is-show {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.myBlock__msg::after {
  content: url(/common/images/common/tab_arr-black.svg);
  display: block;
  width: 14px;
  position: absolute;
  right: 39px;
  bottom: -9px;
}
@media screen and (max-width: 1250px) {
  .myBlock__msg::after {
    right: 27px;
  }
}
@media screen and (max-width: 768px) {
  .myBlock__msg::after {
    right: 52px;
    bottom: -8px;
  }
}

.myBlock__head {
  position: relative;
  width: 150px;
  margin-top: -8px;
  margin-bottom: 8px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .myBlock__head {
    width: 180px;
    margin-bottom: 5px;
  }
}

.myBlock__mark {
  position: absolute;
  top: -7px;
  right: 7px;
  display: block;
  width: 17px;
  height: 17px;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .myBlock__mark {
    width: 25px;
    height: 25px;
    top: -10px;
    right: 10px;
  }
}

.myBlock__head__item img {
  width: 100%;
}

.myBlock__btnArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 194px;
  margin: 0 auto;
  padding: 3px;
  background-color: #fff;
  border-radius: 3px;
  -webkit-transition: width cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: width cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 1250px) {
  .myBlock__btnArea {
    width: 170px;
  }
}
@media screen and (max-width: 768px) {
  .myBlock__btnArea {
    width: 93%;
    padding: 4px;
  }
}

.myBlock__login a,
.myBlock__signUp a,
.myBlock__mypage a {
  text-decoration: none;
  color: inherit;
}
.myBlock__login a:hover,
.myBlock__signUp a:hover,
.myBlock__mypage a:hover {
  color: #fff;
}
.myBlock__login span,
.myBlock__login a,
.myBlock__signUp span,
.myBlock__signUp a,
.myBlock__mypage span,
.myBlock__mypage a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 33px;
  text-align: center;
  font-weight: 500;
  font-size: 1.3rem;
  border-radius: 3px;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .myBlock__login span,
  .myBlock__login a,
  .myBlock__signUp span,
  .myBlock__signUp a,
  .myBlock__mypage span,
  .myBlock__mypage a {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .myBlock__login span,
  .myBlock__login a,
  .myBlock__signUp span,
  .myBlock__signUp a,
  .myBlock__mypage span,
  .myBlock__mypage a {
    height: 40px;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 769px) {
  .myBlock__login span:hover,
  .myBlock__login a:hover,
  .myBlock__signUp span:hover,
  .myBlock__signUp a:hover,
  .myBlock__mypage span:hover,
  .myBlock__mypage a:hover {
    opacity: 0.7;
  }
}

.myBlock__mypage a,
.myBlock__mypage span,
.myBlock__login a,
.myBlock__login span {
  background: -webkit-gradient(linear, left top, right top, from(#12a79c), to(#3dc7be));
  background: linear-gradient(to right, #12a79c 0%, #3dc7be 100%);
  color: #fff;
}

.myBlock__login {
  width: calc(50% - 2px);
  cursor: pointer;
}

.myBlock__signUp {
  width: calc(50% - 2px);
}
.myBlock__signUp a {
  text-decoration: none;
  color: inherit;
}
.myBlock__signUp a:hover {
  color: inherit;
}
.myBlock__signUp a {
  border: solid 1px #e6e6e6;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.myBlock__mypage {
  display: none;
  width: 100%;
}
.myBlock__mypage a {
  position: relative;
}
.myBlock__mypage a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 11px;
  width: 11px;
  height: 11px;
  margin: auto;
  background: url(/common/images/common/myblock_icon-user-white.svg) center center no-repeat;
  background-size: cover;
}

.myBlock__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .myBlock__name {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
}

.myBlock__name__inner {
  min-width: 110px;
  position: relative;
  display: inline-block;
  padding: 4px 5px;
  text-align: center;
  background-color: #fff;
  border-radius: 5px 5px 0 0;
}
@media screen and (max-width: 768px) {
  .myBlock__name__inner {
    min-width: 135px;
    padding: 6px 20px;
  }
}
.myBlock__name__inner::before, .myBlock__name__inner::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 10px;
  height: 10px;
  background: url(/common/images/common/myblock__parts.svg) center center no-repeat;
  background-size: cover;
}
.myBlock__name__inner::before {
  left: -9.5px;
}
.myBlock__name__inner::after {
  right: -9.5px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

.myBlock__name__user,
.myBlock__name__txt {
  font-size: 1.1rem;
  letter-spacing: -0.2;
  color: #0f726b;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .myBlock__name__user,
  .myBlock__name__txt {
    font-size: 1.3rem;
  }
}

.myBlock__name__txt {
  position: relative;
  padding-left: 15px;
}
@media screen and (max-width: 768px) {
  .myBlock__name__txt {
    padding-left: 17px;
  }
}
.myBlock__name__txt::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  display: block;
  width: 11px;
  height: 11px;
  background: url(/common/images/common/myblock_icon-user.svg) center center no-repeat;
  background-size: cover;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .myBlock__name__txt::before {
    width: 13.5px;
    height: 13.5px;
  }
}

.myBlock__name__user {
  display: none;
}
.myBlock__name__user > span {
  font-size: 1rem;
}

.is-login .myBlock__login,
.is-login .myBlock__signUp,
.is-login .myBlock__name__txt {
  display: none;
}
.is-login .myBlock__mypage,
.is-login .myBlock__name__user {
  display: block;
}

/* moreTxtLink
----------------------------------------------- */
.moreTxtLink {
  position: relative;
  display: inline-block;
  padding-right: 20px;
  line-height: 1;
  cursor: pointer;
}
.moreTxtLink::before, .moreTxtLink::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  display: block;
  width: 15px;
  height: 2px;
  margin: auto;
  background-color: var(--color-black);
  border-radius: 2px;
}
.moreTxtLink::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.moreTxtLink.is-delete::after {
  content: none;
}

/* closeTxtLink
----------------------------------------------- */
.closeTxtLink {
  position: relative;
  display: inline-block;
  padding-left: 18px;
  text-decoration: underline;
  font-size: 1.3rem;
}
.closeTxtLink::before {
  content: url(/common/images/common/icon_close.svg);
  display: inline-block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 11px;
}
.closeTxtLink:hover {
  text-decoration: none;
  cursor: pointer;
}

/* closeBtn
----------------------------------------------- */
.closeBtn {
  width: 60px;
  height: 60px;
  border-radius: 0 0 0 5px;
  cursor: pointer;
  background: var(--color-green) url(/common/images/common/icon_close-white.svg) center center no-repeat;
  background-size: 16px auto;
}

/* card
----------------------------------------------- */
.card {
  position: relative;
  background-color: #fff;
  border-radius: 5px;
  overflow: hidden;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
}
.card a {
  text-decoration: none;
  color: inherit;
}
.card a:hover {
  color: inherit;
}
.card a {
  display: block;
}
@media screen and (min-width: 769px) {
  .card a:hover .card__pic img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .card a:hover .card__ttl,
  .card a:hover .card__subTtl {
    color: var(--color-green);
  }
}
.card .iconClub,
.card .iconGeneral {
  width: 175px;
  margin-bottom: 5px;
}
.card.swiper-slide {
  height: auto;
}

.card__tagList {
  position: absolute;
  top: 15px;
  left: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.card__tag {
  position: relative;
  display: inline-block;
  margin-right: 6px;
  padding: 0px 10px 0 18px;
  font-size: 1.1rem;
  border-radius: 3px;
  background-color: #fff;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .card__tag {
    font-weight: 700;
  }
}
.card__tag::before {
  position: absolute;
  display: block;
  opacity: 0.3;
}

.card__tag--theme::before {
  content: url(/common/images/common/icon_hash.svg);
  width: 9px;
  left: 6px;
}

.card__tag--destination::before {
  content: url(/common/images/common/icon_pin.svg);
  width: 9px;
  top: 2px;
  left: 5px;
}

.card__pic {
  overflow: hidden;
}
.card__pic img {
  -webkit-transition: -webkit-transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: -webkit-transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s, -webkit-transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}

.card__content {
  padding: 15px 20px 35px;
}
@media screen and (max-width: 768px) {
  .card__content {
    padding: 10px 15px 25px;
  }
}
@media screen and (max-width: 768px) {
  .card--sm .card__content {
    padding: 10px 10px 20px;
  }
}

.card__iconList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 3px;
}
@media screen and (max-width: 768px) {
  .card--sm .card__iconList {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.card__icon {
  display: inline-block;
  margin-bottom: 5px;
  padding: 0 5px;
  text-align: center;
  font-size: 1.1rem;
  color: #fff;
  line-height: 21px;
  border-radius: 3px;
  background-color: #eee;
}
.card__icon:not(:last-child) {
  margin-right: 5px;
}
@media screen and (max-width: 768px) {
  .card--sm .card__icon {
    width: calc(50% - 3px);
    margin-right: 0;
    padding: 0 2px;
    font-size: 1rem;
  }
}

.card__icon--code {
  font-size: 1.3rem;
  background-color: var(--color-brown);
}

.card__icon--destination {
  background-color: var(--color-green);
}

.card__icon--stay {
  background-color: var(--color-pink);
}

.card__icon--conductor {
  background-color: var(--color-purple);
}

.card__ttl,
.card__subTtl {
  -webkit-transition: color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 768px) {
  .card--sm .card__ttl,
  .card--sm .card__subTtl {
    -webkit-line-clamp: 3;
  }
}

.card__ttl {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .card__ttl {
    font-weight: 700;
  }
}
.card--sm .card__ttl {
  font-size: 1.4rem;
}

.card__subTtl {
  margin-top: 5px;
  font-size: 1.2rem;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
.card--sm .card__subTtl {
  font-size: 1.2rem;
}

.card__priceArea {
  margin-top: 10px;
}

.card__price {
  line-height: 1;
  font-size: 2.4rem;
}
.card__price span {
  line-height: inherit;
  font-size: 1.3rem;
}

.card__price__mark {
  font-size: 1.6rem;
  margin-right: 0.5em;
}

.card__priceItem {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .card__priceItem {
    font-weight: 700;
  }
}
.card__priceItem:last-child {
  margin-top: 15px;
}

.cart__note {
  margin-top: 15px;
  text-align: right;
  font-size: 1rem;
}

/* slideNav
----------------------------------------------- */
.sliderNav,
.sliderNav2 {
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  z-index: 100;
}
.sliderNav.swiper-button-disabled,
.sliderNav2.swiper-button-disabled {
  opacity: 0;
}

.sliderNav {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50px;
  height: 100px;
  margin: auto;
}
.sliderNav::after {
  content: "";
  display: block;
  width: inherit;
  height: inherit;
  background: url(/common/images/common/slider_nav.png) center center no-repeat;
  background-size: cover;
}

.sliderNav--next {
  right: 0;
}

.sliderNav--prev {
  left: 0;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

.sliderNav2 {
  width: 40px;
  height: 40px;
  background: url(/common/images/common/slider_nav2.svg) center center no-repeat;
  background-size: cover;
  cursor: pointer;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
}

.sliderNav2--prev {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

/* pagenation
----------------------------------------------- */
.pagenation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.pagenation .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  margin: 0 5px !important;
  background-color: #fff;
  opacity: 1;
}
.pagenation .swiper-pagination-bullet-active {
  width: 17px;
  height: 17px;
  border: solid 3px #fff;
  background-color: transparent;
}

.pagenation2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Istok Web", sans-serif;
  font-weight: bold;
}
.pagenation2 .swiper-pagination-bullet {
  width: 22px;
  height: 22px;
  line-height: 1;
  margin: 0 5px 0 0 !important;
  padding: 3px 1px 0 0;
  text-align: center;
  font-size: 1.3rem;
  color: var(--text-color-gray);
  border: solid 2px #71716f;
  background-color: transparent;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  opacity: 1;
  font-weight: bold;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.pagenation2 .swiper-pagination-bullet-active {
  background-color: var(--color-green);
  color: #fff;
  border: solid 2px var(--color-green);
}

/* pageLink
----------------------------------------------- */
.pageLink {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 150px;
}
@media screen and (min-width: 769px) {
  .pageLink {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .pageLink {
    display: none;
    margin-bottom: min(24vw, 90px);
  }
}
@media screen and (max-width: 600px) {
  .pageLink.is-num7, .pageLink.is-num8, .pageLink.is-num9, .pageLink.is-num10 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-right: auto;
    margin-left: auto;
  }
  .pageLink.is-num7, .pageLink.is-num8 {
    width: 250px;
  }
  .pageLink.is-num9, .pageLink.is-num10 {
    width: 300px;
  }
}
.pageLink a {
  text-decoration: none;
  color: inherit;
}
.pageLink a:hover {
  color: inherit;
}
.pageLink a,
.pageLink span {
  display: block;
  text-align: center;
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin: 0 5px 10px;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 1.7rem;
  background-color: #fff;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  border-radius: 5px;
}
.pageLink a.is-active,
.pageLink span.is-active {
  background-color: var(--color-green);
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.pageLink a.is-disabled,
.pageLink span.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
@media screen and (min-width: 769px) {
  .pageLink a:hover {
    background-color: var(--color-green);
    color: #fff;
  }
}
.pageLink a:first-child, .pageLink a:last-child,
.pageLink span:first-child,
.pageLink span:last-child {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 95px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .pageLink a:first-child, .pageLink a:last-child,
  .pageLink span:first-child,
  .pageLink span:last-child {
    width: 40px;
    color: transparent;
  }
}
@media screen and (min-width: 769px) {
  .pageLink a:first-child,
  .pageLink span:first-child {
    padding-left: 20px;
  }
}
.pageLink a:first-child::before,
.pageLink span:first-child::before {
  content: url(/common/images/common/icon_arr-border.svg);
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  margin: auto;
  -webkit-transform: scale(-1.1);
          transform: scale(-1.1);
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .pageLink a:first-child::before,
  .pageLink span:first-child::before {
    left: 0;
    right: 0;
  }
}
@media screen and (min-width: 769px) {
  .pageLink a:first-child:hover::before {
    content: url(/common/images/common/icon_arr-border-white.svg);
  }
}
@media screen and (min-width: 769px) {
  .pageLink a:last-child,
  .pageLink span:last-child {
    padding-right: 20px;
  }
}
.pageLink a:last-child::after,
.pageLink span:last-child::after {
  content: url(/common/images/common/icon_arr-border.svg);
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .pageLink a:last-child::after,
  .pageLink span:last-child::after {
    right: 0;
    left: 0;
  }
}
@media screen and (min-width: 769px) {
  .pageLink a:last-child:hover::after {
    content: url(/common/images/common/icon_arr-border-white.svg);
  }
}

/* stepBar
----------------------------------------------- */
.stepBar {
  max-width: 1000px;
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .stepBar {
    margin: 0 auto 20px;
  }
}

.stepBar__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.stepBar__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 100%;
  height: 60px;
  margin-right: 5px;
  margin-left: 5px;
  text-align: center;
  line-height: 1.3;
  background-color: #e8e8e8;
  color: var(--text-color-gray);
}
@media screen and (max-width: 768px) {
  .stepBar__item {
    margin-right: 3px;
    margin-left: 3px;
    font-size: 1.4rem !important;
  }
}
.stepBar__item::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 0 30px 30px;
  border-color: transparent transparent transparent #e8e8e8;
}
@media screen and (max-width: 768px) {
  .stepBar__item::before {
    border-width: 30px 0 30px 8px;
  }
}
.stepBar__item::before {
  left: 0;
  top: 0;
  border-color: transparent transparent transparent var(--color-base);
}
.stepBar__item::after {
  content: "";
  display: block;
  position: absolute;
  width: 60px;
  height: 60px;
  background: url(/common/images/common/stepbar_item-gray.svg) center center no-repeat;
}
@media screen and (max-width: 768px) {
  .stepBar__item::after {
    background: url(/common/images/common/stepbar_item-sp-gray.svg) center center no-repeat;
  }
}
.stepBar__item::after {
  right: -36px;
  top: 0;
}
@media screen and (max-width: 768px) {
  .stepBar__item::after {
    right: -29px;
  }
}
.stepBar__item.is-active {
  background-color: var(--color-green);
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .stepBar__item.is-active {
    font-weight: 700;
  }
}
.stepBar__item.is-active::after {
  background: url(/common/images/common/stepbar_item.svg) center center no-repeat;
}
@media screen and (max-width: 768px) {
  .stepBar__item.is-active::after {
    background: url(/common/images/common/stepbar_item-sp.svg) center center no-repeat;
  }
}

.stepBar__item:first-child {
  margin-left: 0 !important;
  border-radius: 5px 0 0 5px;
}
.stepBar__item:first-child::before {
  content: none;
}

.stepBar__item:last-child {
  margin-right: 0 !important;
  border-radius: 0 5px 5px 0;
}
.stepBar__item:last-child::after {
  content: none;
}

.stepBar__item:nth-child(1) {
  z-index: 9;
}

.stepBar__item:nth-child(2) {
  z-index: 8;
}

.stepBar__item:nth-child(3) {
  z-index: 7;
}

.stepBar__item:nth-child(4) {
  z-index: 6;
}

.stepBar__item:nth-child(5) {
  z-index: 5;
}

/* pagetop
----------------------------------------------- */
.pagetop {
  width: 205px;
  line-height: 45px;
  text-align: center;
  background-color: var(--color-base);
  -webkit-box-shadow: 0px -30px 30px rgba(0, 0, 0, 0.05);
          box-shadow: 0px -30px 30px rgba(0, 0, 0, 0.05);
  border-radius: 5px 5px 0 0;
  font-size: 1.4rem;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .pagetop {
    width: 165px;
    font-size: 1.2rem;
    line-height: 35px;
  }
}
.pagetop span {
  position: relative;
  display: inline-block;
  padding-left: 25px;
}
.pagetop span::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 19px;
  height: 19px;
  margin: auto;
  background: url(/common/images/common/icon_arr.svg) center center no-repeat;
  background-size: cover;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.pagetop2 {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 25px;
  border: solid 1px var(--border-color);
  background-color: var(--color-base);
  bottom: 30px;
  right: 25px;
  opacity: 0;
  pointer-events: none;
  cursor: pointer;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .pagetop2 {
    right: 15px;
    bottom: 15px;
  }
}
.pagetop2.is-show {
  opacity: 1;
  pointer-events: auto;
}
.pagetop2 img {
  width: 15px !important;
}

/* corner
----------------------------------------------- */
.corner {
  position: relative;
}
.corner::before, .corner::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: url(/common/images/common/corner.svg) center center no-repeat;
  background-size: cover;
  position: absolute;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .corner::before, .corner::after {
    width: 3px;
    height: 3px;
  }
}
.corner::before {
  left: -8px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media screen and (max-width: 768px) {
  .corner::before {
    left: -3px;
  }
}
.corner::after {
  right: -8px;
}
@media screen and (max-width: 768px) {
  .corner::after {
    right: -3px;
  }
}

/* formInput
----------------------------------------------- */
.formInput {
  width: 100%;
  height: 50px;
  padding: 0 20px;
  border: solid 1px var(--border-color);
  border-radius: 5px;
}
.formInput.is-err {
  border: solid 1px var(--color-red);
}
.formInput::-webkit-input-placeholder {
  color: var(--text-color-gray);
  font-weight: 300;
  opacity: 1;
}
.formInput::-moz-placeholder {
  color: var(--text-color-gray);
  font-weight: 300;
  opacity: 1;
}
.formInput:-ms-input-placeholder {
  color: var(--text-color-gray);
  font-weight: 300;
  opacity: 1;
}
.formInput::-ms-input-placeholder {
  color: var(--text-color-gray);
  font-weight: 300;
  opacity: 1;
}
.formInput::placeholder {
  color: var(--text-color-gray);
  font-weight: 300;
  opacity: 1;
}

/* formCheck
----------------------------------------------- */
.formCheckList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.formCheckList li {
  margin-top: 5px;
  margin-bottom: 5px;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .formCheckList li {
    margin-right: 20px;
  }
}

.formCheckList--vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.formCheckList--vertical li {
  margin-right: 0;
}

.formRadio {
  display: none;
}
.formRadio + label {
  position: relative;
  padding: 0 0 0 40px;
  line-height: 1.5;
  cursor: pointer;
}
.formRadio + label::before, .formRadio + label::after {
  content: "";
  display: block;
  border-radius: 100%;
  position: absolute;
  top: -3px;
}
.formRadio + label::before {
  width: 30px;
  height: 30px;
  left: 0;
  border: solid 1px var(--border-color);
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.formRadio + label::after {
  width: 18px;
  height: 18px;
  top: 3px;
  left: 6px;
}
.formRadio:checked + label::before {
  border: solid 1px var(--color-green);
}
.formRadio:checked + label::after {
  background-color: var(--color-green);
}

.formCheckBox {
  display: none;
}
.formCheckBox + label {
  position: relative;
  padding: 0 0 0 40px;
  line-height: 1.5;
  cursor: pointer;
}
.formCheckBox + label::before, .formCheckBox + label::after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.formCheckBox + label::before {
  left: 0;
  border: solid 1px var(--border-color);
  background-color: #fff;
  border-radius: 5px;
}
.formCheckBox + label::after {
  left: 0;
}
.formCheckBox:checked + label::before {
  border: solid 1px var(--color-green);
}
.formCheckBox:checked + label::after {
  background: url(/common/images/common/icon_check.svg) center center no-repeat;
  background-size: 20px auto;
}

.formRadio.is-err + label::before,
.formCheckBox.is-err + label::before {
  border-color: var(--color-red);
}

/* formSelect
----------------------------------------------- */
.formSelect {
  position: relative;
}
.formSelect select {
  width: 100%;
  height: 50px;
  padding: 0 40px 0 20px;
  border: solid 1px var(--border-color);
  background-color: #fff;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: inherit;
}
.formSelect select.is-err {
  border-color: var(--color-red);
}
.formSelect::after {
  content: url(/common/images/common/icon_selectdown.svg);
  position: absolute;
  display: block;
  width: 14px;
  height: 8px;
  line-height: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 18px;
}

/* agreementCheck
----------------------------------------------- */
.agreementCheck,
.feeAgreeCheck {
  margin: 30px 0;
  text-align: center;
}
.agreementCheck label,
.feeAgreeCheck label {
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .agreementCheck label,
  .feeAgreeCheck label {
    font-weight: 700;
  }
}

/* formRequiredIcon
----------------------------------------------- */
.formIcon {
  display: block;
  width: 38px;
  line-height: 25px;
  text-align: center;
  font-size: 1.2rem;
  border-radius: 3px;
}

.formIcon--any {
  color: #777;
  border: solid 1px #777;
}

.formIcon--required {
  color: var(--color-red);
  border: solid 1px var(--color-red);
}

/* accordion
----------------------------------------------- */
.accordion {
  border-top: solid 1px var(--border-color);
  border-bottom: solid 1px var(--border-color);
}
.accordion + .accordion {
  border-top: none;
}

.accordion__ttl {
  position: relative;
  padding: 30px 70px 30px 20px;
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .accordion__ttl {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .accordion__ttl {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .accordion__ttl {
    padding: 18px 70px 18px 0;
  }
}
.accordion__ttl::before {
  content: url(/common/images/common/accordion_item.svg);
  display: block;
  width: 31px;
  height: 13px;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  line-height: 0;
  -webkit-transition: -webkit-transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: -webkit-transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s, -webkit-transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
.accordion.is-open .accordion__ttl::before {
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
}

.accordion__content {
  display: none;
  padding: 0 20px 60px;
}
@media screen and (max-width: 768px) {
  .accordion__content {
    padding: 0 0 20px;
    font-size: 1.5rem;
  }
}

/* deleteBtn
----------------------------------------------- */
.deleteBtn {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 3px;
  border: solid 1px var(--border-color);
  background-color: #fff;
  -webkit-transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (min-width: 769px) {
  .deleteBtn:hover {
    background-color: var(--color-green);
    border-color: var(--color-green);
  }
}
.deleteBtn::after, .deleteBtn::before {
  display: block;
  width: 16px;
  height: 16px;
  line-height: 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.deleteBtn::before {
  content: url(/common/images/common/icon_close-gray.svg);
  opacity: 1;
}
.deleteBtn::after {
  content: url(/common/images/common/icon_close-white.svg);
  opacity: 0;
}
@media screen and (min-width: 769px) {
  .deleteBtn:hover::before {
    opacity: 0;
  }
}
@media screen and (min-width: 769px) {
  .deleteBtn:hover::after {
    opacity: 1;
  }
}

/* contactNumber
----------------------------------------------- */
.contactNumber {
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .contactNumber {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .contactNumber {
    max-inline-size: -webkit-max-content;
    max-inline-size: -moz-max-content;
    max-inline-size: max-content;
    margin-inline: auto;
    margin-bottom: 20px;
  }
}
.contactNumber dt,
.contactNumber dd {
  line-height: 1.3;
}
.contactNumber dt {
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .contactNumber dt {
    font-size: 2.4rem;
  }
}
.contactNumber dd {
  font-size: 2.6rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .contactNumber dd {
    font-weight: 700;
  }
}

/* st-style
----------------------------------------------- */
.st-displayBlock {
  display: block;
}

.st-displayInline {
  display: inline;
}

.st-displayInlineBlock {
  display: inline-block;
}

.st-displayFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.st-displayFlexMiddle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.st-ttl {
  margin-bottom: 30px;
  padding: 5px 15px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  border-left: solid 5px var(--color-green);
}
@media screen and (max-width: 768px) {
  .st-ttl {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .st-ttl {
    margin-bottom: 20px;
  }
}

.st-ttl--sm {
  padding: 8px 15px;
  font-size: 1.6rem;
}

.st-ttl--lg {
  padding: 10px 15px;
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .st-ttl--lg {
    font-size: 2rem;
  }
}

.st-txt {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .st-txt {
    margin-bottom: 20px;
  }
}

.st-txtLg {
  font-size: 1.8rem;
}

.st-txtSm {
  font-size: 1.4rem;
}

.st-txtLeft {
  text-align: left !important;
}

.st-txtRight {
  text-align: right;
}

.st-txtCenter {
  text-align: center;
}

.st-txtCap {
  padding-left: 1em;
  text-indent: -1em;
}

.st-txtBold {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .st-txtBold {
    font-weight: 700;
  }
}

.st-colorRed {
  color: var(--color-red) !important;
}

.st-colorGreen {
  color: var(--color-green) !important;
}

.st-colorBlack {
  color: var(--color-black) !important;
}

.st-txtBg {
  background: var(--color-green);
  color: #fff;
  padding: 0 0.3em;
}

.st-txtMarker {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, var(--color-gold)), color-stop(50%, transparent));
  background-image: linear-gradient(to right, var(--color-gold) 50%, transparent 50%);
  background-position: 0% 100%;
  background-size: 200% 7px;
  background-repeat: no-repeat;
}

.st-fs8 {
  font-size: 0.8rem;
}

.st-fs9 {
  font-size: 0.9rem;
}

.st-fs10 {
  font-size: 1rem;
}

.st-fs11 {
  font-size: 1.1rem;
}

.st-fs12 {
  font-size: 1.2rem;
}

.st-fs13 {
  font-size: 1.3rem;
}

.st-fs14 {
  font-size: 1.4rem;
}

.st-fs15 {
  font-size: 1.5rem;
}

.st-fs16 {
  font-size: 1.6rem;
}

.st-fs17 {
  font-size: 1.7rem;
}

.st-fs18 {
  font-size: 1.8rem;
}

.st-fs19 {
  font-size: 1.9rem;
}

.st-fs20 {
  font-size: 2rem;
}

.st-fs21 {
  font-size: 2.1rem;
}

.st-fs22 {
  font-size: 2.2rem;
}

.st-fs23 {
  font-size: 2.3rem;
}

.st-fs24 {
  font-size: 2.4rem;
}

.st-fs25 {
  font-size: 2.5rem;
}

.st-fs26 {
  font-size: 2.6rem;
}

.st-fs27 {
  font-size: 2.7rem;
}

.st-fs28 {
  font-size: 2.8rem;
}

.st-fs29 {
  font-size: 2.9rem;
}

.st-fs30 {
  font-size: 3rem;
}

.st-fs31 {
  font-size: 3.1rem;
}

.st-fs32 {
  font-size: 3.2rem;
}

.st-fs33 {
  font-size: 3.3rem;
}

.st-fs34 {
  font-size: 3.4rem;
}

.st-fs35 {
  font-size: 3.5rem;
}

.st-fs36 {
  font-size: 3.6rem;
}

.st-fs37 {
  font-size: 3.7rem;
}

.st-fs38 {
  font-size: 3.8rem;
}

.st-fs39 {
  font-size: 3.9rem;
}

.st-fs40 {
  font-size: 4rem;
}

.st-pdT5 {
  padding-top: 5px !important;
}

.st-pdT10 {
  padding-top: 10px !important;
}

.st-pdT15 {
  padding-top: 15px !important;
}

.st-pdT20 {
  padding-top: 20px !important;
}

.st-pdT25 {
  padding-top: 25px !important;
}

.st-pdT30 {
  padding-top: 30px !important;
}

.st-pdT35 {
  padding-top: 35px !important;
}

.st-pdT40 {
  padding-top: 40px !important;
}

.st-pdT45 {
  padding-top: 45px !important;
}

.st-pdT50 {
  padding-top: 50px !important;
}

.st-pdT55 {
  padding-top: 55px !important;
}

.st-pdT60 {
  padding-top: 60px !important;
}

.st-pdT65 {
  padding-top: 65px !important;
}

.st-pdT70 {
  padding-top: 70px !important;
}

.st-pdT75 {
  padding-top: 75px !important;
}

.st-pdT80 {
  padding-top: 80px !important;
}

.st-pdB5 {
  padding-bottom: 5px !important;
}

.st-pdB10 {
  padding-bottom: 10px !important;
}

.st-pdB15 {
  padding-bottom: 15px !important;
}

.st-pdB20 {
  padding-bottom: 20px !important;
}

.st-pdB25 {
  padding-bottom: 25px !important;
}

.st-pdB30 {
  padding-bottom: 30px !important;
}

.st-pdB35 {
  padding-bottom: 35px !important;
}

.st-pdB40 {
  padding-bottom: 40px !important;
}

.st-pdB45 {
  padding-bottom: 45px !important;
}

.st-pdB50 {
  padding-bottom: 50px !important;
}

.st-pdB55 {
  padding-bottom: 55px !important;
}

.st-pdB60 {
  padding-bottom: 60px !important;
}

.st-pdB65 {
  padding-bottom: 65px !important;
}

.st-pdB70 {
  padding-bottom: 70px !important;
}

.st-pdB75 {
  padding-bottom: 75px !important;
}

.st-pdB80 {
  padding-bottom: 80px !important;
}

.st-pdR5 {
  padding-right: 5px !important;
}

.st-pdR10 {
  padding-right: 10px !important;
}

.st-pdR15 {
  padding-right: 15px !important;
}

.st-pdR20 {
  padding-right: 20px !important;
}

.st-pdR25 {
  padding-right: 25px !important;
}

.st-pdR30 {
  padding-right: 30px !important;
}

.st-pdR35 {
  padding-right: 35px !important;
}

.st-pdR40 {
  padding-right: 40px !important;
}

.st-pdR45 {
  padding-right: 45px !important;
}

.st-pdR50 {
  padding-right: 50px !important;
}

.st-pdR55 {
  padding-right: 55px !important;
}

.st-pdR60 {
  padding-right: 60px !important;
}

.st-pdR65 {
  padding-right: 65px !important;
}

.st-pdR70 {
  padding-right: 70px !important;
}

.st-pdR75 {
  padding-right: 75px !important;
}

.st-pdR80 {
  padding-right: 80px !important;
}

.st-pdL5 {
  padding-left: 5px !important;
}

.st-pdL10 {
  padding-left: 10px !important;
}

.st-pdL15 {
  padding-left: 15px !important;
}

.st-pdL20 {
  padding-left: 20px !important;
}

.st-pdL25 {
  padding-left: 25px !important;
}

.st-pdL30 {
  padding-left: 30px !important;
}

.st-pdL35 {
  padding-left: 35px !important;
}

.st-pdL40 {
  padding-left: 40px !important;
}

.st-pdL45 {
  padding-left: 45px !important;
}

.st-pdL50 {
  padding-left: 50px !important;
}

.st-pdL55 {
  padding-left: 55px !important;
}

.st-pdL60 {
  padding-left: 60px !important;
}

.st-pdL65 {
  padding-left: 65px !important;
}

.st-pdL70 {
  padding-left: 70px !important;
}

.st-pdL75 {
  padding-left: 75px !important;
}

.st-pdL80 {
  padding-left: 80px !important;
}

.st-mgT0 {
  margin-top: 0px !important;
}

.st-mgT5 {
  margin-top: 5px !important;
}

.st-mgT10 {
  margin-top: 10px !important;
}

.st-mgT15 {
  margin-top: 15px !important;
}

.st-mgT20 {
  margin-top: 20px !important;
}

.st-mgT25 {
  margin-top: 25px !important;
}

.st-mgT30 {
  margin-top: 30px !important;
}

.st-mgT35 {
  margin-top: 35px !important;
}

.st-mgT40 {
  margin-top: 40px !important;
}

.st-mgT45 {
  margin-top: 45px !important;
}

.st-mgT50 {
  margin-top: 50px !important;
}

.st-mgT55 {
  margin-top: 55px !important;
}

.st-mgT60 {
  margin-top: 60px !important;
}

.st-mgT65 {
  margin-top: 65px !important;
}

.st-mgT70 {
  margin-top: 70px !important;
}

.st-mgT75 {
  margin-top: 75px !important;
}

.st-mgT80 {
  margin-top: 80px !important;
}

.st-mgB0 {
  margin-bottom: 0px !important;
}

.st-mgB5 {
  margin-bottom: 5px !important;
}

.st-mgB10 {
  margin-bottom: 10px !important;
}

.st-mgB15 {
  margin-bottom: 15px !important;
}

.st-mgB20 {
  margin-bottom: 20px !important;
}

.st-mgB25 {
  margin-bottom: 25px !important;
}

.st-mgB30 {
  margin-bottom: 30px !important;
}

.st-mgB35 {
  margin-bottom: 35px !important;
}

.st-mgB40 {
  margin-bottom: 40px !important;
}

.st-mgB45 {
  margin-bottom: 45px !important;
}

.st-mgB50 {
  margin-bottom: 50px !important;
}

.st-mgB55 {
  margin-bottom: 55px !important;
}

.st-mgB60 {
  margin-bottom: 60px !important;
}

.st-mgB65 {
  margin-bottom: 65px !important;
}

.st-mgB70 {
  margin-bottom: 70px !important;
}

.st-mgB75 {
  margin-bottom: 75px !important;
}

.st-mgB80 {
  margin-bottom: 80px !important;
}

.st-mgR5 {
  margin-right: 5px !important;
}

.st-mgR10 {
  margin-right: 10px !important;
}

.st-mgR15 {
  margin-right: 15px !important;
}

.st-mgR20 {
  margin-right: 20px !important;
}

.st-mgR25 {
  margin-right: 25px !important;
}

.st-mgR30 {
  margin-right: 30px !important;
}

.st-mgR35 {
  margin-right: 35px !important;
}

.st-mgR40 {
  margin-right: 40px !important;
}

.st-mgR45 {
  margin-right: 45px !important;
}

.st-mgR50 {
  margin-right: 50px !important;
}

.st-mgR55 {
  margin-right: 55px !important;
}

.st-mgR60 {
  margin-right: 60px !important;
}

.st-mgR65 {
  margin-right: 65px !important;
}

.st-mgR70 {
  margin-right: 70px !important;
}

.st-mgR75 {
  margin-right: 75px !important;
}

.st-mgR80 {
  margin-right: 80px !important;
}

.st-mgL5 {
  margin-left: 5px !important;
}

.st-mgL10 {
  margin-left: 10px !important;
}

.st-mgL15 {
  margin-left: 15px !important;
}

.st-mgL20 {
  margin-left: 20px !important;
}

.st-mgL25 {
  margin-left: 25px !important;
}

.st-mgL30 {
  margin-left: 30px !important;
}

.st-mgL35 {
  margin-left: 35px !important;
}

.st-mgL40 {
  margin-left: 40px !important;
}

.st-mgL45 {
  margin-left: 45px !important;
}

.st-mgL50 {
  margin-left: 50px !important;
}

.st-mgL55 {
  margin-left: 55px !important;
}

.st-mgL60 {
  margin-left: 60px !important;
}

.st-mgL65 {
  margin-left: 65px !important;
}

.st-mgL70 {
  margin-left: 70px !important;
}

.st-mgL75 {
  margin-left: 75px !important;
}

.st-mgL80 {
  margin-left: 80px !important;
}

.st-NmgT0 {
  margin-top: 0px !important;
}

.st-NmgT5 {
  margin-top: -5px !important;
}

.st-NmgT10 {
  margin-top: -10px !important;
}

.st-NmgT15 {
  margin-top: -15px !important;
}

.st-NmgT20 {
  margin-top: -20px !important;
}

.st-NmgT25 {
  margin-top: -25px !important;
}

.st-NmgT30 {
  margin-top: -30px !important;
}

.st-NmgT35 {
  margin-top: -35px !important;
}

.st-NmgT40 {
  margin-top: -40px !important;
}

.st-NmgT45 {
  margin-top: -45px !important;
}

.st-NmgT50 {
  margin-top: -50px !important;
}

.st-NmgT55 {
  margin-top: -55px !important;
}

.st-NmgT60 {
  margin-top: -60px !important;
}

.st-NmgT65 {
  margin-top: -65px !important;
}

.st-NmgT70 {
  margin-top: -70px !important;
}

.st-NmgT75 {
  margin-top: -75px !important;
}

.st-NmgT80 {
  margin-top: -80px !important;
}

.st-NmgB0 {
  margin-bottom: 0px !important;
}

.st-NmgB5 {
  margin-bottom: -5px !important;
}

.st-NmgB10 {
  margin-bottom: -10px !important;
}

.st-NmgB15 {
  margin-bottom: -15px !important;
}

.st-NmgB20 {
  margin-bottom: -20px !important;
}

.st-NmgB25 {
  margin-bottom: -25px !important;
}

.st-NmgB30 {
  margin-bottom: -30px !important;
}

.st-NmgB35 {
  margin-bottom: -35px !important;
}

.st-NmgB40 {
  margin-bottom: -40px !important;
}

.st-NmgB45 {
  margin-bottom: -45px !important;
}

.st-NmgB50 {
  margin-bottom: -50px !important;
}

.st-NmgB55 {
  margin-bottom: -55px !important;
}

.st-NmgB60 {
  margin-bottom: -60px !important;
}

.st-NmgB65 {
  margin-bottom: -65px !important;
}

.st-NmgB70 {
  margin-bottom: -70px !important;
}

.st-NmgB75 {
  margin-bottom: -75px !important;
}

.st-NmgB80 {
  margin-bottom: -80px !important;
}

.st-NmgR5 {
  margin-right: -5px !important;
}

.st-NmgR10 {
  margin-right: -10px !important;
}

.st-NmgR15 {
  margin-right: -15px !important;
}

.st-NmgR20 {
  margin-right: -20px !important;
}

.st-NmgR25 {
  margin-right: -25px !important;
}

.st-NmgR30 {
  margin-right: -30px !important;
}

.st-NmgR35 {
  margin-right: -35px !important;
}

.st-NmgR40 {
  margin-right: -40px !important;
}

.st-NmgR45 {
  margin-right: -45px !important;
}

.st-NmgR50 {
  margin-right: -50px !important;
}

.st-NmgR55 {
  margin-right: -55px !important;
}

.st-NmgR60 {
  margin-right: -60px !important;
}

.st-NmgR65 {
  margin-right: -65px !important;
}

.st-NmgR70 {
  margin-right: -70px !important;
}

.st-NmgR75 {
  margin-right: -75px !important;
}

.st-NmgR80 {
  margin-right: -80px !important;
}

.st-NmgL5 {
  margin-left: -5px !important;
}

.st-NmgL10 {
  margin-left: -10px !important;
}

.st-NmgL15 {
  margin-left: -15px !important;
}

.st-NmgL20 {
  margin-left: -20px !important;
}

.st-NmgL25 {
  margin-left: -25px !important;
}

.st-NmgL30 {
  margin-left: -30px !important;
}

.st-NmgL35 {
  margin-left: -35px !important;
}

.st-NmgL40 {
  margin-left: -40px !important;
}

.st-NmgL45 {
  margin-left: -45px !important;
}

.st-NmgL50 {
  margin-left: -50px !important;
}

.st-NmgL55 {
  margin-left: -55px !important;
}

.st-NmgL60 {
  margin-left: -60px !important;
}

.st-NmgL65 {
  margin-left: -65px !important;
}

.st-NmgL70 {
  margin-left: -70px !important;
}

.st-NmgL75 {
  margin-left: -75px !important;
}

.st-NmgL80 {
  margin-left: -80px !important;
}

img.st-inlineIcon {
  vertical-align: baseline;
}

.st-img {
  max-width: 800px;
  margin-top: 40px;
  margin-bottom: 40px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .st-img {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.st-img img {
  border-radius: 3px;
}
.st-img.st-img--full {
  max-width: 100%;
}

.st-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 0px;
  margin-bottom: 30px;
}

.st-block--2col .st-block__item {
  width: calc(50% - 30px);
}
@media screen and (min-width: 769px) {
  .st-block--2col .st-block__item:not(:nth-child(2n)) {
    margin-right: 60px;
  }
}
@media screen and (max-width: 768px) {
  .st-block--2col .st-block__item {
    width: 100%;
  }
}
.st-block--2col .st-block__item > .st-img {
  margin-top: 0px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .st-block--2col .st-block__item > .st-img {
    margin-top: 0px;
    margin-bottom: 10px;
  }
}

.st-block--3col .st-block__item {
  width: calc(33.3333333333% - 20px);
}
@media screen and (min-width: 769px) {
  .st-block--3col .st-block__item:not(:nth-child(3n)) {
    margin-right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .st-block--3col .st-block__item {
    width: calc(50% - 10px);
  }
  .st-block--3col .st-block__item:nth-child(odd) {
    margin-right: 20px;
  }
}
.st-block--3col .st-block__item > .st-img {
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .st-block--3col .st-block__item > .st-img {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

.st-listNumberCircle,
.st-listNumber,
.st-list {
  margin-bottom: 30px;
}
.st-listNumberCircle li,
.st-listNumber li,
.st-list li {
  margin-bottom: 5px;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: normal;
}

.st-list li {
  position: relative;
  padding-left: calc(16px + 0.3em);
}
.st-list li::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 15px;
  border: solid 4px var(--color-green);
  position: absolute;
  top: 7px;
  left: 0;
}

.st-list--red li::before {
  border-color: var(--color-red);
}

.st-listNumber {
  counter-reset: listNumber 0;
}
.st-listNumber li {
  position: relative;
  padding-left: 1.3em;
}
.st-listNumber li:nth-child(n+10) {
  padding-left: 1.9em;
}
.st-listNumber li::before {
  position: absolute;
  counter-increment: listNumber 1;
  content: "(" counter(listNumber) ")";
  left: 0;
  top: 0;
  font-family: "Helvetica Neue", Arial, sans-serif;
}

.st-listNumberCircle {
  counter-reset: listNumber 0;
}
.st-listNumberCircle li {
  position: relative;
  padding-left: calc(22px + 0.3em);
}
.st-listNumberCircle li::before {
  position: absolute;
  counter-increment: listNumber 1;
  content: counter(listNumber);
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  background: var(--color-green);
  border-radius: 11px;
  color: #fff;
  left: 0;
  top: 4px;
  font-size: 1.4rem;
  font-family: "Helvetica Neue", Arial, sans-serif;
}

.st-box {
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 40px 50px 50px;
  border-radius: 10px;
  background-color: #eaf3f0;
  border: solid 1px #c3e6e2;
}
@media screen and (max-width: 768px) {
  .st-box {
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 20px 20px 30px;
  }
}
@media screen and (max-width: 768px) {
  .st-box {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.st-box2 {
  margin-top: 40px;
  margin-bottom: 40px;
  border: solid 1px var(--color-green);
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .st-box2 {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.st-box2__head {
  padding: 20px 50px;
  background-color: var(--color-green);
  color: #fff;
}
@media screen and (max-width: 768px) {
  .st-box2__head {
    padding: 20px 20px 15px;
  }
}

.st-box2--white {
  border: solid 1px var(--border-color-gray);
}
.st-box2--white .st-box2__head {
  color: var(--text-color);
  background-color: var(--color-white);
}

.st-box2--red {
  border: solid 1px var(--color-red);
}
.st-box2--red .st-box2__head {
  background-color: var(--color-red);
}

.st-box2--blue {
  border: solid 1px var(--color-blue);
}
.st-box2--blue .st-box2__head {
  background-color: var(--color-blue);
}

.st-box2--green {
  border: solid 1px var(--color-green2);
}
.st-box2--green .st-box2__head {
  background-color: var(--color-green2);
}

.st-box2--brown {
  border: solid 1px var(--color-brown);
}
.st-box2--brown .st-box2__head {
  background-color: var(--color-brown);
}

.st-box2--pink {
  border: solid 1px var(--color-pink);
}
.st-box2--pink .st-box2__head {
  background-color: var(--color-pink);
}

.st-box2--orange {
  border: solid 1px var(--color-orange);
}
.st-box2--orange .st-box2__head {
  background-color: var(--color-orange);
}

.st-box2--purple {
  border: solid 1px var(--color-purple);
}
.st-box2--purple .st-box2__head {
  background-color: var(--color-purple);
}

.st-box2--yellow {
  border: solid 1px var(--color-gold);
}
.st-box2--yellow .st-box2__head {
  background-color: var(--color-gold);
}

.st-box2__ttl {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .st-box2__ttl {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .st-box2__ttl {
    font-size: 1.8rem;
  }
}

.st-box2__content {
  padding: 30px 50px 30px;
}
@media screen and (max-width: 768px) {
  .st-box2__content {
    padding: 30px 20px 30px;
  }
}

.st-attnBox,
.st-attentionBox {
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 30px 50px 40px;
  border: solid 1px var(--color-red);
  border-radius: 5px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .st-attnBox,
  .st-attentionBox {
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 20px 20px 30px;
  }
}
.st-attnBox :last-child,
.st-attentionBox :last-child {
  margin-bottom: 0;
}

.st-attnBox__head,
.st-attentionBox__head {
  position: relative;
  margin-bottom: 20px;
  padding-left: 50px;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .st-attnBox__head,
  .st-attentionBox__head {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .st-attnBox__head,
  .st-attentionBox__head {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .st-attnBox__head,
  .st-attentionBox__head {
    margin-bottom: 10px;
    padding-left: 35px;
  }
}
.st-attnBox__head::before,
.st-attentionBox__head::before {
  content: url(/common/images/common/icon_attention.svg);
  display: block;
  width: 38px;
  position: absolute;
  top: -5px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .st-attnBox__head::before,
  .st-attentionBox__head::before {
    width: 25px;
    top: 0;
  }
}

.st-subBtn,
.st-btn {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .st-subBtn,
  .st-btn {
    margin-top: 30px;
    margin-bottom: 30px;
    margin-right: auto;
    margin-left: auto;
  }
}

.st-subBtn--sm,
.st-btn--sm {
  margin-top: 20px;
  margin-bottom: 20px;
}

.st-btnArea .st-btn {
  margin-right: auto;
  margin-left: auto;
}

.st-pictList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 10px;
}
.st-pictList .st-pict {
  margin-bottom: 10px;
}
.st-pictList .st-pict:not(:last-child) {
  margin-right: 10px;
}

.st-pict {
  display: inline-block;
  padding: 0 20px;
  font-size: 1.3rem;
  font-weight: 500;
  color: #fff;
  line-height: 30px;
  border-radius: 3px;
  text-align: center;
  background: var(--color-green);
}
@media screen and (max-width: 768px) {
  .st-pict {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .st-pict {
    line-height: 35px;
  }
}

.st-pict--white {
  background: var(--color-white);
  color: var(--text-color);
  border: 1px solid var(--border-color-gray);
}

.st-pict--red {
  background: var(--color-red);
}

.st-pict--blue {
  background: var(--color-blue);
}

.st-pict--green {
  background: var(--color-green2);
}

.st-pict--brown {
  background: var(--color-brown);
}

.st-pict--pink {
  background: var(--color-pink);
}

.st-pict--orange {
  background: var(--color-orange);
}

.st-pict--purple {
  background: var(--color-purple);
}

.st-pict--yellow {
  background: var(--color-gold);
}

.st-pictTxt {
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .st-pictTxt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 769px) {
  .st-pictTxt dt {
    margin-right: 20px;
  }
}
@media screen and (max-width: 768px) {
  .st-pictTxt dt {
    margin-bottom: 5px;
  }
}
.st-pictTxt dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.st-pictLine {
  margin-top: 20px;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.st-table {
  overflow: auto;
}
.st-table table {
  margin-top: 30px;
  margin-bottom: 30px;
  border-top: solid 1px var(--border-color);
  border-left: solid 1px var(--border-color);
}
.st-table table th,
.st-table table td {
  padding: 10px;
  border-right: solid 1px var(--border-color);
  border-bottom: solid 1px var(--border-color);
}
.st-table table th {
  background: #e8e3dc;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .st-table table th {
    font-weight: 700;
  }
}

.st-table--full table {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .st-pcDisp {
    display: none;
  }
}

.st-spDisp {
  display: none;
}
@media screen and (max-width: 768px) {
  .st-spDisp {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .table-scroll {
    overflow-x: auto;
    overflow-y: hidden;
  }
}
.table-scroll img {
  max-width: none !important;
}

@media screen and (max-width: 768px) {
  .table-scroll:before {
    content: "▼下記は横にスクロールできます。";
  }
}

/* overlay
----------------------------------------------- */
.overlay {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 1999;
}

/* project
----------------------------------------------- */
/* groupHeader
----------------------------------------------- */
.groupHeader {
  border-bottom: solid 1px var(--border-color-gray);
  background-color: #fff;
  -webkit-transition: padding cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: padding cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .groupHeader {
    border-top: solid 1px var(--border-color-gray);
  }
}

.groupHeader__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: var(--width-max);
  height: 60px;
  margin: 0 auto;
  padding: 0 20px 0 40px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 1250px) {
  .groupHeader__inner {
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px) {
  .groupHeader__inner {
    height: 40px;
    padding: 0 0 0 17px;
  }
}

.groupHeader__logo {
  width: 360px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .groupHeader__logo {
    width: 284px;
  }
}
@media screen and (max-width: 400px) {
  .groupHeader__logo {
    width: 270px;
  }
}
@media screen and (max-width: 370px) {
  .groupHeader__logo {
    width: 230px;
  }
}
.groupHeader__logo a {
  display: block;
}
.groupHeader__logo .groupHeader__companyLogo {
  width: 87%;
}
.groupHeader__logo .groupHeader__groupLogo {
  width: 10%;
}

.groupHeader__bnrList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .groupHeader__bnrList {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.groupHeader__bnr {
  width: 180px;
  height: 40px;
  margin-left: 5px;
}
@media screen and (max-width: 768px) {
  .groupHeader__bnr {
    width: 100%;
    height: 60px;
  }
  .groupHeader__bnr:not(:last-child) {
    margin-bottom: 10px;
  }
}
.groupHeader__bnr a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  border: solid 1px #eeeeee;
  background-color: #fff;
  border-radius: 5px;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
}
.groupHeader__bnr a:hover {
  opacity: 0.7;
}
.groupHeader__bnr a::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 7px;
  display: block;
  width: 9px;
  height: 9px;
  background: url(/common/images/group_header/group_icon_blank.svg) center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .groupHeader__bnr a::after {
    width: 12px;
    height: 12px;
  }
}

.groupHeader__bnr--nottetanoshii img {
  width: 132px;
}
@media screen and (max-width: 768px) {
  .groupHeader__bnr--nottetanoshii img {
    width: 216px;
  }
}

.groupHeader__bnr--andtrip img {
  width: 88px;
}
@media screen and (max-width: 768px) {
  .groupHeader__bnr--andtrip img {
    width: 140px;
  }
}

.groupHeader__bnr--ekitabi img {
  width: 128px;
}
@media screen and (max-width: 768px) {
  .groupHeader__bnr--ekitabi img {
    width: 190px;
  }
}

.groupHeader__open {
  position: absolute;
  top: -1px;
  right: 5px;
  width: 70px;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .groupHeader__open {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .groupHeaderSp {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .groupHeaderSp {
    display: none;
    position: fixed;
    top: 15%;
    left: 0;
    right: 0;
    width: 355px;
    margin: auto;
    padding: 55px 20px 60px;
    background-color: #fff;
    border-radius: 5px;
    z-index: 2000;
  }
}
@media screen and (max-width: 375px) {
  .groupHeaderSp {
    width: 95%;
  }
}

.groupHeaderSp__logo {
  width: 296px;
  margin: 0 auto 12px;
  display: none;
}
@media screen and (max-width: 768px) {
  .groupHeaderSp__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 375px) {
  .groupHeaderSp__logo {
    width: 100%;
  }
}
.groupHeaderSp__logo .groupHeader__companyLogo {
  width: 87%;
}
.groupHeaderSp__logo .groupHeader__groupLogo {
  width: 10%;
}

.groupHeaderSp__close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 40px;
  cursor: pointer;
}

/* header
----------------------------------------------- */
.header {
  position: relative;
  background-color: #fff;
  border-bottom: solid 1px var(--border-color-gray);
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: var(--width-max);
  height: 100px;
  margin: 0 auto;
  padding: 0 20px 0 40px;
  -webkit-transition: padding cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: padding cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 1250px) {
  .header__inner {
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px) {
  .header__inner {
    height: 60px;
    padding: 0 10px 0 17px;
  }
}

.header__logo {
  width: 300px;
  margin-right: 40px;
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: 250px;
  }
}
.header__logo a {
  display: block;
}

@media screen and (max-width: 768px) {
  .header__spMenu {
    display: none;
    position: fixed;
    top: 0;
    right: -355px;
    width: 295px;
    height: 100vh;
    -webkit-transition: right cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
    transition: right cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
    z-index: 2000;
  }
}
.header__spMenu.is-open {
  right: 0;
}
.header__spMenu .closeBtn {
  position: absolute;
  left: -60px;
  top: 0;
}

@media screen and (max-width: 768px) {
  .header__contentWrap {
    height: 100vh;
    overflow: auto;
    background-color: var(--color-base);
  }
}

.header__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .header__content {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 45px 20px 100px;
  }
}

.header__subNav {
  margin-right: 25px;
  -webkit-transition: margin-right cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: margin-right cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 1250px) {
  .header__subNav {
    margin-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  .header__subNav {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    margin-right: 0;
  }
}

@media screen and (min-width: 769px) {
  .header__subNav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.header__subNav__item {
  -webkit-transition: margin-right cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: margin-right cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
.header__subNav__item:not(:last-child) {
  margin-right: 20px;
}
@media screen and (max-width: 1250px) {
  .header__subNav__item:not(:last-child) {
    margin-right: 13px;
  }
}
@media screen and (max-width: 768px) {
  .header__subNav__item:not(:last-child) {
    margin-bottom: 10px;
    margin-right: 0;
  }
}
.header__subNav__item a {
  text-decoration: none;
  color: inherit;
}
.header__subNav__item a:hover {
  color: inherit;
}
.header__subNav__item a {
  position: relative;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  -webkit-transition: color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .header__subNav__item a {
    font-weight: 700;
  }
}
.header__subNav__item a:hover {
  color: var(--color-green);
}
@media screen and (max-width: 768px) {
  .header__subNav__item a {
    display: block;
    width: 100%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border: solid 1px var(--border-color);
    background-color: #fff;
    border-radius: 5px;
  }
}
.header__subNav__item a::before {
  display: block;
  position: absolute;
  left: 0;
}
@media screen and (max-width: 768px) {
  .header__subNav__item a::before {
    top: 0 !important;
    bottom: 0 !important;
    left: 16px;
    margin: auto 0;
  }
}

.header__subNav__item--guide a {
  padding-left: 20px;
}
.header__subNav__item--guide a::before {
  content: url(/common/images/common/icon-book.svg);
  width: 15px;
  top: 5px;
}
@media screen and (max-width: 768px) {
  .header__subNav__item--guide a::before {
    width: 18px;
  }
}

.header__subNav__item--faq a {
  padding-left: 16px;
}
.header__subNav__item--faq a::before {
  content: url(/common/images/common/icon-question.svg);
  width: 13px;
  top: 6px;
}
@media screen and (max-width: 768px) {
  .header__subNav__item--faq a::before {
    width: 17px;
  }
}

.header__subNav__item--contact a {
  padding-left: 18px;
}
.header__subNav__item--contact a::before {
  content: url(/common/images/common/icon-tel.svg);
  width: 14px;
  top: 5px;
}
@media screen and (max-width: 768px) {
  .header__subNav__item--contact a::before {
    width: 18px;
  }
}

@media screen and (min-width: 769px) {
  .header__nav {
    margin-right: 20px;
  }
}
@media screen and (max-width: 768px) {
  .header__nav {
    width: 100%;
    margin-bottom: 25px;
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}

.header__nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .header__nav__list {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.header__menuIcon {
  cursor: pointer;
}

.header__menuIcon__icon {
  width: 60px;
}

.header__menuIcon {
  position: relative;
}

.header__menuIcon__num {
  position: absolute;
  top: -5px;
  right: -5px;
  display: inline-block;
  min-width: 22px;
  height: 22px;
  padding: 1px 3px 0 4px;
  border: solid 2px var(--color-green);
  text-align: center;
  line-height: 1;
  background-color: #fff;
  border-radius: 11px;
  font-family: "Istok Web", sans-serif;
}
.header__menuIcon__num span {
  color: var(--color-green);
  font-size: 1.5rem;
}

.header__spLogo {
  width: 227px;
  margin: 0 auto 30px;
}
.header__spLogo a {
  display: block;
}

.header__logout {
  display: none;
  width: 100%;
  margin: -10px 0 20px;
  text-align: right;
}
.header__logout a {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .is-login .header__logout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

/* numberSearch
----------------------------------------------- */
.numberSearch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.numberSearch .tourSearchItem input {
  font-size: 1.9rem;
  letter-spacing: 0.2em;
  font-family: "Istok Web", sans-serif;
}
.numberSearch span {
  display: block;
  width: 4.8076923077%;
}
@media screen and (max-width: 768px) {
  .numberSearch span {
    padding: 0 10px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }
}
.numberSearch span::after {
  content: "";
  display: block;
  width: 15px;
  height: 2px;
  margin: 0 auto;
  background-color: var(--color-black);
}

.numberSearch__form:first-child {
  width: 38.4615384615%;
}
.numberSearch__form:last-child {
  width: 56.7307692308%;
}

/* searchArea
----------------------------------------------- */
.topSearch.is-destination .tourSearchBlock--departure,
.topSearch.is-destination .tourSearchBlock--destination,
.topSearch.is-destination .tourSearchBlock--calendar,
.topSearch.is-destination .tourSearchBlock--stay {
  display: block !important;
  opacity: 1 !important;
}
.topSearch.is-destination .tourSearchBlock--theme,
.topSearch.is-destination .tourSearchBlock--customer,
.topSearch.is-destination .tourSearchBlock--situation,
.topSearch.is-destination .tourSearchBlock--cancel,
.topSearch.is-destination .tourSearchBlock--conductor,
.topSearch.is-destination .tourSearchBlock--participation,
.topSearch.is-destination .tourSearchBlock--price,
.topSearch.is-destination .tourSearchBlock--other,
.topSearch.is-destination .tourSearchBlock--no,
.topSearch.is-destination .tourSearchBlock--word {
  display: none;
}
.topSearch.is-word .tourSearchBlock--theme,
.topSearch.is-word .tourSearchBlock--word {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  display: block !important;
  opacity: 1 !important;
}
.topSearch.is-word .tourSearchBlock--departure,
.topSearch.is-word .tourSearchBlock--destination,
.topSearch.is-word .tourSearchBlock--calendar,
.topSearch.is-word .tourSearchBlock--stay,
.topSearch.is-word .tourSearchBlock--customer,
.topSearch.is-word .tourSearchBlock--situation,
.topSearch.is-word .tourSearchBlock--cancel,
.topSearch.is-word .tourSearchBlock--conductor,
.topSearch.is-word .tourSearchBlock--participation,
.topSearch.is-word .tourSearchBlock--price,
.topSearch.is-word .tourSearchBlock--other,
.topSearch.is-word .tourSearchBlock--no {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  display: none;
}
.topSearch.is-no .tourSearchBlock--no {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  display: block !important;
  opacity: 1 !important;
}
.topSearch.is-no .tourSearchBlock--departure,
.topSearch.is-no .tourSearchBlock--destination,
.topSearch.is-no .tourSearchBlock--calendar,
.topSearch.is-no .tourSearchBlock--stay,
.topSearch.is-no .tourSearchBlock--theme,
.topSearch.is-no .tourSearchBlock--customer,
.topSearch.is-no .tourSearchBlock--situation,
.topSearch.is-no .tourSearchBlock--cancel,
.topSearch.is-no .tourSearchBlock--conductor,
.topSearch.is-no .tourSearchBlock--participation,
.topSearch.is-no .tourSearchBlock--price,
.topSearch.is-no .tourSearchBlock--other,
.topSearch.is-no .tourSearchBlock--word {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  display: none;
}
.tourSearch__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .tourSearch__list {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 40px;
  }
}

.tourSearchBlock {
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .tourSearchBlock {
    width: 100%;
    margin-top: 10px;
  }
}

.tourSearchBlock--word .tourSearchItem::after,
.numberSearch .tourSearchItem::after {
  display: none;
}

.tourSearchBlock--word.is-open .tourSearchItem .close::after {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.tourSearchBlock--word .tourSearchItem {
  padding-right: 30px;
}
.tourSearchBlock--word .tourSearchItem .close {
  content: "";
  display: block;
  width: 40px;
  position: absolute;
  right: 0;
  height: 100%;
}
.tourSearchBlock--word .tourSearchItem .close::after {
  content: "";
  display: block;
  position: absolute;
  right: 5px;
  top: 45%;
  bottom: 0;
  width: 15px;
  height: 15px;
  padding: 0;
  border-bottom: 4px solid var(--border-color);
  border-right: 4px solid var(--border-color);
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.tourSearchItem {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 70px;
  background-color: #fff;
  border: solid 1px var(--border-color);
  border-radius: 3px;
  color: #9a9a9a;
  padding-right: 20px;
  font-weight: 500;
  cursor: pointer;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .tourSearchItem {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .tourSearchItem {
    height: 55px;
  }
}
@media screen and (min-width: 769px) {
  .tourSearchItem:hover {
    -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
  }
}
.tourSearchItem input,
.tourSearchItem span {
  padding: 0 12px;
  text-align: center;
  line-height: 1.5;
}
.tourSearchItem input {
  width: 100%;
  height: 100%;
  border: none;
}
.tourSearchItem::after {
  content: "";
  display: block;
  position: absolute;
  right: 5px;
  top: 45%;
  bottom: 0;
  width: 15px;
  height: 15px;
  border-bottom: 4px solid var(--border-color);
  border-right: 4px solid var(--border-color);
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.tourSearchItem::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 7px;
  height: 50px;
  margin: auto;
  border-radius: 0 5px 5px 0;
  background-color: var(--border-color);
}
@media screen and (max-width: 768px) {
  .tourSearchItem::before {
    width: 5px;
    height: 45px;
    border-radius: 0 3px 3px 0;
  }
}
.tourSearchItem span::before {
  font-weight: 400 !important;
}
.tourSearchItem.is-active {
  border: solid 1px #fff;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  color: var(--text-color);
}
.tourSearchItem.is-active::before {
  background-color: var(--color-green);
}
.tourSearchItem.is-active::after {
  border-bottom: 4px solid var(--color-green);
  border-right: 4px solid var(--color-green);
}
.tourSearchItem.is-active .close::after {
  border-bottom: 4px solid var(--color-green);
  border-right: 4px solid var(--color-green);
}
.tourSearchItem.is-active span::before {
  content: none !important;
}
.tourSearchItem[data-placeholder="0"] span::before {
  content: "";
}
.tourSearchItem[data-placeholder="1"] span::before {
  content: "未選択";
}
.tourSearchItem[data-placeholder="2"] span::before {
  content: "選んでください";
}
.tourSearchItem[data-placeholder="3"] span::before {
  content: "未選択";
}
.tourSearchItem[data-placeholder="4"] span::before {
  content: "子供 未選択";
}
.tourSearchItem[data-placeholder="5"] span::before {
  content: "幼児 未選択";
}

@media screen and (min-width: 769px) {
  .tourSearchBlock__ttl {
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 768px) {
  .tourSearchBlock__ttl {
    font-size: 1.5rem;
  }
}

.feeBlock__head__ttl,
.tourSearchModal__ttl span,
.tourSearchBlock__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.feeBlock__head__ttl::before,
.tourSearchModal__ttl span::before,
.tourSearchBlock__ttl::before {
  content: "";
  display: block;
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 768px) {
  .feeBlock__head__ttl::before,
  .tourSearchModal__ttl span::before,
  .tourSearchBlock__ttl::before {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--departure {
    width: calc(50% - 15px);
  }
}

.tourSearchModal--detailDeparture .tourSearchModal__ttl span::before,
.feeBlock--departure .feeBlock__head__ttl::before,
.tourSearchBlock--departure .tourSearchBlock__ttl::before,
.tourSearchModal--departure .tourSearchModal__ttl span::before {
  background: url(/common/images/common/search_icon-flag.svg) center center no-repeat;
  background-size: 20px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchModal--departure,
  .tourSearchModal--destination {
    width: 1025px;
    height: 560px;
  }
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--destination {
    width: calc(50% - 15px);
  }
}

.tourSearchBlock--destination .tourSearchBlock__ttl::before,
.tourSearchModal--destination .tourSearchModal__ttl span::before {
  background: url(/common/images/common/search_icon-pin.svg) center center no-repeat;
  background-size: 20px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--calendar {
    width: calc(50% - 15px);
  }
}

.feeBlock--oneday .feeBlock__head__ttl::before,
.feeBlock--day .feeBlock__head__ttl::before,
.tourSearchBlock--calendar .tourSearchBlock__ttl::before,
.tourSearchModal--calendar .tourSearchModal__ttl span::before {
  background: url(/common/images/common/search_icon-date.svg) center center no-repeat;
  background-size: 20px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchModal--calendar .tourSearchModal {
    width: 980px;
  }
}
.tourSearchModal--calendar .tourSearchModal__txt {
  margin-bottom: 20px;
}
.tourSearchModal--calendar .tourSearchModal__btnArea {
  padding-top: 20px;
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--stay {
    width: calc(50% - 15px);
  }
}

.tourSearchBlock--stay .tourSearchBlock__ttl::before,
.tourSearchModal--stay .tourSearchModal__ttl span::before {
  background: url(/common/images/common/search_icon-stay.svg) center center no-repeat;
  background-size: 24px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--word {
    width: 100%;
  }
}
.tourSearchBlock--word .tourSearchItem {
  margin-bottom: 1px;
}
.tourSearchBlock--word .wordList {
  display: none;
}

.tourSearchBlock--word .tourSearchBlock__ttl::before,
.tourSearchModal--word .tourSearchModal__ttl span::before {
  background: url(/common/images/common/search_icon-word.svg) center center no-repeat;
  background-size: 22px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--theme {
    width: 100%;
  }
}

.tourSearchModal--theme .selectList {
  width: 100%;
  max-width: 945px;
  padding-bottom: 20px;
  overflow: auto;
}
@media screen and (min-width: 769px) {
  .tourSearchModal--theme .selectList {
    max-height: 260px;
  }
}
@media screen and (max-width: 768px) {
  .tourSearchModal--theme .selectList {
    padding: 0 5.3333333333vw;
    -webkit-box-shadow: 0px -10px 10px rgba(0, 0, 0, 0.08) inset;
            box-shadow: 0px -10px 10px rgba(0, 0, 0, 0.08) inset;
  }
}
.tourSearchModal--theme .selectItem {
  display: inline-block;
  margin-right: 8px;
}
.tourSearchModal--theme .selectItem .checkItem input[type=checkbox] + label {
  padding-left: 35px;
  padding-right: 20px;
}
.tourSearchModal--theme .selectItem .checkItem input[type=checkbox] + label::after, .tourSearchModal--theme .selectItem .checkItem input[type=checkbox] + label::before {
  width: 14px;
  height: 14px;
}

.tourSearchBlock--theme .tourSearchBlock__ttl::before,
.tourSearchModal--theme .tourSearchModal__ttl span::before {
  background: url(/common/images/common/search_icon-theme.svg) center center no-repeat;
  background-size: 20px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--customer {
    width: calc(33.3333333333% - 20px);
  }
}

.tourSearchModal--detailType .tourSearchModal__ttl span::before,
.feeBlock--type .feeBlock__head__ttl::before,
.tourSearchBlock--customer .tourSearchBlock__ttl::before,
.tourSearchModal--customer .tourSearchModal__ttl span::before {
  background: url(/common/images/common/search_icon-customer.svg) center center no-repeat;
  background-size: 20px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--situation {
    width: calc(33.3333333333% - 20px);
  }
}

.tourSearchModal--situation .tourSearchModal__ttl {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .tourSearchModal--situation .tourSearchModal__ttl {
    margin-bottom: 20px;
  }
}

.tourSearchBlock--situation .tourSearchBlock__ttl::before,
.tourSearchModal--situation .tourSearchModal__ttl span::before {
  background: url(/common/images/common/search_icon-situation.svg) center center no-repeat;
  background-size: 24px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--cancel {
    width: calc(33.3333333333% - 20px);
  }
}

.tourSearchBlock--cancel .tourSearchBlock__ttl::before,
.tourSearchModal--cancel .tourSearchModal__ttl span::before {
  background: url(/common/images/common/search_icon-cancel.svg) center center no-repeat;
  background-size: 23px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--conductor {
    width: calc(33.3333333333% - 20px);
  }
}

.tourSearchBlock--conductor .tourSearchBlock__ttl::before,
.tourSearchModal--conductor .tourSearchModal__ttl span::before {
  margin-right: 5px;
  background: url(/common/images/common/search_icon-conductor.svg) center center no-repeat;
  background-size: 35px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--participation {
    width: calc(33.3333333333% - 20px);
  }
}

.tourSearchModal--detailParticipationToddler .tourSearchModal__ttl span::before,
.tourSearchModal--detailParticipationChild .tourSearchModal__ttl span::before,
.tourSearchModal--detailParticipationAdult .tourSearchModal__ttl span::before,
.tourSearchModal--detailParticipationPeople .tourSearchModal__ttl span::before,
.feeBlock--participation .feeBlock__head__ttl::before,
.tourSearchBlock--participation .tourSearchBlock__ttl::before,
.tourSearchModal--participation .tourSearchModal__ttl span::before {
  width: 41px;
  margin-right: 5px;
  background: url(/common/images/common/search_icon-participation.svg) center center no-repeat;
  background-size: 41px auto;
}

.tourSearchModal--detailParticipationPeople .selectListWrap {
  padding: 0 20px;
  max-height: 40vh;
  overflow-y: auto;
  overflow-x: hidden;
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--price {
    width: calc(33.3333333333% - 20px);
  }
}

.tourSearchBlock--price .tourSearchBlock__ttl::before,
.tourSearchModal--price .tourSearchModal__ttl span::before {
  background: url(/common/images/common/search_icon-price.svg) center center no-repeat;
  background-size: 24px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--other {
    width: 100%;
  }
}

.tourSearchModal--detailOption1 .tourSearchModal__ttl span::before,
.tourSearchModal--detailOption2 .tourSearchModal__ttl span::before,
.tourSearchModal--detailOption3 .tourSearchModal__ttl span::before,
.tourSearchModal--detailOption4 .tourSearchModal__ttl span::before,
.tourSearchModal--detailOption5 .tourSearchModal__ttl span::before,
.tourSearchModal--detailOption6 .tourSearchModal__ttl span::before,
.feeBlock--other .feeBlock__head__ttl::before,
.feeBlock--option .feeBlock__head__ttl::before,
.tourSearchBlock--other .tourSearchBlock__ttl::before,
.tourSearchModal--other .tourSearchModal__ttl span::before {
  background: url(/common/images/common/search_icon-other.svg) center center no-repeat;
  background-size: 24px auto;
}

@media screen and (max-width: 768px) {
  .tourSearchModal--other .selectItem {
    width: 100% !important;
  }
}

@media screen and (min-width: 769px) {
  .tourSearchBlock--no {
    width: 100%;
  }
}

.tourSearchBlock--no .tourSearchBlock__ttl::before,
.tourSearchModal--no .tourSearchModal__ttl span::before {
  margin-right: 5px;
  background: url(/common/images/common/search_icon-no.svg) center center no-repeat;
  background-size: 30px auto;
}

@media screen and (min-width: 769px) {
  .tourSearchModal {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-right: 80px;
    padding-left: 80px;
  }
}

.tourSearchModal__ttl span {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 2.2rem;
}

.tourSearchModal__txt {
  margin-bottom: 30px;
  text-align: center;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .tourSearchModal__txt {
    margin-bottom: 20px;
  }
}
.tourSearchModal__txt img {
  width: 14px;
  margin-right: 0.3em;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

@media screen and (max-width: 768px) {
  .selectListWrap {
    max-height: 50vh;
    overflow: auto;
  }
}

.selectList {
  width: 315px;
}
@media screen and (max-width: 768px) {
  .selectList {
    margin: 0 auto;
  }
}

.selectList--2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .selectList--2col {
    width: 100%;
    max-width: 614px;
  }
}
.selectList--2col .selectItem {
  width: calc(50% - 7px);
}
@media screen and (max-width: 768px) {
  .selectList--2col .selectItem {
    width: calc(50% - 5px);
  }
}

.selectItem {
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .selectItem {
    margin-bottom: 10px;
  }
}

.tourSearchModal__btnArea {
  padding-top: 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .tourSearchModal__btnArea {
    padding-top: 20px;
  }
}
.tourSearchModal__btnArea .closeTxtLink {
  margin-top: 15px;
  font-size: 1.2rem;
}
.tourSearchModal__btnArea .btn {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .tourSearchModal__btnArea.is-shadow {
    position: relative;
    -webkit-box-shadow: 0 -10px 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0 -10px 10px rgba(0, 0, 0, 0.1);
    z-index: 1;
  }
}

.tourSearch__btnArea {
  padding: 0px 0 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .tourSearch__btnArea {
    padding: 0 0 20px 0;
  }
}
.tourSearch__btnArea .moreTxtLink {
  width: 11em;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0 auto 40px;
}
.tourSearch__btnArea .moreTxtLink.is-delete {
  width: 3em;
}
@media screen and (max-width: 768px) {
  .tourSearch__btnArea .moreTxtLink {
    margin-bottom: 30px;
  }
}
.tourSearch__btnArea .primaryBtn {
  margin: 0 auto 15px;
}
@media screen and (max-width: 768px) {
  .tourSearch__btnArea .primaryBtn {
    margin: 0 auto 10px;
  }
}
.tourSearch__btnArea .moreCloseTxtLink {
  margin: 10px auto 0;
  display: none;
}
.tourSearch__btnArea .moreCloseTxtLink span {
  font-size: 1.3rem;
  text-decoration: underline;
  position: relative;
  padding-left: 20px;
}
.tourSearch__btnArea .moreCloseTxtLink span:hover {
  text-decoration: none;
  cursor: pointer;
}
.tourSearch__btnArea .moreCloseTxtLink span::before, .tourSearch__btnArea .moreCloseTxtLink span::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 15px;
  height: 2px;
  margin: auto;
  background-color: var(--color-black);
  border-radius: 2px;
}
.is-showMore .tourSearch__btnArea {
  position: sticky;
  bottom: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(248, 248, 245)), color-stop(50%, rgba(248, 248, 245, 0.75)), to(rgba(248, 248, 245, 0)));
  background: linear-gradient(to top, rgb(248, 248, 245) 0%, rgba(248, 248, 245, 0.75) 50%, rgba(248, 248, 245, 0) 100%);
}
.is-showMore .tourSearch__btnArea .moreTxtLink {
  opacity: 0;
  display: none;
  pointer-events: none;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
.is-showMore .tourSearch__btnArea .moreTxtLink.is-show {
  opacity: 1;
  display: block;
  pointer-events: auto;
}

/* topSearch
----------------------------------------------- */
.topSearch {
  position: relative;
  margin: -60px 0 80px;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .topSearch {
    margin: -40px 0 30px;
  }
}
.topSearch .tourSearch {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 5%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .topSearch .tourSearch {
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}

.mypageList__tabArea .tabItem,
.topSearch__tabArea .tabItem {
  width: clamp(320px, 25.6222547584vw, 350px);
}
@media screen and (max-width: 768px) {
  .mypageList__tabArea .tabItem,
  .topSearch__tabArea .tabItem {
    width: 30.6666666667vw;
  }
}
.mypageList__tabArea .tabItem p,
.topSearch__tabArea .tabItem p {
  padding: 13px 0;
}
@media screen and (max-width: 768px) {
  .mypageList__tabArea .tabItem p,
  .topSearch__tabArea .tabItem p {
    padding: 8px 0;
  }
}
.mypageList__tabArea .tabItem p > span,
.topSearch__tabArea .tabItem p > span {
  position: relative;
  display: inline-block;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .mypageList__tabArea .tabItem p > span,
  .topSearch__tabArea .tabItem p > span {
    position: static;
    font-size: 1.4rem;
    padding: 0 !important;
  }
}
.mypageList__tabArea .tabItem p > span::before,
.topSearch__tabArea .tabItem p > span::before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .mypageList__tabArea .tabItem p > span::after,
  .topSearch__tabArea .tabItem p > span::after {
    content: url(/common/images/common/tab_item-off.svg);
    display: block;
    width: 35px;
    height: 15px;
    position: absolute;
    top: -16px;
    left: 7px;
  }
}
.mypageList__tabArea .tabItem p > span > span:not(.noSmall),
.topSearch__tabArea .tabItem p > span > span:not(.noSmall) {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .mypageList__tabArea .tabItem p > span > span:not(.noSmall),
  .topSearch__tabArea .tabItem p > span > span:not(.noSmall) {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .mypageList__tabArea .tabItem.is-active p > span::after,
  .topSearch__tabArea .tabItem.is-active p > span::after {
    content: url(/common/images/common/tab_item-on.svg);
  }
}

.topSearch__tabArea .tabLinkArea {
  margin-bottom: 25px;
}
.topSearch__tabArea .tabItem--destination p > span {
  padding: 0 30px;
}
.topSearch__tabArea .tabItem--destination p > span::before {
  content: url(/common/images/common/icon_pin-gray.svg);
  width: 20px;
}
@media screen and (max-width: 768px) {
  .topSearch__tabArea .tabItem--destination p > span::before {
    width: 13px;
    left: 18px;
    top: -9px;
  }
}
.topSearch__tabArea .tabItem--destination.is-active p > span::before {
  content: url(/common/images/common/icon_pin-white2.svg);
}
.topSearch__tabArea .tabItem--word p > span {
  padding: 0 38px;
}
.topSearch__tabArea .tabItem--word p > span::before {
  content: url(/common/images/common/icon_word-gray.svg);
  width: 28px;
}
@media screen and (max-width: 768px) {
  .topSearch__tabArea .tabItem--word p > span::before {
    width: 20px;
    top: -8px;
    left: 15px;
  }
}
.topSearch__tabArea .tabItem--word.is-active p > span::before {
  content: url(/common/images/common/icon_word-white2.svg);
}
.topSearch__tabArea .tabItem--no p > span {
  padding: 0 42px;
}
.topSearch__tabArea .tabItem--no p > span::before {
  content: url(/common/images/common/icon_no-gray.svg);
  width: 32px;
}
@media screen and (min-width: 769px) {
  .topSearch__tabArea .tabItem--no p > span::before {
    height: 21px;
  }
}
@media screen and (max-width: 768px) {
  .topSearch__tabArea .tabItem--no p > span::before {
    width: 21px;
    top: -8px;
    left: 14px;
  }
}
.topSearch__tabArea .tabItem--no.is-active p > span::before {
  content: url(/common/images/common/icon_no-white2.svg);
}

/* topNotice
----------------------------------------------- */
.topNotice {
  background-color: #fff;
  height: 50px;
  overflow: hidden;
  -webkit-transition: height cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: height cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}

.topNotice__inner {
  position: relative;
  max-width: 1426px;
  margin: 0 auto;
}

.topNotice__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  left: 23px;
  width: 50px;
  height: 50px;
}
@media screen and (max-width: 768px) {
  .topNotice__icon {
    left: 0;
  }
}

.topNotice__icon__inner {
  position: relative;
  width: 17px;
  height: 19px;
  line-height: 1;
}
.topNotice__icon__inner img {
  position: relative;
  z-index: 1;
}

.topNotice__number {
  position: absolute;
  top: -10px;
  right: -11px;
  display: inline-block;
  color: var(--color-red);
  min-width: 20px;
  height: 20px;
  padding: 2px 3px;
  line-height: 1;
  text-align: center;
  border-radius: 10px;
  font-size: 1.4rem;
  border: solid 2px var(--color-red);
  background-color: #fff;
  font-family: "Istok Web", sans-serif;
}

.topNotice__list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.topNotice__item {
  position: relative;
  height: 50px !important;
  padding: 0 110px 0 93px;
  line-height: 50px;
  color: var(--color-red);
  font-size: 1.4rem;
  text-decoration: underline;
  cursor: pointer;
  border-bottom: solid 1px #eeeeee;
}
@media screen and (max-width: 768px) {
  .topNotice__item {
    padding: 0 46px 0 70px;
  }
}
.topNotice__item::before {
  content: url(/common/images/common/icon_arr-red.svg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 73px;
  display: block;
  width: 14px;
  height: 14px;
  margin: auto;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .topNotice__item::before {
    left: 50px;
  }
}
.topNotice__item:hover {
  text-decoration: none;
}

.topNotice__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  height: 50px;
  padding-right: 20px;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .topNotice__more {
    padding-right: 10px;
  }
}

.topNotice__allNum {
  margin-right: 10px;
  font-size: 1.4rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .topNotice__allNum {
    font-weight: 700;
  }
}
.topNotice__allNum span {
  display: inline-block;
  min-width: 0.5em;
}

.topNotice__moreBtn {
  position: relative;
  width: 30px;
  height: 30px;
  background-color: var(--color-red);
  border-radius: 3px;
  cursor: pointer;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .topNotice__moreBtn {
    width: 26px;
    height: 26px;
  }
}
@media screen and (min-width: 769px) {
  .topNotice__moreBtn:hover {
    opacity: 0.7;
  }
}
.topNotice__moreBtn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 16px;
  height: 16px;
  margin: auto;
  background: url(/common/images/common/icon_more-plus-white.svg) center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .topNotice__moreBtn::before {
    width: 14px;
    height: 14px;
  }
}
.topNotice.is-open .topNotice__moreBtn::before {
  height: 2px;
  background: url(/common/images/common/icon_more-plus-white.svg) center center no-repeat;
  background-size: cover;
}

.topNoticeContent {
  max-width: 1025px;
  max-height: 90vh;
}

.topNoticeContent__inner {
  padding: 50px min(6vw, 80px);
}
@media screen and (max-width: 768px) {
  .topNoticeContent__inner {
    padding: 16vw 5.3333333333vw;
  }
}

.topNoticeContent__ttl {
  font-size: 2.7rem;
  line-height: 1.5;
  color: var(--color-red);
  margin-bottom: min(3.8982430454vw, 53.25px);
}
@media screen and (max-width: 768px) {
  .topNoticeContent__ttl {
    font-size: 2.3rem;
  }
}

.topNoticeContent__subTtl {
  font-size: 2.5rem;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .topNoticeContent__subTtl {
    font-size: 2rem;
  }
}

/* mainSlider
----------------------------------------------- */
.mainSlider {
  position: relative;
  height: 590px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .mainSlider {
    height: 100vw;
  }
}
.mainSlider .pagenation {
  position: absolute;
  bottom: 90px !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .mainSlider .pagenation {
    bottom: 72px !important;
  }
}

.mainSlider__inner {
  position: relative;
  width: 100%;
  max-width: var(--width-max);
  height: 100%;
  margin: 0 auto;
}
.mainSlider__inner::before, .mainSlider__inner::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.35);
  position: absolute;
  top: 0;
  z-index: 10;
}
.mainSlider__inner::before {
  left: -100%;
}
.mainSlider__inner::after {
  left: 100%;
}

.mainSlider__content {
  height: 100%;
  overflow: visible !important;
}

.mainSlider__bnts {
  position: absolute;
  bottom: 170px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .mainSlider__bnts {
    padding: 0 10px;
    bottom: 28vw;
  }
}
.mainSlider__bnts .btn {
  width: 100%;
  margin: 0 10px;
  -webkit-box-shadow: 0px 50px 50px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 50px 50px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .mainSlider__bnts .btn {
    margin: 0 3px;
  }
}

@media screen and (max-width: 768px) {
  .mainSlider__item--btn2 .btn {
    max-width: 250px;
  }
}
@media screen and (max-width: 768px) {
  .mainSlider__item--btn2 .btn a {
    padding-right: 15px;
    padding-left: 0px;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 500px) {
  .mainSlider__item--btn2 .btn a[target=_blank] span::after {
    right: -7px;
    width: 10px;
    height: 10px;
  }
}
@media screen and (max-width: 500px) {
  .mainSlider__item--btn2 .btn--next::after {
    right: 8px;
    width: 15px;
    height: 15px;
  }
}

.dammySlideItem1 {
  height: 100%;
}
.dammySlideItem1 a {
  position: relative;
  display: block;
  height: 100%;
  background: url(/common/images/top/main1_bg.webp) center top no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .dammySlideItem1 a {
    background: url(/common/images/top/main1_bg-sp.webp) center top no-repeat;
    background-size: cover;
  }
}
.dammySlideItem1 a picture {
  display: block;
  position: relative;
  top: 70px;
  left: 170px;
  width: 388px;
}
@media screen and (max-width: 768px) {
  .dammySlideItem1 a picture {
    width: 55.7333333333vw;
    top: 15.4666666667vw;
    left: 6.4vw;
  }
}

.dammySlideItem2 {
  position: relative;
  height: 100%;
  display: block;
  background: url(/common/images/top/main2_bg.webp) center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .dammySlideItem2 {
    background: url(/common/images/top/main2_bg-sp.webp) center center no-repeat;
    background-size: cover;
  }
}
.dammySlideItem2 picture {
  display: block;
  width: 388px;
  margin: 0 auto;
  padding-top: 85px;
}
@media screen and (max-width: 768px) {
  .dammySlideItem2 picture {
    width: 55.7333333333vw;
    padding-top: 18.6666666667vw;
  }
}

/* recommedTour
----------------------------------------------- */
.tourSlider,
.bnrSlider,
.recommedTourSlider {
  position: relative;
  max-width: calc(1166px + 10%);
  margin: 0 auto;
  padding-left: 5%;
}
.tourSlider .swiper,
.bnrSlider .swiper,
.recommedTourSlider .swiper {
  position: relative;
  width: 100%;
  overflow: visible;
  padding-right: 30px;
}
@media screen and (max-width: 768px) {
  .tourSlider .swiper,
  .bnrSlider .swiper,
  .recommedTourSlider .swiper {
    padding-right: 5.3333333333vw;
  }
}
.tourSlider .sliderNav2,
.bnrSlider .sliderNav2,
.recommedTourSlider .sliderNav2 {
  position: absolute;
}

.bnrSlider .sliderNav2--prev,
.recommedTourSlider .sliderNav2--prev {
  left: -47px;
}
.bnrSlider .sliderNav2--next,
.recommedTourSlider .sliderNav2--next {
  right: 1%;
}

.tourSlider .sliderNav2--prev {
  left: -37px;
}
.tourSlider .sliderNav2--next {
  right: 3%;
}

.recommedTourSlider .sliderNav2 {
  top: clamp(85px, 7.8696925329vw, 107.5px);
}
.recommedTourSlider .card {
  height: auto;
}
.recommedTourSlider .card a {
  height: 100%;
}

/* tourSlider
----------------------------------------------- */
.tourSliderArea {
  margin-bottom: 100px;
  padding-bottom: 5px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .tourSliderArea {
    margin-bottom: 60px;
  }
}

.topFuture__head,
.tourSliderArea__head {
  max-width: 1166px;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: auto;
  margin-left: auto;
  padding-right: 3%;
  padding-left: 3%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 35px;
}
@media screen and (max-width: 768px) {
  .topFuture__head,
  .tourSliderArea__head {
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .topFuture__head,
  .tourSliderArea__head {
    margin-bottom: 20px;
  }
}

.tourSlider .sliderNav2 {
  top: clamp(62.5px, 5.6734992679vw, 77.5px);
}

/* popularTour
----------------------------------------------- */
.popularTour {
  margin-bottom: 35px;
}
.popularTour .tabLinkArea {
  position: relative;
  margin-top: -60px;
  z-index: 101;
}
@media screen and (max-width: 768px) {
  .popularTour .tabLinkArea {
    margin-top: -39px;
  }
}
.popularTour .tabItem {
  width: clamp(230px, 20.7906295754vw, 284px);
}
@media screen and (max-width: 768px) {
  .popularTour .tabItem {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  .popularTour .tabItem:nth-child(n+3) {
    display: none;
  }
}
.popularTour .tabContentArea {
  padding-top: 45px;
}
@media screen and (max-width: 768px) {
  .popularTour .tabContentArea {
    padding-top: 20px;
    padding-right: 0;
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .popularTour .swiper {
    padding-left: 5%;
    padding-bottom: 10px;
  }
}

.popularTour__ttl {
  position: absolute;
  width: 100%;
  z-index: 100;
}
@media screen and (min-width: 769px) {
  .popularTour__ttl {
    top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .popularTour__ttl {
    bottom: 65px;
  }
}
.popularTour__ttl .areaTtl {
  max-width: 1166px;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: auto;
  margin-left: auto;
  padding-right: 3%;
  padding-left: 3%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .popularTour__ttl .areaTtl {
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}
.popularTour__ttl .areaTtl__en,
.popularTour__ttl .areaTtl__txt {
  color: #fff;
}
.popularTour__ttl .areaTtl__en::before {
  background-color: #fff;
}

@media screen and (min-width: 769px) {
  .popularTour__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (min-width: 769px) {
  .popularTour__list .card {
    width: calc(25% - 15px);
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 769px) {
  .popularTour__list .card:not(:nth-child(4n)) {
    margin-right: 20px;
  }
}

/* bnrSlider
----------------------------------------------- */
.bnrSlider .sliderNav2 {
  top: clamp(130px, 11.7130307467vw, 160px);
}

.bnrSlider__item a {
  display: block;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (min-width: 769px) {
  .bnrSlider__item a:hover {
    opacity: 0.7;
  }
}
.bnrSlider__item img {
  border-radius: 5px;
}

/* news
----------------------------------------------- */
.news__item a {
  text-decoration: none;
  color: inherit;
}
.news__item a:hover {
  color: inherit;
}
.news__item a {
  display: block;
  position: relative;
  padding: 20px 64px 20px 30px;
  border-bottom: solid 1px var(--border-color);
}
@media screen and (min-width: 769px) {
  .news__item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .news__item a {
    padding: 15px 50px 20px 0;
  }
}
.news__item a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 24px;
  height: 24px;
  margin: auto;
  background: url(/common/images/common/icon_arr.svg) center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .news__item a::after {
    width: 20px;
    height: 20px;
  }
}
@media screen and (min-width: 769px) {
  .news__item a:hover .news__ttl {
    color: var(--color-green);
    text-decoration: underline;
  }
}

@media screen and (min-width: 769px) {
  .news__cat,
  .news__time {
    margin-right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .news__cat,
  .news__time {
    margin-bottom: 5px;
  }
}

.news__cat {
  display: block;
  width: 110px;
  line-height: 25px;
  text-align: center;
  background: var(--color-green);
  border-radius: 3px;
  color: #fff;
  font-size: 1.1rem;
}

.mpNews__time,
.news__time {
  position: relative;
  padding-left: 17px;
  font-size: 1.4rem;
  color: var(--text-color-gray);
}
.mpNews__time::before,
.news__time::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 13px;
  height: 13px;
  margin: auto;
  background: url(/common/images/common/icon_time.svg) center center no-repeat;
  background-size: cover;
}

.news__ttl {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.5rem;
  line-height: 1.5;
  -webkit-transition: color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .news__ttl {
    font-size: 1.4rem;
  }
}

.news__more {
  text-align: center;
  display: none;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .news__more {
    margin-top: 20px;
  }
}

/* subMain
----------------------------------------------- */
.subMain {
  position: relative;
  width: 100%;
  height: 350px;
}
@media screen and (max-width: 768px) {
  .subMain {
    height: 53.3333333333vw;
  }
}
.subMain::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(#000));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000 100%);
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  opacity: 0.5;
  z-index: 1;
}

.subMain__pic {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.subMain__pic img {
  height: 350px;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .subMain__pic img {
    height: 53.3333333333vw;
  }
}

.subMain__pic--bottom img {
  -o-object-position: bottom;
     object-position: bottom;
}

.subMain__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 20px 30px 0 0;
  z-index: 10;
}
.subMain__link li {
  margin-left: 20px;
}
.subMain__link .txtLink--hash,
.subMain__link .txtLink--pin {
  color: #fff;
  font-size: 1.4rem;
}
.subMain__link .txtLink--hash::before,
.subMain__link .txtLink--pin::before {
  opacity: 0.7;
}
.subMain__link .txtLink--hash::before {
  background: url(/common/images/common/icon_hash-white.svg) center center no-repeat;
  background-size: cover;
}
.subMain__link .txtLink--pin::before {
  background: url(/common/images/common/icon_pin-white.svg) center center no-repeat;
  background-size: cover;
}

/* topInfo
----------------------------------------------- */
@media screen and (max-width: 768px) {
  .topInfo {
    margin-bottom: min(16vw, 60px);
  }
}
.topInfo .subMain {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .topInfo .subMain {
    margin-bottom: 30px;
  }
}

.topInfo__ttl {
  position: absolute;
  bottom: -1px;
}
@media screen and (min-width: 769px) {
  .topInfo__ttl {
    width: 100%;
  }
}
.topInfo__ttl .areaTtl {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 60px;
  padding: 15px 0 0;
  z-index: 100;
  background-color: var(--color-base);
  border-radius: 10px 10px 0 0;
}
@media screen and (min-width: 769px) {
  .topInfo__ttl .areaTtl {
    width: 365px;
  }
}
@media screen and (max-width: 768px) {
  .topInfo__ttl .areaTtl {
    height: 40px;
    padding: 25px 20px 0;
    bottom: -15px;
    border-radius: 8px 8px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .topInfo__ttl .areaTtl.corner::after, .topInfo__ttl .areaTtl.corner::before {
    width: 8px;
    height: 8px;
    bottom: 15px;
  }
  .topInfo__ttl .areaTtl.corner::after {
    right: -8px;
  }
  .topInfo__ttl .areaTtl.corner::before {
    left: -8px;
  }
}

.topInfo__ttl__inner {
  max-width: 1166px;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: auto;
  margin-left: auto;
  padding-right: 3%;
  padding-left: 3%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .topInfo__ttl__inner {
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .topInfo__ttl__inner {
    padding-left: 2.6666666667vw;
  }
}

.topInfo--news {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .topInfo--news {
    margin-bottom: min(16vw, 60px);
  }
}
.topInfo--info {
  margin-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .topInfo--info {
    margin-bottom: min(16vw, 60px);
  }
}
.topInfo--info .news__item:nth-child(n+6) {
  display: none;
}
/* topFuture
----------------------------------------------- */
.topFuture {
  margin-bottom: 90px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .topFuture {
    margin-bottom: min(16vw, 60px);
  }
}

.topFuture__more {
  max-width: 1166px;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: auto;
  margin-left: auto;
  padding-right: 3%;
  padding-left: 3%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .topFuture__more {
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}
.topFuture__more a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 40px 40px 0 0;
  font-size: 1.8rem;
  color: var(--text-color);
  text-decoration: none;
  -webkit-transition: color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .topFuture__more a {
    margin: 30px 0 0 0;
    font-size: 1.7rem;
  }
}
.topFuture__more a:hover {
  text-decoration: underline;
  color: var(--color-green);
}
.topFuture__more a::before {
  content: url(/common/images/top/feauture_icon.svg);
  display: block;
  width: 43px;
  margin-right: 8px;
}
.topFuture__more a::after {
  content: url(/common/images/common/icon_arr.svg);
  display: block;
  width: 32px;
  height: 32px;
  margin-left: 17px;
}
@media screen and (max-width: 768px) {
  .topFuture__more a::after {
    width: 30px;
    height: 30px;
    margin-left: 12px;
  }
}

/* bannerArea
----------------------------------------------- */
.bannerArea {
  max-width: 1166px;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: auto;
  margin-left: auto;
  padding-right: 3%;
  padding-left: 3%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  padding-bottom: 110px;
}
@media screen and (max-width: 768px) {
  .bannerArea {
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .bannerArea {
    padding-bottom: calc(95px - 4vw);
  }
}

.bannerArea__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.bannerArea__item {
  width: calc(50% - 12px);
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  .bannerArea__item:nth-child(odd) {
    margin-right: 24px;
  }
}
@media screen and (max-width: 768px) {
  .bannerArea__item {
    width: 100%;
    margin-bottom: 4vw;
  }
}
.bannerArea__item a {
  display: block;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (min-width: 769px) {
  .bannerArea__item a:hover {
    opacity: 0.7;
  }
}

/* snsLink
----------------------------------------------- */
@media screen and (max-width: 768px) {
  .snsLink {
    width: 285px;
    margin: 0 auto;
    text-align: center;
  }
}

.snsList__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .snsList__list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.snsLink__ttl {
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .snsLink__ttl {
    font-weight: 700;
  }
}
.snsLink__ttl span {
  line-height: inherit;
}
@media screen and (max-width: 768px) {
  .snsLink__ttl span {
    display: inline-block;
  }
}

.snsLink__en {
  margin-bottom: 15px;
  font-size: 1rem;
  color: var(--text-color-gray);
}

.snsLink__item:not(.snsLink__item--magazine) {
  width: 50px;
}
@media screen and (max-width: 768px) {
  .snsLink__item:not(.snsLink__item--magazine) {
    width: 60px;
  }
}
@media screen and (min-width: 769px) {
  .snsLink__item:not(:last-child) {
    margin-right: 10px;
  }
}
.snsLink__item a {
  text-decoration: none;
  color: inherit;
}
.snsLink__item a:hover {
  color: inherit;
}
.snsLink__item a {
  display: block;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
.snsLink__item a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .snsLink__item--magazine {
    width: 100%;
    margin-top: 15px;
  }
}
.snsLink__item--magazine a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  border-radius: 7px;
  overflow: hidden;
}
.snsLink__item--magazine a span {
  padding: 0 10px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .snsLink__item--magazine a span {
    font-weight: 700;
  }
}
.snsLink__item--magazine img {
  width: 50px;
}
@media screen and (max-width: 768px) {
  .snsLink__item--magazine img {
    width: 60px;
  }
}

/* searchByTag
----------------------------------------------- */
.searchByTagArea__inner {
  padding-bottom: 90px;
  background: url(/common/images/common/dash.png) center bottom repeat-x;
  background-size: 7px 1px;
}
@media screen and (max-width: 768px) {
  .searchByTagArea__inner {
    background-size: 14px 1px;
  }
}
@media screen and (max-width: 768px) {
  .searchByTagArea__inner {
    padding-bottom: 40px;
  }
}

.searchByTag:nth-child(1) {
  margin-bottom: 40px;
}
.searchByTag .areaTtl {
  margin-bottom: 25px;
}

.searchByTag__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .searchByTag__list {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .searchByTag__list .tag {
    margin: 0 15px 15px 0;
  }
}
@media screen and (max-width: 768px) {
  .searchByTag__list .tag {
    width: calc(50% - 5px);
    margin-bottom: 10px;
  }
  .searchByTag__list .tag:nth-child(n+5) {
    display: none;
  }
}
.searchByTag__list .tag span {
  display: block;
  width: 100%;
}

.searchByTag__more {
  margin-top: 15px;
  text-align: center;
}

/* mapSearch
----------------------------------------------- */
.mapSearch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 769px) {
  .mapSearch__map,
  .mapSearch__checks {
    width: 430px;
  }
}

.mapSearch__map {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}
@media screen and (max-width: 768px) {
  .mapSearch__map {
    display: none;
  }
}

.mapSearch__area {
  position: absolute;
  top: 0;
  left: 0;
  width: 430px;
  height: 405px;
}

.mapSearch__area__inner {
  position: relative;
  top: 35px;
  left: 10px;
}

@media screen and (max-width: 768px) {
  .mapSearch__checks {
    width: 100%;
  }
}

.mapSearchTab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 25px;
  border-bottom: solid 1px var(--color-green);
}
@media screen and (max-width: 768px) {
  .mapSearchTab {
    width: 300px;
    margin: 0 auto;
    margin-bottom: 15px;
  }
}

.mapSearchTab__item {
  position: relative;
  width: calc(50% - 5px);
  padding: 8px 0;
  text-align: center;
  border-radius: 3px 3px 0 0;
  line-height: 1.5;
  border-left: solid 1px var(--border-color);
  border-right: solid 1px var(--border-color);
  border-top: solid 1px var(--border-color);
  background-color: #fff;
  color: var(--text-color-gray);
  cursor: pointer;
  -webkit-transition: color ease 0.4s, background-color ease 0.4s;
  transition: color ease 0.4s, background-color ease 0.4s;
}
@media screen and (max-width: 768px) {
  .mapSearchTab__item {
    padding: 5px 0;
  }
}
.mapSearchTab__item::after {
  content: url(/common/images/common/tab_arr.svg);
  position: absolute;
  left: 0;
  right: 0;
  bottom: -13px;
  margin: auto;
  display: block;
  width: 10px;
  opacity: 0;
}
.mapSearchTab__item.is-active {
  background-color: var(--color-green);
  color: #fff;
  border-left: solid 1px var(--border-green);
  border-right: solid 1px var(--border-green);
  border-top: solid 1px var(--border-green);
}
.mapSearchTab__item.is-active::after {
  opacity: 1;
}
.mapSearchTab__item:not(.is-active):hover {
  color: var(--color-green);
}

.tourSearchBlock--departure .mapSearchListWrap {
  position: relative;
  height: 235px;
}
@media screen and (max-width: 768px) {
  .tourSearchBlock--departure .mapSearchListWrap {
    height: 50vh;
    max-height: 300px;
    overflow: auto;
  }
}
@media screen and (max-width: 375px) {
  .tourSearchBlock--departure .mapSearchListWrap {
    height: 39vh;
  }
}
@media screen and (max-width: 768px) {
  .tourSearchBlock--destination .mapSearchListWrap {
    max-height: 50vh;
    overflow: auto;
  }
}

@media screen and (max-width: 768px) {
  .mapSearchList {
    width: 300px;
    margin: auto;
  }
}
.tourSearchBlock--departure .mapSearchList {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.mapSearchList ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.mapSearchList__noHit {
  text-align: center;
}

.mapSearchCheck {
  margin-bottom: 10px;
}

.mapSearchList--2col .mapSearchCheck {
  width: calc(50% - 5px);
}
@media screen and (min-width: 769px) {
  .mapSearchList--2col .mapSearchCheck:nth-child(odd) {
    margin-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  .mapSearchList--2col .mapSearchCheck {
    width: 100%;
  }
}

.mapSearchList--3col .mapSearchCheck {
  width: calc(33.3333333333% - 6.6666666667px);
}
@media screen and (min-width: 769px) {
  .mapSearchList--3col .mapSearchCheck:not(:nth-child(3n)) {
    margin-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  .mapSearchList--3col .mapSearchCheck {
    width: calc(50% - 5px);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .mapSearchList--3col .mapSearchCheck:nth-child(odd) {
    margin-right: 10px;
  }
}

.mapSearchBtn {
  position: absolute;
  display: inline-block;
  padding: 5px 9px;
  color: #fff;
  line-height: 1.3;
  font-size: 1.3rem;
  text-align: center;
  border-radius: 3px;
  cursor: pointer;
}
.mapSearchBtn.is-check, .mapSearchBtn.is-on, .mapSearchBtn:hover {
  -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
}
.mapSearchBtn[data-map-id=departure1-1] {
  background-color: var(--color-green);
  right: 21px;
  bottom: 40px;
}
.mapSearchBtn[data-map-id=departure1-2] {
  background-color: var(--color-lightBrown);
  right: -15px;
  top: 143px;
}
.mapSearchBtn[data-map-id=departure1-3] {
  background-color: var(--color-purple);
  width: 100px;
  right: -52px;
  top: 240px;
}
.mapSearchBtn[data-map-id=departure1-4] {
  background-color: var(--color-pink);
  top: 191px;
  right: 142px;
}
.mapSearchBtn[data-map-id=departure1-5] {
  background-color: var(--color-darkBrown);
  bottom: 148px;
  left: 154px;
}
.mapSearchBtn[data-map-id=departure1-6] {
  background-color: var(--color-blue);
  right: 98px;
  top: 25px;
}
.mapSearchBtn[data-map-id=departure2-1] {
  background-color: var(--color-blue);
  right: 98px;
  top: 25px;
}
.mapSearchBtn[data-map-id=departure2-2] {
  background-color: var(--color-lightBrown);
  right: 3px;
  top: 145px;
}
.mapSearchBtn[data-map-id=departure2-3] {
  background-color: var(--color-green);
  right: 0;
  bottom: 88px;
}
.mapSearchBtn[data-map-id=departure2-4] {
  background-color: var(--color-pink);
  right: 137px;
  top: 184px;
}
.mapSearchBtn[data-map-id=departure2-5] {
  background-color: var(--color-darkBrown);
  left: 128px;
  bottom: 148px;
}
.mapSearchBtn[data-map-id=departure2-6] {
  background-color: var(--color-yellow);
  left: 246px;
  bottom: 13px;
}
.mapSearchBtn[data-map-id=departure2-7] {
  background-color: var(--color-purple);
  left: 128px;
  bottom: -18px;
}
.mapSearchBtn[data-map-id=departure2-8] {
  background-color: var(--color-green2);
  left: 43px;
  bottom: -33px;
}
.mapSearchBtn[data-map-id=destination-1] {
  background-color: var(--color-blue);
  right: 98px;
  top: 25px;
}
.mapSearchBtn[data-map-id=destination-2] {
  background-color: var(--color-lightBrown);
  right: -15px;
  top: 145px;
}
.mapSearchBtn[data-map-id=destination-3] {
  background-color: var(--color-green2);
  right: -15px;
  top: 204px;
}
.mapSearchBtn[data-map-id=destination-4] {
  background-color: var(--color-purple);
  right: -15px;
  top: 257px;
}
.mapSearchBtn[data-map-id=destination-5] {
  background-color: var(--color-green);
  right: -15px;
  bottom: 78px;
}
.mapSearchBtn[data-map-id=destination-6] {
  background-color: var(--color-pink);
  right: 137px;
  top: 184px;
}
.mapSearchBtn[data-map-id=destination-7] {
  background-color: var(--color-darkBrown);
  right: 223px;
  top: 234px;
}
.mapSearchBtn[data-map-id=destination-8] {
  background-color: var(--color-blue);
  right: 120px;
  bottom: 26px;
}
.mapSearchBtn[data-map-id=destination-9] {
  background-color: var(--color-yellow);
  left: 190px;
  bottom: -9px;
}
.mapSearchBtn[data-map-id=destination-10] {
  background-color: var(--color-lightBrown);
  left: 72px;
  bottom: 123px;
}
.mapSearchBtn[data-map-id=destination-11] {
  background-color: var(--color-purple);
  left: 130px;
  bottom: -16px;
}
.mapSearchBtn[data-map-id=destination-12] {
  background-color: var(--color-green2);
  left: 43px;
  bottom: -31px;
}
.mapSearchBtn[data-map-id=destination-13] {
  background-color: var(--color-yellow);
  left: 83px;
  top: 145px;
}
.mapSearchBtn[data-map-id=destination-14] {
  background-color: var(--color-jr);
}
.mapSearchBtn[data-map-id=destination-15] {
  background-color: #27a7d9;
}

.mapSearchCheck.is-on .checkItem input + label {
  color: #fff;
  opacity: 0.8;
}
.mapSearchCheck[data-map-id=departure1-1].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure1-1] .checkItem input:checked + label {
  border: solid 1px var(--color-green);
  background-color: var(--color-green);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure1-1] .checkItem input:hover + label {
    border: solid 1px var(--color-green);
    background-color: var(--color-green);
  }
}
.mapSearchCheck[data-map-id=departure1-2].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure1-2] .checkItem input:checked + label {
  border: solid 1px var(--color-lightBrown);
  background-color: var(--color-lightBrown);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure1-2] .checkItem input:hover + label {
    border: solid 1px var(--color-lightBrown);
    background-color: var(--color-lightBrown);
  }
}
.mapSearchCheck[data-map-id=departure1-3].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure1-3] .checkItem input:checked + label {
  border: solid 1px var(--color-purple);
  background-color: var(--color-purple);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure1-3] .checkItem input:hover + label {
    border: solid 1px var(--color-purple);
    background-color: var(--color-purple);
  }
}
.mapSearchCheck[data-map-id=departure1-4].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure1-4] .checkItem input:checked + label {
  border: solid 1px var(--color-pink);
  background-color: var(--color-pink);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure1-4] .checkItem input:hover + label {
    border: solid 1px var(--color-pink);
    background-color: var(--color-pink);
  }
}
.mapSearchCheck[data-map-id=departure1-5].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure1-5] .checkItem input:checked + label {
  border: solid 1px var(--color-darkBrown);
  background-color: var(--color-darkBrown);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure1-5] .checkItem input:hover + label {
    border: solid 1px var(--color-darkBrown);
    background-color: var(--color-darkBrown);
  }
}
.mapSearchCheck[data-map-id=departure1-6].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure1-6] .checkItem input:checked + label {
  border: solid 1px var(--color-blue);
  background-color: var(--color-blue);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure1-6] .checkItem input:hover + label {
    border: solid 1px var(--color-blue);
    background-color: var(--color-blue);
  }
}
.mapSearchCheck[data-map-id=departure2-1].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure2-1] .checkItem input:checked + label {
  border: solid 1px var(--color-blue);
  background-color: var(--color-blue);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure2-1] .checkItem input:hover + label {
    border: solid 1px var(--color-blue);
    background-color: var(--color-blue);
  }
}
.mapSearchCheck[data-map-id=departure2-2].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure2-2] .checkItem input:checked + label {
  border: solid 1px var(--color-lightBrown);
  background-color: var(--color-lightBrown);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure2-2] .checkItem input:hover + label {
    border: solid 1px var(--color-lightBrown);
    background-color: var(--color-lightBrown);
  }
}
.mapSearchCheck[data-map-id=departure2-3].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure2-3] .checkItem input:checked + label {
  border: solid 1px var(--color-green);
  background-color: var(--color-green);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure2-3] .checkItem input:hover + label {
    border: solid 1px var(--color-green);
    background-color: var(--color-green);
  }
}
.mapSearchCheck[data-map-id=departure2-4].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure2-4] .checkItem input:checked + label {
  border: solid 1px var(--color-pink);
  background-color: var(--color-pink);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure2-4] .checkItem input:hover + label {
    border: solid 1px var(--color-pink);
    background-color: var(--color-pink);
  }
}
.mapSearchCheck[data-map-id=departure2-5].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure2-5] .checkItem input:checked + label {
  border: solid 1px var(--color-darkBrown);
  background-color: var(--color-darkBrown);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure2-5] .checkItem input:hover + label {
    border: solid 1px var(--color-darkBrown);
    background-color: var(--color-darkBrown);
  }
}
.mapSearchCheck[data-map-id=departure2-6].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure2-6] .checkItem input:checked + label {
  border: solid 1px var(--color-yellow);
  background-color: var(--color-yellow);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure2-6] .checkItem input:hover + label {
    border: solid 1px var(--color-yellow);
    background-color: var(--color-yellow);
  }
}
.mapSearchCheck[data-map-id=departure2-7].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure2-7] .checkItem input:checked + label {
  border: solid 1px var(--color-purple);
  background-color: var(--color-purple);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure2-7] .checkItem input:hover + label {
    border: solid 1px var(--color-purple);
    background-color: var(--color-purple);
  }
}
.mapSearchCheck[data-map-id=departure2-8].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure2-8] .checkItem input:checked + label {
  border: solid 1px var(--color-green2);
  background-color: var(--color-green2);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure2-8] .checkItem input:hover + label {
    border: solid 1px var(--color-green2);
    background-color: var(--color-green2);
  }
}
.mapSearchCheck[data-map-id=departure2-9].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=departure2-9] .checkItem input:checked + label {
  border: solid 1px #818181;
  background-color: #818181;
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=departure2-9] .checkItem input:hover + label {
    border: solid 1px #818181;
    background-color: #818181;
  }
}
.mapSearchCheck[data-map-id=destination-1].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-1] .checkItem input:checked + label {
  border: solid 1px var(--color-blue);
  background-color: var(--color-blue);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-1] .checkItem input:hover + label {
    border: solid 1px var(--color-blue);
    background-color: var(--color-blue);
  }
}
.mapSearchCheck[data-map-id=destination-2].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-2] .checkItem input:checked + label {
  border: solid 1px var(--color-lightBrown);
  background-color: var(--color-lightBrown);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-2] .checkItem input:hover + label {
    border: solid 1px var(--color-lightBrown);
    background-color: var(--color-lightBrown);
  }
}
.mapSearchCheck[data-map-id=destination-3].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-3] .checkItem input:checked + label {
  border: solid 1px var(--color-green2);
  background-color: var(--color-green2);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-3] .checkItem input:hover + label {
    border: solid 1px var(--color-green2);
    background-color: var(--color-green2);
  }
}
.mapSearchCheck[data-map-id=destination-4].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-4] .checkItem input:checked + label {
  border: solid 1px var(--color-purple);
  background-color: var(--color-purple);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-4] .checkItem input:hover + label {
    border: solid 1px var(--color-purple);
    background-color: var(--color-purple);
  }
}
.mapSearchCheck[data-map-id=destination-5].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-5] .checkItem input:checked + label {
  border: solid 1px var(--color-green);
  background-color: var(--color-green);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-5] .checkItem input:hover + label {
    border: solid 1px var(--color-green);
    background-color: var(--color-green);
  }
}
.mapSearchCheck[data-map-id=destination-6].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-6] .checkItem input:checked + label {
  border: solid 1px var(--color-pink);
  background-color: var(--color-pink);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-6] .checkItem input:hover + label {
    border: solid 1px var(--color-pink);
    background-color: var(--color-pink);
  }
}
.mapSearchCheck[data-map-id=destination-7].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-7] .checkItem input:checked + label {
  border: solid 1px var(--color-darkBrown);
  background-color: var(--color-darkBrown);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-7] .checkItem input:hover + label {
    border: solid 1px var(--color-darkBrown);
    background-color: var(--color-darkBrown);
  }
}
.mapSearchCheck[data-map-id=destination-8].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-8] .checkItem input:checked + label {
  border: solid 1px var(--color-blue);
  background-color: var(--color-blue);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-8] .checkItem input:hover + label {
    border: solid 1px var(--color-blue);
    background-color: var(--color-blue);
  }
}
.mapSearchCheck[data-map-id=destination-9].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-9] .checkItem input:checked + label {
  border: solid 1px var(--color-yellow);
  background-color: var(--color-yellow);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-9] .checkItem input:hover + label {
    border: solid 1px var(--color-yellow);
    background-color: var(--color-yellow);
  }
}
.mapSearchCheck[data-map-id=destination-10].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-10] .checkItem input:checked + label {
  border: solid 1px var(--color-lightBrown);
  background-color: var(--color-lightBrown);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-10] .checkItem input:hover + label {
    border: solid 1px var(--color-lightBrown);
    background-color: var(--color-lightBrown);
  }
}
.mapSearchCheck[data-map-id=destination-11].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-11] .checkItem input:checked + label {
  border: solid 1px var(--color-purple);
  background-color: var(--color-purple);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-11] .checkItem input:hover + label {
    border: solid 1px var(--color-purple);
    background-color: var(--color-purple);
  }
}
.mapSearchCheck[data-map-id=destination-12].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-12] .checkItem input:checked + label {
  border: solid 1px var(--color-green2);
  background-color: var(--color-green2);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-12] .checkItem input:hover + label {
    border: solid 1px var(--color-green2);
    background-color: var(--color-green2);
  }
}
.mapSearchCheck[data-map-id=destination-13].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-13] .checkItem input:checked + label {
  border: solid 1px var(--color-yellow);
  background-color: var(--color-yellow);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-13] .checkItem input:hover + label {
    border: solid 1px var(--color-yellow);
    background-color: var(--color-yellow);
  }
}
.mapSearchCheck[data-map-id=destination-14].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-14] .checkItem input:checked + label {
  border: solid 1px var(--color-jr);
  background-color: var(--color-jr);
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-14] .checkItem input:hover + label {
    border: solid 1px var(--color-jr);
    background-color: var(--color-jr);
  }
}
.mapSearchCheck[data-map-id=destination-15].is-on .checkItem input + label,
.mapSearchCheck[data-map-id=destination-15] .checkItem input:checked + label {
  border: solid 1px #27a7d9;
  background-color: #27a7d9;
}
@media screen and (min-width: 769px) {
  .mapSearchCheck[data-map-id=destination-15] .checkItem input:hover + label {
    border: solid 1px #27a7d9;
    background-color: #27a7d9;
  }
}

.mapDestination,
.mapDeparture1,
.mapDeparture2 {
  cursor: pointer;
}
.mapDestination polygon,
.mapDeparture1 polygon,
.mapDeparture2 polygon {
  fill: transparent;
}

.mapdeparture1-1:hover path {
  fill: var(--color-green);
}

.mapdeparture1-2:hover path {
  fill: var(--color-lightBrown);
}

.mapdeparture1-3:hover path {
  fill: var(--color-purple);
}

.mapdeparture1-4:hover path {
  fill: var(--color-pink);
}

.mapdeparture1-5:hover path {
  fill: var(--color-darkBrown);
}

.mapdeparture1-6:hover path {
  fill: var(--color-blue);
}

.departure2-1:hover path {
  fill: var(--color-blue);
}

.departure2-2:hover path {
  fill: var(--color-lightBrown);
}

.departure2-3:hover path {
  fill: var(--color-green);
}

.departure2-4:hover path {
  fill: var(--color-pink);
}

.departure2-5:hover path {
  fill: var(--color-darkBrown);
}

.departure2-6:hover path {
  fill: var(--color-yellow);
}

.departure2-7:hover path {
  fill: var(--color-purple);
}

.departure2-8:hover path {
  fill: var(--color-green2);
}

.mapDeparture1,
.mapDeparture2,
.mapDestination {
  opacity: 0.3;
}
.mapDeparture1.is-on,
.mapDeparture2.is-on,
.mapDestination.is-on {
  opacity: 0.8;
}
.mapDeparture1.is-check,
.mapDeparture2.is-check,
.mapDestination.is-check {
  opacity: 1;
}

.mapDeparture1-1 {
  fill: var(--color-green);
}

.mapDeparture1-2 {
  fill: var(--color-lightBrown);
}

.mapDeparture1-3 {
  fill: var(--color-purple);
}

.mapDeparture1-4 {
  fill: var(--color-pink);
}

.mapDeparture1-5 {
  fill: var(--color-darkBrown);
}

.mapDeparture1-6 {
  fill: var(--color-blue);
}

.mapDeparture2-1 {
  fill: var(--color-blue);
}

.mapDeparture2-2 {
  fill: var(--color-lightBrown);
}

.mapDeparture2-3 {
  fill: var(--color-green);
}

.mapDeparture2-4 {
  fill: var(--color-pink);
}

.mapDeparture2-5 {
  fill: var(--color-darkBrown);
}

.mapDeparture2-6 {
  fill: var(--color-yellow);
}

.mapDeparture2-7 {
  fill: var(--color-purple);
}

.mapDeparture2-8 {
  fill: var(--color-green2);
}

.mapDestination-1 {
  fill: var(--color-blue);
}

.mapDestination-2 {
  fill: var(--color-lightBrown);
}

.mapDestination-3 {
  fill: var(--color-green2);
}

.mapDestination-4 {
  fill: var(--color-purple);
}

.mapDestination-5 {
  fill: var(--color-green);
}

.mapDestination-6 {
  fill: var(--color-pink);
}

.mapDestination-7 {
  fill: var(--color-darkBrown);
}

.mapDestination-8 {
  fill: var(--color-blue);
}

.mapDestination-9 {
  fill: var(--color-yellow);
}

.mapDestination-10 {
  fill: var(--color-lightBrown);
}

.mapDestination-11 {
  fill: var(--color-purple);
}

.mapDestination-12 {
  fill: var(--color-green2);
}

.mapDestination-12_bg {
  fill: transparent !important;
}

.mapDestination-13 {
  fill: var(--color-yellow);
}
.mapDestination-13 rect {
  fill: transparent;
}

.nationwideIcon,
.cruiseIcon {
  position: absolute;
  cursor: pointer;
}
.nationwideIcon img,
.cruiseIcon img {
  display: block;
  margin-bottom: 7px;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  opacity: 0.5;
}
.nationwideIcon img.is-on,
.cruiseIcon img.is-on {
  opacity: 0.8;
}
.nationwideIcon img.is-check,
.cruiseIcon img.is-check {
  opacity: 1;
}
.nationwideIcon img:hover,
.cruiseIcon img:hover {
  opacity: 0.8;
}
.nationwideIcon .mapSearchBtn,
.cruiseIcon .mapSearchBtn {
  position: relative;
}

.nationwideIcon {
  width: 72px;
  left: 164px;
  top: 63px;
}

.cruiseIcon {
  width: 70px;
  right: 20px;
  bottom: -13px;
}
.cruiseIcon img {
  width: 57px;
  margin-right: auto;
  margin-left: auto;
}

.is-mapDisabled {
  pointer-events: none;
  fill: #ccc;
  opacity: 1;
}

.departure2Cls-1 {
  fill: none;
}

.departure2Cls-2 {
  fill: transparent;
}

.departure2Cls-5 {
  fill: silver;
}

.departure2Cls-7 {
  fill: #ccc;
}

.departure1Cls-1 {
  fill: none;
}

.departure1Cls-3 {
  fill: transparent;
}

.departure1Cls-5 {
  fill: silver;
}

.departure1Cls-7 {
  fill: #ccc;
}

/* searchCalendar
----------------------------------------------- */
.searchCalendar {
  /* 日曜日：赤 */
  /* 土曜日：青 */
}
.searchCalendar .flatpickr-calendar {
  background-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media screen and (min-width: 769px) {
  .searchCalendar .flatpickr-calendar {
    width: 830px !important;
    height: 260px;
  }
}
@media screen and (max-width: 768px) {
  .searchCalendar .flatpickr-calendar {
    margin: 0 auto;
  }
}
.searchCalendar .flatpickr-month {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5px;
}
.searchCalendar .flatpickr-current-month {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
}
.searchCalendar .cur-month {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin: 0 !important;
  font-size: 18px;
  pointer-events: none;
}
.searchCalendar .numInputWrapper {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: auto;
  pointer-events: none;
  font-size: 18px;
  font-weight: bold;
}
.searchCalendar .numInputWrapper::after {
  content: "年";
}
.searchCalendar .numInputWrapper .cur-year {
  width: 2.4em;
  padding: 0;
  font-weight: inherit;
  color: var(--text-color);
  -webkit-text-fill-color: var(--text-color);
  opacity: 1;
}
.searchCalendar .numInputWrapper .arrowUp,
.searchCalendar .numInputWrapper .arrowDown {
  display: none;
}
.searchCalendar .dayContainer,
.searchCalendar .flatpickr-days,
.searchCalendar .flatpickr-rContainer {
  width: 100% !important;
}
.searchCalendar .flatpickr-weekdays {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.searchCalendar .dayContainer,
.searchCalendar .flatpickr-weekdaycontainer {
  max-width: 385px;
}
.searchCalendar .flatpickr-weekday {
  font-size: 15px;
  font-weight: normal;
  width: 14.2857142857% !important;
  max-width: 55px;
  color: inherit;
}
.searchCalendar .flatpickr-days {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.searchCalendar .flatpickr-day {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 14.2857142857% !important;
  max-width: 55px;
  height: 36px;
  margin: 0;
  font-size: 18px;
  font-family: "Helvetica Neue", Arial, sans-serif;
  border-radius: 0 !important;
}
@media screen and (max-width: 768px) {
  .searchCalendar .flatpickr-day {
    font-size: 20px;
    height: min(9vw, 45px);
  }
}
.searchCalendar .flatpickr-day:not(.flatpickr-disabled):hover {
  color: inherit;
}
.searchCalendar .flatpickr-day.today {
  border: none;
}
.searchCalendar .flatpickr-day.today::after {
  content: "";
  width: 30px;
  height: 30px;
  border-radius: 15px;
  border: solid 1px var(--color-green);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.searchCalendar .flatpickr-disabled:hover {
  background: transparent !important;
  border: none !important;
}
.searchCalendar .dayContainer {
  min-width: none;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.searchCalendar .flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7n+1),
.searchCalendar .flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n+1) {
  color: var(--color-red);
}
.searchCalendar .flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7),
.searchCalendar .flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n) {
  color: var(--color-blue);
}
.searchCalendar .flatpickr-day.selected,
.searchCalendar .flatpickr-day.startRange,
.searchCalendar .flatpickr-day.endRange,
.searchCalendar .flatpickr-day.selected.inRange,
.searchCalendar .flatpickr-day.startRange.inRange,
.searchCalendar .flatpickr-day.endRange.inRange,
.searchCalendar .flatpickr-day.selected:focus,
.searchCalendar .flatpickr-day.startRange:focus,
.searchCalendar .flatpickr-day.endRange:focus,
.searchCalendar .flatpickr-day.selected:hover,
.searchCalendar .flatpickr-day.startRange:hover,
.searchCalendar .flatpickr-day.endRange:hover,
.searchCalendar .flatpickr-day.selected.prevMonthDay,
.searchCalendar .flatpickr-day.startRange.prevMonthDay,
.searchCalendar .flatpickr-day.endRange.prevMonthDay,
.searchCalendar .flatpickr-day.selected.nextMonthDay,
.searchCalendar .flatpickr-day.startRange.nextMonthDay,
.searchCalendar .flatpickr-day.endRange.nextMonthDay {
  background: var(--color-green);
  border-color: var(--color-green);
  color: #fff !important;
}
.searchCalendar .flatpickr-day.inRange,
.searchCalendar .flatpickr-day.prevMonthDay.inRange,
.searchCalendar .flatpickr-day.nextMonthDay.inRange,
.searchCalendar .flatpickr-day.today.inRange,
.searchCalendar .flatpickr-day.prevMonthDay.today.inRange,
.searchCalendar .flatpickr-day.nextMonthDay.today.inRange,
.searchCalendar .flatpickr-day:hover,
.searchCalendar .flatpickr-day.prevMonthDay:hover,
.searchCalendar .flatpickr-day.nextMonthDay:hover,
.searchCalendar .flatpickr-day:focus,
.searchCalendar .flatpickr-day.prevMonthDay:focus,
.searchCalendar .flatpickr-day.nextMonthDay:focus {
  background: #d0eeec;
  border-color: #d0eeec;
}
.searchCalendar .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.searchCalendar .flatpickr-day.inRange {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.searchCalendar__prev,
.searchCalendar__next {
  position: relative;
  top: -10px;
}
.searchCalendar__prev::before,
.searchCalendar__next::before {
  content: url(/common/images/common/slider_nav2.svg);
  display: block;
  width: 30px;
}

.searchCalendar__prev::before {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

.searchCalendar__dateArea {
  margin-top: 40px;
  text-align: center;
  font-size: 20px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .searchCalendar__dateArea {
    margin-top: 20px;
    font-size: 18px;
  }
}

/* login
----------------------------------------------- */
.login {
  max-width: 1025px;
  max-height: 90vh;
}
.login .modalArea__txt {
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .login .modalArea__txt {
    padding-bottom: 10px;
  }
}
.login .modalArea__txt span {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .login .modalArea__txt span {
    display: inline;
  }
}

.login__inner {
  padding: 50px min(6vw, 80px);
}
@media screen and (max-width: 768px) {
  .login__inner {
    padding: 16vw 5.3333333333vw;
  }
}

.loing__form {
  max-width: 600px;
  margin: 0 auto;
}

.login__items {
  padding-top: 15px;
}

.login__item:first-child {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .login__item:first-child {
    margin-bottom: 10px;
  }
}

.login__btnArea {
  margin-top: 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .login__btnArea {
    margin-top: 25px;
  }
}
.login__btnArea .btn {
  margin: 0 auto 20px;
}
.login__btnArea .login__txtLink {
  margin-bottom: 10px;
}
.login__btnArea .login__txtLink a {
  font-size: 1.4rem;
}

/* errMsg
----------------------------------------------- */
.errMsgArea {
  position: relative;
  padding-left: 35px;
}
.errMsgArea::before {
  content: url(/common/images/common/icon_attention.svg);
  position: absolute;
  display: block;
  width: 24px;
  top: 0;
  left: 0;
}
.errMsgArea ul {
  padding-left: 1em;
  list-style-type: disc;
}
.errMsgArea ul li {
  color: var(--color-red);
  font-size: 1.4rem;
  line-height: 1.5;
}

.wornMsgAreaWrap,
.errMsgAreaWrap {
  padding: 20px;
  margin-bottom: 20px;
  border: solid 1px var(--color-red);
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .wornMsgAreaWrap,
  .errMsgAreaWrap {
    padding: 10px;
  }
}

/* tab
----------------------------------------------- */
.tabLinkArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .tabLinkArea {
    padding: 0 1%;
  }
}

.tabItem {
  background-color: #fff;
  margin: 0 5px;
  padding: 8px 8px 0;
  color: var(--text-color-gray);
  text-align: center;
  line-height: 1.5;
  -webkit-box-shadow: 0px -10px 10px rgba(0, 0, 0, 0.05) inset;
          box-shadow: 0px -10px 10px rgba(0, 0, 0, 0.05) inset;
  border-radius: 5px 5px 0 0;
  -webkit-transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-box-shadow 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-box-shadow 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: box-shadow 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: box-shadow 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-box-shadow 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .tabItem {
    padding: 3px 3px 0;
    margin: 0 3px;
    -webkit-box-shadow: 0px -10px 10px rgba(0, 0, 0, 0.08) inset;
            box-shadow: 0px -10px 10px rgba(0, 0, 0, 0.08) inset;
  }
}
.tabItem > p {
  position: relative;
  display: block;
  padding: 14px 0;
  font-weight: 500;
  border-radius: 3px;
}
@media screen and (max-width: 768px) {
  .tabItem > p {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .tabItem > p {
    -webkit-transition: background-color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
    transition: background-color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  }
}
@media screen and (max-width: 768px) {
  .tabItem > p {
    font-size: 1.3rem;
    padding: 9px 0;
  }
}
.tabItem > p::after {
  content: url(/common/images/common/tab_arr.svg);
  position: absolute;
  left: 0;
  right: 0;
  bottom: -16px;
  margin: auto;
  display: block;
  width: 14px;
  opacity: 0;
}
@media screen and (min-width: 769px) {
  .tabItem > p::after {
    -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
    transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  }
}
@media screen and (max-width: 768px) {
  .tabItem > p::after {
    bottom: -12px;
  }
}
.tabItem.is-active {
  position: relative;
  color: #fff;
  background-color: var(--color-base);
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: default;
}
.tabItem.is-active::before, .tabItem.is-active::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: url(/common/images/common/corner.svg) center center no-repeat;
  background-size: cover;
  position: absolute;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .tabItem.is-active::before, .tabItem.is-active::after {
    width: 3px;
    height: 3px;
  }
}
.tabItem.is-active::before {
  left: -8px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media screen and (max-width: 768px) {
  .tabItem.is-active::before {
    left: -3px;
  }
}
.tabItem.is-active::after {
  right: -8px;
}
@media screen and (max-width: 768px) {
  .tabItem.is-active::after {
    right: -3px;
  }
}
.tabItem.is-active > p {
  background-color: var(--color-green);
}
.tabItem.is-active > p::after {
  opacity: 1;
}
.tabItem:not(.is-active):hover {
  color: var(--color-green);
  -webkit-box-shadow: 0px -10px 10px rgba(0, 0, 0, 0) inset;
          box-shadow: 0px -10px 10px rgba(0, 0, 0, 0) inset;
  background-color: var(--color-base);
}
.tabContent {
  display: none;
  opacity: 0;
}
.tabContent.is-active {
  display: block;
  opacity: 1;
}

/* wordList
----------------------------------------------- */
.wordList {
  position: relative;
  text-align: center;
  padding: 30px min(5.3333333333vw, 20px) 30px;
  background-color: #fff;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  border-radius: 3px;
}
@media screen and (max-width: 768px) {
  .wordList {
    padding: 30px 20px 30px;
  }
}
.wordList .moreTxtLink {
  margin-top: 20px;
}

.wordList__txt {
  margin-bottom: 20px;
  line-height: 1.5;
}
.wordList__txt span {
  display: inline-block;
}

.wordList__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .wordList__list {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.wordList__list .tag {
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .wordList__list .tag {
    margin-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  .wordList__list .tag {
    width: calc(50% - 5px);
  }
}
@media screen and (max-width: 768px) {
  .wordList__list .tag button {
    padding-left: 0;
    padding-right: 0;
  }
}

/* modalArea
----------------------------------------------- */
.modalAreaWrap {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 2000;
}

.modalArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 769px) {
  .modalArea {
    width: 100%;
    height: inherit;
  }
}
@media screen and (max-width: 768px) {
  .modalArea {
    width: calc(100% - 20px);
    height: calc(100vh - 20px);
    height: calc(100dvh - 20px);
    margin: 10px auto 0;
    background-color: var(--color-base);
    border-radius: 5px 0 5px 5px;
    overflow: auto;
  }
}
.modalArea .closeBtn {
  position: absolute;
}
@media screen and (min-width: 769px) {
  .modalArea .closeBtn {
    top: 0;
    right: -60px;
    border-radius: 0 3px 3px 0;
  }
}
@media screen and (max-width: 768px) {
  .modalArea .closeBtn {
    top: 0;
    right: 0;
  }
}

@media screen and (min-width: 769px) {
  .modalArea__wrap {
    position: relative;
    max-width: calc(100% - 130px);
    max-height: 100vh;
  }
}
@media screen and (max-width: 768px) {
  .modalArea__wrap {
    width: 100%;
    max-height: 100vh;
    max-height: 100dvh;
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

@media screen and (min-width: 769px) {
  .modalArea__content {
    max-height: 90vh;
    background-color: var(--color-base);
    -webkit-box-shadow: 0px 50px 50px rgba(0, 0, 0, 0.16);
            box-shadow: 0px 50px 50px rgba(0, 0, 0, 0.16);
    overflow: auto;
    border-radius: 5px 0 5px 5px;
  }
}

.modalArea__ttl {
  margin-bottom: 10px;
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .modalArea__ttl {
    font-size: 2.2rem;
  }
}

@media screen and (min-width: 769px) {
  .modalArea__txt {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .modalArea__txt {
    font-size: 1.5rem;
  }
}

/* reSearch
----------------------------------------------- */
.reSearch {
  background-color: var(--color-lightBlue);
  border-radius: 10px;
}
.reSearch .tourSearch__btnArea {
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(233, 238, 239)), color-stop(50%, rgba(233, 238, 239, 0.75)), to(rgba(248, 248, 245, 0)));
  background: linear-gradient(to top, rgb(233, 238, 239) 0%, rgba(233, 238, 239, 0.75) 50%, rgba(248, 248, 245, 0) 100%);
}

.reSearch__content {
  display: none;
  padding: 35px 5% 60px;
}
@media screen and (max-width: 768px) {
  .reSearch__content {
    padding: 3% 5% 5%;
  }
}

.reSearch__change {
  line-height: 60px;
  text-align: center;
  cursor: pointer;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
.reSearch__change span::before {
  content: url(/common/images/common/icon_search.svg);
  display: inline-block;
  width: 20px;
  height: 20px;
  line-height: 0;
  margin-right: 7px;
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
}
.reSearch__change span::after {
  content: url(/common/images/common/icon_arr-down.svg);
  display: inline-block;
  width: 14px;
  line-height: 0;
  margin-left: 5px;
}
@media screen and (min-width: 769px) {
  .reSearch__change:hover {
    opacity: 0.7;
  }
}

/* formArea
----------------------------------------------- */
.formArea {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .formArea {
    margin-bottom: 40px;
  }
}
.formArea .ttlBar {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .formArea .ttlBar {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .formArea .formCheckList {
    padding: 0 10px;
  }
}
.formArea .subBtn--sm a,
.formArea .subBtn--sm button {
  padding-top: 9px;
  padding-bottom: 9px;
}

.formArea__headTxt {
  margin: 0 0 30px;
}
@media screen and (max-width: 768px) {
  .formArea__headTxt {
    margin: 15px 0;
  }
}

@media screen and (min-width: 769px) {
  .formGroup2col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .formGroup2col .formGroup {
    width: calc(50% - 15px);
    max-width: none;
    margin: 0;
  }
}
@media screen and (min-width: 769px) {
  .formGroup2col .formItem__head {
    width: 170px;
  }
}
@media screen and (min-width: 769px) {
  .formGroup2col .formItem__inputs {
    padding-left: 15px;
  }
}

.formGroup {
  max-width: 700px;
  margin: 0 auto;
}

.formAddrCopyBtn {
  padding: 19px 0;
  border-bottom: solid 1px var(--border-color);
}
@media screen and (max-width: 768px) {
  .formAddrCopyBtn {
    padding: 25px 0 15px;
  }
}

.formItem {
  padding-top: 15px;
  padding-bottom: 15px;
  padding-right: 10px;
  padding-left: 10px;
  border-bottom: 1px solid var(--border-color);
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .formItem {
    padding-right: 0;
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .formItem.is-entered {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.formItem__block {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .formItem__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 50px;
  }
}
.formItem__block:not(:first-child) {
  margin-top: 10px;
}

@media screen and (min-width: 769px) {
  .formItem__block--alignStart {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.formItem__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 769px) {
  .formItem__head {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 26%;
  }
}
@media screen and (max-width: 768px) {
  .formItem__head {
    margin-bottom: 15px;
    padding: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .formItem.is-entered .formItem__head {
    padding: 0;
    margin-bottom: 0;
  }
}

.formItem__ttl {
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .formItem__ttl {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .formItem.is-entered .formItem__ttl {
    font-size: 1.4rem;
  }
}

.formItem__block .formItem__head::before {
  content: "必須";
  display: block;
  width: 38px;
  line-height: 25px;
  text-align: center;
  font-size: 1.2rem;
  border-radius: 3px;
  color: var(--color-red);
  border: solid 1px var(--color-red);
}
@media screen and (min-width: 769px) {
  .formItem__block .formItem__head::before {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (max-width: 768px) {
  .formItem__block .formItem__head::before {
    margin-right: 10px;
  }
}
.formItem__block.is-any .formItem__head::before {
  content: "任意";
  color: #777;
  border: solid 1px #777;
}
.formItem__block.is-noIcon .formItem__head::before {
  content: none;
}

.formItem__head__msg {
  width: 100%;
  margin-top: 15px;
  font-size: 1.2rem;
  line-height: 1.5;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (max-width: 768px) {
  .formItem__head__msg {
    margin-top: 10px;
    font-size: 1.3rem;
  }
}

@media screen and (min-width: 769px) {
  .formItem__inputs {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-left: 20px;
  }
}
.formItem.is-entered .formItem__inputs {
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .formItem.is-entered .formItem__inputs {
    padding: 0;
  }
}

.formItem__inputs__msg {
  width: 100%;
  margin: 13px 0;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .formItem__inputs__msg {
    padding: 0 10px;
  }
}

.formItem__input {
  width: 100%;
}
.formItem__input:not(:first-child) {
  margin: 10px 0 0;
}

.formItem__inputs--2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.formItem__inputs--2col .formItem__input:not(:first-child) {
  margin: 0 0 0 10px;
}

@media screen and (min-width: 769px) {
  .formItem--mail .formItem__block:nth-child(2) .formItem__head {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 13px;
  }
}

.formItem--birth .formItem__inputs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.formItem--birth .formSelect {
  width: 115px;
}
.formItem--birth .formSelect:not(:last-child) {
  margin-right: 10px;
}

@media screen and (max-width: 768px) {
  .formItem--club {
    margin-top: -15px;
  }
}
.formItem--club .formItem__head {
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .formItem--club .formItem__head {
    margin-top: 15px;
  }
}
@media screen and (min-width: 769px) {
  .formItem--club .formItem__head::before {
    -webkit-transform: translateY(16px);
            transform: translateY(16px);
  }
}
@media screen and (min-width: 769px) {
  .formItem--club .formItem__ttl {
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 769px) {
  .formItem--clubNumber .formItem__ttl {
    font-size: 1.5rem;
  }
}
.formItem--clubNumber .formItem__inputs__msg a {
  line-height: 2;
}

.formArea--confirm .formItem {
  padding: 10px 20px;
}
@media screen and (max-width: 768px) {
  .formArea--confirm .formItem {
    padding: 10px;
  }
}
@media screen and (min-width: 769px) {
  .formArea--confirm .formItem:first-child {
    border-top: 1px solid var(--border-color);
  }
}
@media screen and (max-width: 768px) {
  .formArea--confirm .formItem__ttl {
    font-size: 1.4rem;
  }
}
.formArea--confirm .formItem__block {
  min-height: auto;
}
.formArea--confirm .formItem__head::before {
  content: none;
}
@media screen and (max-width: 768px) {
  .formArea--confirm .formItem__head {
    padding: 0;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .formArea--confirm .formItem__inputs {
    padding: 0;
  }
}

.formItemPayment {
  padding-top: 25px;
  padding-bottom: 25px;
  border-top: solid 1px var(--border-color);
}
@media screen and (max-width: 768px) {
  .formItemPayment {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.formItemPayment .formCheckList {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 769px) {
  .formItemPayment > .formItem__block > .formItem__head {
    -webkit-transform: translateY(6px);
            transform: translateY(6px);
  }
}

.formItemPayment__content {
  margin: 20px 0 25px;
}
@media screen and (max-width: 768px) {
  .formItemPayment__content {
    margin: 15px 0 20px;
    padding: 0 10px;
  }
}

.formItemPayment__noTransferMsg {
  font-size: 1.4rem;
}

.formItemPayment__card .formArea {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .formItemPayment__card .formArea {
    border-top: solid 1px var(--border-color);
  }
}
@media screen and (max-width: 768px) {
  .formItemPayment__card .btn {
    display: block;
    width: 100%;
  }
}

.formItemPayment__transfer {
  display: none;
}

@media screen and (min-width: 769px) {
  .formItemChangeMail {
    padding-bottom: 60px;
  }
}
.formItemChangeMail .formItem__inputs {
  position: relative;
}
@media screen and (min-width: 769px) {
  .formItemChangeMail .subBtn {
    position: absolute;
    -webkit-transform: translateY(6px);
            transform: translateY(6px);
  }
}

@media screen and (max-width: 768px) {
  .formItemChangePassword .subBtn,
  .formItemChangeMail .subBtn {
    display: block;
    width: calc(100% - 20px);
    margin: 10px auto;
  }
}

@media screen and (max-width: 768px) {
  .formItemChangePassword {
    padding-right: 10px;
    padding-left: 10px;
  }
}
.formItemChangePassword .formItem__head {
  padding: 0;
}

.formItemChangePassword__content {
  display: none;
}

@media screen and (max-width: 768px) {
  .formItemChangePassword__after {
    margin-top: 20px !important;
  }
}
@media screen and (min-width: 769px) {
  .formItemChangePassword__after .subBtn {
    margin: 10px 0;
  }
}
@media screen and (min-width: 769px) {
  .formItemChangePassword__after .formItem__head {
    padding-top: 10px;
  }
}
@media screen and (min-width: 769px) {
  .formItemChangePassword__after .formItem__head::before {
    -webkit-transform: translateY(31px);
            transform: translateY(31px);
  }
}

.formItemClubNumber {
  display: none;
}

.formItem--postcode .formItem__input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 769px) {
  .formItem--postcode .formItem__input .subBtn button span {
    white-space: nowrap;
    display: inline-block;
  }
}
.formItem--postcode .formInput {
  width: 70px;
  padding: 0;
  text-align: center;
}
.formItem--postcode .subBtn {
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .formItem--postcode .subBtn {
    margin-left: 15px;
  }
}
@media screen and (max-width: 768px) {
  .formItem--postcode .subBtn button {
    width: 160px;
    padding-left: 0;
    padding-right: 0;
  }
}

.formItem--postcode__1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.formItem--postcode__1::after {
  content: "";
  display: block;
  width: 10px;
  height: 2px;
  margin: 0 5px;
  background-color: var(--color-black);
}

@media screen and (min-width: 769px) {
  .formItem--emergency {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 769px) {
  .formItem--emergency .formItem__head {
    margin-top: 13px;
  }
}

.contactRegistrationArea {
  display: none;
  margin-top: 30px;
  border-top: 1px solid var(--border-color);
}

/* btnArea
----------------------------------------------- */
.btnArea .primaryBtn,
.btnArea .btn {
  margin: 0 auto;
}
.btnArea .subBtn--back {
  margin: 30px auto 0;
}

/* cassette
----------------------------------------------- */
.cassette {
  position: relative;
  margin-bottom: 50px;
  padding: 45px clamp(30px, 3.2942898975vw, 45px);
  background-color: #fff;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  border-radius: 5px;
}
@media screen and (min-width: 769px) {
  .cassette {
    overflow: auto;
  }
}
@media screen and (max-width: 768px) {
  .cassette {
    width: calc(100% + 5.3333333333vw);
    margin-bottom: 20px;
    padding: 25px min(5.3333333333vw, 20px);
    left: -2.6666666667vw;
  }
}

@media screen and (min-width: 769px) {
  .cassette__head,
  .cassette__info {
    float: right;
    width: 62%;
    padding-left: clamp(30px, 2.9282576867vw, 40px);
  }
}

@media screen and (min-width: 769px) {
  .cassette__sliderArea {
    float: left;
    width: 38%;
  }
}

.cstThemeTags .tag {
  margin: 0 10px 10px 0;
}

.cstThemeTags__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
}
.cstThemeTags__ttl::before {
  content: "";
  display: block;
  width: 35px;
  height: 35px;
  background: url(/common/images/common/area_ttl_icon-hash-black.svg) center center no-repeat;
  background-size: 20px;
}

.cstPictList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .cstPictList {
    margin-bottom: 10px;
  }
}
.cstPictList .cstPict {
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .cstPictList .cstPict:not(:last-child) {
    margin-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  .cstPictList .cstPict {
    width: calc(50% - 4px);
    margin-bottom: 8px;
  }
  .cstPictList .cstPict:nth-child(odd) {
    margin-right: 8px;
  }
}

.cstPict {
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 500;
  color: #fff;
  line-height: 30px;
  border-radius: 3px;
  text-align: center;
  background-color: gray;
}
@media screen and (max-width: 768px) {
  .cstPict {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .cstPict {
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px) {
  .cstPict {
    line-height: 35px;
  }
}

.cstPict--club {
  background: var(--color-club2);
  font-size: 1.2rem;
}

.cstPict--new {
  background: var(--color-red);
}

.cstPict--lottery {
  background: var(--color-gold);
}

.cstPict--announcement {
  background: var(--color-orange);
}

.cstPict--alone {
  background: var(--color-green);
}

.cstPict--child {
  background: var(--color-blue);
}

.cstPict--ticket {
  background: var(--color-pink);
}

.cstTtlHead {
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .cstTtlHead {
    margin-bottom: 20px;
  }
}
.cstTtlHead .cstTtlSub {
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .cstTtlHead .cstTtlSub {
    margin-bottom: 5px;
  }
}
.cstTtlHead .cstTtlSub2 {
  margin-top: 5px;
}

.cstTtlSub,
.cstTtlSub2,
.cstTtlMain {
  text-align: justify;
}
.cstTtlSub a,
.cstTtlSub2 a,
.cstTtlMain a {
  color: inherit;
  text-decoration: none;
}

.cstTtlSub,
.cstTtlMain {
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 768px) {
  .cstTtlSub,
  .cstTtlMain {
    -webkit-line-clamp: 4;
  }
}

.cstTtlMain {
  font-size: 2.3rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .cstTtlMain {
    font-size: 2rem;
  }
}

.detailTtlsub2,
.cstTtlSub2 {
  position: relative;
  padding: 7px 0 0 35px;
  text-align: justify;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .detailTtlsub2,
  .cstTtlSub2 {
    font-size: 1.5rem;
  }
}
.detailTtlsub2::before,
.cstTtlSub2::before {
  content: "";
  display: block;
  width: 35px;
  height: 35px;
  background: url(/common/images/common/icon_tag.svg) center center no-repeat;
  background-size: 22px;
  position: absolute;
  top: 0;
  left: 0;
}

.cstNo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 60px;
  margin-bottom: 15px;
  font-size: 2.3rem;
  font-weight: 500;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}
@media screen and (max-width: 768px) {
  .cstNo {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .cstNo {
    height: 40px;
    padding: 0 10px;
    font-size: 1.8rem;
  }
}
.cstNo span {
  margin-right: 0.5em;
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .cstNo span {
    font-size: 1.3rem;
    font-weight: 500;
  }
}

.cstTourInfoList {
  margin-bottom: 15px;
}
@media screen and (min-width: 769px) {
  .cstTourInfoList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .cstTourInfoList {
    margin-bottom: 5px;
  }
}

.cstTourInfo {
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .cstTourInfo:not(:last-child) {
    margin-right: 18px;
  }
}
@media screen and (max-width: 768px) {
  .cstTourInfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 5px;
  }
}

.cstTourInfo__ttl,
.cstTourInfo__content {
  line-height: 1.5;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .cstTourInfo__ttl,
  .cstTourInfo__content {
    font-weight: 500;
  }
}

.cstTourInfo__ttl {
  font-size: 1.3rem;
}
@media screen and (min-width: 769px) {
  .cstTourInfo__ttl {
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 768px) {
  .cstTourInfo__ttl {
    width: 5em;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 768px) {
  .cstTourInfo__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.cstTourInfo__content span {
  display: inline-block;
}

.cstDepartureArea {
  position: relative;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .cstDepartureArea:not(.cstDepartureArea--multiple) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.cstDepartureArea__ttl {
  margin-bottom: 7px;
  font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
  .cstDepartureArea__ttl {
    width: 60px;
    font-size: 1.4rem;
  }
}

.cstDepartureList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 10px;
  overflow: auto;
}
@media screen and (max-width: 768px) {
  .cstDepartureList {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.cstDeparture {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 28%;
  height: 110px;
  border: solid var(--border-color) 1px;
  border-radius: 3px;
}
.cstDeparture:not(:first-child) {
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  .cstDeparture:not(:first-child) {
    margin-left: 5px;
  }
}
@media screen and (max-width: 768px) {
  .cstDeparture {
    min-width: 43%;
    height: 100px;
  }
}
.cstDeparture p {
  line-height: 1.5;
}

.cstDeparture__conducts,
.cstDeparture__cancel {
  margin-top: 3px;
  font-size: 1.4rem;
}

.cstDeparture__limit {
  font-size: 1.4rem;
}

.cstDeparture:only-child {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: auto;
  padding: 11px 20px;
}
@media screen and (max-width: 768px) {
  .cstDeparture:only-child {
    padding: 10px 15px 15px;
  }
}
@media screen and (min-width: 769px) {
  .cstDeparture:only-child p {
    line-height: 2;
  }
}
@media screen and (max-width: 768px) {
  .cstDeparture:only-child .cstDeparture__day {
    width: 100%;
  }
}
.cstDeparture:only-child .cstDeparture__limit,
.cstDeparture:only-child .cstDeparture__conducts,
.cstDeparture:only-child .cstDeparture__cancel {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
@media screen and (max-width: 768px) {
  .cstDeparture:only-child .cstDeparture__limit,
  .cstDeparture:only-child .cstDeparture__conducts,
  .cstDeparture:only-child .cstDeparture__cancel {
    margin: 3px 0 0;
  }
}
.cstDeparture:only-child p {
  margin: 0;
}
.cstDeparture:only-child p:not(:last-child) {
  margin-right: 15px;
}

.cstDepartureMsg {
  padding: 15px 20px 12px 20px;
  border: solid var(--border-color) 1px;
  border-radius: 3px;
}
@media screen and (max-width: 768px) {
  .cstDepartureMsg {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 15px;
  }
}
.cstDepartureMsg P {
  margin-bottom: 8px;
}
.cstPriceArea {
  margin-bottom: 25px;
}

.cstPriceArea__head {
  font-size: 1.3rem;
  line-height: 1.5;
}

.cstPriceAmount {
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
  font-size: clamp(24px, 1.9765739385vw, 27px);
}
@media screen and (max-width: 768px) {
  .cstPriceAmount {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .cstPriceAmount {
    font-size: 2.7rem;
  }
}
.cstPriceAmount span {
  font-size: 1.9rem;
  line-height: inherit;
}
.cstPriceAmount span:not(.cstPriceAmount__mark) {
  font-weight: 400;
}

@media screen and (min-width: 769px) {
  .cstPriceList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 769px) {
  .cstPriceItem {
    width: 50%;
    text-align: center;
    padding-bottom: 10px;
  }
}
@media screen and (min-width: 769px) {
  .cstPriceItem:first-child {
    padding-right: 13px;
    border-right: solid 1px #eeeeee;
  }
}
@media screen and (max-width: 768px) {
  .cstPriceItem:first-child {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 769px) {
  .cstPriceItem:nth-child(2) {
    padding-left: 13px;
  }
}
.cstPriceItem .iconGeneral,
.cstPriceItem .iconClub {
  width: 100%;
  margin-bottom: 10px;
  padding-top: 11px;
  padding-bottom: 11px;
  font-size: 1.4rem;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .cstPriceItem .iconGeneral,
  .cstPriceItem .iconClub {
    width: 200px;
    margin-bottom: 3px;
  }
}

.cstBtnArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .cstBtnArea {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .cstBtnArea .comparisonBtn,
  .cstBtnArea .myListBtn {
    min-width: clamp(163px, 12.4450951684vw, 170px);
    margin-right: 5px;
  }
}
@media screen and (max-width: 768px) {
  .cstBtnArea .comparisonBtn,
  .cstBtnArea .myListBtn {
    width: calc(50% - 5px);
    margin-bottom: 10px;
  }
}
.cstBtnArea .btn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: none;
}
.cstBtnArea .btn a,
.cstBtnArea .btn button {
  padding-right: 0;
  padding-left: 0;
}
.cstBtnArea .btn a:hover,
.cstBtnArea .btn button:hover {
  color: #FFF;
}

.detailSlider,
.cstSlider {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
}
.detailSlider .swiper,
.cstSlider .swiper {
  overflow: hidden;
  border-radius: inherit;
}
.detailSlider .sliderNav,
.cstSlider .sliderNav {
  width: 30px;
  height: 60px;
}
.detailSlider .pagenation,
.cstSlider .pagenation {
  position: absolute;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  bottom: 20px;
  z-index: 100;
}
.detailSlider .swiper-slide,
.cstSlider .swiper-slide {
  padding: 0 2px;
}

.cstSlider {
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .cstSlider {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 400px) {
  .cstSlider {
    width: calc(100% + 5.3333333333vw);
    left: -2.6666666667vw;
  }
}

.detailSlider .swiper-slide a {
  display: block;
  position: relative;
}
.detailSlider .swiper-slide a::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  border-radius: 100vh;
  background: url(/common/images/common/icon_blank-white.svg) center center no-repeat;
  background-color: var(--text-color);
  background-size: 14px 14px;
  -webkit-transition: opacity ease 0.5s;
  transition: opacity ease 0.5s;
}
.detailSlider .swiper-slide a:hover::after {
  opacity: 0.3;
}

@media screen and (min-width: 769px) {
  .cassette--noTour {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.cassette--noTour .cstNo {
  height: auto;
  border: none;
  padding: 0;
  line-height: 1.2;
}

@media screen and (min-width: 769px) {
  .cassette--noTour__msg {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-left: 20px;
  }
}

/* result
----------------------------------------------- */
@media screen and (max-width: 768px) {
  #application .pagetop2.is-active,
  #result .pagetop2.is-active {
    bottom: 75px;
  }
}

.resultHead {
  margin-bottom: 20px;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .resultHead {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .resultHead {
    font-size: 2rem;
  }
}
.resultHead strong {
  font-size: 3.5rem;
  color: var(--color-green);
  font-weight: inherit;
  line-height: inherit;
}
@media screen and (max-width: 768px) {
  .resultHead strong {
    font-size: 2.8rem;
  }
}

.resultLead {
  margin-bottom: 30px;
  text-align: center;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .resultLead {
    margin-bottom: 20px;
  }
}
.resultLead span {
  display: inline-block;
}

.deleteTxtIcon {
  width: 20px !important;
}

.resultNoHitMsg {
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .resultNoHitMsg {
    margin-bottom: 30px;
  }
}
.resultNoHitMsg span {
  display: inline-block;
}

.resultSearchedTag .tagList {
  margin-bottom: 25px;
}
@media screen and (min-width: 769px) {
  .resultSearchedTag .tagList {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .resultSearchedTag .tagList {
    margin-bottom: 30px;
  }
}

@media screen and (min-width: 769px) {
  .resultSort__number {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .resultSort__number {
    padding: 0 10px 10px;
  }
}

.resultSort {
  margin: 35px 0 20px;
  padding: 0 20px;
}
@media screen and (min-width: 769px) {
  .resultSort {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .resultSort {
    padding: 0 10px;
  }
}

.resultSort__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .resultSort__list {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.resultSort__item {
  width: 200px;
}
@media screen and (min-width: 769px) {
  .resultSort__item {
    margin-right: 15px;
  }
}
@media screen and (max-width: 768px) {
  .resultSort__item {
    width: calc(50% - 5px);
  }
}
.resultSort__item select {
  -moz-text-align-last: center;
       text-align-last: center;
}

.resultFix {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 70px;
  z-index: 100;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s;
  transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s;
}
.resultFix.is-show {
  opacity: 1;
  visibility: visible;
}

.resultFix__content {
  height: inherit;
}

.resultFix__txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  font-size: 1.4rem;
  max-inline-size: -webkit-max-content;
  max-inline-size: -moz-max-content;
  max-inline-size: max-content;
  margin-inline: auto;
  line-height: 1.3;
}

.resultFix__block {
  float: right;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 470px;
  height: inherit;
  padding: 10px 13px;
  border-radius: 5px 5px 0 0;
  -webkit-box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.2);
  background-color: var(--color-base);
  -webkit-transition: margin-right cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: margin-right cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 1330px) {
  .resultFix__block {
    margin-right: 60px;
  }
}
@media screen and (max-width: 768px) {
  .resultFix__block {
    position: relative;
    width: calc(100% + 5.3333333333vw);
    margin-right: 0;
    left: 2.6666666667vw;
  }
}
.resultFix__block .btn {
  width: 220px;
}
@media screen and (max-width: 768px) {
  .resultFix__block .btn {
    width: 50%;
  }
}
.resultFix__block .btn a,
.resultFix__block .btn button {
  padding-top: 13px;
  padding-bottom: 13px;
  padding-left: 0;
  padding-right: 0;
  font-size: 1.5rem;
}
.resultFix__block .btn button > span {
  position: relative;
  padding-left: 25px;
}
.resultFix__block .btn button > span::after {
  content: url(/common/images/common/icon_search-white.svg);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 17px;
  height: 17px;
  margin: auto;
}
.resultFix__block .btn button.--noneIcon > span {
  padding-left: 0px;
}
.resultFix__block .btn button.--noneIcon > span::after {
  display: none;
}

.resultFix--fee__price {
  width: 50%;
  text-align: center;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .resultFix--fee__price {
    font-size: 1.4rem;
  }
}
.resultFix--fee__price span {
  font-size: 2.6rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .resultFix--fee__price span {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .resultFix--fee__price span {
    font-size: 2.3rem;
  }
}

/* detail
----------------------------------------------- */
@media screen and (max-width: 1320px) {
  #detail .pagetop2 {
    bottom: 75px;
  }
}

.detailSection {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .detailSection {
    margin-bottom: 60px;
  }
}

.detailSecTtl {
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .detailSecTtl {
    margin-bottom: 25px;
  }
}

.detailSecTtl__ttl {
  margin-bottom: 5px;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .detailSecTtl__ttl {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .detailSecTtl__ttl {
    font-size: 2.6rem;
  }
}

.detailSecTtl__en {
  font-size: 1rem;
  color: #7c7c7a;
}

.detailNav {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .detailNav {
    display: none;
  }
}

.detailNav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: auto;
  margin: 0 -5px;
}
@media screen and (max-width: 768px) {
  .detailNav__list {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.detailNav__item {
  width: calc((100% / 6) - 8.3333333333px);
  width: 16.6666666667%;
  margin: 0 5px;
}
@media screen and (max-width: 768px) {
  .detailNav__item {
    width: calc((100% / 2) - 5px);
    width: calc(50% - 10px);
    margin-bottom: 10px;
  }
}
.detailNav__item a, .detailNav__item button {
  padding-top: 14px;
  padding-bottom: 14px;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .detailNav__item a, .detailNav__item button {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 0;
    padding-right: 0;
    font-size: 1.4rem;
  }
}

.detailAttention {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: -20px 0 50px;
  padding: 20px;
  border: solid 1px var(--color-red);
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .detailAttention {
    margin: -10px 0 30px;
    padding: 15px;
  }
}

.detailAttention__content {
  position: relative;
  padding-left: 35px;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .detailAttention__content {
    font-weight: 700;
  }
}
.detailAttention__content::before {
  content: url(/common/images/common/icon_attention--red.svg);
  display: block;
  width: 26px;
  position: absolute;
  left: 0;
  top: 0;
}

.detailHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 50px;
}
@media screen and (min-width: 769px) {
  .detailHead {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (max-width: 768px) {
  .detailHead {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 30px;
  }
}

@media screen and (min-width: 769px) {
  .detailBack {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media screen and (max-width: 768px) {
  .detailBack {
    width: 50%;
    padding-left: 10px;
  }
}
.detailBack .txtLink {
  font-size: 1.4rem;
}

.detailShare {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 769px) {
  .detailShare {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media screen and (max-width: 768px) {
  .detailShare {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 50%;
  }
}

.detailShare__item {
  width: 35px;
}
.detailShare__item:not(:first-child) {
  margin-left: 7px;
}
.detailShare__item a {
  display: block;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (min-width: 769px) {
  .detailShare__item a:hover {
    opacity: 0.7;
  }
}

.detailNoticeBtnArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 769px) {
  .detailNoticeBtnArea {
    margin-right: 15px;
  }
}
@media screen and (max-width: 768px) {
  .detailNoticeBtnArea {
    width: 100%;
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .detailNoticeBtn {
    width: 55%;
  }
}
.detailNoticeBtn .subBtn a,
.detailNoticeBtn .subBtn button {
  font-size: 1.3rem;
  padding-top: 7px;
  padding-bottom: 7px;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .detailNoticeBtn .subBtn {
    display: block;
  }
}
.detailNoticeBtn .subBtn--conducts a,
.detailNoticeBtn .subBtn--conducts button {
  padding-left: 12px;
  padding-right: 33px;
}
@media screen and (max-width: 768px) {
  .detailNoticeBtn .subBtn--conducts a,
  .detailNoticeBtn .subBtn--conducts button {
    padding-right: 10px;
  }
}
.detailNoticeBtn .subBtn--friends a,
.detailNoticeBtn .subBtn--friends button {
  padding-left: 12px;
  padding-right: 33px;
}
@media screen and (max-width: 768px) {
  .detailNoticeBtn .subBtn--friends a,
  .detailNoticeBtn .subBtn--friends button {
    padding-right: 10px;
  }
}

.detailNoticeBtn--conducts,
.detailNoticeBtn--friends {
  position: relative;
}

.detailNoticeBtn--friends {
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  .detailNoticeBtn--friends {
    width: 45%;
  }
}

.detailNoticeBtn__mark {
  position: absolute;
  display: block;
  width: 20px;
  height: 20px;
  right: 12px;
  top: -9px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .detailNoticeBtn__mark {
    width: 25px;
    height: 25px;
    right: 8vw;
  }
}
@media screen and (max-width: 500px) {
  .detailNoticeBtn__mark {
    right: 0px;
  }
}
@media screen and (min-width: 769px) {
  .detailNoticeBtn__mark:hover {
    opacity: 0.7;
  }
}

.detailTtlArea {
  margin-bottom: 40px;
}
.detailTtlArea .detailTtlsub2 {
  margin-top: 10px;
}

.detailTtlsub {
  margin-bottom: 10px;
  line-height: 1.5;
}

.detailTtlMain {
  font-size: 3rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .detailTtlMain {
    font-size: 2rem;
  }
}

.detailBasic .cstPictList {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .detailBasic .cstPictList {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .detailBasic .cstTourInfoList {
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 769px) {
  .detailBasic__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media screen and (min-width: 769px) {
  .detailSliderArea {
    width: 47%;
  }
}

@media screen and (min-width: 769px) {
  .detailBasic__info {
    width: 53%;
    padding-left: min(4.39238653vw, 60px);
  }
}

@media screen and (max-width: 768px) {
  .detailSliderArea {
    margin-bottom: 30px;
  }
}

@media screen and (min-width: 769px) {
  .detailThumbSlider .swiper-wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.detailThumbSlider .swiper-slide {
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .detailThumbSlider .swiper-slide {
    width: calc(20% - 4px) !important;
    margin-bottom: 5px;
    -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
    transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  }
  .detailThumbSlider .swiper-slide:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 769px) {
  .detailThumbSlider .swiper-slide:not(:nth-child(5n)) {
    margin-right: 5px;
  }
}
.detailThumbSlider .swiper-slide img {
  border-radius: 3px;
}

.detailSliderCap {
  padding: 5px 10px 15px;
  min-height: 1em;
}
.detailSliderCap ul li {
  display: none;
  font-size: 1.4rem;
}

.detailTourLinkArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .detailTourLinkArea {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0 10px;
  }
}
@media screen and (min-width: 769px) {
  .detailTourLinkArea .subBtn:not(:last-child) {
    margin-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  .detailTourLinkArea .subBtn:not(:last-child) {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .detailTourLinkArea .subBtn {
    display: block;
    width: 100%;
  }
}

.detailRelationLinkArea {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .detailRelationLinkArea {
    margin-bottom: 15px;
  }
}
.detailRelationLinkArea .st-ttl {
  margin-bottom: 20px;
}
.detailRelationLinkArea ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .detailRelationLinkArea ul {
    padding: 0 10px;
  }
}
.detailRelationLinkArea .tag {
  margin: 0 10px 10px 0;
}
@media screen and (max-width: 768px) {
  .detailRelationLinkArea .tag {
    width: 100%;
    margin: 0 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .detailRelationLinkArea .tag span {
    display: block;
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .detailRelationLinkArea .tag span::before {
    top: 3px;
    bottom: auto;
  }
}

@media screen and (max-width: 768px) {
  .detailRelationPics {
    padding: 0 10px;
  }
}
.detailRelationPics ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  border-radius: 3px;
  overflow: hidden;
}
.detailRelationPics ul li {
  padding: 10px;
  background-color: #fff;
}
.detailRelationPics ul li img {
  width: auto;
  height: 60px;
}
@media screen and (max-width: 768px) {
  .detailRelationPics ul li img {
    height: 50px;
  }
}

@media screen and (min-width: 769px) {
  .detailPoint__content {
    padding: 0 30px;
  }
}

.js-itineraryTooltip {
  position: absolute;
  display: inline-block;
  max-width: 250px;
  padding: 6px 20px;
  background-color: var(--color-black);
  font-size: 1.5rem;
  color: #fff;
  line-height: 1.5;
  border-radius: 5px;
  z-index: 1;
}
.js-itineraryTooltip::after {
  content: url(/common/images/common/tab_arr-black.svg);
  display: block;
  width: 14px;
  position: absolute;
  right: 0;
  left: 0;
  bottom: -12px;
  margin: auto;
}

.itineraryHead {
  margin-bottom: 15px;
}
.itineraryHead ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.itineraryHead ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 15px;
  margin-bottom: 15px;
}
.itineraryHead ul li span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .itineraryHead ul li span {
    font-size: 1.4rem;
  }
}
.itineraryHead ul li .itineraryIcon {
  margin: 0 5px;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}

.itineraryDay {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
}
.itineraryDay:not(:last-child) {
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .itineraryDay:not(:last-child) {
    margin-bottom: 30px;
  }
}

.itineraryDay__head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 60px;
  padding-top: 16px;
  padding-bottom: 60px;
  background-color: var(--color-green);
  border-radius: 3px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
}
@media screen and (max-width: 768px) {
  .itineraryDay__head {
    width: 40px;
    padding-top: 10px;
  }
}
.itineraryDay__head p {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 22px;
  font-size: 1.5rem;
  letter-spacing: 5px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .itineraryDay__head p {
    position: sticky;
    top: 18px;
    padding-top: 18px;
  }
}
.itineraryDay__head p::before {
  content: "TOUR";
  position: absolute;
  display: block;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  font-size: 0.9rem;
  letter-spacing: 0;
}
.itineraryDay__head p img {
  height: 28px;
  margin: 5px 0 8px;
}
@media screen and (max-width: 768px) {
  .itineraryDay__head p img {
    height: 20px;
  }
}

.itineraryDay:not(:first-child) .itineraryDay__head::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-color: #ddf6f3;
  border-radius: 9px;
  border: solid 4px var(--color-green);
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  margin: auto;
}
.itineraryDay:not(:first-child) .itineraryDay__head::before {
  content: "";
  display: block;
  width: 4px;
  height: 50px;
  background-color: var(--color-green);
  position: absolute;
  right: 0;
  left: 0;
  top: -50px;
  margin: auto;
}

.itineraryDay__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .itineraryDay__content {
    padding: 0 20px 20px;
  }
}

.itineraryDay__thatDay {
  padding: 30px 30px 35px;
}
@media screen and (max-width: 768px) {
  .itineraryDay__thatDay {
    padding: 20px 0 0;
  }
}

.itineraryDay__item {
  width: 100%;
  display: table;
  padding: 20px 0;
}
.itineraryDay__item:not(:first-child) {
  background: url(/common/images/common/dash.png) center top repeat-x;
  background-size: 7px 1px;
}
@media screen and (max-width: 768px) {
  .itineraryDay__item:not(:first-child) {
    background-size: 14px 1px;
  }
}
@media screen and (max-width: 768px) {
  .itineraryDay__item {
    padding: 20px 0;
  }
}
@media screen and (min-width: 769px) {
  .itineraryDay__item dt,
  .itineraryDay__item dd {
    display: table-cell;
    vertical-align: middle;
  }
}
.itineraryDay__item dt {
  position: relative;
  padding-left: 55px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .itineraryDay__item dt {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .itineraryDay__item dt {
    width: 120px;
    border-right: solid 1px var(--border-color);
  }
}
@media screen and (max-width: 768px) {
  .itineraryDay__item dt {
    margin-bottom: 10px;
    padding-left: 38px;
    font-size: 1.8rem;
  }
}
.itineraryDay__item dt::before {
  display: block;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .itineraryDay__item dt::before {
    left: 0 !important;
  }
}
@media screen and (min-width: 769px) {
  .itineraryDay__item dd {
    padding: 10px 30px;
  }
}

.itineraryDay__item--itinerary dt::before {
  content: url(/common/images/detail/icon_train.svg);
  width: 24px;
  left: 17px;
}
@media screen and (min-width: 769px) {
  .itineraryDay__item--itinerary dd {
    font-size: 1.8rem;
    line-height: 2.2;
  }
}
@media screen and (max-width: 768px) {
  .itineraryDay__item--itinerary dd {
    line-height: 1.9;
  }
}
.itineraryDay__item--itinerary .itineraryIcon {
  margin: 0 5px;
}
@media screen and (max-width: 768px) {
  .itineraryDay__item--itinerary .itineraryIcon {
    margin: 0 2px;
  }
}

.itineraryDay__item--stay dt::before {
  content: url(/common/images/detail/icon_bed.svg);
  width: 26px;
  left: 17px;
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
}
@media screen and (min-width: 769px) {
  .itineraryDay__item--stay dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (min-width: 769px) {
  .itineraryHotelLink,
  .itineraryHotelTxt {
    padding-right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .itineraryHotelLink,
  .itineraryHotelTxt {
    margin-bottom: 0.5em;
  }
}

.itineraryHotelLink a {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .itineraryHotelLink a {
    font-weight: 700;
  }
}

.itineraryHotelOptList {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.itineraryHotelOpt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2px 0;
}
.itineraryHotelOpt:not(:last-child) {
  margin-right: 10px;
}
.itineraryHotelOpt::before {
  content: "";
  display: block;
  width: 35px;
  height: 35px;
}

.itineraryHotelOpt--onsen::before {
  background: url(/common/images/detail/icon_onsen.svg) center center no-repeat;
  background-size: 26px auto;
}

.itineraryHotelOpt--wear::before {
  background: url(/common/images/detail/icon_wear.svg) center center no-repeat;
  background-size: 24px auto;
}

.itineraryHotelOpt--yukata::before {
  background: url(/common/images/detail/icon_yukata.svg) center center no-repeat;
  background-size: 24px auto;
}

.itineraryHotelOpt--toilet::before {
  background: url(/common/images/detail/icon_toilet.svg) center center no-repeat;
  background-size: 26px auto;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

.itineraryHotelOpt--roten::before {
  background: url(/common/images/detail/icon_roten.svg) center center no-repeat;
  background-size: 28px auto;
  margin-right: 3px;
}

.itineraryHotelOpt--hairdryer::before {
  background: url(/common/images/detail/icon_hairdryer.svg) center center no-repeat;
  background-size: 27px auto;
}

.itineraryDay__item--meal dt::before {
  content: url(/common/images/detail/icon_meal.svg);
  width: 24px;
  left: 17px;
}
@media screen and (min-width: 769px) {
  .itineraryDay__item--meal dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.itineraryMealList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.itineraryMeal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 15px;
  font-size: 1.8rem;
}
.itineraryMeal::before {
  content: "";
  display: block;
  width: 35px;
  height: 35px;
  background: url(/common/images/detail/meal_yes.svg) center center no-repeat;
  background-size: 21px auto;
}

.itineraryMeal--no {
  opacity: 0.6;
}
.itineraryMeal--no::before {
  content: "";
  background: url(/common/images/detail/meal_no.svg) center center no-repeat;
  background-size: 16px auto;
}

.itineraryDay--dayTrip .itineraryDay__head p {
  padding-top: 27px;
}
.itineraryDay--dayTrip .itineraryDay__head p::before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 9px;
  border: solid 5px #ddf6f3;
}

.itineraryNote {
  margin-top: 30px;
  text-align: center;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .itineraryNote {
    margin-top: 20px;
    text-align: left;
  }
}

@media screen and (min-width: 769px) {
  .feeBlockArea {
    margin-top: 60px;
  }
}
@media screen and (min-width: 769px) {
  .feeBlockArea::after {
    content: "";
    clear: both;
    display: block;
  }
}

@media screen and (min-width: 769px) {
  .feeTotalArea {
    position: sticky;
    float: right;
    width: 40%;
    top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .feeTotalArea {
    margin-bottom: 30px;
  }
}

@media screen and (min-width: 769px) {
  .feeAgree,
  .feeBlocks {
    float: left;
    width: 60%;
    padding-right: 30px;
  }
}

.feeBlocks {
  margin-bottom: 40px;
}
.feeBlock {
  margin-bottom: 25px;
}
@media screen and (min-width: 769px) {
  .feeBlock {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 768px) {
  .feeBlock {
    margin-bottom: 15px;
  }
}
.feeBlock .tourSearchItem {
  height: 60px;
}
.feeBlock .tourSearchItem::before {
  height: 40px;
}

.feeBlockDisbled {
  width: 100%;
  padding: 16px 0;
  text-align: center;
  border-top: solid 1px var(--border-color);
  border-bottom: solid 1px var(--border-color);
}

.feeBlock--day {
  display: block;
}
.feeBlock--day .feeBlock__head__txt {
  font-size: 1.4rem;
  margin-left: 20px;
}
.feeBlock--day .feeBlock__head__txt::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 5px;
  border-radius: 10px;
  border: solid 3px var(--color-green);
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}

.feeBlock--option {
  margin-bottom: 10px;
}

@media screen and (min-width: 769px) {
  .feeBlock__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 145px;
  }
}
@media screen and (max-width: 768px) {
  .feeBlock__head {
    margin-bottom: 3px;
  }
}
.feeBlock--day .feeBlock__head {
  width: 100%;
  margin-bottom: 20px;
}

@media screen and (min-width: 769px) {
  .feeBlock__select {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.feeBlock__select .tourSearchItem {
  width: 100%;
  padding-right: 20px;
}
@media screen and (min-width: 769px) {
  .feeBlock__select .tourSearchItem:not(:last-child) {
    margin-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  .feeBlock__select .tourSearchItem:not(:last-child) {
    margin-bottom: 8px;
  }
}

.feeLimitArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .feeLimitArea {
    margin-bottom: 30px;
  }
}
.feeLimitArea .feeLimit {
  width: 100%;
  max-inline-size: -webkit-max-content;
  max-inline-size: -moz-max-content;
  max-inline-size: max-content;
  margin-inline: auto;
}

.feeLimit dt,
.feeLimit dd {
  line-height: 1.5;
}
.feeLimit dt {
  font-size: 1.4rem;
}
.feeLimit dd {
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .feeLimit dd {
    font-weight: 700;
  }
}

.feeAgree .st-ttl {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .feeAgree .st-ttl {
    font-size: 1.8rem;
  }
}
.feeAgree .st-list {
  margin: 0;
}
.feeAgree .primaryBtn {
  margin: 0 auto;
}

.feeTotal {
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  background-color: #fff;
  padding: 50px 40px;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .feeTotal {
    padding: 5.3333333333vw;
  }
}
.feeTotal .iconClub,
.feeTotal .iconGeneral {
  display: block;
  width: 100%;
  padding-top: 11px;
  padding-bottom: 11px;
  padding-right: 0;
  padding-left: 0;
  font-size: 1.4rem;
  border-radius: 5px 5px 0 0;
}
@media screen and (max-width: 768px) {
  .feeTotal .iconClub,
  .feeTotal .iconGeneral {
    font-size: 1.3rem;
  }
}
.feeTotal .iconGeneral {
  border: solid 1px var(--border-color);
}

.feeTotalInfo {
  margin-bottom: 15px;
}

.feeTotalInfo__item {
  position: relative;
  padding-left: 20px;
  font-size: 1.4rem;
  line-height: 1.5;
}
.feeTotalInfo__item::before {
  display: block;
  line-height: 0;
  position: absolute;
  left: 0;
}
@media screen and (max-width: 768px) {
  .feeTotalInfo__item {
    font-size: 1.3rem;
  }
}

.feeTotalInfo__item--departure::before {
  content: url(/common/images/common/search_icon-date.svg);
  width: 13px;
  top: 3px;
}

.feeTotalInfo__item--destination::before {
  content: url(/common/images/common/search_icon-flag.svg);
  width: 13px;
  top: 4px;
}

.feeTotal--twoPrice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .feeTotal--twoPrice {
    padding: 0;
    background-color: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
@media screen and (max-width: 400px) {
  .feeTotal--twoPrice {
    position: relative;
    width: calc(100% + 5.3333333333vw);
    left: -2.6666666667vw;
  }
}
.feeTotal--twoPrice .feeTotal__block {
  width: calc(50% - 5px);
}
.feeTotal--twoPrice .feeTotal__block__inner {
  border-radius: 0 0 5px 5px;
  padding: 10px;
  border-right: solid 1px var(--border-color);
  border-left: solid 1px var(--border-color);
  border-bottom: solid 1px var(--border-color);
}

.feeTotal__block__inner {
  background-color: #fff;
}

.feeTotalAmount {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--border-color);
}

.feeTotalAmount__ttl {
  font-size: 1.3rem;
  line-height: 1;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .feeTotalAmount__ttl {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .feeTotalAmount__ttl {
    font-size: 1.2rem;
  }
}

.feeTotalAmount__price {
  font-size: 2.8rem;
  line-height: 1;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .feeTotalAmount__price {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .feeTotalAmount__price {
    font-size: 2.3rem;
  }
}
.feeTotalAmount__price span {
  font-size: 1.9rem;
}

.feeTotalDetail dl {
  padding: 8px 0;
}
.feeTotalDetail dl:not(:last-child) {
  border-bottom: solid 1px #e5e5e5;
}
.feeTotalDetail dt,
.feeTotalDetail dd {
  line-height: 1.3;
}
.feeTotalDetail dt {
  font-size: 1.2rem;
}
.feeTotalDetail dd {
  font-size: 1.5rem;
  text-align: right;
}

.feeTotalNote {
  padding: 30px 10px 0;
}
@media screen and (max-width: 768px) {
  .feeTotalNote {
    padding: 10px 10px 0;
    font-size: 1.4rem;
  }
}

.feeTotal--no__msg {
  font-size: 1.8rem;
  text-align: center;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .feeTotal--no__msg {
    font-weight: 700;
  }
}

.daySelecSliderWrap {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}
.daySelecSliderWrap .sliderNav2 {
  position: absolute;
  top: 38px;
}
.daySelecSliderWrap .swiper-scrollbar {
  bottom: -13px !important;
}
.daySelecSliderWrap .swiper-scrollbar-drag {
  background: rgba(0, 0, 0, 0.2);
}

.sliderNav2--next {
  right: -15px;
}

.sliderNav2--prev {
  left: -15px;
}

.daySelecSlider {
  width: 100%;
}

.daySelectList.is-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.daySelectItem {
  position: relative;
  padding: 44px 10px 0;
  background-color: #fff;
  border: solid 1px var(--border-color);
  border-radius: 3px;
  -webkit-transition: -webkit-box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: -webkit-box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s, -webkit-box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  -webkit-transition-property: -webkit-transform, -webkit-box-shadow !important;
  transition-property: -webkit-transform, -webkit-box-shadow !important;
  transition-property: transform, box-shadow !important;
  transition-property: transform, box-shadow, -webkit-transform, -webkit-box-shadow !important;
}
@media screen and (min-width: 769px) {
  .daySelectItem:hover {
    -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
    z-index: 100;
  }
}
.daySelectItem::before, .daySelectItem::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
.daySelectItem::before {
  width: calc(100% - 20px);
  height: 7px;
  border-radius: 0 0 5px 5px;
  background-color: var(--border-color);
  top: 0;
}
.daySelectItem::after {
  width: 18px;
  height: 18px;
  border-radius: 9px;
  border: solid 4px var(--border-color);
  top: 16px;
}
.daySelectItem input[type=radio] {
  display: none;
}
.daySelectItem label {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 1;
}
.daySelectItem.is-active {
  border: none;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
}
.daySelectItem.is-active::before {
  background-color: var(--color-green);
}
.daySelectItem.is-active::after {
  border-color: var(--color-green);
}
.daySelectItem .daySelectItemBasic {
  padding-bottom: 20px;
}
.daySelectItem .daySelectItemBasic__day {
  text-align: center;
}
.daySelectItem .daySelectItemBasic__conducts,
.daySelectItem .daySelectItemBasic__cancel {
  margin-top: 15px;
  text-align: center;
}
.daySelectItem .daySelectItemPrice {
  position: relative;
  padding: 19px 0;
  background: url(/common/images/common/dash.png) center top repeat-x;
  background-size: 7px 1px;
}
@media screen and (max-width: 768px) {
  .daySelectItem .daySelectItemPrice {
    background-size: 14px 1px;
  }
}
.daySelectItem .daySelectItemPrice dl:nth-child(n+2) {
  margin-top: 8px;
}
.daySelectItem .daySelectItemPrice dl:nth-child(n+2) dd {
  font-size: 1.4rem;
}
.daySelectItem .daySelectItemPrice .iconGeneral,
.daySelectItem .daySelectItemPrice .iconClub {
  position: absolute;
  left: 0;
  top: 15px;
}

.daySelectItemBasic__day {
  line-height: 1;
}

.daySelectItemBasic__conducts,
.daySelectItemBasic__cancel {
  line-height: 1;
  font-size: 1.4rem;
}

.daySelectItemPrice dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.daySelectItemPrice dl dt,
.daySelectItemPrice dl dd {
  line-height: 1;
}
.daySelectItemPrice dl dt {
  font-size: 1.1rem;
  margin-right: 0.5em;
}
.daySelectItemPrice dl:nth-child(n+2) dd {
  font-size: 1.4rem;
}
.daySelectItemPrice .iconGeneral,
.daySelectItemPrice .iconClub {
  width: 40px;
  padding-right: 0;
  padding-left: 0;
}

.daySelectOne {
  width: 100%;
  padding: 22px 0;
  border-top: solid 1px var(--border-color);
  border-bottom: solid 1px var(--border-color);
}
.daySelectOne .daySelectItemBasic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.daySelectOne .daySelectItemBasic__conducts {
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .daySelectOne .daySelectItemBasic__conducts {
    margin-left: 15px;
  }
}
.daySelectOne .daySelectItemBasic__cancel {
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  .daySelectOne .daySelectItemBasic__cancel {
    margin-left: 5px;
  }
}
.daySelectOne .daySelectItemPrice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 15px;
}
.daySelectOne .daySelectItemPrice .iconGeneral,
.daySelectOne .daySelectItemPrice .iconClub {
  margin-right: 10px;
}
.daySelectOne .daySelectItemPrice__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.daySelectOne .daySelectItemPrice__list dl:not(:first-child) {
  margin-left: 10px;
}

.feeNoSelectDayMsg {
  margin-bottom: 40px;
  border: solid 1px var(--color-red);
  color: var(--color-red);
  padding: 11px 0;
  border-radius: 5px;
  text-align: center;
}

.detaiInfo__lead,
.detailInfo__notes,
.detailInfo__list {
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .detaiInfo__lead,
  .detailInfo__notes,
  .detailInfo__list {
    padding: 0 30px;
  }
}
@media screen and (max-width: 768px) {
  .detaiInfo__lead,
  .detailInfo__notes,
  .detailInfo__list {
    font-size: 1.5rem;
    margin-bottom: 15px;
  }
}

.detailInfo__list dt {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .detailInfo__list dt {
    font-weight: 700;
  }
}
.detailInfo__list dd {
  margin-bottom: 10px;
}

.detailRecommend {
  margin-bottom: 200px;
}
@media screen and (max-width: 768px) {
  .detailRecommend {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 768px) {
  .detailRecommend .tourSliderArea {
    margin-bottom: 40px;
  }
}

.detailFix {
  position: fixed;
  max-width: 1166px;
  height: 70px;
  margin: 0 auto;
  background-color: var(--color-base);
  -webkit-box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.2);
  border-radius: 5px 5px 0 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
}
@media screen and (min-width: 769px) {
  .detailFix {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .detailFix {
    width: calc(100% - 5.3333333333vw);
    height: 60px;
    padding: 5px;
  }
}

.detailFixNav {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
}

.detailFixNav__item {
  display: inline-block;
}
.detailFixNav__item a,
.detailFixNav__item button {
  display: block;
  padding: 0 0.75em;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  background: none;
  -webkit-transition: color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: color cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .detailFixNav__item a,
  .detailFixNav__item button {
    font-weight: 700;
  }
}
.detailFixNav__item a span,
.detailFixNav__item button span {
  display: inline-block;
  line-height: inherit;
}
@media screen and (min-width: 769px) {
  .detailFixNav__item a:hover,
  .detailFixNav__item button:hover {
    color: var(--color-green);
  }
}

.detailFix__btnArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.detailFix__btnArea .myListBtn,
.detailFix__btnArea .comparisonBtn {
  margin-right: 5px;
}
@media screen and (max-width: 768px) {
  .detailFix__btnArea .myListBtn,
  .detailFix__btnArea .comparisonBtn {
    width: 33.3333333333%;
  }
}
.detailFix__btnArea .myListBtn button,
.detailFix__btnArea .comparisonBtn button {
  height: 50px;
}
@media screen and (min-width: 769px) {
  .detailFix__btnArea .myListBtn button,
  .detailFix__btnArea .comparisonBtn button {
    padding: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .detailFix__btnArea .myListBtn button,
  .detailFix__btnArea .comparisonBtn button {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 900px) {
  .detailFix__btnArea .myListBtn button span,
  .detailFix__btnArea .comparisonBtn button span {
    line-height: 1.3;
  }
}
@media screen and (max-width: 900px) {
  .detailFix__btnArea .myListBtn button span::before,
  .detailFix__btnArea .comparisonBtn button span::before {
    top: 6px;
  }
}
.detailFix__btnArea .myListBtn button span br,
.detailFix__btnArea .comparisonBtn button span br {
  display: none;
}
@media screen and (max-width: 900px) {
  .detailFix__btnArea .myListBtn button span br,
  .detailFix__btnArea .comparisonBtn button span br {
    display: block;
  }
}
.detailFix__btnArea .btn {
  width: 180px;
}
@media screen and (max-width: 768px) {
  .detailFix__btnArea .btn {
    width: 33.3333333333%;
  }
}
.detailFix__btnArea .btn a, .detailFix__btnArea .btn button {
  padding-top: 14px;
  padding-bottom: 14px;
  padding-left: 0;
  padding-right: 0;
  font-size: 1.5rem;
}

.detailFix--conf {
  -webkit-box-shadow: none;
          box-shadow: none;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s;
  transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s;
}
@media screen and (min-width: 769px) {
  .detailFix--conf {
    display: none !important;
  }
}
.detailFix--conf .btn {
  width: 100%;
  max-width: none;
}
.detailFix--conf.is-show {
  opacity: 1;
  visibility: visible;
}

/* conductsModal
----------------------------------------------- */
@media screen and (min-width: 769px) {
  .conductsModal {
    width: 775px;
    padding-right: 60px;
  }
}
.conductsModal .tourSearchModal__txt {
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .conductsModal .selectListWrap {
    max-height: 37vh;
  }
}
@media screen and (max-width: 400px) {
  .conductsModal .selectListWrap {
    max-height: 25vh;
  }
}
.conductsModal .selectList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: auto;
}
@media screen and (min-width: 769px) {
  .conductsModal .selectList {
    height: 180px;
    padding-right: 20px;
    overflow: auto;
  }
}
@media screen and (max-width: 768px) {
  .conductsModal .selectList {
    padding: 0 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .conductsModal .selectItem {
    width: calc(33.3333333333% - 10px);
  }
}
@media screen and (min-width: 769px) {
  .conductsModal .selectItem:not(:nth-child(3n)) {
    margin-right: 15px;
  }
}
@media screen and (max-width: 768px) {
  .conductsModal .selectItem:nth-child(odd) {
    margin-right: 15px;
  }
}
@media screen and (max-width: 500px) {
  .conductsModal .selectItem:nth-child(odd) {
    margin-right: 0px;
  }
}
@media screen and (max-width: 768px) {
  .conductsModal .selectItem {
    width: calc(50% - 7.5px);
  }
}
@media screen and (max-width: 500px) {
  .conductsModal .selectItem {
    width: 100%;
  }
}
.conductsModal .selectItem .checkItem {
  /*input custom*/
}
.conductsModal .selectItem .checkItem input[type=checkbox],
.conductsModal .selectItem .checkItem input[type=radio] {
  display: none;
}
.conductsModal .selectItem .checkItem input[type=checkbox] + label,
.conductsModal .selectItem .checkItem input[type=radio] + label {
  padding-right: 20px;
  padding-left: 35px;
}
.conductsModal .tourSearchModal__ttl span::before {
  background: url(/common/images/common/icon_notice-border-gray.svg) center center no-repeat;
  background-size: 24px auto;
}
.conductsModal .tourSearchModal__btnArea {
  padding-top: 20px;
}

.conductsModal__notes {
  max-inline-size: -webkit-max-content;
  max-inline-size: -moz-max-content;
  max-inline-size: max-content;
  margin-inline: auto;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .conductsModal__notes {
    padding: 0 20px;
  }
}
.conductsModal__notes p {
  font-size: 1.4rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .conductsModal__notes p {
    font-size: 1.5rem;
  }
}

.conductsModal__underTxt {
  padding: 10px 0;
}
@media screen and (min-width: 769px) {
  .conductsModal__underTxt {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .conductsModal__underTxt {
    max-inline-size: -webkit-max-content;
    max-inline-size: -moz-max-content;
    max-inline-size: max-content;
    margin-inline: auto;
    padding: 10px 20px;
  }
}
.conductsModal__underTxt p {
  font-size: 1.4rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .conductsModal__underTxt p {
    font-size: 1.3rem;
  }
}

/* friendsModal
----------------------------------------------- */
.friendsModal {
  max-width: 775px;
  padding: 55px 80px 80px;
}
@media screen and (max-width: 768px) {
  .friendsModal {
    padding: 0 5.3333333333vw;
  }
}
.friendsModal .tourSearchModal__ttl span::before {
  background: url(/common/images/common/icon_friends.svg) center center no-repeat;
  background-size: 36px auto;
  margin-right: 7px;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.friendsModal__txt {
  margin: 20px 0;
}
@media screen and (max-width: 768px) {
  .friendsModal__txt {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.friendsModal__copyHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 20px;
}
.friendsModal__copyHead p {
  padding: 3px 15px;
  border-left: solid 5px var(--color-green);
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .friendsModal__copyHead p {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .friendsModal__copyHead p {
    padding: 7px 5px 7px 15px;
  }
}
.friendsModal__copyHead p span {
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .friendsModal__copyHead p span {
    display: block;
    font-size: 1.3rem;
  }
}
.friendsModal__copyHead .btn button {
  width: 145px;
}
@media screen and (max-width: 768px) {
  .friendsModal__copyHead .btn button {
    width: 115px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 0;
    padding-left: 0;
  }
}

.friendsModal__copyField textarea {
  resize: none;
  width: 100%;
  min-height: 140px;
  padding: 20px;
  border: none;
  background-color: #fff;
  border-radius: 5px;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  word-break: break-all;
}
@media screen and (min-width: 769px) {
  .friendsModal__copyField textarea {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .friendsModal__copyField textarea {
    min-height: 170px;
  }
}
.friendsModal__copyField textarea:disabled {
  opacity: 1 !important;
  color: #000 !important;
}

/* adressSettingModal
----------------------------------------------- */
@media screen and (min-width: 769px) {
  .addrSet {
    width: 775px;
    padding: 0 80px 60px;
  }
}
@media screen and (max-width: 768px) {
  .addrSet {
    padding: 0 20px;
  }
}

.addrSet__head {
  text-align: center;
  margin-bottom: 30px;
  padding-top: 50px;
}

.addrSetList {
  overflow: auto;
}
@media screen and (min-width: 769px) {
  .addrSetList {
    padding-right: 30px;
    max-height: 400px;
  }
}

.addrSetItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px;
  border-bottom: solid 1px var(--border-color);
}
.addrSetItem:first-child {
  border-top: solid 1px var(--border-color);
}
.addrSetItem .subBtn button {
  -webkit-transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .addrSetItem .subBtn button {
    padding-top: 9px;
    padding-bottom: 9px;
  }
}
@media screen and (min-width: 769px) {
  .addrSetItem .subBtn button:hover {
    opacity: 1;
    background-color: var(--color-green);
    border-color: var(--color-green);
    color: #fff;
  }
}

.addrSetItem__addr {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 20px;
}
.addrSetItem__addr p {
  margin-right: 20px;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .addrSetItem__addr p {
    display: inline-block;
  }
}

/* cardInfoArea
----------------------------------------------- */
.cardInfoArea {
  display: none;
}
.cardInfoArea .subBtn {
  margin-top: 30px;
}

.formItemPayment__btnArea,
.cardInfoBtnArea {
  margin-top: 40px;
}
@media screen and (min-width: 769px) {
  .formItemPayment__btnArea,
  .cardInfoBtnArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 768px) {
  .formItemPayment__btnArea,
  .cardInfoBtnArea {
    margin-top: 20px;
  }
}
@media screen and (min-width: 769px) {
  .formItemPayment__btnArea .subBtn:nth-child(1),
  .cardInfoBtnArea .subBtn:nth-child(1) {
    margin-right: 20px;
  }
}
@media screen and (max-width: 768px) {
  .formItemPayment__btnArea .subBtn,
  .cardInfoBtnArea .subBtn {
    display: block;
    width: calc(100% - 20px);
    margin: 10px auto;
  }
}
@media screen and (max-width: 768px) {
  .formItemPayment__btnArea .subBtn button span,
  .cardInfoBtnArea .subBtn button span {
    padding: 0;
  }
}

@media screen and (min-width: 769px) {
  .cardRegistration {
    width: clamp(950px, 75.0366032211vw, 1025px);
    padding: 40px 60px;
  }
}
@media screen and (max-width: 768px) {
  .cardRegistration {
    padding: 40px 5.3333333333vw 50px;
  }
}

.cardRegistration__ttl {
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.5;
}

.cardRegistration__notes {
  text-align: center;
  font-size: 1.4rem;
  margin-bottom: 20px;
}

@media screen and (min-width: 769px) {
  .cardRegistration__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 769px) {
  .cardRegistrationForm {
    width: 530px;
  }
}

.cardRegistrationItem {
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .cardRegistrationItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.cardRegistrationItem dt {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .cardRegistrationItem dt {
    width: 105px;
    padding-right: 25px;
    text-align: right;
  }
}
@media screen and (max-width: 768px) {
  .cardRegistrationItem dt {
    margin-bottom: 8px;
    font-size: 1.5rem;
  }
}

.cardRegistrationItem--no input,
.cardRegistrationItem--name input {
  width: 250px;
}
@media screen and (max-width: 768px) {
  .cardRegistrationItem--no input,
  .cardRegistrationItem--name input {
    max-width: 100%;
  }
}
.cardRegistrationItem--no p,
.cardRegistrationItem--name p {
  font-size: 1.2rem;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .cardRegistrationItem--no p,
  .cardRegistrationItem--name p {
    margin-top: 5px;
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .cardRegistrationItem--no p,
  .cardRegistrationItem--name p {
    width: 100%;
    margin-top: 8px;
    font-size: 1.3rem;
  }
}

.cardRegistrationItem--limit .formSelect {
  width: 90px;
}
.cardRegistrationItem--limit dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .cardRegistrationItem--limit dd {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.cardRegistrationItem--limit dd p {
  font-size: 1.2rem;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .cardRegistrationItem--limit dd p {
    margin-left: 10px;
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .cardRegistrationItem--limit dd p {
    width: 100%;
    margin-top: 8px;
    font-size: 1.3rem;
  }
}

.cardRegistrationItem--code dt {
  position: relative;
  font-size: 1.5rem;
}
@media screen and (min-width: 769px) {
  .cardRegistrationItem--code dt sup {
    position: absolute;
    top: -3px;
    right: 15px;
  }
}
.cardRegistrationItem--code input {
  width: 200px;
}

@media screen and (min-width: 769px) {
  .cardRegistrationCode {
    width: 325px;
    margin-left: 30px;
  }
}
.cardRegistrationCode p {
  margin-bottom: 10px;
  font-size: 1.4rem;
}
.cardRegistrationCode p strong {
  display: block;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .cardRegistrationCode p strong {
    font-weight: 700;
  }
}

.cardRegistrationBtn {
  padding-top: 30px;
  text-align: center;
}
.cardRegistrationBtn .closeTxtLink {
  margin-top: 15px;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .cardRegistrationBtn .closeTxtLink {
    font-size: 1.5rem;
  }
}
.cardRegistrationBtn .btn {
  margin: 0 auto;
}

.cardRegistrationItem--confirm .wornMsgAreaWrap,
.cardRegistrationItem--confirm .errMsgAreaWrap {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .cardRegistrationItem--confirm .wornMsgAreaWrap,
  .cardRegistrationItem--confirm .errMsgAreaWrap {
    margin-top: 20px;
  }
}
.cardRegistrationItem--confirm .formItem__block {
  padding: 10px;
}
@media screen and (max-width: 768px) {
  .cardRegistrationItem--confirm .formItem__block {
    padding: 0px;
  }
}
.cardRegistrationItem--confirm .formItem__head {
  position: relative;
}
@media screen and (max-width: 768px) {
  .cardRegistrationItem--confirm .formItem__head {
    width: 100%;
    padding: 0px;
  }
}
.cardRegistrationItem--confirm .formItem__head::before {
  position: absolute;
  left: -78px;
}
@media screen and (max-width: 768px) {
  .cardRegistrationItem--confirm .formItem__head::before {
    position: static;
  }
}
.cardRegistrationItem--confirm .formItem__head .formItem__ttl {
  position: relative;
}
.cardRegistrationItem--confirm .formItem__head .hatena__mark {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: -20px;
  display: inline-block;
  width: 17px;
  height: 17px;
  line-height: 1;
  cursor: pointer;
}
.cardRegistrationItem--confirm .formItem__head .hatena__mark img {
  vertical-align: top;
}
.cardRegistrationItem--confirm .formItem__input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cardRegistrationItem--confirm .formItem__input input {
  width: 100px;
}
.cardRegistrationItem--confirm .formItem__input .cardRegistrationItem__securityCode {
  color: var(--color-red);
  position: relative;
  font-size: 1.4rem;
  margin-left: 10px;
}

@media screen and (min-width: 769px) {
  .securityCodeModl {
    padding: 40px 60px;
  }
}
@media screen and (max-width: 768px) {
  .securityCodeModl {
    padding: 40px 5.3333333333vw 50px;
  }
}

.securityCodeModl__ttl {
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.5;
  margin-bottom: 15px;
}

@media screen and (min-width: 769px) {
  .securityCodeModl__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 769px) {
  .securityCodeModl__content .cardRegistrationCode {
    width: 460px;
    margin-left: 0px;
  }
}

/* companion
----------------------------------------------- */
.companionDeleteTxt {
  display: block;
}

.companionList {
  margin: 30px 0;
}
@media screen and (max-width: 768px) {
  .companionList {
    margin: 20px 0;
  }
}

.companionItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px;
  border-bottom: 1px solid var(--border-color);
}
@media screen and (max-width: 768px) {
  .companionItem {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 15px;
  }
}
.companionItem:first-child {
  border-top: 1px solid var(--border-color);
}
@media screen and (max-width: 768px) {
  .companionItem .deleteBtn {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
}

.companionItem__info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .companionItem__info {
    margin-left: 10px;
  }
}
.companionItem__info dt,
.companionItem__info dd {
  line-height: 1.5;
}
.companionItem__info dt {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .companionItem__info dt {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .companionItem__info dt {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .companionItem__info dd {
    margin-left: 20px;
  }
}
@media screen and (max-width: 768px) {
  .companionItem__info dd {
    margin-right: 0.5em;
  }
}

.companionRow .companionItem__info dt {
  margin-right: 20px;
}
@media screen and (min-width: 769px) {
  .companionRow .companionItem__info dd {
    margin-right: 20px;
    margin-left: 0px;
  }
}
.companionRow .companionItem__info .--membership_number {
  width: 100%;
}

.addCompanion {
  display: none;
}

.addCompanion__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 10px;
  border-bottom: solid 1px var(--border-color);
}
@media screen and (min-width: 769px) {
  .addCompanion__head {
    padding-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  .addCompanion__head {
    padding-bottom: 15px;
  }
}

.addCompanion {
  margin: 40px 0;
}
@media screen and (max-width: 768px) {
  .addCompanion {
    margin: 30px 0;
  }
}

.addCompanion__head__txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 3px 15px;
  border-left: solid 5px var(--color-green);
  line-height: 1.5;
}
.addCompanion__head__txt span {
  display: inline-block;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .addCompanion__addBtn {
    display: block;
    width: calc(100% - 20px);
    margin: 10px auto;
  }
}

/* mypage
----------------------------------------------- */
.mpHeader {
  margin-top: -90px;
  margin-right: auto;
  margin-left: auto;
  padding: 30px 20px 30px 40px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (min-width: 769px) {
  .mpHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: var(--width-max);
  }
}
@media screen and (max-width: 768px) {
  .mpHeader {
    margin-top: -45px;
    padding: 15px 5.3333333333vw 25px;
  }
}

.mpHeader__userArea {
  position: relative;
}

.mpHeader__userArea__groupe {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.mpHeader__setting {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 20px;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .mpHeader__setting {
    padding-right: 0px;
    padding: 5px 0;
  }
}

.mpGuideBtn,
.mpConductsBtn,
.mpKeywordBtn {
  margin-right: 10px;
}
.mpGuideBtn .subBtn a,
.mpConductsBtn .subBtn a,
.mpKeywordBtn .subBtn a {
  padding-left: 12px;
  padding-right: 18px;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 1.3rem;
  white-space: nowrap;
}

.mpGuideBtn a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4rem;
}
.mpGuideBtn a img {
  height: 17px;
  width: auto;
  margin-right: 5px;
}
@media screen and (max-width: 768px) {
  .mpGuideBtn {
    margin-right: 0px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    text-align: right;
  }
}

.mpNo {
  font-size: 1.3rem;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .mpNo {
    position: absolute;
    top: -22px;
    left: 0;
  }
}
@media screen and (max-width: 768px) {
  .mpNo {
    font-size: 1.4rem;
  }
}

.mpLoginTxt {
  padding-top: 2px;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .mpLoginTxt {
    padding-top: 6px;
  }
}
.mpLoginTxt span {
  border-radius: 100vh;
  border: 2px solid var(--color-green);
  font-size: 1.2rem;
  color: var(--color-green);
  padding: 3px 10px;
  margin-right: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .mpLoginTxt span {
    font-size: 1.1rem;
    margin-right: 10px;
  }
}

.mpUserName {
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .mpUserName {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .mpUserName {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .mpUserName {
    margin-top: 8px;
  }
}
.mpUserName span {
  font-size: 1.3rem;
}

.mpChangeLink {
  margin-left: 20px;
  margin-right: 20px;
  white-space: nowrap;
  font-size: 1.4rem;
}

.mpLogout {
  font-size: 1.4rem;
  margin-left: 5px;
}

.mpNews {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 5%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .mpNews {
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .mpNews {
    margin-bottom: 30px;
  }
}

.mpNews__head {
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .mpNews__head {
    margin-bottom: 20px;
  }
}

.mpNews__head__lead {
  position: relative;
  display: inline-block;
  padding: 0 30px;
  margin-bottom: 10px;
  color: var(--color-red);
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .mpNews__head__lead {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .mpNews__head__lead {
    font-size: 1.8rem;
  }
}
.mpNews__head__lead::before {
  content: url(/common/images/common/icon_attention.svg);
  display: block;
  width: 30px;
  position: absolute;
  top: 0;
  left: 0;
}

.mpNews__head__ttl {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .mpNews__head__ttl {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .mpNews__head__ttl {
    font-size: 1.8rem;
  }
}

.mpNews__item {
  border-top: solid 1px var(--border-color);
  padding: 25px 0;
}
@media screen and (min-width: 769px) {
  .mpNews__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .mpNews__item {
    padding: 20px 10px;
  }
}

.mpNews__left {
  width: 180px;
}
@media screen and (min-width: 769px) {
  .mpNews__left {
    padding: 0 25px;
  }
}
@media screen and (max-width: 768px) {
  .mpNews__left {
    margin-bottom: 3px;
  }
}

.mpNews__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 769px) {
  .mpNews__content {
    font-size: 1.5rem;
  }
}

.mpNews__item__ttl {
  font-weight: 500;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .mpNews__item__ttl {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .mpNews__item__ttl {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .mpNews__item__ttl {
    margin-bottom: 5px;
  }
}

.mypageList__tabArea {
  padding-top: 50px;
  background-color: var(--color-lightBlue);
}
@media screen and (max-width: 768px) {
  .mypageList__tabArea {
    padding-top: 30px;
  }
}
.mypageList__tabArea .tabItem--reserve p > span {
  padding: 0 34px;
}
.mypageList__tabArea .tabItem--reserve p > span::before {
  content: url(/common/images/common/icon_reserve-gray.svg);
  width: 24px;
}
@media screen and (max-width: 768px) {
  .mypageList__tabArea .tabItem--reserve p > span::before {
    width: 14px;
    left: 18px;
    top: -8px;
  }
}
.mypageList__tabArea .tabItem--reserve.is-active p > span::before {
  content: url(/common/images/common/icon_reserve-white2.svg);
}
.mypageList__tabArea .tabItem--participated p > span {
  padding: 0 35px;
}
.mypageList__tabArea .tabItem--participated p > span::before {
  content: url(/common/images/common/icon_check-gray.svg);
  width: 25px;
}
@media screen and (max-width: 768px) {
  .mypageList__tabArea .tabItem--participated p > span::before {
    width: 17px;
    left: 16px;
    top: -10px;
  }
}
.mypageList__tabArea .tabItem--participated.is-active p > span::before {
  content: url(/common/images/common/icon_check-white2.svg);
}
.mypageList__tabArea .tabItem--mylist p > span {
  padding: 0 33px;
}
.mypageList__tabArea .tabItem--mylist p > span::before {
  content: url(/common/images/common/icon-heart-gray.svg);
  width: 23px;
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
}
@media screen and (max-width: 768px) {
  .mypageList__tabArea .tabItem--mylist p > span::before {
    width: 18px;
    left: 16px;
    top: -11px;
  }
}
.mypageList__tabArea .tabItem--mylist.is-active p > span::before {
  content: url(/common/images/common/icon-heart-white2.svg);
}

.mypageList__content {
  padding-top: 60px;
}
@media screen and (max-width: 768px) {
  .mypageList__content {
    padding-top: 20px;
  }
}

.mypageList__headMsg {
  text-align: center;
}

.mypageList__underMsg {
  text-align: center;
}

.mypageList__info {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .mypageList__info {
    margin-top: 20px;
  }
}
@media screen and (min-width: 769px) {
  .mypageList__info {
    padding: 0 20px;
  }
}

@media screen and (min-width: 769px) {
  .mypageListParticipated .cassette .cstPriceArea,
  .mypageListReserve .cassette .cstPriceArea {
    width: 50%;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .mypageListParticipated .cassette .cstPriceArea,
  .mypageListReserve .cassette .cstPriceArea {
    width: 100%;
    margin-bottom: 15px;
  }
}

/* application
----------------------------------------------- */
.applicationDetail {
  margin-bottom: 60px;
  padding: 40px 40px 80px;
  background-color: #fff;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .applicationDetail {
    margin-bottom: 40px;
    padding: 20px 0 40px;
  }
}

.applicationDetail__headWrap {
  position: relative;
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .applicationDetail__headWrap {
    padding-bottom: 30px;
    border-bottom: 1px solid var(--border-color);
  }
}
@media screen and (max-width: 768px) {
  .applicationDetail__headWrap {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 769px) {
  .applicationDetail__headWrap .subBtn {
    position: absolute;
    bottom: 30px;
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .applicationDetail__headWrap .subBtn {
    display: block;
    width: calc(100% - 40px);
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .applicationDetail__headWrap .subBtn a {
    padding-right: 0;
    padding-left: 0;
  }
}

.applicationDetail__head {
  padding: 20px 25px;
  border-left: solid 5px var(--color-green);
}
@media screen and (max-width: 768px) {
  .applicationDetail__head {
    margin-bottom: 15px;
    padding: 15px;
  }
}

@media screen and (min-width: 769px) {
  .applicationDetail__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .applicationDetail__content {
    padding: 0 20px;
  }
}

.applicationDetail__ttl {
  font-size: 2.3rem;
  font-weight: 500;
  margin-bottom: 20px;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .applicationDetail__ttl {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .applicationDetail__ttl {
    font-size: 1.8rem;
    margin-bottom: 8px;
  }
}

.applicationDetail__day {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .applicationDetail__day {
    font-size: 1.5rem;
  }
}
.applicationDetail__day::before {
  content: url(/common/images/common/search_icon-date.svg);
  display: block;
  width: 21px;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .applicationDetail__day::before {
    width: 19px;
    margin-right: 8px;
  }
}

.applicationDetail__limit {
  padding: 0 20px 30px;
  border-bottom: solid 1px var(--border-color);
}
@media screen and (min-width: 769px) {
  .applicationDetail__limit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .applicationDetail__limit {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 20px 10px;
    border-top: solid 1px var(--border-color);
  }
}

@media screen and (min-width: 769px) {
  .applicationDetail__limit__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.applicationDetail__limit__item:nth-child(1) {
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .applicationDetail__limit__item:nth-child(1) {
    margin-bottom: 15px;
  }
}

@media screen and (min-width: 769px) {
  .applicationDetail__limit__ttl {
    width: 8em;
    text-align: right;
    margin-right: 20px;
    padding-top: 4px;
  }
}
@media screen and (max-width: 768px) {
  .applicationDetail__limit__ttl {
    font-size: 1.4rem;
    line-height: 1;
  }
}

.applicationDetail__limit__day {
  font-weight: 500;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .applicationDetail__limit__day {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .applicationDetail__limit__day {
    margin-right: 30px;
  }
}

.applicationDetail__limit__notes {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .applicationDetail__limit__notes {
    padding-top: 8px;
  }
}
@media screen and (max-width: 768px) {
  .applicationDetail__limit__notes {
    margin-top: 10px;
  }
}

@media screen and (min-width: 769px) {
  .applicationDetail__people,
  .applicationDetail__fee {
    width: calc(50% - 15px);
  }
}

.applicationDetail__people .applicationList:not(:last-child) {
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .applicationDetail__people .applicationList:not(:last-child) {
    margin-bottom: 10px;
  }
}
.applicationDetail__people .applicationList th {
  width: 220px;
}
@media screen and (max-width: 768px) {
  .applicationDetail__people .applicationList th {
    width: 120px;
  }
}

@media screen and (max-width: 768px) {
  .applicationDetail__fee {
    margin-top: 20px;
  }
}
.applicationDetail__fee .applicationList tr:last-child {
  border-bottom: none;
}
.applicationDetail__fee .applicationList th {
  white-space: normal;
}
.applicationDetail__fee .applicationList td {
  white-space: nowrap;
  text-align: right;
}

.applicationDetail__total {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 15px;
  border-top: solid 2px var(--color-green);
}
@media screen and (max-width: 768px) {
  .applicationDetail__total {
    padding: 0 10px;
  }
}

.applicationDetail__total__ttl {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .applicationDetail__total__ttl {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .applicationDetail__total__ttl {
    font-size: 1.8rem;
  }
}

.applicationDetail__total__num {
  font-size: 3.6rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .applicationDetail__total__num {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .applicationDetail__total__num {
    font-size: 2.6rem;
  }
}
.applicationDetail__total__num span {
  font-size: 2.9rem;
}
@media screen and (max-width: 768px) {
  .applicationDetail__total__num span {
    font-size: 1.8rem;
  }
}

.applicationDetail__notes {
  margin-top: 5px;
  padding: 0 15px;
}
@media screen and (max-width: 768px) {
  .applicationDetail__notes {
    padding: 0 10px;
  }
}
.applicationDetail__notes p {
  font-size: 1.4rem;
  text-align: right;
}

.applicationDetail__cancel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 0 0 20px;
}
@media screen and (max-width: 768px) {
  .applicationDetail__cancel {
    padding: 0 2.6666666667vw 10px;
  }
}
.applicationDetail__cancel button,
.applicationDetail__cancel a {
  padding-top: 10px;
  padding-bottom: 10px;
}

.applicationDetail__attentionBox {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .applicationDetail__attentionBox {
    padding: 0 2.6666666667vw;
    margin-bottom: 15px;
  }
}
.applicationDetail__attentionBox .st-attentionBox {
  max-width: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.applicationDetail__attentionBox .st-attentionBox .st-list li {
  margin-bottom: 20px;
}
.applicationDetail__attentionBox .st-attentionBox .st-list li:last-child {
  margin-bottom: 0px;
}

.applicationDetail__cancelMsg {
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .applicationDetail__cancelMsg {
    text-align: right;
  }
}
@media screen and (max-width: 768px) {
  .applicationDetail__cancelMsg {
    margin-bottom: 20px;
    padding: 0 20px;
  }
}
.applicationDetail__cancelMsg a {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .applicationDetail__cancelMsg a {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .applicationDetail__cancelMsg a {
    display: inline-block;
  }
}

.applicationList table {
  width: 100%;
}
.applicationList table tr {
  border-bottom: solid 1px var(--border-color);
}
.applicationList table th,
.applicationList table td {
  line-height: 1.5;
  font-weight: 400;
  padding-top: 15px;
  padding-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .applicationList table th,
  .applicationList table td {
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1.5rem;
    font-weight: 500;
  }
}
.applicationList table th {
  padding-right: 40px;
  padding-left: 15px;
  white-space: nowrap;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .applicationList table th {
    padding-right: 10px;
    padding-left: 10px;
  }
}
.applicationList table td {
  padding-right: 15px;
}
@media screen and (max-width: 768px) {
  .applicationList table td {
    padding-right: 5px;
  }
}
.applicationList .iconGeneral,
.applicationList .iconClub {
  display: block;
  padding: 12px 0;
  border-radius: 3px 3px 0 0;
  font-size: 1.8rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .applicationList .iconGeneral,
  .applicationList .iconClub {
    font-size: 1.6rem;
    padding: 10px 0;
  }
}

.applicationList__head {
  padding: 16px 15px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  border-bottom: solid 1px var(--color-black);
}
@media screen and (max-width: 768px) {
  .applicationList__head {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .applicationList__head {
    padding: 15px 10px;
    font-size: 1.6rem;
  }
}
.applicationList__head span {
  font-size: 1.4rem;
}

.companionInput {
  display: none;
}

.applicationCompanionCheck {
  padding: 20px 10px;
}
@media screen and (min-width: 769px) {
  .applicationCompanionCheck {
    border-bottom: solid 1px var(--border-color);
  }
}
@media screen and (max-width: 768px) {
  .applicationCompanionCheck {
    padding: 10px;
  }
}

/* reserve
----------------------------------------------- */
@media screen and (min-width: 769px) {
  .reserveNotice .st-attentionBox {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.reserveTourDetailBtn {
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .reserveTourDetailBtn {
    margin: 0 auto 60px;
  }
}
.reserveTourDetailBtn + .reserveTourDetail {
  display: none;
}

.reserveTourDetail .st-attentionBox {
  max-width: none !important;
}
.reserveTourDetail .l-section {
  padding-right: 0;
  padding-left: 0;
}

/* loginBox
----------------------------------------------- */
.loginBox {
  margin-bottom: 40px;
  padding: 40px 20px;
  background-color: var(--color-lightBlue);
  border-radius: 10px;
}
@media screen and (min-width: 769px) {
  .loginBox {
    max-width: calc(100% - 60px);
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .loginBox {
    margin-bottom: 25px;
    padding: 20px 20px 30px;
  }
}
.loginBox .btn {
  margin: 0 auto;
}

.loginBox__txt {
  margin-bottom: 10px;
}

.loginBox__notes {
  margin-bottom: 20px;
  font-size: 1.4rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .loginBox__notes {
    font-weight: 700;
  }
}

/* magazineBox
----------------------------------------------- */
.magazineBox {
  margin-bottom: 60px;
  padding: 40px 20px;
  background-color: var(--color-lightBlue);
  text-align: center;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .magazineBox {
    margin-bottom: 20px;
    padding: 20px 20px 30px;
  }
}
.magazineBox .subBtn {
  max-width: 350px;
  margin: 0 auto;
}
.magazineBox .subBtn a {
  padding-right: 0;
  padding-left: 0;
}
@media screen and (max-width: 400px) {
  .magazineBox .subBtn a::after {
    content: none;
  }
}

.magazineBox__head {
  margin-bottom: 15px;
  font-weight: 500;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .magazineBox__head {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .magazineBox__head {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
}
.magazineBox__head span {
  display: inline-block;
}

.magazineBox__txt {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .magazineBox__txt {
    margin-bottom: 15px;
  }
}
.magazineBox__txt span {
  display: inline-block;
}

/* attentionBoxList
----------------------------------------------- */
.attentionBoxList {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .attentionBoxList {
    margin-bottom: 40px;
  }
}
.attentionBoxList .st-attentionBox {
  margin-top: 0;
  margin-bottom: 20px;
}
.attentionBoxList .st-attentionBox:last-child {
  margin-bottom: 0;
}

/* styleGuide
----------------------------------------------- */
.styleGuideNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.styleGuideNav li {
  display: block;
  width: calc(16.6666666667% - 10px);
  margin-top: 0;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .styleGuideNav li {
    width: calc(50% - 10px);
    margin-bottom: 10px;
  }
}

.styleGuideSection {
  padding-top: 50px;
  padding-bottom: 50px;
  margin-bottom: 50px;
}
.styleGuideSection code {
  font-size: 15px !important;
}
.styleGuideSection pre {
  margin-top: 30px !important;
  margin-bottom: 50px !important;
  padding: 0 20px !important;
}

.styleGuideSection:not(:last-child) {
  border-bottom: solid 1px #ccc;
}

.styleGuideColorList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.styleGuideColorList dl {
  width: 20%;
  margin-bottom: 30px;
  padding: 0 10px;
}
@media screen and (max-width: 768px) {
  .styleGuideColorList dl {
    width: 50%;
  }
}
.styleGuideColorList dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100px;
  padding: 0 20px;
  border-radius: 5px;
  text-align: center;
  line-height: 1.5;
}
.styleGuideColorList dl dd {
  margin-top: 10px;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.5;
}

/* footer
----------------------------------------------- */
.footer {
  position: relative;
  padding-top: 75px;
  background-color: var(--color-base);
  -webkit-box-shadow: 0px -30px 30px rgba(0, 0, 0, 0.05);
          box-shadow: 0px -30px 30px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 768px) {
  .footer {
    padding-top: min(10.6666666667vw, 40px);
  }
}

.footer__inner {
  padding-top: 100px;
}
@media screen and (max-width: 768px) {
  .footer__inner {
    padding-top: 40px;
  }
}

.footer__head {
  margin-bottom: 80px;
}
@media screen and (min-width: 769px) {
  .footer__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .footer__head {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 769px) {
  .footer__head .snsLink {
    margin-right: 60px;
  }
}
@media screen and (max-width: 768px) {
  .footer__head .snsLink {
    margin-bottom: 50px;
  }
}

.footer__club {
  max-width: 335px;
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
.footer__club:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .footer__club {
    margin: 0 auto;
  }
}
.footer__club img {
  border-radius: 5px;
}

.footer__mark {
  margin-bottom: 40px;
}

.footer__mark__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.footer__mark__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60px;
  height: 60px;
  margin: 0 7px;
  background-color: #fff;
  border-radius: 3px;
}
.footer__mark__item a {
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
.footer__mark__item a:hover {
  opacity: 0.7;
}

.footer__mark__item--pmark img {
  width: 48px;
}

.footer__mark__item--jata img {
  width: 50px;
}

.footer__mark__item--ryokougyou_koutori img {
  width: 50px;
}

.footer__link {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .footer__link {
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 769px) {
  .footer__link__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .footer__link__list {
    width: 100%;
    padding: 0 5.3333333333vw;
  }
}

.footer__link__item {
  width: clamp(185px, 15.2269399707vw, 208px);
  margin: 0 5px;
}
@media screen and (max-width: 768px) {
  .footer__link__item {
    width: 100%;
    margin: 0 0 10px;
  }
}
.footer__link__item a {
  text-decoration: none;
  color: inherit;
}
.footer__link__item a:hover {
  color: inherit;
}
.footer__link__item a {
  display: block;
  line-height: 40px;
  background-color: #fff;
  border-radius: 3px;
  text-align: center;
  font-size: clamp(13px, 1.0248901903vw, 14px);
  font-weight: 500;
  -webkit-box-shadow: var(--shadow);
          box-shadow: var(--shadow);
  -webkit-transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: opacity cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}
@media screen and (max-width: 768px) {
  .footer__link__item a {
    font-weight: 700;
  }
}
.footer__link__item a[target=_blank] span {
  position: relative;
  display: inline-block;
}
.footer__link__item a[target=_blank] span::after {
  content: "";
  position: absolute;
  top: 8px;
  right: -12px;
  display: block;
  width: 10px;
  height: 10px;
  background: url(/common/images/common/icon_blank.svg) center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .footer__link__item a[target=_blank] span::after {
    width: 12px;
    height: 12px;
    right: -16px;
  }
}
.footer__link__item a:hover {
  opacity: 0.7;
}

.footer__copyright {
  display: block;
  padding: 23px 0;
  font-size: 1rem;
  color: #cccccc;
  line-height: 1.5;
  text-align: center;
  background-color: var(--color-black);
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    padding: 23px 0;
    font-size: 0.9rem;
    letter-spacing: 0 !important;
  }
}

.footer__pagetop {
  position: absolute;
  top: -40px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer__pagetop {
    top: -35px;
  }
}

.footer__pagetop__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  max-width: 1166px;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: auto;
  margin-left: auto;
  padding-right: 3%;
  padding-left: 3%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .footer__pagetop__inner {
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}

/* page
----------------------------------------------- */
/* pg-result
----------------------------------------------- */
.pg-result {
  padding-top: 40px;
}
.pg-result .tourSliderArea {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .pg-result .tourSliderArea {
    margin-top: 40px;
  }
}
.pg-result .st-attentionBox {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .pg-result .st-attentionBox {
    margin-top: -20px;
  }
}

/* pg-detail
----------------------------------------------- */
.pg-detail {
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .pg-detail {
    padding-top: 15px;
  }
}

/* pg-application
----------------------------------------------- */
@media screen and (min-width: 769px) {
  .pg-application .t-form__notes {
    margin-top: -20px;
  }
}
.pg-application .applicationDetail {
  margin-bottom: 40px;
}
.pg-applicationConfirm .t-form__agreement {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .pg-applicationConfirm .t-form__agreement {
    margin-top: -10px;
  }
}

/* pg-reserve
----------------------------------------------- */
.pg-reserveComplete .applicationDetail__headWrap,
.pg-reserve .applicationDetail__headWrap {
  padding-bottom: 0;
  margin-bottom: 20px;
  border-bottom: none;
}
@media screen and (min-width: 769px) {
  .pg-reserveComplete .st-attentionBox,
  .pg-reserve .st-attentionBox {
    max-width: calc(100% - 60px);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 768px) {
  .pg-reserveComplete .st-attentionBox,
  .pg-reserve .st-attentionBox {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 769px) {
  .pg-reserveComplete .t-form__headTxt {
    margin-bottom: 40px;
  }
}
.pg-reserveComplete .freeArea {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .pg-reserveComplete .freeArea {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  .pg-reserveComplete .attentionBoxList {
    margin-bottom: 20px;
  }
}

/* pg-passwordReminder
----------------------------------------------- */
@media screen and (max-width: 768px) {
  .pg-passwordReminder .ttlBar {
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .pg-passwordReminder .formItemChangePassword__before .formItem__head {
    display: none;
  }
}

/* template
----------------------------------------------- */
/* /t-form
----------------------------------------------- */
@media screen and (min-width: 769px) {
  .t-form .st-attentionBox {
    max-width: calc(100% - 60px);
    margin-right: auto;
    margin-left: auto;
  }
}

.t-form__headTxt {
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .t-form__headTxt {
    margin-bottom: 20px;
  }
}
.t-form__headTxt span {
  display: inline-block;
}

.t-form__headTxt__strong {
  font-weight: 500;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .t-form__headTxt__strong {
    font-weight: 700;
  }
}

.t-form__secHead {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .t-form__secHead {
    margin-bottom: 25px;
  }
}

.t-form__secTtl {
  font-size: 2.8rem;
  text-align: center;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .t-form__secTtl {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .t-form__secTtl {
    font-size: 2.2rem;
  }
}
.t-form__secTtl span {
  display: inline-block;
}

.t-form__secTxt {
  margin-top: 15px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .t-form__secTxt {
    margin-top: 10px;
  }
}
.t-form__secTxt span {
  display: inline-block;
}

.t-form__notes {
  padding: 15px 20px;
  margin-bottom: 40px;
  font-weight: 500;
  color: var(--color-red);
  border-radius: 5px;
  border: solid 1px var(--color-red);
}
@media screen and (max-width: 768px) {
  .t-form__notes {
    font-weight: 700;
  }
}
@media screen and (min-width: 769px) {
  .t-form__notes {
    max-width: calc(100% - 60px);
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .t-form__notes {
    margin-bottom: 30px;
  }
}

.t-form__resetPasswordList {
  max-inline-size: -webkit-max-content;
  max-inline-size: -moz-max-content;
  max-inline-size: max-content;
  margin-inline: auto;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .t-form__resetPasswordList {
    margin-bottom: 20px;
  }
}
.t-form__resetPasswordList .st-ttl {
  margin-bottom: 20px;
}
.t-form__resetPasswordList .st-listNumber {
  margin-bottom: 0;
}

.t-form__resetPasswordMsg {
  text-align: center;
  margin-top: -20px;
  margin-bottom: 30px;
}
.t-form__resetPasswordMsg strong {
  display: block;
  margin-top: 10px;
  font-weight: 500;
  font-size: 1.8rem;
  color: var(--color-red);
}
@media screen and (max-width: 768px) {
  .t-form__resetPasswordMsg strong {
    font-weight: 700;
  }
}

.t-form__agreement {
  margin-top: 100px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .t-form__agreement {
    margin-top: 60px;
  }
}
.t-form__agreement > p {
  margin-bottom: 15px;
}

.t-form__agreement__head {
  margin-bottom: 10px;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .t-form__agreement__head {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .t-form__agreement__head {
    font-size: 2.2rem;
  }
}
.t-form__agreement__head span {
  display: inline-block;
  line-height: inherit;
}

.t-form__agreement__link a {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .t-form__agreement__link a {
    font-weight: 700;
  }
}

.t-form__agreement__txt span {
  display: inline-block;
  line-height: inherit;
}

.t-form__check {
  position: relative;
}
.t-form__check dt {
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .t-form__check dt {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .t-form__check dt {
    font-size: 1.8rem;
  }
}
.t-form__check .subBtn--plus {
  position: absolute;
  right: 20px;
  top: 8px;
}
@media screen and (max-width: 768px) {
  .t-form__check .subBtn--plus {
    right: 0;
    top: -3px;
  }
}
@media screen and (max-width: 400px) {
  .t-form__check .subBtn--plus {
    top: 35px;
  }
}
@media screen and (max-width: 768px) {
  .t-form__check .subBtn--plus a,
  .t-form__check .subBtn--plus button {
    padding-top: 9px;
    padding-bottom: 9px;
    padding-left: 14px;
    padding-right: 12px;
  }
}
.t-form__check .subBtn--plus a span,
.t-form__check .subBtn--plus button span {
  display: inline-block;
  width: 4em;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .t-form__check .subBtn--plus a::after,
  .t-form__check .subBtn--plus button::after {
    right: 9px;
  }
}

.t-form__check__conf {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .t-form__check__conf {
    margin-top: 20px;
  }
}
.t-form__check__conf label {
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .t-form__check__conf label {
    font-weight: 700;
  }
}

@media screen and (max-width: 400px) {
  .t-form__check__ttl {
    padding-bottom: 40px;
  }
}

.t-form__check__content {
  padding: 30px 40px;
  background: #fff;
  border: solid 1px var(--border-color);
  overflow: auto;
  border-radius: 3px;
}
@media screen and (max-width: 768px) {
  .t-form__check__content {
    padding: 20px 20px 30px;
  }
}

.t-form__check--terms .t-form__check__content {
  height: 260px;
  text-align: left;
  -webkit-transition: ease height 0.5s;
  transition: ease height 0.5s;
}
@media screen and (max-width: 768px) {
  .t-form__check--terms .t-form__check__content {
    height: 200px;
  }
}

.t-form__check--policy {
  margin: 60px 0;
  padding-bottom: 60px;
  border-bottom: solid 1px var(--border-color);
}
@media screen and (max-width: 768px) {
  .t-form__check--policy {
    margin: 40px 0;
    padding-bottom: 40px;
  }
}
.t-form__check--policy .t-form__check__content p:first-child {
  margin-bottom: 10px;
}
.t-form__check--policy .t-form__check__content p span {
  display: inline-block;
}

.t-form__agreement__notes {
  text-align: center;
  margin-bottom: 25px !important;
  font-weight: 500;
  font-size: 1.8rem;
  color: var(--color-red);
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .t-form__agreement__notes {
    font-weight: 700;
  }
}
.t-form__agreement__notes span {
  display: inline-block;
}

/* utility
----------------------------------------------- */
.u-inlineBlock {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
}

.u-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-sp {
    display: block;
  }
}

.u-en {
  font-family: "Sono", sans-serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .u-en {
    letter-spacing: 0.05em;
  }
}

.u-txtCap {
  padding-left: 1em;
  text-indent: -1em;
}

.u-font {
  text-align: justify;
}

.u-font--lg {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .u-font--lg {
    font-size: 1.4rem;
  }
}

.u-font--md {
  font-size: 1.6rem;
}

.u-normal {
  font-weight: 500;
}

.u-bold {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .u-bold {
    font-weight: 700;
  }
}

.u-attention {
  color: var(--color-attention);
}

.u-nowrap {
  white-space: nowrap;
}

.u-excerpt1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.u-excerpt2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.u-excerpt3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.u-mgMiddle {
  margin: var(--mg-md) 0;
}

.u-mgtMiddle {
  margin-top: var(--mg-md);
}

.u-mgbMiddle {
  margin-bottom: var(--mg-md);
}

.u-mgbSection {
  margin-bottom: var(--mgb--section);
}

/* pg-comparison
----------------------------------------------- */
.pg-comparison {
  padding-top: 40px;
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .pg-comparison {
    padding-top: 15px;
    padding-bottom: 50px;
  }
}

.c-comparison .btn a {
  padding-left: 40px;
  padding-right: 40px;
}
.c-comparison .allDeleteBtn__Area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 10px 0;
}
.c-comparison .allDeleteBtn__Area .subBtn--sm button,
.c-comparison .allDeleteBtn__Area .subBtn--sm a {
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .c-comparison .allDeleteBtn__Area .subBtn--sm button,
  .c-comparison .allDeleteBtn__Area .subBtn--sm a {
    margin-left: 10px;
    padding: 9px 20px;
  }
}
.c-comparison .allDeleteBtn__Area .subBtn--sm button {
  width: auto;
}
.c-comparison__Leadstl {
  text-align: center;
  margin-bottom: 30px;
  font-size: 2.2rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-comparison__Leadstl {
    font-size: 1.8rem;
  }
}
.c-comparison__LeadText {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
}
.c-comparison__list td {
  background-color: #FFF;
}
.c-comparison__list thead tr:nth-child(odd) td, .c-comparison__list tfoot tr:nth-child(odd) td {
  background: #EFF3F3;
}
.c-comparison__list tbody tr:nth-child(even) td {
  background: #EFF3F3;
}
.c-comparison__list thead tr:first-child td {
  height: 60px;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .c-comparison__list thead tr:first-child td {
    padding: 0 10px;
  }
}
.c-comparison__head td {
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-comparison__head td {
    font-size: 1.4rem;
  }
}
.c-comparison__tables {
  padding-left: 200px;
  position: relative;
  margin-bottom: 70px;
  /** 共通部分調整 */
}
@media screen and (max-width: 768px) {
  .c-comparison__tables {
    padding-left: 80px;
  }
}
.c-comparison__tables > table {
  border-collapse: collapse;
  width: 201px;
  position: absolute;
  top: 20px;
  left: 0;
  z-index: 999;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables > table {
    width: 81px;
  }
}
.c-comparison__tables > table td {
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables > table td {
    padding: 15px 0px;
    line-height: 1.5;
  }
}
.c-comparison__tables td {
  border: solid 1px #E1E1E1;
  height: 105px;
  padding: 20px;
  text-align: center;
}
.c-comparison__tables td.--small {
  padding: 20px 5px;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables td.--small {
    padding: 15px 0px;
  }
}
@media screen and (max-width: 768px) {
  .c-comparison__tables td {
    padding: 15px 10px;
    font-size: 1.5rem;
  }
}
.c-comparison__tables .--scroll {
  overflow-x: auto;
  position: relative;
}
.c-comparison__tables .--scroll table {
  table-layout: fixed;
}
.c-comparison__tables .--scroll table td {
  width: 300px !important;
  min-width: 300px !important;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .--scroll table td {
    width: 180px !important;
    min-width: 180px !important;
  }
}
.c-comparison__tables .btnRow td {
  height: 115px;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .btnRow td {
    height: 115px;
  }
}
.c-comparison__tables .imageRow td {
  height: 220px;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .imageRow td {
    height: 155px;
  }
}
.c-comparison__tables .itineraryRow td,
.c-comparison__tables .toursRow td {
  height: 210px;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .itineraryRow td,
  .c-comparison__tables .toursRow td {
    height: 190px;
  }
}
.c-comparison__tables .hereBtn {
  position: absolute;
  bottom: 10px;
  left: 50%;
  width: 100%;
  max-width: 160px;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .hereBtn {
    max-width: 65px;
  }
}
.c-comparison__tables .hereBtn button {
  position: relative;
  display: block;
  text-align: center;
  font-weight: 500;
  background-color: #fff;
  line-height: 1.5;
  border-radius: 5px;
  font-size: 1.4rem;
  border: solid 1px var(--border-color);
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .hereBtn button {
    font-size: 1.2rem;
  }
}
.c-comparison__tables .hereBtn button::after {
  position: absolute;
  display: block;
  margin: auto;
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .hereBtn button::after {
    max-width: 150px;
  }
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .reloadBtn {
    bottom: 5px;
  }
}
.c-comparison__tables .reloadBtn button {
  padding: 9px 20px 9px 40px;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .reloadBtn button {
    padding: 25px 5px 5px 5px;
  }
}
.c-comparison__tables .reloadBtn button::after {
  content: url(/common/images/common/icon_table_reload.svg);
  width: 17px;
  height: 17px;
  top: 0;
  bottom: 0;
  left: 10px;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .reloadBtn button::after {
    top: 5px;
    left: 50%;
    bottom: auto;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.c-comparison__tables .reloadBtn button em {
  font-style: normal;
}
.c-comparison__tables .reloadBtn button span:nth-child(2) {
  display: none;
}
.c-comparison__tables .openBtn button {
  padding: 9px 20px;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .openBtn button {
    padding: 30px 5px 5px 5px;
  }
}
.c-comparison__tables .openBtn button::after {
  content: url(/common/images/common/icon_more-plus2.svg);
  width: 14px;
  height: 14px;
  top: 0;
  bottom: 0;
  right: 13px;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .openBtn button::after {
    top: 10px;
    left: 50%;
    right: auto;
    bottom: auto;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.c-comparison__tables .openBtn button span:nth-child(2) {
  display: none;
}
.c-comparison__tables .is-open button::after {
  content: url(/common/images/common/icon_more-minus.svg);
}
.c-comparison__tables .is-open button span:nth-child(1) {
  display: none;
}
.c-comparison__tables .is-open button span:nth-child(2) {
  display: block;
}
.c-comparison__tables .c-comparison__head .--control {
  margin-top: 0px;
}
.c-comparison__tables .--control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin-top: 5px;
}
.c-comparison__tables .--control span {
  cursor: pointer;
  display: inline-block;
}
.c-comparison__tables .--control span img {
  width: 30px;
  height: auto;
}
.c-comparison__tables .--control span:first-child {
  margin-right: 5px;
}
.c-comparison__tables .--control span:hover {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  opacity: 0.7;
}
.c-comparison__tables .--control span.del {
  position: absolute;
  right: 5px;
}
.c-comparison__tables .--control span.invalid {
  opacity: 0.3;
  cursor: default;
}
.c-comparison__tables tbody tr:first-child .--control .up {
  opacity: 0.3;
  cursor: default;
}
.c-comparison__tables tbody tr:last-child .--control .down {
  opacity: 0.3;
  cursor: default;
}
.c-comparison__tables .c-comparison__head td:first-child .--control .left {
  opacity: 0.3;
  cursor: default;
}
.c-comparison__tables .c-comparison__head td:last-child .--control .right {
  opacity: 0.3;
  cursor: default;
}
.c-comparison__tables .--scrollbar {
  width: 100%;
  height: 20px;
  overflow-x: auto;
  overflow-y: hidden;
}
.c-comparison__tables .--scrollbar .inner {
  height: 1px;
}
.c-comparison__tables .datePictList dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
  text-align: left;
}
.c-comparison__tables .datePictList dl dt {
  margin: 0 10px 0px 0;
}
.c-comparison__tables .datePictList dl:first-child {
  margin-top: 0px;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .datePictList dl dd {
    font-size: 1.3rem;
  }
}
.c-comparison__tables .is-open .itineraryPictList {
  height: auto;
}
.c-comparison__tables .itineraryPictList {
  height: 200px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .itineraryPictList {
    height: 170px;
  }
}
.c-comparison__tables .itineraryPictList dl {
  margin-top: 20px;
  text-align: left;
}
.c-comparison__tables .itineraryPictList dl dt {
  margin-bottom: 10px;
}
.c-comparison__tables .itineraryPictList dl:first-child {
  margin-top: 0px;
}
.c-comparison__tables .datePict {
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 500;
  color: #fff;
  line-height: 30px;
  border-radius: 3px;
  min-width: 60px;
  text-align: center;
  background-color: var(--color-green);
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .datePict {
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .datePict {
    min-width: 55px;
    line-height: 35px;
  }
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .btn a, .c-comparison__tables .subBtn button {
    font-size: 1.5rem;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 1.3;
  }
}
.c-comparison__tables .cstTtlHead {
  margin-bottom: 0px;
}
.c-comparison__tables .cstTtlHead .cstTtlSub {
  font-size: 1.4rem;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .cstTtlHead .cstTtlSub {
    font-size: 1.5rem;
  }
}
.c-comparison__tables .cstTtlHead .cstTtlMain {
  font-size: 1.6rem;
  font-weight: 700;
  -webkit-line-clamp: 4;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .cstTtlHead .cstTtlMain {
    font-size: 1.5rem;
  }
}
.c-comparison__tables .cstTtlHead .cstTtlSub2 {
  display: none;
  font-size: 1.4rem;
}
.c-comparison__tables .is-open .cstTtlSub {
  -webkit-line-clamp: 10;
}
.c-comparison__tables .is-open .cstTtlMain {
  -webkit-line-clamp: 10;
}
.c-comparison__tables .is-open .cstTtlSub2 {
  display: block;
}
.c-comparison__tables .cassette__sliderArea {
  float: none;
  width: 260px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .cassette__sliderArea {
    width: 140px;
  }
}
.c-comparison__tables .cassette__sliderArea .cstSlider {
  margin-bottom: 0;
}
.c-comparison__tables .cstPriceList {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.c-comparison__tables .cstPriceList li:nth-child(2) {
  margin-top: 20px;
}
.c-comparison__tables .cstPriceList .cstPriceItem {
  width: 100%;
  padding: 0;
  border-right: none;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .cstPriceList .cstPriceItem .iconClub {
    width: 100%;
    font-size: 1.2rem;
    padding-right: 5px;
    padding-left: 5px;
  }
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .cstPriceList .cstPriceItem .iconGeneral {
    width: 100%;
    font-size: 1.2rem;
  }
}
.c-comparison__tables .cstPriceList .cstPriceAmount {
  font-size: 2.7rem;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .cstPriceList .cstPriceAmount {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .cstPriceList .cstPriceAmount span {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .cstPriceList .cstPriceAmount .cstPriceAmount__mark {
    font-size: 1.3rem;
  }
}
.c-comparison__tables .itineraryMealList .itineraryMeal {
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .itineraryMealList .itineraryMeal {
    margin-right: 15px;
    padding-top: 20px;
    position: relative;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .c-comparison__tables .itineraryMealList .itineraryMeal::before {
    position: absolute;
    top: 0;
    width: 20px;
    height: 20px;
  }
}
.c-comparison__tables .itineraryMealList li:last-child {
  margin-right: 0px;
}

/* pg-magazine
----------------------------------------------- */
.pg-magazine .formGroup {
  max-width: 800px;
}
.pg-magazine .formGroup .formItem:first-child {
  border-top: 1px solid var(--border-color);
}
.pg-magazine .formGroup .formItem__head {
  width: 34%;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .pg-magazine .formGroup .formItem__head {
    width: 100%;
    padding-right: 0;
  }
}
.pg-magazine .formGroup .formItemMagKinds {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.pg-magazine .formGroup .formItemMagKinds .formItem__head {
  padding-top: 15px;
}
@media screen and (max-width: 768px) {
  .pg-magazine .formGroup .formItemMagKinds .formItem__head {
    padding-top: 0px;
  }
}
.pg-magazine .formGroup .formItem__ttl {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.pg-magazine .t-form__agreement {
  margin-top: 50px;
}
.pg-magazine__confirm .formItem {
  padding-right: 0;
}
.pg-magazine__confirm .formCheckList {
  padding-left: 1em;
  list-style-type: disc;
}

/* comparisonModal
----------------------------------------------- */
.comparisonModalContent {
  max-width: 1025px;
  max-height: 90vh;
}

.comparisonModalContent__inner {
  padding: 50px min(6vw, 80px);
  text-align: left;
}
@media screen and (max-width: 768px) {
  .comparisonModalContent__inner {
    padding: 16vw 5.3333333333vw;
  }
} /* pg-reserveAuth
----------------------------------------------- */
.pg-reserveAuth .t-form__headTxt {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .pg-reserveAuth .t-form__headTxt {
    margin-bottom: 20px;
  }
}
.pg-reserveAuth .formItem__head {
  width: 27%;
}
@media screen and (max-width: 768px) {
  .pg-reserveAuth .formItem__head {
    width: 100%;
  }
}
.pg-reserveAuth .formItemContactNumber {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.pg-reserveAuth .formItemContactNumber .formItem__head {
  padding-top: 15px;
}
@media screen and (max-width: 768px) {
  .pg-reserveAuth .formItemContactNumber .formItem__head {
    padding-top: 0px;
  }
}
.pg-reserveAuth .reserveAuth__btnArea {
  text-align: center;
}
.pg-reserveAuth .reserveAuth__btnArea .btn {
  margin: 0 auto;
}
.pg-reserveAuth .reserveAuth__btnArea .back__txtLink {
  margin-top: 30px;
}
.pg-reserveAuth .reserveAuth__btnArea .back__txtLink a {
  position: relative;
  display: inline-block;
  padding-left: 25px;
}
.pg-reserveAuth .reserveAuth__btnArea .back__txtLink a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 19px;
  height: 19px;
  margin: auto;
  background: url(/common/images/common/icon_arr.svg) center center no-repeat;
  background-size: cover;
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

/* msgModal
----------------------------------------------- */
@media screen and (max-width: 768px) {
  .msgModal .modalArea {
    background: none !important;
  }
}
.msgModal .modalArea__content {
  border-radius: 5px;
}

.msgModalContent {
  max-width: 480px;
  width: 100%;
  max-height: 100vh;
  border-radius: 5px;
  max-height: 60vh;
  background-color: var(--color-base);
  -webkit-box-shadow: 0px 50px 50px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 50px 50px rgba(0, 0, 0, 0.16);
  overflow-y: auto;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .msgModalContent {
    margin: 0 auto;
    max-height: 90vh;
  }
}

.msgModalContent__inner {
  padding: 40px;
  text-align: center;
  width: 460px;
}
@media screen and (max-width: 768px) {
  .msgModalContent__inner {
    padding: 30px 20px;
    width: 100%;
  }
}

.msgModalContent__ttl {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .msgModalContent__ttl {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }
}

.msgModal__btnArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 30px auto 0;
}
.msgModal__btnArea.reserveBtn--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .msgModal__btnArea {
    margin-top: 20px;
    max-width: 350px;
  }
}
.msgModal__btnArea a, .msgModal__btnArea button {
  width: 180px;
}
@media screen and (max-width: 768px) {
  .msgModal__btnArea a, .msgModal__btnArea button {
    width: 150px;
    padding: 10px 0;
  }
}

.msgWideContent .msgModalContent {
  max-width: 650px;
}
.msgWideContent .msgModalContent__inner {
  width: 650px;
}
@media screen and (max-width: 768px) {
  .msgWideContent .msgModalContent__inner {
    width: 100%;
  }
}
.msgWideContent .msgModal__btnArea {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

/* pg-mypageList
----------------------------------------------- */
.pg-mypageList {
  max-width: 1050px;
}
.pg-mypageList__Leadstl {
  text-align: center;
  margin-bottom: 30px;
  font-size: 2.2rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .pg-mypageList__Leadstl {
    font-size: 1.8rem;
  }
}
.pg-mypageList__Lead {
  text-align: center;
  margin-bottom: 60px;
  font-size: 1.7rem;
}
@media screen and (max-width: 768px) {
  .pg-mypageList__Lead {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }
}
.pg-mypageList .mypageList__btnArea {
  text-align: center;
}
.pg-mypageList .noticeLead {
  text-align: center;
  margin-top: -30px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .noticeLead {
    margin-top: -10px;
  }
}
.pg-mypageList .companionItem {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 28px 20px 20px;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .companionItem {
    padding: 10px 5px;
  }
}
.pg-mypageList .companionItem .deleteBtn {
  top: -8px;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .companionItem .deleteBtn {
    top: -2px;
  }
}
@media screen and (max-width: 768px) {
  .pg-mypageList .companionList {
    margin-bottom: 0;
  }
}
.pg-mypageList .companionItem__info {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .companionItem__info {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: 0;
  }
}
.pg-mypageList .companionItem__info dt {
  width: 140px;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .companionItem__info dt {
    width: 100%;
  }
}
.pg-mypageList .companionItem__info dd:nth-last-child(2) {
  width: 60px;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .companionItem__info dd:nth-last-child(2) {
    width: 100%;
  }
}
.pg-mypageList .companionItem__info dd:nth-last-child(1) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .companionItem__info dd {
    margin-top: 5px;
  }
}
.pg-mypageList .companionItem__info .st-txtLink {
  font-weight: bold;
}
.pg-mypageList .companionItem__info .st-txtLink:hover {
  color: var(--color-green);
}
.pg-mypageList .keywordLead {
  text-align: center;
  margin-bottom: 40px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .keywordLead {
    margin-bottom: 30px;
  }
}
.pg-mypageList .keywordListBlock--word {
  position: relative;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .keywordListBlock--word {
    margin-bottom: 30px;
  }
}
.pg-mypageList .keywordListBlock--word .tourSearchItem.is-active {
  border-bottom: 1px solid #eff0eb;
}
.pg-mypageList .keywordListBlock--word .wordList {
  display: none;
  position: absolute;
  width: 100%;
  z-index: 99;
}
.pg-mypageList .btn--keywordAddBtn {
  position: absolute;
  right: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: none;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .btn--keywordAddBtn {
    right: 5px;
  }
}
.pg-mypageList .btn--keywordAddBtn button {
  padding: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .btn--keywordAddBtn button {
    padding: 10px 0;
  }
}
.pg-mypageList .btn--keywordAddBtn button::before {
  content: "　";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 16px;
  height: 16px;
  margin: auto;
  background: url(/common/images/common/icon_more-plus-white.svg) center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .pg-mypageList .btn--keywordAddBtn button::before {
    display: none;
  }
}