@charset "UTF-8";
/*================================================================
 *FILE          :page.css
 *DESCRIPTION   :resetはressを使用。環境変数とmixinは_mixin.scss内に記述。
                 それぞれfoundationよりインポート。
 *AUTHOR        :
 *--------------------------------------------------------------
 *(C)
=================================================================*/
/* フォント定設
-----------------------------------------------------------------*/
@font-face {
  font-family: "Hiragino Sans W3";
  src: local(HiraginoSans-W3); }

@font-face {
  font-family: "Hiragino Sans W4";
  src: local(HiraginoSans-W4); }

@font-face {
  font-family: "Hiragino Sans W5";
  src: local(HiraginoSans-W5); }

@font-face {
  font-family: "Hiragino Sans W6";
  src: local(HiraginoSans-W6); }

@font-face {
  font-family: "Hiragino Sans W7";
  src: local(HiraginoSans-W7); }

@font-face {
  font-family: "Hiragino Sans W8";
  src: local(HiraginoSans-W8); }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .c-pageMainLead, .c-pageLead, .contactForm, .formLead {
    margin: auto;
    width: calc(100% - 32px); } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .c-pageLead {
    margin: auto;
    width: calc(100% - 40px);
    max-width: 1040px; } }

/*================================================================
 *FILE					:_components.scss
 *DESCRIPTION   :全ページ共通コンポーネント カスタムCSS
 *AUTHOR				:
 *--------------------------------------------------------------
 *(C)
=================================================================*/
/* 共通パーツ
-----------------------------------------------------------------*/
/* ボタン
-----------------------------------------------------------------*/
/* タイトル
-----------------------------------------------------------------*/
/*
  固定ページ
------------------------------------*/
/* アーカイブ（記事一覧ページ）
-----------------------------------------------------------------*/
/* 特集リスト
-----------------------------------------------------------------*/
/*
  ナビゲーション
------------------------------------*/
/*
  エリアタグ
------------------------------------*/
/*
  バナー
------------------------------------*/
/*=============================================

  よくある質問

==============================================*/
/*=============================================

  全景マップ

==============================================*/
/*=============================================

  毎日のコメント

==============================================*/
/*=============================================

  動的マップ

==============================================*/
/*=============================================

  タブ切り替え

==============================================*/
/*=============================================

  ページャー

==============================================*/
/*=============================================
  画像拡大
==============================================*/
/*
  テーブル
------------------------------------*/
/*
  スマホでスクロールできる
------------------------------------*/
/*=============================================

  ポイントリスト

==============================================*/
/*=============================================

  強調リンク

==============================================*/
/*=============================================

  購入ボタン（赤色）

==============================================*/
/*=============================================

  イベント一覧

==============================================*/
/*  メインビジュアル */
.c-pageHead {
  position: relative;
  overflow: hidden; }

.c-pageHead_title {
  text-align: center;
  position: absolute;
  top: 34.89362%;
  left: 0;
  right: 0;
  margin: auto; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-pageHead_title {
      min-width: 287px;
      max-width: 290px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-pageHead_title {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      min-width: 346px;
      max-width: 720px; } }
  .c-pageHead_title::before, .c-pageHead_title::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: #fff;
    margin: auto; }
  .c-pageHead_title h1 {
    color: #fff;
    font-weight: 800;
    line-height: 1.3; }
    @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
      .c-pageHead_title h1 {
        font-size: 22px;
        padding: 10px 0; } }
    @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
      .c-pageHead_title h1 {
        font-size: 32px;
        padding: 16px 0; } }

.c-pageHead_title-eng {
  font-family: "Anton", sans-serif;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  line-height: 1; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-pageHead_title-eng {
      font-size: 45px;
      bottom: -4px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-pageHead_title-eng {
      font-size: 96px;
      bottom: -8px; } }

.c-pageHead_image img {
  width: 100%; }

/*  リード文 */
.c-pageMainLead {
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 1.5; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-pageMainLead {
      font-size: 20px;
      margin-top: 60px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-pageMainLead {
      font-size: 24px;
      margin-top: 58px; } }

.c-pageLead {
  letter-spacing: 0.04em;
  line-height: 1.8; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-pageLead {
      font-size: 14px;
      margin-top: 22px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-pageLead {
      text-align: center;
      font-size: 16px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-pageMainLead + .c-pageLead {
      margin-top: 30px; } }

.c-button {
  border: #000 solid 2px;
  background-color: #C0F55B;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-button {
      width: 230px;
      height: 56px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-button {
      width: 290px;
      height: 60px; } }
  @media (hover: hover) {
    .c-button:hover {
      background-color: #000; } }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-button.underBanner {
      margin-top: 40px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-button.underBanner {
      margin-top: 20px; } }

.c-buttonLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  padding:0 35px 0 5px;}

.c-buttonText {
  font-size: 14px;
  font-weight: 700; }
  @media (hover: hover) {
    .c-button:hover .c-buttonText {
      color: #fff; } }

.c-buttonSvg {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 18px;
  height: 12px;
  background-image: url("../svg/button_arrow_blk.svg");
  background-size: contain;
  background-repeat: no-repeat; }
  [target="_blank"] .c-buttonSvg {
    width: 13px;
    height: 13px;
    background-image: url("../svg/button_blank_blk.svg"); }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-buttonSvg {
      right: 16px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-buttonSvg {
      right: 15px; } }
  @media (hover: hover) {
    .c-button:hover .c-buttonSvg {
      background-image: url("../svg/button_arrow_wht.svg"); }
    .c-button:hover a[target="_blank"] .c-buttonSvg {
      background-image: url("../svg/button_blank_wht.svg"); } }

.c-buttonLine {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 2px solid #C0F55B;
  padding-bottom: 4px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content; }

.c-buttonLine_text {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0; }

.c-buttonLine_svg {
  width: 13px;
  height: 13px; }

.c-buttonSimple {
  background: #fff; }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .contactTitle {
    margin-top: 64px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .contactTitle {
    margin-top: 110px; } }

/*=============================================

  フォーム

==============================================*/
.formLead {
  font-weight: 400;
  letter-spacing: 0.11em; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .formLead {
      font-size: 12px;
      margin-top: 30px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .formLead {
      font-size: 16px;
      max-width: 720px;
      margin: 64px auto 0; } }

.formLead_red {
  color: #E60000; }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .formList {
    max-width: 720px;
    margin: 40px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }

.formList_node {
  width: 100%; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .formList_node {
      margin-top: 24px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .formList_node {
      margin-top: 40px; } }
  .formList_node::nth-of-type(1) {
    margin-top: 0; }

.formList_inputSelect {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  color: #000; }
  .formList_inputSelect.is-empty {
    color: #B1B1B1; }

.formList_input-selectbox {
  position: relative; }
  .formList_input-selectbox::after {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #000000 transparent transparent transparent; }
    @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
      .formList_input-selectbox::after {
        top: 30px;
        right: 10px;
        border-width: 10.4px 6px 0 6px; } }
    @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
      .formList_input-selectbox::after {
        top: 38px;
        right: 20px;
        border-width: 12.1px 7px 0 7px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .formList_node-name, .formList_node-furigana {
    width: calc(50% - 10px); } }

.formList_title {
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .formList_title {
      font-size: 16px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .formList_title {
      font-size: 18px; } }
  .formList_node.required .formList_title::after {
    content: "*";
    display: inline-block;
    font-size: 20px;
    color: #E60000;
    margin-left: 3px; }

.formList_inputText,
.formList_inputTextarea,
.formList_inputSelect {
  width: 100%;
  border: none;
  letter-spacing: 0.04em;
  background-color: #F2F2F2;
  line-height: 1.6;
  margin-top: 10px; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .formList_inputText,
    .formList_inputTextarea,
    .formList_inputSelect {
      font-size: 16px;
      padding: 12px 15px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .formList_inputText,
    .formList_inputTextarea,
    .formList_inputSelect {
      font-size: 18px;
      padding: 18px 15px; } }
  .formList_inputText::-webkit-input-placeholder, .formList_inputTextarea::-webkit-input-placeholder, .formList_inputSelect::-webkit-input-placeholder {
    color: #868686; }
  .formList_inputText::-moz-placeholder, .formList_inputTextarea::-moz-placeholder, .formList_inputSelect::-moz-placeholder {
    color: #868686; }
  .formList_inputText:-ms-input-placeholder, .formList_inputTextarea:-ms-input-placeholder, .formList_inputSelect:-ms-input-placeholder {
    color: #868686; }
  .formList_inputText::-ms-input-placeholder, .formList_inputTextarea::-ms-input-placeholder, .formList_inputSelect::-ms-input-placeholder {
    color: #868686; }
  .formList_inputText::placeholder,
  .formList_inputTextarea::placeholder,
  .formList_inputSelect::placeholder {
    color: #868686; }

.formList_input-checkbox .horizontal-item {
  display: block; }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .formList_input-checkbox .horizontal-item + .horizontal-item {
    margin: 0; } }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .formList_input-checkbox {
    margin-top: 10px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .formList_input-checkbox {
    margin-top: 14px; } }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .formList_input-radio {
    margin-top: 14px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .formList_input-radio {
    margin-top: 18px; } }

.formList_note-email {
  font-size: 12px;
  line-height: 1.5;
  margin-top: 10px; }

.formList_note-content {
  font-weight: 400;
  margin-top: 12px; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .formList_note-content {
      font-size: 14px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .formList_note-content {
      font-size: 16px; } }

.formList_inputCheckBox_text {
  font-weight: 400;
  letter-spacing: 0.11em;
  display: inline-block; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .formList_inputCheckBox_text {
      font-size: 14px;
      width: calc(100% - 40px);
      margin-top: 10px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .formList_inputCheckBox_text {
      font-size: 16px;
      margin-top: 20px; } }

.formNote {
  font-size: 14px;
  letter-spacing: 0.11em;
  line-height: 1.5;
  max-width: 720px;
  margin: 24px auto 0; }

.onlyForm .mwform-checkbox-field-text {
  display: none; }

.mwform-checkbox-field {
  line-height: 1.78; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .mwform-checkbox-field {
      font-size: 14px; }
      .mwform-checkbox-field label {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start; }
        .mwform-checkbox-field label input {
          margin-top: 5px;
          -ms-flex-negative: 0;
          flex-shrink: 0; }
      .onlyForm .mwform-checkbox-field {
        vertical-align: top; }
        .onlyForm .mwform-checkbox-field label {
          display: inline-block; }
          .onlyForm .mwform-checkbox-field label input {
            -webkit-transform: translateY(10px);
            -ms-transform: translateY(10px);
            transform: translateY(10px); } }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .mwform-checkbox-field + .mwform-checkbox-field {
      margin: 14px 0 0 !important; } }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .mwform-radio-field {
    font-size: 14px; } }

.formButton {
  margin-top: 60px;
  cursor: pointer; }
  .formButton.is-disable {
    pointer-events: none;
    background-color: #fff;
    border: #868686 solid 2px; }
    .formButton.is-disable .submit_input {
      color: #868686; }
    .formButton.is-disable svg {
      fill: #868686; }

.submit_input {
  font-weight: 700;
  font-size: 14px;
  width: 100%;
  height: 100%;
  cursor: pointer;
  border: none;
  background-color: transparent; }
  @media (hover: hover) {
    .formButton:hover .submit_input {
      color: #fff; } }

.policyLink {
  text-decoration: underline; }

.contactSublead {
  line-height: 1.8; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .contactSublead {
      text-align: center; } }

.formList_note-facepic {
  font-size: 14px;
  line-height: 1.5;
  margin-top: 18px; }

.formList_input-facepic {
  font-size: 14px;
  margin-top: 23px;
  margin-bottom: 20px;
  position: relative; }
  .formList_input-facepic input[type="file"] {
    margin-left: 20px; }
    .formList_input-facepic input[type="file"]::before {
      font-weight: 700;
      content: 'ファイルを選択';
      font-size: 12px;
      letter-spacing: 0.11em;
      color: #fff;
      background-color: #868686;
      padding: 10px 19px;
      border-radius: 40px;
      position: absolute;
      top: -8px;
      left: 0; }
  .formList_input-facepic input[type="file"]::-webkit-file-upload-button {
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
    background-color: transparent;
    border: 0;
    margin: 0 20px 0 0; }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .formList_input-facepic .error {
      margin-top: 14px; } }

.buttonBack {
  display: none; }
