@charset "UTF-8";
.mt-0 {
  margin-top: 0px;
}

.pt-0 {
  padding-top: 0px;
}

.mb-0 {
  margin-bottom: 0px;
}

.pb-0 {
  padding-bottom: 0px;
}

.ml-0 {
  margin-left: 0px;
}

.pl-0 {
  padding-left: 0px;
}

.mr-0 {
  margin-right: 0px;
}

.pr-0 {
  padding-right: 0px;
}

.m-all-0 {
  margin: 0px;
}

.p-all-0 {
  padding: 0px;
}

.mt-5 {
  margin-top: 5px;
}

.pt-5 {
  padding-top: 5px;
}

.mb-5 {
  margin-bottom: 5px;
}

.pb-5 {
  padding-bottom: 5px;
}

.ml-5 {
  margin-left: 5px;
}

.pl-5 {
  padding-left: 5px;
}

.mr-5 {
  margin-right: 5px;
}

.pr-5 {
  padding-right: 5px;
}

.m-all-5 {
  margin: 5px;
}

.p-all-5 {
  padding: 5px;
}

.mt-10 {
  margin-top: 10px;
}

.pt-10 {
  padding-top: 10px;
}

.mb-10 {
  margin-bottom: 10px;
}

.pb-10 {
  padding-bottom: 10px;
}

.ml-10 {
  margin-left: 10px;
}

.pl-10 {
  padding-left: 10px;
}

.mr-10 {
  margin-right: 10px;
}

.pr-10 {
  padding-right: 10px;
}

.m-all-10 {
  margin: 10px;
}

.p-all-10 {
  padding: 10px;
}

.mt-15 {
  margin-top: 15px;
}

.pt-15 {
  padding-top: 15px;
}

.mb-15 {
  margin-bottom: 15px;
}

.pb-15 {
  padding-bottom: 15px;
}

.ml-15 {
  margin-left: 15px;
}

.pl-15 {
  padding-left: 15px;
}

.mr-15 {
  margin-right: 15px;
}

.pr-15 {
  padding-right: 15px;
}

.m-all-15 {
  margin: 15px;
}

.p-all-15 {
  padding: 15px;
}

.mt-20 {
  margin-top: 20px;
}

.pt-20 {
  padding-top: 20px;
}

.mb-20 {
  margin-bottom: 20px;
}

.pb-20 {
  padding-bottom: 20px;
}

.ml-20 {
  margin-left: 20px;
}

.pl-20 {
  padding-left: 20px;
}

.mr-20 {
  margin-right: 20px;
}

.pr-20 {
  padding-right: 20px;
}

.m-all-20 {
  margin: 20px;
}

.p-all-20 {
  padding: 20px;
}

.mt-30 {
  margin-top: 30px;
}

.pt-30 {
  padding-top: 30px;
}

.mb-30 {
  margin-bottom: 30px;
}

.pb-30 {
  padding-bottom: 30px;
}

.ml-30 {
  margin-left: 30px;
}

.pl-30 {
  padding-left: 30px;
}

.mr-30 {
  margin-right: 30px;
}

.pr-30 {
  padding-right: 30px;
}

.m-all-30 {
  margin: 30px;
}

.p-all-30 {
  padding: 30px;
}

.mt-40 {
  margin-top: 40px;
}

.pt-40 {
  padding-top: 40px;
}

.mb-40 {
  margin-bottom: 40px;
}

.pb-40 {
  padding-bottom: 40px;
}

.ml-40 {
  margin-left: 40px;
}

.pl-40 {
  padding-left: 40px;
}

.mr-40 {
  margin-right: 40px;
}

.pr-40 {
  padding-right: 40px;
}

.m-all-40 {
  margin: 40px;
}

.p-all-40 {
  padding: 40px;
}

.mt-50 {
  margin-top: 50px;
}

.pt-50 {
  padding-top: 50px;
}

.mb-50 {
  margin-bottom: 50px;
}

.pb-50 {
  padding-bottom: 50px;
}

.ml-50 {
  margin-left: 50px;
}

.pl-50 {
  padding-left: 50px;
}

.mr-50 {
  margin-right: 50px;
}

.pr-50 {
  padding-right: 50px;
}

.m-all-50 {
  margin: 50px;
}

.p-all-50 {
  padding: 50px;
}

.fs-smll {
  font-size: 12px;
}

.ml-0 {
  margin-left: 0 !important;
}

.mb-0 {
  margin-bottom: 0;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-m30 {
  margin-top: -30px;
}

.mt-m20 {
  margin-top: -20px;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.fs10 {
  font-size: 10px !important;
}

.fs11 {
  font-size: 11px !important;
}

.fs12 {
  font-size: 12px !important;
}

.fs13 {
  font-size: 13px !important;
}

.fs14 {
  font-size: 14px !important;
}

.fs15 {
  font-size: 15px !important;
}

.fs16 {
  font-size: 16px !important;
}

.fs18 {
  font-size: 18px !important;
}

.fs22 {
  font-size: 22px !important;
}

.fw-bold {
  font-weight: bold !important;
}

.fw-normal {
  font-weight: normal !important;
}

.ta-center {
  text-align: center !important;
}

.ta-right {
  text-align: right !important;
}

.va-center {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  margin-top: -50px;
}

.fc-grey {
  color: #717171;
}

.fc-base {
  color: #FF0211;
}

.fc-pink {
  color: #ff2557;
}

.fc-blue {
  color: #4191e8;
}

.fc-error {
  color: #b24025;
}

.fc-dgrey {
  color: #333;
}

.d-inblock {
  display: inline-block;
}

.d-block {
  display: block;
}

.brdr {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 15px;
}

.brdr-top {
  border-top: 1px solid #ddd;
  padding-top: 15px;
}

.brdr-back {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 15px;
  background-color: #f7f7f7;
}

.brdr-none {
  border: none !important;
}

.va-top {
  vertical-align: top;
}

.accordion {
  position: relative;
  margin-bottom: 40px;
}

.accordion__ttl {
  position: absolute;
  top: 8px;
  right: 30px;
  color: #4191e8;
  font-weight: bold;
}

.accordion__ttl:after {
  content: "";
  position: absolute;
  right: -15px;
  top: 50%;
  transition: all 0.2s ease-in-out;
  display: block;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-top: solid 2px #4191e8;
  border-right: solid 2px #4191e8;
  transform: rotate(-45deg);
}

.accordion__ttl.open:after {
  transform: rotate(135deg);
  top: 45%;
}

.accordion h3 {
  border-bottom: 1px solid #ddd;
  padding-bottom: 10px;
}

.accordion__fcontent {
  padding-top: 50px;
}

.btn-box {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-box.ta-left {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 -10px;
}

.btn {
  display: inline-block;
  font-weight: bold;
  font-size: 16px;
  border-radius: 6px;
  padding: 10px 25px;
  cursor: pointer;
  transition: 0.2s;
  margin: 0 10px;
}

.btn:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
}

.btn.full {
  width: 100%;
  margin: 0 -10px;
}

.btn.half {
  width: 100%;
}

.btn.mid {
  padding: 10px 80px;
}

.btn.xsmll {
  padding: 8px 20px;
  font-size: 14px;
}

.btn__bk {
  background-color: #231815;
  border: 1px solid #231815;
  color: #fff;
}

.btn__submit {
  background-color: #FF0211;
  border: 1px solid #FF0211;
  color: #fff;
}

.btn__wh {
  background-color: #fff;
  border: 1px solid #FF0211;
  color: #FF0211;
}

.btn__bl {
  background-color: #fff;
  border: 1px solid #4191e8;
  color: #4191e8;
}

.btn__orng {
  background-color: #ff9219;
  border: 1px solid #ff9219;
  color: #fff;
}

.btn__back {
  background-color: #b0b0b0;
  border: 1px solid #b0b0b0;
  color: #fff;
}

.btn__back:hover {
  color: #fff;
}

.btn__minus {
  position: relative;
  width: 30px;
  height: 30px;
  border: 1px solid #b0b0b0;
  border-radius: 50%;
}

.btn__minus:before {
  position: absolute;
  top: 13px;
  left: 50%;
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  border-top: 2px solid #717171;
  transform: translateX(-50%);
}

.btn__minus.disable {
  opacity: 0.4;
  cursor: default;
}

.btn__plus {
  position: relative;
  width: 30px;
  height: 30px;
  border: 1px solid #b0b0b0;
  border-radius: 50%;
}

.btn__plus:before {
  position: absolute;
  top: 13px;
  left: 50%;
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  border-top: 2px solid #717171;
  transform: translateX(-50%);
}

.btn__plus:after {
  position: absolute;
  top: 7px;
  left: 2px;
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  border-top: 2px solid #717171;
  transform: translateX(-50%);
  transform: rotate(90deg);
}

.btn__plus.disable {
  opacity: 0.4;
  cursor: default;
}

.btn__clear {
  text-decoration: underline;
  font-weight: bold;
  font-size: 12px;
}

.btn-del {
  display: inline-block;
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #000;
  margin-left: 5px;
  cursor: pointer;
}

.btn-del:before, .btn-del:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 9px;
  background: #fff;
}

.btn-del:before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.btn-del:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.btn-upload {
  background-color: #f5f5f5;
  border-radius: 5px;
  display: block;
  width: 100%;
  padding: 35px 0;
  transition: all 0.3s;
}

.btn-upload img {
  width: 40px;
  height: auto;
}

.btn-upload:hover {
  opacity: 0.7;
}

.arrow-up {
  position: relative;
  display: inline-block;
  padding: 15px;
}

.arrow-up:before {
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 2px #231815;
  border-right: solid 2px #231815;
  position: absolute;
  left: 11px;
  top: 13px;
  transform: rotate(-45deg);
}

.arrow-down {
  position: relative;
  display: inline-block;
  padding: 15px;
}

.arrow-down:before {
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 2px #231815;
  border-right: solid 2px #231815;
  position: absolute;
  left: 11px;
  top: 10px;
  transform: rotate(135deg);
}

.calendar {
  position: relative;
  text-align: center;
}

.lightpick__day.saleday {
  background-color: #ff2557;
  border-radius: 50%;
  color: #fff;
}

.footer {
  background-color: #f5f5f5;
  width: 100%;
  border-top: 1px solid #ddd;
  padding: 55px 0 0 0;
  font-size: 13px;
  margin-top: 80px;
}

.footer .inner {
  position: relative;
}

.footer section {
  border-bottom: 1px solid #ddd;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.footer section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  font-size: 12px;
}

.footer section h4 {
  font-size: 12px;
  margin-bottom: 10px;
}

.footer section a {
  color: #000;
}

.footer section a:hover {
  text-decoration: underline;
}

.footer section.row {
  flex-direction: row-reverse;
}

.footer__category {
  display: block;
}

.footer__category li {
  margin-right: 0;
  margin-bottom: 10px;
}

.footer__category li span {
  font-weight: bold;
  position: relative;
  padding-right: 10px;
  margin-right: 5px;
  display: inline-block;
}

.footer__category li span:after {
  position: absolute;
  top: auto;
  right: 0;
  bottom: auto;
  left: auto;
  content: "|";
  color: #000;
}

.footer__category--sub {
  display: inline-block;
}

.footer__category--sub a {
  margin: 0 2px;
  display: inline-block;
}

.footer__corp {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.footer__corp li {
  margin-right: 20px;
}

.footer__sns {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.footer__sns li {
  margin-right: 0;
  margin-left: 10px;
}

.footer__sns li a {
  display: block;
  width: 30px;
  height: 30px;
}

.footer__sns li a.sns-tw {
  background: url("/assets/img/icn_tw_foot.png") no-repeat 0 0;
  background-size: 30px 30px;
}

.footer__sns li a.sns-x {
  background: url("/assets/img/icn_x_foot.png") no-repeat 0 0;
  background-size: 30px 30px;
}

.footer__sns li a.sns-fb {
  background: url("/assets/img/icn_fb_foot.png") no-repeat 0 0;
  background-size: 30px 30px;
}

.footer__sns li a.sns-insta {
  background: url("/assets/img/icn_insta_foot.png") no-repeat 0 0;
  background-size: 30px 30px;
}

.footer__sns li a.sns-line {
  background: url("/assets/img/icn_line_foot.png") no-repeat 0 0;
  background-size: 30px 30px;
}

.footer__copyright {
  position: absolute;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.page-top {
  position: fixed;
  top: auto;
  right: 20px;
  bottom: 20px;
  left: auto;
  width: 60px;
  height: 60px;
  display: block;
  z-index: 100;
}

.page-top a {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #231815 url("/assets/img/icn_history.png") no-repeat center 8px;
  background-size: auto 18px;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  padding-top: 30px;
}

.currency-yen {
  position: fixed;
  top: auto;
  right: auto;
  bottom: 20px;
  left: 20px;
  width: 60px;
  height: 60px;
  display: block;
  z-index: 200;
}

.currency-yen label input {
  display: none;
}

.currency-yen label p {
  display: block;
  width: 60px;
  height: 60px;
  text-align: center;
  line-height: 14px;
  border-radius: 50%;
  background: #ccc url(/assets/img/icn_yen.png) no-repeat center 8px;
  background-size: auto 13px;
  color: #fff;
  font-size: 12px;
  padding-top: 25px;
}

.currency-yen label p span {
  display: block;
}

.currency-yen label p span:before {
  content: 'OFF';
}

.currency-yen label input:checked + p {
  background-color: #FF0211;
  color: #fff;
}

.currency-yen label input:checked + p span:before {
  content: 'ON';
}

.form label {
  display: block;
  color: #717171;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 10px;
  cursor: default;
}

.form label span {
  color: #e60012;
}

.form li {
  border-bottom: 1px solid #ddd;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.form li:last-child {
  margin-bottom: 0;
}

.form li p.guidance {
  color: #717171;
  font-size: 13px;
  margin-top: -5px;
  margin-bottom: 5px;
}

.form__text {
  position: relative;
}

.form__text input[type="text"] {
  border: 1px solid #b0b0b0;
  border-radius: 3px;
  background-color: #fff;
  padding: 10px 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.form__text input[type="text"]::-moz-placeholder {
  color: #ccc;
}

.form__text input[type="text"]:-ms-input-placeholder {
  color: #ccc;
}

.form__text input[type="text"]::placeholder {
  color: #ccc;
}

.form__text input[type="text"]:focus {
  border: 1px solid #000;
}

.form__text input[type="text"].w-full {
  width: 100%;
}

.form__text input[type="password"] {
  border: 1px solid #b0b0b0;
  border-radius: 3px;
  background-color: #fff;
  padding: 10px 30px 10px 15px;
  position: relative;
}

.form__text input[type="password"]::-moz-placeholder {
  color: #ccc;
}

.form__text input[type="password"]:-ms-input-placeholder {
  color: #ccc;
}

.form__text input[type="password"]::placeholder {
  color: #ccc;
}

.form__text input[type="password"]:focus {
  border: 1px solid #000;
}

.form__text input[type="password"].w-full {
  width: 100%;
}

.form__text--error {
  color: #b24025;
}

.form__text--error input[type="text"],
.form__text--error input[type="password"] {
  border: 2px solid #b24025;
  background-color: rgba(230, 0, 18, 0.05);
}

.form__text--error input[type="text"]::-moz-placeholder, .form__text--error input[type="password"]::-moz-placeholder {
  color: #b24025;
}

.form__text--error input[type="text"]:-ms-input-placeholder, .form__text--error input[type="password"]:-ms-input-placeholder {
  color: #b24025;
}

.form__text--error input[type="text"]::placeholder,
.form__text--error input[type="password"]::placeholder {
  color: #b24025;
}

.form__text .disable {
  background-color: #eee;
}

.form__text--area::before {
  content: '';
  background: url(/assets/img/icn_map.png) no-repeat center center;
  background-size: auto 20px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 10px;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
  pointer-events: none;
}

.form__text--day::before {
  content: '';
  background: url(/assets/img/icn_calendar.png) no-repeat center center;
  background-size: auto 20px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 10px;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
  pointer-events: none;
}

.form__text--member::before {
  content: '';
  background: url(/assets/img/icn_user.png) no-repeat center center;
  background-size: auto 20px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 10px;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
  pointer-events: none;
}

.form__text--freeword::before {
  content: '';
  background: url(/assets/img/icn_search.png) no-repeat center center;
  background-size: auto 20px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 10px;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
  pointer-events: none;
}

.form__btn {
  text-align: center;
  padding: 20px 0;
}

.form__btn a {
  text-decoration: none;
}

.form__btn ul {
  display: flex;
  justify-content: center;
  align-items: center;
}

.form__btn ul li {
  margin-bottom: 15px;
}

.form__check input {
  display: none;
}

.form__check input:checked + label:before {
  transform: rotate(-45deg) scale(1, 1);
}

.form__check input:checked + label:after {
  border: 1px solid #FF0211;
  background: #FF0211;
}

.form__check label {
  position: relative;
  cursor: pointer;
  display: inline-block;
  font-size: 14px !important;
  font-weight: normal !important;
  color: #000 !important;
  margin-bottom: 0 !important;
  margin-right: 20px;
  padding-left: 27px;
  line-height: 200%;
}

.form__check label.fw-bold {
  font-weight: bold !important;
}

.form__check label:before {
  position: absolute;
  top: 9px;
  right: auto;
  bottom: auto;
  left: 4px;
  z-index: 1;
  width: 9px;
  height: 3px;
  content: '';
  transform: rotate(-45deg) scale(0, 0);
  border: 2px solid #fff;
  border-top-style: none;
  border-right-style: none;
}

.form__check label:after {
  position: absolute;
  top: 4px;
  right: auto;
  bottom: auto;
  left: 0;
  width: 16px;
  height: 16px;
  content: '';
  cursor: pointer;
  border: 1px solid #b0b0b0;
  border-radius: 3px;
  background: #ffffff;
}

.form__check.vertical {
  margin-top: -10px;
}

.form__check.vertical label {
  display: block;
  margin-bottom: 5px !important;
}

.form__check--error p {
  color: #e60012;
}

.form__check--error input:after {
  border: 1px solid #e60012;
}

.form__radio label {
  position: relative;
  padding-left: 23px;
  margin-right: 20px;
  font-size: 14px;
  display: inline-block;
  font-weight: normal !important;
  color: #000 !important;
  margin-bottom: 0 !important;
  cursor: pointer;
}

.form__radio label:before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  right: auto;
  bottom: auto;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #b0b0b0;
  border-radius: 50%;
  background-color: #fff;
}

.form__radio label.fw-bold {
  font-weight: bold !important;
}

.form__radio input:checked + label::before {
  border: 1px solid #FF0211;
  background-color: #FF0211;
}

.form__radio input:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  right: auto;
  bottom: auto;
  left: 5px;
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 50%;
}

.form__radio.vertical {
  margin-top: -10px;
}

.form__radio.vertical label {
  display: block;
  margin-top: -10px;
}

.form__radio--inner {
  margin-top: 10px;
  padding-left: 25px;
  font-size: 15px;
}

.form__radio--inner li {
  border-bottom: none;
  margin-bottom: 10px;
}

.form__radio--inner li:last-child {
  margin-bottom: 0;
  padding-bottom: 10px;
}

.form__radio--inner label {
  padding-left: 0;
  margin-right: 0;
  display: block !important;
  cursor: default !important;
  color: #717171 !important;
}

.form__radio--inner label:before {
  width: 0;
  height: 0;
}

.form__radio--inner a {
  font-weight: bold;
  text-decoration: underline;
}

.form__radio--inner ul.item-detail {
  margin-top: 15px;
}

.form__radio--inner ul.item-detail li {
  margin-bottom: 0;
}

.form__radio--inner ul.item-detail li span {
  font-weight: bold;
  display: block;
  margin-bottom: 5px;
  color: #717171;
}

.form__radio--inner .form__check label {
  font-weight: normal !important;
  color: #000 !important;
  padding-left: 27px;
}

.form__radio--error p {
  color: #e60012;
}

.form__radio--error label:before {
  border: 1px solid #e60012;
}

.form__select {
  position: relative;
  border: 1px solid #b0b0b0;
  border-radius: 3px;
  display: inline-block;
}

.form__select select {
  padding: 8px 38px 8px 10px;
  cursor: pointer;
}

.form__select::before {
  border-bottom: solid 2px #231815;
  border-right: solid 2px #231815;
  content: '';
  position: absolute;
  top: 45%;
  right: 15px;
  bottom: auto;
  left: auto;
  height: 7px;
  width: 7px;
  margin-top: -5px;
  transform: rotate(45deg);
  pointer-events: none;
}

.form__select--error {
  border: 1px solid #e60012;
}

.form__textarea {
  position: relative;
}

.form__textarea textarea {
  border: 1px solid #b0b0b0;
  padding: 10px;
  width: 100%;
  border-radius: 5px;
  font-size: 14px;
}

.form__textarea textarea:focus {
  border: 1px solid #000;
}

.form__textarea--error {
  color: #e60012;
}

.form__textarea--error textarea {
  border: 1px solid #e60012;
}

.form__textarea .txt-limit {
  position: absolute;
  top: 10px;
  right: 5px;
  font-size: 12px;
  color: #717171;
}

.form__cmmt {
  font-size: 12px;
  font-size: 1.2rem;
  color: #666666;
}

.form__error {
  color: #e60012;
  border: 1px solid #e60012;
  margin-bottom: 30px;
  margin-top: -10px;
  padding: 15px 15px 5px 15px;
  background: rgba(230, 0, 18, 0.1);
  font-weight: 500;
}

.form__error li {
  margin-bottom: 10px;
}

.form__file label {
  cursor: pointer;
}

.form__file label img {
  margin-top: 5px;
}

.form__file input[type="file"] {
  display: none;
}

.form__file p {
  margin: 10px 0 0 0;
  display: none;
}

.btn-check {
  font-size: 14px;
  font-weight: normal;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.btn-check input {
  display: none;
}

.btn-check input:checked + label p {
  border: 1px solid #000;
}

.btn-check input:checked + label p span {
  background: #f2f2f2;
  border: 1px solid #000;
}

.btn-check label {
  margin-top: 5px;
  margin-right: 10px;
}

.btn-check label p {
  border: 1px solid #fff;
  border-radius: 20px;
  height: 32px;
  line-height: 30px;
}

.btn-check label p span {
  border: 1px solid #ddd;
  border-radius: 20px;
  display: block;
  height: 30px;
  line-height: 28px;
  padding: 0 15px;
}

.price__slider {
  margin-bottom: 30px;
}

input[type="range"] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  cursor: pointer;
  outline: none;
  background: #e5e5e5;
  height: 3px;
  width: 100%;
  border-radius: 10px;
  margin-bottom: 30px;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  background: url("/assets/img/icn_rangethumb.png") no-repeat 0 0;
  background-size: 24px auto;
}

input[type="range"]::-moz-range-thumb {
  background: #53aeff;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: none;
}

input[type="range"]::-moz-focus-outer {
  border: 0;
}

.filelabel {
  display: inline-block;
  width: 30px;
  height: 30px;
  position: relative;
  background: url("/assets/img/icn_file.png") no-repeat 0 0;
  background-size: auto 28px;
  cursor: pointer;
}

.fileinput {
  display: none;
}

.w-full {
  width: 100%;
}

.w-shrt {
  width: 100px;
}

.br-5 {
  border-top: 5px solid #ddd;
  margin-top: -30px;
}

.br-5.display-sp {
  margin-top: -21px;
}

.br-5.mb-30 {
  margin-top: 0;
}

.icn-finish {
  width: 130px;
  height: 130px;
  background: url("/assets/img/icn_finish.png") no-repeat 0 0;
  background-size: 130px 130px;
  display: block;
  margin: 0 auto;
  margin-bottom: 50px;
}

.card-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: absolute;
  top: 5px;
  right: 0;
  height: 17px;
}

.card-list img {
  height: 17px;
  margin: 0 2px;
}

.card-num {
  display: inline-block;
  min-height: 25px;
  margin-right: 15px;
  padding-left: 50px;
}

.card-num.visa {
  background: url("/assets/img/card_visa.png") no-repeat 0 center;
  background-size: 40px 25px;
}

.card-num.amex {
  background: url("/assets/img/card_amex.png") no-repeat 0 center;
  background-size: 40px 25px;
}

p.err-msg {
  margin-top: 10px;
  color: #b24025;
  font-size: 12px;
  font-weight: bold;
  background: url("/assets/img/icn_caution.png") no-repeat 0 center;
  background-size: 15px auto;
  padding-left: 20px;
}

.mdi-eye:before {
  background: url("/assets/img/icn_eye.png") no-repeat 0 0;
  background-size: contain;
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 3px;
  right: 5px;
}

/*パスワードの表示*/
.mdi-eye-off:before {
  background: url("/assets/img/icn_eye_off.png") no-repeat 0 0;
  background-size: contain;
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 3px;
  right: 5px;
}

.field-icon {
  position: absolute;
  top: 39px;
  right: 10px;
  cursor: pointer;
}

.header {
  position: fixed;
  top: 0;
  right: auto;
  bottom: auto;
  left: auto;
  width: 100%;
  z-index: 200;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
}

.header__logo img {
  width: 165px;
}

.header .inner {
  height: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header .inner h1 img {
  width: 165px;
}

.header .inner #menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.header .inner #menu div {
  position: relative;
}

.header .inner #menu div .badge {
  position: absolute;
  top: 7px;
  right: 3px;
  bottom: auto;
  left: auto;
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #ff2557;
  color: #fff;
  text-align: center;
  font-size: 85%;
  font-weight: bold;
}

.header .inner #menu div p {
  cursor: pointer;
  display: block;
  width: 50px;
  height: 50px;
}

.header .inner #menu div p.selected {
  background-color: #ddd;
}

.header .inner #menu div p:hover {
  background-color: #ddd;
}

.header .inner #menu div p a {
  display: block;
  width: 50px;
  height: 50px;
  text-align: center;
  color: #000;
}

.header .inner #menu div p a.m-search {
  background: url("/assets/img/icn_search.png") no-repeat center center;
  background-size: 17px auto;
}

.header .inner #menu div p a.m-wish {
  background: url("/assets/img/icn_wish.png") no-repeat center center;
  background-size: 20px auto;
}

.header .inner #menu div p a.m-reservation {
  background: url("/assets/img/icn_reservation.png") no-repeat center center;
  background-size: 21px auto;
}

.header .inner #menu div p a.m-mail {
  background: url("/assets/img/icn_email.png") no-repeat center center;
  background-size: 21px auto;
  position: relative;
}

.header .inner #menu div p a.m-user {
  background: url("/assets/img/icn_user.png") no-repeat center center;
  background-size: auto 18px;
}

.header .inner #menu div p a.m-menu {
  background: url("/assets/img/icn_menu.png") no-repeat center center;
  background-size: 18px auto;
}

.header .inner #menu div p a span {
  display: none;
}

.header .inner #menu div .child {
  display: none;
  position: absolute;
  top: 60px;
  margin: 0 auto;
  padding: 30px;
  text-align: center;
  background-color: #fff;
  border-radius: 10px;
  -moz-filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
  -ms-filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
}

.header .inner #menu div .child::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -5px;
  border: 5px solid transparent;
  border-bottom-color: #fff;
}

.header .inner #menu div .child.mc-reservation {
  width: 300px;
  left: -125px;
  font-size: 12px;
}

.header .inner #menu div .child.mc-reservation img {
  width: 44px;
  display: block;
  margin: 0 auto 15px;
}

.header .inner #menu div .child.mc-reservation a {
  border-radius: 50px;
  margin-top: 20px;
}

.header .inner #menu div .child.mc-reservation.empty {
  color: #b0b0b0;
}

.header .inner #menu div .child.mc-reservation.empty img {
  opacity: 0.3;
}

.header .inner #menu div .child.mc-reservation.empty a {
  display: none;
}

.header .inner #menu div .child.mc-mail {
  width: 300px;
  left: -150px;
  font-size: 12px;
}

.header .inner #menu div .child.mc-mail img {
  width: 44px;
  display: block;
  margin: 0 auto 15px;
}

.header .inner #menu div .child.mc-mail a {
  border-radius: 50px;
  margin-top: 20px;
}

.header .inner #menu div .child.mc-mail::before {
  margin-left: 20px;
}

.header .inner #menu div .child.mc-menu {
  width: 470px;
  right: 0;
  font-size: 14px;
}

.header .inner #menu div .child.mc-menu div {
  display: flex;
  align-items: flex-start;
}

.header .inner #menu div .child.mc-menu div ul {
  width: 45%;
}

.header .inner #menu div .child.mc-menu div ul:first-child {
  border-right: 1px solid #ddd;
}

.header .inner #menu div .child.mc-menu div ul:last-child {
  width: 55%;
  padding-left: 30px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.header .inner #menu div .child.mc-menu div ul:last-child li {
  width: 50%;
}

.header .inner #menu div .child.mc-menu div ul li {
  text-align: left;
  margin-bottom: 10px;
}

.header .inner #menu div .child.mc-menu div ul li:first-child {
  font-size: 19px;
  font-weight: bold;
  width: 100%;
  margin-bottom: 15px;
}

.header .inner #menu div .child.mc-menu div ul li a {
  color: #000;
}

.header .inner #menu div .child.mc-menu div ul li a:hover {
  color: #4191e8;
  text-decoration: underline;
}

.header .inner #menu div .child.mc-menu::before {
  margin-left: 205px;
}

.link-img {
  position: relative;
  display: block;
}

.link-img::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.link-img .bar-sale {
  background-color: #ff2557;
  border-top-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding: 3px 8px;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
}

.link-img .video-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 11;
}

.link-img .video-icon:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.4);
  width: 48px;
  height: 48px;
}

.link-img .video-icon:after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 10px 0 10px 18px;
}

.link-img video, .link-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  display: block;
  z-index: 10;
}

.link-img:hover img {
  opacity: 0.8;
}

.link-img:hover .video-icon {
  display: none;
  opacity: 0;
  width: 0;
  height: 0;
}

.link-img-rect {
  position: relative;
  display: block;
}

.link-img-rect video, .link-img-rect img {
  width: 100%;
  height: 220px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  margin-bottom: 10px;
  position: relative;
}

.link-img-rect .video-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 11;
}

.link-img-rect .video-icon:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.4);
  width: 48px;
  height: 48px;
}

.link-img-rect .video-icon:after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 10px 0 10px 18px;
}

.link-img-rect:hover img {
  opacity: 0.8;
}

.link-img-rect:hover .video-icon {
  display: none;
  opacity: 0;
  width: 0;
  height: 0;
}

.img-round {
  width: 55px;
  height: 55px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  margin-left: 30px;
}

.detail-img {
  position: relative;
  margin-bottom: 30px;
}

.detail-img img {
  width: 100%;
  border-radius: 10px;
}

.detail-img .bar-reservation, .detail-img .bar-confirmed, .detail-img .bar-cancel, .detail-img .bar-consultation, .detail-img .bar-cancel-request {
  font-size: 17px;
  padding: 10px 0;
}

.bar-reservation {
  position: absolute;
  bottom: 0;
  background-color: rgba(255, 2, 17, 0.9);
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  padding: 5px 0;
  display: block;
  width: 100%;
}

.bar-reservation.radius-bttm {
  border-radius: 0 0 10px 10px;
}

.bar-confirmed {
  position: absolute;
  bottom: 0;
  background-color: rgba(65, 200, 183, 0.9);
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  padding: 5px 0;
  display: block;
  width: 100%;
}

.bar-confirmed.radius-bttm {
  border-radius: 0 0 10px 10px;
}

.bar-cancel {
  position: absolute;
  bottom: 0;
  background-color: rgba(89, 89, 89, 0.9);
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  padding: 5px 0;
  display: block;
  width: 100%;
}

.bar-cancel.radius-bttm {
  border-radius: 0 0 10px 10px;
}

.bar-consultation {
  position: absolute;
  bottom: 0;
  background-color: rgba(65, 145, 232, 0.9);
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  padding: 5px 0;
  display: block;
  width: 100%;
}

.bar-consultation.radius-bttm {
  border-radius: 0 0 10px 10px;
}

.bar-cancel-request {
  position: absolute;
  bottom: 0;
  background-color: rgba(35, 24, 21, 0.9);
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  padding: 5px 0;
  display: block;
  width: 100%;
}

.bar-cancel-request.radius-bttm {
  border-radius: 0 0 10px 10px;
}

.btn-wish {
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: auto;
  left: auto;
  z-index: 50;
}

.btn-wish input[type="checkbox"] {
  display: none;
}

.btn-wish label {
  display: block;
  text-align: center;
  width: 40px;
  height: 40px;
  background: url("/assets/img/icn_wish_off.png") no-repeat center center;
  background-size: 40px auto;
  cursor: pointer;
}

.btn-wish input[type=checkbox]:checked + label {
  background: url("/assets/img/icn_wish_on.png") no-repeat center center;
  background-size: 40px auto;
}

.thumb-box {
  position: relative;
  margin-bottom: 10px;
}

.thumb-box img {
  width: 100%;
  border-radius: 10px;
  position: relative;
}

.thumb-box .img-box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.thumb-box .img-box .thumbnail .video-icon {
  position: absolute;
  width: 100%;
  display: block;
  z-index: 1;
}

.thumb-box .img-box .thumbnail .video-icon:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.4);
  width: 48px;
  height: 48px;
}

.thumb-box .img-box .thumbnail .video-icon:after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 10px 0 10px 18px;
}

.thumb-box .img-box .thumbnail:nth-child(1) {
  width: 100%;
  height: 220px;
}

.thumb-box .img-box .thumbnail:nth-child(1) .video-icon {
  width: 100%;
  height: 220px;
}

.thumb-box .img-box .thumbnail:nth-child(1) video, .thumb-box .img-box .thumbnail:nth-child(1) img {
  width: 100%;
  height: 220px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px 10px 0 0;
  border-bottom: 2px solid #fff;
  position: relative;
}

.thumb-box .img-box .thumbnail:nth-child(2) {
  width: 50%;
  height: 110px;
}

.thumb-box .img-box .thumbnail:nth-child(2) .video-icon {
  width: 50%;
  height: 110px;
}

.thumb-box .img-box .thumbnail:nth-child(2) .video-icon:before {
  width: 34px;
  height: 34px;
}

.thumb-box .img-box .thumbnail:nth-child(2) .video-icon:after {
  border-width: 6px 0 6px 14px;
}

.thumb-box .img-box .thumbnail:nth-child(2) video, .thumb-box .img-box .thumbnail:nth-child(2) img {
  width: 100%;
  height: 110px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 0 0 10px;
  border-right: 1px solid #fff;
  position: relative;
}

.thumb-box .img-box .thumbnail:nth-child(3) {
  width: 50%;
  height: 110px;
}

.thumb-box .img-box .thumbnail:nth-child(3) .video-icon {
  width: 50%;
  height: 110px;
}

.thumb-box .img-box .thumbnail:nth-child(3) .video-icon:before {
  width: 34px;
  height: 34px;
}

.thumb-box .img-box .thumbnail:nth-child(3) .video-icon:after {
  border-width: 6px 0 6px 10px;
}

.thumb-box .img-box .thumbnail:nth-child(3) video, .thumb-box .img-box .thumbnail:nth-child(3) img {
  width: 100%;
  height: 110px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 0 10px 0;
  border-left: 1px solid #fff;
  position: relative;
}

.thumb-box .img-box .thumbnail:hover .video-icon {
  display: none;
  opacity: 0;
  width: 0;
  height: 0;
}

.wrapper {
  position: relative;
}

.inner {
  margin: 0 auto;
  width: 1040px;
}

article {
  margin: 50px 0;
}

article.top-page {
  margin-top: 0 !important;
}

article.top-page section {
  margin-bottom: 50px;
}

article.top-page section.bg {
  background-color: #f5f5f5;
  padding: 50px 0;
}

article.top-page h3 {
  font-size: 28px;
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

article.top-page h3 a {
  font-size: 16px;
}

article.top-page .modal__content--foot .btn-box {
  padding: 0;
  margin: 0;
}

article.top-page .modal__content--foot .btn-box button {
  margin: 0;
}

article.area-page section {
  margin-bottom: 50px;
}

article.area-page h2 p {
  font-size: 18px;
  color: #717171;
}

article.area-page h3 {
  font-size: 28px;
  margin-bottom: 20px;
}

article.area-page h3.slider-ttl {
  font-size: 28px;
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

article.area-page h3.slider-ttl a {
  font-size: 14px;
  padding-right: 80px;
  text-align: right;
}

article.area-page .modal__content--foot .btn-box {
  padding: 0;
  margin: 0;
}

article.area-page .modal__content--foot .btn-box button {
  margin: 0;
}

article.recommend-page {
  margin: 0 auto;
  width: 1040px;
  border-top: 5px solid #ddd;
}

article.recommend-page section {
  border-bottom: 1px solid #ddd;
  padding: 60px 0;
}

article.recommend-page section:last-child {
  border-bottom: none;
}

article.recommend-page h3 {
  font-size: 28px;
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

article.recommend-page h3 a {
  font-size: 14px;
  padding-right: 80px;
  text-align: right;
}

article.recommend-page h4 {
  font-size: 22px;
  margin-bottom: 20px;
}

article.search-page section {
  margin-bottom: 20px;
}

article.detail-page {
  margin-top: 132px;
  position: relative;
}

article.detail-page h3 {
  font-size: 22px;
}

article.detail-page h4 {
  font-size: 21px;
}

article.mypage-page {
  position: relative;
}

article .single-page {
  margin: 0 auto;
  width: 590px;
}

article.lp-page {
  margin-top: 0 !important;
  position: relative;
}

article.lp-page section {
  margin-bottom: 85px;
  position: relative;
}

article.lp-page section h3 {
  font-size: 50px;
  text-align: center;
}

article.lp-page section h3 span {
  color: #ff2557;
}

article.lp-page .modal__content--foot .btn-box {
  padding: 0;
  margin: 0;
}

article.lp-page .modal__content--foot .btn-box button {
  margin: 0;
}

.row {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.row.between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.row.between-start {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.row.start {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.row.center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.row.wrap {
  flex-wrap: wrap;
}

a {
  color: #4191e8;
  text-decoration: none;
}

.link-bl-caution {
  color: #4191e8;
  font-size: 14px;
  font-weight: bold;
  background: url("/assets/img/icn_caution_bl.png") no-repeat 0 center;
  background-size: 18px auto;
  padding: 1px 0;
  padding-left: 22px;
  display: block;
  margin-top: 10px;
}

.link-bk-arrow {
  font-size: 16px;
  font-weight: bold;
  color: #000;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  padding-right: 13px;
  margin-bottom: -80px;
}

.link-bk-arrow::before {
  position: absolute;
  top: 8px;
  right: 0;
  bottom: auto;
  left: auto;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 7px;
  height: 7px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
}

.link-bl-arrow {
  font-size: 16px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  padding-right: 13px;
}

.link-bl-arrow::before {
  position: absolute;
  top: 8px;
  right: 0;
  bottom: auto;
  left: auto;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 7px;
  height: 7px;
  border-top: 2px solid #4191e8;
  border-right: 2px solid #4191e8;
  transform: rotate(45deg);
}

.link-gr {
  color: #717171;
  font-weight: bold;
  text-decoration: underline;
}

.link-profile {
  width: 100%;
  color: #000;
  position: relative;
  transition: all 0.2s;
}

.link-profile:after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: solid 2px #FF0211;
  border-right: solid 2px #FF0211;
  position: absolute;
  top: 7px;
  right: 0;
  transform: rotate(45deg);
}

.link-profile:hover {
  opacity: 0.6;
}

.list__thumb {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}

.list__thumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
}

.list__thumb ul li {
  width: 25%;
  padding-right: 15px;
  margin-bottom: 15px;
}

.list__thumb ul li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  color: #000;
}

.list__thumb ul li a img {
  width: 65px;
  height: 65px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  margin-right: 15px;
}

.list__thumb ul li a p {
  font-size: 15px;
}

.list__thumb ul li a p span {
  display: block;
  font-weight: bold;
  font-size: 16px;
  line-height: 18px;
  margin-bottom: 5px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.list__thumb ul li a:hover img {
  opacity: 0.8;
}

.list__2col ul {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.list__2col ul li {
  width: calc(50% - 30px * 2 / 3);
  margin-right: 30px;
  margin-bottom: 50px;
  border-radius: 10px;
  border: 1px solid #ddd;
}

.list__2col ul li:nth-child(2n+2) {
  margin-right: 0;
}

.list__2col ul li a img {
  width: 100%;
  height: 200px;
  border-radius: 10px 10px 0 0;
  display: block;
  margin-bottom: 10px;
}

.list__2col ul li a:hover img {
  opacity: 0.8;
}

.list__3col ul {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.list__3col ul li {
  /*width: calc(33.33333% - 20px * 2 / 3);*/
  width: calc((100% - 40px) / 3);
  margin-right: 20px;
  margin-bottom: 50px;
}

.list__3col ul li:nth-child(3n+3) {
  margin-right: 0;
}

.list__3col ul li a img {
  width: 100%;
  border-radius: 10px;
  display: block;
  margin-bottom: 10px;
}

.list__3col ul li a:hover img {
  opacity: 0.8;
}

.list__3col--slider ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.list__3col--slider ul li {
  width: calc((100% - 40px) / 3);
  max-width: 334px;
  margin: 0 20px 20px 0;
}

.list__3col--slider ul li:nth-child(3n) {
  margin-right: 0;
}

.list__4col ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
}

.list__4col ul li {
  width: calc((100% - 20px) / 4);
  max-width: 245px;
  margin-right: 20px;
}

.list__4col ul li:nth-child(4n) {
  margin-right: 0;
}

.list__4col ul.responsive-4col li:nth-child(4n) {
  margin-right: 20px;
}

.list__4col.wrap ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
}

.list__4col.wrap ul li {
  width: calc((100% - 20px) / 4);
  max-width: 245px;
  margin: 0 20px 30px 0;
}

.list__4col.wrap ul li:nth-child(4n) {
  margin-right: 0;
}

.list__4col.wrap-movie {
  padding-right: 15px;
}

.list__4col.wrap-movie ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 10px;
}

.list__4col.wrap-movie ul li {
  width: 240px;
  margin: 0 20px 30px 0;
}

.list__4col.wrap-movie ul li:nth-child(4n) {
  margin-right: 0;
}

.list__5col ul {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.list__5col ul li {
  width: calc(20% - 15px * 4 / 5);
  margin-right: 15px;
}

.list__5col ul li:nth-child(5n+5) {
  margin-right: 0;
}

.list__5col ul li:nth-child(6) {
  display: none;
}

.list__5col ul li a {
  position: relative;
  display: block;
}

.list__5col ul li a::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.list__5col ul li a img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.list__5col ul li a:hover img {
  opacity: 0.8;
}

.list__banner--big {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 15px;
}

.list__banner--big li {
  width: calc(50% - 20px * 1 / 2);
  margin-right: 20px;
}

.list__banner--big li:last-child {
  margin-right: 0;
}

.list__banner--big li img {
  width: 100%;
  display: block;
}

.list__banner--small {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.list__banner--small li {
  width: calc(25% - 20px * 3 / 4);
  margin-right: 20px;
}

.list__banner--small li:last-child {
  margin-right: 0;
}

.list__banner--small li img {
  width: 100%;
  display: block;
}

.list__more ul {
  width: 100%;
  margin: 0 -5px;
}

.list__more ul li {
  height: 90px !important;
  min-width: 198px;
  margin: 0 5px;
  border: 1px solid #ddd;
  color: #717171;
  border-radius: 10px;
  padding: 10px 15px;
  white-space: normal;
}

.list__more ul li p {
  font-weight: bold;
  color: #000;
  font-size: 16px;
}

.list__tag {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}

.list__tag a {
  display: block;
  margin-right: 10px;
  margin-bottom: 15px;
  color: #000;
}

.list__tag a p {
  border: 1px solid #fff;
  border-radius: 20px;
  height: 32px;
  line-height: 30px;
}

.list__tag a p span {
  border: 1px solid #ddd;
  border-radius: 20px;
  display: block;
  height: 30px;
  line-height: 28px;
  padding: 0 15px;
}

.list__tag a.active p, .list__tag a:hover p {
  border: 1px solid #000;
}

.list__tag a.active p span, .list__tag a:hover p span {
  background: #f2f2f2;
  border: 1px solid #000;
}

.list__tag label {
  margin-right: 10px;
  margin-bottom: 15px;
}

.list__tag label input {
  display: none;
}

.list__tag label input:checked + p {
  border: 1px solid #000;
}

.list__tag label input:checked + p span {
  background: #f2f2f2;
  border: 1px solid #000;
}

.list__tag label p {
  border: 1px solid #fff;
  border-radius: 20px;
  height: 32px;
  line-height: 30px;
}

.list__tag label p span {
  border: 1px solid #ddd;
  border-radius: 20px;
  display: block;
  height: 30px;
  line-height: 28px;
  padding: 0 15px;
}

.list__2colapp {
  padding-right: 15px;
  font-size: 14px;
}

.list__2colapp ul {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}

.list__2colapp ul li {
  width: calc((100% - 60px) / 4);
  margin-right: 20px;
  margin-bottom: 30px;
}

.list__2colapp ul li:nth-child(4n+4) {
  margin-right: 0;
}

.list__2colapp ul li .txt__category {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.list__2colapp ul li .txt__category p:nth-of-type(1) {
  font-size: 16px;
}

.list__2colapp ul li .txt__category p:nth-of-type(2) {
  font-size: 14px;
  font-weight: normal;
}

.list__2colapp ul li .txt__category.block {
  display: block;
}

.list__2colapp ul li .txt__category.block p:nth-of-type(1) {
  font-size: 12px;
  color: #717171;
  font-weight: normal;
}

.list__2colapp ul li .txt__category.block p:nth-of-type(2) {
  font-size: 14px;
  color: #000;
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.txt__information p.date {
  color: #717171;
  font-weight: bold;
  position: relative;
}

.txt__information p.date.new:after {
  position: absolute;
  top: 1px;
  right: auto;
  bottom: auto;
  left: auto;
  content: "NEW";
  color: #e60012;
  border: 1px solid #e60012;
  font-size: 8px;
  padding: 0 7px;
  border-radius: 10px;
  margin-left: 5px;
}

.txt__information a {
  display: block;
  color: #000;
  font-size: 18px;
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.txt__information a:hover {
  text-decoration: underline;
}

.txt__category {
  display: block;
  font-size: 18px;
  font-weight: bold;
  color: #000;
  margin-top: 5px;
  white-space: normal;
  margin-top: 5px;
}

.txt__category:hover {
  text-decoration: underline;
}

.txt__tour--recommend .tour-index {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
  gap: 10px;
}

.txt__tour--recommend .tour-category {
  color: #717171;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.txt__tour--recommend .tour-review {
  background: url("/assets/img/icn_review.png") no-repeat 0 2px;
  background-size: 15px auto;
  padding-left: 20px;
  font-weight: bold;
  white-space: nowrap;
  color: #000;
}

.txt__tour--recommend .tour-review a {
  color: #000;
  text-decoration: underline;
}

.txt__tour--recommend .tour-ttl {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  font-size: 16px;
  font-weight: normal;
  margin: 5px 0 7px;
  line-height: 20px;
}

.txt__tour--recommend .tour-ttl .txt__ttl {
  display: block;
  color: #000;
}

.txt__tour--recommend .tour-ttl .txt__ttl:hover {
  text-decoration: underline;
}

.txt__tour--recommend .tour-txt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  position: relative;
}

.txt__tour--recommend .tour-price {
  color: #ff2557;
  font-size: 15px;
  font-weight: bold;
  white-space: normal;
}

.txt__tour--search {
  position: relative;
  height: auto;
}

.txt__tour--search .tour-index {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.txt__tour--search .tour-category {
  color: #717171;
}

.txt__tour--search .tour-review {
  background: url("/assets/img/icn_review.png") no-repeat 0 2px;
  background-size: 15px auto;
  padding-left: 20px;
  font-weight: bold;
}

.txt__tour--search .tour-review a {
  color: #000;
  text-decoration: underline;
}

.txt__tour--search .tour-ttl {
  display: block;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  font-size: 18px;
  font-weight: bold;
  margin: 10px 0;
  line-height: 26px;
  position: relative;
}

.txt__tour--search .tour-ttl .txt__ttl {
  display: block;
  color: #000;
}

.txt__tour--search .tour-ttl .txt__ttl:hover {
  text-decoration: underline;
}

.txt__tour--search .tour-txt {
  display: block;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  position: relative;
}

.txt__tour--search .tour-price {
  position: relative;
  bottom: 0;
  display: block;
  width: 100%;
  color: #ff2557;
  font-size: 15px;
  font-weight: bold;
  background-color: #f5f5f5;
  text-align: center;
  padding: 7px 0;
  border-radius: 5px;
}

.txt__reservation {
  padding: 5px 20px 20px 20px;
}

.txt__reservation .reservation-num {
  font-weight: bold;
}

.txt__reservation .tour-category {
  color: #717171;
  font-size: 16px;
  font-weight: bold;
}

.txt__reservation .reservation-date {
  font-size: 10px;
  margin: 5px 0;
}

.txt__reservation .tour-ttl {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 16px;
  font-weight: bold;
  line-height: 20px;
}

.ranking {
  position: absolute;
  top: 10px;
  right: auto;
  bottom: auto;
  left: 10px;
  z-index: 5;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  background-color: #999;
  display: inline-block;
  text-align: center;
  line-height: 40px;
}

.ranking.no1 {
  background-color: #d0c256;
}

.pager {
  padding-bottom: 20px;
}

.pager ul {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pager ul li {
  margin: 0 5px;
  color: #b0b0b0;
}

.pager ul li a {
  display: inline-block;
  position: relative;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 50%;
  background-color: #e7e7e7;
  color: #000;
  font-weight: bold;
}

.pager ul li a.current {
  background-color: #231815;
  color: #fff;
}

.pager ul li a.arrow-next {
  margin-top: 7px;
}

.pager ul li a.arrow-next:before {
  position: absolute;
  top: 11px;
  right: auto;
  bottom: auto;
  left: 10px;
  display: inline-block;
  content: "";
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
}

.pager ul li a.arrow-prev {
  margin-top: 7px;
}

.pager ul li a.arrow-prev:before {
  position: absolute;
  top: 11px;
  right: 10px;
  bottom: auto;
  left: auto;
  display: inline-block;
  content: "";
  border-bottom: solid 2px #000;
  border-left: solid 2px #000;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
}

@keyframes spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(359deg);
  }
}

.spinner-box {
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
}

.circle-border {
  width: 60px;
  height: 60px;
  padding: 3px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: #ff0211;
  background: linear-gradient(0deg, rgba(255, 2, 17, 0.1) 33%, #ff0211 100%);
  animation: spin .8s linear 0s infinite;
}

.circle-core {
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 50%;
}

body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  overflow-y: hidden;
}

.modal {
  display: none;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 500;
}

.modal#modal-search-all {
  z-index: 499;
}

.modal#modal-search-all .modal__content {
  max-width: 720px;
}

.modal#modal-search-datetime {
  z-index: 499;
}

.modal#modal-search-datetime .modal__content {
  min-width: 720px;
}

.modal__bg {
  background: rgba(35, 24, 21, 0.8);
  position: absolute;
  width: 100%;
  height: 100%;
}

.modal__content {
  background: #fff;
  border-radius: 10px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  min-width: 400px;
  max-width: 80%;
  touch-action: manipulation;
}

.modal__content.m-review {
  background: none;
  width: 800px;
  height: auto;
  overflow: hidden;
  border-radius: 0;
}

.modal__content.m-review .modal__content--body {
  padding: 0;
  height: 100%;
  overflow: hidden;
}

.modal__content.m-review .modal__close {
  top: 0;
  right: 0;
  left: auto;
  width: 25px;
  height: 25px;
}

.modal__content.m-review .modal__close:before, .modal__content.m-review .modal__close:after {
  background: #fff;
  height: 25px;
}

.modal__content--head {
  border-bottom: 1px solid #ddd;
  padding: 15px 30px;
  text-align: center;
  font-size: 17px;
  font-weight: bold;
  min-height: 56px;
}

.modal__content--head p {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  padding-left: 10px;
}

.modal__content--body {
  padding: 20px 30px;
  overflow-y: auto;
  overflow-y: scroll;
  overflow-x: hidden;
  max-height: calc(100vh - 153px);
}

.modal__content--body h4 {
  font-size: 17px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.modal__content--body h4 a {
  font-size: 14px;
}

.modal__content--body h4 p.caution {
  color: #FF0211;
  font-weight: bold;
  font-size: 14px;
}

.modal__content--body h5 {
  font-size: 15px;
  font-weight: bold;
}

.modal__content--body .tour-price {
  font-size: 20px;
  font-weight: bold;
  text-align: right;
}

.modal__content--body .tour-price span {
  font-size: 14px;
  display: block;
}

.modal__content--body .area-ttl {
  display: block;
  padding: 10px 0;
  cursor: pointer;
  position: relative;
}

.modal__content--body .area-ttl:after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  position: absolute;
  right: 3px;
  top: 50%;
  margin-top: -5px;
  transition: all 0.2s ease-in-out;
  transform: rotate(135deg);
}

.modal__content--body .area-ttl.active:after {
  transform: rotate(-45deg);
}

.modal__content--body .area-ttl:hover {
  font-weight: bold;
}

.modal__content--body .area-list {
  display: none;
  background-color: #f5f5f5;
  margin: 0 -30px;
}

.modal__content--body .area-list li {
  padding: 5px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__content--body .area-list li a {
  position: relative;
  padding-right: 30px;
  display: block;
  width: 100%;
  color: #000;
  padding: 5px 0 5px 30px;
}

.modal__content--body .area-list li a:after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  position: absolute;
  right: 35px;
  top: 50%;
  margin-top: -3px;
  transition: all 0.2s ease-in-out;
  transform: rotate(45deg);
}

.modal__content--body .area-list li a:hover:after {
  border-top: solid 1px #4191e8;
  border-right: solid 1px #4191e8;
}

.modal__content--body .area-list li label {
  padding: 5px 30px 5px 60px;
  margin-right: 0px;
  width: 100%;
}

.modal__content--body .area-list li label:before {
  position: absolute;
  top: 15px;
  right: auto;
  bottom: auto;
  left: 34px;
}

.modal__content--body .area-list li label::after {
  position: absolute;
  top: 10px;
  right: auto;
  bottom: auto;
  left: 30px;
}

.modal__content--body .area-list li:hover {
  background-color: #ddd;
}

.modal__content--body .member-num {
  margin-bottom: 10px;
}

.modal__content--body .member-num li {
  border-bottom: 1px solid #ddd;
  padding: 15px 5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__content--body .member-num li:last-child {
  border-bottom: 0;
}

.modal__content--body .member-num li p {
  font-weight: bold;
  font-size: 15px;
}

.modal__content--body .member-num input[type="number"] {
  width: 2em;
  text-align: center;
  font-size: 16px;
  padding: 0 5px;
  -moz-appearance: textfield;
}

.modal__content--body .member-num input[type="number"]::-webkit-outer-spin-button, .modal__content--body .member-num input[type="number"]::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: textfield;
}

.modal__content--body .search-more {
  margin-top: 20px;
  border-top: 1px solid #ddd;
}

.modal__content--body .search-more .more-category > li:nth-child(n+5) {
  display: none;
}

.modal__content--body .search-more .more-committed li:nth-child(n+5) {
  display: none;
}

.modal__content--body .search-more .more-hashtag li:nth-child(n+10) {
  display: none;
}

.modal__content--body .search-more .more-committed {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  border-bottom: 0;
}

.modal__content--body .search-more .more-committed li {
  width: 50%;
  margin-bottom: 10px;
}

.modal__content--body .search-more .more-hashtag {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  border-bottom: 0;
}

.modal__content--body .search-more .more-hashtag li {
  height: 32px;
  margin: 0 10px 10px 0;
}

.modal__content--body .search-more .more-hashtag li input {
  display: none;
}

.modal__content--body .search-more .more-hashtag li input:checked + label p {
  border: 1px solid #000;
}

.modal__content--body .search-more .more-hashtag li input:checked + label p span {
  background: #f2f2f2;
  border: 1px solid #000;
}

.modal__content--body .search-more .more-hashtag li label p {
  border: 1px solid #fff;
  border-radius: 20px;
  height: 32px;
  line-height: 30px;
}

.modal__content--body .search-more .more-hashtag li label p span {
  border: 1px solid #ddd;
  border-radius: 20px;
  display: block;
  height: 30px;
  line-height: 28px;
  padding: 0 15px;
  position: relative;
}

.modal__content--body .search-more .btn-more-category,
.modal__content--body .search-more .btn-more-committed,
.modal__content--body .search-more .btn-more-hashtag {
  color: #4191e8;
  font-size: 13px;
  cursor: pointer;
  position: relative;
  padding-right: 15px;
}

.modal__content--body .search-more .btn-more-category:after,
.modal__content--body .search-more .btn-more-committed:after,
.modal__content--body .search-more .btn-more-hashtag:after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: solid 2px #4191e8;
  border-right: solid 2px #4191e8;
  position: absolute;
  right: 3px;
  top: 50%;
  margin-top: -5px;
  transition: all 0.2s ease-in-out;
  transform: rotate(135deg);
}

.modal__content--body .search-more .btn-more-category.active:after,
.modal__content--body .search-more .btn-more-committed.active:after,
.modal__content--body .search-more .btn-more-hashtag.active:after {
  margin-top: -2px;
  transform: rotate(-45deg);
}

.modal__content--body .search-more li {
  border-bottom: 1px solid #ddd;
  padding: 20px 0 10px 0;
}

.modal__content--body .search-more li:last-child {
  border-bottom: none;
}

.modal__content--body .search-more li ul li {
  border-bottom: none;
  padding: 0 !important;
}

.modal__content--body .search-more li ul li .area-ttl {
  padding: 10px 20px 10px 0;
  border: none;
}

.modal__content--body .search-more li ul li .area-ttl:hover {
  font-weight: bold;
}

.modal__content--body .search-more li ul li ul.area-list {
  padding: 0;
}

.modal__content--body .search-more li ul li ul.area-list li {
  padding: 5px 0 !important;
}

.modal__content--body .search-more li ul li ul.area-list li:hover {
  background-color: #ddd;
}

.modal__content--body .search-more li ul li ul.area-list li label {
  margin-right: 0;
}

.modal__content--body .search-more .search-hash {
  padding: 10px 0;
}

.modal__content--body .search-more .search-hash .sort__btn--select {
  padding-left: 0;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.modal__content--body .search-more .search-hash .sort__btn--select label {
  margin: 0 10px 10px 0;
}

.modal__content--body .search-more .search-price .fromto {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
}

.modal__content--body .search-more .search-price .fromto .min-price,
.modal__content--body .search-more .search-price .fromto .max-price {
  width: 48%;
  text-align: left;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 10px;
  color: #717171;
  font-size: 12px;
}

.modal__content--body .search-more .search-price .fromto .min-price p,
.modal__content--body .search-more .search-price .fromto .max-price p {
  font-size: 16px;
  color: #000;
  font-weight: bold;
}

.modal__content--body .select-all {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}

.modal__content--body .select-all .tour-select {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0 30px 0;
  font-size: 10px;
  font-weight: bold;
  min-width: 350px;
}

.modal__content--body .select-all .tour-select a {
  color: #000;
  position: relative;
  display: inline-block;
}

.modal__content--body .select-all .tour-select a p {
  font-size: 14px;
  font-weight: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.modal__content--body .select-all .tour-select a.tour-select-date {
  width: 55%;
  padding: 10px 15px;
  border: 2px solid #4dcebc;
  border-radius: 30px;
  margin-right: 10px;
  text-align: center;
}

.modal__content--body .select-all .tour-select a.tour-select-date.active, .modal__content--body .select-all .tour-select a.tour-select-date:hover {
  border: 2px solid #4dcebc;
  background-color: #E9F7F6;
}

.modal__content--body .select-all .tour-select a.tour-select-date::before {
  content: '';
  background: url(/assets/img/icn_calendar.png) no-repeat center center;
  background-size: auto 20px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: auto;
  right: 10px;
  bottom: auto;
  left: auto;
}

.modal__content--body .select-all .tour-select a.tour-select-member {
  width: 45%;
  padding: 10px 15px;
  border: 2px solid #4dcebc;
  border-radius: 30px;
  text-align: center;
}

.modal__content--body .select-all .tour-select a.tour-select-member.active, .modal__content--body .select-all .tour-select a.tour-select-member:hover {
  border: 2px solid #4dcebc;
  background-color: #E9F7F6;
}

.modal__content--body .select-all .tour-select a.tour-select-member::before {
  content: '';
  background: url(/assets/img/icn_user.png) no-repeat center center;
  background-size: auto 17px;
  width: 17px;
  height: 17px;
  position: absolute;
  top: auto;
  right: 10px;
  bottom: auto;
  left: auto;
}

.modal__content--body .select-all .tour-list {
  min-width: 340px;
}

.modal__content--body .select-all .tour-list h5 {
  text-align: center;
}

.modal__content--body .select-all .tour-list .tour-date, .modal__content--body .select-all .tour-list .tour-time {
  font-weight: bold;
}

.modal__content--body .select-all .tour-list .tour-date {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  margin-bottom: 10px;
}

.modal__content--body .select-all .tour-list li {
  position: relative;
  margin-bottom: 20px;
}

.modal__content--body .select-all .tour-list li del {
  color: #b0b0b0;
}

.modal__content--body .select-all .tour-list li a {
  color: #000;
  display: block;
  border-radius: 15px;
  padding: 15px;
  border: 1px solid #ccc;
}

.modal__content--body .select-all .tour-list li a.active, .modal__content--body .select-all .tour-list li a:hover {
  padding: 14px;
  background-color: #E9F7F6;
  border: 2px solid #4dcebc;
}

.modal__content--body .select-all .tour-list li a.active .tour-choice, .modal__content--body .select-all .tour-list li a:hover .tour-choice {
  background-color: #4dcebc;
}

.modal__content--body .select-all .tour-list li a.active .sale-price, .modal__content--body .select-all .tour-list li a:hover .sale-price {
  background-color: transparent;
}

.modal__content--body .select-all .tour-list li .sale-price {
  color: #FF0211;
  font-weight: bold;
  background-color: rgba(255, 2, 17, 0.05);
  padding: 3px 8px;
  margin-top: 5px;
}

.modal__content--body .select-all .tour-list li .sale-price span {
  font-weight: normal;
  font-size: 13px;
}

.modal__content--body .select-all .tour-list li .tour-choice {
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: auto;
  left: auto;
  background-color: #ccc;
  color: #fff;
  font-weight: bold;
  padding: 5px 12px;
  border-radius: 15px;
}

.modal__content--body .note {
  text-align: right;
  font-size: 15px;
  font-weight: bold;
  padding: 5px 5px 0 5px;
  border-top: 1px solid #ddd;
}

.modal__content--foot {
  height: 77px;
  border-top: 1px solid #ddd;
  padding: 15px 30px;
}

.modal__content--foot button {
  margin: 0 5px;
}

.modal__close {
  position: absolute;
  top: 20px;
  left: 15px;
  display: block;
  width: 15px;
  height: 15px;
}

.modal__close:before, .modal__close:after {
  /* 共通設定 */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  /* 棒の幅（太さ） */
  height: 15px;
  /* 棒の高さ */
  background: #333;
}

.modal__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

_:lang(x) + _:-webkit-full-screen-document, .modal__content--body {
  max-height: calc(100vh - 230px);
}

#sidebar {
  display: none;
}

.sidebar__bg {
  display: none;
}

.sidebar__content {
  position: fixed;
  z-index: 300;
  width: 85%;
  height: 100vh;
  /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
}

.sidebar__content::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

.sidebar__ttl {
  font-size: 10px;
  color: #717171;
  background-color: #f5f5f5;
  padding: 10px 15px;
}

.sidebar__menu--item {
  border-bottom: 1px solid #ddd;
}

.sidebar__menu--item a {
  padding: 15px;
  display: block;
  position: relative;
  color: #000;
  font-weight: bold;
}

.sidebar__menu--item a:after {
  position: absolute;
  top: 50%;
  right: 15px;
  bottom: auto;
  left: auto;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 7px;
  height: 7px;
  margin-top: -5px;
  border-top: 2px solid #717171;
  border-right: 2px solid #717171;
  transform: rotate(45deg);
}

.sidebar__menu--item a .badge {
  position: absolute;
  top: 50%;
  right: 30px;
  bottom: auto;
  left: auto;
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #ff2557;
  color: #fff;
  text-align: center;
  font-size: 85%;
  font-weight: bold;
  margin-top: -9px;
}

.sidebar__menu--user .sidebar__menu--item {
  background-color: #eee;
}

.sidebar__menu--thumb {
  border-bottom: 1px solid #ddd;
  padding: 15px;
}

.sidebar__menu--thumb p {
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sidebar__menu--thumb p a {
  font-size: 13px;
  font-weight: normal;
}

.sidebar__menu--thumb ul {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 10px;
}

.sidebar__menu--thumb ul li {
  width: calc(25% - 15px * 3 / 4);
  margin-right: 15px;
}

.sidebar__menu--thumb ul li:last-child {
  margin-right: 0;
}

.sidebar__menu--thumb ul li a img {
  width: 100%;
  height: 100%;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 5px;
}

/*========= ボタンのためのCSS ===============*/
.open-btn {
  display: none;
}

.path {
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
  margin-bottom: 0 !important;
}

.path ul {
  max-width: 1040px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.path ul.inner {
  width: auto;
  overflow-x: auto;
  white-space: nowrap;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.path ul.inner::-webkit-scrollbar {
  display: none;
}

.path ul li {
  color: #717171;
  font-size: 12px; 
}

.path ul li a {
  font-size: 12px;
  color: #717171;
  padding-right: 12px;
  position: relative;
}

.path ul li a:after {
  position: absolute;
  top: -3px;
  right: 3px;
  bottom: auto;
  left: auto;
  content: "/";
}

.path ul li a:hover {
  text-decoration: underline;
}

.review__ttl {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
}

.review__ttl a {
  text-decoration: underline;
  color: #000;
}

.review__date {
  font-weight: bold;
  margin-bottom: 10px;
}

.review__list {
  font-size: 16px;
}

.review__list li {
  border-bottom: 1px solid #ddd;
  padding: 25px 0;
}

.review__list li:first-child {
  padding-top: 0;
}

.review__list li:last-child {
  border-bottom: 0;
}

.review__text {
  margin: 0 auto;
  overflow: hidden;
}

.review__text a {
  display: block;
  font-weight: bold;
  margin-top: 5px;
}

.review__more {
  cursor: pointer;
  color: #4191e8;
  margin-top: 5px;
}

.review__more.is-active {
  display: none;
}

.review__reply {
  background-color: #f5f5f5;
  padding: 20px;
  margin-top: 15px;
}

.review__reply .row {
  margin-bottom: 10px;
}

.review__reply .row img {
  width: 30px;
  height: 30px;
  margin-left: 0;
  margin-right: 10px;
}

.review__reply .row .review__date {
  margin-bottom: 0;
  margin-left: 20px;
}

.review__icon {
  width: 100%;
  display: block;
  padding-left: 115px;
  height: 16px;
  line-height: 18px;
  color: #717171;
  margin-bottom: 15px;
}

.review__icon.review50 {
  background: url("/assets/img/review50.png") no-repeat 0 center;
  background-size: auto 16px;
}

.review__icon.review45 {
  background: url("/assets/img/review45.png") no-repeat 0 center;
  background-size: auto 16px;
}

.review__icon.review40 {
  background: url("/assets/img/review40.png") no-repeat 0 center;
  background-size: auto 16px;
}

.review__icon.review35 {
  background: url("/assets/img/review35.png") no-repeat 0 center;
  background-size: auto 16px;
}

.review__icon.review30 {
  background: url("/assets/img/review30.png") no-repeat 0 center;
  background-size: auto 16px;
}

.review__icon.review25 {
  background: url("/assets/img/review25.png") no-repeat 0 center;
  background-size: auto 16px;
}

.review__icon.review20 {
  background: url("/assets/img/review20.png") no-repeat 0 center;
  background-size: auto 16px;
}

.review__icon.review15 {
  background: url("/assets/img/review15.png") no-repeat 0 center;
  background-size: auto 16px;
}

.review__icon.review10 {
  background: url("/assets/img/review10.png") no-repeat 0 center;
  background-size: auto 16px;
}

.review__icon.review05 {
  background: url("/assets/img/review05.png") no-repeat 0 center;
  background-size: auto 16px;
}

.review__icon span {
  color: #000;
  font-weight: bold;
}

.review__icon--confirm {
  width: 100%;
  display: block;
  height: 45px;
}

.review__icon--confirm.review50 {
  background: url("/assets/img/review50.png") no-repeat 0 center;
  background-size: auto 45px;
}

.review__icon--confirm.review45 {
  background: url("/assets/img/review45.png") no-repeat 0 center;
  background-size: auto 45px;
}

.review__icon--confirm.review40 {
  background: url("/assets/img/review40.png") no-repeat 0 center;
  background-size: auto 45px;
}

.review__icon--confirm.review35 {
  background: url("/assets/img/review35.png") no-repeat 0 center;
  background-size: auto 45px;
}

.review__icon--confirm.review30 {
  background: url("/assets/img/review30.png") no-repeat 0 center;
  background-size: auto 45px;
}

.review__icon--confirm.review25 {
  background: url("/assets/img/review25.png") no-repeat 0 center;
  background-size: auto 45px;
}

.review__icon--confirm.review20 {
  background: url("/assets/img/review20.png") no-repeat 0 center;
  background-size: auto 45px;
}

.review__icon--confirm.review15 {
  background: url("/assets/img/review15.png") no-repeat 0 center;
  background-size: auto 45px;
}

.review__icon--confirm.review10 {
  background: url("/assets/img/review10.png") no-repeat 0 center;
  background-size: auto 45px;
}

.review__icon--confirm.review05 {
  background: url("/assets/img/review05.png") no-repeat 0 center;
  background-size: auto 45px;
}

.review__upload {
  width: 100%;
  height: 165px;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
}

.review__upload--list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  transition: all 0.3s;
}

.review__upload--list > div {
  min-width: 120px;
  width: 120px;
  margin-right: 15px;
  position: relative;
}

.review__upload--list > div:nth-of-type(n+14) {
  display: none;
}

.review__upload--list > div img, .review__upload--list > div video {
  width: 120px;
  height: 120px;
  -o-object-fit: cover;
     object-fit: cover;
}

.review__upload--list > div img {
  margin-bottom: 5px;
}

.review__upload--list > div button {
  background-color: #f5f5f5;
  width: 120px;
  height: 120px;
}

.review__upload--list > div button img {
  width: 40px;
  height: auto;
}

.review__upload--list > div .js__file__remove {
  margin: 3px auto 0 auto;
  display: block;
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid #000;
  background-color: #fff;
  cursor: pointer;
}

.review__upload--list > div .js__file__remove:before, .review__upload--list > div .js__file__remove:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 9px;
  background: #000;
}

.review__upload--list > div .js__file__remove:before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.review__upload--list > div .js__file__remove:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.review__upload--list#listWithHandle .review__upload--item:hover {
  cursor: move;
}

.review__upload.thumb {
  height: 135px;
  margin-bottom: 10px;
}

.review__upload.thumb a {
  position: relative;
}

.review__upload.thumb a .video-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  z-index: 11;
  width: 30px;
  height: 30px;
}

.review__upload.thumb a .video-icon:before {
  position: absolute;
  content: "";
  display: block;
  top: 65px;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.4);
  width: 30px;
  height: 30px;
}

.review__upload.thumb a .video-icon:after {
  position: absolute;
  content: "";
  display: block;
  top: 66px;
  left: 50%;
  transform: translate(-50%, -50%);
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 7px 0 7px 13px;
  margin-left: 2px;
}

.review__upload.thumb a img {
  width: 120px;
  height: 120px;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
}

.review__mssg {
  background-color: #41c8b7;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 10px;
}

.review__tour {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.review__tour img {
  width: 200px;
  height: 200px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 10px;
  margin-right: 20px;
}

.review__tour a {
  color: #000;
  font-weight: bold;
  text-decoration: underline;
}

.review__profile {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 10px 20px 0;
}

.review__profile .img-round {
  width: 100px;
  height: 100px;
  margin-left: 10px;
}

.review__profile p {
  margin-left: 20px;
  font-weight: bold;
  font-size: 24px;
}

.review__slide {
  width: 100%;
  height: 100%;
  padding-top: 50px;
}

.review__slide--inner {
  width: 100%;
  height: auto;
}

.review__slide--item {
  display: flex !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

.review__slide--item img, .review__slide--item video {
  width: 700px;
  height: 500px;
  -o-object-fit: contain;
     object-fit: contain;
}

.review__slide .slick-dots {
  top: 5px;
  left: 0;
  bottom: auto !important;
  position: fixed;
  height: 70px;
}

.review__slide .slick-dots li {
  width: 45px !important;
  height: 5px;
  background: #f5f5f5;
}

.review__slide .slick-dots li.slick-active {
  background: #4191e8;
}

.review__slide .slick-dots li button:before {
  content: none;
}

.review__slide .slick-dotted.slick-slider {
  margin-bottom: 0 !important;
}

.input-range {
  display: none;
}

.range-group {
  position: relative;
}

.range-group a {
  display: inline-block;
  width: 45px;
  height: 45px;
  background: url("/assets/img/icn_star_off.png");
  background-size: 45px 45px;
  margin-right: 10px;
  cursor: pointer;
}

.range-group a.on {
  width: 45px;
  height: 45px;
  background: url("/assets/img/icn_star_on.png");
  background-size: 45px 45px;
}

.simplebar-track.simplebar-horizontal {
  height: 10px;
  background: #ddd;
  margin: 0 auto;
}

.simplebar-scrollbar {
  height: 10px;
  background: #717171;
  top: 0;
}

.fancybox__carousel .fancybox__slide.has-map .fancybox__content, .fancybox__carousel .fancybox__slide.has-pdf .fancybox__content, .fancybox__carousel .fancybox__slide.has-video .fancybox__content, .fancybox__carousel .fancybox__slide.has-html5video .fancybox__content {
  background: none !important;
  height: auto !important;
}

.fancybox__nav .carousel__button.is-next,
.fancybox__nav .carousel__button.is-prev,
.fancybox__toolbar__items--left {
  display: none !important;
}

.fancybox__toolbar__items--right button {
  display: none;
}

.fancybox__toolbar__items--right button:last-child {
  display: block;
}

.fancybox__thumbs {
  position: absolute !important;
  top: 26px;
  left: 50%;
  transform: translateX(-50%) !important;
  -webkit-transform: translateX(-50%) !important;
  -ms-transform: translateX(-50%) !important;
  z-index: 30;
}

.fancybox__thumbs .carousel__slide {
  padding: 0 5px !important;
  width: 45px !important;
  border-radius: 0px !important;
  height: 10px;
}

.fancybox__thumbs .carousel__slide.is-nav-selected .fancybox__thumb {
  background-color: #4191e8 !important;
}

.fancybox__thumbs .carousel__slide .fancybox__thumb {
  background: none !important;
  background-color: #fff !important;
  border-radius: 0px !important;
}

.fancybox__thumbs .carousel__slide .fancybox__thumb:after {
  border: none !important;
}

/*-----------矢印表示----------*/
.slick-next {
  top: 0 !important;
  right: 10px !important;
}

.slick-next:before {
  background: url("/assets/img/icn_next.png") !important;
  background-size: contain !important;
}

.slick-prev {
  left: auto !important;
  top: 0 !important;
  right: 50px !important;
}

.slick-prev:before {
  background: url("/assets/img/icn_prev.png") !important;
  background-size: contain !important;
}

.slick-arrow {
  z-index: 2 !important;
  width: 30px !important;
  height: 30px !important;
}

.slick-arrow:before {
  content: "" !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: -30px !important;
  right: -10px !important;
  opacity: 1 !important;
}

.list__3col ul li.slick-slide {
  margin-bottom: 0 !important;
}

.slick-dots {
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  bottom: -30px !important;
}

.slick-dots li {
  margin-bottom: 0 !important;
  width: auto !important;
}

.slick-dotted.slick-slider {
  margin-bottom: 20px !important;
}

.slick-dots li.slick-active button:before {
  color: #FF0211 !important;
  font-size: 14px !important;
  opacity: 1 !important;
}

.stepBar {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  margin-bottom: 10px;
}

.stepBar .step {
  position: relative;
  display: inline-block;
  text-align: center;
  line-height: 44px;
  padding: 0 50px 0 20px;
  background-color: #ddd;
  color: #fff;
  font-weight: bold;
  width: 35%;
}

.stepBar .step:before, .stepBar .step:after {
  position: absolute;
  left: -13px;
  display: block;
  content: '';
  background-color: #ddd;
  border-left: 2px solid #FFF;
  width: 22px;
  height: 22px;
}

.stepBar .step:before {
  bottom: 0;
  transform: skew(-45deg);
}

.stepBar .step:after {
  top: 0;
  transform: skew(45deg);
}

.stepBar .step:first-child:before, .stepBar .step:first-child:after {
  content: none;
}

.stepBar .step:last-child {
  padding: 0;
  width: 30%;
}

.stepBar .step:last-child.current {
  background-color: #FF0211;
}

.stepBar .step:last-child.current:before, .stepBar .step:last-child.current:after {
  background-color: #FF0211;
}

.stepBar .step.current {
  background-color: #4191e8;
}

.stepBar .step.current:before, .stepBar .step.current:after {
  background-color: #4191e8;
}

#progbar {
  margin: 10px auto 20px auto;
  width: 50%;
  font-size: 12px;
}

article,
aside,
figure,
figcaption,
footer,
header,
nav,
section {
  display: block;
}

* {
  box-sizing: border-box;
}

body {
  font-size: 14px;
  line-height: 1.75;
}

body,
input,
textarea,
select,
button {
  font-family: 'Arial','Helvetica','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

body,
div,
pre,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
th,
td,
button,
figure,
figcaption {
  margin: 0;
  padding: 0;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
}

input,
textarea {
  margin: 0;
  font-size: 100%;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
}

textarea {
  resize: none;
}

button {
  overflow: visible;
  color: inherit;
  font-size: 100%;
  vertical-align: top;
  background: none;
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  font-size: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

img {
  height: auto;
  vertical-align: top;
}

address,
caption,
code,
em,
th {
  font-weight: 400;
  font-style: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
em {
  font-weight: 700;
  font-size: 100%;
}

sup,
sub {
  font-size: 63%;
}

sup {
  vertical-align: top;
}

sub {
  vertical-align: baseline;
}

* {
  box-sizing: border-box;
}

a:hover,
a:active,
a:focus {
  text-decoration: none;
}

.clearfix:before,
.clearfix:after,
.contents:before,
.contents:after {
  content: "";
  display: table;
}

.clearfix:after,
.contents:after {
  clear: both;
}

.clearfix,
.contents {
  *zoom: 1;
}

/*----------------------------------------------------
	form reset
----------------------------------------------------*/
input {
  border-radius: 0;
  -webkit-appearance: none;
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type="number"] {
  width: auto;
  /* Firefox 36+ */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Safari 8 */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

/*----------------------------------------------------
    base
----------------------------------------------------*/
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size-adjust: 100%;
}

html, body {
  height: 100%;
}

body {
  background: #fff;
  color: #000;
  line-height: 1.5;
  font-family: 'Lucida Grande','Noto Sans Japanese','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, sans-serif;
}

h1 {
  line-height: 1.3;
  font-size: 1.8rem;
  /*18px*/
}

h2 {
  font-size: 32px;
  padding: 30px 0;
}

h3 {
  font-size: 22px;
  margin-bottom: 15px;
}

h4 {
  font-size: 18px;
  margin-bottom: 5px;
}

.display-pc {
  display: block;
}

.display-sp {
  display: none;
}

.show-translate {
  color: #4191e8;
  font-size: 14px !important;
  font-weight: normal !important;
  display: block;
}

.area__visual {
  width: 100%;
  height: 100vh;
  position: relative;
  padding-top: 50px;
}

.area__visual--inner {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  margin-top: -30px;
}

.area__visual--ttl {
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding-bottom: 40px;
}

.area__visual--ttl h2 {
  font-size: 52px;
  text-shadow: -1px -1px 2px rgba(0, 0, 0, 0.5);
}

.area__visual--ttl p {
  font-size: 28px;
  text-shadow: -1px -1px 2px rgba(0, 0, 0, 0.5);
}

.area__visual--search .search-item {
  margin: 60px auto;
  width: 850px;
  height: 65px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 60px;
}

.area__visual--search .search-item ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 11px 0 0 0;
}

.area__visual--search .search-item ul li {
  border-left: 1px solid #ddd;
  height: 45px;
  padding: 0 15px;
}

.area__visual--search .search-item ul li a {
  display: block;
  color: #717171;
  font-size: 15px;
}

.area__visual--search .search-item ul li a p.select-ttl {
  font-size: 15px;
  color: #717171;
  padding-top: 10px;
}

.area__visual--search .search-item ul li a .selected p {
  font-size: 14px;
  color: #000;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  min-height: 20px;
}

.area__visual--search .search-item ul li span {
  display: block;
  color: #717171;
  font-size: 12px;
  font-weight: bold;
}

.area__visual--search .search-item ul li:nth-child(1) {
  border-left: none;
  width: 30%;
}

.area__visual--search .search-item ul li:nth-child(1) a {
  padding-left: 30px;
  position: relative;
}

.area__visual--search .search-item ul li:nth-child(1) a:after {
  position: absolute;
  top: 50%;
  right: 0;
  bottom: auto;
  left: auto;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 7px;
  height: 7px;
  border-top: solid 2px #717171;
  border-right: solid 2px #717171;
  transform: rotate(135deg);
}

.area__visual--search .search-item ul li:nth-child(2) {
  width: 35%;
}

.area__visual--search .search-item ul li:nth-child(3) {
  width: 10%;
}

.area__visual--search .search-item ul li:nth-child(4) {
  width: 25%;
}

.area__visual--search .search-item ul li:nth-child(4) input::-moz-placeholder {
  color: #aaa;
}

.area__visual--search .search-item ul li:nth-child(4) input:-ms-input-placeholder {
  color: #aaa;
}

.area__visual--search .search-item ul li:nth-child(4) input::placeholder {
  color: #aaa;
}

.area__visual--search .search-btn {
  margin: 0 auto;
  width: 300px;
  height: 60px;
}

.area__visual--search .search-btn button {
  background-color: #FF0211;
  text-align: center;
  width: 300px;
  height: 60px;
  padding: 0;
  border-radius: 60px;
}

.area__visual--search .search-btn button span {
  display: block;
  margin: 0 auto;
  width: 100px;
  background: #FF0211 url("/assets/img/icn_search_wh.png") no-repeat 0 center;
  background-size: auto 20px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 10px;
  padding-left: 20px;
}

.detail__flex {
  display: flex;
  flex-wrap: wrap;
}

.detail__ttl {
  order: 1;
  width: 100%;
  position: relative;
}

.detail__ttl .finalsale-timer {
  background-color: rgba(255, 37, 87, 0.1);
  color: #ff2557;
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  padding: 10px 0;
  border-radius: 10px;
  margin-top: 20px;
}

.detail__ttl h1 {
  font-size: 32px;
  padding: 30px 0 15px 0;
  font-weight: bold;
  line-height: 1.5;
}

.detail__ttl--index {
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.detail__ttl--index .row .tour-review {
  background: url("/assets/img/icn_review.png") no-repeat 0 2px;
  background-size: 15px auto;
  padding-left: 20px;
}

.detail__ttl--index .row .tour-review a {
  color: #000;
  text-decoration: underline;
}

.detail__ttl--index .row .tour-category {
  color: #717171;
}

.detail__ttl--index .sns-list {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

.detail__ttl--index .sns-list li {
  margin-left: 10px;
}

.detail__ttl--index .sns-list li:first-child {
  margin-left: 0;
}

.detail__ttl--index .sns-list li a {
  display: block;
  width: 30px;
  height: 30px;
}

.detail__ttl--index .sns-list li a.sns-tw {
  background: url("/assets/img/icn_tw.png") no-repeat 0 0;
  background-size: 30px 30px;
}

.detail__ttl--index .sns-list li a.sns-x {
  background: url("/assets/img/icn_x.png") no-repeat 0 0;
  background-size: 30px 30px;
}

.detail__ttl--index .sns-list li a.sns-fb {
  background: url("/assets/img/icn_fb.png") no-repeat 0 0;
  background-size: 30px 30px;
}

.detail__ttl--index .sns-list li a.sns-line {
  background: url("/assets/img/icn_line.png") no-repeat 0 0;
  background-size: 30px 30px;
}

.detail__visual {
  order: 2;
  margin: 0 auto;
  width: 1040px;
  padding: 20px 0;
  position: relative;
}

.detail__visual--img {
  display: grid;
  grid-template-rows: 190px 190px 1fr 1fr;
  grid-template-columns: 600px 1fr;
  gap: 10px 10px;
}

.detail__visual--img .thumbnail {
  position: relative;
}

.detail__visual--img .thumbnail .video-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  z-index: 11;
}

.detail__visual--img .thumbnail .video-icon:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.4);
  width: 48px;
  height: 48px;
}

.detail__visual--img .thumbnail .video-icon:after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 10px 0 10px 18px;
}

.detail__visual--img .thumbnail:hover .video-icon {
  display: none;
  opacity: 0;
  width: 0;
  height: 0;
}

.detail__visual--img .thumbnail:nth-child(n+6) {
  display: none;
}

.detail__visual--img .img-01 {
  grid-row: 1 / 3;
  grid-column: 1 / 2;
}

.detail__visual--img .img-01 video, .detail__visual--img .img-01 img {
  width: 600px;
  height: 390px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px 0 0 10px;
}

.detail__visual--img .img-02 {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
}

.detail__visual--img .img-02 video, .detail__visual--img .img-02 img {
  width: 210px;
  height: 190px;
  -o-object-fit: cover;
     object-fit: cover;
}

.detail__visual--img .img-03 {
  grid-row: 1 / 2;
  grid-column: 3 / 4;
  width: 210px;
}

.detail__visual--img .img-03 video, .detail__visual--img .img-03 img {
  width: 210px;
  height: 190px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 10px 0 0;
}

.detail__visual--img .img-04 {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  width: 210px;
}

.detail__visual--img .img-04 video, .detail__visual--img .img-04 img {
  width: 210px;
  height: 190px;
  -o-object-fit: cover;
     object-fit: cover;
}

.detail__visual--img .img-05 {
  grid-row: 2 / 3;
  grid-column: 3 / 4;
  width: 210px;
}

.detail__visual--img .img-05 video, .detail__visual--img .img-05 img {
  width: 210px;
  height: 190px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 0 10px 0;
}

.detail__visual .btn-wish {
  top: 35px;
  right: 15px;
}

.detail__visual .btn-share {
  position: absolute;
  display: block;
  top: 35px;
  right: 15px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff url("/assets/img/icn_share.png") no-repeat center center;
  background-size: auto 18px;
}

.detail__visual .btn-view {
  position: absolute;
  bottom: 65px;
  right: 15px;
  font-weight: bold;
  background: #fff url("/assets/img/icn_view.png") no-repeat 10px center;
  background-size: 12px auto;
  padding: 7px 15px 7px 35px;
  color: #000;
  border-radius: 5px;
}

.detail__content {
  margin: 0 auto;
  width: 1040px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.detail__content--left {
  width: 600px;
}

.detail__content--left > section {
  border-top: 1px solid #ddd;
  padding: 40px 0;
  font-size: 16px;
}

.detail__content--left > section.scroll {
  margin-right: -15px;
}

.detail__content--left > section.scroll .btn-box {
  margin-right: 15px;
}

.detail__content--left > section.nobrdr {
  border-top: none;
}

.detail__content--left.no-reservation > section:first-of-type {
  padding-top: 0;
}


.detail__content--left > section h2 {
  font-size: 21px;
  margin-bottom: 25px;
  font-weight: bold;
  line-height: 1.5;
  padding: 0;
}

.detail__content--left > section h2.review {
  padding-left: 155px;
  margin-bottom: 25px;
}

.detail__content--left > section h2.review50 {
  background: url("/assets/img/review50.png") no-repeat 0 0;
  background-size: auto 22px;
}

.detail__content--left > section h2.review45 {
  background: url("/assets/img/review45.png") no-repeat 0 0;
  background-size: auto 22px;
}

.detail__content--left > section h2.review40 {
  background: url("/assets/img/review40.png") no-repeat 0 0;
  background-size: auto 22px;
}

.detail__content--left > section h2.review35 {
  background: url("/assets/img/review35.png") no-repeat 0 0;
  background-size: auto 22px;
}

.detail__content--left > section h2.review30 {
  background: url("/assets/img/review30.png") no-repeat 0 0;
  background-size: auto 22px;
}

.detail__content--left > section h2.review25 {
  background: url("/assets/img/review25.png") no-repeat 0 0;
  background-size: auto 22px;
}

.detail__content--left > section h2.review20 {
  background: url("/assets/img/review20.png") no-repeat 0 0;
  background-size: auto 22px;
}

.detail__content--left > section h2.review15 {
  background: url("/assets/img/review15.png") no-repeat 0 0;
  background-size: auto 22px;
}

.detail__content--left > section h2.review10 {
  background: url("/assets/img/review10.png") no-repeat 0 0;
  background-size: auto 22px;
}

.detail__content--left > section h2.review05 {
  background: url("/assets/img/review05.png") no-repeat 0 0;
  background-size: auto 22px;
}

.detail__content--left > section h2.review0 {
  padding-left: 0;
  margin-bottom: 0;
}

.detail__content--left > section .anchor {
  padding-top: 150px;
  margin-top: -150px;
  display: block;
}

.detail__content--left .caution {
  background-color: #f5f5f5;
  color: #FF0211;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 25px;
}

.detail__content--right {
  width: 350px;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 30px 20px;
}

.detail__content--right .tour-price {
  color: #ff2557;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

.detail__content--right .tour-select {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 15px 0 30px 0;
  font-size: 10px;
  font-weight: bold;
}

.detail__content--right .tour-select a {
  color: #000;
  position: relative;
  display: inline-block;
}

.detail__content--right .tour-select a p {
  font-size: 14px;
  font-weight: normal;
}

.detail__content--right .tour-select a.tour-select-date {
  width: 60%;
  padding: 15px;
  border: 2px solid #4dcebc;
  border-right: 1px solid #4dcebc;
  border-radius: 10px 0 0 10px;
}

.detail__content--right .tour-select a.tour-select-date.active, .detail__content--right .tour-select a.tour-select-date:hover {
  border: 2px solid #4dcebc;
  border-right: 1px solid #4dcebc;
  background-color: #E9F7F6;
}

.detail__content--right .tour-select a.tour-select-date::before {
  content: '';
  background: url(/assets/img/icn_calendar.png) no-repeat center center;
  background-size: auto 20px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: auto;
  right: 10px;
  bottom: auto;
  left: auto;
}

.detail__content--right .tour-select a.tour-select-member {
  width: 40%;
  padding: 15px;
  border: 2px solid #4dcebc;
  border-radius: 0 10px 10px 0;
  border-left: 1px solid #4dcebc;
}

.detail__content--right .tour-select a.tour-select-member.active, .detail__content--right .tour-select a.tour-select-member:hover {
  border: 2px solid #4dcebc;
  border-left: 1px solid #4dcebc;
  background-color: #E9F7F6;
}

.detail__content--right .tour-select a.tour-select-member::before {
  content: '';
  background: url(/assets/img/icn_user.png) no-repeat center center;
  background-size: auto 17px;
  width: 17px;
  height: 17px;
  position: absolute;
  top: auto;
  right: 10px;
  bottom: auto;
  left: auto;
}

.detail__content--right .tour-list .tour-date {
  text-align: center;
}

.detail__content--right .tour-list li {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 10px;
  margin-top: 15px;
}

.detail__content--right .tour-list li del {
  color: #b0b0b0;
}

.detail__content--right .tour-list li a {
  color: #000;  
  display: block;
  border-radius: 15px;
  padding: 15px;
  border: 1px solid #ccc;
}

.detail__content--right .tour-list li a.active, .detail__content--right .tour-list li a:hover {
  padding: 14px;
  background-color: #E9F7F6;
  border: 2px solid #4dcebc;
}

.detail__content--right .tour-list li a.active .tour-choice, .detail__content--right .tour-list li a:hover .tour-choice {
  background-color: #4dcebc;
}

.detail__content--right .tour-list li a.active .sale-price, .detail__content--right .tour-list li a:hover .sale-price {
  background-color: transparent;
}

.detail__content--right .tour-list li .tour-time {
  font-weight: bold;
}

.detail__content--right .tour-list li .sale-price {
  color: #FF0211;
  font-weight: bold;
  background-color: rgba(255, 2, 17, 0.05);
  padding: 3px 8px;
  margin-top: 5px;
}

.detail__content--right .tour-list li .sale-price span {
  font-weight: normal;
  font-size: 13px;
}

.detail__content--right .tour-list li .tour-choice {
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: auto;
  left: auto;
  background-color: #ccc;
  color: #fff;
  font-weight: bold;
  padding: 5px 12px;
  border-radius: 15px;
}

.detail__bar--pc {
  position: fixed;
  left: 0;
  top: 51px;
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
  z-index: 100;
}

.detail__bar--pc.no-reservation {
  padding: 10px 0;
}

.detail__bar--pc.no-reservation .detail-tab a span {
  padding: 0 0 10px 0;
}

.detail__bar--pc .detail-tab {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.detail__bar--pc .detail-tab a {
  padding: 0 40px 0 0;
  color: #000;
  font-weight: bold;
}

.detail__bar--pc .detail-tab a span {
  display: inline-block;
  border-bottom: 2px solid #fff;
  padding: 0 0 28px 0;
}

.detail__bar--pc .detail-tab a:hover {
  color: #FF0211;
}

.detail__bar--pc .detail-tab a:hover span {
  border-bottom: 2px solid #FF0211;
}

.detail__bar--pc p {
  color: #ff2557;
  font-size: 15px;
  font-weight: bold;
  margin-right: 20px;
}

.detail__bar--pc .btn-box {
  width: 132px;
  margin: 0;
}

.detail__bar--pc .btn-box a {
  margin: 0;
}

.detail__bar--sp {
  display: none;
}

.partner {
  background: url("/assets/img/icn_partner.png") no-repeat 0 center;
  background-size: auto 17px;
  padding-left: 20px;
  margin-top: 10px;
}

.badge-finalsale {
  display: inline-block;
  background-color: #ff2557;
  color: #fff;
  border-radius: 3px;
  padding: 3px 8px;
  font-size: 13px;
  font-weight: normal;
}

.pay__local {
  display: inline-block;
  font-weight: bold;
  font-size: 13px;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

.pay__local:before {
  content: '現地決済';
  border: 1px solid #22ac38;
  color: #22ac38;
  padding: 3px 8px;
  border-radius: 20px;
}

.pay__prepaid {
  display: inline-block;
  font-weight: bold;
  font-size: 13px;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

.pay__prepaid:before {
  content: '事前決済';
  border: 1px solid #ff9219;
  color: #ff9219;
  padding: 3px 8px;
  border-radius: 20px;
}

.modal-price {
  margin-bottom: 10px;
}

.modal-price li {
  border-bottom: 1px solid #ddd;
  padding: 15px 5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-price li p {
  font-weight: bold;
  font-size: 15px;
}

.m-share {
  font-weight: bold;
}

.m-share .tour-thumb {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 15px;
}

.m-share .tour-thumb img {
  width: 60px;
  height: 60px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
  margin-right: 10px;
}

.m-share ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.m-share ul li {
  width: 50%;
  margin-bottom: 10px;
}

.m-share ul li a {
  display: block;
  padding: 10px 10px 10px 45px;
  color: #000;
}

.m-share ul li a.share-line {
  background: url("/assets/img/icn_line.png") no-repeat 0 center;
  background-size: 35px auto;
}

.m-share ul li a.share-mail {
  background: url("/assets/img/icn_mail.png") no-repeat 0 center;
  background-size: 35px auto;
}

.m-share ul li a.share-fb {
  background: url("/assets/img/icn_fb.png") no-repeat 0 center;
  background-size: 35px auto;
}

.m-share ul li a.share-tw {
  background: url("/assets/img/icn_tw.png") no-repeat 0 center;
  background-size: 35px auto;
}

.m-share ul li a.share-x {
  background: url("/assets/img/icn_x.png") no-repeat 0 center;
  background-size: 35px auto;
}

.m-share .copy {
  border: 1px solid #ddd;
  border-radius: 5px;
  height: 45px;
  padding: 12px 10px 10px 10px;
  display: block;
  font-weight: normal;
  position: relative;
}

.m-share .copy p {
  position: absolute;
  top: 5px;
  right: 5px;
  background-color: #FF0211;
  color: #fff;
  font-weight: bold;
  padding: 7px 13px 5px 13px;
  height: 33px;
  border-radius: 5px;
  cursor: pointer;
}

.mark-insurance {
  background: #d0c256 url("/assets/img/icn_insurance.png") no-repeat 7px center;
  background-size: auto 14px;
  color: #fff;
  padding: 2px 10px 2px 25px;
  border-radius: 30px;
  display: inline-block;
  margin-bottom: 10px;
}

.mark-insurance.not {
  background: #ddd url("/assets/img/icn_insurance.png") no-repeat 7px center;
  background-size: auto 14px;
}

.faq__content {
  margin: 0 auto;
  width: 1040px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.faq__content--left {
  width: 600px;
}

.faq__content--left h3 {
  font-size: 20px;
}

.faq__content--right {
  width: 350px;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 20px;
}

.faq__content--right h4 {
  font-size: 18px;
  margin-bottom: 15px;
}

.faq__list {
  margin-top: -15px;
}

.faq__list li {
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
}

.faq__list li a {
  display: block;
  color: #000;
  position: relative;
  padding-right: 30px;
}

.faq__list li a:before {
  content: '';
  width: 10px;
  height: 10px;
  border-top: solid 2px #717171;
  border-right: solid 2px #717171;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -5px;
  transform: rotate(45deg);
}

.faq__category a {
  display: block;
  margin-bottom: 10px;
}

.faq__category a:last-child {
  margin-bottom: 0;
}

.faq__category a:hover {
  text-decoration: underline;
}

.information {
  padding-top: 40px;
}

.information__list ul li {
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
}

.information__list ul li a {
  display: block;
  color: #000;
  position: relative;
  padding-right: 40px;
}

.information__list ul li a:before {
  content: '';
  width: 10px;
  height: 10px;
  border-top: solid 2px #717171;
  border-right: solid 2px #717171;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -5px;
  transform: rotate(45deg);
}

.information__list ul li a p {
  display: block;
  color: #000;
  font-size: 18px;
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.information__list ul li a span.date {
  display: block;
  color: #717171;
  font-weight: bold;
  position: relative;
}

.information__list ul li a span.date.new:after {
  position: absolute;
  top: 1px;
  right: auto;
  bottom: auto;
  left: auto;
  content: "NEW";
  color: #e60012;
  border: 1px solid #e60012;
  font-size: 8px;
  padding: 0 7px;
  border-radius: 10px;
  margin-left: 5px;
}

.information__detail {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 16px;
}

.information__detail--content {
  width: 610px;
}

.information__detail--content h2 {
  font-size: 26px;
  padding-top: 0;
}

.information__detail--content img {
  width: 100%;
}

.information__detail--content p.date {
  color: #717171;
  margin-bottom: 15px;
}

.information__detail--content a:hover {
  text-decoration: underline;
}

.information__detail--content .btn-box a:hover {
  text-decoration: none;
}

.information__detail--list {
  width: 300px;
}

.information__detail--list h3 {
  font-size: 18px;
  margin-bottom: 15px;
}

.information__detail--list ul {
  border-bottom: 1px solid #ddd;
  margin-bottom: 15px;
}

.information__detail--list ul li {
  border-top: 1px solid #ddd;
  padding: 15px 0;
}

.information__detail--list ul li p.date {
  color: #717171;
  margin-bottom: 5px;
}

.information__detail--list ul li a {
  color: #000;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.information__detail--list ul li a:hover {
  text-decoration: underline;
}

.information__thumblist ul {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.information__thumblist ul li {
  width: calc(33.33333% - 20px * 2 / 3);
  margin-right: 20px;
  margin-bottom: 50px;
  font-weight: bold;
}

.information__thumblist ul li:nth-child(3) {
  margin-right: 0;
}

.information__thumblist ul li:nth-child(n+4) {
  width: calc(25% - 20px * 3 / 4);
  margin-right: 20px;
}

.information__thumblist ul li:nth-child(n+4) img {
  height: 160px;
  -o-object-fit: cover;
     object-fit: cover;
}

.information__thumblist ul li:nth-child(4n+7) {
  margin-right: 0;
}

.bg .information__list {
  margin-right: 0;
}

.login {
  background-color: #f5f5f5;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 40px 0;
  width: 760px;
  margin: 0 auto;
}

.login__form {
  width: 55%;
  padding: 0 40px;
  border-right: 1px solid #ddd;
}

.login__form .form__text {
  margin-bottom: 10px;
  position: relative;
}

.login__form .field-icon {
  top: 10px;
}

.login__form .err-msg {
  margin-top: 3px;
}

.login__btn {
  width: 45%;
  padding: 0 40px;
}

.login__btn a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-radius: 5px;
  font-weight: bold;
  color: #fff;
  position: relative;
  margin-bottom: 15px;
}

.login__btn a p {
  padding-left: 15px;
}

.login__btn--yahoo {
  border: 2px solid #e51715;
  background-color: #e51715;
}

.login__btn--yahoo:before {
  content: '';
  width: 45px;
  height: 45px;
  background: #fff url("/assets/img/icn_yahoo.png") no-repeat center center;
  background-size: 25px 25px;
  border-radius: 3px 0 0 3px;
}

.login__btn--fb {
  border: 2px solid #385495;
  background-color: #385495;
}

.login__btn--fb:before {
  content: '';
  width: 45px;
  height: 45px;
  background: #fff url("/assets/img/icn_fb.png") no-repeat center center;
  background-size: 25px 25px;
  border-radius: 3px 0 0 3px;
}

.login__btn--line {
  border: 2px solid #31ae36;
  background-color: #31ae36;
}

.login__btn--line:before {
  content: '';
  width: 45px;
  height: 45px;
  background: #fff url("/assets/img/icn_line.png") no-repeat center center;
  background-size: 25px 25px;
  border-radius: 3px 0 0 3px;
}

.login__btn--google {
  border: 2px solid #1976d2;
  background-color: #1976d2;
}

.login__btn--google:before {
  content: '';
  width: 45px;
  height: 45px;
  background: #fff url("/assets/img/icn_google.png") no-repeat center center;
  background-size: 25px 25px;
  border-radius: 3px 0 0 3px;
}

.login__btn--apple {
  height: 49px;
  background-color: #000 !important;
  background: #fff url("/assets/img/icn_apple.png") no-repeat center center;
  background-size: auto 16px;
}

.login__btn--apple p {
  display: none;
}

.login__btn--bym {
  border: 2px solid #000000;
  /*background-color: #eeeeee;*/
  background-color: #000000;
  /*color: #142950 !important;*/
}

.login__btn--bym:before {
  content: '';
  width: 45px;
  height: 45px;
  background: #fff url("/assets/img/icn_buyma.png") no-repeat center center;
  background-size: 25px 25px;
  border-radius: 3px 0 0 3px;
}

.input-control:not(*):-moz-placeholder-shown {
  display: block;
}

.input-control:not(*):-ms-input-placeholder {
  display: block;
}

.input-control:not(*):placeholder-shown, .input-label {
  display: block;
}

.input-control:-moz-placeholder-shown ~ .input-label {
  display: none;
}

.input-control:-ms-input-placeholder ~ .input-label {
  display: none;
}

.input-control:placeholder-shown ~ .input-label {
  display: none;
}

.input-control:focus ~ .input-label {
  display: block;
}

.lp__visual {
  width: 100%;
  height: 100vh;
  position: relative;
}

.lp__visual--movie {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  z-index: 1;
}

.lp__visual--movie video {
  min-width: 100%;
  min-height: 100vh;
  z-index: 1;
}

.lp__visual--bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100vh;
  background-color: rgba(35, 24, 21, 0.7);
  color: #fff;
  text-align: center;
  font-size: 35px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 51px;
  z-index: 10;
}

.lp__visual--bar--inner {
  margin-top: -30px;
}

.lp__visual--bar p {
  margin-bottom: 30px;
}

.lp__visual--bar button {
  background-color: #FF0211;
  color: #fff;
  font-size: 18px;
  padding: 15px 50px;
  border-radius: 40px;
}

.lp__visual--bar--scroll {
  position: absolute;
  left: 50%;
  margin: 0px -7.5px;
}

.lp__visual--bar--scroll:after {
  content: "";
  position: absolute;
  top: 20px;
  width: 15px;
  height: 15px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(45deg);
  -webkit-animation: lp__visual--bar--scroll--after--move 3s ease infinite;
          animation: lp__visual--bar--scroll--after--move 3s ease infinite;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  opacity: 0;
}

@-webkit-keyframes lp__visual--bar--scroll--after--move {
  0% {
    top: 20px;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 40px;
    opacity: 0;
  }
}

@keyframes lp__visual--bar--scroll--after--move {
  0% {
    top: 20px;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 40px;
    opacity: 0;
  }
}

.lp__visual--bar--scroll:before {
  content: "";
  position: absolute;
  top: 30px;
  width: 15px;
  height: 15px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(45deg);
  -webkit-animation: lp__visual--bar--scroll--before--move 3s ease infinite;
          animation: lp__visual--bar--scroll--before--move 3s ease infinite;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  opacity: 0;
}

@-webkit-keyframes lp__visual--bar--scroll--before--move {
  0% {
    top: 30px;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 50px;
    opacity: 0;
  }
}

@keyframes lp__visual--bar--scroll--before--move {
  0% {
    top: 30px;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 50px;
    opacity: 0;
  }
}

.lp__lead {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
}

.lp__about {
  background-color: #dfdfdf;
  padding: 50px 0;
}

.lp__about ul {
  width: 1040px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 60px;
}

.lp__about ul li {
  width: 300px;
  height: 580px;
  margin-right: 30px;
  margin-bottom: 50px;
  text-align: center;
  background-color: #fff;
  border-radius: 15px 15px 0 0;
  position: relative;
}

.lp__about ul li:nth-child(3) {
  margin-right: 0;
}

.lp__about ul li img {
  width: 250px;
  position: relative;
}

.lp__about--txt {
  background-color: #231815;
  border-radius: 0 0 15px 15px;
  width: 100%;
  height: 240px;
  position: absolute;
  top: 350px;
  left: 0;
  z-index: 2;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  padding: 30px 5px 0 5px;
}

.lp__about--txt p {
  font-size: 11px;
  line-height: 16px !important;
  font-weight: normal;
  margin-top: 15px;
  text-align: left;
}

.lp__fare {
  text-align: center;
  padding: 20px 0;
}

.lp__fare a {
  font-size: 18px;
  color: #000;
  text-decoration: underline;
  margin-top: 5px;
}

.lp__fare .inner {
  margin-top: 20px;
}

.lp__fare .inner h4 {
  margin-bottom: 30px;
  font-size: 28px;
}

.lp__fare .inner ul {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

.lp__fare .inner ul li {
  width: 49%;
  padding: 0px 0px 20px 0;
  border: 3px solid #231815;
  border-radius: 15px;
}

.lp__fare--ttl {
  background-color: #231815;
  padding: 15px 0px;
  font-size: 21px;
  color: #fff;
  border-radius: 10px 10px 0 0;
  margin-bottom: 20px;
}

.lp__fare--lead {
  font-size: 25px;
  font-weight: bold;
  margin-bottom: 20px;
}

.lp__fare--plan {
  display: inline-block;
  padding: 10px 15px;
  background-color: #41c5b0;
  margin-bottom: 20px;
  color: #fff;
  font-weight: bold;
}

.lp__fare--txt {
  padding: 0 30px;
  text-align: left;
}

.lp__fare button {
  background-color: #FF0211;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  padding: 15px 60px;
  border-radius: 40px;
  margin-top: 55px;
}

.lp__feature {
  max-width: 1440px;
  margin: 0 auto;
}

.lp__feature--01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  height: 600px;
}

.lp__feature--01 img {
  position: absolute;
  left: -40px;
  height: 600px;
  border-radius: 5px;
}

.lp__feature--01 .lp__feature--txt {
  margin-top: -40px;
}

.lp__feature--02 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  height: 600px;
  margin-top: -40px;
}

.lp__feature--02 img {
  position: absolute;
  right: -40px;
  height: 600px;
  border-radius: 5px;
}

.lp__feature--02 .lp__feature--txt {
  margin-top: 40px;
}

.lp__feature--03 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  height: 600px;
}

.lp__feature--03 img {
  position: absolute;
  left: -40px;
  height: 600px;
  border-radius: 5px;
}

.lp__feature--03 .lp__feature--txt {
  margin-top: 0;
}

.lp__feature--txt {
  width: 1040px;
  margin: 0 auto;
  font-size: 28px;
  position: relative;
}

.lp__feature--txt h4 {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 20px;
}

.lp__feature--txt p {
  font-size: 16px;
  margin-top: 20px;
}

.lp__step {
  margin-bottom: 125px !important;
}

.lp__step ol {
  width: 620px;
  margin: 30px auto;
}

.lp__step ol li {
  font-size: 24px;
  margin-bottom: 50px;
  position: relative;
}

.lp__step ol li:before {
  display: inline-block;
  position: absolute;
  left: -100px;
  top: 10px;
  width: 70px;
  height: 70px;
  line-height: 70px;
  text-align: center;
  background-color: #ff2557;
  color: #fff;
  font-size: 38px;
  font-weight: bold;
  border-radius: 50%;
}

.lp__step ol li:nth-child(1):before {
  content: '1';
}

.lp__step ol li:nth-child(2):before {
  content: '2';
}

.lp__step ol li:nth-child(3):before {
  content: '3';
}

.lp__step ol li p {
  font-size: 38px;
  font-weight: bold;
}

.lp__step ul {
  width: 1020px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.lp__step ul li {
  width: 33.3333%;
  text-align: center;
  padding-top: 30px;
}

.lp__step ul li img {
  width: 209px;
}

.lp__count {
  background-color: #231815;
  color: #fff;
  font-size: 40px;
  font-weight: bold;
  padding: 60px 0 0 0;
  text-align: center;
  margin-bottom: 0 !important;
}

.lp__count .count {
  font-size: 74px;
}

.lp__count .txt {
  font-size: 30px;
  font-weight: normal;
  margin-top: 5px;
}

.lp__footer {
  background-color: #231815;
  color: #fff;
  text-align: center;
  font-size: 18px;
  padding: 50px 0 170px 0;
}

.lp__footer img {
  height: 50px;
  margin-bottom: 30px;
}

.lp__footer a {
  color: #fff;
  text-decoration: underline;
}

.lp__footer button {
  background-color: #FF0211;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  padding: 15px 60px;
  border-radius: 40px;
  margin: 60px 0 30px 0;
}

.lp__fix {
  position: fixed !important;
  bottom: 0;
  width: 100%;
  z-index: 200;
  background-color: #fff;
  margin-bottom: 0 !important;
  font-size: 20px;
  padding: 30px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 1px solid #ccc;
}

.lp__fix a {
  background-color: #FF0211;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 10px 50px;
  border-radius: 40px;
  margin-left: 50px;
}

.lp__incentiveprogram {
  margin-top: -100px;
  padding-top: 100px;
}

.lp__incentive .inner {
  text-align: center;
}

.lp__incentive p {
  margin-bottom: 30px;
  font-size: 18px;
}

.lp__incentive--ttl {
  font-family: "Hiragino Kaku Gothic Std" , "ヒラギノ角ゴ Pro W3","Meiryo", "メイリオ", "sans-serif";
  margin-bottom: 40px;
  position: relative;
}

.lp__incentive--ttl span {
  color: #000 !important;
}

.lp__incentive--ttl::after {
  content: '';
  display: inline-block;
  width: 100px;
  height: 100px;
  background-image: url("/assets/img/lp_incentive_ttl.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -45px;
  right: 20px;
  bottom: auto;
  left: auto;
}

.lp__incentive--ttl::before {
  content: '';
  display: inline-block;
  width: 100px;
  height: 100px;
  background-image: url("/assets/img/lp_incentive_ttl.png");
  background-repeat: no-repeat;
  background-size: contain;
  transform: scale(-1, 1);
  position: absolute;
  top: -45px;
  right: auto;
  bottom: auto;
  left: 20px;
}

.lp__incentive--lead {
  display: inline-block;
  width: 95%;
  max-width: 600px;
  background-color: #231815;
  padding: 15px 30px;
  border-radius: 60px;
  margin-bottom: 30px;
  font-size: 21px;
  color: #fff;
  font-weight: bold;
}

.lp__incentive--txt {
  font-weight: bold;
  color: #231815;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.lp__incentive--txt p {
  padding: 10px 20px;
  margin: 0 10px;
  border: solid #231815 3px;
}

.lp__incentive .feature {
  background-image: linear-gradient(#fff 0 100%), repeating-linear-gradient(135deg, #6BC6B4 0 7px, #c1e8e8 5px 15px);
  background-repeat: no-repeat;
  background-position: center;
  background-size: calc(100% - 25px) calc(100% - 25px), 100%;
  padding: 30px 20px 20px;
  width: 500px;
  margin: 45px auto 40px;
  position: relative;
}

.lp__incentive .feature .feature-lead {
  display: inline-block;
  background-color: #ff2557;
  color: #fff;
  padding: 5px 30px;
  font-weight: bold;
  font-family: "Hiragino Kaku Gothic Std";
  position: relative;
  width: 275px;
  margin-bottom: 5px;
}

.lp__incentive .feature .feature-lead::before {
  content: "";
  border-style: solid;
  border-color: transparent #fff transparent transparent;
  border-width: 15px 15px 15px 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
}

.lp__incentive .feature .feature-lead::after {
  content: "";
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 15px 0 15px 15px;
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
}

.lp__incentive .feature .feature-price {
  font-weight: bold;
  font-size: 23px;
  font-family: "Hiragino Kaku Gothic Std" , "ヒラギノ角ゴ Pro W3","Meiryo", "メイリオ", "sans-serif";
  margin-top: -5px;
  margin-bottom: 10px;
  transform: scale(0.9, 1);
  color: #231815;
}

.lp__incentive .feature .feature-price span {
  color: #ff2557;
  font-size: 60px;
  margin-right: 10px;
  position: relative;
  top: 5px;
}

.lp__incentive .feature .feature-note {
  text-align: right;
  display: block;
  font-size: 10px;
}

.lp__incentive .feature .rbntop {
  position: absolute;
  top: -8px;
  right: auto;
  bottom: auto;
  left: -10px;
  overflow: hidden;
  display: inline-block;
  width: 100px;
  height: 80px;
}

.lp__incentive .feature .rbntop .rbntop-inner {
  position: relative;
  display: inline-block;
  top: 15px;
  left: -25px;
  width: 100px;
  padding: 10px 10px;
  background: linear-gradient(45deg, #ff2557, #F2A4A8 40%, #F2A4A8 50%, #F2A4A8 60%, #ff2557);
  transform: rotate(-45deg);
}

.lp__incentive .feature .rbntop .rbntop-inner::before {
  content: "";
  border-style: solid;
  border-color: transparent #C24033 transparent transparent;
  border-width: 6px 6px 6px 0;
  position: absolute;
  top: 17px;
  right: 7px;
  bottom: auto;
  left: auto;
  transform: rotate(-90deg);
}

.lp__incentive .feature .rbntop .rbntop-inner::after {
  content: "";
  border-style: solid;
  border-color: transparent #C24033 transparent transparent;
  border-width: 7px 7px 7px 0;
  position: absolute;
  top: 16.5px;
  right: auto;
  bottom: auto;
  left: 8px;
  transform: rotate(-90deg);
}

.lp__incentive .feature .rbnbottom {
  position: absolute;
  top: auto;
  right: -5px;
  bottom: -5px;
  left: auto;
  overflow: hidden;
  display: inline-block;
  width: 60px;
  height: 72px;
}

.lp__incentive .feature .rbnbottom .rbnbottom-inner {
  position: relative;
  display: inline-block;
  right: 0px;
  top: 39px;
  width: 95px;
  padding: 8px 10px;
  background: linear-gradient(45deg, #ff2557, #F2A4A8 40%, #F2A4A8 50%, #F2A4A8 60%, #ff2557);
  transform: rotate(135deg);
}

.lp__incentive .feature .rbnbottom .rbnbottom-inner::before {
  content: "";
  border-style: solid;
  border-color: transparent #C24033 transparent transparent;
  border-width: 4px 4px 4px 0;
  position: absolute;
  top: 14px;
  right: 6px;
  bottom: auto;
  left: auto;
  transform: rotate(-90deg);
}

.lp__incentive .feature .rbnbottom .rbnbottom-inner::after {
  content: "";
  border-style: solid;
  border-color: transparent #C24033 transparent transparent;
  border-width: 4px 4px 4px 0;
  position: absolute;
  top: 14px;
  right: auto;
  bottom: auto;
  left: 23px;
  transform: rotate(-90deg);
}

.lp__incentive--desc {
  background-color: #eaeaea;
  display: inline-block;
  width: 620px;
  padding: 15px 20px;
  border-radius: 10px;
  text-align: left;
  line-height: 1.8;
  font-size: 16px;
  margin-bottom: 30px;
}

.lp__programstep .inner {
  text-align: left;
  width: 640px;
  margin: 30px auto;
}

.lp__programstep--ttl {
  font-size: 38px;
  text-align: center;
  margin-bottom: 50px;
}

.lp__programstep--lead {
  font-size: 24px;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
}

.lp__programstep--lead span {
  padding: 5px 10px;
  border: solid 3px #ff2557;
  margin-right: 20px;
  color: #ff2557;
  font-size: 20px;
  white-space: nowrap;
}

.lp__programstep--txt {
  margin-bottom: 55px;
}

.lp__programstep--txt p {
  font-size: 18px;
  margin-bottom: 0;
  word-break: break-all;
}

.lp__programstep--txt a {
  color: #000;
}

.lp__programstep--txt a:hover {
  text-decoration: underline;
}

.lp__programstep--txt span {
  margin-top: 30px;
  display: inline-block;
  font-size: 13px;
  color: #444444;
}

.lp__campaigninfo .inner {
  text-align: left;
  width: 640px;
  margin: 30px auto;
}

.lp__campaigninfo--ttl {
  text-align: left;
  margin-bottom: 30px;
  font-size: 20px;
  border: solid #231815 3px;
  display: inline-block;
  padding: 5px 20px;
  border-radius: 60px;
}

.lp__campaigninfo--txt {
  margin-bottom: 55px;
}

.lp__campaigninfo--txt p {
  font-size: 18px;
  margin-bottom: 0;
  word-break: break-all;
}

.lp__campaigninfo--txt span {
  margin-top: 30px;
  display: inline-block;
  font-size: 13px;
  color: #444444;
}

.lp__campaigninfo--list li {
  list-style-type: disc;
  margin: 0 20px 15px;
  word-break: break-all;
  font-size: 16px;
}

.lp__campaigninfo--list li a {
  color: #000;
}

.lp__campaigninfo--list li a:hover {
  text-decoration: underline;
}

.lp__campaigninfo--note span {
  display: inline-block;
  font-size: 13px;
  color: #444444;
  word-break: break-all;
  margin-bottom: 10px;
}

.lp__campaigninfo--note span a {
  color: #444444;
}

.lp__campaigninfo--note span a:hover {
  text-decoration: underline;
}

.lp__header .row p {
  margin-right: 15px;
}

.lp__header .row p.language-jp {
  padding-right: 30px;
  background: url("/assets/img/admin/icn_jp.png") no-repeat right center;
  background-size: 24px 24px;
}

.lp__header .row p.language-en {
  padding-right: 30px;
  background: url("/assets/img/admin/icn_en.png") no-repeat right center;
  background-size: 21px 21px;
}

.lp__header .row select {
  font-weight: normal;
  padding: 6px 35px 6px 10px;
}

.mail {
  border-top: 1px solid #ddd;
  height: 700px;
  margin-bottom: -79px;
}

.mail .inner {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}

.mail__loading {
  position: absolute;
  width: 400px;
  height: 700px;
  z-index: 100;
  background-color: rgba(255, 255, 255, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
}

.mail__title {
  border-top: 1px solid #ddd;
}

.mail__title ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.mail__title ul li {
  padding: 15px 0;
}

.mail__title ul li h4 {
  margin-bottom: 0;
}

.mail__title ul li:nth-child(1) {
  width: 400px;
  border-right: 1px solid #ddd;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.mail__title ul li:nth-child(2) {
  width: calc(100% - 400px);
}

.mail__title ul li:nth-child(2) h4 {
  padding-left: 20px;
}

.mail__list {
  width: 400px;
  height: 700px;
  overflow-y: auto;
  border-right: 1px solid #ddd;
  position: relative;
}

.mail__list a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  color: #717171;
  padding: 18px;
  position: relative;
}

.mail__list a img {
  width: 70px;
  height: 70px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  margin-right: 15px;
}

.mail__list a:hover {
  background-color: #f5f5f5;
}

.mail__list a.unread .tour-ttl, .mail__list a.unread .message {
  font-weight: bold;
  color: #000;
}

.mail__list a .tour-detail p:first-child {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5px;
}

.mail__list a .tour-detail p:first-child .number {
  position: relative;
}

.mail__list a .tour-detail p:first-child .number::before {
  content: "申込確定";
  display: inline-block;
  font-size: 10px;
  color: #41c8b7;
  border: 1px solid #41c8b7;
  border-radius: 20px;
  padding: 1px 9px;
  margin-right: 10px;
}

.mail__list a .tour-detail p:first-child .time {
  font-size: 11px;
}

.mail__list a .tour-detail p.tour-ttl {
  font-size: 15px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  margin-bottom: 5px;
}

.mail__list a .tour-detail p.message {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.mail__list a.mail-reservation p:first-child .number::before {
  content: "予約中";
  display: inline-block;
  font-size: 10px;
  color: #e60012;
  border: 1px solid #e60012;
  border-radius: 20px;
  padding: 1px 9px;
  margin-right: 10px;
}

.mail__list a.mail-cancel p:first-child .number::before {
  content: "キャンセル済み";
  display: inline-block;
  font-size: 10px;
  color: #666;
  border: 1px solid #666;
  border-radius: 20px;
  padding: 1px 9px;
  margin-right: 10px;
}

.mail__list a.mail-consultation p:first-child .number::before {
  content: "相談中";
  display: inline-block;
  font-size: 10px;
  color: #4191e8;
  border: 1px solid #4191e8;
  border-radius: 20px;
  padding: 1px 9px;
  margin-right: 10px;
}

.mail__list a.mail-finish p:first-child .number::before {
  content: "相談終了";
  display: inline-block;
  font-size: 10px;
  color: #717171;
  border: 1px solid #717171;
  border-radius: 20px;
  padding: 1px 9px;
  margin-right: 10px;
}

.mail iframe {
  border: none;
  width: calc(100% - 400px);
  height: 700px;
  overflow: hidden;
}

.mail__detail {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.mail__detail .btn-back {
  display: none;
}

.mail__detail .tour-index {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background-color: #eaeaea;
  width: 100%;
  padding: 20px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.mail__detail .tour-index--detail {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(100% - 140px);
}

.mail__detail .tour-index--detail img {
  width: 70px;
  height: 70px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  margin-right: 15px;
}

.mail__detail .tour-index--detail .tour-detail .number {
  color: #717171;
  font-weight: bold;
}

.mail__detail .tour-index--detail .tour-detail a.tour-ttl {
  font-size: 16px;
  font-weight: bold;
  display: block;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  color: #000;
  text-decoration: underline;
}

.mail__detail--chat {
  position: relative;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  padding-top: 130px;
}

.mail__detail--chat .message-content {
  padding: 0 10px;
}

.mail__detail--chat .message-content .message-keep {
  background-color: #FF0211;
  color: #fff;
  font-weight: bold;
  padding: 10px 50px;
  border-radius: 50px;
  text-align: center;
  margin: 15px 60px 30px 60px;
}

.mail__detail--chat .message-content .agency {
  width: 50%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.mail__detail--chat .message-content .agency img.img-round {
  margin-left: 10px;
  margin-right: 10px;
  width: 35px;
  height: 35px;
}

.mail__detail--chat .message-content .agency p {
  background-color: #eaeaea;
  border-radius: 10px;
  padding: 15px;
  width: calc(100% - 55px);
}

.mail__detail--chat .message-content .agency p.time {
  width: 100%;
  background-color: #fff;
  padding: 5px 0 5px 60px;
  font-size: 11px;
  font-weight: bold;
  color: #717171;
}

.mail__detail--chat .message-content .agency p a {
  background-color: #fff;
  border-radius: 5px;
  display: block;
  font-weight: bold;
  padding: 10px;
  margin-top: 10px;
}

.mail__detail--chat .message-content .customer {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: wrap;
}

.mail__detail--chat .message-content .customer p {
  display: block;
  width: calc(50% - 20px);
  margin-right: 10px;
  background-color: #4191e8;
  color: #fff;
  border-radius: 10px;
  padding: 15px;
}

.mail__detail--chat .message-content .customer p.time {
  width: 100%;
  background-color: #fff;
  padding: 5px;
  font-size: 11px;
  font-weight: bold;
  color: #717171;
  text-align: right;
}

.mail__detail .message-input {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  background-color: #fff;
  padding: 20px 20px 15px 20px;
  margin-top: 30px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 60;
}

.mail__detail .message-input .input-message {
  width: calc(100% - 90px);
}

.mail__detail .message-input .input-message textarea {
  width: 100%;
  border: 1px solid #b0b0b0;
  border-radius: 10px;
  padding: 10px 15px;
  height: 43px;
  max-height: 85px;
}

.mail__detail .message-input .input-message .file-name-list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}

.mail__detail .message-input .input-message .file-name-list li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 16px;
  margin-top: 5px;
  margin-right: 15px;
}

.mail__detail .message-input .btn-send {
  width: 40px;
  height: 40px;
  background: url("/assets/img/icn_send.png") no-repeat 0 0;
  background-size: 40px auto;
}

.mail__detail .message-input.disable {
  background-color: #ddd;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 85px;
}

.mail__detail .message-input.disable .form__file, .mail__detail .message-input.disable .input-message, .mail__detail .message-input.disable .btn-send {
  display: none;
}

.mail__detail .btn-finish {
  position: absolute;
  left: 15px;
  bottom: 50px;
}

.mail__detail .btn-finish a {
  display: inline-block;
  background-color: #717171;
  border-radius: 5px;
  padding: 5px 10px;
  color: #fff;
}

.mail__detail .btn-find {
  position: absolute;
  right: 0;
  bottom: 50px;
  z-index: 50;
  text-align: center;
  cursor: pointer;
}

.mail__detail .btn-find span {
  display: block;
  width: 40px;
  height: 40px;
  border: 1px solid #717171;
  border-radius: 3px;
  background: #fff url(/assets/img/icn_search.png) no-repeat center center;
  background-size: 16px auto;
}

.mail__detail .btn-find .btn-finish-space {
  cursor: default;
}

.mail__detail .btn-find.active {
  right: 5px;
  bottom: 60px;
}

.mail__detail .btn-find.active span {
  border: none;
  width: 30px;
  height: 30px;
  background: none;
  position: relative;
}

.mail__detail .btn-find.active span:before, .mail__detail .btn-find.active span:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  /* 棒の幅（太さ） */
  height: 13px;
  /* 棒の高さ */
  background: #231815;
}

.mail__detail .btn-find.active span:before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.mail__detail .btn-find.active span:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.mail__detail .btn-find.active span:hover {
  background-color: #f5f5f5;
}

.mail__detail .find-wrap {
  display: none;
  position: absolute;
  right: 0;
  bottom: 50px;
  z-index: 40;
}

.mail__detail .find-wrap.active {
  display: block;
}

.mail__detail .find-wrap .find-body {
  background-color: #fff;
  border: 1px solid #717171;
  border-radius: 3px;
  padding: 10px 35px 10px 10px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.mail__detail .find-wrap .find-body input[type="text"] {
  padding: 2px 7px;
  width: 200px;
  height: 30px;
  margin-right: 5px;
}

.mail__detail .find-wrap .find-body button:hover {
  background-color: #f5f5f5;
}

.mail__detail mark {
  background-color: #ffff00;
}

.mail__detail mark.current {
  background-color: #ff9219;
}

.mail.title {
  margin-bottom: 0;
}

.mail.title h4 {
  padding: 20px;
}

.cross-search input[type="text"] {
  padding: 5px 10px;
  width: 200px;
  height: 33px;
  margin-right: 10px;
  font-size: 14px !important;
}

.cross-search button {
  width: 33px;
  height: 33px;
  background: #fff url("/assets/img/icn_search.png") no-repeat center center;
  background-size: 14px auto;
  margin-right: 15px;
  border: 1px solid #717171;
  border-radius: 3px;
}

.mypage__head {
  padding: 30px 0 40px 0;
  font-weight: bold;
}

.mypage__head p {
  font-size: 21px;
}

.mypage__head a {
  text-decoration: underline;
}

.mypage__menu {
  width: 200px;
}

.mypage__menu section {
  border-bottom: 2px solid #ddd;
  padding: 20px 0 10px 0;
}

.mypage__menu section:first-child {
  padding: 0 0 10px 0;
}

.mypage__menu section p {
  color: #717171;
  font-weight: bold;
  font-size: 11px;
  margin-bottom: 15px;
}

.mypage__menu section ul li {
  margin-bottom: 15px;
}

.mypage__menu section ul li a {
  display: inline-block;
  font-size: 15px;
  color: #000;
  padding-left: 40px;
}

.mypage__menu section ul li a:hover {
  color: #4191e8;
  text-decoration: underline;
}

.mypage__menu section ul li a.mm {
  height: 27px;
  line-height: 27px;
}

.mypage__menu section ul li a.mm-search {
  background: url("/assets/img/icn_m_search.png") no-repeat 0 0;
  background-size: 27px auto;
}

.mypage__menu section ul li a.mm-reservation {
  background: url("/assets/img/icn_m_reservation.png") no-repeat 0 0;
  background-size: 27px auto;
}

.mypage__menu section ul li a.mm-mail {
  background: url("/assets/img/icn_m_mail.png") no-repeat 0 0;
  background-size: 27px auto;
  position: relative;
}

.mypage__menu section ul li a.mm-mail span {
  position: absolute;
  top: 4px;
  display: inline-block;
  width: 19px;
  height: 19px;
  line-height: 20px;
  border-radius: 50%;
  background-color: #ff2557;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 85%;
  margin-left: 2px;
}

.mypage__menu section ul li a.ma {
  height: 20px;
  line-height: 22px;
}

.mypage__menu section ul li a.ma-reservation {
  background: url("/assets/img/icn_a_reservation.png") no-repeat 2px 0;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-reservation:hover {
  background: url("/assets/img/icn_a_reservation.png") no-repeat 2px -20px;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-wish {
  background: url("/assets/img/icn_a_wish.png") no-repeat 1px 0;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-wish:hover {
  background: url("/assets/img/icn_a_wish.png") no-repeat 1px -20px;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-history {
  background: url("/assets/img/icn_a_history.png") no-repeat 1px 0;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-history:hover {
  background: url("/assets/img/icn_a_history.png") no-repeat 1px -20px;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-review {
  background: url("/assets/img/icn_a_review.png") no-repeat 0 0;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-review:hover {
  background: url("/assets/img/icn_a_review.png") no-repeat 0 -20px;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-user {
  background: url("/assets/img/icn_a_user.png") no-repeat 1px 0;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-user:hover {
  background: url("/assets/img/icn_a_user.png") no-repeat 1px -20px;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-credit {
  background: url("/assets/img/icn_a_credit.png") no-repeat 0 0;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-credit:hover {
  background: url("/assets/img/icn_a_credit.png") no-repeat 0 -20px;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-mail {
  background: url("/assets/img/icn_a_mail.png") no-repeat 0 0;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-mail:hover {
  background: url("/assets/img/icn_a_mail.png") no-repeat 0 -20px;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-pw {
  background: url("/assets/img/icn_a_pw.png") no-repeat 0 0;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-pw:hover {
  background: url("/assets/img/icn_a_pw.png") no-repeat 0 -20px;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-faq {
  background: url("/assets/img/icn_a_faq.png") no-repeat 0 0;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-faq:hover {
  background: url("/assets/img/icn_a_faq.png") no-repeat 0 -20px;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-contact {
  background: url("/assets/img/icn_a_contact.png") no-repeat 0 0;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-contact:hover {
  background: url("/assets/img/icn_a_contact.png") no-repeat 0 -20px;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-withdraw {
  background: url("/assets/img/icn_a_withdraw.png") no-repeat 0 0;
  background-size: 20px auto;
}

.mypage__menu section ul li a.ma-withdraw:hover {
  background: url("/assets/img/icn_a_withdraw.png") no-repeat 0 -20px;
  background-size: 20px auto;
}

.mypage__content {
  width: 730px;
  font-size: 15px;
}

.mypage__content h2 {
  padding-top: 0;
}

.mypage__content h2 p span {
  font-size: 32px;
  margin: 0 2px;
}

.mypage__content h2 p span.ttl-confirmed {
  color: #41c8b7;
}

.mypage__content h2 p span.hit-num:before {
  content: "（";
}

.mypage__content h2 p span.hit-num:after {
  content: "）";
}

.mypage__content h2 span {
  font-size: 32px;
  margin: 0 2px;
}

.mypage__content h2 span.ttl-confirmed {
  color: #41c8b7;
}

.mypage__content h2 span.hit-num:before {
  content: "（";
}

.mypage__content h2 span.hit-num:after {
  content: "）";
}

.mypage__content h3 {
  font-size: 22px;
  margin-bottom: 25px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.mypage__content h3 a {
  font-size: 16px;
  text-decoration: underline;
}

.mypage__content h4 {
  font-size: 22px;
  margin-bottom: 25px;
}

.mypage__content h5 {
  margin-bottom: 5px;
}

.mypage__content section {
  border-bottom: 1px solid #ddd;
  padding: 50px 0;
}

.mypage__content section .list__3col li {
  margin-bottom: 0;
}

.mypage__content section .link-img-rect img {
  height: 160px;
}

.mypage__content .txt__tour--search {
  height: auto;
}

.mypage__content .link-tour-ttl {
  font-size: 18px;
  font-weight: bold;
  color: #000;
  text-decoration: underline;
  display: block;
  margin-bottom: 15px;
}

.mypage__content .review-date {
  color: #717171;
  margin-bottom: 20px;
}

.mypage__alert {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  background-color: #f4cbc9;
  padding: 20px 15px;
  z-index: 9999;
}

.mypage__alert .btn-alert-close {
  position: absolute;
  top: 50%;
  right: 15px;
  display: block;
  width: 15px;
  height: 15px;
  margin-top: -9px;
  cursor: pointer;
}

.mypage__alert .btn-alert-close:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 15px;
  background: #000;
  transform: translate(-50%, -50%) rotate(45deg);
}

.mypage__alert .btn-alert-close:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 15px;
  background: #333;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.profile__visual {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
  margin-bottom: 40px;
}

.profile__visual--video {
  width: 60%;
  padding-right: 30px;
}

.profile__visual--video video {
  width: 100%;
  border-radius: 5px;
}

.profile__visual--name {
  width: 40%;
  text-align: center;
  margin: auto;
}

.profile__visual--name h2 {
  padding: 10px 0;
}

.profile__visual--name img {
  width: 100px;
  height: 100px;
  margin-bottom: 30px;
  margin-left: 0;
}

.profile__visual--name p {
  margin-bottom: 5px;
}

.profile__visual--name .review__icon {
  width: 105px;
  margin: 0 auto;
  padding-left: 0;
  margin-bottom: 20px;
}

.reservation__content {
  margin: 0 auto;
  width: 1040px;
  padding-top: 30px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}

.reservation__content--ttl {
  width: 600px;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-row-end: 1;
}

.reservation__content--ttl h2.mypage-pay {
  padding: 0 0 40px 0;
}

.reservation__content--ttl .caution {
  background-color: rgba(255, 2, 17, 0.05);
  border: 1px solid #FF0211;
  color: #FF0211;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 25px;
}

.reservation__content--left {
  width: 600px;
  grid-column-start: 1;
  grid-row-start: 2;
  grid-row-end: 3;
}

.reservation__content--left.mp-pay .payment-form .form > .form__radio > div {
  display: none;
}

.reservation__content--left section {
  padding-bottom: 30px;
}

.reservation__content--left h3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
}

.reservation__content--left h3 a {
  font-size: 15px;
  font-weight: normal;
  margin-right: 10px;
  text-decoration: underline;
}

.reservation__content--left .card-num {
  margin: 10px 0;
}

.reservation__content--right {
  grid-column-start: 2;
  grid-row-start: 1;
  grid-row-end: 3;
  margin-left: 90px;
  width: 350px;
}

.reservation__content--right .in {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 20px;
}

.reservation__content--right h4 {
  font-size: 15px;
  margin-bottom: 15px;
}

.reservation__content--right .tour-thumb {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.reservation__content--right .tour-thumb img {
  width: 100px;
  height: 100px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  margin-right: 10px;
}

.reservation__content--right .tour-thumb p {
  color: #717171;
  font-size: 12px;
  font-weight: bold;
}

.reservation__content--right .tour-thumb p a {
  text-decoration: underline;
  font-size: 16px;
  color: #000;
  display: block;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.reservation__content--right .tour-detail {
  border-top: 1px solid #ddd;
  margin-top: 20px;
  padding: 20px 0;
}

.reservation__content--right .tour-detail h3 {
  font-size: 20px;
  margin-bottom: 10px;
}

.reservation__content--right .tour-detail dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 5px;
}

.reservation__content--right .tour-detail dl dt {
  width: 70px;
  font-weight: bold;
  margin-bottom: 5px;
}

.reservation__content--right .tour-detail dl dd {
  width: calc(100% - 70px);
  margin-bottom: 5px;
}

.reservation__content--right .price-total {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  font-weight: bold;
  padding: 20px 0;
  margin-bottom: 20px;
}

.reservation__content--right .price-total .tour-price {
  text-align: right;
  font-size: 20px;
  color: #ff2557;
}

.reservation__content--right .price-total .tour-price span {
  display: block;
  font-size: 14px;
}

.reservation__content .tour-cancel.display-sp {
  font-size: 12px;
  border-top: 5px solid #ddd;
  border-bottom: none;
  padding: 30px 15px 0 15px;
  margin-top: -21px;
  margin-left: -15px;
  margin-right: -15px;
}

.reservation__content .tour-cancel.display-sp h4 {
  font-size: 12px;
  display: inline-block;
  margin-bottom: 0;
}

.reservation__content .tour-cancel h4 {
  font-size: 15px;
  margin-bottom: 10px;
}

.reservation__alert {
  border: 1px solid #ddd;
  padding: 20px;
  background-color: #f5f5f5;
}

.reservation__alert--ttl {
  font-size: 17px;
  font-weight: bold;
  color: #e60012;
  margin-bottom: 15px;
}

.reservation__alert--txt {
  margin-bottom: 15px;
  font-weight: bold;
}

.reservation__alert--list {
  font-size: 13px;
}

.reservation__alert--item {
  margin-bottom: 5px;
}

.reservation__alert--item a:hover {
  text-decoration: underline;
}

.reservation__tab {
  margin-bottom: 30px;
  border-bottom: 1px solid #ddd;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.reservation__tab a {
  display: inline-block;
  padding: 16px 0 18px 0;
  color: #717171;
  font-weight: bold;
  margin-right: 30px;
}

.reservation__tab a.current {
  color: #FF0211;
  border-bottom: 2px solid #FF0211;
}

.reservation__detail {
  position: relative;
}

.reservation__detail table th {
  font-weight: bold;
  padding-right: 20px;
}

.reservation__detail table th, .reservation__detail table td {
  padding-bottom: 15px;
}

.reservation__detail .tour-price {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  color: #ff2557;
  padding-top: 5px;
}

.reservation__detail .tour-price span {
  font-size: 14px;
  margin-left: 5px;
}

.reservation__detail .link-cancel {
  position: absolute;
  bottom: 0;
  right: 0;
  font-weight: bold;
}

.reservation__pay {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #fff;
  border-top: 1px solid #ddd;
  padding: 15px 0;
  color: #FF0211;
  z-index: 10;
}

.reservation__pay p {
  margin-right: 50px;
}

.reservation__pay a {
  width: 320px;
  text-align: center;
  margin-right: 0;
}

.sort__btn {
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
  margin-bottom: 0 !important;
}

.sort__btn .inner {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.sort__btn .inner::-webkit-scrollbar {
  display: none;
}

.sort__btn--filter {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-right: 1px solid #ddd;
  padding-right: 20px;
}

.sort__btn--filter a {
  display: block;
  color: #000;
}

.sort__btn--filter a p {
  border: 1px solid #fff;
  border-radius: 20px;
  height: 32px;
  line-height: 30px;
}

.sort__btn--filter a p span {
  border: 1px solid #ddd;
  border-radius: 20px;
  display: block;
  height: 30px;
  line-height: 28px;
  background: #fff url("/assets/img/icn_filter.png") no-repeat 12px center;
  background-size: 12px auto;
  padding: 0 10px 0 30px;
}

.sort__btn--filter a:hover p {
  border: 1px solid #000;
}

.sort__btn--filter a:hover p span {
  background: #f2f2f2;
  border: 1px solid #000;
  background: #f2f2f2 url("/assets/img/icn_filter.png") no-repeat 12px center;
  background-size: 12px auto;
}

.sort__btn--select {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 25px;
}

.sort__btn--select .js__filter {
  height: 32px;
  margin-right: 10px;
}

.sort__btn--select .js__filter input {
  display: none;
}

.sort__btn--select .js__filter input:checked + label p {
  border: 1px solid #000;
}

.sort__btn--select .js__filter input:checked + label p span {
  background: #f2f2f2;
  border: 1px solid #000;
}

.sort__btn--select .js__filter label {
  margin-top: 10px;
  margin-right: 5px;
}

.sort__btn--select .js__filter label p {
  border: 1px solid #fff;
  border-radius: 20px;
  height: 32px;
  line-height: 30px;
}

.sort__btn--select .js__filter label p span {
  border: 1px solid #ddd;
  border-radius: 20px;
  display: block;
  height: 30px;
  line-height: 28px;
  padding: 0 25px 0 15px;
  position: relative;
}

.sort__btn--select .js__filter label p span .js__filter__remove {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 11px;
  height: 11px;
}

.sort__btn--select .js__filter label p span .js__filter__remove:before, .sort__btn--select .js__filter label p span .js__filter__remove:after {
  content: "";
  position: absolute;
  background-color: #4191e8;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 100%;
}

.sort__btn--select .js__filter label p span .js__filter__remove:before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.sort__btn--select .js__filter label p span .js__filter__remove:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.sort__btn--select .js__filter label p span .js__filter__remove:hover:before, .sort__btn--select .js__filter label p span .js__filter__remove:hover:after {
  background-color: #000;
}

.sort__tab {
  border-bottom: 1px solid #ddd;
  padding: 16px 0 0 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.sort__tab input {
  display: none;
}

.sort__tab input:checked + label span {
  border-bottom: 2px solid #FF0211;
  font-weight: bold;
  color: #FF0211;
}

.sort__tab label {
  padding: 0 15px;
  height: 39px;
}

.sort__tab label span {
  padding: 20px 0;
}

.sort__category {
  padding: 10px;
  background-color: #f8f8f8;
  margin-bottom: 0 !important;
  border-top: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
}

.sort__category .inner {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.sort__category .inner::-webkit-scrollbar {
  display: none;
}

.sort__category ul li {
  font-size: 13px;
  font-weight: bold;
  margin-right: 30px;
  margin-left: 15px;
}

.sort__category ul li a {
  color: #000;
  padding: 12px 0;
  position: relative;
}

.sort__category ul li a::before {
  content: '';
  width: 0;
  height: 0;
  border-left: 5px solid #ff9219;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: -12px;
  transform: translateY(-50%);
  transition: all .3s;
}

.sort__category ul li a:hover {
  color: #ff9219;
}

.sort__category ul li a:hover::before {
  left: -8px;
}

.tag-box {
  margin-bottom: 40px;
}

.tag-box a {
  display: inline-block;
  margin-right: 5px;
  background-color: #f2f2f2;
  color: #000;
  padding: 5px 30px 5px 15px;
  border-radius: 30px;
}

.tag-box a span {
  position: relative;
}

.tag-box a span:before, .tag-box a span:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -12px;
  width: 1px;
  height: 10px;
  background: #000;
}

.tag-box a span:before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.tag-box a span:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.finalsale-box {
  margin-bottom: 50px;
  background-color: #f5f5f5;
  padding: 40px 0;
}

.finalsale-box h3 {
  font-size: 28px;
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.finalsale-box h3 a {
  font-size: 14px;
  padding-right: 80px;
  text-align: right;
}

.list-app-box .list__4col {
  border-bottom: 1px solid #ddd;
  padding-bottom: 30px;
}

.list-app-box h2 {
  padding-bottom: 0;
}

.list-app-box h3 {
  font-size: 20px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  margin-top: 30px;
}

.list-app-box h3 span {
  font-size: 16px;
  position: relative;
  padding-left: 20px;
  margin-bottom: 5px;
  font-weight: normal;
}

.list-app-box h3 span:before {
  content: '/';
  left: 6px;
  bottom: 0;
  position: absolute;
}

.list-app-box .txt__category.block {
  display: block;
}

.list-app-box .txt__category.block p:nth-of-type(1) {
  font-size: 12px;
  color: #717171;
  font-weight: normal;
}

.list-app-box .txt__category.block p:nth-of-type(2) {
  font-size: 14px;
  color: #000;
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.top__visual {
  width: 100%;
  height: 80vh;
  min-height: 750px;
  position: relative;
  background: url("/assets/img/main-kv.jpg") no-repeat center 0;
  background-size: cover;
  background-position: 50%;
}

.top__visual--kvtop {
  background: url(/assets/img/main-kv-top.jpg) repeat-x center 0;
  background-size: contain;
  position: absolute;
  top: 50px;
  width: 100%;
  height: 75px;
  z-index: 5;
}

.top__visual--kvbottom {
  background: url("/assets/img/main-kv-bottom.jpg") repeat-x center 0;
  background-size: contain;
  position: absolute;
  bottom: 0px;
  width: 100%;
  height: 75px;
  z-index: 5;
}

.top__visual--movie {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  z-index: 1;
}

.top__visual--movie:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.1);
  background-image: radial-gradient(#666 10%, transparent 21%), radial-gradient(#666 10%, transparent 21%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}

.top__visual--movie video {
  min-width: 100%;
  min-height: 100vh;
  z-index: 1;
}

.top__visual--bar {
  position: absolute;
  top: 51px;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  text-align: center;
  font-weight: bold;
  padding: 20px;
  z-index: 10;
}

.top__visual--bar a {
  color: #fff;
  text-decoration: underline;
}

.top__visual--inner {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  margin-top: 30px;
  z-index: 10;
}

.top__visual--ttl {
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding-bottom: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.top__visual--ttl .tagline {
  width: 370px;
}

.top__visual--ttl .logo {
  width: 500px;
  margin: 25px 0 15px;
}

.top__visual--ttl h2 {
  font-size: 48px;
  text-shadow: -1px -1px 2px rgba(0, 0, 0, 0.3);
}

.top__visual--ttl h2 br {
  display: none;
}

.top__visual--ttl p {
  font-size: 18px;
  color: #1A1311;
}

.top__visual--search .search-item {
  margin: 0 auto;
  margin-top: 20px;
  width: 850px;
  height: 65px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 60px;
}

.top__visual--search .search-item ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 11px 0 0 0;
}

.top__visual--search .search-item ul li {
  border-left: 1px solid #ddd;
  height: 45px;
  padding: 0 15px;
}

.top__visual--search .search-item ul li a {
  display: block;
  color: #717171;
  font-size: 15px;
}

.top__visual--search .search-item ul li a p.select-ttl {
  font-size: 15px;
  color: #717171;
  padding-top: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  min-height: 25px;
}

.top__visual--search .search-item ul li a .selected p {
  font-size: 14px;
  color: #000;
}

.top__visual--search .search-item ul li span {
  display: block;
  color: #717171;
  font-size: 12px;
  font-weight: bold;
}

.top__visual--search .search-item ul li:nth-child(1) {
  border-left: none;
  width: 45%;
}

.top__visual--search .search-item ul li:nth-child(1) a {
  padding-left: 30px;
  position: relative;
}

.top__visual--search .search-item ul li:nth-child(1) a:after {
  position: absolute;
  top: 50%;
  right: 0;
  bottom: auto;
  left: auto;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 7px;
  height: 7px;
  border-top: solid 2px #717171;
  border-right: solid 2px #717171;
  transform: rotate(135deg);
}

.top__visual--search .search-item ul li:nth-child(2) {
  width: 35%;
}

.top__visual--search .search-item ul li:nth-child(3) {
  width: 25%;
}

.top__visual--search .search-btn {
  margin: 0 auto;
  margin-top: 60px;
  width: 340px;
  height: 60px;
  background-color: #FF0211;
  text-align: center;
  padding: 0;
  border-radius: 60px;
}

.top__visual--search .search-btn a {
  display: block;
  margin: 0 auto;
  width: 260px;
  line-height: 60px;
  background: #FF0211 url("/assets/img/icn_search_wh.png") no-repeat 0 center;
  background-size: auto 20px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  padding-left: 20px;
}

.top__feature {
  margin-top: 50px;
  background-color: #350003;
  color: #fff;
  border-radius: 10px;
  position: relative;
  font-size: 18px;
}

.top__feature img {
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0 9px 9px 0;
  height: 300px;
  width: 350px;
  -o-object-fit: cover;
     object-fit: cover;
}

.top__feature .open-detail,
.top__feature .close-detail {
  display: block;
  color: #fff;
  text-decoration: underline;
  font-weight: bold;
  margin: 15px 0 20px 0;
  cursor: pointer;
}

.top__feature--headline {
  height: 300px;
  position: relative;
}

.top__feature--headline .feature-ttl {
  position: absolute;
  top: 50%;
  margin-top: -130px;
  padding: 0 30px;
  font-size: 17px;
}

.top__feature--headline .feature-ttl.nobr br {
  display: none;
}

.top__feature--headline .feature-ttl h2 {
  font-size: 36px;
  padding-top: 0;
  padding-bottom: 15px;
}

.top__feature--movie {
  position: absolute;
  top: 0;
  right: 0;
}

.top__feature--movie .video-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 11;
}

.top__feature--movie .video-icon:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.4);
  width: 48px;
  height: 48px;
}

.top__feature--movie .video-icon:after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 10px 0 10px 18px;
}

.top__feature--movie video {
  border-radius: 9px;
  height: 260px;
  width: auto;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 11;
  margin: 20px;
}

.top__feature--movie:hover .video-icon {
  display: none;
  opacity: 0;
  width: 0;
  height: 0;
}

.top__feature--detail {
  padding: 0 85px 20px 85px;
  position: relative;
  margin-top: 60px;
}

.top__feature--detail h3 {
  display: block !important;
  text-align: center;
}

.top__feature--detail ul.feature01 {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.top__feature--detail ul.feature01 li {
  width: 33.3333%;
  padding: 0 13px;
  padding-bottom: 75px;
  background: url("/assets/img/icn_feature.png") no-repeat center bottom;
  background-size: auto 50px;
  margin-bottom: 35px;
}

.top__feature--detail ul.feature01 li p {
  display: block;
  min-height: 100px;
  color: #000;
  font-size: 16px;
  background-color: #fff;
  border-radius: 10px;
  padding: 15px 10px 15px 20px;
  position: relative;
}

.top__feature--detail ul.feature01 li p:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -8px;
  margin-top: -1px;
  border: 8px solid transparent;
  border-top: 12px solid #fff;
}

.top__feature--detail ul.feature02 {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin-bottom: 50px;
}

.top__feature--detail ul.feature02 li {
  width: calc(33.33330% - 20px * 2 / 3);
  margin-right: 20px;
  background-color: #fff;
  border-radius: 10px;
  color: #000;
  font-size: 13px;
  padding: 100px 30px 30px 30px;
  position: relative;
}

.top__feature--detail ul.feature02 li:last-child {
  margin-right: 0;
}

.top__feature--detail ul.feature02 li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-bottom: 100px solid transparent;
  border-left: 100px solid #FF0211;
}

.top__feature--detail ul.feature02 li p {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: center;
}

.top__feature--detail ul.feature02 li .feature-num {
  position: absolute;
  top: 7px;
  left: 12px;
  z-index: 30;
  font-size: 22px;
  font-weight: bold;
  line-height: 20px;
  color: #fff;
}

.top__feature--detail ul.feature02 li .feature-num span {
  display: block;
  font-size: 10px;
}

.top__feature--detail ul.feature02 li:nth-child(1) {
  background: #fff url("/assets/img/icn_feature01.png") no-repeat center 30px;
  background-size: auto 50px;
}

.top__feature--detail ul.feature02 li:nth-child(2) {
  background: #fff url("/assets/img/icn_feature02.png") no-repeat center 35px;
  background-size: 43px auto;
}

.top__feature--detail ul.feature02 li:nth-child(3) {
  background: #fff url("/assets/img/icn_feature03.png") no-repeat center 25px;
  background-size: auto 53px;
}

.top__feature--detail a {
  display: block;
  color: #fff;
  text-decoration: underline;
}

.top__faq {
  border-top: 1px solid #ddd;
}

.top__faq li {
  border-bottom: 1px solid #ddd;
}

.top__faq li a {
  display: block;
  color: #000;
  position: relative;
  padding: 20px 0;
  padding-right: 30px;
  font-weight: bold;
  cursor: pointer;
}

.top__faq li a:before {
  display: block;
  content: "";
  position: absolute;
  top: 30px;
  right: 15px;
  margin: auto;
  width: 14px;
  height: 2px;
  background-color: #717171;
  transition: .2s;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}

.top__faq li a:after {
  display: block;
  content: "";
  position: absolute;
  top: 30px;
  right: 15px;
  margin: auto;
  width: 14px;
  height: 2px;
  background-color: #717171;
  transition: .3s;
}

.top__faq li a.active:before {
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
}

.top__faq li a.active:after {
  background-color: transparent;
}

.top__faq--detail {
  display: none;
  padding-bottom: 20px;
}

.top__campaign {
  background: url(/assets/img/campaign/s202304/kv_back.png) no-repeat center bottom;
  background-size: cover;
  width: 100%;
  min-width: 1040px;
  height: 80vh;
  min-height: 750px;
}

.top__campaign--inner {
  width: 1040px;
  height: 100%;
  margin: 0 auto;
  position: relative;
}

.top__campaign--ttl {
  position: absolute;
  top: 120px;
  right: auto;
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  z-index: 10;
}

.top__campaign--ttl img {
  width: 100%;
}

.top__campaign--btn {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 55px;
  left: 50%;
  transform: translateX(-50%);
  background: url(/assets/img/campaign/s202304/kv_girl2.png) no-repeat;
  background-size: 100% auto;
  background-position: center bottom 50px;
  width: 470px;
  height: 395px;
  z-index: 10;
}

.top__campaign--btn a {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #FFF900;
  border-radius: 70px;
  display: block;
  width: 400px;
  height: 70px;
  overflow: hidden;
}

.top__campaign--btn a::before {
  position: absolute;
  top: 1px;
  right: auto;
  bottom: auto;
  left: 1px;
  content: '';
  background-color: #FFF;
  width: 0;
  height: calc(100% - 2px);
  transition-duration: 0.3s;
  z-index: 1;
}

.top__campaign--btn a:hover::before {
  width: calc(100% - 2px);
}

.top__campaign--btn a b {
  position: absolute;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  cursor: pointer;
  display: block;
  padding: 0 0 0 4px;
  width: 100%;
  color: #1EBDD7;
  line-height: 66px;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  font-family: fot-udkakugoc80-pro, sans-serif;
  letter-spacing: 4px;
  border: 2px solid #20bdd7;
  border-radius: 70px;
  z-index: 5;
}

.top__campaign--mark {
  position: absolute;
  top: auto;
  right: 164px;
  bottom: 127px;
  left: auto;
  display: block;
  z-index: 12;
  width: 198px;
  height: 270px;
}

.top__campaign--mark--bombbox--label {
  position: absolute;
  top: auto;
  right: auto;
  bottom: -25px;
  left: 5px;
  width: 100%;
  height: 100%;
  z-index: 5;
}

.top__campaign--mark--bombbox--label img {
  width: 100%;
}

.top__campaign--mark--bombbox--back {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
  overflow: hidden;
  background: url(/assets/img/campaign/s202304/mark_back.png) no-repeat center center;
  background-size: contain;
  padding: 280px 0 0;
  width: 100%;
  height: 0 !important;
  z-index: 3;
}

.top__campaign--mark--dateline {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 153px;
  left: 158px;
  width: 80px;
  z-index: 5;
}

.top__campaign--mark--dateline img {
  width: 100%;
}

.top__campaign--item .i1 {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 316px;
  left: 350px;
  width: 60px;
}

.top__campaign--item .i2 {
  position: absolute;
  top: auto;
  right: 307px;
  bottom: 93px;
  left: auto;
  width: 45px;
}

.top__campaign--item .i3 {
  position: absolute;
  top: 145px;
  right: 155px;
  bottom: auto;
  left: auto;
  width: 70px;
}

.top__campaign--item .i4 {
  position: absolute;
  top: 250px;
  right: 146px;
  bottom: auto;
  left: auto;
  width: 24px;
}

.top__campaign--item .i5 {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 235px;
  left: 337px;
  width: 35px;
}

.top__campaign--item .i6 {
  position: absolute;
  top: 390px;
  right: auto;
  bottom: auto;
  left: 172px;
  width: 37px;
}

.top__campaign--item .i7 {
  position: absolute;
  top: 96px;
  right: -10px;
  bottom: auto;
  left: auto;
  width: 110px;
}

.top__campaign .i8 {
  position: absolute;
  top: 337px;
  right: auto;
  bottom: auto;
  left: 42px;
  width: 98px;
}

.top__campaign .i9 {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 29px;
  left: 189px;
  width: 129px;
}

.top__campaign .i10 {
  position: absolute;
  top: auto;
  right: 30px;
  bottom: 232px;
  left: auto;
  width: 82px;
}

.top__campaign .i11 {
  position: absolute;
  top: 100px;
  right: 137px;
  bottom: auto;
  left: auto;
  width: 42px;
}

.top__campaign .i12 {
  position: absolute;
  top: 90px;
  right: auto;
  bottom: auto;
  left: 35px;
  width: 64px;
}

.top__campaign .i13 {
  position: absolute;
  top: 399px;
  right: 352px;
  bottom: auto;
  left: auto;
  width: 60px;
}

.top__campaign .i14 {
  position: absolute;
  top: 65px;
  right: 235px;
  bottom: auto;
  left: auto;
  width: 202px;
}

.top__campaign .i15 {
  position: absolute;
  top: 218px;
  right: 0;
  bottom: auto;
  left: auto;
  width: 142px;
}

.top__campaign .i16 {
  position: absolute;
  top: 77px;
  right: auto;
  bottom: auto;
  left: 123px;
  width: 85px;
}

.top__campaign .i17 {
  position: absolute;
  top: 78px;
  right: auto;
  bottom: auto;
  left: 495px;
  width: 69px;
}

.top__campaign .i18 {
  position: absolute;
  top: 87px;
  right: auto;
  bottom: auto;
  left: 246px;
  width: 28px;
}

.top__campaign .i19 {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 51px;
  left: 36px;
  width: 140px;
}

.top__campaign .i20 {
  position: absolute;
  top: auto;
  right: 45px;
  bottom: 46px;
  left: auto;
  width: 180px;
  z-index: 13;
}

.top__campaign .i21 {
  position: absolute;
  top: 98px;
  right: auto;
  bottom: auto;
  left: 288px;
  width: 140px;
}

.top__campaign .i22 {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 165px;
  left: 18px;
  width: 265px;
}

.top__campaign .i23 {
  position: absolute;
  top: auto;
  right: 243px;
  bottom: 48px;
  left: auto;
  width: 65px;
}

.top__campaign .i24 {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 190px;
  left: 282px;
  width: 60px;
}

.top__campaign .i25 {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 128px;
  left: 26px;
  width: 20px;
}

.top__campaign .i26 {
  position: absolute;
  top: 238px;
  right: auto;
  bottom: auto;
  left: 126px;
  width: 40px;
}

.top__campaign img {
  width: 100%;
}

.top__campaign--infobar {
  position: relative;
  bottom: 120px;
  z-index: 11;
}

.top__campaign--infobar p {
  height: 70px;
  margin: 0 auto;
  background-color: #fff;
  text-align: center;
}

.top__campaign--infobar img {
  height: 100%;
  max-width: 375px;
}

@media screen and (max-width: 768px) {
  .sp-mt-10 {
    margin-top: 10px !important;
  }
  .sp-ml-5 {
    margin-left: 5px !important;
  }
  .sp-mr-5 {
    margin-right: 5px !important;
  }
  .sp-mt-m5 {
    margin-top: -5px !important;
  }
  .fs22 {
    font-size: 18px !important;
  }
  .sp-ta-center {
    text-align: center;
  }
  .sp-ta-right {
    text-align: right !important;
  }
  .va-center {
    width: 100%;
    padding: 0 15px;
    margin-top: -110px;
  }
  .ta-sp-left {
    text-align: left;
  }
  .ta-sp-center {
    text-align: center;
  }
  .ta-sp-right {
    text-align: right;
  }
  .sp-block {
    display: block;
  }
  .brdr-back {
    border: none;
    border-radius: 0;
    border-bottom: 5px solid #ddd;
    background-color: #fff;
    margin-left: -15px;
    margin-right: -15px;
  }
  .sp-brdr-top {
    border-top: 1px solid #ddd;
    padding-top: 20px;
  }
  .btn-box {
    display: block;
    text-align: center;
  }
  .btn-box.ta-left {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
  }
  .btn-box.ta-left.sp-block {
    display: block;
    margin: 0;
  }
  .btn {
    margin: 0 0 10px 0;
    width: 100%;
    text-align: center;
  }
  .btn.full {
    margin: 0 0 10px 0;
  }
  .btn.mid {
    padding: 10px 30px;
  }
  .btn.smll {
    width: auto;
    margin: 0 10px;
  }
  .footer {
    position: relative;
    padding: 25px 0 55px 0;
    margin-top: 40px;
  }
  .footer section.row {
    display: block;
  }
  .footer__category li span {
    display: block;
    width: 100%;
    padding-right: 0;
    margin-right: 0;
  }
  .footer__category li span:after {
    content: "";
    position: absolute;
    right: 0px;
    top: 50%;
    transition: all 0.2s ease-in-out;
    display: block;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-top: solid 2px #717171;
    border-right: solid 2px #717171;
    transform: rotate(135deg);
  }
  .footer__category li span.open:after {
    transform: rotate(-45deg);
    top: 45%;
  }
  .footer__category--sub {
    display: none;
  }
  .footer__category--sub a {
    display: block;
    margin: 5px 0;
  }
  .footer__corp {
    display: block;
  }
  .footer__corp li {
    margin-right: 0;
    margin-bottom: 5px;
    position: relative;
  }
  .footer__sns {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
  }
  .footer__copyright {
    bottom: 10px;
    font-size: 11px;
  }
  .page-top {
    position: fixed;
    top: auto;
    right: 10px;
    bottom: 90px;
    left: auto;
  }
  .currency-yen {
    position: fixed;
    top: auto;
    right: auto;
    bottom: 90px;
    left: 10px;
  }
  .form__text input[type="text"] {
    font-size: 16px;
  }
  .form__text input[type="password"] {
    font-size: 16px;
  }
  .form__radio--inner {
    padding-left: 0;
  }
  .form__textarea textarea {
    font-size: 16px;
  }
  .btn-check {
    margin-left: 20px;
  }
  .br-5 {
    margin-left: -15px;
    margin-right: -15px;
    margin-top: -21px;
  }
  p.err-msg {
    background: url("/assets/img/icn_caution.png") no-repeat 0 3px;
    background-size: 15px auto;
  }
  .header {
    z-index: 100;
  }
  .header__logo {
    margin: 0 auto;
  }
  .header .inner {
    height: auto;
    flex-direction: column;
    justify-content: center;
    padding: 5px 0;
  }
  .header .inner h1 {
    margin: 0 auto;
  }
  .header .announcement {
    text-align: center;
    font-size: 12px;
    margin-top: 5px;
  }
  .header .inner #menu {
    position: fixed;
    bottom: 0;
    left: 0;
    border-top: 1px solid #ddd;
    background-color: #fff;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .header .inner #menu div {
    width: 20%;
  }
  .header .inner #menu div .badge {
    position: absolute;
    top: 3px;
    right: 18px;
    bottom: auto;
    left: auto;
    width: 14px;
    height: 14px;
    line-height: 14px;
    font-size: 10px;
  }
  .header .inner #menu div p {
    width: auto;
    height: auto;
    min-width: 50px;
    min-height: 55px;
  }
  .header .inner #menu div p.selected {
    background-color: #fff;
  }
  .header .inner #menu div p a {
    width: auto;
    height: auto;
    min-width: 50px;
    min-height: 55px;
  }
  .header .inner #menu div p a:hover {
    color: #FF0211;
  }
  .header .inner #menu div p a.m-search {
    background: url("/assets/img/icn_search.png") no-repeat center 10px;
    background-size: 17px auto;
  }
  .header .inner #menu div p a.m-search:hover {
    background: url("/assets/img/icn_search_hover.png") no-repeat center 10px;
    background-size: 17px auto;
  }
  .header .inner #menu div p a.m-wish {
    background: url("/assets/img/icn_wish.png") no-repeat center 10px;
    background-size: 20px auto;
  }
  .header .inner #menu div p a.m-wish:hover {
    background: url("/assets/img/icn_wish_hover.png") no-repeat center 10px;
    background-size: 20px auto;
  }
  .header .inner #menu div p a.m-reservation {
    background: url("/assets/img/icn_reservation.png") no-repeat center 10px;
    background-size: 21px auto;
  }
  .header .inner #menu div p a.m-reservation:hover {
    background: url("/assets/img/icn_reservation_hover.png") no-repeat center 10px;
    background-size: 21px auto;
  }
  .header .inner #menu div p a.m-mail {
    background: url("/assets/img/icn_email.png") no-repeat center 10px;
    background-size: 21px auto;
    position: relative;
  }
  .header .inner #menu div p a.m-mail:hover {
    background: url("/assets/img/icn_email_hover.png") no-repeat center 10px;
    background-size: 21px auto;
  }
  .header .inner #menu div p a.m-user {
    background: url("/assets/img/icn_user.png") no-repeat center 10px;
    background-size: auto 18px;
  }
  .header .inner #menu div p a.m-user:hover {
    background: url("/assets/img/icn_user_hover.png") no-repeat center 10px;
    background-size: auto 18px;
  }
  .header .inner #menu div p a span {
    display: inline-block;
    font-size: 9px;
    margin-top: 32px;
  }
  .header .inner #menu div .child {
    display: none !important;
  }
  .detail-img {
    margin-bottom: 15px;
  }
  .wrapper {
    padding-bottom: 0;
    overflow: hidden;
  }
  article.top-page section {
    margin-bottom: 30px;
  }
  article.top-page section.inner {
    padding-right: 0;
  }
  article.top-page section.bg {
    padding: 30px 0;
  }
  article.top-page h3 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  article.top-page h3.scroll {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  article.top-page h3.scroll::-webkit-scrollbar {
    display: none;
  }
  article.top-page {
    width: 100%;
  }
  article.top-page .list__3col {
    padding-right: 15px;
  }
  article.top-page .list__3col li:last-child {
    margin-bottom: 0;
  }
  article.top-page .list__5col,
  article.top-page .list__banner {
    padding-right: 15px;
  }
  article.top-page .list__thumb,
  article.top-page .list__4col {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  article.top-page .list__thumb::-webkit-scrollbar,
  article.top-page .list__4col::-webkit-scrollbar {
    display: none;
  }
  article.top-page .btn-box {
    margin: 0 15px;
    padding-bottom: 20px;
  }
  article.area-page section {
    margin-bottom: 30px;
  }
  article.area-page section.inner {
    padding-right: 0;
  }
  article.area-page h2 {
    font-size: 28px;
    padding-top: 0;
  }
  article.area-page h3 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  article.area-page h3.slider-ttl {
    font-size: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
  }
  article.area-page h3.slider-ttl a {
    display: none;
  }
  article.area-page {
    width: 100%;
  }
  article.area-page .list__3col {
    padding-right: 15px;
  }
  article.area-page .list__3col li:last-child {
    margin-bottom: 0;
  }
  article.area-page .list__thumb,
  article.area-page .list__4col,
  article.area-page .list__more {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  article.area-page .list__thumb::-webkit-scrollbar,
  article.area-page .list__4col::-webkit-scrollbar,
  article.area-page .list__more::-webkit-scrollbar {
    display: none;
  }
  article.area-page .btn-box {
    margin: 0 15px 0 0;
    padding-bottom: 20px;
  }
  article.recommend-page section {
    padding: 30px 0 30px 15px;
    border-bottom: none;
  }
  article.recommend-page h3 {
    font-size: 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
  }
  article.recommend-page h3 a {
    display: none;
  }
  article.recommend-page h4 {
    font-size: 18px;
    margin-bottom: 15px;
  }
  article.recommend-page {
    width: 100%;
  }
  article.recommend-page .list__4col {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  article.recommend-page .list__4col::-webkit-scrollbar {
    display: none;
  }
  article.recommend-page .list__more {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  article.recommend-page .list__more::-webkit-scrollbar {
    display: none;
  }
  article.recommend-page .btn-box {
    padding-right: 15px;
  }
  article.search-page section.inner {
    padding-right: 0;
  }
  article.search-page section.inner h2, article.search-page section.inner .list__3col {
    padding-right: 15px;
  }
  article.detail-page {
    margin: 50px 0 0;
  }
  article.mypage-page.mypage-display-sp .mypage__head {
    display: block !important;
    width: 100%;
    padding: 20px 15px 20px 15px;
  }
  article.mypage-page.mypage-display-sp .mypage__menu {
    display: block !important;
    width: 100%;
  }
  article.mypage-page.mypage-display-sp .mypage__content {
    display: none !important;
  }
  article .single-page {
    width: 100%;
  }
  article.lp-page section {
    margin-bottom: 30px;
  }
  article.lp-page section h3 {
    font-size: 32px;
  }
  article.lp-page .inner {
    padding: 0;
  }
  article.lp-page {
    width: 100%;
  }
  article.lp-page .list__3col {
    padding-right: 15px;
  }
  article.lp-page .list__3col li:last-child {
    margin-bottom: 0;
  }
  article.lp-page .list__5col,
  article.lp-page .list__banner {
    padding-right: 15px;
  }
  article.lp-page .list__thumb,
  article.lp-page .list__4col {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  article.lp-page .list__thumb::-webkit-scrollbar,
  article.lp-page .list__4col::-webkit-scrollbar {
    display: none;
  }
  article.lp-page .btn-box {
    margin: 0 15px;
    padding-bottom: 20px;
  }
  .sp-row {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .sp-row.between {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .sp-row.between-start {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .sp-row.start {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .sp-row-block.row {
    display: block;
  }
  .sp-row-block.row .mr-10,
  .sp-row-block.row .ml-10 {
    margin: 0;
  }
  .sp-row-block.row .sp-mb-10 {
    margin-bottom: 10px;
  }
  .list__thumb {
    display: block;
  }
  .list__thumb ul {
    width: auto;
  }
  .list__thumb ul li {
    min-width: 230px;
  }
  .list__thumb ul li a p {
    white-space: normal;
    width: 130px;
  }
  .list__2col ul li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .list__3col ul li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 40px;
  }
  .list__3col--slider ul {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    padding-right: 15px;
  }
  .list__3col--slider ul li {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .list__3col--slider ul li:nth-child(n+3) {
    display: none;
  }
  .list__4col {
    margin: 0;
  }
  .list__4col ul li {
    min-width: 245px;
  }
  .list__4col.wrap ul {
    flex-wrap: nowrap;
    margin: 0;
  }
  .list__4col.wrap ul li {
    min-width: 245px;
    margin: 0 20px 0 0;
  }
  .list__4col.wrap ul li:nth-child(4n) {
    margin-right: 20px;
  }
  .list__4col.wrap-movie ul {
    margin: 0;
  }
  .list__4col.wrap-movie ul li {
    width: calc((100% - 10px) / 2);
    min-width: auto;
    margin: 0 10px 10px 0;
  }
  .list__4col.wrap-movie ul li:nth-child(2n) {
    margin-right: 0;
  }
  .list__5col ul {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .list__5col ul li {
    width: calc(33.33330% - 15px * 2 / 3);
    margin-right: 15px;
    margin-bottom: 15px;
  }
  .list__5col ul li:nth-child(3n) {
    margin-right: 0;
  }
  .list__5col ul li:nth-child(5n+5) {
    margin-right: 15px;
  }
  .list__5col ul li:nth-child(6) {
    display: block;
  }
  .list__banner--big {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  .list__banner--big li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
  }
  .list__banner--small {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  .list__banner--small li {
    width: calc(50% - 15px * 1 / 2);
    margin-right: 15px;
    margin-bottom: 15px;
  }
  .list__banner--small li:nth-child(2n) {
    margin-right: 0;
  }
  .list__more ul {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
  }
  .list__more ul li p {
    width: 130px;
  }
  .list__2colapp ul li {
    width: calc((100% - 15px) / 2);
    margin-right: 15px;
    margin-bottom: 25px;
  }
  .list__2colapp ul li:nth-child(2n+2) {
    margin-right: 0;
  }
  .list__2colapp ul li .txt__category p:nth-of-type(1) {
    font-size: 14px;
  }
  .list__2colapp ul li .txt__category p:nth-of-type(2) {
    font-size: 13px;
  }
  .txt__tour--recommend .tour-ttl {
    white-space: normal;
  }
  .txt__tour--search .tour-price {
    margin-top: 10px;
    position: relative;
    bottom: auto;
  }
  .modal#modal-search-all .modal__content {
    max-width: 94%;
  }
  .modal#modal-search-datetime .modal__content {
    min-width: 94%;
  }
  .modal__content {
    width: 94%;
    min-width: 94%;
    max-width: 94%;
  }
  .modal__content.m-review {
    width: 100%;
    height: 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .modal__content.m-review .modal__content--body {
    max-height: 100vh !important;
  }
  .modal__content.m-review .modal__close {
    width: 20px;
    height: 20px;
    top: 10px;
    right: 10px;
  }
  .modal__content--head {
    padding: 15px 20px;
  }
  .modal__content--body {
    padding: 15px 20px;
    text-align: left;
  }
  .modal__content--body .search-more .more-committed li {
    width: 100%;
  }
  .modal__content--body .select-all {
    display: block;
  }
  .modal__content--body .select-all .tour-select {
    min-width: 100%;
  }
  .modal__content--body .select-all .tour-select a span {
    display: none;
  }
  .modal__content--body .select-all .tour-select a.tour-select-date {
    text-align: left;
  }
  .modal__content--body .select-all .tour-select a.tour-select-member {
    text-align: left;
  }
  .modal__content--body .select-all .tour-list {
    min-width: 100%;
    margin-left: 0;
  }
  .modal__content--foot {
    padding: 15px 20px;
  }
  #sidebar {
    display: block;
    position: fixed;
    z-index: 300;
    top: 0;
    left: -120%;
    width: 85%;
    height: 100vh;
    background-color: #fff;
    transition: all 0.6s;
  }
  #sidebar.panelactive {
    left: 0;
  }
  .sidebar__bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    transition: all 0.2s;
    z-index: 300;
    display: none;
  }
  .sidebar__bg.active {
    background: rgba(35, 24, 21, 0.4);
    display: block;
  }
  .open-btn {
    display: block;
    position: fixed;
    z-index: 400;
    top: 3px;
    left: 0;
    cursor: pointer;
    width: 40px;
    height: 50px;
  }
  .open-btn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 15px;
    height: 2px;
    background-color: #000;
    width: 45%;
  }
  .open-btn span:nth-of-type(1) {
    top: 15px;
  }
  .open-btn span:nth-of-type(2) {
    top: 21px;
  }
  .open-btn span:nth-of-type(3) {
    top: 27px;
  }
  .open-btn.active {
    top: 0;
    left: 86%;
  }
  .open-btn.active span {
    background-color: #fff;
  }
  .open-btn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
  }
  .open-btn.active span:nth-of-type(2) {
    opacity: 0;
  }
  .open-btn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
  }
  .path {
    width: 100%;
  }
  .review__list {
    padding-right: 15px;
  }
  .review__reply .row {
    display: block;
  }
  .review__reply .row img {
    display: none;
  }
  .review__reply .row .review__date {
    margin-left: 0;
  }
  .review__tour img {
    width: 100px;
    height: 100px;
  }
  .review__profile {
    margin-bottom: 40px;
  }
  .review__profile p {
    font-size: 20px;
  }
  .review__slide {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 0;
  }
  .review__slide--item img, .review__slide--item video {
    width: 100%;
    height: 100%;
  }
  .review__slide .slick-dots {
    top: 15px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 300px;
  }
  .review__slide .slick-dots li {
    width: 35px !important;
  }
  .fancybox__thumbs {
    top: 17px;
    width: 100%;
  }
  .fancybox__thumbs .carousel__viewport {
    width: 100%;
  }
  .fancybox__thumbs .carousel__viewport .carousel__track {
    flex-wrap: wrap;
    justify-content: center;
    transform: none !important;
    margin: 0 30px 0 5px;
  }
  .fancybox__thumbs .carousel__slide {
    width: 25px !important;
    padding: 0 10px !important;
    margin-bottom: 20px !important;
    overflow: hidden !important;
  }
  .fancybox__thumbs .carousel__slide .fancybox__thumb {
    height: 100%;
  }
  body {
    width: 100%;
  }
  html, body {
    width: 100%;
  }
  h1 {
    font-size: 1.6rem;
    /*16px*/
    font-weight: normal;
  }
  h2 {
    font-size: 26px;
    padding: 20px 0;
  }
  h2.row.between {
    display: block;
  }
  h2.row.between a {
    margin: 0 0 0 10px;
  }
  h2.row {
    display: block;
  }
  h2 span.badge.examination {
    font-size: 12px;
    margin-left: 10px;
    margin-top: 0;
  }
  h3 {
    font-size: 18px;
  }
  h4 {
    font-size: 16px;
  }
  .display-pc {
    display: none;
  }
  .display-sp {
    display: block;
  }
  .area__visual {
    margin-bottom: 20px;
  }
  .area__visual--inner {
    width: 100%;
    padding: 0 20px;
  }
  .area__visual--ttl h2 {
    font-size: 36px !important;
    padding: 5px 0;
  }
  .area__visual--ttl p {
    font-size: 14px;
  }
  .area__visual--search .search-item {
    width: 100%;
    height: auto;
    margin: 20px auto;
    border-radius: 10px;
  }
  .area__visual--search .search-item ul {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    width: 100%;
    padding: 0;
  }
  .area__visual--search .search-item ul li {
    border-left: none;
    padding: 0;
    height: 60px;
  }
  .area__visual--search .search-item ul li:nth-child(1) {
    width: 100%;
    border-bottom: 1px solid #ddd;
  }
  .area__visual--search .search-item ul li:nth-child(1) a {
    padding: 10px 0 0 15px;
  }
  .area__visual--search .search-item ul li:nth-child(1) a:after {
    position: absolute;
    top: 50%;
    right: 15px;
    bottom: auto;
    left: auto;
  }
  .area__visual--search .search-item ul li:nth-child(2) {
    width: 75%;
    border-right: 1px solid #ddd;
  }
  .area__visual--search .search-item ul li:nth-child(2) a {
    padding: 10px 0 0 15px;
  }
  .area__visual--search .search-item ul li:nth-child(3) {
    width: 25%;
  }
  .area__visual--search .search-item ul li:nth-child(3) a {
    padding: 10px 0 0 15px;
  }
  .area__visual--search .search-item ul li:nth-child(4) {
    width: 100%;
    border-top: 1px solid #ddd;
    padding: 10px 0 0 15px;
  }
  .area__visual--search .search-item ul li:nth-child(4) input {
    font-size: 16px;
    margin-top: -2px;
  }
  .area__visual--search .search-item ul li:nth-child(4) input::-moz-placeholder {
    font-size: 14px;
  }
  .area__visual--search .search-item ul li:nth-child(4) input:-ms-input-placeholder {
    font-size: 14px;
  }
  .area__visual--search .search-item ul li:nth-child(4) input::placeholder {
    font-size: 14px;
  }
  .area__visual--search .search-btn {
    width: 100%;
    height: 50px;
  }
  .area__visual--search .search-btn button {
    width: 100%;
    height: 50px;
  }
  .area__visual--search .search-btn button span {
    font-size: 16px;
  }
  .detail__ttl {
    order: 2;
  }
  .detail__ttl .finalsale-timer {
    font-size: 18px;
    letter-spacing: -0.8px;
    margin: 20px -5px 0 -5px;
  }
  .detail__ttl h1 {
    font-size: 22px;
    padding-bottom: 15px;
  }
  .detail__ttl--index {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .detail__ttl--index .row {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
  }
  .detail__ttl--index .row .tour-review {
    order: 0;
    margin-bottom: 5px;
    margin-right: 10px;
  }
  .detail__ttl--index .row .tour-category {
    order: 2;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
  .detail__ttl--index .row .badge-finalsale {
    order: 1;
    margin-bottom: 5px;
    font-size: 11px;
  }
  .detail__visual {
    order: 1;
    width: 100%;
    padding: 0;
  }
  .detail__visual--img {
    display: block;
  }
  .detail__visual--img .thumbnail:nth-child(n+6) {
    display: block;
  }
  .detail__visual--img .thumbnail {
    text-align: center;
    background-color: #231815;
    height: 280px;
    width: 100%;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .detail__visual--img .thumbnail:nth-child(n+6) {
    display: none;
  }
  .detail__visual--img .thumbnail img, .detail__visual--img .thumbnail video {
    display: inline;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    margin: auto;
    border-radius: 0;
  }
  .detail__visual .btn-wish {
    top: 15px;
    right: 10px;
  }
  .detail__visual .btn-share {
    top: 15px;
    right: 10px;
  }
  .detail__visual .btn-view {
    display: none;
  }
  .detail__content {
    width: 100%;
    position: relative;
  }
  .detail__content--left {
    width: 100%;
    padding: 30px 15px;
  }
  .detail__content--left > section.nobrdr {
    padding: 0 0 20px 0;
  }
.detail__content--left > section h2.review {
    padding-left: 135px;
    margin-bottom: 20px;
    margin-top: -20px;
    font-size: 20px;
  }
  .detail__content--left > section h2.review span {
    display: none;
  }
  .detail__content--left > section h2.review50 {
    background: url("/assets/img/review50.png") no-repeat 0 4px;
    background-size: auto 19px;
  }
  .detail__content--left > section h2.review45 {
    background: url("/assets/img/review45.png") no-repeat 0 4px;
    background-size: auto 19px;
  }
  .detail__content--left > section h2.review40 {
    background: url("/assets/img/review40.png") no-repeat 0 4px;
    background-size: auto 19px;
  }
  .detail__content--left > section h2.review35 {
    background: url("/assets/img/review35.png") no-repeat 0 4px;
    background-size: auto 19px;
  }
  .detail__content--left > section h2.review30 {
    background: url("/assets/img/review30.png") no-repeat 0 4px;
    background-size: auto 19px;
  }
  .detail__content--left > section h2.review25 {
    background: url("/assets/img/review25.png") no-repeat 0 4px;
    background-size: auto 19px;
  }
  .detail__content--left > section h2.review20 {
    background: url("/assets/img/review20.png") no-repeat 0 4px;
    background-size: auto 19px;
  }
  .detail__content--left > section h2.review15 {
    background: url("/assets/img/review15.png") no-repeat 0 4px;
    background-size: auto 19px;
  }
  .detail__content--left > section h2.review10 {
    background: url("/assets/img/review10.png") no-repeat 0 4px;
    background-size: auto 19px;
  }
  .detail__content--left > section h2.review05 {
    background: url("/assets/img/review05.png") no-repeat 0 4px;
    background-size: auto 19px;
  }
  .detail__content--left > section h2.review0 {
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
  }
  .detail__content--right {
    display: none;
  }
  .detail__bar--pc {
    display: none;
  }
  .detail__bar--sp {
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: #fff;
    border-top: 1px solid #ddd;
    padding: 15px 0;
    z-index: 100;
  }
  .detail__bar--sp .row.between p {
    color: #ff2557;
    font-size: 15px;
    font-weight: bold;
  }
  .detail__bar--sp .row.between .btn-box {
    width: 132px;
    margin: 0;
  }
  .detail__bar--sp .row.between .btn-box a {
    margin: 0;
  }
  .mark-insurance {
    margin-top: -5px;
  }
  .faq__content {
    width: 100%;
    padding: 0 15px;
  }
  .faq__content--left {
    width: 100%;
  }
  .faq__content--right {
    display: none;
  }
  .information__list {
    margin-right: 15px;
  }
  .information__list ul li a:before {
    width: 7px;
    height: 7px;
    right: 5px;
  }
  .information__detail--content {
    width: 100%;
  }
  .information__detail--content h2 {
    padding-top: 20px;
  }
  .information__detail--content img {
    margin-top: 15px;
  }
  .information__detail--list {
    display: none;
  }
  .information__thumblist ul li:nth-child(n+4) {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
  .information__thumblist ul li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ddd;
  }
  .information__thumblist ul {
    padding-right: 15px;
  }
  .login {
    background-color: #fff;
    display: block;
    width: 100%;
    padding: 0;
  }
  .login__form {
    width: 100%;
    padding: 0;
    border-right: 0;
  }
  .login__btn {
    width: 100%;
    padding: 0;
    margin: 0;
    margin-top: 30px;
    border-top: 1px solid #ddd;
  }
  .login__btn a {
    border-bottom: 1px solid #ddd;
    color: #000;
    margin-bottom: 0;
    padding: 5px 0;
  }
  .login__btn--yahoo {
    border: 2px solid #fff;
    background-color: #fff;
  }
  .login__btn--fb {
    border: 2px solid #fff;
    background-color: #fff;
  }
  .login__btn--line {
    border: 2px solid #fff;
    background-color: #fff;
  }
  .login__btn--google:before {
    background-size: 28px 28px;
  }
  .login__btn--google {
    border: 2px solid #fff;
    background-color: #fff;
  }
  .login__btn--apple {
    background-color: #fff !important;
    background: none;
    height: auto;
  }
  .login__btn--apple:before {
    content: '';
    width: 45px;
    height: 45px;
    background: #fff url("/assets/img/icn_apple_sp.png") no-repeat center 10px;
    background-size: 25px auto;
    border-radius: 3px 0 0 3px;
  }
  .login__btn--apple p {
    display: inline-block;
  }
  .login__btn--bym:before {
    background-size: 28px 28px;
  }
  .login__btn--bym {
    border: 2px solid #fff;
    background-color: #fff;
  }

  .lp__visual--movie video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    min-width: auto;
    min-height: auto;
    position: absolute;
    top: 50px;
    left: 0;
  }
  .lp__visual--bar {
    width: 100%;
    padding: 0 20px;
    font-size: 24px;
  }
  .lp__visual--bar br {
    display: none;
  }
  .lp__visual--bar span {
    display: block;
  }
  .lp__visual--bar--inner {
    margin-top: -80px;
  }
  .lp__visual--bar button {
    width: 100%;
    padding: 15px 0;
    font-size: 18px;
    border-radius: 5px;
  }
  .lp__lead {
    font-size: 26px;
    padding: 20px;
  }
  .lp__lead span {
    display: block;
  }
  .lp__about ul {
    width: auto;
    margin-top: 20px;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    margin: 20px 80px;
  }
  .lp__about ul li {
    width: 240px;
    min-width: 240px;
    height: 420px;
  }
  .lp__about ul li img {
    width: 200px;
  }
  .lp__about .sp-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .lp__about .sp-scroll::-webkit-scrollbar {
    display: none;
  }
  .lp__about--txt {
    font-size: 22px;
    padding: 20px;
    top: 280px;
    height: 200px;
  }
  .lp__about--txt p {
    white-space: normal;
    margin-top: 10px;
  }
  .lp__fare {
    padding: 20px;
  }
  .lp__fare a {
    font-size: 16px;
  }
  .lp__fare .inner ul {
    width: auto;
    margin-top: 20px;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
  }
  .lp__fare .inner ul li {
    width: 100%;
    margin-bottom: 30px;
  }
  .lp__fare button {
    width: 100%;
    padding: 15px 0;
    font-size: 18px;
    border-radius: 5px;
    margin-top: 10px;
  }
  .lp__feature--01 {
    display: block;
    height: auto;
  }
  .lp__feature--01 img {
    width: 100%;
    height: auto;
    position: relative;
    left: 0;
    border-radius: 0;
  }
  .lp__feature--01 .lp__feature--txt {
    margin-top: 0;
  }
  .lp__feature--02 {
    display: block;
    height: auto;
    margin-top: 0;
  }
  .lp__feature--02 img {
    width: 100%;
    height: auto;
    position: relative;
    right: 0;
    border-radius: 0;
  }
  .lp__feature--02 .lp__feature--txt {
    margin-top: 0;
  }
  .lp__feature--03 {
    display: block;
    height: auto;
  }
  .lp__feature--03 h4 {
    font-size: 22px;
  }
  .lp__feature--03 img {
    width: 100%;
    height: auto;
    position: relative;
    left: 0;
    border-radius: 0;
  }
  .lp__feature--03 .lp__feature--txt {
    margin-top: 0;
    padding-bottom: 10px;
  }
  .lp__feature--03 .lp__feature--txt p {
    font-size: 13px;
  }
  .lp__feature--txt {
    width: 100%;
    padding: 40px 20px;
    font-size: 18px;
  }
  .lp__feature--txt h4 {
    font-size: 26px;
  }
  .lp__feature--txt p {
    font-size: 14px;
  }
  .lp__step {
    width: 100%;
    padding: 20px;
  }
  .lp__step ol {
    width: 100%;
  }
  .lp__step ol li {
    font-size: 16px;
    padding-top: 55px;
    margin-bottom: 30px;
  }
  .lp__step ol li:before {
    top: 0;
    left: 0;
    width: 46px;
    height: 46px;
    line-height: 46px;
    font-size: 26px;
  }
  .lp__step ol li p {
    font-size: 24px;
  }
  .lp__step ul {
    width: 150%;
    margin-left: -25%;
  }
  .lp__step ul li img {
    width: 140px;
  }
  .lp__count {
    padding: 20px;
    font-size: 24px;
  }
  .lp__count .count {
    font-size: 48px;
  }
  .lp__count .txt {
    font-size: 18px;
    margin-top: 10px;
  }
  .lp__count span {
    display: block;
  }
  .lp__footer {
    padding: 20px;
    font-size: 14px;
    padding: 20px 20px 100px 20px;
  }
  .lp__footer img {
    height: 30px;
    margin-bottom: 15px;
  }
  .lp__footer button {
    width: 100%;
    padding: 15px 0;
    font-size: 18px;
    border-radius: 5px;
    margin: 30px 0;
  }
  .lp__fix {
    display: block;
    text-align: center;
    font-size: 16px;
    padding: 10px 20px 20px 20px;
  }
  .lp__fix a {
    margin-left: 0;
    width: 100%;
    display: block;
    padding: 15px 0;
    font-size: 18px;
    border-radius: 5px;
    margin-top: 10px;
  }
  .lp__incentive--ttl {
    margin-bottom: 30px;
  }
  .lp__incentive--ttl::after {
    top: -70px;
    right: 0px;
  }
  .lp__incentive--ttl::before {
    top: -70px;
    left: 0px;
  }
  .lp__incentive--lead {
    padding: 10px 5px;
  }
  .lp__incentive--txt {
    font-size: 14px;
  }
  .lp__incentive--txt p {
    padding: 10px 10px;
  }
  .lp__incentive--desc {
    width: 90%;
  }
  .lp__programstep {
    padding: 0 20px;
  }
  .lp__programstep .inner {
    width: 100%;
  }
  .lp__programstep--lead span {
    font-size: 16px;
    margin-right: 10px;
  }
  .lp__campaigninfo {
    padding: 0 20px;
  }
  .lp__campaigninfo .inner {
    width: 100%;
  }
  .lp__header .inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .lp__header .inner.between {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
  }
  .lp__header h1 {
    margin: 0 auto;
  }
  .lp__header h1.left {
    margin: 0 0 0 15px;
  }
  .lp__header .row {
    padding-right: 10px;
  }
  .mail {
    margin-bottom: -50px;
    height: auto;
  }
  .mail .inner {
    padding: 0;
    display: block;
  }
  .mail__loading {
    width: 100%;
    height: 100vh;
  }
  .mail__loading .spinner-box {
    margin-top: -230px;
  }
  .mail__title {
    display: none;
  }
  .mail__title ul {
    padding: 0;
    display: block;
  }
  .mail__title ul li:nth-child(2) {
    width: 100%;
  }
  .mail__list {
    width: 100%;
    height: auto !important;
    overflow-y: hidden;
    border-right: none;
  }
  .mail__list a {
    padding: 15px;
    border-bottom: 1px solid #ddd;
  }
  .mail__list a:last-child {
    border-bottom: none;
  }
  .mail iframe {
    display: none;
  }
  .mail__detail {
    height: 100%;
  }
  .mail__detail--chat .message-content .message-keep {
    padding: 10px 0;
    display: block;
    margin: 15px;
  }
  .mail__detail--chat .message-content .agency {
    width: 100%;
  }
  .mail__detail--chat .message-content .agency p {
    width: calc(100% - 110px);
  }
  .mail__detail--chat .message-content .customer p {
    width: 75%;
    margin-right: 10px;
  }
  .mail__detail .message-input .input-message textarea {
    font-size: 16px;
  }
  .mail__detail .btn-find {
    right: 15px;
  }
  .mail__detail .btn-find.active {
    right: 20px;
  }
  .mail__detail .find-wrap {
    right: 15px;
  }
  .mail__detail .find-wrap .find-body input[type="text"] {
    width: 180px;
  }
  .mail.title {
    display: none;
  }
  .cross-search input[type="text"] {
    width: 150px;
    margin-right: 5px;
  }
  .cross-search button {
    margin-right: 0;
  }
  .mypage__head {
    display: none;
  }
  .mypage__menu {
    display: none;
  }
  .mypage__menu section ul li a.mm-mail span {
    right: 0;
  }
  .mypage__menu section ul.mm-sp {
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 2px solid #ddd;
    padding: 20px 0 30px 0;
  }
  .mypage__menu section ul.mm-sp li {
    width: 33.3333%;
    margin-bottom: 0;
  }
  .mypage__menu section ul.mm-sp li a {
    padding: 70px 0 0 0;
    display: block;
    width: 65px;
    margin: 0 auto;
    font-size: 11px;
    font-weight: bold;
    text-align: center;
  }
  .mypage__menu section ul.mm-sp li a.mm {
    width: 65px;
    min-height: 65px;
  }
  .mypage__menu section ul.mm-sp li a.mm-search {
    background: url("/assets/img/icn_m_search.png") no-repeat center 0;
    background-size: 65px auto;
  }
  .mypage__menu section ul.mm-sp li a.mm-reservation {
    background: url("/assets/img/icn_m_reservation.png") no-repeat center 0;
    background-size: 65px auto;
  }
  .mypage__menu section ul.mm-sp li a.mm-mail {
    background: url("/assets/img/icn_m_mail.png") no-repeat center 0;
    background-size: 65px auto;
    position: relative;
  }
  .mypage__menu section ul.mm-sp li a.mm-mail span {
    position: absolute;
    top: 4px;
    display: inline-block;
    width: 19px;
    height: 19px;
    line-height: 20px;
    border-radius: 50%;
    background-color: #ff2557;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 85%;
    margin-left: 2px;
  }
  .mypage__content {
    width: 100%;
  }
  .mypage__content.visible {
    display: none !important;
  }
  .mypage__content h2 {
    padding: 30px 0;
  }
  .mypage__content h2 p span {
    font-size: 26px;
  }
  .mypage__content h2 p span.hit-num {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #717171;
    margin-top: 5px;
  }
  .mypage__content h2 p span.hit-num:before {
    content: "件数：";
  }
  .mypage__content h2 p span.hit-num::after {
    content: "";
  }
  .mypage__content h2 span {
    font-size: 26px;
  }
  .mypage__content h2 span.hit-num {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #717171;
    margin-top: 5px;
  }
  .mypage__content h2 span.hit-num:before {
    content: "件数：";
  }
  .mypage__content h2 span.hit-num::after {
    content: "";
  }
  .mypage__content h4 {
    font-size: 18px;
  }
  .mypage__content section {
    padding: 25px 0;
  }
  .mypage__alert {
    padding: 20px 40px;
  }
  .mypage__alert .btn-alert-close {
    top: 20px;
    right: 15px;
  }
  .profile__visual {
    display: block;
    margin-top: 0;
    margin-bottom: 30px;
  }
  .profile__visual--video {
    width: 100%;
    margin: 0 -15px;
    padding-right: 0;
  }
  .profile__visual--video video {
    width: calc(100% + 30px);
    border-radius: 0;
  }
  .profile__visual--name {
    width: 100%;
  }
  .profile__txt {
    border-top: 2px solid #ddd;
    padding-top: 30px !important;
  }
  .reservation__content {
    padding-top: 0;
    width: 100%;
    display: block;
  }
  .reservation__content--ttl {
    width: 100%;
    grid-area: none;
    display: block;
  }
  .reservation__content--ttl h2 {
    padding: 20px 15px;
  }
  .reservation__content--ttl h2.mypage-pay {
    padding: 0 15px;
  }
  .reservation__content--ttl h3 {
    padding: 0 15px;
  }
  .reservation__content--ttl .fc-base {
    padding: 0 15px;
    margin-top: 20px;
  }
  .reservation__content--ttl .caution {
    margin: 0 15px 20px 15px;
  }
  .reservation__content--left {
    width: 100%;
    padding: 15px 15px 0 15px;
    grid-area: none;
    display: block;
    padding-top: 0;
  }
  .reservation__content--left.mp-pay {
    padding-top: 0;
  }
  .reservation__content--left.mp-cancel {
    padding-top: 0;
  }
  .reservation__content--left section {
    padding-bottom: 20px;
  }
  .reservation__content--right {
    width: 100%;
    grid-area: none;
    display: block;
    border: none;
    margin-left: 0;
  }
  .reservation__content--right .in {
    border: none;
    padding: 15px;
  }
  .reservation__content--right .tour-detail h3 {
    font-size: 18px;
  }
  .reservation__content--right .price-total.display-pc {
    display: none;
  }
  .reservation__content .tour-cancel {
    padding-bottom: 20px;
    margin-bottom: 30px;
  }
  .reservation__tab {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
  }
  .reservation__tab a {
    width: 50%;
    font-size: 14px;
    padding: 10px 0 12px 0;
    text-align: center;
    margin-right: 0;
  }
  .reservation__tab a:nth-of-type(1), .reservation__tab a:nth-of-type(2) {
    border-bottom: 1px solid #ddd;
  }
  .reservation__tab a:nth-of-type(1).current, .reservation__tab a:nth-of-type(2).current {
    color: #FF0211;
    border-bottom: 2px solid #FF0211;
  }
  .reservation__detail table th {
    padding-right: 15px;
  }
  .reservation__detail .tour-price {
    display: block;
    padding-top: 0;
  }
  .reservation__detail .link-cancel {
    width: auto;
    padding: 6px 15px;
    bottom: auto;
    top: -10px;
  }
  .reservation__pay p {
    width: 100%;
    margin-right: 0;
  }
  .reservation__pay .row.between {
    display: block;
    overflow: hidden;
  }
  .reservation__pay .row.between p {
    float: left;
    width: calc(100% - 130px);
  }
  .reservation__pay .row.between .btn-box {
    float: right;
    width: 120px;
  }
  .reservation__pay .row.between .btn-box a {
    margin: 0;
  }
  .sort__btn .inner {
    padding: 0 0 0 8px;
  }
  .sort__btn--filter {
    padding-right: 5px;
  }
  .sort__btn--filter a p span {
    border: 1px solid #fff;
    text-indent: -9999px;
    width: 30px;
    background: #fff url("/assets/img/icn_filter.png") no-repeat center center;
    background-size: 12px auto;
    padding: 0;
  }
  .sort__btn--filter a:hover p span {
    background: #fff url("/assets/img/icn_filter.png") no-repeat center center;
    background-size: 12px auto;
    padding: 0;
  }
  .sort__btn--select {
    padding-left: 15px;
  }
  .sort__tab .inner {
    width: auto;
    overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .sort__tab .inner::-webkit-scrollbar {
    display: none;
  }
  .sort__tab label {
    height: 40px;
  }
  .tag-box {
    width: auto;
    overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
    margin-bottom: 30px;
  }
  .tag-box::-webkit-scrollbar {
    display: none;
  }
  .finalsale-box {
    width: 100%;
    padding: 20px 0;
  }
  .finalsale-box .list__4col {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .finalsale-box .list__4col::-webkit-scrollbar {
    display: none;
  }
  .finalsale-box h3 {
    font-size: 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
  }
  .finalsale-box h3 a {
    display: none;
  }
  .list-app-box {
    width: 100%;
  }
  .list-app-box .list__4col {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding-bottom: 20px;
  }
  .list-app-box .list__4col::-webkit-scrollbar {
    display: none;
  }
  .list-app-box .inner {
    padding: 0 0 0 15px;
  }
  .list-app-box h3 {
    margin-top: 20px;
    margin-bottom: 10px;
  }
  .list-app-box h3 span {
    font-size: 12px;
    padding-left: 14px;
  }
  .list-app-box h3 span:before {
    left: 4px;
  }
  .top__visual {
    background: url("/assets/img/main.jpg") no-repeat center 30px;
    background-size: cover;
    min-height: auto;
    height: 95vh;
  }
  .top__visual--kvtop {
    display: none;
  }
  .top__visual--kvbottom {
    display: none;
  }
  .top__visual--movie {
    display: none;
  }
  .top__visual--inner {
    width: 100%;
    padding: 0 18px;
    top: 70%;
    bottom: auto;
    margin-top: 0px;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  .top__visual--ttl {
    padding-bottom: 8px;
  }
  .top__visual--ttl .tagline {
    width: 98%;
    max-width: 370px;
    margin-bottom: 7px;
  }
  .top__visual--ttl .logo {
    width: 100%;
    margin: 7px auto 0px;
    max-width: 500px;
  }
  .top__visual--ttl h2 {
    font-size: 30px !important;
    padding: 5px 0;
    line-height: 36px;
    margin-bottom: 10px;
  }
  .top__visual--ttl h2 br {
    display: inline-block;
  }
  .top__visual--ttl p {
    font-size: 1em;
    line-height: 22px;
    margin-top: 5px;
  }
  .top__visual--ttl p br {
    display: none;
  }
  .top__visual--ttl p span {
    display: block;
  }
  .top__visual--search {
    width: 100%;
    padding: 0 20px;
  }
  .top__visual--search .search-item {
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin-top: 0;
  }
  .top__visual--search .search-item ul {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    width: 100%;
    padding: 0;
  }
  .top__visual--search .search-item ul li {
    border-left: none;
    padding: 0;
    height: 50px;
  }
  .top__visual--search .search-item ul li:nth-child(1) {
    width: 100%;
    border-bottom: 1px solid #ddd;
  }
  .top__visual--search .search-item ul li:nth-child(1) a {
    padding: 5px 0 0 15px;
  }
  .top__visual--search .search-item ul li:nth-child(1) a:after {
    position: absolute;
    top: 50%;
    right: 15px;
    bottom: auto;
    left: auto;
  }
  .top__visual--search .search-item ul li:nth-child(2) {
    width: 75%;
    border-right: 1px solid #ddd;
  }
  .top__visual--search .search-item ul li:nth-child(2) a {
    padding: 4px 0 0 15px;
  }
  .top__visual--search .search-item ul li:nth-child(3) {
    width: 20%;
  }
  .top__visual--search .search-item ul li:nth-child(3) a {
    padding: 4px 0 0 15px;
  }
  .top__visual--search .search-btn {
    width: 100%;
    height: 50px;
    margin-top: 30px;
  }
  .top__visual--search .search-btn a {
    width: 200px;
    font-size: 16px;
    line-height: 50px;
  }
  .top__feature {
    font-size: 16px;
    padding-bottom: 10px;
    margin-right: 15px;
  }
  .top__feature img {
    top: auto;
    left: 0;
    right: auto;
    bottom: 0;
    width: 100%;
    height: 200px;
    border-radius: 0 0 9px 9px;
  }
  .top__feature--headline {
    height: 320px;
  }
  .top__feature--headline .feature-ttl {
    margin-top: -140px;
    padding: 0 30px;
    font-size: 16px;
  }
  .top__feature--headline .feature-ttl h2 {
    font-size: 34px;
    text-align: center;
  }
  .top__feature--headline .feature-ttl br {
    display: none;
  }
  .top__feature--movie {
    position: relative;
  }
  .top__feature--movie video {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 10px 10px 0;
  }
  .top__feature--detail {
    padding: 0 30px;
    margin-top: 30px;
  }
  .top__feature--detail h3 {
    font-size: 21px !important;
  }
  .top__feature--detail ul.feature01 {
    display: block;
    margin-bottom: 40px;
  }
  .top__feature--detail ul.feature01 li {
    width: 100%;
    background: url("/assets/img/icn_feature.png") no-repeat center bottom;
    background-size: 80% auto;
    padding-bottom: 65px;
    margin-bottom: 25px;
  }
  .top__feature--detail ul.feature01 li p {
    font-size: 15px;
    margin-bottom: 5px;
    min-height: auto;
  }
  .top__feature--detail ul.feature02 {
    display: block;
    margin-bottom: 40px;
  }
  .top__feature--detail ul.feature02 li {
    width: 100%;
    margin-bottom: 20px;
  }
  .top__feature--detail ul.feature02 li:last-child {
    margin-bottom: 0;
  }
  .top__faq {
    margin-right: 15px;
  }
  .top__faq li a:before {
    width: 12px;
    right: 5px;
  }
  .top__faq li a:after {
    width: 12px;
    right: 5px;
  }
  .top__campaign {
    background: url(/assets/img/campaign/s202304/sp_kv_back.png) no-repeat center bottom;
    background-color: #1ec5e6;
    width: 100%;
    min-width: auto;
    min-height: 650px;
  }
  .top__campaign--inner {
    width: 100%;
    min-width: auto;
  }
  .top__campaign--inner::after {
    content: "";
    position: absolute;
    top: auto;
    right: 0;
    bottom: -78px;
    left: auto;
    border-style: solid;
    border-color: transparent #1ec5e6 #fff;
    border-width: 10px 0 100px 1000px;
  }
  .top__campaign--ttl {
    width: 375px;
    top: 115px;
  }
  .top__campaign--btn a {
    width: 300px;
    height: 50px;
    bottom: -80px;
  }
  .top__campaign--btn a b {
    line-height: 46px;
    font-size: 1.8rem;
    letter-spacing: 0;
  }
  .top__campaign--mark--bombbox {
    display: none;
  }
  .top__campaign--mark--dateline {
    bottom: -30px;
    left: 245px;
    width: 100px;
  }
  .top__campaign--item .i1 {
    position: absolute;
    top: 120px;
    right: -10px;
    bottom: auto;
    left: auto;
    width: 66px;
  }
  .top__campaign--item .i2 {
    position: absolute;
    top: 50px;
    right: auto;
    bottom: 10px;
    left: auto;
    width: 78px;
  }
  .top__campaign--item .i3 {
    position: absolute;
    top: 310px;
    right: auto;
    bottom: auto;
    left: -40px;
    width: 143px;
  }
  .top__campaign--item .i4 {
    position: absolute;
    top: 220px;
    right: auto;
    bottom: auto;
    left: -10px;
    width: 45px;
  }
  .top__campaign--item .i5 {
    position: absolute;
    top: 485px;
    right: 65px;
    bottom: auto;
    left: auto;
    width: 65px;
  }
  .top__campaign--item .i6 {
    position: absolute;
    top: 283px;
    right: auto;
    bottom: auto;
    left: 15px;
    width: 21px;
  }
  .top__campaign--item .i7 {
    position: absolute;
    top: 85px;
    right: 15px;
    bottom: auto;
    left: auto;
    width: 25px;
  }
  .top__campaign .i8 {
    position: absolute;
    top: 405px;
    right: auto;
    bottom: auto;
    left: 10px;
    width: 35px;
  }
  .top__campaign .i9 {
    position: absolute;
    top: 67px;
    right: auto;
    bottom: auto;
    left: 120px;
    width: 95px;
  }
  .top__campaign .i10 {
    position: absolute;
    top: 175px;
    right: auto;
    bottom: auto;
    left: 10px;
    width: 51px;
  }
  .top__campaign .i11 {
    position: absolute;
    top: 410px;
    right: 10px;
    bottom: auto;
    left: auto;
    width: 38px;
  }
  .top__campaign .i12 {
    position: absolute;
    top: 240px;
    right: 5px;
    bottom: auto;
    left: auto;
    width: 40px;
  }
  .top__campaign .i13 {
    position: absolute;
    top: 65px;
    right: auto;
    bottom: auto;
    left: 22px;
    width: 27px;
  }
  .top__campaign .i14 {
    position: absolute;
    top: 62px;
    right: 53px;
    bottom: auto;
    left: auto;
    width: 102px;
  }
  .top__campaign .i15 {
    position: absolute;
    top: 500px;
    right: auto;
    bottom: auto;
    left: 75px;
    width: 38px;
  }
  .top__campaign .i16 {
    position: absolute;
    top: 300px;
    right: 90px;
    bottom: auto;
    left: auto;
    width: 18px;
  }
  .top__campaign .i17 {
    position: absolute;
    top: 310px;
    right: -10px;
    bottom: auto;
    left: auto;
    width: 90px;
  }
  .top__campaign .i18 {
    position: absolute;
    top: 125px;
    right: 65px;
    bottom: auto;
    left: auto;
    width: 19px;
  }
  .top__campaign .i19 {
    position: absolute;
    top: 190px;
    right: 43px;
    bottom: auto;
    left: auto;
    width: 38px;
  }
}

@media screen and (max-width: 768px) and (min-width: 481px) {
  .btn-box.ta-left.sp-block {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-left: -10px;
  }
  .btn-box.ta-left.sp-block button {
    margin: 0 10px;
  }
  .inner {
    width: 100%;
    padding: 0 20px;
  }
  .lp__visual--bar button {
    width: auto;
    padding: 15px 60px;
  }
  .lp__about ul {
    margin: 20px 25px;
  }
  .lp__about ul li {
    width: 210px;
    min-width: 210px;
    height: 400px;
  }
  .lp__about ul li img {
    width: 190px;
  }
  .lp__about--txt {
    top: 270px;
  }
  .lp__fare button {
    width: auto;
    padding: 15px 60px;
  }
  .lp__step ol {
    width: 420px;
  }
  .lp__step ol li {
    padding-top: 0;
  }
  .lp__step ol li:before {
    top: 0px;
    left: -60px;
  }
  .lp__step ul {
    width: 100%;
    margin: 0 auto;
  }
  .lp__footer button {
    width: auto;
    padding: 15px 60px;
  }
  .lp__fix {
    padding: 15px 0 20px 0;
  }
  .lp__fix a {
    width: auto;
    display: inline-block;
    padding: 15px 60px;
    margin-left: 30px;
    margin-top: 0;
  }
  .profile__visual--video {
    margin: 0 -20px;
  }
  .profile__visual--video video {
    width: calc(100% + 40px);
  }
}

@media screen and (max-width: 480px) {
  .form__btn ul {
    display: block;
  }
  .inner {
    width: 100%;
    padding: 0 15px;
  }
  .lp__incentive p {
    text-align: left;
    padding: 0 20px;
  }
  .lp__incentive--ttl span {
    display: block;
  }
  .lp__incentive--ttl::after {
    top: -80px;
    width: 80px;
    height: 80px;
  }
  .lp__incentive--ttl::before {
    top: -80px;
    width: 80px;
    height: 80px;
  }
  .lp__incentive--lead span {
    display: block;
  }
  .lp__incentive--txt p {
    margin: 0 5px;
    padding: 5px 10px;
  }
  .lp__incentive .feature {
    width: 94%;
    margin-right: 3%;
    margin-left: 3%;
  }
  .lp__incentive .feature .feature-lead {
    width: auto;
  }
  .lp__incentive .feature .feature-price {
    font-size: 18px;
  }
  .lp__incentive .feature .feature-price span {
    font-size: 50px;
  }
  .lp__incentive--desc {
    width: 100%;
    border-radius: 0;
  }
  .lp__programstep--ttl {
    font-size: 32px;
  }
  .top__campaign {
    height: 60vh;
    min-height: 680px;
    margin-top: -50px;
  }
  .top__campaign--btn {
    background-size: 365px;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  .detail__visual--img .thumbnail:nth-child(n+6) {
    display: inline;
  }
}

@media screen and (max-width: 639px) {
  .mail__detail .btn-back {
    display: block;
    text-align: right;
    background-color: #eaeaea;
    padding: 10px;
    border-bottom: 1px solid #ddd;
    position: relative;
    z-index: 3;
  }
  .mail__detail .btn-back a {
    display: inline-block;
    font-size: 13px;
    background-color: #b0b0b0;
    border-radius: 5px;
    color: #fff;
    padding: 2px 5px 2px 20px;
    position: relative;
  }
  .mail__detail .btn-back a:before, .mail__detail .btn-back a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
  }
  .mail__detail .btn-back a:before {
    left: 8px;
    width: 8px;
    height: 1px;
    background: #000;
  }
  .mail__detail .btn-back a:after {
    left: 8px;
    width: 6px;
    height: 6px;
    border: 1px solid #000;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(-135deg);
  }
  .mail__detail .tour-index--detail {
    width: 100%;
  }
  .mail__detail .tour-index {
    display: block;
    margin-right: 0;
  }
  .mail__detail .tour-index a.btn {
    width: 100%;
    margin: 0;
    margin-top: 10px;
  }
  .mail__detail--chat {
    padding-top: 180px;
    padding-bottom: 40px;
  }
  .mail__detail .btn-find.active span:hover {
    background-color: #fff;
  }
}

/*# sourceMappingURL=style.css.map */
