@charset "utf-8";

@media screen and (min-width: 768px) {
  /* PC size */
}
@media screen and (max-width: 767px) {
  /* SP size */
}
@media (hover: hover) {
  /* hover style */
  /* IE11 だと効かない */
}
@media all and (-ms-high-contrast: none) {
  /* IE のみ */
}
@media (hover: hover), (-ms-high-contrast: none) {
  /* IE対応 タッチデバイス無効 hover */
}

/* == base ============================================== */
html {
  font-size: 62.5%;
}
body {
  font-family: "Noto Sans", "Noto Sans JP", Helvetica, Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 400;
  color: #111;
}
main {
  display: block;
  margin: 120px 0 0;
}
@media screen and (max-width: 1180px) {
  main {
    margin: 66px 0 0;
  }
}
button,
select,
input,
textarea {
  font-family: "Noto Sans", "Noto Sans JP", Helvetica, Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

/* == utility ============================================== */
@media screen and (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}
.u-clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.u-bold {
  font-weight: 700;
}
.u-center {
  text-align: center;
}
.u-inter {
  font-family: "Inter", sans-serif;
}
.u-credit {
  width: 100%;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  text-align: right;
  color: #fff;
}
.u-hover {
  transition: opacity 0.3s;
}
@media (hover: hover), (-ms-high-contrast: none) {
  .u-hover:hover {
    opacity: 0.6;
  }
}
.u-noPost {
  max-width: 90%;
  font-size: 1.6rem;
  text-align: center;
  padding: 40px 0;
  margin: 0 auto;
}

/* == base style ============================================== */
.c-mainText {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  word-break: break-all;
}
.c-mainText::after {
  content: "";
  display: block;
  clear: both;
}
.c-mainText > *:first-child {
  margin-top: 0;
}
.c-mainText > *:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .c-mainText {
    font-size: 1.6rem;
  }
}
/* --- 見出し --- */
.c-mainText h1,
.c-mainText h2 {
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
  border-bottom: 4px solid #000;
  padding: 0 0 8px 0;
  margin: 120px 0 40px;
}
.c-mainText__h1,
.c-mainText__h2 {
  margin: 120px 0 40px;
}
.c-mainText__h1 h1,
.c-mainText__h2 h2 {
  display: inline-block;
  margin: 0;
}
.c-mainText h3 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 0 0 0 40px;
  margin: 90px 0 40px;
  position: relative;
}
.c-mainText h3::before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  background: #000;
  position: absolute;
  top: 0.375em;
  left: 0;
}
.c-mainText__h3 {
  margin: 90px 0 40px;
}
.c-mainText__h3 h3 {
  margin: 0;
}
.c-mainText h2 + h3,
.c-mainText__h2 + .c-mainText__h3 {
  margin-top: 40px;
}
.c-mainText h4 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  border: 1px solid #000;
  border-width: 0 0 1px 1px;
  padding: 10px 16px;
  margin: 90px 0 40px;
}
.c-mainText__h4 {
  margin: 90px 0 40px;
}
.c-mainText__h4 h4 {
  display: inline-block;
  margin: 0;
}
.c-mainText h3 + h4,
.c-mainText__h3 + .c-mainText__h4 {
  margin-top: 40px;
}
.c-mainText h5,
.c-mainText h6 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 32px 0;
}
@media screen and (max-width: 767px) {
  .c-mainText h1,
  .c-mainText h2 {
    font-size: 3rem;
  }
  .c-mainText h3 {
    font-size: 2.8rem;
  }
  .c-mainText h4 {
    font-size: 2.2rem;
  }
  .c-mainText h5,
  .c-mainText h6 {
    font-size: 2rem;
  }
}
/* --- 段落 --- */
.c-mainText p {
  margin: 1.5em 0;
}
/* --- 引用 --- */
.c-mainText blockquote {
  font-size: 1.6rem;
  line-height: 1.5;
  background: #e5e5e5;
  padding: 40px;
  margin: 40px 0;
}
.c-mainText blockquote > *:first-child {
  margin-top: 0;
}
.c-mainText blockquote > *:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {}
/* --- テーブル --- */
.c-tableScroll {
  width: 100%;
  max-width: none;
  min-height: 0.01%;
  overflow: auto;
  overflow-y: hidden;
}
.c-mainText figure {
  margin: 40px 0;
}
.wp-block-table thead {
  border: 0;
}
.c-tableScroll::-webkit-scrollbar {
  height: 8px;
}
.c-tableScroll::-webkit-scrollbar-track {
  background: #eaeaea;
}
.c-tableScroll::-webkit-scrollbar-thumb {
  background: #d0d3d9;
}
.c-mainText table th,
.c-mainText table td {
  border: 2px solid #fff;
}
.c-mainText table tr *:first-of-type {
  border-left: 0;
}
.c-mainText table tr *:last-of-type {
  border-right: 0;
}
.c-mainText table th {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  background: #e5e5e5;
  padding: 10px 20px;
  color: #000;
}
.c-mainText table td {
  font-size: 1.6rem;
  background: #f7f7f7;
  padding: 16px 20px;
}
.c-mainText table th a {
  color: #000 !important;
}
.c-mainText caption {
  text-align: left;
}
@media screen and (max-width: 767px) {
  /* SP size */
}
/* --- 定義リスト --- */
.c-mainText dl {
  width: 100%;
  margin: 24px 0;
}
.c-mainText dt {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-mainText dl {
    display: flex;
    flex-wrap: wrap;
  }
  .c-mainText dt {
    width: 200px;
    padding: 0 10px 0 0;
    margin: 8px 0;
  }
  .c-mainText dd {
    width: calc(100% - 200px);
    margin: 8px 0;
  }
}
/* --- 非順序リスト --- */
.c-mainText ul {
  padding: 0 0 0 24px;
  margin: 40px 0;
}
.c-mainText ul ul,
.c-mainText ol ul {
  padding: 0;
  margin: 0;
}
.c-mainText ul > li {
  font-size: 1.7rem;
  line-height: 2;
  text-indent: -22px;
  margin: 0 0 0 1.5em;
}
.c-mainText ul > li::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #000;
  margin: -2px 10px 0 8px;
}
@media screen and (max-width: 767px) {
  .c-mainText ul {
    padding: 0 0 0 6px;
  }
  .c-mainText ul > li {
    font-size: 1.6rem;
  }
}
/* --- 順序リスト --- */
.c-mainText ol {
  counter-reset: olNum;
  padding: 0 0 0 24px;
  margin: 40px 0;
}
.c-mainText ol ol,
.c-mainText ul ol {
  padding: 0;
  margin: 0;
}
.c-mainText ol > li {
  font-size: 1.7rem;
  line-height: 2;
  text-indent: -22px;
  margin: 0 0 0 1.5em;
}
.c-mainText ol > li::before {
  counter-increment: olNum;
  content: counter(olNum) ".";
  margin: 0 6px 0 0;
}
/* .c-mainText ol ol > li::before {
  content: counter(olNum, lower-alpha) ".";
} */
@media screen and (max-width: 767px) {
  .c-mainText ol {
    padding: 0 0 0 6px;
  }
  .c-mainText ol > li {
    font-size: 1.6rem;
  }
}
/* --- 要素タグ --- */
/* [罫線] */
.c-mainText hr {
  width: 100%;
  height: 2px;
  background: #dadada;
  border: 0;
  margin: 80px 0;
}
/* [強調] */
.c-mainText strong,
.c-mainText b {
  font-weight: 700;
}
/* [強調] ( 斜体 ) */
.c-mainText em {
  font-style: italic;
}
/* [強調] ( マーカー ) */
/* .c-mainText mark {
  background: linear-gradient(transparent 60%, #ff6 60%);
} */
/* [打ち消し] */
.c-mainText del {
  text-decoration: line-through;
}
/* [住所] */
.c-mainText address,
.c-mainText address * {
  font-style: italic;
}
/* [アンカー] ( リンク ) */
.c-mainText a:not([class]) {
  text-decoration: underline;
  transition: opacity 0.4s;
}
@media (hover: hover) {
  .c-mainText a:not([class]):hover,
  .c-anchor:hover {
    opacity: 0.7;
  }
}
/* [略語、頭字語] ( abbreviation ) */
.c-mainText abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration-style: dotted;
}
/* [引用元] */
.c-mainText cite {
  font-style: italic;
}
/* [コード] */
.c-mainText code {
  display: inline-block;
  padding: 0.1em 0.25em;
  color: #444;
  background-color: #e7edf3;
  border-radius: 3px;
  border: solid 1px #d6dde4;
}
/* [追加、挿入] */
.c-mainText ins {
  text-decoration: underline;
}
/* [キーボード入力要素] */
.c-mainText kbd {
  display: inline-block;
  padding: 0.1em 0.25em;
  color: #444;
  background-color: #e7edf3;
  border-radius: 3px;
  border: solid 1px #d6dde4;
}
/* [コードブロック] */
.c-mainText pre {
  margin: 1em 0;
  padding: 1em;
  border-radius: 5px;
  background: #25292f;
  color: #fff;
  /* white-space: pre-wrap; */
  overflow: auto;
  overflow-y: hidden;
}
.c-mainText pre::-webkit-scrollbar {
  height: 6px;
}
.c-mainText pre::-webkit-scrollbar-track {
  background: #e6e6e6;
}
.c-mainText pre::-webkit-scrollbar-thumb {
  background: #cbcbcb;
}
/* [一部引用] */
.c-mainText q::before {
  content: open-quote;
}
.c-mainText q::after {
  content: close-quote;
}
/* [下付き、上付き文字] */
.c-mainText sub,
.c-mainText sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.c-mainText sub {
  bottom: -0.25em;
}
.c-mainText sup {
  top: -0.5em;
}
/* [変数、引数、因数] */
.c-mainText var {
  font-style: italic;
}
/* --- 画像 --- */
.c-mainText img {
  max-width: 100%;
}
.c-mainText figcaption,
.c-mainText .wp-caption,
.c-mainText .wp-caption-text,
.c-mainText .wp-block-embed figcaption {
  max-width: 100%;
  font-size: 1.2rem;
  line-height: 1.5;
  margin: 8px 0;
}
/* --- 配置 --- */
.c-mainText img.alignright {
  display: inline;
  margin: 0 auto 30px 24px;
}
.c-mainText img.alignleft {
  display: inline;
  margin: 0 24px 30px auto;
}
.c-mainText img.aligncenter {
  display: block;
  margin: 14px auto;
}
.c-mainText .alignright {
  float: right;
  margin: 0 auto 30px 24px;
}
.c-mainText .alignleft {
  float: left;
  margin: 0 24px 30px auto;
}
.c-mainText .aligncenter {
  clear: both;
  float: none;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-mainText img.alignright {
    display: block;
    margin: 15px auto;
  }
  .c-mainText img.alignleft {
    display: block;
    margin: 15px auto;
  }
  .c-mainText .alignright {
    float: none;
  }
  .c-mainText .alignleft {
    float: none;
  }
}

/* --- ACF block --- */
.c-pdfDl {
  margin: 90px 0;
}
.c-pdfDl__item {
  width: 100%;
  height: 480px;
}
.c-pdfDl__item iframe {
  width: 100%;
  height: 100%;
}
.c-pdfDl .c-btn {
  margin: 40px 0 0;
}
.c-myMap {
  margin: 90px 0;
}
.c-myMap__item {
  width: 100%;
  height: 720px;
}
.c-myMap__item iframe {
  width: 100%;
  height: 100%;
}
.c-myMap .c-btn {
  margin: 40px 0 0;
}


/* == parts ============================================== */
/*** inner *********************************/
.l-inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: 93%;
  }
}

/*** heading *********************************/
.c-heading {
  text-align: center;
  margin: 0 0 24px;
}
.c-heading__sub {
  display: block;
  font-size: 2.6rem;
  font-weight: 200;
  line-height: 1.2;
  font-style: italic;
  letter-spacing: 0.02em;
  margin: 0 0 10px;
}
.c-heading__main {
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.37;
}
/* --- left --- */
.c-heading--left {
  text-align: left;
}
.c-heading--left .c-heading__sub {
  font-size: 2.8rem;
  margin: 0 0 4px;
}
.c-heading--left .c-heading__main {
  font-size: 4.2rem;
  letter-spacing: -0.02em;
}
/* --- icon --- */
.c-heading__icon {
  width: 80px;
  height: 70px;
  background: #fff;
  border: 1px solid #000;
  position: relative;
  overflow: hidden;
  margin: 0 auto 12px;
}
.c-heading__icon--bk {
  background: #222;
  color: #fff;
}
.c-heading__iconItem {
  font-size: 27px;
}
.c-heading__iconItem,
.c-heading__icon img {
  max-width: 50%;
  max-height: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-heading--icon .c-heading__sub {
  font-size: 2.4rem;
  margin: 0 0 32px;
}
/* --- icon type 02 --- */
.c-heading--iconType02 .c-heading__icon {
  width: 70px;
  height: 70px;
  border: 0;
}
.c-heading--iconType02 .c-heading__iconItem {
  font-size: 70px;
}
.c-heading--iconType02 .c-heading__iconItem,
.c-heading--iconType02 .c-heading__icon img {
  max-width: 100%;
  max-height: 100%;
}
.c-heading--iconType02 .c-heading__icon box-icon {
  width: 100%;
  height: 100%;
  font-size: 0;
}
.c-heading--iconType02 .c-heading__main {
  display: inline-block;
  font-size: 2.8rem;
  border-bottom: 4px solid #ffdc60;
  padding: 0 0 6px;
}
/* --- type 02 --- */
.c-heading--type02 .c-heading__sub {
  display: inline-block;
  font-style: normal;
  font-weight: 700;
  border-bottom: 4px solid #ffdc60;
  padding: 0 0 10px;
  margin: 0 0 20px;
}
.c-heading--type02 .c-heading__main {
  font-size: 4.2rem;
}
/* --- line --- */
.c-heading__main--line {
  display: inline-block;
  font-size: 4.2rem;
  border-bottom: 4px solid #000;
  padding: 0 0 12px;
}
@media screen and (max-width: 767px) {
  .c-heading__sub {
    font-size: 1.6rem;
    margin: 0 0 6px;
  }
  .c-heading__main {
    font-size: 1.8rem;
  }
  /* --- left --- */
  .c-heading--left .c-heading__sub {
    font-size: 1.6rem;
    margin: 0 0 6px;
  }
  .c-heading--left .c-heading__main {
    font-size: 2.1rem;
  }
  /* --- icon --- */
  .c-heading__icon {
    margin-bottom: 16px;
  }
  .c-heading--icon .c-heading__sub {
    font-size: 1.6rem;
    margin: 0 0 12px;
  }
  /* --- icon type 02 --- */
  .c-heading--iconType02 .c-heading__main {
    font-size: 2.1rem;
  }
  .c-heading--iconType02 .c-heading__icon {
    width: 54px;
    height: 54px;
  }
  .c-heading--iconType02 .c-heading__iconItem {
    font-size: 54px;
  }
  /* --- type 02 --- */
  .c-heading--type02 .c-heading__sub {
    font-size: 1.3rem;
    border-width: 0 0 2px;
    padding: 0 0 6px;
    margin: 0 0 26px;
  }
  .c-heading--type02 .c-heading__main {
    font-size: 2.8rem;
  }
  /* --- line --- */
  .c-heading__main--line {
    font-size: 2.1rem;
  }
}

/*** heading sentence *********************************/
.c-headingDesc {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.38;
  text-align: center;
  letter-spacing: -0.02em;
  margin: 0 0 26px;
}
.c-headingLead {
  max-width: 980px;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: justify;
  letter-spacing: -0.02em;
  margin: 0 auto 24px;
}
.c-headingLead--center {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-headingDesc {
    font-size: 1.8rem;
  }
  .c-headingLead {
    font-size: 1.4rem;
  }
}

/*** button *********************************/
.c-btn + .c-btn {
  margin-top: 24px;
}
.c-btn button {
  -webkit-appearance: none;
  appearance: none;
}
.c-btn .c-btn__item {
  color: inherit;
  display: inline-flex;
  align-items: center;
  min-width: 440px;
  min-height: 84px;
  background: #ffdc60;
  text-align: left;
  border: 0;
  cursor: pointer;
  padding: 20px 60px 20px 20px;
  text-decoration: none;
  position: relative;
  transition: background-color 0.3s, opacity 0.3s;
}
.c-btn__item::before {
  content: "";
  display: block;
  width: 8px;
  height: 12px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/common/arrow01.svg);
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
}
.c-btn__text {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (hover: hover), (-ms-high-contrast: none) {
  .c-btn .c-btn__item:hover {
    background-color: #ffc700;
  }
}
/* --- large size --- */
.c-btn--large .c-btn__item {
  min-width: 600px;
  min-height: 135px;
  padding: 20px 60px 20px 54px;
}
/* --- transparent --- */
.c-btn--transp .c-btn__item {
  min-height: 100px;
  background: transparent;
  border: 1px solid #000;
  padding: 20px 60px 20px 36px;
}
@media (hover: hover), (-ms-high-contrast: none) {
  .c-btn--transp .c-btn__item:hover {
    background-color: transparent;
    opacity: 0.6;
  }
}
/* --- center --- */
.c-btn--center {
  text-align: center;
}
/* --- back --- */
.c-btn--back .c-btn__item {
  padding: 20px 20px 20px 60px;
}
.c-btn--back .c-btn__item::before {
  right: auto;
  left: 32px;
  transform: translateY(-50%) scale(-1, 1);
}
/* --- download --- */
.c-btn--dl .c-btn__item {
  text-align: center;
  justify-content: center;
  padding: 20px;
}
.c-btn--dl .c-btn__text {
  display: inline-block;
  padding: 0 30px;
  position: relative;
}
.c-btn--dl .c-btn__text::before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/common/icon/icon_download.svg);
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.c-btn--dl .c-btn__item::before {
  content: none;
}
/* --- more --- */
.c-btn--more .c-btn__item {
  justify-content: center;
}
.c-btn--more .c-btn__item::before {
  content: none;
}
.c-btn--more .c-btn__text {
  padding: 0 0 0 22px;
  position: relative;
}
.c-btn--more .c-btn__text::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background: url(../img/common/icon/icon_plus.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .c-btn {
    text-align: center;
  }
  .c-btn .c-btn__item {
    width: 100%;
    min-width: auto;
    max-width: 440px;
    min-height: 84px;
    padding: 14px 60px 14px 15px;
  }
  .c-btn--dl .c-btn__item {
    padding: 20px;
  }
  .c-btn__item::before {
    right: 26px;
  }
  .c-btn__text {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.3;
  }
  /* --- large size --- */
  .c-btn--large .c-btn__item {
    min-width: auto;
    max-width: 440px;
    min-height: 100px;
    padding: 20px 60px 20px 20px;
  }
  .c-btn--large .c-btn__text {
    font-size: 1.4rem;
    line-height: 1.35;
  }
  /* --- transparent --- */
  .c-btn--transp .c-btn__item {
    max-width: 270px;
    min-height: 64px;
    padding: 20px 60px 20px 20px;
  }
  .c-btn--transp .c-btn__text {
    font-size: 1.4rem;
    line-height: 1.35;
  }
  /* --- back --- */
  .c-btn--back .c-btn__item {
    padding: 14px 15px 14px 60px;
  }
  .c-btn--back .c-btn__item::before {
    left: 26px;
  }
}

/*** breadcrumb *********************************/
.c-breadcrumb {
  width: 100%;
}
.c-breadcrumbList {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 28px 25px;
}
.c-breadcrumb--bg .c-breadcrumbList {
  background: #222;
}
.c-breadcrumbList__item {
  font-size: 1.2rem;
  line-height: 1.3;
  color: #fff;
  padding: 0 0 0 1.5em;
  position: relative;
}
.c-breadcrumbList__item + .c-breadcrumbList__item::before {
  content: '>';
  padding: 0 0.5em;
  position: absolute;
  top: auto;
  left: 0;
}
.c-breadcrumbList__item a {
  transition: opacity 0.4s;
  text-decoration: underline;
}
.c-breadcrumbList__item--home {
  display: block;
  width: 16px;
  height: 16px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  padding: 0;
}
.c-breadcrumbList__item--home a {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/common/icon/icon_home.svg) no-repeat center;
  background-size: contain;
}
@media (hover: hover) {
  .c-breadcrumbList__item a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .c-breadcrumbList {
    padding: 12px 16px;
  }
  .c-breadcrumbList__item {
    font-size: 1rem;
    line-height: 1.7;
  }
  .c-breadcrumbList__item--home {
    width: 14px;
    height: 14px;
  }
  .c-breadcrumb--bg {
    background: #222;
  }
}

/*** link only editor *********************************/
.c-linkOnlyEditor p + p {
  margin-top: 1.25em;
}
.c-linkOnlyEditor a {
  text-decoration: underline;
}
@media (hover: hover) {
  .c-linkOnlyEditor a:hover {
    text-decoration: none;
  }
}

/*** under title *********************************/
.c-underTitle {
  background: #f8f8f8;
}
.c-underTitle__inner {
  width: 90%;
  min-height: 380px;
  display: flex;
  align-items: center;
  padding: 40px 0 60px;
  margin: 0 auto;
}
.c-underTitle__item {
  width: 100%;
}
.c-underTitle__text {
  font-size: 1.9rem;
  line-height: 1.5;
  text-align: center;
  letter-spacing: -0.02em;
  margin: 36px 0 0;
}
.c-underTitle__area {
  display: flex;
  justify-content: flex-end;
  margin: 6px 0 0;
}
.c-underTitle__areaFlag {
  flex-shrink: 0;
  display: block;
  width: 30px;
  height: 20px;
  position: relative;
  overflow: hidden;
  margin: 12px 10px 0 0;
}
.c-underTitle__areaFlag .fi {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.c-underTitle__areaFlag img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-underTitle__areaName {
  font-size: 2.9rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 4px 0;
}
.c-underTitle__areaName__en {
  font-size: 1.8rem;
  font-weight: 400;
  padding: 0 0 0 10px;
}
@media screen and (max-width: 767px) {
  .c-underTitle__inner {
    min-height: 280px;
    padding: 40px 0;
  }
  .c-underTitle__text {
    max-width: 380px;
    font-size: 1.6rem;
    text-align: left;
    margin: 36px auto 0;
  }
  .c-underTitle__area {
    justify-content: flex-start;
    margin: 48px 0 0;
  }
  .c-underTitle__areaFlag {
    width: 20px;
    height: 16px;
    margin: 6px 6px 0 0;
  }
  .c-underTitle__areaName {
    font-size: 1.8rem;
  }
  .c-underTitle__areaName__en {
    font-size: 1.4rem;
    padding: 0 0 0 6px;
  }
}

/*** point *********************************/
.c-point {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 0 50px;
}
.c-point__num {
  font-size: 2.8rem;
  font-weight: 200;
  line-height: 1;
  font-style: italic;
  letter-spacing: -0.02em;
  margin: 0 0 36px;
}
.c-point__numText {
  font-size: 6.8rem;
  font-weight: 900;
}
.c-point__head {
  display: flex;
  margin: 0 0 40px;
}
.c-point__icon {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  margin: 0 10px 0 0;
}
.c-point__icon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@supports (object-fit: cover) {
  .c-point__icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.c-point__title {
  display: flex;
  align-items: center;
  flex: 1;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.37;
  text-align: justify;
  letter-spacing: -0.02em;
}
.c-point__contents {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.c-point__img {
  width: 54%;
  text-align: center;
}
.c-point__imgItem {
  display: inline-block;
}
.c-point__imgCredit {
  color: #000;
  margin: 18px 0 0;
}
.c-point__text {
  flex: 1;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.c-point__img + .c-point__text {
  width: 42%;
  flex: 0 1 auto;
  margin: 40px 0 0;
}
/* --- list --- */
.c-pointList .c-point {
  border: 1px solid #dadada;
  border-width: 0 0 1px;
}
.c-pointList .c-point:nth-of-type(2n) .c-point__contents {
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .c-point {
    padding: 36px 0;
  }
  .c-point__head {
    margin: 0 0 20px;
  }
  .c-point__icon {
    width: 42px;
    height: 42px;
    margin: 0 20px 0 0;
  }
  .c-point__title {
    font-size: 1.9rem;
    line-height: 1.5;
  }
  .c-point__contents {
    display: block;
  }
  .c-point__img {
    width: 100%;
  }
  .c-point__imgCredit {
    margin: 8px 0 0;
  }
  .c-point__text {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .c-point__img + .c-point__text {
    width: 100%;
  }
}

/*** tips *********************************/
.c-tips {
  max-width: 1042px;
  border: 1px solid #000;
  background: #fff;
  padding: 35px 0 15px;
  margin: 40px auto 0;
  position: relative;
}
.c-tips__heading {
  width: 100%;
  text-align: center;
  position: absolute;
  top: -36px;
  left: 0;
}
.c-tips__headingText {
  display: inline-block;
  min-width: 112px;
  min-height: 50px;
  font-size: 2.8rem;
  font-style: italic;
  font-weight: 200;
  line-height: 1;
  text-align: center;
  letter-spacing: -0.02em;
  padding: 6px 32px 16px;
  position: relative;
  z-index: 1;
}
.c-tips__headingText::before,
.c-tips__headingText::after {
  content: '';
  display: block;
  width: 50%;
  height: 100%;
  background: #fff;
  border: 1px solid #000;
  border-width: 0 0 0 1px;
  position: absolute;
  bottom: 0;
  left: 28px;
  z-index: -1;
  transform: skewX(28deg);
  transform-origin: bottom left
}
.c-tips__headingText::after {
  border-width: 0 1px 0 0;
  left: auto;
  right: 28px;
  transform: skewX(-28deg);
}
.c-tips__contents {
  width: 92%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.c-tips__contents + .c-tips__contents {
  border-top: 1px solid #dadada;
  padding-top: 28px;
  margin-top: 22px;
}
.c-tips__img {
  width: 41%;
  text-align: center;
  margin: 0 0 0 5%;
}
.c-tips__imgItem {
  display: inline-block;
}
.c-tips__imgCredit {
  color: #000;
  margin: 8px 0 0;
}
.c-tips__text {
  flex: 1;
  /* width: 62%; */
  font-size: 1.8rem;
  line-height: 1.62;
  letter-spacing: -0.02em;
  padding: 24px 0 28px;
}
.c-tips__textTitle {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 16px;
}
.c-tips__textTitle__item {
  display: inline-block;
  border-bottom: 1px solid #000;
  padding: 0 0 5px;
}
/* --- */
.c-tips--quick {
  max-width: 1140px;
  padding: 38px 0;
}
.c-tips--quick .c-tips__contents {
  align-items: center;
}
.c-tips--quick .c-tips__text {
  font-size: 1.8rem;
  line-height: 1.5;
}
.c-tips__profile {
  width: 260px;
  flex-shrink: 0;
  margin: 0 5% 0 0;
}
.c-tips__profileImg {
  width: 210px;
  height: 210px;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  margin: 0 auto 14px;
}
.c-tips__profileImg img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@supports (object-fit: cover) {
  .c-tips__profileImg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.c-tips__profileText {
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: center;
}
.c-tips__profileText__name {
  font-size: 2.1rem;
  font-weight: 700;
  text-decoration-line: underline;
}
@media screen and (max-width: 767px) {
  .c-tips {
    padding: 42px 0 20px;
  }
  .c-tips__headingText {
    padding: 6px 40px 16px;
  }
  .c-tips__contents {
    display: block;
  }
  .c-tips__img {
    width: 100%;
    margin: 20px 0 0;
  }
  .c-tips__text {
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
    padding: 0;
  }
  .c-tips__textTitle {
    font-size: 1.9rem;
    text-align: center;
    margin: 0 0 20px;
  }
  .c-tips__textTitle__item {
    padding: 0 20px 5px;
  }
  .c-tips--quick {
    max-width: 1140px;
    padding: 38px 0;
  }
  .c-tips--quick .c-tips__contents {
    align-items: center;
  }
  .c-tips--quick .c-tips__text {
    font-size: 1.3rem;
  }
  .c-tips__profile {
    margin: 0 auto 20px;
  }
}

/*** basic information *********************************/
.c-basicInfo__heading {
  color: #fff;
  background: #222;
  padding: 64px 16px 16px;
  margin: 0 0 66px;
}
.c-basicInfo__heading .c-heading {
  padding: 0 46px;
  margin: 0 0 40px;
}
.c-basicInfo__heading .c-heading__sub {
  color: #ffdc60;
}
.c-basicInfo__heading__note {
  font-size: 1.2rem;
  line-height: 1.33;
  text-align: right;
}
/* --- */
.c-basicInfo__detail {
  color: #fff;
}
.c-basicInfo__detailHead {
  margin: 0 0 24px;
}
.c-basicInfo__detailHead .courseName {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: justify;
  letter-spacing: -0.02em;
  margin: 0 0 4px;
}
.c-basicInfo__detailHead .headItem {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
.c-basicInfo__detailHead .courseNameEn {
  font-size: 1.6rem;
  line-height: 1.37;
  text-align: justify;
}
.c-basicInfo__detailHead .courseNameEn__separate {
  font-size: 1.4rem;
  line-height: 1.35;
  padding: 0 0.25em 0 12px;
}
.c-basicInfo__detailHead .courseAddr {
  font-size: 1.4rem;
  line-height: 1.35;
  letter-spacing: -0.02em;
}
/* --- */
.c-basicInfo__detailContents {
  display: flex;
  justify-content: space-between;
}
.c-basicInfo__detailContents .mapBox {
  width: 49%;
}
.c-basicInfo__detailContents .mapBox__map {
  width: 100%;
  height: 290px;
}
.c-basicInfo__detailContents .mapBox__map iframe {
  width: 100%;
  height: 100%;
}
.c-basicInfo__detailContents .mapBox__link {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration-line: underline;
  margin: 18px 0 0;
  display: flex;
  align-items: center;
}
.c-basicInfo__detailContents .mapBox__linkIcon {
  width: 24px;
  height: 24px;
  margin: 0 4px 0 0;
}
.c-basicInfo__detailContents .infoBox {
  width: 46%;
}
.c-basicInfo__detailContents .infoBox__dl {
  margin: 0 0 24px;
}
.c-basicInfo__detailContents .infoBox__dt {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.37;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}
.c-basicInfo__detailContents .infoBox__dd {
  font-size: 1.4rem;
  line-height: 1.35;
  letter-spacing: 0.02em;
}
.c-basicInfo__detailContents .urlBox {
  margin: 24px 0 0;
}
.c-basicInfo__detailContents .urlList__item {
  display: flex;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  text-decoration-line: underline;
  margin: 0 0 14px;
}
.c-basicInfo__detailContents .urlList__itemIcon {
  width: 28px;
  height: 28px;
  margin: 0 12px 0 0;
  flex-shrink: 0;
  position: relative;
}
.c-basicInfo__detailContents .urlList__itemIcon box-icon {
  width: 100%;
  height: 100%;
}
.c-basicInfo__detailContents .urlList__itemIcon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/* --- */
.c-basicInfo__info {
  font-size: 1.6rem;
  color: #fff;
  margin: 72px 0 0;
}
.c-basicInfo__info + .c-basicInfo__info {
  margin-top: 32px;
}
.c-basicInfo__infoHead .infoTitle {
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.37;
  letter-spacing: -0.02em;
  padding: 0 0 0 30px;
  position: relative;
  cursor: pointer;
}
.c-basicInfo__infoHead .infoTitle::before {
  content: '';
  display: block;
  width: 8px;
  height: 12px;
  background: url(../img/common/arrow02.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 12px;
  left: 8px;
  transform: rotate(90deg);
  transition: all 0.4s;
}
.c-basicInfo__infoHead.is-active .infoTitle::before {
  top: 10px;
  transform: rotate(-90deg);
}
.c-basicInfo__infoContents {
  padding: 30px 0 0 30px;
}
.c-basicInfo__infoContents .infoSet__dl {
  min-height: 80px;
  display: flex;
  border-top: 1px solid #fff;
}
.c-basicInfo__infoContents .infoSet__dt {
  width: 236px;
  display: flex;
  font-weight: 700;
  line-height: 1.37;
  letter-spacing: -0.02em;
  padding: 24px 12px 22px 0;
}
.c-basicInfo__infoContents .infoSet__dtIcon {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  margin: 0 8px 0 0;
  position: relative;
}
.c-basicInfo__infoContents .infoSet__dtIcon > * {
  font-size: 30px;
}
.c-basicInfo__infoContents box-icon {
  width: 100%;
  height: 100%;
}
.c-basicInfo__infoContents .infoSet__dtIcon img {
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-basicInfo__infoContents .infoSet__dtText {
  /* flex: 1; */
  padding: 6px 0;
}
.c-basicInfo__infoContents .infoSet__dd {
  display: flex;
  flex: 1;
  line-height: 1.5;
  padding: 28px 0;
}
.c-basicInfo__infoContents .infoSet__dtItem,
.c-basicInfo__infoContents .infoSet__ddItem {
  width: 170px;
  display: flex;
  align-items: center;
}
.c-basicInfo__infoContents .infoSet__dtItem + .infoSet__dtItem,
.c-basicInfo__infoContents .infoSet__ddItem + .infoSet__ddItem {
  margin-top: 24px;
}
.c-basicInfo__infoContents .infoSet__dtItem {
  display: none;
}
.c-basicInfo__infoContents .infoSet__dtItem__icon,
.c-basicInfo__infoContents .infoSet__ddItem__icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  margin: 0 10px 0 0;
  position: relative;
  overflow: hidden;
}
.c-basicInfo__infoContents .infoSet__dtItem__icon img,
.c-basicInfo__infoContents .infoSet__ddItem__icon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-basicInfo__infoContents .infoSet__dtItem__text,
.c-basicInfo__infoContents .infoSet__ddItem__text {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
  flex: 1;
}
.c-basicInfo__infoContents .infoSet__dtItem__text .text01,
.c-basicInfo__infoContents .infoSet__ddItem__text .text01 {
  color: #cce18b;
}
.c-basicInfo__infoContents .infoSet__dtItem__text .text02,
.c-basicInfo__infoContents .infoSet__ddItem__text .text02 {
  color: #ffdc60;
}
.c-basicInfo__infoContents .infoSet__dtItem__text .text03,
.c-basicInfo__infoContents .infoSet__ddItem__text .text03 {
  color: #ffc989;
  font-size: 1.6rem;
}
.c-basicInfo__infoContents .infoSet__dtItem__text .text04,
.c-basicInfo__infoContents .infoSet__ddItem__text .text04 {
  color: #ddd;
}
.c-basicInfo__infoContents .infoSet__ddText {
  flex: 1;
  display: flex;
  align-items: center;
}
.c-basicInfo__infoContents .infoSet__ddText .sepText {
  display: inline;
}
.c-basicInfo__infoContents .infoSet__ddText .sepText + .sepText::before {
  content: '、';
}
.c-basicInfo__infoContents .infoSet__ddText .noteText {
  display: block;
  font-size: 1.2rem;
  margin: 10px 0 0;
}
.c-basicInfo__infoContents .infoSet__dd a {
  text-decoration: underline;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-basicInfo__infoContents .infoSet__dd a:hover{
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .c-basicInfo__heading {
    padding: 40px 14px 6px;
    margin: 0 0 36px;
  }
  .c-basicInfo__heading .c-heading {
    padding: 0;
  }
  .c-basicInfo__heading__note {
    font-size: 1rem;
  }
  /* --- */
  .c-basicInfo__detailHead {
    margin: 0 0 12px;
  }
  .c-basicInfo__detailHead .courseName {
    font-size: 1.8rem;
  }
  .c-basicInfo__detailHead .headItem {
    display: block;
  }
  .c-basicInfo__detailHead .courseNameEn {
    font-size: 1.3rem;
  }
  .c-basicInfo__detailHead .courseAddr {
    font-size: 1.2rem;
    margin: 18px 0 0;
  }
  /* --- */
  .c-basicInfo__detailContents {
    display: block;
  }
  .c-basicInfo__detailContents .mapBox {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .c-basicInfo__detailContents .mapBox__map {
    height: 230px;
  }
  .c-basicInfo__detailContents .mapBox__link {
    font-size: 1.8rem;
    justify-content: center;
    margin: 34px 0 0;
  }
  .c-basicInfo__detailContents .infoBox {
    width: 100%;
    margin: 50px 0 0;
  }
  .c-basicInfo__detailContents .infoBox__dl {
    border-bottom: 1px solid #fff;
    margin: 0 0 36px;
    padding: 0 0 20px;
  }
  .c-basicInfo__detailContents .infoBox__dt {
    font-size: 1.8rem;
    text-align: center;
  }
  .c-basicInfo__detailContents .infoBox__dd {
    font-size: 1.3rem;
    text-align: center;
  }
  .c-basicInfo__detailContents .urlBox {
    text-align: center;
  }
  .c-basicInfo__detailContents .urlList {
    display: inline-block;
  }
  .c-basicInfo__detailContents .urlList__item {
    text-align: left;
  }
  /* --- */
  .c-basicInfo__info {
    margin: 50px 0 0;
  }
  .c-basicInfo__infoContents {
    padding: 30px 0 0;
  }
  .c-basicInfo__infoContents .infoSet__dl {
    display: block;
    min-height: auto;
    padding: 24px 0;
  }
  .c-basicInfo__infoContents .infoSet__dt {
    width: 100%;
    align-items: center;
    padding: 0 12px 0 0;
  }
  .c-basicInfo__infoContents .infoSet__dd {
    display: block;
    padding: 18px 0 0;
  }
  .c-basicInfo__infoContents .infoSet__dtItem {
    display: flex;
    width: auto;
    margin: 0 0 0 12px;
  }
  .c-basicInfo__infoContents .infoSet__ddItem {
    width: 100%;
    display: none;
  }
  .c-basicInfo__infoContents .infoSet__ddText {
    margin: 18px 0 0;
  }
}

/*** comment *********************************/
.c-comment {
  max-width: 1000px;
  position: relative;
  margin: 0 auto 20px;
}
.c-comment__text {
  min-height: 270px;
  font-size: 1.8rem;
  line-height: 1.37;
  letter-spacing: -0.02em;
  border: 1px solid #222;
  padding: 42px 232px 42px 44px;
}
.c-comment__author {
  width: 244px;
  background: #222;
  padding: 30px 10px 20px;
  margin: -180px -24px -20px auto;
}
.c-comment__authorImg {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  margin: 0 auto 16px;
}
.c-comment__authorImg img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@supports (object-fit: cover) {
  .c-comment__authorImg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.c-comment__authorProf {
  color: #fff;
  line-height: 1.35;
  text-align: center;
}
.c-comment .authorProf__post {
  font-size: 1.4rem;
  font-weight: 400;
}
.c-comment .authorProf__name {
  font-size: 1.9rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-comment {
    border: 1px solid #222;
    margin: 0 auto 52px;
  }
  .c-comment__text {
    min-height: auto;
    font-size: 1.6rem;
    line-height: 1.5;
    border: 0;
    padding: 32px 22px 30px;
  }
  .c-comment__author {
    margin: 0 auto -52px;
  }
  .c-comment__authorImg {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    margin: 0 auto 16px;
  }
  .c-comment__authorImg img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  @supports (object-fit: cover) {
    .c-comment__authorImg img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
    }
  }
  .c-comment__authorProf {
    color: #fff;
    line-height: 1.35;
    text-align: center;
  }
  .c-comment .authorProf__post {
    font-size: 1.4rem;
    font-weight: 400;
  }
  .c-comment .authorProf__name {
    font-size: 1.9rem;
    font-weight: 700;
  }
}

/*** reserve info *********************************/
.c-rsv {
  max-width: 1190px;
  border: 1px solid #222;
  margin: 0 auto;
}
.c-rsv + .c-rsv {
  margin-top: 100px;
}
.c-rsv__head {
  width: 485px;
  min-height: 94px;
  display: flex;
  align-items: stretch;
  background: #fff;
  border: 1px solid #222;
  margin: -46px auto 0;
}
.c-rsv__headTitle {
  width: 198px;
  background: #222;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}
.c-rsv__headTitle__icon {
  width: 32px;
  height: 32px;
  margin: 0 8px 0 0;
  flex-shrink: 0;
  position: relative;
}
.c-rsv__headTitle__icon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-rsv__headTitle__icon .box-icon {
  width: 100%;
  height: 100%;
}
.c-rsv__headTitle__text {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.38;
  text-align: center;
  color: #fff;
}
.c-rsv__headType {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}
.c-rsv__headType__text {
  font-size: 3.6rem;
  line-height: 1.28;
  display: flex;
  align-items: center;
  letter-spacing: -0.02em;
}
.c-rsv__headType__icon {
  display: block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #222;
  margin: 0 12px 0 0;
}
.c-rsv__contents {
  width: 89%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 56px auto 64px;
}
.c-rsv__contentsItem {
  width: 46%;
}
.c-rsv__contentsItem:nth-child(n +3) {
  margin-top: 60px;
}
.c-rsv__contentsItem__title {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.38;
  letter-spacing: -0.02em;
  border-bottom: 3px solid #111;
  padding: 0 0 10px;
  margin: 0 0 24px;
}
.c-rsv__contentsItem__text {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: -0.02em;
}
.c-rsv__note {
  font-size: 1rem;
  line-height: 1.4;
  text-align: right;
  padding: 18px 12px;
}
.c-rsv--noItem {
  border: 0;
}
.c-rsv--noItem .c-rsv__contents,
.c-rsv--noItem .c-rsv__note {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-rsv + .c-rsv {
    margin-top: 116px;
  }
  .c-rsv__head {
    display: block;
    width: 290px;
    min-height: auto;
    margin: -76px auto 0;
  }
  .c-rsv__headTitle {
    width: 100%;
    padding: 14px 10px;
  }
  .c-rsv__headType {
    padding: 20px 10px;
  }
  .c-rsv__headType__text {
    font-size: 2.6rem;
  }
  .c-rsv__headType__icon {
    margin: 0 6px 0 0;
  }
  .c-rsv__contents {
    display: block;
    margin: 30px auto 32px;
  }
  .c-rsv__contentsItem {
    width: 100%;
  }
  .c-rsv__contentsItem +  .c-rsv__contentsItem {
    margin-top: 50px;
  }
  .c-rsv__contentsItem__title {
    font-size: 1.6rem;
    text-align: center;
    margin: 0 0 14px;
  }
  .c-rsv__contentsItem__text {
    font-size: 1.4rem;
  }
  .c-rsv__note {
    padding: 0 10px 12px;
  }
}

/*** best season *********************************/
.c-bestSeason {
  max-width: 1190px;
  background: #222;
  color: #fff;
  padding: 76px 0 56px;
  margin: 0 auto;
}
.c-bestSeason__title {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.34;
  text-align: center;
  letter-spacing: -0.02em;
  margin: 0 0 26px;
}
.c-bestSeason__text {
  width: 83%;
  font-size: 1.8rem;
  line-height: 1.62;
  letter-spacing: -0.02em;
  margin: 0 auto;
}
.c-bestSeasonList {
  width: 90%;
  max-width: 915px;
  display: flex;
  flex-wrap: wrap;
  margin: 42px auto 40px;
}
.c-bestSeasonList__item {
  width: calc(100% / 12);
  border: 1px solid red;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #000;
  background: #fff;
  border: 1px solid #222;
  padding: 8px 6px;
}
.c-bestSeasonList__item span {
  font-size: 2.1rem;
  letter-spacing: 0.1em;
}
.c-bestSeasonList__item.is-best {
  background: #ffdc60;
}
.c-bestSeasonList__item.is-on {
  background: #cce18b;
}
.c-bestSeasonList__note {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.c-bestSeasonList__note__item {
  font-size: 1.8rem;
  line-height: 1.62;
  letter-spacing: -0.02em;
  display: flex;
  align-items: center;
  margin: 10px 20px;
}
.c-bestSeasonList__note__item::before {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  background: #fff;
  margin: 0 14px 0 0;
}
.c-bestSeasonList__note__item--best::before {
  background: #ffdc60;
}
.c-bestSeasonList__note__item--on::before {
  background: #cce18b;
}
@media screen and (max-width: 900px) {
  .c-bestSeasonList__item {
    width: calc(100% / 6);
  }
}
@media screen and (max-width: 767px) {
  .c-bestSeason {
    padding: 45px 0 42px;
  }
  .c-bestSeason__title {
    font-size: 1.8rem;
    margin: 0 0 18px;
  }
  .c-bestSeason__text {
    width: 90%;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .c-bestSeasonList {
    margin: 26px auto 18px;
  }
  .c-bestSeasonList__item {
    width: calc(100% / 6);
    font-size: 1.1rem;
  }
  .c-bestSeasonList__item span {
    font-size: 1.8rem;
  }
  .c-bestSeasonList__note__item {
    font-size: 1.4rem;
    margin: 6px 10px;
  }
  .c-bestSeasonList__note__item::before {
    width: 20px;
    height: 20px;
    margin: 0 6px 0 0;
  }
}

/*** course *********************************/
.c-course {
  border: 1px solid #111;
  border-width: 1px 0 0;
  padding: 34px 0 48px;
}
.c-course__head {
  display: flex;
  align-items: flex-start;
  margin: 0 0 30px;
}
.c-course__headArea {
  font-size: 1.4rem;
  line-height: 1.35;
}
.c-course__headName {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.35;
  text-align: justify;
  letter-spacing: -0.02em;
  margin: 0 0 6px;
}
.c-course__headNameEn {
  font-size: 1.6rem;
  line-height: 1.37;
  text-align: justify;
}
.c-course__tagWrap {
  display: flex;
  flex-shrink: 0;
  margin: 14px 0 0 28px;
}
.c-course__tagItem {
  min-width: 115px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #111;
  background: #ffdc60;
  border-radius: 0px 20px 20px 0px;
  padding: 6px 14px 6px 8px;
  margin: 0 20px 0 0;
  position: relative;
}
.c-course__tag--ex .c-course__tagItem {
  background: #00c2ff;
  color: #fff;
}
/* --- */
.c-course__contents {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.c-course__img {
  width: 41.68%;
  text-align: center;
  margin: 0 0 0 70px;
}
.c-course__imgItem {
  display: inline-block;
}
.c-course__imgCredit {
  padding: 8px 0;
  color: #111;
}
/* --- */
.c-course__detail {
  flex: 1;
}
.c-course__detail .detail__copy {
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.36;
  text-align: justify;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
}
.c-course__detail .detail__text {
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: justify;
  margin: 0 0 30px;
}
.c-course__detail .detail__tag {
  display: flex;
  flex-wrap: wrap;
}
.c-course__detail .detail__tagItem {
  display: inline-block;
  font-family: "Inter", sans-serif;
  font-size: 1.5rem;
  line-height: 1.2;
  color: #000;
  border: 1px solid #dadada;
  padding: 5px 9px;
  margin: 0 10px 10px 0;
}
.c-course__detail .detail__rsv {
  margin: 30px 0 0;
}
.c-course__detail .detail__rsvItem {
  display: inline-flex;
  flex-wrap: wrap;
  margin: 0 20px 10px 0;
}
.c-course__detail .rsvItem__title {
  display: inline-flex;
  align-items: center;
  background: #222;
  padding: 8px;
  margin: 0 10px 0 0;
}
.c-course__detail .rsvItem__titleIcon {
  display: block;
  width: 14px;
  height: 14px;
  margin: 0 4px 0 0;
  flex-shrink: 0;
  position: relative;
}
.c-course__detail .rsvItem__titleIcon img,
.c-course__detail .rsvItem__titleIcon box-icon {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-course__detail .rsvItem__titleIcon box-icon {
  width: 18px;
  height: 24px;
  max-width: none;
  max-height: none;
}
.c-course__detail .rsvItem__titleText {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.33;
  letter-spacing: -0.02em;
  color: #fff;
}
.c-course__detail .rsvItem__type {
  display: flex;
  align-items: center;
}
.c-course__detail .rsvItem__typeIcon {
  display: block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #222;
  margin: 0 6px 0 0;
}
.c-course__detail .rsvItem__typeText {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.37;
  letter-spacing: -0.02em;
}
/* --- */
.c-course__detail .detail__url {
  font-size: 1.6rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
  display: flex;
  align-items: center;
  margin: 12px 0 0;
}
.c-course__detail .detail__url a {
  text-decoration: underline;
}
.c-course__detail .detail__url::before {
  font-family: 'Material Icons';
  content: '\e894';
  display: block;
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 1;
  color: #222;
  margin: 0 12px 0 0;
}
.c-course__detail .detail__btn {
  margin: 20px 0 0;
}
.c-course__detail .detail__btn .c-btn .c-btn__item {
  width: 100%;
  min-width: auto;
  max-width: 440px;
}
@media screen and (max-width: 767px) {
  .c-course {
    padding: 36px 0 56px;
    border-width: 0 0 1px;
  }
  .c-course__head {
    display: block;
    margin: 0 0 24px;
  }
  .c-course__headArea {
    margin: 0 0 4px;
  }
  .c-course__headName {
    font-size: 2.4rem;
  }
  .c-course__headNameEn {
    font-size: 1.5rem;
  }
  .c-course__tagWrap {
    margin: 16px 0 0;
    display: block;
  }
  .c-course__tagItem {
    min-height: auto;
    margin: 10px 0 0;
  }
  /* --- */
  .c-course__contents {
    display: block;
  }
  .c-course__img {
    width: 100%;
    margin: 0;
  }
  /* --- */
  .c-course__detail {
    width: 100%;
    margin: 20px 0 0;
  }
  .c-course__detail .detail__tagItem {
    font-size: 1.2rem;
    padding: 6px 8px;
  }
  .c-course__detail .detail__rsvItem {
    display: flex;
    margin: 0 0 14px;
  }
  /* --- */
  .c-course__detail .detail__url {
    margin: 30px 0 0;
  }
  .c-course__detail .detail__btn {
    margin: 30px 0 0;
  }
}

/*** set reserve *********************************/
.c-setRsv {
  background: #222;
  color: #fff;
  padding: 112px 0 100px;
}
.c-setRsv__subHeading {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.38;
  color: #fff;
  text-align: center;
  margin: 0 0 24px;
}
.c-setRsv__subHeading__text {
  display: inline-block;
  border-bottom: 3px solid #ffdc60;
  padding: 0 0 8px;
}
.c-setRsv__heading {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: -0.02em;
  margin: 0 0 15px;
}
.c-setRsv__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: center;
}
.c-setRsv__basic {
  max-width: 1190px;
  border: 1px solid #fff;
  margin: 90px auto 0;
}
.c-setRsv__basicHead {
  width: 318px;
  min-height: 96px;
  font-size: 2.8rem;
  line-height: 1.4;
  letter-spacing: -0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  background: #222;
  padding: 10px;
  margin: -48px auto 0;
}
.c-setRsv__basicList {
  display: flex;
  justify-content: center;
  margin: 62px 0 80px;
}
.c-setRsv .basicList__item {
  width: 168px;
  margin: 0 26px;
}
.c-setRsv .basicList__itemImg {
  width: 100%;
  padding: 100% 0 0;
  background: #fff;
  position: relative;
}
.c-setRsv .basicList__itemImg__icon,
.c-setRsv .basicList__itemImg img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-setRsv .basicList__itemImg__icon {
  color: #222;
  font-size: 58px;
}
.c-setRsv .basicList__itemText {
  font-size: 2.4rem;
  line-height: 1.4;
  letter-spacing: -0.02em;
  text-align: center;
  margin: 42px 0 0;
}
.c-setRsv__plus {
  width: 24px;
  height: 24px;
  margin: 36px auto;
  position: relative;
}
.c-setRsv__plus::before,
.c-setRsv__plus::after {
  content: '';
  width: 100%;
  height: 1px;
  background: #ffdc60;
  position: absolute;
  top: 50%;
  left: 0;
}
.c-setRsv__plus::after {
  transform: rotate(90deg);
}
.c-setRsv__opt {
  max-width: 1000px;
  background: #111;
  padding: 54px 0;
  margin: 36px auto 0;
}
.c-setRsv__optItem {
  width: 90%;
  max-width: 860px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
.c-setRsv__optText {
  width: 30%;
  font-size: 1.6rem;
  line-height: 1.7;
  letter-spacing: -0.02em;
}
.c-setRsv .optText__title {
  font-size: 2.1rem;
  line-height: 1.4;
  text-align: center;
  letter-spacing: -0.02em;
  background: #000;
  padding: 20px 0;
  margin: 0 0 12px;
}
.c-setRsv__optList {
  width: 62%;
  display: flex;
  justify-content: space-between;
}
.c-setRsv__optList .optList__item {
  width: 28.3%;
}
.c-setRsv__optList .optList__itemImg {
  width: 100%;
  padding: 100% 0 0;
  border: 1px solid #fff;
  position: relative;
}
.c-setRsv__optList .optList__itemImg__icon,
.c-setRsv__optList .optList__itemImg img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-setRsv__optList .optList__itemImg__icon {
  font-size: 44px;
}
.c-setRsv__optList .optList__itemText {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: -0.02em;
  text-align: center;
  margin: 20px 0 0;
}
@media screen and (max-width: 767px) {
  .c-setRsv {
    padding: 50px 0;
  }
  .c-setRsv__subHeading {
    font-size: 1.3rem;
  }
  .c-setRsv__heading {
    font-size: 2.1rem;
  }
  .c-setRsv__desc {
    font-size: 1.2rem;
  }
  .c-setRsv__basic {
    margin: 96px auto 0;
  }
  .c-setRsv__basicHead {
    width: 182px;
    min-height: 60px;
    font-size: 2.1rem;
    margin: -30px auto 0;
  }
  .c-setRsv__basicList {
    margin: 40px 0 50px;
  }
  .c-setRsv .basicList__item {
    width: 90px;
    margin: 0 10px;
  }
  .c-setRsv .basicList__itemImg__icon {
    font-size: 40px;
  }
  .c-setRsv .basicList__itemText {
    font-size: 1.6rem;
    margin: 14px 0 0;
  }
  .c-setRsv__opt {
    padding: 22px 0 40px;
  }
  .c-setRsv__optItem {
    display: block;
  }
  .c-setRsv__optText {
    width: 100%;
    font-size: 1.3rem;
    text-align: center;
  }
  .c-setRsv .optText__title {
    width: 215px;
    font-size: 1.7rem;
    margin: 0 auto 16px;
  }
  .c-setRsv__optList {
    width: 100%;
    max-width: 380px;
    margin: 40px auto 0;
  }
  .c-setRsv__optList .optList__item {
    width: 28%;
  }
  .c-setRsv__optList .optList__itemImg__icon {
    font-size: 30px;
  }
  .c-setRsv__optList .optList__itemText {
    font-size: 1.2rem;
    margin: 12px 0 0;
  }
}

/*** slider parts *********************************/
.c-sliderCtrl {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.c-sliderCtrl__arrow {
  width: 42px;
  height: 72px;
  background: none;
  border: 0;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  overflow: hidden;
}
.c-sliderCtrl__arrow::before {
  content: '';
  display: block;
  width: 46px;
  height: 46px;
  border: 1px solid #000;
  border-width: 1px 1px 0 0;
  position: absolute;
  top: 12px;
  left: -18px;
  transform: rotate(45deg);
}
.c-sliderCtrl__arrow--prev {
  left: 0;
  transform: translateY(-50%) scale(-1, 1);
}
.c-sliderCtrl__arrow--next {
  right: 0;
}
.c-sliderDots {
  width: 100%;
  margin: 40px 0 0;
}
.c-sliderDotsList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.c-sliderDotsList__item {
  display: block;
  width: 14px;
  height: 14px;
  background: #dadada;
  border: 0;
  border-radius: 50%;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  pointer-events: all;
  padding: 0;
  margin: 6px;
  transition: background-color 0.3s;
}
.c-sliderDotsList__item.is-current {
  background: #cce18b;
} 
.c-sliderCtrl--hotel .c-sliderCtrl__arrow.is-hidden,
.c-sliderDots--hotel .c-sliderDotsList.is-hidden,
.c-sliderCtrl--hl .c-sliderCtrl__arrow.is-hidden,
.c-sliderDots--hl .c-sliderDotsList.is-hidden {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-sliderCtrl__arrow {
    width: 44px;
    height: 44px;
  }
  .c-sliderCtrl__arrow::before {
    width: 18px;
    height: 18px;
    top: 12px;
    left: 6px;
  }
  .c-sliderDots {
    margin: 20px 0 0;
  }
}

/*** hotel card *********************************/
.c-hotel {
  width: 360px;
}
.c-hotel__item {
  width: 100%;
  margin: 0 auto;
}
.c-hotel__img {
  width: 100%;
  margin: 0 0 12px;
}
.c-hotel__imgItem {
  width: 100%;
  padding: 67.22% 0 0;
  position: relative;
  overflow: hidden;
}
.c-hotel__imgItem img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@supports (object-fit: cover) {
  .c-hotel__imgItem img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.c-hotel__imgCredit {
  color: #000;
  margin: 6px 0 0;
}
/* --- */
.c-hotel__detail .detail__name {
  text-align: justify;
  margin: 0 0 12px;
}
.c-hotel__detail .detail__nameText {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.02em;
  margin: 0 0 4px;
}
.c-hotel__detail .detail__nameTextEn {
  font-size: 1.6rem;
  line-height: 1.37;
}
/* --- */
.c-hotel__detail .detail__starList {
  display: flex;
  margin: 0 0 12px;
}
.c-hotel__detail .detail__starList__item {
  width: 24px;
  height: 24px;
  margin: 0 2px 0 0;
}
.c-hotel__detail .detail__starList__item box-icon {
  width: 100%;
  height: 100%;
}
/* --- */
.c-hotel__detail .detail__text {
  font-size: 1.4rem;
  line-height: 1.357;
  text-align: justify;
  letter-spacing: -0.02em;
  margin: 0 0 14px;
}
/* --- */
.c-hotel__detail .detail__area {
  font-size: 1.4rem;
  line-height: 1.357;
  text-align: justify;
  letter-spacing: -0.02em;
  margin: 0 0 14px;
}
/* --- */
.c-hotel__detail .detail__tag {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 8px;
}
.c-hotel__detail .detail__tagItem {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1.3;
  letter-spacing: -0.02em;
  border: 1px solid #dadada;
  background: #fff;
  padding: 4px 14px;
  margin: 0 14px 10px 0;
}
.c-hotel__detail .detail__note {
  font-size: 1.4rem;
  line-height: 1.35;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
}
/* --- */
.c-hotel__detail .detail__url {
  font-size: 1.6rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
  display: flex;
  margin: 20px 0 0;
}
.c-hotel__detail .detail__url a {
  text-decoration: underline;
}
.c-hotel__detail .detail__url::before {
  font-family: 'Material Icons';
  content: '\e894';
  display: block;
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 1;
  color: #222;
  margin: 0 12px 0 0;
}
/* --- slider --- */
.c-hotelSlider {
  max-width: 1350px;
  margin: 100px auto 0;
  position: relative;
}
.c-hotelSlider .swiper-container {
  max-width: 1224px;
  margin: 0 auto;
}
.c-hotelSlider .c-hotel {
  width: 33.33%;
  position: relative;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  padding: 0 24px;
}
@media screen and (max-width: 991px) {
  .c-hotelSlider .c-hotel {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .c-hotel {
    width: 280px;
  }
  .c-hotelSlider {
    margin-top: 36px;
  }
  .c-hotelSlider .c-hotel {
    width: 100%;
    padding: 0 48px;
  }
  .c-hotelSlider .c-hotel__item {
    max-width: 360px;
  }
  /* --- */
  .c-hotel__detail .detail__name {
    margin: 0 0 6px;
  }
  .c-hotel__detail .detail__nameText {
    font-size: 1.8rem;
  }
  .c-hotel__detail .detail__nameTextEn {
    font-size: 1.4rem;
  }
  /* --- */
  .c-hotel__detail .detail__starList {
    margin: 0 0 8px;
  }
  /* --- */
  .c-hotel__detail .detail__text {
    line-height: 1.5;
    margin: 0 0 16px;
  }
  /* --- */
  .c-hotel__detail .detail__area {
    font-size: 1.2rem;
  }
}

/*** highlight card *********************************/
.c-hlCard {
  width: 425px;
  position: relative;
  z-index: 1;
}
.c-hlCard__item {
  display: flex;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  padding: 24px 24px 50px;
  position: relative;
}
.c-hlCard__item::before {
  content: '';
  display: block;
  width: 0;
  padding: 100% 0 0;
}
.c-hlCard__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}
.c-hlCard__bgImg {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.6s;
}
.c-hlCard__bgImg::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.3;
  position: absolute;
  top: 0;
  left: 0;
}
.c-hlCard__bgCredit {
  padding: 12px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-hlCard__contents {
  width: 100%;
  color: #fff;
}
.c-hlCard__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
}
.c-hlCard__desc {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
  margin: 6px 0 0;
}
/* --- slider --- */
.c-hlSlider {
  max-width: 1420px;
  margin: 0 auto;
  position: relative;
}
.c-hlSlider .swiper-container {
  width: 90%;
  max-width: 1275px;
  margin: 0 auto;
}
.c-hlSlider .c-hlCard {
  width: 33.33%;
  position: relative;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
@media screen and (max-width: 1024px) {
  .c-hlSlider .c-hlCard {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .c-hlSlider .c-hlCard {
    width: 100%;
    padding: 0 20px;
  }
  .c-hlSlider .c-hlCard__item {
    width: 90%;
    padding: 14px 14px 30px;
    margin: 0 auto;
  }
  .c-hlCard__item::before {
    padding: 118.94% 0 0;
  }
  .c-hlCard__title {
    font-size: 1.8rem;
  }
  .c-hlCard__desc {
    margin: 10px 0 0;
  }
}

/*** Accommodations Block *********************************/
.c-accomBlock {
  padding: 155px 0 170px;
  background: #f8f8f8;
  overflow: hidden;
}
/* .c-accomBlock .c-heading {
  margin: 0 0 100px;
} */
@media screen and (max-width: 767px) {
  .c-accomBlock {
    padding: 70px 0 90px;
  }
  /* .c-accomBlock .c-heading {
    margin: 0 0 36px;
  } */
}

/*** airline *********************************/
.c-airline {
  width: 400px;
  background: #fff;
  border: 1px solid #dadada;
  border-radius: 10px;
  padding: 38px 12px 38px 28px;
  /* padding: 28px; */
}
.c-airline__item {
  display: flex;
  justify-content: space-between;
}
.c-airline__logo {
  width: 100px;
  /* width: 80px; */
  flex-shrink: 0;
  margin: 0 18px 0 0;
  /* margin: 0 0 20px; */
}
.c-airline__logoImg {
  width: 100%;
  padding: 100% 0 0;
  position: relative;
  overflow: hidden;
}
.c-airline__logoImg img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}
.c-airline__detail {
  flex: 1;
  /* display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start; */
}
.c-airline .detail__name {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.33;
  flex: 1;
  padding: 0 10px 0 0;
  margin: 0 0 10px;
}
.c-airline .detail__alliance {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin: 0 0 10px;
}
.c-airline .detail__allianceImg {
  /* width: 52px;
  height: 30px; */
  width: 42px;
  height: 24px;
  margin: 0 2px 0 0;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.c-airline .detail__allianceImg img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-airline .detail__allianceText {
  flex: 1;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  display: flex;
  align-items: center;
}
.c-airline .detail__text {
  width: 100%;
  font-size: 1.2rem;
  line-height: 1.46;
}
/* --- list --- */
.c-airlineList {
  max-width: 825px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
}
.c-airlineList .c-airline {
  width: 48.48%;
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .c-airline {
    width: 100%;
    max-width: 400px;
    /* padding: 38px 12px; */
    margin: 0 auto;
  }
  /* --- list --- */
  .c-airlineList {
    display: block;
  }
  .c-airlineList .c-airline {
    width: 100%;
    margin: 0 auto 24px;
  }
}

/*** Flight Block *********************************/
.c-flightBlock {
  padding: 84px 0 108px;
  background: #f8f8f8;
  position: relative;
}
.c-flightBlock__airline {
  margin: 56px 0 0;
}
@media screen and (max-width: 767px) {
  .c-flightBlock {
    padding: 80px 0 98px;
  }
  .c-flightBlock::before {
    width: 90%;
  }
}

/*** Reserve Inquiry *********************************/
.c-rsvInq {
  background: #222;
  padding: 90px 20px 100px;
  margin: 46px 0 0;
}
.c-rsvInqHead {
  margin: 0 0 16px;
}
.c-rsvInqHead__icon {
  width: 50px;
  height: 50px;
  margin: 0 auto 10px;
}
.c-rsvInqHead__icon box-icon {
  width: 100%;
  height: 100%;
}
.c-rsvInqHead__text {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.37;
  text-align: center;
  letter-spacing: -0.02em;
  color: #fff;
}
.c-rsvInqLead {
  font-size: 1.8rem;
  line-height: 1.7;
  text-align: center;
  color: #fff;
}
.c-rsvInqItem {
  width: 90%;
  max-width: 974px;
  display: flex;
  justify-content: space-between;
  margin: 76px auto 0;
}
.c-rsvInqItem__btn {
  width: 45.48%;
  min-height: 190px;
  background: #ffdc60;
}
.c-rsvInqItem__btn__item {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  transition: background-color 0.4s;
}
@media (hover: hover) {
  .c-rsvInqItem__btn__item:hover {
    background: #ffc700;
  }
}
.c-rsvInqItem__btn__icon {
  width: 44px;
  height: 44px;
  margin: 0 auto 10px;
}
.c-rsvInqItem__btn__icon box-icon {
  width: 100%;
  height: 100%;
}
.c-rsvInqItem__btn__text {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .c-rsvInq {
    padding: 40px 18px 66px;
    margin: 28px 0 0;
  }
  .c-rsvInqHead {
    margin: 0 0 20px;
  }
  .c-rsvInqHead__icon {
    width: 24px;
    height: 24px;
    margin: 0 auto 20px;
  }
  .c-rsvInqHead__text {
    font-size: 1.8rem;
  }
  .c-rsvInqLead {
    font-size: 1.4rem;
  }
  .c-rsvInqItem {
    width: 100%;
    display: block;
    margin: 10px auto 0;
  }
  .c-rsvInqItem__btn {
    width: 100%;
    max-width: 400px;
    min-height: auto;
    margin: 28px auto 0;
  }
  .c-rsvInqItem__btn__item {
    min-height: 130px;
  }
  .c-rsvInqItem__btn__icon {
    width: 36px;
    height: 36px;
  }
  .c-rsvInqItem__btn__text {
    font-size: 1.9rem;
  }
}

/*** Transfer Block *********************************/
.c-transferBlock {
  padding: 108px 0 118px;
  background: #f8f8f8;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-transferBlock {
    padding: 80px 0 68px;
  }
  .c-transferBlock::before {
    width: 90%;
  }
}

/*** Package Block *********************************/
.c-packageBlock {
  padding: 124px 0;
}
@media screen and (max-width: 767px) {
  .c-packageBlock {
    padding: 66px 0 56px;
  }
}

/*** recommend tour *********************************/
.c-recTour {
  padding: 136px 0;
}
.c-recTour__text {
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-recTour {
    padding: 50px 0 60px;
  }
  .c-recTour__text {
    font-size: 1.4rem;
  }
}

/*** tab contents *********************************/
.c-tab {
  margin: 80px 0 100px;
}
.c-tabList {
  width: 100%;
  max-width: 1080px;
  text-align: center;
  white-space: nowrap;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  font-size: 0;
  margin: 0 auto;
}
.c-tabList::-webkit-scrollbar {
  display: none;
}
.c-tabList__item {
  display: inline-block;
  min-width: 160px;
  -webkit-appearance: none;
  appearance: none;
  color: inherit;
  background: #fff;
  border: 1px solid #222;
  padding: 10px 12px;
  margin: 10px 2px 0;
  cursor: pointer;
  position: relative;
  transition: background-color 0.3s, color 0.3s, opacity 0.4s;
}
@media (hover: hover), (-ms-high-contrast: none) {
  .c-tabList__item:hover {
    opacity: 0.6;
  }
}
.c-tabList__item::before {
  content: "";
  display: block;
  width: 100%;
  height: 12px;
  background: #222;
  position: absolute;
  top: -10px;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0.4s;
}
.c-tabList__itemText {
  font-size: 2.1rem;
  line-height: 1.38;
  letter-spacing: 0.1em;
  font-weight: 400;
  pointer-events: none;
}
.c-tabList__itemText__small {
  font-size: 1.4rem;
}
.c-tabList__item.is-active {
  pointer-events: none;
  background: #222;
  color: #fff;
  border-right: 0;
  border-left: 0;
}
.c-tabList__item.is-active::before {
  opacity: 1;
  visibility: visible;
}
.c-tabContents {
  margin: 54px 0 0;
}
@media screen and (max-width: 767px) {
  .c-tab {
    margin: 40px 0;
  }
  .c-tabList__item {
    min-width: 90px;
    padding: 6px;
    margin: 6px 1px 0;
  }
  .c-tabList__item::before {
    height: 8px;
    top: -6px;
  }
  .c-tabList__itemText {
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
  .c-tabList__itemText__small {
    font-size: 1.2rem;
  }
  .c-tabContents {
    margin: 34px 0 0;
  }
}

/*** hr line *********************************/
.c-hrLine {
  display: block;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.c-hrLine::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  margin: 0 auto;
  background: #dadada;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/*** card *********************************/
.c-card {
  width: 100%;
  max-width: 720px;
  position: relative;
  z-index: 1;
}
.c-card__item {
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px;
}
.c-card__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}
.c-card__bgImg {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.6s;
}
.c-card__bgImg::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.3;
  transition: opacity 0.6s;
}
@media (hover: hover) {
  a.c-card__item:hover .c-card__bgImg {
    transform: scale(1.15);
  }
  a.c-card__item:hover .c-card__bgImg::before {
    opacity: 0.7;
  }
}
.c-card__bgCredit {
  padding: 12px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-card__inner {
  width: 100%;
  /* min-height: 720px; */
  max-height: 720px;
  display: flex;
  align-items: center;
  margin: 0 auto;
}
.c-card__inner::before {
  content: '';
  display: block;
  padding: 100% 0 0;
  width: 0;
}
.c-card--full .c-card__inner::before {
  padding: 50% 0 0;
}
.c-card__contents {
  width: 100%;
  color: #fff;
}
.c-card__heading {
  text-align: center;
}
.c-card__headingText {
  font-size: 6.5rem;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
}
.c-card__desc {
  font-size: 2.8rem;
  line-height: 1.35;
  text-align: center;
  letter-spacing: -0.02em;
  margin: 28px 0 0;
}
@media screen and (max-width: 1440px) {
  .c-card__headingText {
    font-size: 4.51vw;
  }
  .c-card__desc {
    font-size: 1.94vw;
  }
}
@media screen and (max-width: 767px) {
  .c-card__headingText {
    font-size: 2.4rem;
  }
  .c-card__desc {
    font-size: 1.4rem;
  }
}

/*** card list *********************************/
.c-cardList {
  display: flex;
  flex-wrap: wrap;
}
.c-cardList .c-card {
  width: 50%;
  max-width: none;
}
.c-cardList .c-card--full {
  width: 100%;
}
@media screen and (max-width: 700px) { 
  .c-cardList {
    display: block;
  }
  .c-cardList .c-card {
    width: 100%;
  }
  .c-cardList .c-card--full .c-card__inner::before {
    padding: 100% 0 0;
  }
}

/*** resort area card *********************************/
.c-areaCard {
  width: 100%;
  max-width: 630px;
  position: relative;
  z-index: 1;
}
.c-areaCard__item {
  display: block;
  width: 100%;
  height: 100%;
}
.c-areaCard__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: -1;
}
.c-areaCard__bgImg {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.6s;
}
.c-areaCard__bgImg::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.3;
  transition: opacity 0.6s;
}
@media (hover: hover) {
  .c-areaCard__item:hover .c-areaCard__bgImg {
    transform: scale(1.15);
  }
  .c-areaCard__item:hover .c-areaCard__bgImg::before {
    opacity: 0.7;
  }
}
.c-areaCard__bgcredit {
  padding: 12px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-areaCard__inner {
  width: 80%;
  margin: 0 auto;
}
.c-areaCard__contents {
  min-height: 630px;
  padding: 200px 0 100px;
  color: #fff;
}
.c-areaCard__heading {
  line-height: 1.37;
  letter-spacing: -0.02em;
  margin: 0 0 30px;
}
.c-areaCard__headingTitle {
  font-size: 4rem;
  font-weight: 700;
}
.c-areaCard__headingSub {
  font-size: 1.6rem;
  font-weight: 700;
}
.c-areaCard__area {
  font-size: 2.4rem;
  line-height: 1.37;
  margin: 0 0 46px;
}
.c-areaCard__copy {
  font-size: 2.3rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .c-areaCard {
    margin: 0 auto;
  }
  .c-areaCard__inner {
    width: 90%;
  }
  .c-areaCard__contents {
    min-height: 480px;
    padding: 150px 0 70px;
  }
  .c-areaCard__headingTitle {
    font-size: 3.2rem;
    margin: 0 0 6px;
  }
  .c-areaCard__area {
    margin: 0 0 58px;
  }
  .c-areaCard__copy {
    font-size: 2.1rem;
  }
}

/*** resort area card list *********************************/
.c-areaCardList {
  width: 96%;
  max-width: 1320px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
}
.c-areaCardList .c-areaCard {
  width: 48%;
  margin: 0 0 4%;
}
@media screen and (max-width: 767px) {
  .c-areaCardList {
    width: 90%;
    display: block;
    margin: 0 auto;
  }
  .c-areaCardList .c-areaCard {
    width: 100%;
    margin: 0 auto 60px;
  }
}

/*** course card *********************************/
.c-courseCard {
  width: 100%;
  max-width: 720px;
  min-height: 720px;
  position: relative;
  z-index: 1;
}
.c-courseCard__item {
  display: block;
  width: 100%;
  height: 100%;
}
.c-courseCard__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}
.c-courseCard__bgImg {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.6s;
}
.c-courseCard__bgImg::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.3;
  transition: opacity 0.6s;
}
@media (hover: hover) {
  a.c-courseCard__item:hover .c-courseCard__bgImg {
    transform: scale(1.15);
  }
  a.c-courseCard__item:hover .c-courseCard__bgImg::before {
    opacity: 0.7;
  }
}
.c-courseCard__bgCredit {
  padding: 12px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-courseCard__inner {
  width: 80%;
  margin: 0 auto;
}
.c-courseCard__contents {
  padding: 120px 0 150px;
}
.c-courseCard__heading {
  color: #fff;
}
.c-courseCard__headingSub {
  margin: 0 0 100px;
}
.c-courseCard__headingSub__num {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
}
.c-courseCard__headingSub__numCurrent {
  font-size: 10.4rem;
}
.c-courseCard__headingSub__title {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.35;
  margin: 10px 0 0;
}
.c-courseCard__headingTitle {
  font-size: 3.9rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.02em;
}
.c-courseCard__desc {
  color: #fff;
  margin: 120px 0 0;
  min-height: 140px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}
.c-courseCard__descCopy {
  width: 100%;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
  margin: 0 0 20px;
}
.c-courseCard__descCourse {
  width: 100%;
}
.c-courseCard__descCourse__nameEn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: -0.02em;
}
.c-courseCard__descCourse__area {
  display: flex;
  margin: 6px 0 0;
}
.c-courseCard__descCourse__areaFlag {
  flex-shrink: 0;
  display: block;
  width: 28px;
  height: 28px;
  position: relative;
  overflow: hidden;
  margin: 0 6px 0 0;
}
.c-courseCard__descCourse__areaFlag .fi {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.c-courseCard__descCourse__areaFlag img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-courseCard__descCourse__areaName {
  flex: 1;
  font-size: 1.5rem;
  line-height: 1.33;
  letter-spacing: -0.02em;
  padding: 4px 0;
}
@media screen and (max-width: 767px) {
  .c-courseCard {
    min-height: 374px;
  }
  .c-courseCard__inner {
    width: 90%;
  }
  .c-courseCard__contents {
    padding: 32px 0 42px;
  }
  .c-courseCard__headingSub {
    display: flex;
    align-items: baseline;
    margin: 0 0 38px;
  }
  .c-courseCard__headingSub__num {
    font-size: 1.8rem;
  }
  .c-courseCard__headingSub__numCurrent {
    font-size: 5.4rem;
  }
  .c-courseCard__headingSub__title {
    font-size: 1rem;
    margin: 10px 0 0 10px;
  }
  .c-courseCard__headingTitle {
    font-size: 2.4rem;
  }
  .c-courseCard__desc {
    min-height: 100px;
    margin: 90px 0 0;
  }
  .c-courseCard__descCopy {
    font-size: 1.6rem;
    line-height: 1.37;
    margin: 0 0 12px;
  }
  .c-courseCard__descCourse__nameEn {
    font-size: 1.2rem;
  }
  .c-courseCard__descCourse__area {
    margin: 2px 0 0;
  }
  .c-courseCard__descCourse__areaFlag {
    width: 15px;
    height: 15px;
    margin: 0 3px 0 0;
  }
  .c-courseCard__descCourse__areaName {
    font-size: 1.2rem;
    line-height: 1.4;
    padding: 0;
  }
}

/*** course card list *********************************/
.c-courseCardList {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
}
.c-courseCardList .c-courseCard {
  width: 50%;
  max-width: none;
}
@media screen and (max-width: 767px) {
  .c-courseCardList {
    display: block;
  }
  .c-courseCardList .c-courseCard {
    width: 100%;
  }
}

/*** extreme course card *********************************/
.c-exCourseCard {
  width: 100%;
  max-width: 604px;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.c-exCourseCard__item {
  display: block;
  width: 100%;
  height: 100%;
}
.c-exCourseCard__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}
.c-exCourseCard__bgImg {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.6s;
}
.c-exCourseCard__bgImg::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.3;
  transition: opacity 0.6s;
}
@media (hover: hover) {
  a.c-exCourseCard__item:hover .c-exCourseCard__bgImg {
    transform: scale(1.15);
  }
  a.c-exCourseCard__item:hover .c-exCourseCard__bgImg::before {
    opacity: 0.7;
  }
}
.c-exCourseCard__bgCredit {
  padding: 12px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-exCourseCard__inner {
  width: 90%;
  margin: 0 auto;
}
.c-exCourseCard__contents {
  min-height: 586px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 50px 0;
  color: #fff;
}
.c-exCourseCard__copy {
  width: 100%;
  font-size: 1.8rem;
  line-height: 1.5;
}
.c-exCourseCard__num {
  width: 100%;
  font-style: italic;
  font-size: 12rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  margin: 60px 0;
}
.c-exCourseCard__decs {
  width: 100%;
}
.c-exCourseCard__descCourse__name {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 12px;
  position: relative;
}
.c-exCourseCard__descCourse__name::before {
  content: '';
  display: block;
  width: 100%;
  height: 30px;
  background: #00c2ff;
  position: absolute;
  top: 0.25em;
  left: calc(-100% - 14px);
  transform-origin: top left;
}
.c-exCourseCard__descCourse__nameEn {
  font-size: 1.4rem;
  line-height: 1.35;
}
.c-exCourseCard__descArea {
  display: flex;
  align-items: center;
  margin: 6px 0 0;
}
.c-exCourseCard__descArea__flag {
  flex-shrink: 0;
  display: block;
  width: 48px;
  height: 36px;
  position: relative;
  overflow: hidden;
  margin: 0 10px 0 0;
}
.c-exCourseCard__descArea__flag .fi {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-exCourseCard__descArea__flag img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-exCourseCard__descArea__name {
  flex: 1;
}
.c-exCourseCard__descArea__nameText {
  font-size: 1.5rem;
  line-height: 1.33;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .c-exCourseCard__contents {
    min-height: 374px;
    display: block;
  }
  .c-exCourseCard__copy {
    font-size: 1.6rem;
  }
  .c-exCourseCard__num {
    font-size: 5.4rem;
  }
  .c-exCourseCard__descCourse__name {
    font-size: 2.4rem;
  }
  .c-exCourseCard__descCourse__name::before {
    height: 24px;
    left: calc(-100% - 8px);
  }
  .c-exCourseCard__descArea__flag {
    width: 38px;
    height: 28px;
  }
  .c-exCourseCard__descArea__nameText {
    font-size: 1.2rem;
  }
}

/*** course card list *********************************/
.c-exCourseCardList {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 auto;
}
.c-exCourseCardList .c-exCourseCard {
  width: 47.34%;
  max-width: none;
  margin: 0 0 48px;
}
.c-exCourseCardList .c-exCourseCard:nth-of-type(2n) {
  transform: translateY(48px);
}
@media screen and (max-width: 767px) {
  .c-exCourseCardList {
    display: block;
  }
  .c-exCourseCardList .c-exCourseCard {
    width: 100%;
    margin: 0 0 24px;
  }
  .c-exCourseCardList .c-exCourseCard:nth-of-type(2n) {
    transform: none;
  }
}

/*** resort area *********************************/
.c-resortArea {
  width: 100%;
  max-width: 1186px;
  display: flex;
  margin: 0 auto;
}
.c-resortArea + .c-resortArea {
  margin-top: 74px;
}
.c-resortAreaImg {
  width: 30.31%;
  flex-shrink: 0;
}
.c-resortAreaImg__item {
  width: 100%;
  padding: 125.99% 0 0;
  position: relative;
}
.c-resortAreaImg__item img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@supports (object-fit: cover) {
  .c-resortAreaImg__item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.c-resortAreaImg__credit {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 10px;
}
.c-resortAreaDetail {
  padding: 0 0 0 28px;
}
.c-resortAreaDetail__title {
  font-size: 3.2rem;
  line-height: 1.2;
  font-weight: 700;
  margin: 0 0 24px;
}
.c-resortAreaDetail__titleSub {
  display: inline-block;
  font-size: 2.1rem;
  font-weight: 400;
  color: #9EA194;
  margin: 0 0 0 16px;
}
.c-resortAreaDetail__copy {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.37;
  text-align: justify;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
}
.c-resortAreaDetail__desc {
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: justify;
  letter-spacing: -0.02em;
  margin: 0 0 24px;
}
.c-resortAreaDetail__info {
  display: flex;
  flex-wrap: wrap;
}
.c-resortAreaDetail__infoItem {
  display: flex;
  align-items: center;
  margin: 0 30px 0 0;
}
.c-resortAreaDetail__infoItem__icon {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  margin: 0 10px 0 0;
  position: relative;
}
.c-resortAreaDetail__infoItem__iconItem {
  font-size: 30px;
}
.c-resortAreaDetail__infoItem__iconItem,
.c-resortAreaDetail__infoItem__icon img {
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-resortAreaDetail__infoItem__text {
  font-size: 1.4rem;
  line-height: 1.5;
  flex: 1;
}
.c-resortAreaDetail__infoItem__text a {
  text-decoration: underline;
}
@media (hover: hover) {
  .c-resortAreaDetail__infoItem__text a:hover {
    text-decoration: none;
  }
}
.c-resortAreaDetail__tag {
  display: flex;
  flex-wrap: wrap;
  margin: 24px 0 0;
}
.c-resortAreaDetail__tagItem {
  display: inline-block;
  font-family: "Inter", sans-serif;
  font-size: 1.5rem;
  line-height: 1.2;
  background: #fff;
  border: 1px solid #dadada;
  padding: 10px 18px;
  margin: 0 10px 10px 0;
}
.c-resortAreaDetail__area {
  display: flex;
  background: #9ea194;
  justify-content: center;
  align-items: center;
  padding: 20px;
  margin: 20px 0 0;
}
.c-resortAreaDetail__areaHeading {
  flex-shrink: 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.37;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 24px 0 0;
}
.c-resortAreaDetail__areaList {
  display: flex;
  flex-wrap: wrap;
}
.c-resortAreaDetail__areaList__item {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #fff;
  margin: 0 20px 0 0;
}
.c-resortAreaDetail__areaList__item a {
  text-decoration-line: underline;
}
.c-resortAreaDetail__reco {
  margin: 46px 0 0;
}
.c-resortAreaDetail__recoHeading {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.38;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}
.c-resortAreaDetail__recoList__item {
  font-size: 1.8rem;
  line-height: 1.5;
  padding: 0 0 0 28px;
  margin: 10px 0 0;
  position: relative;
}
.c-resortAreaDetail__recoList__item::before {
  font-family: 'Material Icons';
  content: '\eb45';
  display: block;
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 1;
  position: absolute;
  top: 3px;
  left: 0;
}
.c-resortAreaDetail__recoList__item a {
  text-decoration-line: underline;
}
@media screen and (max-width: 767px) {
  /* --- p-dest-main -------------------- */
  .c-resortArea {
    display: block;
  }
  .c-resortAreaImg {
    width: 100%;
    max-width: 360px;
    margin: 28px auto;
  }
  .c-resortAreaImg__item {
    padding: 96.21% 0 0;
  }
  .c-resortAreaDetail {
    padding: 0;
  }
  .c-resortAreaDetail__title {
    font-size: 2.4rem;
  }
  .c-resortAreaDetail__titleSub {
    font-size: 1.6rem;
  }
  .c-resortAreaDetail__copy {
    font-size: 1.6rem;
  }
  .c-resortAreaDetail__img {
    display: block;
  }
  .c-resortAreaDetail__info {
    display: block;
  }
  .c-resortAreaDetail__infoItem {
    margin: 10px 0 0;
  }
  .c-resortAreaDetail__tagItem {
    font-size: 1.2rem;
    padding: 8px 12px;
  }
  .c-resortAreaDetail__area {
    display: block;
  }
  .c-resortAreaDetail__areaHeading {
    margin: 0 0 12px;
  }
  .c-resortAreaDetail__recoHeading,
  .c-resortAreaDetail__recoList__item {
    font-size: 1.6rem;
  }
}

/*** map *********************************/
.c-map {
  overflow: hidden;
}
.c-map__heading {
  transform: translateY(36px);
  position: relative;
  z-index: 2;
  pointer-events: none;
}
.c-map__headingSub {
  width: 90%;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
  text-align: center;
  margin: 0 auto 28px;
}
.c-map__headingSub__text {
  display: inline-block;
  border-bottom: 10px solid #000;
  padding: 0 0 18px;
}
.c-map__headingTitle {
  font-style: italic;
  font-size: 11.8rem;
  font-weight: 900;
  line-height: 0.93;
  text-align: center;
  letter-spacing: -0.06em;
}
.c-map__map {
  width: 100%;
  height: 900px;
  overflow: hidden;
  position: relative;
}
.c-map__map iframe {
  width: 100%;
  height: calc(100% + 60px);
  position: absolute;
  top: -60px;
  left: 0;
  /* pointer-events: none; */
  /* -webkit-filter: grayscale(100%); */
  /* filter: grayscale(100%); */
}
.c-map .c-btn {
  margin: 50px 0 0;
}
.c-map .c-btn__item {
  min-height: 70px;
  padding: 16px 60px 16px 36px;
}
@media screen and (max-width: 767px) {
  .c-map__heading {
    transform: translateY(20px);
  }
  .c-map__headingSub {
    font-size: 2.1rem;
  }
  .c-map__headingSub__text {
    border-width: 0 0 6px;
    padding: 0 0 8px;
  }
  .c-map__headingTitle {
    font-size: 5.8rem;
  }
  .c-map__map {
    height: 590px;
  }
  .c-map .c-btn {
    margin: 40px 0 0;
  }
  .c-map .c-btn__item {
    min-height: 60px;
    padding: 10px 44px 10px 15px;
  }
}

/*** gadget card *********************************/
.c-gbtCard {
  width: 100%;
  max-width: 292px;
}
.c-gbtCard__item {
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity 0.4s;
}
@media (hover: hover) {
  a.c-gbtCard__item:hover {
    opacity: 0.7;
  }
}
.c-gbtCard__img {
  width: 100%;
  margin: 0 0 10px;
}
.c-gbtCard__imgItem {
  width: 100%;
  padding: 72.6% 0 0;
  position: relative;
  overflow: hidden;
}
.c-gbtCard__imgItem img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@supports (object-fit: cover) {
  .c-gbtCard__imgItem img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.c-gbtCard__imgCredit {
  color: #000;
  margin: 10px 0 0;
}
.c-gbtCard__detail {
  flex: 1;
}
.c-gbtCard__title {
  width: 100%;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}
.c-gbtCard__titleMain {
  font-size: 2rem;
  line-height: 1.35;
  margin: 0 10px 0 0;
}
.c-gbtCard__titleSub {
  font-size: 1.6rem;
  line-height: 1.37;
}
.c-gbtCard__desc {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: -0.02em;
}
.c-gbtCard__price {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 24px 0 0;
}
.c-gbtCard__priceNote {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.82;
}
/* -- horizon -- */
.c-gbtCard--hzn {
  max-width: 614px;
}
.c-gbtCard--hzn .c-gbtCard__item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.c-gbtCard--hzn .c-gbtCard__img {
  width: 47.56%;
  margin: 0 24px 0 0;
}
.c-gbtCard--hzn .c-gbtCard__title {
  margin: 0 0 20px;
}

@media screen and (max-width: 767px) {
  .c-gbtCard {
    max-width: none;
  }
  .c-gbtCard__title {
    margin: 0 0 6px;
  }
  .c-gbtCard__titleMain {
    font-size: 1.7rem;
    margin: 0 6px 0 0;
  }
  .c-gbtCard__titleSub {
    font-size: 1.5rem;
  }
  .c-gbtCard__desc {
    font-size: 1.2rem;
    line-height: 1.4;
  }
  .c-gbtCard__price {
    font-size: 2.4rem;
    margin: 15px 0 0;
  }
  .c-gbtCard__priceNote {
    font-size: 1rem;
  }
  /* -- horizon -- */
  .c-gbtCard--hzn .c-gbtCard__img {
    width: 41.76%;
    margin: 0 12px 0 0;
  }
  .c-gbtCard--hzn .c-gbtCard__imgItem {
    padding: 136.62% 0 0;
  }
  .c-gbtCard--hzn .c-gbtCard__title {
    display: block;
    margin: 0 0 12px;
  }
  .c-gbtCard--hzn .c-gbtCard__desc {
    font-size: 1.3rem;
    line-height: 1.5;
  }
}

/*** gadget card list *********************************/
.c-gbtCardList {
  max-width: 1310px;
  margin: 0 auto;
  position: relative;
}
.c-gbtCardList .c-gbtCard {
  max-width: none;
}
@media screen and (min-width: 768px) {
  .c-gbtCardList .swiper-wrapper {
    flex-wrap: wrap;
  }
  .c-gbtCardList .c-gbtCard {
    width: calc(100% / 4);
    padding: 0 17px;
    margin: 0 0 38px;
  }
  .c-gbtCardList .c-sliderCtrl,
  .c-gbtCardList .c-sliderDots {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .c-gbtCardList .c-gbtCard {
    width: calc(100% / 2);
  }
}
@media screen and (max-width: 767px) {
  .c-gbtCardList .c-gbtCard {
    width: 304px;
    margin: 0 24px;
  }
  .c-gbtCardList .c-sliderDots {
    border-top: 1px solid #dadada;
    padding: 20px 0 0;
    margin: 28px auto 0;
    width: 92%;
    display: none;
  }
}
/* -- horizon -- */
.c-gbtCardList--hzn {
  width: 90%;
  max-width: 1264px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.c-gbtCardList--hzn .c-gbtCard--hzn {
  width: 48.58%;
}
@media screen and (max-width: 991px) {
  .c-gbtCardList--hzn .c-gbtCard--hzn {
    width: 100%;
    margin: 0 0 24px;
  }
}

/*** itineraries card *********************************/
.c-itin {
  width: 100%;
  max-width: 608px;
}
.c-itin__item {
  display: block;
  width: 100%;
  transition: opacity 0.4s;
}
@media (hover: hover) {
  .c-itin__item:hover {
    opacity: 0.8;
  }
}
.c-itinImg {
  width: 100%;
  position: relative;
}
.c-itinImg__item {
  width: 100%;
  padding: 56.74% 0 0;
  position: relative;
}
.c-itinImg__item img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@supports (object-fit: cover) {
  .c-itinImg__item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.c-itinImg__credit {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 8px;
}
.c-itinDetail {
  margin: 16px 0 0;
}
.c-itinDetail__info {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 16px;
}
.c-itinDetail__infoItem {
  display: flex;
  margin: 0 10px 0 0;
}
.c-itinDetail__infoItem__icon {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  margin: 0 8px 0 0;
  position: relative;
}
.c-itinDetail__infoItem__icon box-icon {
  font-size: 0;
}
.c-itinDetail__infoItem__iconItem {
  font-size: 30px;
}
.c-itinDetail__infoItem__iconItem,
.c-itinDetail__infoItem__iconItem img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-itinDetail__infoItem__text {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 2px 0;
}
.c-itinDetail__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-itinDetail__course {
  display: flex;
  align-items: center;
  margin: 16px 0 0;
}
.c-itinDetail__courseRound {
  text-align: center;
  flex-shrink: 0;
  margin: 0 20px 0 0;
}
.c-itinDetail__courseRound__num {
  display: block;
  font-size: 10rem;
  font-weight: 700;
  line-height: 1;
  margin: -0.1em 0 0;
}
.c-itinDetail__courseRound__text {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
}
.c-itinDetail__courseList__item {
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 0 0 0 24px;
  position: relative;
}
.c-itinDetail__courseList__item + .c-itinDetail__courseList__item {
  margin: 14px 0 0;
}
.c-itinDetail__courseList__item::before {
  font-family: 'Material Icons';
  content: '\eb45';
  display: block;
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 1;
  position: absolute;
  top: 3px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .c-itinDetail__title {
    font-size: 2.4rem;
  }
  .c-itinDetail__course {
    display: block;
  }
  .c-itinDetail__courseRound {
    display: flex;
    align-items: baseline;
    margin: 0;
  }
  .c-itinDetail__courseRound__num {
    font-size: 6.8rem;
  }
  .c-itinDetail__courseRound__text {
    font-size: 2rem;
  }
  .c-itinDetail__courseList {
    margin: 16px 0 0;
  }
}

/*** itineraries card list *********************************/
.c-itinList {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
}
.c-itinList .c-itin {
  width: 47.65%;
  max-width: none;
  margin: 0 0 60px;
}
@media screen and (max-width: 767px) {
  .c-itinList  {
    display: block;
  }
  .c-itinList .c-itin {
    width: 100%;
  }
}

/*** schedule *********************************/
.c-skd {
  width: 96%;
  max-width: 1300px;
  padding: 0 0 10px 36px;
  margin: 0 auto;
  position: relative;
}
.c-skd::before {
  content: '';
  display: block;
  width: 14px;
  height: 100%;
  background: #222;
  position: absolute;
  top: 0;
  left: 22px;
}
.c-skd + .c-skd {
  padding-top: 200px;
}
.c-skd + .c-skd::after {
  content: '';
  display: block;
  width: calc(100% - 36px);
  height: 1px;
  background: #dadada;
  position: absolute;
  top: 100px;
  left: 36px;
}
.c-skd__head {
  display: flex;
}
.c-skd__day {
  width: 380px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}
.c-skd__dayText {
  font-size: 6.8rem;
  font-weight: 900;
  font-style: italic;
  letter-spacing: -0.06em;
  line-height: 1;
}
.c-skd__dayNum {
  font-size: 11.8rem;
  padding: 0 0 0 0.1em;
}
.c-skd__tt {
  flex: 1;
  border-left: 4px solid #000;
  padding: 0 0 0 50px;
}
.c-skd__ttTitle {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.37;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
}
.c-skd__ttList__item {
  display: flex;
}
.c-skd__ttList__item + .c-skd__ttList__item {
  margin: 12px 0 0;
}
.c-skd__ttList__time {
  width: 90px;
  font-size: 2.4rem;
  line-height: 1.37;
  font-weight: 700;
  flex-shrink: 0;
}
.c-skd__ttList__title {
  flex: 1;
  font-size: 2.4rem;
  line-height: 1.37;
  padding: 0 0 0 18px;
  position: relative;
  transition: opacity 0.4s;
}
@media (hover: hover) {
  a.c-skd__ttList__title:hover {
    opacity: 0.6;    
  }
}
.c-skd__ttList__title::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border: 3px solid #111;
  border-width: 0 3px 3px 0;
  position: absolute;
  top: 12px;
  left: 0;
  transform: rotate(45deg);
}
.c-skd__ttList__titleText {
  display: inline-block;
  border-bottom: 2px solid #111;
  padding: 0 0 4px;
}
.c-skd__contents {
  margin: 100px 0 0;
}
.c-skd__contents > *:first-child {
  margin-top: 0;
}
.c-skd__contents > *:last-child,
.c-skd__contents > *:last-child {
  margin-bottom: 0;
}
.c-skd__act {
  padding: 0 0 0 50px;
  margin: 30px 0 0;
  position: relative;
}
.c-skd__actIcon {
  width: 60px;
  height: 60px;
  background: #9ea194;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: -36px;
}
.c-skd__actIcon__item,
.c-skd__actIcon__item img {
  font-size: 32px;
  color: #fff;
  max-width: 80%;
  max-height: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-skd__actHead {
  min-height: 60px;
  display: flex;
  align-items: flex-start;
}
.c-skd__actHead__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
  padding: 8px 0 0;
  margin: 0 16px 0 0;
}
.c-skd__actHead__item {
  min-height: 40px;
  display: flex;
  align-items: center;
  margin: 8px 0 0;
}
.c-skd__tag {
  min-width: 74px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  background: #ffdc60;
  padding: 6px 10px;
  border-radius: 0px 20px 20px 0px;
  margin: 0 16px 0 0;
}
.c-skd__trTime {
  font-size: 1.6rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 6px 0;
}
.c-skd__planHead {
  padding: 0 0 0 50px;
  margin: 30px 0 0;
  position: relative;
}
.c-skd__planHead::before {
  content: '';
  display: block;
  width: 60px;
  height: 60px;
  background: #fff;
  border: 4px solid #111;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: -36px;
  z-index: 1;
}
.c-skd__planHead__time {
  min-height: 60px;
  display: flex;
  align-items: flex-start;
}
.c-skd__planHead__timeItem {
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  padding: 8px 0 0;
  margin: 0 16px 0 0;
}
.c-skd__planHead__item {
  min-height: 40px;
  display: flex;
  align-items: center;
  margin: 8px 0 0;
}
.c-skd__planHead__title {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
  padding: 6px 0 0;
}
.c-skd__planDetail {
  padding: 0 0 0 50px;
  margin: 50px 0 0;
  position: relative;
}
.c-skd__planDetail::before {
  content: '';
  display: block;
  width: 28px;
  height: 28px;
  background: #fff;
  border: 4px solid #111;
  border-radius: 50%;
  position: absolute;
  top: 4px;
  left: -22px;
}
.c-skd__planDetail__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
  margin: 0 0 32px;
}
.c-skd__planDetail__contents {
  margin: 4px 0 0;
}
.c-skd__planDetail__contents p {
  margin: 1em 0;
}
.c-skd__planDetail__contents a:not([class]) {
  font-weight: 700;
  padding: 0 0 0 18px;
  text-decoration: none;
  position: relative;
}
.c-skd__planDetail__contents a:not([class])::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border: 3px solid #111;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 8px;
  left: 0;
  transform: rotate(45deg);
}
.c-skd__planDetail__contents .wp-caption a,
.c-skd__planDetail__contents .wp-caption-text a {
  padding: 0;
  text-decoration: underline;
  font-weight: 400;
} 
.c-skd__planDetail__contents .wp-caption a::before,
.c-skd__planDetail__contents .wp-caption-text a::before {
  content: none;
} 
.c-skd__hl {
  padding: 0 0 0 12px;
  margin: 40px 0;
}
.c-skd__tips {
  padding: 0 0 0 50px;
  margin: 40px 0;
  border: 1px solid transparent;
}
.c-skd__gallery {
  padding: 0 0 0 12px;
  margin: 40px 0;
}
.c-skd__galleryList {
  display: flex;
  width: 90%;
  max-width: 1275px;
  margin: 0 auto;
}
.c-skd__galleryList__item {
  width: 33.33%;
}
.c-skd__galleryList__img {
  width: 100%;
  padding: 100% 0 0;
  position: relative;
}
.c-skd__galleryList__img img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@supports (object-fit: cover) {
  .c-skd__galleryList__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.c-skd__galleryList--col2 .c-skd__galleryList__item {
  width: 50%;
}
.c-skd__galleryList--col1 .c-skd__galleryList__item {
  width: 100%;
  text-align: center;
}
.c-skd__galleryList--col1 .c-skd__galleryList__img {
  width: auto;
  padding: 0;
  display: inline-block;
}
.c-skd__galleryList--col1 .c-skd__galleryList__img img {
  position: static;
  width: auto;
  height: auto;
  transform: none;
}
.c-skd__galleryList__Credit {
  padding: 12px;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .c-skd {
    padding: 0 0 10px 20px;
  }
  .c-skd::before {
    left: 6px;
  }
  .c-skd + .c-skd {
    padding-top: 160px;
  }
  .c-skd__head {
    display: block;
    padding: 0 0 0 40px;
  }
  .c-skd__day {
    width: 100%;
    justify-content: flex-start;
    margin: 0 0 60px;
  }
  .c-skd__dayText {
    font-size: 6rem;
  }
  .c-skd__dayNum {
    font-size: 10rem;
  }
  .c-skd__tt {
    padding: 0 0 0 16px;
  }
  .c-skd__ttTitle {
    font-size: 1.8rem;
    margin: 0 0 24px;
  }
  .c-skd__ttList__item {
    display: block;
  }
  .c-skd__ttList__item + .c-skd__ttList__item {
    margin: 18px 0 0; 
  }
  .c-skd__ttList__time {
    width: 100%;
    display: block;
    font-size: 1.8rem;
  }
  .c-skd__ttList__title {
    display: block;
    font-size: 2rem;
    padding: 0 0 0 24px;
  }
  .c-skd__ttList__title::before {
    top: 8px;
    left: 4px;
  }
  .c-skd__contents {
    margin: 70px 0 0;
  }
  .c-skd__act {
    padding: 0 0 0 40px;
  }
  .c-skd__actIcon {
    width: 38px;
    height: 38px;
    left: -25px;
  }
  .c-skd__actIcon__item,
  .c-skd__actIcon__item img {
    font-size: 18px;
  }
  .c-skd__actHead {
    min-height: 38px;
    display: block;
  }
  .c-skd__actHead__title {
    padding: 2px 0 0;
    font-size: 2.4rem;
  }
  .c-skd__planHead {
    padding: 0 0 0 40px;
  }
  .c-skd__planHead::before {
    width: 38px;
    height: 38px;
    left: -25px;
  }
  .c-skd__planHead__time {
    min-height: 38px;
  }
  .c-skd__planHead__timeItem {
    font-size: 3.2rem;
    padding: 2px 0 0;
  }
  .c-skd__planHead__item {
    min-height: 38px;
    margin: 0;
  }
  .c-skd__planHead__title {
    font-size: 2.4rem;
  }
  .c-skd__planDetail {
    padding: 0 0 0 40px;
    margin: 30px 0 0;
  }
  .c-skd__planDetail::before {
    top: 0;
  }
  .c-skd__planDetail__title {
    font-size: 1.8rem;
    margin: 0 0 18px;
  }
  .c-skd__hl {
    padding: 0;
    margin: 20px 0;
  }
  .c-skd__tips {
    padding: 0 10px 0 40px;
    margin: 20px 0;
  }
}

/*** topics card *********************************/
.c-topicsCard {
  width: 100%;
  max-width: 290px;
}
.c-topicsCard__item {
  display: block;
  width: 100%;
  transition: opacity 0.4s;
}
@media (hover: hover) {
  .c-topicsCard__item:hover {
    opacity: 0.8;
  }
}
.c-topicsCard__img {
  width: 100%;
  position: relative;
}
.c-topicsCard__imgItem {
  width: 100%;
  padding: 62.07% 0 0;
  overflow: hidden;
  position: relative;
}
.c-topicsCard__imgItem img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@supports (object-fit: cover) {
  .c-topicsCard__imgItem img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.c-topicsCard__imgCredit {
  padding: 6px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.c-topicsCard__detail {
  margin: 20px 0 0;
}
.c-topicsCard__title {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-topicsCard__cat {
  margin: 26px 0 0;
}
.c-topicsCard__catTitle {
  font-size: 1.6rem;
  line-height: 1.37;
}
.c-topicsCard__date {
  font-size: 1.2rem;
  line-height: 1.33;
  margin: 6px 0 0;
}
.c-topicsCard__catImg {
  width: 66px;
  height: 66px;
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  margin: 20px 0 0;
}
.c-topicsCard__catImg img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@supports (object-fit: cover) {
  .c-topicsCard__catImg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

/*** topics card list *********************************/
.c-topicsCardList {
  width: 92%;
  max-width: 1295px;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
}
.c-topicsCardList .c-topicsCard {
  width: 22.39%;
  max-width: none;
  margin: 1.305%;
  transition: all 0.6s ease;
}
.c-topicsCardList .c-topicsCard.is-hidden {
  opacity: 0;
  height: 0 !important;
  margin: 0 !important;
  visibility: hidden;
}
@media screen and (min-width: 991px) {
  .c-topicsCardList .c-topicsCard:first-of-type {
    width: 47.1%;
  }
  .c-topicsCardList .c-topicsCard:first-of-type .c-topicsCard__title {
    font-size: 2.4rem;
  }
  .c-topicsCardList .c-topicsCard:first-of-type .c-topicsCard__cat {
    margin: 10px 0 0;
    display: flex;
    align-items: center;
  }
  .c-topicsCardList .c-topicsCard:first-of-type .c-topicsCard__catItem {
    margin: 0 20px 0 0;
  }
  .c-topicsCardList .c-topicsCard:first-of-type .c-topicsCard__catImg {
    margin: 0;
  }
}
@media screen and (max-width: 990px) {
  .c-topicsCardList .c-topicsCard {
    width: 47.1%;
  }
}
@media screen and (max-width: 767px) {
  .c-topicsCardList {
    display: block;
  }
  .c-topicsCardList .c-topicsCard {
    width: 100%;
    margin: 0 auto;
  }
  .c-topicsCardList .c-topicsCard + .c-topicsCard {
    margin-top: 30px;
  }
}

/*** xxx *********************************/
@media screen and (max-width: 767px) {}
@media (hover: hover) {}

/* == header ============================================== */
.l-header {
  width: 100%;
  height: 120px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
.l-header__inner {
  width: 98%;
  height: 100%;
  margin: 0 auto;
  position: relative;
}
.l-header__logo {
  width: 192px;
  height: 88px;
  position: absolute;
  top: 20px;
  left: 0;
  z-index: 6;
}
.l-header__logoItem {
  display: block;
  width: 100%;
  height: 100%;
}
.l-header__logoImg {
  width: 100%;
  height: 72px;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/common/logo.svg) no-repeat center;
  background-size: contain;
  transition: background-image 0.4s;
}
.l-header__logoImg img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.l-header__logoText {
  font-size: 1rem;
  line-height: 1;
  white-space: nowrap;
  position: absolute;
  bottom: 0;
  right: 0;
  transition: color 0.4s;
}
.l-header__nav {
  width: 100%;
  height: 100%;
}
.l-header__nav .nav__inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 0 0 200px;
}
.l-header__nav .nav__contents {
  width: 100%;
  max-width: 1150px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.l-header__nav .navList {
  display: flex;
}
.l-header__nav .navList__item {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.37;
  margin: 0 22px 0 0;
}
.l-header__nav .navList__item a {
  transition: opacity 0.4s;
}
@media (hover: hover) {
  .l-header__nav .navList__item a:hover{
    opacity: 0.6;
  }
}
.l-header__nav .navList__item__text {
  display: inline-block;
  padding: 10px 0;
  position: relative;
}
.l-header__nav .navList__item__text::before {
  content: '';
  display: block;
  width: 0%;
  height: 4px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 0;
}
/* --- current --- */
.l-header__nav .navList__item.is-current .navList__item__text::before {
  width: 100%;
}
.l-header__nav .navContact {
  width: 190px;
  height: 70px;
  flex-shrink: 0;
}
.l-header__nav .navContact__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #ffdc60;
  padding: 10px;
  transition: background-color 0.6s;
}
@media (hover: hover) {
  .l-header__nav .navContact__item:hover{
    background: #ffc700;
  }
}
.l-header__nav .navContact__item__text {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.37;
}

/*** hamburger btn *********************************/
.c-hamburger {
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  cursor: pointer;
  background: transparent;
  /* position: fixed; */
  position: absolute;
  top: 14px;
  right: 8px;
  z-index: 10;
  overflow: hidden;
}
.c-hamburger__line {
  width: 24px;
  height: 2px;
  background: #222;
  position: absolute;
  left: 8px;
  transition: all 0.4s;
}
.c-hamburger__line--1 {
  top: 10px;
}
.c-hamburger__line--2 {
  top: 19px;
}
.c-hamburger__line--3 {
  top: 28px;
}
/* --- active --- */
.c-hamburger.is-active .c-hamburger__line--1 {
  top: 19px;
  transform: rotate(45deg);
}
.c-hamburger.is-active .c-hamburger__line--2 {
  transform: translateX(100%);
  opacity: 0;
}
.c-hamburger.is-active .c-hamburger__line--3 {
  top: 19px;
  transform: rotate(-45deg);
}
@media screen and (max-width: 1439px) {
  .l-header__logo {
    width: 140px;
    /* 差し替える場合
    width: 150px; */
  }
  .l-header__nav .nav__inner {
    /* 差し替える場合
    padding: 0 0 0 180px; */
    padding: 0 0 0 150px;

  }
  .l-header__nav .navList__item {
    font-size: 1.4rem;
    margin: 0 16px 0 0;
  }
  /* 差し替える場合 
  .l-header__logoText__text2 {
    display: block;
  } */
}
@media screen and (min-width: 1181px) {
  .c-hamburger {
    display: none;
  }
}
@media screen and (max-width: 1180px) {
  .l-header {
    height: 66px;
  }
  .l-header__inner {
    width: 94%;
  }
  .l-header__logo {
    width: 220px;
    height: 48px;
    top: 10px;
    left: 0;
  }
  .l-header__logoImg {
    width: 125px;
    height: 48px;
  }
  .l-header__logoText {
    font-size: 1rem;
    color: #777;
    position: absolute;
    bottom: 0;
    right: 0;
    transform-origin: center right;
    transform: scale(0.8);
  }
  .l-header__nav {
    width: 100%;
    height: 100svh;
    height: 100vh;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0.4s;
  }
  .l-header__nav.is-active {
    opacity: 1;
    visibility: visible;
  }
  .l-header__nav .nav__inner {
    display: block;
    width: 90%;
    height: calc(100% - 120px);
    overflow: hidden;
    overflow-y: auto;
    padding: 0 0 80px;
    margin: 120px auto 0;
  }
  .l-header__nav .nav__contents {
    display: block;
  }
  .l-header__nav .navList {
    display: block;
    text-align: center;
  }
  .l-header__nav .navList__item {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 20px 0;
  }
  .l-header__nav .navList__item__text {
    padding: 0;
  }
  .l-header__nav .navList__item__text::before {
    content: none;
  }
  .l-header__nav .navContact {
    width: 100%;
    max-width: 340px;
    margin: 108px auto 0;
  }
}

/* == footer ============================================== */
.l-footer__inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
.l-footer__nav .navList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 16px 0;
}
.l-footer__nav .navList__item {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.12;
  color: #fff;
  margin: 0 10px;
}
.l-footer__nav .navList__item {
  margin-top: 6px;
}
.l-footer__nav .navList__item a {
  transition: opacity 0.4s;
}
@media (hover: hover) {
  .l-footer__nav .navList__item a:hover{
    opacity: 0.6;
  }
}
.l-footer__upper {
  background: #222;
  padding: 84px 0 72px;
}
.l-footer__upperLogo {
  text-align: center;
  margin: 0 0 52px;
}
.l-footer__lower {
  background: #fff;
  padding: 65px 0 155px;
}
.l-footer__lowerLogo {
  text-align: center;
}
.l-footer__lowerLogo .logo__text {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.35;
  text-align: center;
  margin: 0 0 12px;
}
.l-footer__lower .l-footer__nav {
  margin: 40px 0 0;
}
.l-footer__lower .navList__item__text {
  color: #111;
}
.l-footer__copyright {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.4;
  text-align: center;
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  .l-footer__nav .navList {
    display: block;
    text-align: center;
  }
  .l-footer__nav .navList + .navList {
    margin-top: 60px;
  }
  .l-footer__nav .navList__item {
    font-size: 1.4rem;
    margin: 20px 0;
  }
  .l-footer__upper {
    padding: 65px 0 60px;
  }
  .l-footer__upperLogo {
    margin: 0 0 40px;
  }
  .l-footer__lower {
    padding: 70px 0 115px;
  }
}

/* == underPage ============================================== */

