@charset "UTF-8";
/* foundation */
@import url("//fonts.googleapis.com/css?family=Noto+Sans+JP:100,200,300,400,500,700,900&subset=japanese");
main {
  display: block;
}

div, span, p, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}

h2, h3, h4, h5, h6 {
  font-weight: bold;
}

a {
  word-break: break-all;
}

li {
  list-style-type: none;
}

img {
  width: 100%;
}

table {
  border-spacing: 0;
}

table, tr, th, td {
  border-collapse: collapse;
}

dt {
  font-weight: 500;
}

/* 背景色 */
/*************************/
/* メインカラー */
/*************************/
/* テキストの色 */
/*************************/
/* リンクのの色 */
/*************************/
/* コピーライト、承認番号の色 */
/*************************/
/* その他色の設定 */
/*************************/
/* 行程表 ************************* */
/* 料金表 ************************ */
html {
  font-size: 62.5%;
  padding: 0;
  margin: 0;
  scroll-behavior: smooth;
}

body {
  padding: 0;
  margin: 0;
  color: #444;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0.5px;
  min-width: 1140px;
}
@media screen and (max-width: 768px) {
  body {
    min-width: initial;
    font-size: 1.4rem;
  }
}
body .wrapper {
  background: #f5f5f5;
}

.red {
  color: #C82534;
}

a {
  color: #125687;
}

.btn--red {
  display: inline-block;
  color: #fff;
  background-color: #C82534;
  padding: 6px;
  border-radius: 2em;
  text-decoration: none;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
  width: 25%;
}
.btn--red:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .btn--red {
    width: 95%;
  }
}

h1,
h2,
h3,
h4,
h5,
h6,
b {
  font-weight: 500;
}

kome {
  display: block;
  padding-left: 1.4rem;
}
kome::before {
  margin-left: -1.4rem;
  content: "※";
}

disc {
  display: block;
  padding-left: 1.8rem;
  list-style: disc;
}
disc::before {
  position: absolute;
  margin-left: -2.5rem;
  content: "・";
  font-size: 3rem;
  line-height: 2.8rem;
}

.link:link, .link:hover, .link:visited {
  color: #125687;
}
.link.--chevron-up::after {
  font-family: "Font Awesome 5 Free";
  content: " \f077";
  font-weight: 900 !important;
}
.link.--chevron-down::after {
  font-family: "Font Awesome 5 Free";
  content: " \f078";
  font-weight: 900 !important;
}

.accordion {
  border-bottom: 2px solid #d0d0d0;
  padding: 0 0 30px;
}
@media screen and (max-width: 768px) {
  .accordion {
    padding: 0;
  }
}

.accordion summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1em 2em 0;
  color: #333333;
  font-weight: 600;
  cursor: pointer;
}
.accordion summary h2 {
  width: 100%;
}

.accordion summary::-webkit-details-marker {
  display: none;
}

.accordion summary::before,
.accordion summary::after {
  width: 8px;
  height: 2em;
  border-radius: 5px;
  background-color: rgba(51, 51, 51, 0.7019607843);
  content: "";
}

.accordion summary::before {
  position: absolute;
  right: 2em;
  rotate: 90deg;
}

.accordion summary::after {
  transition: rotate 0.3s;
}

.accordion[open] summary::after {
  rotate: 90deg;
}

.accordion p {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  color: #333333;
  transition: transform 0.5s, opacity 0.5s;
}

.accordion[open] p {
  transform: none;
  opacity: 1;
}

/* fontawesome for windows  */
.fa-chevron-up:before,
.fa-chevron-down:before,
.fa-download:before {
  font-weight: 900 !important;
}

/****************************
印刷レイアウトの設定
****************************/
@media print {
  header {
    padding-top: 0px;
  }
  .wrapper {
    background: #f5f5f5;
    display: block;
    width: 100%;
    min-width: 100%;
    overflow: hidden;
  }
  main {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: auto;
    padding: 30px 0px;
  }
  block {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: auto;
    padding: 0px 0px;
  }
  gnav,
  #gnav {
    display: none !important;
  }
  .planBox div.kaigai table td line schedule {
    width: 473px;
  }
  .planBox .grad-item,
  terms .grad-item {
    height: auto !important;
  }
}
/****************************
印刷レイアウトの設定 END
****************************/
.js-modal {
  visibility: hidden;
  opacity: 0;
  overflow: auto;
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
}
.js-modal.open {
  visibility: visible;
  transition: 0.4s;
  opacity: 1;
  pointer-events: auto;
}
.js-modal__background {
  position: fixed;
  inset: 0;
  z-index: 1001;
  background: rgba(0, 0, 0, 0.7);
}
.js-modal__content {
  position: relative;
  z-index: 3;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  z-index: 1002;
  max-width: 1200px;
  width: 100%;
}
.js-modal__content__inner {
  margin: 50px 15px;
  padding: 25px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .js-modal__content__inner {
    padding: 0 0 5px;
  }
  .js-modal__content__inner .modal_inner_sp {
    padding: 15px;
  }
}
.js-modal__content__inner .js-modal-close {
  background: #fff;
  border: 1px solid #444;
  padding: 8px;
  width: 120px;
  margin: 30px auto;
  font-size: 1.5rem;
  display: block;
  color: #444;
  cursor: pointer;
}
.js-modal__content__inner .js-modal-close:hover {
  background: #444;
  color: #fff;
}

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

/* 国内外の設定 *****************
 *  true: 国内
 *  false:海外
*/
/* ************************* */
/* object */
header .mv {
  padding: 50px 30px;
  text-align: center;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
@media screen and (max-width: 768px) {
  header .mv {
    padding: 0;
    flex-wrap: wrap;
  }
}
header .mv h1 {
  text-align: center;
  color: #f37fcd;
  line-height: 1.3;
  text-shadow: 1px 1px 0 #125687, -1px -1px 0 #125687, -1px 1px 0 #125687, 1px -1px 0 #125687, 1px 0 0 #125687, -1px 0 0 #125687, 0 1px 0 #125687, 0 -1px 0 #125687;
  padding: 20px 0;
  font-style: italic;
  font-family: YakuHanJP, "jaf-facitweb", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, Lato, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 30px;
}
@media screen and (max-width: 768px) {
  header .mv h1 {
    font-size: 20px;
    line-height: 1.3;
    padding: 10px 0;
  }
}
header .mv img {
  width: 650px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  header .mv img {
    width: 100%;
    margin-top: 0;
  }
}

main {
  padding-bottom: 30px;
}
main:before {
  content: "";
  display: block;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  background-size: cover;
  background-image: repeating-linear-gradient(to bottom, transparent 25px, rgba(0, 0, 0, 0.04) 26px, rgba(0, 0, 0, 0.04) 26px, transparent 27px, transparent 51px, rgba(0, 0, 0, 0.04) 52px, rgba(0, 0, 0, 0.04) 52px, transparent 53px, transparent 77px, rgba(0, 0, 0, 0.04) 78px, rgba(0, 0, 0, 0.04) 78px, transparent 79px, transparent 103px, rgba(0, 0, 0, 0.04) 104px, rgba(0, 0, 0, 0.04) 104px, transparent 105px, transparent 129px, rgba(0, 0, 0, 0.04) 130px, rgba(0, 0, 0, 0.04) 130px), repeating-linear-gradient(to right, transparent 25px, rgba(0, 0, 0, 0.04) 26px, rgba(0, 0, 0, 0.04) 26px, transparent 27px, transparent 51px, rgba(0, 0, 0, 0.04) 52px, rgba(0, 0, 0, 0.04) 52px, transparent 53px, transparent 77px, rgba(0, 0, 0, 0.04) 78px, rgba(0, 0, 0, 0.04) 78px, transparent 79px, transparent 103px, rgba(0, 0, 0, 0.04) 104px, rgba(0, 0, 0, 0.04) 104px, transparent 105px, transparent 129px, rgba(0, 0, 0, 0.04) 130px, rgba(0, 0, 0, 0.04) 130px);
  opacity: 0.9;
}
main .section__wrap {
  padding: 30px;
}
@media screen and (max-width: 768px) {
  main .section__wrap {
    padding: 15px;
  }
}
main .section__wrap__inner {
  max-width: 1140px;
  background: #FFF;
  margin: auto;
  padding: 30px;
  box-shadow: 5px 4px #125687;
  border: 2px solid #125687;
}
@media screen and (max-width: 768px) {
  main .section__wrap__inner {
    padding: 15px;
  }
}
main .section__wrap__inner__title {
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  main .section__wrap__inner__title {
    font-size: 2rem;
  }
}
main .section__wrap2 {
  padding: 30px;
}
@media screen and (max-width: 768px) {
  main .section__wrap2 {
    padding: 15px;
  }
}
main .section__wrap2__inner2 {
  max-width: 1170px;
  background: rgba(18, 86, 135, 0.8784313725);
  margin: auto;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 2;
  padding: 30px 10px;
}
@media screen and (max-width: 768px) {
  main .section__wrap2__inner2 {
    padding: 15px;
    font-size: 16px;
  }
}
main .section__wrap2__inner2__title {
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  main .section__wrap2__inner2__title {
    font-size: 2rem;
  }
}
main .section__wrap2__inner2 .br_pc {
  display: block;
}
@media screen and (max-width: 768px) {
  main .section__wrap2__inner2 .br_pc {
    display: none;
  }
}

footer {
  text-align: center;
}
footer .menu {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  margin-bottom: 20px;
  background: #fff;
}
footer .menu__list {
  width: 1140px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 16px 0;
  text-align: center;
  margin: auto;
}
@media screen and (max-width: 768px) {
  footer .menu__list {
    width: 100%;
    justify-content: center;
  }
}
footer .menu__list li {
  font-size: 1.4rem;
  flex: 0 0 auto;
  color: #125687;
  padding: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  footer .menu__list li {
    flex: 1 0 auto;
    min-width: 50%;
    margin: 4px 0;
  }
  footer .menu__list li:first-child, footer .menu__list li:nth-child(4) {
    border-right: 1px solid #eee;
  }
}
footer .menu__list li a {
  display: block;
  color: #125687;
}
footer .menu__list li a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f105  ";
  font-weight: 900;
}
footer .menu__list li a::after {
  font-family: "Font Awesome 5 Free";
  content: " \f2d2";
}
footer .menu__list li a.download::after {
  font-family: "Font Awesome 5 Free";
  content: " \f019";
  font-weight: 900;
}
footer .copyright {
  font-size: 1.2rem;
  color: #333;
  margin-bottom: 20px;
}
footer .approval_number {
  font-size: 1rem;
  display: inline-block;
  border: 1px solid #999;
  margin: 0 auto 20px auto;
  padding: 0px 8px;
  color: #999;
}

.point__section .section__wrap__inner {
  background: #fff;
}
@media screen and (max-width: 768px) {
  .point__section .section__wrap__inner {
    padding: 10px;
  }
}
.point__section .section__wrap__inner h2 {
  margin-top: 30px;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .point__section .section__wrap__inner h2 {
    margin: 10px 0 !important;
  }
}
.point__section .section__wrap__inner div {
  padding: 15px;
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  .point__section .section__wrap__inner div {
    padding: 0;
    margin: 0;
  }
}
.point__section .section__wrap__inner h3 {
  text-align: center;
  font-size: 2.4rem;
  background-color: #f37fcd;
  margin-bottom: 1rem;
  color: #fff;
  margin-top: 10px;
  padding: 10px;
  line-height: 3rem;
}
@media screen and (max-width: 768px) {
  .point__section .section__wrap__inner h3 {
    font-size: 1.8rem;
    padding: 10px 5px;
    width: 90%;
    margin: 0 auto;
  }
  .point__section .section__wrap__inner h3 span {
    font-size: 1.6rem;
  }
}
.point__section .section__wrap__inner .section__wrap__inner__add-title {
  font-weight: 800;
}
.point__section .section__wrap__inner .section__wrap__inner__add-title span {
  font-weight: 500;
}
.point__section .section__wrap__inner ul {
  font-size: 2rem;
  padding: 10px 0;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .point__section .section__wrap__inner ul {
    font-size: 1.6rem;
    padding-left: 0rem;
    padding: 15px;
  }
}
.point__section .section__wrap__inner ul li {
  border-bottom: #444 2px solid;
  margin-bottom: 0.5rem;
  text-indent: -1.3em;
  padding-left: 1.3em;
}
@media screen and (max-width: 768px) {
  .point__section .section__wrap__inner ul li {
    padding-left: 2em;
  }
}
.point__section .section__wrap__inner ul .section__wrap__inner__no-number {
  text-indent: 0;
  padding-left: 0;
}
.point__section .section__wrap__inner ul .section__wrap__inner__add-point {
  font-weight: 700;
  color: #f37fcd;
  border-bottom: none;
  text-indent: 0;
  padding-left: 0;
}
.point__section .section__wrap__inner ul span {
  color: #444;
  font-weight: 900;
}
.point__section .section__wrap__inner ul .add {
  background-color: #23578d !important;
  color: #fff !important;
  text-align: center;
  margin-top: 10px;
}
.point__section .section__wrap__inner ul .add2 {
  color: #23578d;
  font-weight: bold;
}
.point__section .section__wrap__inner p {
  font-size: 1.6rem;
  background-color: #eee;
  padding: 10px;
  color: #555;
}
@media screen and (max-width: 768px) {
  .point__section .section__wrap__inner p {
    font-size: 1.4rem;
    margin: 0 0 20px 0;
  }
}

.sns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 1.5rem;
  padding-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .sns {
    margin-bottom: 20px;
    margin-top: 0px;
    font-size: 1.2rem;
  }
}
.sns li {
  flex: 0 0 auto;
  margin-left: 0.5em;
}
.sns li a {
  color: #fff;
  padding: 0.25em 0.5em;
  text-decoration: none;
  border-radius: 2px;
  line-height: 1.8;
}
.sns li a:hover {
  opacity: 0.8;
}
.sns li a.fb {
  background: #3b5998;
}
.sns li a.tw {
  background: #000;
}
.sns li a.ln {
  background: #1dcd00;
}
.sns li i {
  margin-right: 0.25em;
}
.sns li:nth-child(1) {
  margin-left: 0;
}

.youtube {
  width: 100%;
  aspect-ratio: 16/9;
  padding: 0;
  border: none;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

.point__section__list-flex {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .point__section__list-flex {
    flex-direction: column;
    gap: 0;
  }
}
.point__section__list-flex__img {
  width: 15%;
  display: block;
  text-indent: 0;
}
@media screen and (max-width: 768px) {
  .point__section__list-flex__img {
    width: 50%;
  }
}
.point__section__list-flex__text {
  width: calc(85% - 10px);
  font-size: 16px;
  display: block;
  text-indent: 0;
  font-weight: 500 !important;
  color: #444 !important;
}
@media screen and (max-width: 768px) {
  .point__section__list-flex__text {
    width: 100%;
    font-size: 14px;
  }
}

.event__section .section__inner {
  width: 900px;
  margin: auto;
}
.event__section__infomation {
  display: table;
  width: 100%;
}
.event__section__infomation dt {
  display: table-cell;
  padding: 8px;
  width: 140px;
  border-bottom: 2px solid #444;
  font-weight: 500;
}
.event__section__infomation dd {
  display: table-cell;
  padding: 8px;
  border-bottom: 2px solid #CCC;
}
@media screen and (max-width: 768px) {
  .event__section__infomation {
    display: block;
    width: calc(100% - 15px);
  }
  .event__section__infomation dt {
    display: block;
    width: 100%;
    border: none;
    padding: 0;
    margin-bottom: 8px;
  }
  .event__section__infomation dt span {
    border-bottom: 2px solid #444;
    padding-bottom: 3px;
  }
  .event__section__infomation dd {
    display: block;
    width: 100%;
    border: none;
    padding: 0;
  }
  .event__section__infomation:not(:last-child) {
    margin-bottom: 10px;
  }
}

.reception__section .nobg {
  background: transparent;
  padding: 0 0 30px 0;
  max-width: 1200px;
}
.reception__section__menu__ul {
  display: flex;
  justify-content: center;
}
.reception__section__menu__ul li {
  margin: 10px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .reception__section__menu__ul li {
    margin: 10px 5px -20px;
  }
}
.reception__section__menu__ul li:first-child {
  margin-left: 0;
}
.reception__section__menu__ul li:last-child {
  margin-right: 0;
}
.reception__section__menu__ul li a {
  display: block;
  padding: 15px 30px;
  text-align: center;
  font-weight: 500;
  background: #CCC;
  color: #FFF;
  text-decoration: none;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .reception__section__menu__ul li a {
    font-size: 1.6rem;
    padding: 10px 15px;
  }
}
.reception__section__menu__ul li a.active {
  background: #444;
  color: #FFF;
}
.reception__section__menu__ul li a:hover {
  background: #666;
  color: #FFF;
}
.reception__section__periods__ul li {
  text-align: center;
  border-bottom: 1px dashed #CCC;
  margin-bottom: 25px;
  padding-bottom: 25px;
}
.reception__section__periods__ul li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 10px;
}
.reception__section__periods__ul li.done {
  color: #CCC !important;
}
.reception__section__periods__ul li.done p {
  color: #CCC !important;
}
.reception__section__periods__ul li.done .badge {
  top: calc(50% - 20px);
  left: calc(50% - 100px);
  position: absolute;
  background: #FFF;
  color: #C82534 !important;
  border: 2px solid #C82534;
  line-height: 40px;
  text-align: center;
  width: 250px;
  font-weight: 500;
  transform: rotate(-5deg);
  -moz-transform: rotate(-5deg);
  -webkit-transform: rotate(-5deg);
  box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .reception__section__periods__ul li.done .badge {
    line-height: 35px;
    width: 200px;
  }
}
.reception__section__periods__ul__days {
  position: relative;
}
.reception__section__periods__ul__days__inner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  line-height: 3.2rem;
  margin-top: 8px;
  margin-bottom: 10px;
}
.reception__section__periods__ul__days__inner p {
  color: #C82534;
  font-size: 3.2rem;
  font-weight: 500;
  display: inline-block;
}
.reception__section__periods__ul__days__inner p span {
  font-size: 2.2rem;
  margin-left: 3px;
  margin-right: 3px;
}
@media screen and (max-width: 768px) {
  .reception__section__periods__ul__days__inner p {
    font-size: 2.6rem;
  }
  .reception__section__periods__ul__days__inner p span {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .reception__section__periods__ul__days__start {
    display: block;
    width: 100%;
  }
}
.reception__section__periods__ul__days__to {
  padding: 0 5px;
}
@media screen and (max-width: 768px) {
  .reception__section__periods__ul__days__to {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .reception__section__periods__ul__days__end {
    display: block;
    width: 100%;
  }
}
.reception__section__periods__ul__message__up .plans {
  font-size: 1.6rem;
  font-weight: 500;
}
.reception__section__periods__ul__message__up .plans span:not(:last-child)::after {
  content: "・";
}
.flow__section__confirmation {
  margin-bottom: 40px;
}
.flow__section__confirmation dt {
  background: #444;
  color: #FFF;
  font-weight: bold;
  padding: 10px 25px;
}
@media screen and (max-width: 768px) {
  .flow__section__confirmation dt {
    text-align: center;
  }
}
.flow__section__confirmation dd {
  padding: 25px;
  border: 1px solid #444;
}
@media screen and (max-width: 768px) {
  .flow__section__confirmation dd {
    padding: 15px;
  }
}
.flow__section__confirmation dd ul li {
  margin-top: 10px;
  display: inline-block;
  margin-right: 25px;
}
.flow__section__confirmation dd ul li i {
  margin-left: 5px;
}
.flow__section__steps__dl {
  width: 100%;
  position: relative;
  margin-bottom: 40px;
  border: 1px solid #444;
}
.flow__section__steps__dl:last-child {
  margin-bottom: 0px;
}
.flow__section__steps__dl:not(:last-child):before {
  margin-left: -102px;
  border: 102px solid transparent;
  border-top: 51px solid #666;
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 10;
}
.flow__section__steps__dl:not(:last-child):after {
  margin-left: -100px;
  border: 100px solid transparent;
  border-top: 50px solid #fff;
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 11;
}
.flow__section__steps__dl__dt {
  position: absolute;
  left: 20px;
  top: -20px;
  background: #444;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  width: 150px;
  line-height: 40px;
  letter-spacing: 0.15rem;
  font-style: italic;
  border-radius: 5px;
  z-index: 20;
}
.flow__section__steps__dl__dt span {
  font-size: 2.4rem;
  margin-left: 5px;
}
@media screen and (max-width: 768px) {
  .flow__section__steps__dl__dt {
    width: 90px;
    left: -5px;
  }
  .flow__section__steps__dl__dt span {
    font-size: 2.2rem;
  }
}
.flow__section__steps__dl__dd {
  vertical-align: middle;
  padding: 35px 25px 25px;
}
.flow__section__steps__dl__dd h3 {
  font-size: 1.8rem;
  font-weight: 500;
  padding-bottom: 2px;
  border-bottom: 3px solid #444;
  margin-bottom: 15px;
}
.flow__section__steps__dl__dd .bold {
  font-weight: 500;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .flow__section__steps__dl__dd {
    padding: 35px 15px 15px;
  }
  .flow__section__steps__dl__dd h3 {
    font-size: 1.6rem;
  }
}
.flow__section__steps__dl__dd__table {
  margin-top: 10px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .flow__section__steps__dl__dd__table {
    font-size: 1.4rem;
  }
}
.flow__section__steps__dl__dd__table dl {
  display: table;
  width: 100%;
  border-collapse: collapse;
}
.flow__section__steps__dl__dd__table dl:not(:last-child) {
  margin-bottom: -1px;
}
@media screen and (max-width: 768px) {
  .flow__section__steps__dl__dd__table dl {
    display: block;
  }
}
.flow__section__steps__dl__dd__table dl dt {
  display: table-cell;
  vertical-align: middle;
  border: 1px solid #ccc;
  background: #f5f5f5;
  font-weight: 500;
  width: 200px;
  text-align: center;
  padding: 10px;
}
@media screen and (max-width: 768px) {
  .flow__section__steps__dl__dd__table dl dt {
    display: block;
    width: calc(100% - 20px);
  }
}
.flow__section__steps__dl__dd__table dl dd {
  display: table-cell;
  vertical-align: middle;
  border: 1px solid #ccc;
  padding: 10px;
}
@media screen and (max-width: 768px) {
  .flow__section__steps__dl__dd__table dl dd {
    display: block;
    width: calc(100% - 20px);
    margin-top: -1px;
  }
}
.flow__section__steps__dl__dd .entry_btns {
  margin: auto;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  justify-content: center;
}
.flow__section__steps__dl__dd .entry_btns li {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .flow__section__steps__dl__dd .entry_btns li {
    width: 100%;
  }
}
.flow__section__steps__dl__dd .entry_btns li a {
  margin: 20px 10px 0 10px;
  display: block;
  background-color: goldenrod;
  padding: 10px;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #FFF;
  text-decoration: none;
  letter-spacing: 0.1rem;
  opacity: 0.8;
}
.flow__section__steps__dl__dd .entry_btns li a span:not(:last-child)::after {
  content: "・";
}
.flow__section__steps__dl__dd .entry_btns li a.disactive {
  background-color: #ccc;
  pointer-events: none;
}
.flow__section__steps__dl__dd .entry_btns li a:hover {
  opacity: 1;
}
.flow__section__steps__dl__dd .entry_btns li .message_start {
  text-align: center;
  color: #C82534;
  font-weight: 400;
  font-size: 1.6rem;
  margin-top: 5px;
}
.flow__section__steps__dl__dd .entry_btns li .message_done {
  text-align: center;
  color: #999;
  font-weight: 400;
  font-size: 1.6rem;
  margin-top: 5px;
}
.flow__section__steps__dl__dd .result {
  margin-bottom: 1rem;
}
.flow__section__steps__dl__dd .result .plans {
  font-size: 1.6rem;
  font-weight: 500;
}
.flow__section__steps__dl__dd .result .plans span:not(:last-child)::after {
  content: "・";
}

.plans__section {
  padding-bottom: 0 !important;
  margin-bottom: 0;
  margin-top: -15px;
}
.plans__section__title {
  color: #444;
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .plans__section__title {
    font-size: 2rem;
  }
}
.plans__section__plans {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  max-width: 1230px;
  margin: auto;
}
.plans__section__plans__plan {
  width: 100%;
  margin-bottom: 30px;
}
.plans__section__plans__plan.col1 {
  width: 100%;
}
.plans__section__plans__plan.col2 {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .plans__section__plans__plan.col2 {
    width: 100%;
  }
}
.plans__section__plans__plan.col3 {
  width: 33.3%;
}
@media screen and (max-width: 768px) {
  .plans__section__plans__plan.col3 {
    width: 100%;
  }
}

.plan__modal__title {
  font-weight: 500;
  background: #444;
  color: #fff;
  /* line-height: 0; */
  padding: 10px;
  display: flex;
}
.plan__modal__title .icon {
  display: inline-block;
  line-height: 3rem;
  font-size: 2rem;
  min-width: 3rem;
  height: 3rem;
  text-align: center;
  padding: 0;
  margin-right: 8px;
  /* padding-bottom: 3px; */
  background: #fff;
  color: #444;
}
@media screen and (max-width: 768px) {
  .plan__modal__title .icon {
    line-height: 2.8rem;
    font-size: 1.8rem;
    min-width: 2.8rem;
    height: 2.8rem;
  }
}
.plan__modal__title .name {
  font-size: 1.8rem;
  display: inline-block;
  line-height: 3rem;
  /* padding-top: 3px; */
  margin-top: -2px;
}
@media screen and (max-width: 768px) {
  .plan__modal__title .name {
    font-size: 1.6rem;
  }
}
.plan__inner {
  border: 1px solid #444;
  background: #fff;
  margin: 0 15px;
  height: 100%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .plan__inner {
    margin: 0 0px;
  }
}
.plan__inner__btn {
  padding: 0px 30px 0;
  margin-bottom: 30px;
  margin-top: auto;
}
.plan__inner__btn hr {
  margin-top: 0px;
  margin-bottom: 30px;
  border: none;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .plan__inner__btn hr {
    margin-bottom: 15px;
  }
}
.plan__inner__btn button {
  display: block;
  width: 100%;
  padding: 10px 15px;
  border: 1px solid #444;
  background: #fff;
  color: #444;
  text-decoration: none;
  text-align: center;
  font-weight: 500;
  font-size: 1.8rem;
  cursor: pointer;
  max-width: 400px;
  margin: auto;
}
.plan__inner__btn button:hover {
  background: #444;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .plan__inner__btn button {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .plan__inner__btn {
    padding: 0px 15px 0;
    margin-bottom: 15px;
  }
}
.plan h4 {
  font-weight: 500;
  font-size: 1.6rem;
}
.plan__title {
  font-weight: 500;
  background: #444;
  color: #fff;
  /* line-height: 0; */
  padding: 10px;
  display: flex;
}
.plan__title .icon {
  display: inline-block;
  line-height: 3rem;
  font-size: 2rem;
  min-width: 3rem;
  height: 3rem;
  text-align: center;
  padding: 0;
  margin-right: 8px;
  /* padding-bottom: 3px; */
  background: #fff;
  color: #444;
}
@media screen and (max-width: 768px) {
  .plan__title .icon {
    line-height: 2.8rem;
    font-size: 1.8rem;
    min-width: 2.8rem;
    height: 2.8rem;
  }
}
.plan__title .name {
  font-size: 1.8rem;
  display: inline-block;
  line-height: 3rem;
  /* padding-top: 3px; */
  margin-top: -2px;
}
@media screen and (max-width: 768px) {
  .plan__title .name {
    font-size: 1.6rem;
  }
}
.plan__info {
  flex-wrap: wrap;
  padding: 25px 30px 0px 30px;
}
@media screen and (max-width: 768px) {
  .plan__info {
    padding: 15px 15px 0px 15px;
  }
}
.plan__info__l {
  width: 100%;
}
.plan__info__l__catch {
  font-weight: 500;
  margin-bottom: 10px;
}
.plan__info__l dl {
  display: table;
}
.plan__info__l dl:not(last-child) {
  margin-bottom: 10px;
}
.plan__info__l dl dt {
  font-weight: 500;
  display: table-cell;
  white-space: nowrap;
}
.plan__info__l dl dd {
  display: table-cell;
  padding-left: 15px;
}
@media screen and (max-width: 768px) {
  .plan__info__l dl dd {
    padding-left: 10px;
  }
}
.plan__info__l dl dd.tripterm span:not(:last-child)::after {
  content: "、";
}
.plan__info__l__icons ul {
  margin-top: 15px;
}
.plan__info__l__icons ul li {
  display: inline-block;
  border: 1px solid #999;
  color: #999;
  font-size: 1.3rem;
  font-weight: 400;
  padding: 4px 8px 5px;
  line-height: 1.2rem;
  margin-bottom: 5px;
}
.plan__info__l__icons ul li:not(last-child) {
  margin-right: 5px;
}
@media screen and (max-width: 768px) {
  .plan__info__l__icons ul li {
    font-size: 1.2rem;
  }
}
.plan__info__l__icons.--detail ul {
  margin-top: 5px;
}
.plan__info__r {
  position: relative;
  width: 100%;
  margin-top: 10px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .plan__info__r {
    margin-bottom: 15px;
  }
}
.plan__info__r__price {
  color: #c82534;
  font-weight: 500;
  font-size: 2.6rem;
  line-height: 2.6rem;
}
.plan__info__r__price p {
  display: inline-block;
  margin-right: 5px;
}
.plan__info__r__price span {
  line-height: 0;
  font-size: 1.6rem;
  margin-left: 3px;
}
.plan__info__r__price .to {
  line-height: 0;
  font-size: 1.6rem;
  margin-left: 5px;
  margin-right: 5px;
}
.plan__info__r__price .tax {
  line-height: 1.5rem;
  font-size: 1.5rem;
  color: #999;
  font-weight: 400;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .plan__info__r__price {
    font-size: 2.4rem;
  }
  .plan__info__r__price span {
    font-size: 1.4rem;
  }
  .plan__info__r__price .to {
    font-size: 1.4rem;
  }
  .plan__info__r__price .tax {
    line-height: 1.3rem;
    font-size: 1.3rem;
  }
}
.plan__detail {
  padding: 0px 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .plan__detail {
    padding: 0px 15px;
  }
}
.plan__detail__section:not(:last-child) {
  margin-bottom: 20px;
}
.plan__detail__section__schedule .koutei {
  margin: 5px 0;
}
.plan__detail__section__schedule .koutei__dl {
  display: table;
  width: 100%;
  border-collapse: collapse;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl {
    display: block;
    width: 100%;
    border: 1px solid #ccc;
  }
}
.plan__detail__section__schedule .koutei__dl:not(:first-child) {
  margin-top: -1px;
}
.plan__detail__section__schedule .koutei__dl.head dt,
.plan__detail__section__schedule .koutei__dl.head dd {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  background: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl.head {
    display: none;
  }
}
.plan__detail__section__schedule .koutei__dl__dt {
  display: table-cell;
  border: 1px solid #ccc;
  width: 15%;
  padding: 10px 15px;
  text-align: center;
  background: #f5f5f5;
  font-size: 1.5rem;
  font-weight: 500;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dt {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dt {
    display: block;
    width: calc(100% - 10px);
    border: none;
    border-bottom: 1px solid #ccc;
    padding: 5px;
  }
}
.plan__detail__section__schedule .koutei__dl__dd {
  display: table-cell;
  border: 1px solid #ccc;
  width: 85%;
  padding: 20px 20px;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd {
    display: block;
    width: calc(100% - 10px);
    border: none;
    padding: 10px 5px;
    font-size: 1.3rem;
  }
}
.plan__detail__section__schedule .koutei__dl__dd meal {
  position: relative;
  font-weight: 300;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.4rem;
  color: #999;
  float: right;
  margin-top: 20px;
}
.plan__detail__section__schedule .koutei__dl__dd meal::before {
  margin-right: 5px;
  font-weight: 400;
  content: "(　 食事)";
}
.plan__detail__section__schedule .koutei__dl__dd meal::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f2e7";
  position: absolute;
  left: 7px;
  top: 1px;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd meal {
    display: block;
    float: none;
    margin: 25px 5px 5px;
    font-size: 1.3rem;
  }
}
.plan__detail__section__schedule .koutei__dl__dd .tx-right-1 {
  text-align: right;
  margin: 5px 0;
  font-size: 1.4rem;
}
.plan__detail__section__schedule .koutei__dl__dd .tx-right-1 span {
  background-color: darkblue;
  color: #fff;
  padding: 5px 8px;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd .tx-right-1 {
    display: block;
    text-align: left;
    float: none;
    margin: 25px 5px 5px;
    font-size: 1.3rem;
  }
}
.plan__detail__section__schedule .koutei__dl__dd ul li {
  display: flex;
  position: relative;
  padding: 0 0px 40px 30px;
  font-size: 1.4rem;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd ul li {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd ul li {
    font-size: 1.3rem;
  }
}
.plan__detail__section__schedule .koutei__dl__dd ul li:not(:last-child)::before {
  content: "";
  width: 2px;
  background: #ccc;
  position: absolute;
  top: 5px;
  bottom: 0px;
  left: 9px;
}
.plan__detail__section__schedule .koutei__dl__dd ul li:not(:last-child)::after {
  content: "";
  position: absolute;
  width: calc(100% - 30px);
  border-bottom: 1px dashed #ddd;
  bottom: 0px;
  left: 30px;
  padding-top: 10px;
  margin-bottom: 20px;
}
.plan__detail__section__schedule .koutei__dl__dd ul li:last-child {
  padding: 0 0px 0px 30px;
}
.plan__detail__section__schedule .koutei__dl__dd ul li schedule,
.plan__detail__section__schedule .koutei__dl__dd ul li note {
  display: block;
  width: 50%;
}
.plan__detail__section__schedule .koutei__dl__dd ul li schedule {
  padding-right: 15px;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd ul li schedule {
    display: block;
    width: calc(100% - 5px);
    padding: 0;
  }
}
.plan__detail__section__schedule .koutei__dl__dd ul li note {
  padding-left: 15px;
  border-left: 1px solid #eee;
}
.plan__detail__section__schedule .koutei__dl__dd ul li note p {
  margin-top: 0px;
  margin-bottom: 5px;
  line-height: 2rem;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd ul li note {
    display: block;
    width: calc(100% - 20px);
    border: none;
    margin-top: 10px;
  }
}
.plan__detail__section__schedule .koutei__dl__dd ul li place,
.plan__detail__section__schedule .koutei__dl__dd ul li marker {
  position: relative;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.5rem;
  display: block;
  color: #444;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd ul li place,
  .plan__detail__section__schedule .koutei__dl__dd ul li marker {
    font-size: 1.4rem;
  }
}
.plan__detail__section__schedule .koutei__dl__dd ul li place::before,
.plan__detail__section__schedule .koutei__dl__dd ul li marker::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding: 10px 0px 8px 0px;
  background: #fff;
  z-index: 99;
  position: absolute;
  top: -9px;
}
.plan__detail__section__schedule .koutei__dl__dd ul li place::before {
  content: "\f3c5";
  left: -27px;
  font-size: 1.8rem;
  color: #c82534;
}
.plan__detail__section__schedule .koutei__dl__dd ul li marker::before {
  content: "\f192";
  left: -28px;
  font-size: 1.5rem;
  color: #ccc;
}
.plan__detail__section__schedule .koutei__dl__dd ul li event {
  display: block;
  border: 2px solid #c82534;
  border-radius: 5px;
  color: #c82534;
  font-weight: 500;
  font-size: 1.4rem;
  padding: 10px;
  margin-top: 10px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd ul li event {
    font-size: 1.3rem;
    padding: 8px;
  }
}
.plan__detail__section__schedule .koutei__dl__dd ul li p {
  margin-top: 10px;
  line-height: 2rem;
}
.plan__detail__section__schedule .koutei__dl__dd ul li dateline {
  display: block;
  position: relative;
  width: 100%;
  text-align: center;
  color: #ddd;
  font-size: 1.4rem;
  line-height: 1.4rem;
  margin-top: 15px;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd ul li dateline {
    font-size: 1.3rem;
  }
}
.plan__detail__section__schedule .koutei__dl__dd ul li dateline::before {
  content: "";
  border-bottom: 1px dashed #ddd;
  position: absolute;
  top: 0.7rem;
  left: 0px;
  width: calc(50% - 50px);
}
.plan__detail__section__schedule .koutei__dl__dd ul li dateline::after {
  content: "";
  border-bottom: 1px dashed #ddd;
  position: absolute;
  top: 0.7rem;
  right: 0px;
  width: calc(50% - 50px);
}
.plan__detail__section__schedule .koutei__dl__dd ul li icon {
  position: relative;
  font-weight: 400;
  display: block;
  font-size: 1.4rem;
  line-height: 1.4rem;
  color: #999;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd ul li icon {
    font-size: 1.3rem;
  }
}
.plan__detail__section__schedule .koutei__dl__dd ul li icon i {
  margin-right: 5px;
}
.plan__detail__section__schedule .koutei__dl__dd ul li move {
  position: relative;
  font-weight: 400;
  display: block;
  font-size: 1.4rem;
  line-height: 1.4rem;
  color: #999;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__schedule .koutei__dl__dd ul li move {
    font-size: 1.3rem;
  }
}
.plan__detail__section__schedule .koutei__dl__dd ul li move::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding: 10px 0px 0px 0px;
  margin-right: 5px;
}
.plan__detail__section__schedule .koutei__dl__dd ul li move.--idl {
  color: #aaa;
  font-size: 1.2rem;
  font-weight: normal;
  display: flex;
  align-items: center;
  justify-content: left;
  margin: 0.5em 0;
}
.plan__detail__section__schedule .koutei__dl__dd ul li move.bus::before {
  content: "\f207";
}
.plan__detail__section__schedule .koutei__dl__dd ul li move.car::before {
  content: "\f1b9";
}
.plan__detail__section__schedule .koutei__dl__dd ul li move.train::before {
  content: "\f238";
}
.plan__detail__section__schedule .koutei__dl__dd ul li move.plane::before {
  content: "\f072";
}
.plan__detail__section__schedule .koutei__dl__dd ul li move.fa-plane-departure::before {
  content: "\f5b0";
}
.plan__detail__section__schedule .koutei__dl__dd ul li move.fa-plane-arrival::before {
  content: "\f5af";
}
.plan__detail__section__schedule .koutei__dl__dd ul li move.ship::before {
  content: "\f21a";
  font-size: 1.3rem;
}
.plan__detail__section__schedule .koutei__dl__dd ul li move.user::before {
  content: "\f007";
}
.plan__detail__section__schedule .koutei__dl__dd ul li time,
.plan__detail__section__schedule .koutei__dl__dd ul li sleep {
  position: relative;
  font-weight: 400;
  display: block;
  font-size: 1.4rem;
  line-height: 1.4rem;
  color: #999;
  margin-top: 10px;
}
.plan__detail__section__schedule .koutei__dl__dd ul li time::before,
.plan__detail__section__schedule .koutei__dl__dd ul li sleep::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding: 10px 0px 0px 0px;
  margin-right: 5px;
}
.plan__detail__section__schedule .koutei__dl__dd ul li sleep::before {
  content: "\f236";
}
.plan__detail__section__schedule .koutei__dl__dd ul li time::before {
  content: "\f017";
}
.plan__detail__section__price__noticket {
  color: #c82534;
  font-weight: 400;
}
.plan__detail__section__price__table {
  margin: 5px auto;
}
.plan__detail__section__price__table table {
  width: 100%;
}
.plan__detail__section__price__table table td {
  font-size: 1.4rem;
  border-collapse: collapse;
  border: 1px solid #ccc;
  padding: 5px;
}
@media screen and (max-width: 768px) {
  .plan__detail__section__price__table table td {
    font-size: 1.3rem;
    line-height: 2rem;
  }
}
.plan__detail__section__price__table table td .active {
  background: #c82534;
  color: #fff;
  text-align: center;
  display: block;
  padding: 3px 10px;
  text-decoration: none;
  font-weight: 400;
  opacity: 0.9;
}
.plan__detail__section__price__table table td .active:hover {
  opacity: 1;
}
.plan__detail__section__price__table table td .disactive {
  background: #ccc;
  color: #fff;
  text-align: center;
  display: block;
  padding: 3px 10px;
  text-decoration: none;
  font-weight: 400;
}
.plan__detail__section__price__table table tr:first-child td,
.plan__detail__section__price__table table tr:nth-child(2) td {
  font-weight: 500;
  background-color: #f5f5f5;
  text-align: center;
}
.plan__detail__section__other dl:not(:last-child) {
  margin-bottom: 10px;
}
.plan__detail__section__entryBtn {
  margin-top: 40px;
}
.plan__detail__section__entryBtn a {
  display: block;
  background-color: goldenrod;
  padding: 10px;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #fff;
  text-decoration: none;
  width: 70%;
  margin: 0 auto 0;
  letter-spacing: 0.2rem;
  opacity: 0.8;
}
.plan__detail__section__entryBtn a.disactive {
  background-color: #ccc;
  pointer-events: none;
}
.plan__detail__section__entryBtn a:hover {
  opacity: 1;
}
.plan__detail__section__entryBtn .message_start {
  text-align: center;
  color: #c82534;
  font-weight: 400;
  font-size: 1.6rem;
  margin-bottom: 5px;
}
.plan__detail__section__entryBtn .message_done {
  text-align: center;
  color: #999;
  font-weight: 400;
  font-size: 1.6rem;
  margin-bottom: 5px;
}

.timetable {
  margin: 0;
  max-width: 850px;
  padding-top: 1rem;
}

.terms__section {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .terms__section {
    font-size: 1.3rem;
  }
}
.terms__section__title {
  background: #C82534;
  color: #FFF;
  max-width: 1140px;
  margin: auto;
  padding: 10px 30px;
  text-align: center;
}
.terms__section__title h2 {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .terms__section__title h2 {
    font-size: 1.8rem;
  }
}
.terms__section__title p {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .terms__section__title p {
    font-size: 1.3rem;
  }
}
.terms__section__subtitle {
  text-align: center;
  margin-bottom: 20px;
}
.terms__section__subtitle__border {
  margin-top: 10px;
  font-size: 1px;
  height: 13px;
  padding: 0;
  background-color: #f3f3f3;
  background-image: repeating-linear-gradient(-45deg, #fff, #fff 2px, transparent 0, transparent 5px);
}
.terms__section__subtitle h3 {
  font-size: 2rem;
  color: #C82534;
}
@media screen and (max-width: 768px) {
  .terms__section__subtitle h3 {
    font-size: 1.6rem;
  }
}
.terms__section__subtitle p {
  color: #C82534;
}
.terms__section__block {
  border-bottom: #999 1px dashed;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.terms__section__block:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.terms__section__block__title {
  font-size: 1.6rem;
  margin-bottom: 10px;
}
.terms__section__block__title i {
  margin-right: 5px;
}
@media screen and (max-width: 768px) {
  .terms__section__block__title {
    font-size: 1.4rem;
  }
}
.terms__section__block__content {
  margin-left: 20px;
}
.terms__section__block__content__ul li {
  margin-left: 15px;
  list-style: disc;
}
.terms__section__block__content__ol li {
  margin-left: 20px;
  list-style: decimal;
}
.terms__section__block__content__dl {
  margin-top: 15px;
  display: table;
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #CCC;
}
.terms__section__block__content__dl.necessary {
  width: auto;
}
.terms__section__block__content__dl.necessary dd {
  min-width: 350px;
}
@media screen and (max-width: 768px) {
  .terms__section__block__content__dl.necessary dd {
    min-width: calc(100% - 20px);
  }
}
.terms__section__block__content__dl.basedate {
  margin-bottom: 15px;
  width: auto;
}
.terms__section__block__content__dl.basedate dd {
  min-width: 350px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .terms__section__block__content__dl.basedate dd {
    min-width: calc(100% - 20px);
  }
}
.terms__section__block__content__dl.payback {
  margin-bottom: 5px;
}
.terms__section__block__content__dl dt {
  border: 1px solid #CCC;
  display: table-cell;
  width: 200px;
  font-weight: 500;
  padding: 8px;
  background: #f5f5f5;
  vertical-align: middle;
  text-align: center;
}
.terms__section__block__content__dl dd {
  border: 1px solid #CCC;
  display: table-cell;
  padding: 8px;
  vertical-align: middle;
}
.terms__section__block__content__dl dd ul li {
  display: inline-block;
}
.terms__section__block__content__dl dd ul li::after {
  margin-left: 2px;
  content: "、";
}
.terms__section__block__content__dl dd ul li:last-child::after {
  content: "";
}
.terms__section__block__content__dl dd ol {
  margin-left: 10px;
}
.terms__section__block__content__dl dd ol li {
  list-style: decimal;
}
@media screen and (max-width: 768px) {
  .terms__section__block__content__dl dd ol {
    margin-left: 0px;
  }
}
@media screen and (max-width: 768px) {
  .terms__section__block__content__dl {
    display: block;
    width: 100%;
    border: none;
  }
  .terms__section__block__content__dl dt {
    display: block;
    width: calc(100% - 20px);
  }
  .terms__section__block__content__dl dd {
    margin-top: -1px;
    display: block;
    width: calc(100% - 20px);
  }
}
.terms__section__block__content__table th,
.terms__section__block__content__table td {
  border-collapse: collapse;
  border: 1px solid #CCC;
  padding: 8px 10px;
}
.terms__section__block__content__table th {
  text-align: center;
  font-weight: 500;
  background: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .terms__section__block__content__table th span {
    display: block;
  }
}
.terms__section__block__content__table.husaiko {
  width: 100%;
  margin-top: 5px;
  margin-bottom: 10px;
}
.terms__section__block__content__table.cancel {
  -webkit-text-size-adjust: none;
  margin-top: 5px;
  margin-bottom: 5px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .terms__section__block__content__table.cancel {
    min-width: 500px;
  }
}
.terms__section__block__content__table.cancel td:last-child {
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .terms__section__block__content__table.cancel td:last-child b {
    display: block;
  }
}
.terms__section__block__content__table.cancel td:nth-child(3) {
  text-align: left;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .terms__section__block__content__table.cancel td:nth-child(3) b {
    display: block;
  }
}
.terms__section__block__content h5 {
  margin-top: 15px;
  margin-bottom: 5px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .terms__section__block__content h5 {
    font-size: 1.4rem;
  }
}

.about__block {
  display: block;
  width: 60%;
}
@media screen and (max-width: 768px) {
  .about__block {
    width: 100%;
  }
}
.about__section .caution {
  margin: 0 0 20px;
  font-weight: bold;
}
.about__section .caution span {
  display: inline-block;
  background: #e8f4f8;
  border-left: 5px solid #125687;
  padding: 12px 15px;
  color: #c82534;
  line-height: 1.8;
}
.about__section .caution2 {
  color: #fff;
  font-weight: 400;
  background: #999;
  padding: 5px 7px;
  margin-bottom: 10px;
}
.about__section__infomation {
  display: flex;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .about__section__infomation {
    display: block;
    font-size: 1.4rem;
  }
}
.about__section__infomation h2 {
  font-size: 1.8rem;
  border-bottom: 1px solid #666;
  padding-bottom: 5px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .about__section__infomation h2 {
    font-size: 1.6rem;
  }
}
.about__section__infomation h3 {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .about__section__infomation h3 {
    font-size: 1.5rem;
  }
}
.about__section__infomation address {
  display: block;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .about__section__infomation address span {
    display: block;
  }
}
.about__section__infomation__contact i {
  margin-right: 5px;
}
.about__section__infomation__remarks {
  margin-top: 10px;
  font-size: 1.3rem;
}
.about__section__infomation__company {
  width: 40%;
}
@media screen and (max-width: 768px) {
  .about__section__infomation__company {
    width: 100%;
  }
}
.about__section__infomation__tourdesk {
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  .about__section__infomation__tourdesk {
    width: 100%;
    margin-top: 30px;
    margin-left: 0;
  }
}

.about__block {
  display: block;
  width: 60%;
}
@media screen and (max-width: 768px) {
  .about__block {
    width: 100%;
  }
}
.about__section .caution {
  margin: 0 0 20px;
  font-weight: bold;
}
.about__section .caution span {
  display: inline-block;
  background: #e8f4f8;
  border-left: 5px solid #125687;
  padding: 12px 15px;
  color: #c82534;
  line-height: 1.8;
}
.about__section .caution2 {
  color: #fff;
  font-weight: 400;
  background: #999;
  padding: 5px 7px;
  margin-bottom: 10px;
}
.about__section__infomation {
  display: flex;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .about__section__infomation {
    display: block;
    font-size: 1.4rem;
  }
}
.about__section__infomation h2 {
  font-size: 1.8rem;
  border-bottom: 1px solid #666;
  padding-bottom: 5px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .about__section__infomation h2 {
    font-size: 1.6rem;
  }
}
.about__section__infomation h3 {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .about__section__infomation h3 {
    font-size: 1.5rem;
  }
}
.about__section__infomation address {
  display: block;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .about__section__infomation address span {
    display: block;
  }
}
.about__section__infomation__contact i {
  margin-right: 5px;
}
.about__section__infomation__remarks {
  margin-top: 10px;
  font-size: 1.3rem;
}
.about__section__infomation__company {
  width: 40%;
}
@media screen and (max-width: 768px) {
  .about__section__infomation__company {
    width: 100%;
  }
}
.about__section__infomation__tourdesk {
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  .about__section__infomation__tourdesk {
    width: 100%;
    margin-top: 30px;
    margin-left: 0;
  }
}

.prevent__wrap {
  background-color: #01346b;
  margin: 0 auto;
  width: 100%;
  text-align: center;
}
.prevent__wrap__inner {
  padding: 30px 0;
  max-width: 900px;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .prevent__wrap__inner {
    padding: 20px 15px 30px;
  }
}
.prevent__title {
  color: #ffffff;
  font-size: 1.8rem;
  line-height: 3rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .prevent__title {
    font-size: 1.6rem;
  }
}
.prevent__img-list {
  display: flex;
  justify-content: space-between;
  margin: 1em 0;
}
.prevent__img-list img {
  width: 95%;
}
@media screen and (max-width: 768px) {
  .prevent__img-list img {
    width: 100%;
  }
}
.prevent__link {
  text-align: center;
  margin-top: 20px;
}
.prevent__link a {
  display: inline-block;
  margin: auto;
  color: #ffffff;
  border: 1px solid #FFF;
  padding: 10px 50px;
  text-decoration: none;
}
.prevent__link a:hover {
  background: #FFF;
  color: #01346b;
}
.prevent .caution__wrap {
  background-color: rgba(3, 13, 64, 0.986);
  color: rgb(255, 255, 255);
  margin: 0;
}
.prevent .caution__wrap__inner {
  max-width: 1080px;
  width: 100%;
  margin: auto;
}
.prevent .caution__wrap__inner h2 {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 20px;
  padding: 30px 30px 0;
  font-weight: 500;
}
.prevent .caution__wrap__inner ul {
  padding: 0px 30px 30px;
}
@media screen and (max-width: 768px) {
  .prevent .caution__wrap__inner {
    font-size: 1.6rem;
  }
  .prevent .caution__wrap__inner h2 {
    font-size: 2rem;
    padding: 20px 15px 0;
  }
  .prevent .caution__wrap__inner ul {
    padding: 0px 15px 30px;
    font-size: 1.4rem;
  }
}

.tixplus__wrap {
  width: 100%;
}
.tixplus__wrap .header-logo {
  text-align: center;
  margin-bottom: 1rem;
}
.tixplus__wrap .header-logo img {
  margin-top: 10px;
  width: 250px;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .tixplus__wrap .header-logo img {
    width: 180px;
  }
}
.tixplus__header {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .tixplus__header {
    margin-bottom: 1em;
  }
}
.tixplus__header .header-desc {
  font-size: 1.8rem;
  font-weight: 500;
  color: #eb6129;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .tixplus__header .header-desc {
    font-size: 1.6rem;
  }
}
.tixplus__header .header-link {
  color: #eb6129;
  margin-bottom: 2rem;
  font-weight: 500;
  line-height: 2rem;
}
.tixplus__header .header-link i {
  color: #999;
  margin-right: 0.25rem;
  font-weight: 900;
  font-size: 1.8rem;
  line-height: 1.8rem;
}
.tixplus__header .header-link a {
  color: #e74375;
  font-size: initial;
  line-height: 2rem;
}
.tixplus__howto {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .tixplus__howto {
    display: block;
  }
}
.tixplus__howto__sec {
  width: 50%;
  margin: 15px 15px 30px;
}
.tixplus__howto__sec:first-child {
  width: 58%;
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .tixplus__howto__sec:first-child {
    width: 100%;
    margin: 0 0 15px;
  }
}
.tixplus__howto__sec:last-child {
  width: 42%;
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .tixplus__howto__sec:last-child {
    width: 100%;
    margin: 0 0 15px;
  }
}
.tixplus__howto__sec__inner {
  padding: 20px;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .tixplus__howto__sec__inner {
    padding: 15px;
  }
}
.tixplus__howto__sec__inner .sec-heading {
  padding: 0px;
  font-size: 2rem;
  line-height: 2rem;
}
@media screen and (max-width: 768px) {
  .tixplus__howto__sec__inner .sec-heading {
    font-size: 1.6rem;
    line-height: 1.6rem;
  }
}
.tixplus__howto__sec__inner.--departure {
  background: #FFBEDC;
}
.tixplus__howto__sec__inner.--departure .sec-heading {
  color: #e74375;
}
.tixplus__howto__sec__inner.--day {
  background: #9EE3F0;
}
.tixplus__howto__sec__inner.--day .sec-heading {
  color: #2F89C9;
}
.tixplus__howto__sec__inner .sec-item {
  display: table;
  margin: 1em 0 0 0;
  background-color: #FFF;
  width: 100%;
  min-height: 120px;
}
@media screen and (max-width: 768px) {
  .tixplus__howto__sec__inner .sec-item {
    display: block;
    min-height: auto;
  }
}
.tixplus__howto__sec__inner .sec-item__img {
  display: table-cell;
  width: 80px;
  padding: 15px;
  vertical-align: middle;
}
.tixplus__howto__sec__inner .sec-item__img img {
  width: 80px;
}
@media screen and (max-width: 768px) {
  .tixplus__howto__sec__inner .sec-item__img {
    display: block;
    width: 100%;
    text-align: center;
    padding: 15px 0px 0 0;
  }
}
.tixplus__howto__sec__inner .sec-item__desc {
  display: table-cell;
  padding: 15px;
  vertical-align: top;
}
.tixplus__howto__sec__inner .sec-item__desc .head {
  font-weight: 500;
  font-size: 1.8rem;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
  .tixplus__howto__sec__inner .sec-item__desc .head {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .tixplus__howto__sec__inner .sec-item__desc {
    display: block;
    width: calc(100% - 30px);
    padding: 15px 15px 20px;
  }
}
.tixplus__footer {
  display: flex;
}
@media screen and (max-width: 768px) {
  .tixplus__footer {
    display: block;
  }
}
.tixplus__footer dl:first-child {
  width: 58%;
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .tixplus__footer dl:first-child {
    width: 100%;
    margin: 0 0 15px;
  }
}
.tixplus__footer dl:last-child {
  width: 42%;
  margin-right: 0;
  padding-left: 20px;
}
@media screen and (max-width: 768px) {
  .tixplus__footer dl:last-child {
    width: 100%;
    margin: 0 0 0px;
    padding-left: 0;
  }
}
.tixplus__footer dl dt {
  font-weight: 500;
  font-size: 1.6rem;
  margin-bottom: 0.5em;
}
.tixplus__footer dl dt::first-letter {
  margin-right: 0.5em;
}
.tixplus__footer dl dd {
  font-weight: 500;
  padding-left: 25px;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .tixplus__footer dl dd {
    padding-left: 0px;
  }
}
.tixplus__footer dl dd a {
  margin-right: 1em;
  display: inline-block;
}
.tixplus__footer dl dd a img {
  width: 150px;
}
@media screen and (max-width: 768px) {
  .tixplus__footer dl dd a {
    width: 140px;
  }
  .tixplus__footer dl dd a img {
    width: 100%;
  }
}
.tixplus .space {
  padding-bottom: 10px;
}

/* PCナビゲーション */
.navigation .navigation-sp, .navigation .navigation-pc {
  position: fixed;
  width: 100%;
  z-index: 999;
}
.navigation-pc {
  background: rgba(0, 0, 0, 0.8);
}
.navigation-pc__list {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .navigation-pc__list {
    display: none;
  }
}
.navigation-pc__list li {
  flex: 1 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
}
.navigation-pc__list li a {
  color: white;
}
.navigation-pc__list li a:hover {
  opacity: 0.8;
}
.navigation-pc__list li a:link {
  color: white;
  text-decoration: none;
}
.navigation-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .navigation-sp {
    display: flex;
  }
}
.navigation-sp #menu-toggle {
  display: none;
}
.navigation-sp #menu-toggle:checked ~ .navigation-sp__list {
  transform: translateX(-100vw);
}
.navigation-sp #menu-toggle ~ label {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px;
  transition: 0.5s transform;
  color: white;
}
.navigation-sp #menu-toggle ~ label::before {
  font-family: "Font Awesome 5 Free";
  font-size: 3.2rem;
  font-weight: bold;
  text-shadow: 1px 1px 3px #444;
  content: "\f0c9";
}
.navigation-sp #menu-toggle:checked ~ label {
  transform: translateX(-220px);
  width: 100vw;
  height: 100vh;
}
.navigation-sp #menu-toggle:checked ~ label::before {
  font-family: "Font Awesome 5 Free";
  content: "\f00d";
  font-size: 3.2rem;
  font-weight: bold;
  text-shadow: 1px 1px 3px #444;
  position: absolute;
  right: -50px;
  top: -2px;
}
.navigation-sp .navigation-sp__list {
  position: fixed;
  top: 0;
  right: -100vw;
  height: 100%;
  transition-timing-function: cubic-bezier(0.38, 0.52, 0.23, 0.99);
  background: rgba(0, 0, 0, 0.8);
  opacity: 0.9;
  z-index: 1;
}
.navigation-sp .navigation-sp__list ul li a {
  display: block;
  border-bottom: 1px solid white;
  color: white;
  font-size: 1.6rem;
  padding: 20px 28px;
  text-decoration: none;
}

/* TOPボタン */
#page-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  font-size: 2.5rem;
  line-height: 2.5rem;
  background: rgba(255, 255, 255, 0.6156862745);
  color: #666;
  padding: 10px;
  border: solid 1px;
  box-shadow: 0 2px 10px -6px rgba(0, 0, 0, 0.5), 0 3px 10px -4px rgba(0, 0, 0, 0.2);
}
#page-top:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  #page-top {
    font-size: 2rem;
    line-height: 2rem;
  }
}

main .reception__section__wrap__inner {
  box-shadow: none;
  border: none;
}

.term__list {
  border: 1px solid #ccc;
  margin: 10px 0;
}
.term__pass {
  display: flex;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .term__pass {
    display: block;
  }
}
.term__pass2 {
  display: flex;
  border-top: 1px solid #ccc;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .term__pass2 {
    display: block;
  }
}
.term__heading {
  justify-content: center;
  flex: 0 0 210px;
  display: flex;
  align-items: center;
  background-color: #eee;
  border-right: 1px solid #ccc;
  padding: 8px;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .term__heading {
    border-bottom: 1px solid #ccc;
    border-right: 0px solid #ccc;
  }
}
.term__content {
  flex: auto;
  padding: 8px;
}

#organizer .section__wrap__inner p {
  font-weight: bold;
  font-size: 20px;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #organizer .section__wrap__inner p {
    font-size: 16px;
    margin-bottom: 20px;
  }
}
#organizer .section__wrap__inner div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4%;
}
#organizer .section__wrap__inner img {
  width: 30%;
}
@media screen and (max-width: 768px) {
  #organizer .section__wrap__inner img {
    width: 49%;
  }
}
#organizer .section__wrap__inner img:last-of-type {
  width: 20%;
}
@media screen and (max-width: 768px) {
  #organizer .section__wrap__inner img:last-of-type {
    width: 30%;
  }
}

.js-modal1 {
  overflow: auto;
  position: fixed;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}
.js-modal1 .sp {
  display: noen;
}
@media screen and (max-width: 768px) {
  .js-modal1 .sp {
    display: block;
  }
}
.js-modal1.active {
  opacity: 1;
  pointer-events: auto;
}
.js-modal1__background {
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  inset: 0;
  z-index: 999;
}
.js-modal1__content {
  position: relative;
  z-index: 9999;
  max-width: 980px;
  margin: 0 auto;
  background: #fff;
}

#discontinuation {
  z-index: 1000;
  color: initial;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  #discontinuation {
    font-size: 0.9em;
  }
}
#discontinuation ul.number,
#discontinuation ul.disc,
#discontinuation ul.kome {
  padding-left: 25px;
}
#discontinuation .modal-dialog {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  margin-top: 5vh;
  margin-bottom: 5vh;
}
@media screen and (max-width: 768px) {
  #discontinuation .modal-dialog {
    width: 90%;
  }
}
#discontinuation .modal-dialog .modal-content {
  border: 1px solid red;
}
#discontinuation .modal-dialog .modal-content .header {
  text-align: center;
  color: white;
  background-color: red;
  padding: 15px;
}
#discontinuation .modal-dialog .modal-content .header h2 {
  font-size: 2rem;
}
#discontinuation .modal-dialog .modal-content .header button span {
  font-size: initial;
  color: white;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  #discontinuation .modal-dialog .modal-content .header h2 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  #discontinuation .modal-dialog .modal-content .header h2 {
    font-size: 1.6rem;
  }
}
#discontinuation .modal-dialog .modal-content .body {
  padding: 20px;
  margin: 0 auto;
  font-size: 1.2em;
  color: red;
}
#discontinuation .modal-dialog .modal-content .body hr {
  margin: 1em 0;
  border: 0;
  border-top: 1px dashed #ccc;
}
#discontinuation .modal-dialog .modal-content .body ul {
  padding: 1em;
  padding-right: 0;
}
#discontinuation .modal-dialog .modal-content .body .caution {
  margin: 0 0 20px;
  font-weight: bold;
}
#discontinuation .modal-dialog .modal-content .body .caution span {
  display: inline-block;
  background: #e8f4f8;
  padding: 12px 15px;
  color: #c82534;
  line-height: 1.8;
}
#discontinuation .modal-dialog .modal-content .footer {
  text-align: center;
  padding: 15px;
}
#discontinuation .modal-dialog .modal-content .footer button {
  font-size: initial;
  padding: 10px 20px;
  cursor: pointer;
  border-radius: 5px;
  border: 1px solid #999;
}
#discontinuation .modal-dialog .modal-content .footer button:hover {
  color: white;
  background-color: #333;
}

.btn__section .section__wrap__inner {
  border: 4px solid #000;
}
.btn__section .section__wrap__inner__subtitle {
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  color: red;
}
@media screen and (max-width: 768px) {
  .btn__section .section__wrap__inner__subtitle {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
}
.btn__section .flex {
  display: flex;
  justify-content: flex-start;
}
.btn__section .flex:first-of-type {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .btn__section .flex:first-of-type {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  .btn__section .flex {
    flex-direction: column;
  }
}
.btn__section .flex a {
  margin: 20px;
  width: 46%;
  padding: 20px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.3;
  border-radius: 200px;
  background-color: #125687;
  box-shadow: 0px 4px 0px 0px #061d2e;
}
@media screen and (max-width: 768px) {
  .btn__section .flex a {
    margin: 0 0 15px;
    display: block;
    width: 100%;
    padding: 15px;
    font-size: 1.8rem;
    box-sizing: border-box;
  }
}
.btn__section .flex a:hover {
  box-shadow: none;
  transform: translateY(4px);
}
.btn__section .flex a.closed {
  background-color: #ccc;
  color: #333;
}

.playguide {
  margin: 28px 0;
  background: #EFEFEF;
  padding: 20px;
}
.playguide__title {
  text-align: center;
  border-bottom: 2px solid #444;
  padding-bottom: 12px;
  margin-bottom: 28px;
  font-size: 2rem;
  font-weight: bold;
}
.playguide__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.playguide__item .logo {
  flex: 0 0 150px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .playguide__item .logo {
    margin-bottom: 8px;
  }
}
.playguide__item .detail {
  font-size: 1.4rem;
  flex: 0 0 100%;
  max-width: calc(100% - 170px);
}
@media screen and (max-width: 768px) {
  .playguide__item .detail {
    max-width: 100%;
  }
}
.playguide__item .detail dl {
  display: flex;
  flex-wrap: wrap;
}
.playguide__item .detail dl dt {
  flex: 0 0 100px;
  background: #fff;
  border: 2px solid #EFEFEF;
  padding: 8px;
  text-align: center;
  font-weight: 500;
}
.playguide__item .detail dl dd {
  flex: 0 0 100%;
  max-width: calc(100% - 140px);
  background: #fff;
  border: 2px solid #EFEFEF;
  padding: 8px;
}/*# sourceMappingURL=style.css.map */