@charset "UTF-8";
/*!
Theme Name: 葉山別邸
Theme URI: http://underscores.me/
Author: Heads.Inc
Author URI: -------
Description: 葉山別邸テーマ
Version: 1.0.0
License: GNU General Public License v2 or later
/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　直接編集しないように注意してください。a
--------------------------------------------------------------- */
/* 基本設定
============================================================================ */
/* base > color
============================================================================================================ */
/* 基本色一覧*/
/*白*/
/*ベージュ*/
/*黒*/
/*灰色*/
/*黄*/
/*赤*/
/*ネイビー*/
/*青*/
/*緑*/
/*金*/
@font-face {
  font-family: "SaolDisplay";
  src: url("/font/SaolDisplay-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* mixin
============================================================================ */
/* mixin > rem  ($base-font-sizeはbase/_base.scssに)
============================================================================================================ */
/* mixin > flex
============================================================================================================ */
/* mixin > mediaqueries (setting/variables.scssに横幅記載あり)
============================================================================================================ */
/* mixin > last-bm
============================================================================================================ */
/*最後の要素の余白リセット*/
/* mixin > headline
============================================================================================================ */
/* mixin > mixin (mixin 集)
============================================================================================================ */
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */
/* mixin > img
============================================================================================================ */
figure {
  display: block;
  line-height: 0;
  font-size: 0;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

img {
  vertical-align: bottom;
  line-height: 0;
  font-size: 0;
  backface-visibility: hidden;
}

/* mixin > display
============================================================================================================ */
/*-------------------------------------------------------------
display指定class

【only】
.pc-only / .tab-only / .pad-only / .sp-only /.se-only
.pctab-only / .tabsp-only / .sp-none

-------------------------------------------------------------*/
.pc-only {
  display: block !important;
}
@media screen and (max-width: 1024px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pc-only {
    display: none !important;
  }
}
.pc-only--flex {
  display: flex !important;
}
@media screen and (max-width: 1024px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pc-only--flex {
    display: none !important;
  }
}

.tab-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tab-only {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .tab-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .tab-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .tab-only {
    display: none !important;
  }
}
.tab-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tab-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .tab-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .tab-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .tab-only--flex {
    display: none !important;
  }
}

.pad-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .pad-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pad-only {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .pad-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pad-only {
    display: none !important;
  }
}
.pad-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .pad-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pad-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 767px) {
  .pad-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pad-only--flex {
    display: none !important;
  }
}

.sp-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .sp-only {
    display: block !important;
  }
}
@media screen and (max-width: 320px) {
  .sp-only {
    display: block !important;
  }
}
.sp-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .sp-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .sp-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .sp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 320px) {
  .sp-only--flex {
    display: flex !important;
  }
}

.se-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .se-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .se-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .se-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .se-only {
    display: block !important;
  }
}
.se-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .se-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .se-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .se-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .se-only--flex {
    display: flex !important;
  }
}

.pctab-only {
  display: block !important;
}
@media screen and (max-width: 1024px) {
  .pctab-only {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .pctab-only {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .pctab-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pctab-only {
    display: none !important;
  }
}
.pctab-only--flex {
  display: flex !important;
}
@media screen and (max-width: 1024px) {
  .pctab-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .pctab-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 767px) {
  .pctab-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pctab-only--flex {
    display: none !important;
  }
}

.tabsp-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tabsp-only {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .tabsp-only {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .tabsp-only {
    display: block !important;
  }
}
@media screen and (max-width: 320px) {
  .tabsp-only {
    display: block !important;
  }
}
.tabsp-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 767px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 320px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}

@media screen and (max-width: 767px) {
  .sp-none {
    display: none;
  }
}
@media screen and (max-width: 320px) {
  .sp-none {
    display: none;
  }
}

/* 共通部分
============================================================================ */
/* base > common
============================================================================================================ */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

li {
  list-style: none;
}

ul,
ol,
dl,
p {
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  /* ress.cssだとunderlineがつくのを阻止 */
  text-decoration: none;
}

select {
  color: #3E3A39;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  line-height: 1 !important;
  position: relative;
}

table {
  table-layout: fixed;
  /* ress.css用 */
  border-collapse: collapse;
  border-spacing: 0;
}

td input {
  max-width: 100%;
}

i,
em {
  font-style: normal;
}

* {
  box-sizing: border-box;
}

small {
  font-size: 100%;
}
html,
body {
  width: 100%;
  line-height: 2;
  color: #3E3A39;
  font-family: "Noto Serif JP", sans-serif;
  letter-spacing: 0em;
  font-size: 16px;
  font-weight: 400;
  position: relative;
  -webkit-print-color-adjust: exact;
  overflow-x: hidden;
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
}
@media screen and (max-width: 767px) {
  html,
  body {
    font-size: 8px;
    font-size: 4.2666666667vw;
    line-height: 2;
  }
}
html::-webkit-scrollbar,
body::-webkit-scrollbar { /* Chrome, Safari 対応 */
  display: none;
}

html.is-modal-open,
body.is-modal-open {
  overflow: clip;
}

body {
  opacity: 0;
  pointer-events: none;
}
body.loaded {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 1s;
}

.font-en {
  font-family: "Saol Display", serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}

a {
  -moz-transition: 0.6s;
  -o-transition: 0.6s;
  -webkit-transition: 0.6s;
  -webkit-transition-delay: 0.6s;
  transition: 0.6s;
}
a:hover {
  text-decoration: none;
  opacity: 0.7;
}

#Wrapper {
  display: flex;
  flex-direction: column;
  background: #F5F3F1;
  min-height: 100vh;
  height: 100%;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #Wrapper {
    border: none;
  }
}

#Footer {
  margin-top: auto;
  height: 100%;
}

img.object_fit {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

.equalspace-1em {
  letter-spacing: 1em;
  text-indent: 1em;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.youtube-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
}

.youtube-item {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* base > heading
============================================================================================================ */
/* 基本設定 */
h1 {
  font-size: 34px;
  font-size: 2.125rem;
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 22px;
    font-size: 1.375rem;
  }
}

h2 {
  font-size: 30px;
  font-size: 1.875rem;
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

h3 {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
}

h4 {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
}

h5 {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: bold;
}

h6 {
  font-size: 18px;
  font-size: 1.125rem;
}

/* base > wordpress
============================================================================================================ */
img.size-auto,
img.size-large,
img.size-full,
img.size-medium {
  max-width: 100%;
  height: auto;
}

.alignleft,
img.alignleft {
  display: inline;
  float: left;
  margin-right: 15px;
  margin-top: 4px;
}

.alignright,
img.alignright {
  display: inline;
  float: right;
  margin-left: 15px;
  margin-top: 4px;
}

.aligncenter,
img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

img.alignleft,
img.alignright,
img.aligncenter {
  margin-bottom: 12px;
}

.wp-caption {
  background: #f1f1f1;
  border: none;
  border-radius: 0;
  color: #888;
  font-size: 12px;
  line-height: 18px;
  margin-bottom: 20px;
  padding: 4px;
  text-align: center;
}

.wp-caption img {
  margin: 5px;
}

.wp-caption p.wp-caption-text {
  margin: 0 0 4px;
}

.wp-smiley {
  margin: 0;
}

div.wpcf7-mail-sent-ok {
  border: 2px solid #398f14;
  padding: 50px 10px;
  text-align: center;
  font-weight: bold;
  margin: 50px 0;
}

/* base > wordpress-comments
============================================================================================================ */
.comments-area {
  margin: 0 auto 60px;
}

.comments-area > :last-child {
  margin-bottom: 0;
}

.comment-list + .comment-respond {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, 0.1);
}

.comment-list + .comment-respond,
.comment-navigation + .comment-respond {
  padding-top: 1.6em;
}

.comments-title,
.comment-reply-title {
  border-top: 1px solid red;
  border-bottom: 1px solid red;
  padding: 12px 6px;
  font-weight: bold;
}

.comments-title {
  margin-bottom: 1.3333em;
}

.comment-list {
  list-style: none;
  margin: 0;
}

.comment-list article,
.comment-list .pingback,
.comment-list .trackback {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, 0.1);
  padding: 1.6em 0;
}

.comment-list .children {
  list-style: none;
  margin: 0;
}

.comment-list .children > li {
  padding-left: 0.8em;
}

.comment-author {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  margin-bottom: 0.4em;
}

.comment-author a:hover {
  border-bottom: 1px solid #707070;
  border-bottom: 1px solid rgba(51, 51, 51, 0.7);
}

.comment-author .avatar {
  float: left;
  height: 24px;
  margin-right: 0.8em;
  width: 24px;
}

.comment-metadata,
.pingback .edit-link {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-size: 12px;
  line-height: 1.5;
}

.comment-metadata a,
.pingback .edit-link a {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
}

.comment-metadata a:hover,
.pingback .edit-link a:hover {
  border-bottom: 1px solid #333;
}

.comment-metadata a:hover,
.comment-metadata a:focus,
.pingback .edit-link a:hover,
.pingback .edit-link a:focus {
  color: #333;
}

.comment-metadata {
  margin-bottom: 1.6em;
}

.comment-metadata .edit-link {
  margin-left: 1em;
}

.pingback .edit-link {
  margin-left: 1em;
}

.pingback .edit-link:before {
  top: 5px;
}

.comment-content ul,
.comment-content ol {
  margin: 0 0 1.6em 1.3333em;
}

.comment-content li > ul,
.comment-content li > ol {
  margin-bottom: 0;
}

.comment-content > :last-child {
  margin-bottom: 0;
}

.comment-list .reply {
  font-size: 12px;
}

.comment-list .reply a {
  border: 1px solid #eaeaea;
  border: 1px solid rgba(51, 51, 51, 0.1);
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  display: inline-block;
  font-weight: 700;
  line-height: 1;
  margin-top: 2em;
  padding: 0.4167em 0.8333em;
  text-transform: uppercase;
}

.comment-list .reply a:hover,
.comment-list .reply a:focus {
  border-color: #333;
  color: #333;
  outline: 0;
}

.comment-form {
  padding-top: 1.6em;
}

.comment-form label {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-size: 12px;
  font-weight: 700;
  display: block;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-transform: uppercase;
}

.comment-form #comment,
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url] {
  width: 100%;
  max-width: 100%;
  border-radius: 6px;
  padding: 3px;
  border: 1px solid #ccc;
}

.comment-form input[type=submit] {
  margin: 20px auto;
}

.comment-notes,
.comment-awaiting-moderation,
.logged-in-as,
.form-allowed-tags {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 2em;
}

.logged-in-as a:hover {
  border-bottom: 1px solid #333;
}

.no-comments {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, 0.1);
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-weight: 700;
  padding-top: 1.6em;
}

.comment-navigation + .no-comments {
  border-top: 0;
}

.form-allowed-tags code {
  font-family: monospace;
}

.form-submit {
  margin-bottom: 0;
}

/*.required {
	color: #c0392b;
}*/
.comment-reply-title small {
  font-size: 100%;
}

.comment-reply-title small a {
  border: 0;
  float: right;
  height: 32px;
  overflow: hidden;
  width: 26px;
}

.comment-reply-title small a:before {
  content: "\f405";
  font-size: 32px;
  position: relative;
  top: -3px;
}

.comment-form #wp-comment-cookies-consent {
  margin: 0 10px 0 0;
}

.comment-form .comment-form-cookies-consent label {
  display: inline;
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: none;
}

/* base > editor-content
============================================================================================================ */
.editor-content h1 {
  font-size: 36px;
  font-size: 2.25rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .editor-content h1 {
    font-size: 25px;
    font-size: 13.3333333333vw;
    margin-top: 10.6666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}
.editor-content h2 {
  font-size: 30px;
  font-size: 1.875rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .editor-content h2 {
    font-size: 22px;
    font-size: 11.7333333333vw;
    margin-top: 10.6666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}
.editor-content h3 {
  font-size: 28px;
  font-size: 1.75rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .editor-content h3 {
    font-size: 20px;
    font-size: 10.6666666667vw;
    margin-top: 10.6666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}
.editor-content h4 {
  font-size: 24px;
  font-size: 1.5rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .editor-content h4 {
    font-size: 18px;
    font-size: 9.6vw;
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.editor-content h5 {
  font-size: 22px;
  font-size: 1.375rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .editor-content h5 {
    font-size: 16px;
    font-size: 8.5333333333vw;
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.editor-content h6 {
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .editor-content h6 {
    font-size: 15px;
    font-size: 8vw;
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.editor-content p {
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .editor-content p {
    font-size: 14px;
    font-size: 7.4666666667vw;
  }
}
.editor-content p strong {
  font-weight: normal;
}
.editor-content table {
  width: 100%;
  border: 1px solid #eee;
}
.editor-content table tr th,
.editor-content table tr td {
  padding: 0.5em;
  border: 1px solid #eee;
}
.editor-content table tr th {
  background: white;
  width: 24%;
  max-width: 240px;
  color: red;
}
.editor-content ul, .editor-content ul li {
  list-style: disc;
  margin-left: 10px;
}
.editor-content ol, .editor-content ol li {
  list-style: decimal;
  margin-left: 10px;
}
.editor-content a {
  color: blue;
  text-decoration: underline;
}
.editor-content blockquote {
  background: #eee;
  padding: 20px;
  border-radius: 0 30px 30px 0;
  border-left: 5px solid black;
}
@media screen and (max-width: 767px) {
  .editor-content blockquote {
    padding: 5.3333333333vw;
    border-radius: 0 8vw 8vw 0;
  }
}
.editor-content blockquote cite {
  text-align: right;
  margin-top: 20px;
  display: block;
}
.editor-content pre {
  border: 1px solid #eee;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 0.5em;
}

/* layout
============================================================================ */
/* layout > common
============================================================================================================ */
.common-main {
  width: 100%;
  height: 100%;
  margin-top: 80px;
  padding-bottom: 160px;
}
@media screen and (max-width: 767px) {
  .common-main {
    margin-top: 20.2666666667vw;
    padding-bottom: 38.4vw;
  }
}

.home .common-main {
  margin-top: 0;
  padding-bottom: 0;
}
.page.outline .common-main {
  padding-bottom: 96px;
}
@media screen and (max-width: 767px) {
  .page.outline .common-main {
    padding-bottom: 25.6vw;
  }
}
.l-page {
  padding-top: 48px;
}
@media screen and (max-width: 767px) {
  .l-page {
    padding-top: 12.8vw;
  }
}

/* layout > header
============================================================================== */
.home .common-header {
  height: 100px;
  padding: 10px 24px;
}
@media screen and (max-width: 767px) {
  .home .common-header {
    height: 20.2666666667vw;
    padding: 2.6666666667vw;
  }
}
.home .common-header__inner {
  background: rgba(255, 255, 255, 0.75);
  padding: 10px 10px 10px 24px;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}
@media screen and (max-width: 767px) {
  .home .common-header__inner {
    padding: 1.6vw 2.6666666667vw;
    -webkit-backdrop-filter: blur(2.1333333333vw);
            backdrop-filter: blur(2.1333333333vw);
  }
}

.common-header {
  width: 100%;
  height: 80px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  transition: 0.5s;
}
@media screen and (max-width: 767px) {
  .common-header {
    height: 20.2666666667vw;
  }
}

.common-header__inner {
  background: white;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 10px 58px 10px 24px;
  margin: 0 auto;
}
@media screen and (max-width: 1440px) {
  .common-header__inner {
    padding: 10px 4.0277777778vw 10px 10px 1.6666666667vw;
  }
}
@media screen and (max-width: 1024px) {
  .common-header__inner {
    padding: 10px 58px 10px 24px;
  }
}
@media screen and (max-width: 767px) {
  .common-header__inner {
    padding: 4.2666666667vw 5.3333333333vw;
  }
}

.common-header__logo {
  line-height: 1;
  position: relative;
  font-size: 0;
  font-weight: 400;
  width: 259px;
}
@media screen and (max-width: 767px) {
  .common-header__logo {
    width: 48vw;
  }
}
.common-header__logo a {
  display: block;
  position: relative;
  width: 100%;
}
.common-header__logo a svg {
  width: 100%;
  height: 100%;
  display: block;
}
.common-header__logo a:hover {
  opacity: 0.7;
}

.common-header__info {
  display: grid;
  grid-template-columns: 1fr 184px;
  align-items: center;
  justify-content: flex-end;
  -moz-column-gap: 14px;
       column-gap: 14px;
}
@media screen and (max-width: 1440px) {
  .common-header__info {
    -moz-column-gap: 0.9722222222vw;
         column-gap: 0.9722222222vw;
  }
}
@media screen and (max-width: 1024px) {
  .common-header__info {
    grid-template-columns: 184px;
    -moz-column-gap: 0;
         column-gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .common-header__info {
    grid-template-columns: 34.1333333333vw;
  }
}

@media screen and (max-width: 1024px) {
  .common-header__nav {
    display: none;
  }
}

.common-header__menu {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  width: 100%;
  -moz-column-gap: 4px;
       column-gap: 4px;
}
@media screen and (max-width: 1440px) {
  .common-header__menu {
    -moz-column-gap: 0.2777777778vw;
         column-gap: 0.2777777778vw;
  }
}
.common-header__menu li {
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.common-header__menu li a {
  display: inline-block;
  position: relative;
  padding: 8px 10px;
  position: relative;
}
@media screen and (max-width: 1440px) {
  .common-header__menu li a {
    padding: 8px 0.6944444444vw;
  }
}
.common-header__menu li a:hover {
  opacity: 1;
}
.common-header__menu li a:hover:before, .common-header__menu li a:hover:after {
  opacity: 1;
}
.common-header__menu li a:hover:before {
  animation: pulseAtPosition 1.5s ease-in-out 0.3s infinite;
}
.common-header__menu li a:before, .common-header__menu li a:after {
  content: "";
  background: #03102D;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: 0.8s;
}
.common-header__menu li a:before {
  width: 5px;
  height: 5px;
  top: -1px;
  border-radius: 50%;
}
.common-header__menu li a:after {
  width: 100%;
  height: 1px;
  bottom: 0;
}
@keyframes pulseAtPosition {
  0% {
    transform: translateX(-50%) scale(1);
  }
  10% {
    transform: translateX(-50%) scale(1.4);
  }
  20% {
    transform: translateX(-50%) scale(1);
  }
  30% {
    transform: translateX(-50%) scale(1.4);
  }
  40%, 100% {
    transform: translateX(-50%) scale(1);
  }
}

.common-header__entry {
  background: #03102D;
  width: 100%;
  padding: 18px 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  transition: 0.6s;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .common-header__entry {
    padding: 3.3333333333vw;
  }
}
.common-header__entry:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.75);
  animation: kiran-btn 5s infinite;
}
@keyframes kiran-btn {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  30% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  80% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
.common-header__entry:hover {
  opacity: 1;
  background: white;
}
@media screen and (max-width: 767px) {
  .common-header__entry:hover {
    background: #03102D;
  }
}
.common-header__entry:hover .common-header__entry-txt-inner.is-before {
  opacity: 0;
}
@media screen and (max-width: 1024px) {
  .common-header__entry:hover .common-header__entry-txt-inner.is-before {
    opacity: 1;
  }
}
.common-header__entry:hover .common-header__entry-txt-inner.is-after {
  opacity: 1;
}
@media screen and (max-width: 1024px) {
  .common-header__entry:hover .common-header__entry-txt-inner.is-after {
    opacity: 0;
  }
}

.common-header__entry-txt {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .common-header__entry-txt {
    font-size: 7px;
    font-size: 3.7333333333vw;
  }
}

.common-header__entry-txt-inner {
  transition: 0.8s;
}
.common-header__entry-txt-inner.is-before {
  background: linear-gradient(88.85deg, #EDC357 -10.35%, #CE9009 14.77%, #F6CA5D 39.9%, #CE9009 65.29%, #C27E03 92.79%, #853200 127.17%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  opacity: 1;
}
.common-header__entry-txt-inner.is-after {
  color: #03102D;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}

/*  layout > footer
============================================================================================================ */
.common-footer {
  background: white;
  position: relative;
  z-index: 99;
}

.common-footer__pageTop {
  width: 100%;
  position: absolute;
  bottom: 100%;
  left: 0;
  cursor: pointer;
}
.common-footer__pageTop.is-stop {
  position: absolute;
  bottom: 100%;
}

.common-footer__pageTop-inner {
  color: white;
  background: #6B7280;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  width: 100%;
  padding: 9px 0;
  display: grid;
  grid-template-columns: auto 38px;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 4px;
       column-gap: 4px;
  transition: 0.6s;
}
@media screen and (max-width: 767px) {
  .common-footer__pageTop-inner {
    font-size: 7px;
    font-size: 3.7333333333vw;
    padding: 3.7333333333vw 0;
    grid-template-columns: auto 7.4666666667vw;
    -moz-column-gap: 1.0666666667vw;
         column-gap: 1.0666666667vw;
  }
}
.common-footer__pageTop-inner:hover {
  background: #03102D;
}

.common-footer__inner {
  max-width: 1440px;
  width: 100%;
  padding: 96px 80px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .common-footer__inner {
    padding: 96px 7.8125vw;
  }
}
@media screen and (max-width: 767px) {
  .common-footer__inner {
    max-width: 87.2vw;
    padding: 17.0666666667vw 0;
  }
}

.common-footer__grid {
  padding-bottom: 64px;
  margin-bottom: 40px;
  display: grid;
  grid-template-columns: 310px 504px;
  justify-content: space-between;
  border-bottom: solid 1px #03102D;
}
@media screen and (max-width: 1024px) {
  .common-footer__grid {
    grid-template-columns: 310px auto;
  }
}
@media screen and (max-width: 767px) {
  .common-footer__grid {
    padding-bottom: 10.6666666667vw;
    margin-bottom: 4.2666666667vw;
    grid-template-columns: 1fr;
    row-gap: 10.6666666667vw;
    border-bottom-width: 0.2666666667vw;
  }
}

.common-footer__logo {
  width: 200px;
  margin-bottom: 80px;
  display: block;
}
@media screen and (max-width: 767px) {
  .common-footer__logo {
    width: 42.6666666667vw;
    margin: 0 auto 10.6666666667vw;
  }
}
.common-footer__logo:hover {
  opacity: 0.7;
}
.common-footer__logo svg {
  width: 100%;
  height: 100%;
  display: block;
}

.common-footer__info {
  color: #03102D;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: normal;
  flex-direction: column;
  row-gap: 10px;
}
@media screen and (max-width: 767px) {
  .common-footer__info {
    font-size: 7px;
    font-size: 3.7333333333vw;
    row-gap: 2.6666666667vw;
  }
}

.common-footer__info-item-zip {
  margin-bottom: 4px;
  display: block;
}
@media screen and (max-width: 767px) {
  .common-footer__info-item-zip {
    margin-bottom: 1.0666666667vw;
  }
}

.common-footer__btn {
  margin-bottom: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
@media screen and (max-width: 1024px) {
  .common-footer__btn {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  .common-footer__btn {
    margin-bottom: 21.3333333333vw;
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 6.4vw;
  }
}

.common-footer__tel {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .common-footer__tel {
    margin-bottom: 4.2666666667vw;
  }
}

.common-footer__tel-lead {
  color: #03102D;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: solid 1px #03102D;
}
@media screen and (max-width: 767px) {
  .common-footer__tel-lead {
    font-size: 8px;
    font-size: 4.2666666667vw;
    padding-bottom: 2.1333333333vw;
    margin-bottom: 2.1333333333vw;
    border-bottom-width: 0.2666666667vw;
  }
}

.common-footer__tel-link {
  color: #03102D;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.6;
  text-decoration: underline;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .common-footer__tel-link {
    font-size: 16px;
    font-size: 8.5333333333vw;
  }
}

.common-footer__business {
  color: #03102D;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  display: block;
}
@media screen and (max-width: 767px) {
  .common-footer__business {
    font-size: 7px;
    font-size: 3.7333333333vw;
  }
}

.common-footer__business-item {
  display: flex;
  flex-wrap: nowrap;
}

.common-footer__copyright {
  font-size: 14px;
  line-height: 1.6;
  text-align: right;
  display: block;
}
@media screen and (max-width: 767px) {
  .common-footer__copyright {
    font-size: 5px;
    font-size: 2.6666666667vw;
    text-align: left;
  }
}

/* layout > front page （TOP,HOME）
============================================================================================================ */
/* layout > archive
============================================================================================================ */
.archive-news {
  max-width: 764px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .archive-news {
    max-width: 178.9333333333vw;
  }
}

/* layout > single
============================================================================================================ */
/*  layout > container
============================================================================================================ */
.l-container--1000 {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 1024px) {
  .l-container--1000 {
    max-width: 95%;
  }
}
@media screen and (max-width: 767px) {
  .l-container--1000 {
    max-width: 184vw;
  }
}

/* layout > contact
============================================================================================================ */
.page-contact__inner {
  max-width: 1280px;
  width: 100%;
  padding: 0 109px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .page-contact__inner {
    padding: 0 89px;
  }
}
@media screen and (max-width: 767px) {
  .page-contact__inner {
    max-width: 87.2vw;
    padding: 0;
  }
}

.page-contact__heading {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.3;
  padding-bottom: 15px;
  margin-bottom: 64px;
  border-bottom: solid 1px #3E3A39;
}
@media screen and (max-width: 767px) {
  .page-contact__heading {
    font-size: 14px;
    font-size: 7.4666666667vw;
    padding-bottom: 3.2vw;
    margin-bottom: 14.9333333333vw;
    border-bottom-width: 0.2666666667vw;
  }
}

.page-contact__form .wpcf7-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: normal;
  flex-direction: column;
  row-gap: 48px;
}
@media screen and (max-width: 767px) {
  .page-contact__form .wpcf7-form {
    row-gap: 10.6666666667vw;
  }
}

#page-contact-row-inquiry-type .page-contact__head {
  padding-top: 0;
}

.page-contact__row {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  display: grid;
  grid-template-columns: 196px 1fr;
  justify-content: space-between;
  align-content: flex-start;
  align-items: flex-start;
  -moz-column-gap: 66px;
       column-gap: 66px;
}
@media screen and (max-width: 1440px) {
  .page-contact__row {
    -moz-column-gap: 5.5555555556vw;
         column-gap: 5.5555555556vw;
  }
}
@media screen and (max-width: 767px) {
  .page-contact__row {
    font-size: 7px;
    font-size: 3.7333333333vw;
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 3.2vw;
  }
}

.page-contact__head {
  padding-top: 17px;
}
@media screen and (max-width: 767px) {
  .page-contact__head {
    padding-top: 0;
  }
}

.page-contact__label {
  display: grid;
  grid-template-columns: 1fr 44px;
  justify-content: flex-start;
  align-items: center;
  -moz-column-gap: 8px;
       column-gap: 8px;
}
@media screen and (max-width: 767px) {
  .page-contact__label {
    grid-template-columns: auto 10.6666666667vw;
    -moz-column-gap: 2.1333333333vw;
         column-gap: 2.1333333333vw;
  }
}

.page-contact__badge {
  color: white;
  font-size: 14px;
  line-height: 1.6;
  width: 100%;
  height: 26px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: normal;
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .page-contact__badge {
    font-size: 6px;
    font-size: 3.2vw;
    height: 6.4vw;
  }
}
.page-contact__badge.is-required {
  background: #7A0C18;
}
.page-contact__badge.is-optional {
  background: rgba(77, 77, 77, 0.7);
}

.page-contact__agreeInner {
  font-weight: 700;
  text-align: center;
}

.page-contact__agreeText a {
  text-decoration: underline;
}

.page-contact__submit .c-btn {
  width: 240px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .page-contact__submit .c-btn {
    width: 100%;
  }
}

.page.confirm .page-contact__intro {
  text-align: center;
  margin-bottom: 71px;
}
@media screen and (max-width: 767px) {
  .page.confirm .page-contact__intro {
    margin-bottom: 26.6666666667vw;
  }
}

.page.thanks .page-contact .common-heading {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .page.thanks .page-contact .common-heading {
    margin-bottom: 21.3333333333vw;
  }
}
.page.thanks .page-contact__thanksLogo {
  width: 260px;
  margin: 0 auto 41px;
}
@media screen and (max-width: 767px) {
  .page.thanks .page-contact__thanksLogo {
    width: 105.0666666667vw;
    margin-bottom: 22.6666666667vw;
  }
}
.page.thanks .page-contact__intro {
  text-align: center;
  line-height: 2.2857142857;
  margin-bottom: 69px;
}
@media screen and (max-width: 767px) {
  .page.thanks .page-contact__intro {
    line-height: 2.0714285714;
    margin-bottom: 26.6666666667vw;
  }
}

/*  layout > form
============================================================================================================ */
.form__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: normal;
  align-content: normal;
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .form__row {
    align-items: flex-start;
  }
}
.form__row:nth-of-type(n + 2) {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .form__row:nth-of-type(n + 2) {
    margin-top: 16vw;
  }
}
.form__row.kinds .form__col:nth-of-type(2) {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: normal;
  align-content: normal;
  flex-direction: row;
}
.form__row.content {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .form__row.content {
    margin-top: 16vw;
  }
}
.form__col:first-of-type {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 2;
  width: 173px;
}
@media screen and (max-width: 767px) {
  .form__col:first-of-type {
    font-size: 14px;
    font-size: 7.4666666667vw;
    line-height: 1.25;
    width: 100%;
    margin-bottom: 5.3333333333vw;
  }
}
.form__col:nth-of-type(2) {
  font-size: 14px;
  font-size: 0.875rem;
  width: 411px;
}
@media screen and (max-width: 767px) {
  .form__col:nth-of-type(2) {
    font-size: 14px;
    font-size: 7.4666666667vw;
    width: 100%;
  }
}
.form__note {
  font-size: 14px;
  font-size: 0.875rem;
  display: block;
  width: 100%;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .form__note {
    font-size: 14px;
    font-size: 7.4666666667vw;
    text-indent: -1em;
    padding-left: 1em;
    margin-top: 8vw;
  }
}
.form__note a {
  color: blue;
  text-decoration: underline;
}
.form__btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: normal;
  align-content: normal;
  flex-direction: row;
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .form__btn {
    align-items: center;
    flex-direction: column-reverse;
    margin-top: 26.6666666667vw;
  }
}
.form__btn-col.submit {
  margin-top: 0;
}
.form__btn-col.back {
  margin-top: 0;
}
.form__btn-col.back:before {
  left: auto;
  right: 0;
  transform: rotateY(180deg);
}

/* layout > privacy-policy
============================================================================================================ */
.page-outline__inner {
  max-width: 1280px;
  width: 100%;
  padding: 0 109px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .page-outline__inner {
    padding: 0 89px;
  }
}
@media screen and (max-width: 767px) {
  .page-outline__inner {
    max-width: 87.2vw;
    padding: 0;
  }
}

.page-outline__heading {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.3;
  padding-bottom: 15px;
  margin-bottom: 40px;
  border-bottom: solid 1px #3E3A39;
}
@media screen and (max-width: 767px) {
  .page-outline__heading {
    font-size: 14px;
    font-size: 7.4666666667vw;
    padding-bottom: 3.2vw;
    margin-bottom: 10.6666666667vw;
    border-bottom-width: 0.2666666667vw;
  }
}

.page-outline__section:nth-of-type(n+ 2) {
  margin-top: 95px;
}
@media screen and (max-width: 767px) {
  .page-outline__section:nth-of-type(n+ 2) {
    margin-top: 25.3333333333vw;
  }
}

.page-outline__table {
  width: 100%;
}

.page-outline__tr {
  line-height: 1.6;
  letter-spacing: 0em;
  padding: 24px 0;
  border-bottom: solid 1px #DFDFEE;
  display: grid;
  grid-template-columns: 160px auto;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
@media screen and (max-width: 767px) {
  .page-outline__tr {
    padding: 6.4vw 0;
    grid-template-columns: 34.1333333333vw auto;
    -moz-column-gap: 4.2666666667vw;
         column-gap: 4.2666666667vw;
  }
}

.page-outline__th {
  font-weight: 400;
  text-align: left;
}

.page-outline__note {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .page-outline__note {
    margin-top: 4.2666666667vw;
  }
}

.page-outline__note-ttl {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 9px;
}
@media screen and (max-width: 767px) {
  .page-outline__note-ttl {
    font-size: 11px;
    font-size: 5.8666666667vw;
    margin-bottom: 2.4vw;
  }
}

/* layout > privacy-policy
============================================================================================================ */
.page-privacy__inner {
  max-width: 1280px;
  width: 100%;
  padding: 0 109px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .page-privacy__inner {
    padding: 0 89px;
  }
}
@media screen and (max-width: 767px) {
  .page-privacy__inner {
    max-width: 87.2vw;
    padding: 0;
  }
}

.page-privacy__heading {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.3;
  padding-bottom: 15px;
  margin-bottom: 64px;
  border-bottom: solid 1px #3E3A39;
}
@media screen and (max-width: 767px) {
  .page-privacy__heading {
    font-size: 14px;
    font-size: 7.4666666667vw;
    padding-bottom: 3.2vw;
    margin-bottom: 14.9333333333vw;
    border-bottom-width: 0.2666666667vw;
  }
}

.page-privacy__lead {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .page-privacy__lead {
    font-size: 7px;
    font-size: 3.7333333333vw;
    margin-bottom: 14.9333333333vw;
  }
}

.page-privacy__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: normal;
  flex-direction: column;
  row-gap: 48px;
}

.page-privacy__ttl {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.6;
  padding-left: 8px;
  margin-bottom: 16px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-privacy__ttl {
    font-size: 10px;
    font-size: 5.3333333333vw;
    padding-left: 2.1333333333vw;
    margin-bottom: 3.2vw;
  }
}
.page-privacy__ttl:before {
  content: "";
  background: #3E3A39;
  width: 3px;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .page-privacy__ttl:before {
    width: 0.8vw;
  }
}

.page-privacy__txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .page-privacy__txt {
    font-size: 7px;
    font-size: 3.7333333333vw;
  }
}

.page-privacy__contact {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .page-privacy__contact {
    font-size: 7px;
    font-size: 3.7333333333vw;
    margin-top: 3.2vw;
  }
}

.page-privacy__contact-name {
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .page-privacy__contact-name {
    margin-bottom: 1.0666666667vw;
  }
}

/* layout > 404
============================================================================================================ */
.page-404 {
  padding: 92px 0 0;
}
@media screen and (max-width: 767px) {
  .page-404 {
    padding: 35.2vw 0 0;
  }
}
.page-404 h2 {
  font-size: 30px;
  font-size: 1.875rem;
  text-align: center;
  line-height: 1;
  color: black;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .page-404 h2 {
    font-size: 22px;
    font-size: 11.7333333333vw;
    margin-bottom: 12.5333333333vw;
  }
}
.page-404 h3 {
  font-size: 22px;
  font-size: 1.375rem;
  text-align: center;
  color: black;
  line-height: 1;
  margin-bottom: 31px;
}
@media screen and (max-width: 767px) {
  .page-404 h3 {
    font-size: 19px;
    font-size: 10.1333333333vw;
    line-height: 1.7105263158;
    margin-bottom: 18.6666666667vw;
  }
}
.page-404__icn {
  max-width: 155px;
  margin: 0 auto 21px;
}
@media screen and (max-width: 767px) {
  .page-404__icn {
    max-width: 68.8vw;
    margin-bottom: 14.4vw;
  }
}
.page-404__info {
  font-size: 14px;
  font-size: 0.875rem;
  max-width: 489px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .page-404__info {
    font-size: 15px;
    font-size: 8vw;
    max-width: 167.7333333333vw;
  }
}
.page-404__info a {
  text-decoration: underline;
  text-underline-offset: 1px;
}

/* module
============================================================================ */
/* module > form
============================================================================ */
/*////////////////////////// 基本スタイル //////////////////////////*/
input[type=text], input[type=email], input[type=tel], select, textarea {
  font-weight: 400;
  width: 100%;
  padding: 17px 16px;
  min-height: auto;
  outline: none;
  background: white;
  box-sizing: border-box;
  -webkit-appearance: none; /* ベンダープレフィックス(Google Chrome、Safari用) */
  -moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
  vertical-align: bottom;
}
input[type=text]:-moz-placeholder, input[type=email]:-moz-placeholder, input[type=tel]:-moz-placeholder, select:-moz-placeholder, textarea:-moz-placeholder {
  color: #B0B0B0;
}
input[type=text]:placeholder-shown, input[type=email]:placeholder-shown, input[type=tel]:placeholder-shown, select:placeholder-shown, textarea:placeholder-shown {
  color: #B0B0B0;
}
input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #B0B0B0;
}
input[type=text]:-moz-placeholder, input[type=email]:-moz-placeholder, input[type=tel]:-moz-placeholder, select:-moz-placeholder, textarea:-moz-placeholder {
  color: #B0B0B0;
  opacity: 1;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #B0B0B0;
  opacity: 1;
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #B0B0B0;
}
@media screen and (max-width: 767px) {
  input[type=text], input[type=email], input[type=tel], select, textarea {
    padding: 4vw 3.7333333333vw;
  }
}

/*////////////////////////// テキストエリア //////////////////////////*/
textarea {
  height: 200px;
}
@media screen and (max-width: 767px) {
  textarea {
    height: 38.4vw;
  }
}

/*////////////////////////// セレクトボックス //////////////////////////*/
select {
  height: 39px;
  -webkit-appearance: none; /* ベンダープレフィックス(Google Chrome、Safari用) */
  -moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
  appearance: none; /* 標準のスタイルを無効にする */
  position: relative;
  background-image: url("./img/common/arw_select.svg");
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: center right 10px;
  box-sizing: border-box;
}

::-ms-expand { /* select要素のデザインを無効にする（IE用） */
  display: none;
}

.wpcf7 form .wpcf7-response-output {
  color: #3E3A39;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  border: none;
  margin: 0;
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .wpcf7 form .wpcf7-response-output {
    font-size: 7px;
    font-size: 3.7333333333vw;
    padding: 0;
  }
}

/*////////////////////////// ラジオボタン //////////////////////////*/
.wpcf7-form .wpcf7-radio .wpcf7-list-item {
  position: relative;
  margin-right: 30px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .wpcf7-form .wpcf7-radio .wpcf7-list-item {
    margin-right: 8vw;
  }
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item:first-of-type {
  margin-left: 0;
}

.wpcf7-radio .wpcf7-list-item-label {
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .wpcf7-radio .wpcf7-list-item-label {
    font-size: 15px;
    font-size: 8vw;
    line-height: 1.5;
  }
}
.wpcf7-radio input[type=radio] {
  position: absolute;
  opacity: 0;
}
.wpcf7-radio input[type=radio] + .wpcf7-list-item-label:before {
  content: "";
  background: white;
  border-radius: 50%;
  border: 1px solid black;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 10px;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
}
.wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label:before {
  background-color: #3197EE;
  box-shadow: inset 0 0 0 2px white;
}
.wpcf7-radio input[type=radio]:focus + .wpcf7-list-item-label:before {
  outline: none;
  border-color: #3197EE;
}
.wpcf7-radio input[type=radio] + .wpcf7-list-item-label:empty:before {
  margin-right: 0;
}
.wpcf7-radio input[type=radio] {
  position: absolute;
  opacity: 0;
}
.wpcf7-radio input[type=radio] + .wpcf7-list-item-label:before {
  content: "";
  background: white;
  border-radius: 50%;
  border: 1px solid black;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 10px;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
}
.wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label:before {
  background-color: #3197EE;
  box-shadow: inset 0 0 0 2px white;
}
.wpcf7-radio input[type=radio]:focus + .wpcf7-list-item-label:before {
  outline: none;
  border-color: #3197EE;
}
.wpcf7-radio input[type=radio] + .wpcf7-list-item-label:empty:before {
  margin-right: 0;
}

/*///////////////// チェックボックス //////////////////////////*/
.wpcf7-form .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: normal;
  flex-direction: row;
  -moz-column-gap: 80px;
       column-gap: 80px;
}
@media screen and (max-width: 1440px) {
  .wpcf7-form .wpcf7-checkbox {
    -moz-column-gap: 5.5555555556vw;
         column-gap: 5.5555555556vw;
  }
}
@media screen and (max-width: 767px) {
  .wpcf7-form .wpcf7-checkbox {
    -moz-column-gap: 8.5333333333vw;
         column-gap: 8.5333333333vw;
  }
}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
  display: block;
  margin-left: 0;
}
.wpcf7-form input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  position: relative;
  cursor: pointer;
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:before {
  content: "";
  display: inline-block;
  background: white;
  width: 20px;
  height: 20px;
  border: 1px solid #3E3A39;
  margin-right: 10px;
  cursor: pointer;
  transition: all 250ms ease;
}
@media screen and (max-width: 767px) {
  .wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:before {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin-right: 2.6666666667vw;
    border-width: 0.2666666667vw;
  }
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label::after {
  content: "";
  aspect-ratio: 1;
  width: 14px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><polygon points="440.469,73.413 218.357,295.525 71.531,148.709 0,220.229 146.826,367.055 218.357,438.587 289.878,367.055 512,144.945" fill="%23ffffff"/></svg>') no-repeat center/contain;
  display: block;
  position: absolute;
  top: 50%;
  left: 3px;
  transform: translateY(-50%);
  opacity: 0;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .wpcf7-form input[type=checkbox] + .wpcf7-list-item-label::after {
    width: 3.2vw;
    left: 1.0666666667vw;
  }
}
.wpcf7-form input[type=checkbox]:checked + .wpcf7-list-item-label:before {
  outline: none;
  background: #3E3A39;
}
.wpcf7-form input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  opacity: 1;
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:empty:before {
  margin-right: 0;
}

/*////////////////////////// ファイル添付 //////////////////////////*/
.wpcf7-form .form__row.file input[type=file] {
  display: none;
}
.wpcf7-form .form__row.file .form__col {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: row;
}
.wpcf7-form .form__row.file .form__col .file_name {
  display: inline-block;
  word-break: break-all;
  line-height: 1.2;
  max-width: 40%;
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .wpcf7-form .form__row.file .form__col .file_name {
    max-width: 60%;
    margin-top: 5.3333333333vw;
    margin-left: 0;
  }
}
.wpcf7-form .form__row.file a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.wpcf7-form .file_label {
  font-size: 16px;
  font-size: 1rem;
  display: block;
  width: 172px;
  padding: 2px 7px;
  min-height: auto;
  border-radius: 10px;
  outline: none;
  text-align: center;
  background: #ddd;
  cursor: pointer;
}
.wpcf7-form .file_label:-moz-placeholder {
  color: #aaa;
}
.wpcf7-form .file_label:placeholder-shown {
  color: #aaa;
}
.wpcf7-form .file_label::-webkit-input-placeholder {
  color: #aaa;
}
.wpcf7-form .file_label:-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
.wpcf7-form .file_label::-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
.wpcf7-form .file_label:-ms-input-placeholder {
  color: #aaa;
}
@media screen and (max-width: 767px) {
  .wpcf7-form .file_label {
    font-size: 14px;
    font-size: 7.4666666667vw;
    padding: 0 3.7333333333vw;
    border-radius: 4vw;
  }
}

.page-contact.confirm .file_label {
  display: none;
}

.wpcf7-acceptance .wpcf7-list-item {
  margin: 0 auto;
}

/*////////////////////////// ボタン //////////////////////////*/
input[type=button], input[type=reset], input[type=submit] {
  cursor: pointer;
}

/*////////////////////////// エラー //////////////////////////*/
.wpcf7-not-valid-tip {
  font-size: 16px;
  line-height: 1.6;
  cursor: pointer;
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .wpcf7-not-valid-tip {
    font-size: 7px;
    font-size: 3.7333333333vw;
  }
}

/*////////////////////////// 入力画面・確認画面 //////////////////////////*/
.wpcf7-spinner {
  display: none;
}

/* module > btn
============================================================================ */
.c-btn {
  color: white;
  background: #03102D;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  height: 64px;
  padding: 16.5px 18.5px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  border-radius: 2px;
  transition: 0.6s;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-btn {
    font-size: 8px;
    font-size: 4.2666666667vw;
    height: 17.0666666667vw;
    padding: 4.4vw 4.9333333333vw;
    border-radius: 0.5333333333vw;
  }
}
.c-btn.is-medium {
  font-size: 20px;
  height: 72px;
  padding: 16px 24px;
}
@media screen and (max-width: 767px) {
  .c-btn.is-medium {
    font-size: 10px;
    font-size: 5.3333333333vw;
    height: 17.0666666667vw;
    padding: 3.2vw 6.4vw;
  }
}
.c-btn.is-medium:hover .c-btn__icn-arw-grid {
  transform: translate(36px, 0);
}
@media screen and (max-width: 1024px) {
  .c-btn.is-medium:hover .c-btn__icn-arw-grid {
    transform: translate(0, 0);
  }
}
.c-btn.is-medium .c-btn__icn {
  width: 40px;
}
@media screen and (max-width: 767px) {
  .c-btn.is-medium .c-btn__icn {
    width: 10.6666666667vw;
  }
}
.c-btn.is-medium .c-btn__icn-arw {
  width: 14px;
}
@media screen and (max-width: 767px) {
  .c-btn.is-medium .c-btn__icn-arw {
    width: 3.7333333333vw;
  }
}
.c-btn.is-medium .c-btn__icn-arw-item {
  min-width: 14px;
  height: 13px;
}
@media screen and (max-width: 767px) {
  .c-btn.is-medium .c-btn__icn-arw-item {
    min-width: 3.7333333333vw;
    height: 3.4666666667vw;
  }
}
.c-btn.is-white {
  color: #03102D;
  background: white;
}
.c-btn.is-white:hover {
  color: white;
  background: #03102D;
}
@media screen and (max-width: 1024px) {
  .c-btn.is-white:hover {
    color: #03102D;
    background: white;
  }
}
.c-btn.is-white:hover .c-btn__icn {
  background: white;
}
@media screen and (max-width: 1024px) {
  .c-btn.is-white:hover .c-btn__icn {
    background: linear-gradient(180deg, #03102D 0%, #243B55 100%);
  }
}
.c-btn.is-white:hover .c-btn__icn-arw-item svg path {
  fill: #03102D;
}
@media screen and (max-width: 1024px) {
  .c-btn.is-white:hover .c-btn__icn-arw-item svg path {
    fill: white;
  }
}
.c-btn.is-white .c-btn__icn {
  background: linear-gradient(180deg, #03102D 0%, #243B55 100%);
}
.c-btn:hover {
  color: #03102D;
  background: white;
  opacity: 1;
}
@media screen and (max-width: 1024px) {
  .c-btn:hover {
    color: white;
    background: #03102D;
  }
}
.c-btn:hover .c-btn__icn {
  background: linear-gradient(180deg, #03102D 0%, #243B55 100%);
}
@media screen and (max-width: 1024px) {
  .c-btn:hover .c-btn__icn {
    background: rgba(255, 255, 255, 0.2);
  }
}
.c-btn:hover .c-btn__icn-arw-grid {
  transform: translate(33px, 0);
}
@media screen and (max-width: 1024px) {
  .c-btn:hover .c-btn__icn-arw-grid {
    transform: translate(0, 0);
  }
}

.c-btn__icn {
  background: rgba(255, 255, 255, 0.2);
  line-height: 1;
  aspect-ratio: 1;
  width: 31px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  border-radius: 3px;
  position: relative;
  transition: 0.8s;
}
@media screen and (max-width: 767px) {
  .c-btn__icn {
    width: 8.5333333333vw;
    border-radius: 0.8vw;
  }
}

.c-btn__icn-arw {
  width: 11px;
  display: block;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-btn__icn-arw {
    width: 2.9333333333vw;
  }
}

.c-btn__icn-arw-grid {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  gap: 22px;
  transition: 0.8s;
}
@media screen and (max-width: 767px) {
  .c-btn__icn-arw-grid {
    gap: 5.8666666667vw;
  }
}

.c-btn__icn-arw-item {
  min-width: 11px;
  height: 10px;
  display: block;
}
@media screen and (max-width: 767px) {
  .c-btn__icn-arw-item {
    min-width: 2.9333333333vw;
  }
}
.c-btn__icn-arw-item svg {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.6s;
}
.c-btn__icn-arw-item svg path {
  fill: white;
}

/* module > page-heading
============================================================================ */
.c-page-heading {
  margin-bottom: 96px;
}
@media screen and (max-width: 767px) {
  .c-page-heading {
    margin-bottom: 21.3333333333vw;
  }
}

.c-page-heading__ttl {
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: 48px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-page-heading__ttl {
    font-size: 18px;
    font-size: 9.6vw;
    margin-bottom: 10.6666666667vw;
  }
}

.c-page-heading__txt {
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-page-heading__txt {
    font-size: 7px;
    font-size: 3.7333333333vw;
  }
}

.tp-heading {
  max-width: 1280px;
  width: 100%;
  padding: 0 109px;
  margin: 0 auto 80px;
}
@media screen and (max-width: 1024px) {
  .tp-heading {
    padding: 0 89px;
  }
}
@media screen and (max-width: 767px) {
  .tp-heading {
    max-width: 87.2vw;
    padding: 0;
    margin-bottom: 21.3333333333vw;
  }
}

.tp-heading__ttl {
  margin-bottom: 59px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: column;
  row-gap: 10px;
}
@media screen and (max-width: 767px) {
  .tp-heading__ttl {
    margin-bottom: 9.0666666667vw;
    row-gap: 2.6666666667vw;
  }
}

.tp-heading__ttl-jp {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .tp-heading__ttl-jp {
    font-size: 7px;
    font-size: 3.7333333333vw;
  }
}

.tp-heading__ttl-en {
  font-size: 56px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .tp-heading__ttl-en {
    font-size: 20px;
    font-size: 10.6666666667vw;
  }
}
.tp-heading__ttl-en:before {
  content: "";
  background: #3E3A39;
  width: 160px;
  height: 1px;
  position: absolute;
  top: 50%;
  right: -57px;
  transform: translateY(-50%) rotate(135deg);
}
@media screen and (max-width: 767px) {
  .tp-heading__ttl-en:before {
    width: 26.6666666667vw;
    right: -11.2vw;
    transform: translateY(-850%) rotate(135deg);
  }
}

.tp-heading__lead {
  font-size: 16px;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tp-heading__lead {
    font-size: 8px;
    font-size: 4.2666666667vw;
  }
}

/*  module > breadcrumbs
============================================================================================================ */
/* module > pagination （WP-Pagenavi）
============================================================================ */
/* module > top
============================================================================ */
.tp-hero {
  width: 100%;
  min-height: 880px;
  height: 100vh;
  position: relative;
  -webkit-mask-image: url(./img/top/entry/img_mask.png);
  mask-image: url(./img/top/entry/img_mask.png);
  -webkit-mask-position: 40% 100%;
  mask-position: 40% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .tp-hero {
    background: #03102D;
    min-height: auto;
    height: auto;
  }
}
.tp-hero.anim-musk {
  animation: 3s cubic-bezier(0.37, 0, 0.63, 1) alternate forwards maskShow-hero;
}
@keyframes maskShow-hero {
  0% {
    -webkit-mask-position: 40% 100%;
    mask-position: 40% 100%;
  }
  100% {
    -webkit-mask-position: 40% 0;
    mask-position: 40% 0;
  }
}

.tp-hero__visual {
  width: 100%;
  height: 100%;
  background-image: url(./img/top/hero/bg-pc.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .tp-hero__visual {
    height: 154.6666666667vw;
    background-image: url(./img/top/hero/bg-sp.jpg);
  }
}
.tp-hero__visual:before {
  content: "";
  background: rgba(255, 255, 255, 0.05);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.tp-hero__visual-label {
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 5px;
  color: white;
  background: rgba(0, 0, 0, 0.8);
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .tp-hero__visual-label {
    font-size: 5px;
    font-size: 2.6666666667vw;
    padding: 1.3333333333vw;
  }
}

.tp-hero__message {
  color: white;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -0.05em;
  text-align: right;
  margin-bottom: 36px;
  position: relative;
  right: 6px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .tp-hero__message {
    font-size: 11px;
    font-size: 5.8666666667vw;
    line-height: 1.5;
    letter-spacing: 0.09em;
    writing-mode: vertical-rl;
    text-orientation: upright;
    margin: 0;
    position: absolute;
    top: 24.2666666667vw;
    right: 5.0666666667vw;
  }
}

.tp-hero__message-char {
  display: inline-block;
  will-change: transform, opacity;
}
@media screen and (max-width: 767px) {
  .tp-hero__message-char {
    will-change: auto;
  }
}

.tp-hero__cont {
  padding-right: 45px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-38%);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .tp-hero__cont {
    background: #03102D;
    padding: 9.2vw 10.6666666667vw;
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    transform: translateY(0);
  }
}

.tp-hero__heading {
  color: white;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-end;
  align-content: normal;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .tp-hero__heading {
    color: white;
    margin-bottom: 3.7333333333vw;
    align-items: center;
  }
}

.tp-hero__heading-ttl {
  font-size: 78px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: 15.5px;
}
@media screen and (max-width: 767px) {
  .tp-hero__heading-ttl {
    font-size: 25px;
    font-size: 13.3333333333vw;
    margin-bottom: 3.2vw;
  }
}

.tp-hero__heading-txt {
  font-size: 19.5px;
  line-height: 1;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 767px) {
  .tp-hero__heading-txt {
    font-size: 7px;
    font-size: 3.7333333333vw;
  }
}

.tp-hero__heading-txt-sub {
  font-size: 14px;
  text-align: right;
  letter-spacing: 0.3em;
  margin-top: 8px;
  display: block;
}
@media screen and (max-width: 767px) {
  .tp-hero__heading-txt-sub {
    font-size: 5px;
    font-size: 2.6666666667vw;
    text-align: center;
    margin-top: 2.1333333333vw;
    transform: translateX(0.3em);
  }
}

.tp-hero__label {
  background: white;
  font-size: 38.5px;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 3px 12px 6px;
  margin-right: 5px;
}
@media screen and (max-width: 767px) {
  .tp-hero__label {
    color: #03102D;
    background: white;
    font-size: 15px;
    font-size: 8vw;
    padding: 1.3333333333vw 5.0666666667vw 2.1333333333vw;
    margin-right: auto;
  }
}

.tp-hero__label-s {
  font-size: 27.5px;
}
@media screen and (max-width: 767px) {
  .tp-hero__label-s {
    font-size: 10.5px;
    font-size: 5.6vw;
  }
}

.tp-hero__label-m {
  font-size: 33px;
  letter-spacing: 0.09em;
}
@media screen and (max-width: 767px) {
  .tp-hero__label-m {
    font-size: 12.75px;
    font-size: 6.8vw;
  }
}

.tp-connect {
  position: relative;
  z-index: 3;
  overflow: hidden;
}
.tp-connect--first .tp-connect__heading {
  opacity: 0;
  filter: blur(30px);
  transform: scale(1.05);
  transition: opacity 1.5s ease-out, filter 1s ease-out, transform 1.8s ease-in-out;
}
@media screen and (max-width: 767px) {
  .tp-connect--first .tp-connect__heading {
    filter: blur(8vw);
  }
}
.tp-connect--first .tp-connect__heading.anim-blur {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}
.tp-connect--first .tp-connect__txt-item {
  opacity: 0;
  transform: translateY(20%);
  transition: opacity 0.8s ease-in, transform 0.8s ease-out, filter 1s cubic-bezier(0.19, 1, 0.22, 1);
}
.tp-connect--first .tp-connect__txt-item.anim-slideup {
  opacity: 1;
  transform: translateY(0);
}
.tp-connect--first .tp-connect__bg {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .tp-connect--first .tp-connect__bg {
    will-change: auto;
    transform: none;
  }
}
.tp-connect--first .tp-connect__bg-video {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.tp-connect--second {
  width: 100%;
  background-image: url(./img/top/connect02/bg-pc.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .tp-connect--second {
    background-image: url(./img/top/connect02/bg-sp.jpg);
  }
}
.tp-connect--second .tp-connect__inner {
  min-height: auto;
  padding: 159px 80px;
}
@media screen and (max-width: 767px) {
  .tp-connect--second .tp-connect__inner {
    padding: 26.6666666667vw 6.4vw;
  }
}
.tp-connect--second .tp-connect__inner:before {
  background: rgba(255, 255, 255, 0.1);
}
.tp-connect--second .tp-connect__cont {
  color: #3E3A39;
  transition: opacity 0.8s cubic-bezier(0.4, 0.4, 0, 1);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .tp-connect--second .tp-connect__cont {
    text-align: center;
  }
}
.tp-connect--second .tp-connect__cont.anim-fadein {
  opacity: 1;
}
.tp-connect--second .tp-connect__bg {
  display: none;
}

.tp-connect__inner {
  min-height: 100vh;
  padding: 179px 80px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .tp-connect__inner {
    padding: 37.8666666667vw 6.4vw;
  }
}

.tp-connect__cont {
  color: white;
  position: relative;
  z-index: 2;
}

.tp-connect__heading {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .tp-connect__heading {
    margin-bottom: 4.5333333333vw;
  }
}

.tp-connect__heading-ttl {
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .tp-connect__heading-ttl {
    font-size: 10px;
    font-size: 5.3333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}

.tp-connect__heading-txt {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .tp-connect__heading-txt {
    font-size: 12px;
    font-size: 6.4vw;
    line-height: 2;
  }
}

.tp-connect__txt {
  font-size: 18px;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .tp-connect__txt {
    font-size: 7px;
    font-size: 3.7333333333vw;
    font-weight: 400;
    line-height: 2.4;
  }
}

.tp-connect__txt-item {
  display: block;
}

.tp-connect__relax {
  width: 100%;
  position: relative;
  z-index: 3;
}

.tp-connect__relax-cap {
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 4px;
  color: white;
  background: rgba(0, 0, 0, 0.8);
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .tp-connect__relax-cap {
    font-size: 5px;
    font-size: 2.6666666667vw;
    padding: 1.0666666667vw;
  }
}

.tp-connect__relax-inner {
  height: 1057px;
  padding: 160px 80px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .tp-connect__relax-inner {
    height: 289.3333333333vw;
    padding: 32vw 6.4vw;
    align-items: flex-start;
  }
}

.tp-connect__relax-message {
  color: white;
  font-size: 20px;
  font-weight: 500;
  line-height: 2.4;
  text-align: center;
  opacity: 0;
  filter: blur(30px);
  transform: scale(1.05);
  transition: opacity 1.5s ease-out, filter 1s ease-out, transform 1.8s ease-in-out;
}
@media screen and (max-width: 767px) {
  .tp-connect__relax-message {
    font-size: 8px;
    font-size: 4.2666666667vw;
    padding-top: 52.5333333333vw;
    filter: blur(8vw);
  }
}
.tp-connect__relax-message.anim-blur {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

.tp-connect__relax-photos {
  max-width: 1280px;
  width: calc(100% - 160px);
  height: 737px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .tp-connect__relax-photos {
    width: calc(100% - 12.8vw);
    height: 225.3333333333vw;
  }
}

.tp-connect__relax-photo {
  position: absolute;
}
.tp-connect__relax-photo.anim-musk .tp-connect__relax-photo-inner {
  -webkit-mask-position: center 0;
  mask-position: center 0;
  filter: brightness(1);
  opacity: 1;
}
.tp-connect__relax-photo--left {
  aspect-ratio: 299/449;
  width: 299px;
  top: 63px;
  left: 0;
}
@media screen and (max-width: 1440px) {
  .tp-connect__relax-photo--left {
    width: 20.7638888889vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-connect__relax-photo--left {
    width: 53.3333333333vw;
    top: 89.8666666667vw;
  }
}
.tp-connect__relax-photo--rightTop {
  aspect-ratio: 408/272;
  width: 408px;
  top: 0;
  right: 0;
}
@media screen and (max-width: 1440px) {
  .tp-connect__relax-photo--rightTop {
    width: 28.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-connect__relax-photo--rightTop {
    width: 53.3333333333vw;
  }
}
.tp-connect__relax-photo--rightBottom {
  aspect-ratio: 327/218;
  width: 327px;
  bottom: 0;
  right: 218px;
}
@media screen and (max-width: 1440px) {
  .tp-connect__relax-photo--rightBottom {
    width: 22.7083333333vw;
    right: 15.1388888889vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-connect__relax-photo--rightBottom {
    width: 64vw;
    right: 4.2666666667vw;
  }
}

.tp-connect__relax-photo-inner {
  filter: brightness(1) saturate(0);
  -webkit-mask-image: linear-gradient(-25deg, transparent, transparent 41.6%, rgba(0, 0, 0, 0.02) 43.3%, rgba(0, 0, 0, 0.08) 45%, rgba(0, 0, 0, 0.18) 46.6%, rgba(0, 0, 0, 0.32) 48.3%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.68) 51.6%, rgba(0, 0, 0, 0.82) 53.3%, rgba(0, 0, 0, 0.92) 55%, rgba(0, 0, 0, 0.98) 56.6%, #000 58.3%, #000);
  mask-image: linear-gradient(-25deg, transparent, transparent 41.6%, rgba(0, 0, 0, 0.02) 43.3%, rgba(0, 0, 0, 0.08) 45%, rgba(0, 0, 0, 0.18) 46.6%, rgba(0, 0, 0, 0.32) 48.3%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.68) 51.6%, rgba(0, 0, 0, 0.82) 53.3%, rgba(0, 0, 0, 0.92) 55%, rgba(0, 0, 0, 0.98) 56.6%, #000 58.3%, #000);
  -webkit-mask-size: 100% max(300%, 100vh);
  mask-size: 100% max(300%, 100vh);
  -webkit-mask-position: center 100%;
  mask-position: center 100%;
  -webkit-mask-repeat: none;
  transform: translateZ(0);
  opacity: 0;
  transition: mask-position 1.4s linear, opacity 1s 0.2s, filter 1s 0.4s, -webkit-mask-position 1.4s linear;
}

.tp-connect__relax-photo-cap {
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 5px;
  color: white;
  background: rgba(0, 0, 0, 0.8);
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .tp-connect__relax-photo-cap {
    font-size: 5px;
    font-size: 2.6666666667vw;
    padding: 1.3333333333vw;
  }
}

.tp-entry {
  width: 100%;
  padding: 200px 0 56px;
  background-image: url(./img/top/entry/bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-mask-image: url(./img/top/entry/img_mask.png);
  mask-image: url(./img/top/entry/img_mask.png);
  -webkit-mask-position: 0 100%;
  mask-position: 0 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .tp-entry {
    padding: 26.6666666667vw 0 17.0666666667vw;
  }
}
.tp-entry.anim-musk {
  animation: 3s cubic-bezier(0.37, 0, 0.63, 1) alternate forwards maskShow-entry;
}
@keyframes maskShow-entry {
  0% {
    -webkit-mask-position: 0 100%;
    mask-position: 0 100%;
  }
  100% {
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
  }
}
.tp-entry:before {
  content: "";
  background: rgba(7, 25, 66, 0.85);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.tp-entry__inner {
  color: white;
  margin-bottom: 93.5px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .tp-entry__inner {
    margin-bottom: 17.0666666667vw;
  }
}

.tp-entry__content {
  max-width: 664px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .tp-entry__content {
    max-width: 87.2vw;
  }
}

.tp-entry__brand {
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: column;
}

.tp-entry__brand-heading {
  font-size: 70px;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .tp-entry__brand-heading {
    font-size: 25px;
    font-size: 13.3333333333vw;
    margin-bottom: 3.2vw;
  }
}

.tp-entry__brand-txt {
  font-size: 19.5px;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 767px) {
  .tp-entry__brand-txt {
    font-size: 7px;
    font-size: 3.7333333333vw;
  }
}

.tp-entry__brand-txt-sub {
  font-size: 14px;
  letter-spacing: 0.3em;
  text-align: center;
  margin-top: 8px;
  display: block;
}
@media screen and (max-width: 767px) {
  .tp-entry__brand-txt-sub {
    font-size: 5px;
    font-size: 2.6666666667vw;
    margin-top: 1.6vw;
  }
}

.tp-entry__brand-block {
  font-size: 48px;
  letter-spacing: 0.05em;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .tp-entry__brand-block {
    font-size: 14px;
    font-size: 7.4666666667vw;
    margin-top: 4.5333333333vw;
  }
}

.tp-entry__headline {
  font-size: 64px;
  font-weight: 500;
  line-height: 1;
  background: linear-gradient(88.85deg, #EDC357 -10.35%, #CE9009 14.77%, #F6CA5D 39.9%, #CE9009 65.29%, #C27E03 92.79%, #853200 127.17%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .tp-entry__headline {
    font-size: 20px;
    font-size: 10.6666666667vw;
    margin-top: 6.4vw;
  }
}

.tp-entry__btn {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  justify-content: center;
  margin-top: 72px;
}
@media screen and (max-width: 767px) {
  .tp-entry__btn {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 6.4vw;
    margin-top: 19.2vw;
  }
}

.tp-entry__marquee {
  width: 100%;
  position: relative;
  z-index: 2;
  overflow: hidden;
}

.tp-entry__marqueeTrack {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  will-change: transform;
}

.tp-entry__marqueeItem {
  color: white;
  font-size: 100px;
  line-height: 1;
  padding: 0 40px;
  white-space: nowrap;
  flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .tp-entry__marqueeItem {
    font-size: 36px;
    font-size: 19.2vw;
    padding: 0 10.6666666667vw;
  }
}

.tp-feature {
  position: relative;
  overflow: hidden;
}

.tp-feature__inner {
  position: relative;
  padding: 120px 0;
}
@media screen and (max-width: 767px) {
  .tp-feature__inner {
    padding: 26.6666666667vw 0;
  }
}

.tp-feature__bg {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
}

.tp-feature__bgImg {
  background-image: url(./img/top/feature/bg.jpg);
  background-size: cover;
  background-position: top center;
  width: 100%;
  height: 100vh;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .tp-feature__bgImg {
    background-image: url(./img/top/feature/bg-sp.jpg);
  }
}
.tp-feature__bgImg:before {
  content: "";
  background: rgba(255, 255, 255, 0.5);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .tp-feature__bgImg:before {
    display: none;
  }
}

.tp-feature__intro {
  position: relative;
  z-index: 2;
}
.tp-feature__wrapper {
  position: relative;
  z-index: 2;
}

.tp-feature__list {
  max-width: 1280px;
  width: 100%;
  padding: 0 109px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: normal;
  flex-direction: column;
  row-gap: 120px;
}
@media screen and (max-width: 1024px) {
  .tp-feature__list {
    padding: 0 89px;
  }
}
@media screen and (max-width: 767px) {
  .tp-feature__list {
    max-width: 87.2vw;
    padding: 0;
    row-gap: 17.0666666667vw;
  }
}

.tp-feature__item {
  display: flex;
  align-items: center;
  -moz-column-gap: 39px;
       column-gap: 39px;
}
@media screen and (max-width: 1024px) {
  .tp-feature__item {
    align-items: stretch;
    -moz-column-gap: 3.80859375vw;
         column-gap: 3.80859375vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-feature__item {
    flex-direction: column;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 6.4vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-feature__item:nth-of-type(odd) .tp-feature__cont {
    order: 2;
  }
}
@media screen and (max-width: 767px) {
  .tp-feature__item:nth-of-type(odd) .tp-feature__media {
    order: 1;
  }
}
.tp-feature__cont {
  min-width: 396px;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .tp-feature__cont {
    min-width: 38.671875vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-feature__cont {
    min-width: auto;
    width: 100%;
  }
}

.tp-feature__tag {
  color: white;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  width: 135px;
  padding: 6px 0 8px;
  margin-bottom: 16px;
  background: linear-gradient(88.44deg, #6D4E34 -2.72%, #806145 26.81%, #9A7F61 56.33%, #B49C7A 85.85%, #D0B995 115.38%);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: normal;
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .tp-feature__tag {
    font-size: 9px;
    font-size: 4.8vw;
    width: 28.5333333333vw;
    padding: 1.6vw 0 2.1333333333vw;
    margin-bottom: 2vw;
  }
}

.tp-feature__title {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .tp-feature__title {
    font-size: 13.5px;
    font-size: 7.2vw;
    margin-bottom: 2.9333333333vw;
  }
}

.tp-feature__desc {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .tp-feature__desc {
    font-size: 8px;
    font-size: 4.2666666667vw;
  }
}

.tp-feature__media {
  aspect-ratio: 626/417;
  position: relative;
}
@media screen and (max-width: 767px) {
  .tp-feature__media {
    aspect-ratio: 626/417;
  }
}
.tp-feature__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.tp-feature__cap {
  color: white;
  background: rgba(0, 0, 0, 0.65);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 5px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .tp-feature__cap {
    font-size: 5px;
    font-size: 2.6666666667vw;
    padding: 1.3333333333vw;
  }
}

.tp-designed {
  background-image: url(./img/top/designed/bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  overflow: hidden;
}
.tp-designed:before {
  content: "";
  background: rgba(255, 255, 255, 0.85);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.tp-designed__inner {
  max-width: 1440px;
  width: 100%;
  padding: 120px 80px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1440px) {
  .tp-designed__inner {
    padding: 120px 5.5555555556vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-designed__inner {
    padding: 26.6666666667vw 6.4vw;
  }
}

.tp-designed__heading {
  display: grid;
  grid-template-columns: auto 160px;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 24px;
       column-gap: 24px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .tp-designed__heading {
    width: 53.3333333333vw;
    margin: 0 auto 6.4vw;
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 5.3333333333vw;
  }
}

.tp-designed__heading-ttl {
  font-size: 40px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .tp-designed__heading-ttl {
    font-size: 10px;
    font-size: 5.3333333333vw;
    text-align: center;
  }
}

.tp-designed__heading-logo {
  line-height: 1;
}
.tp-designed__heading-logo svg {
  width: 100%;
  height: 100%;
  display: block;
}

.tp-designed__lead {
  font-size: 16px;
  line-height: 2;
  text-align: center;
  width: 100%;
  margin-bottom: 52px;
}
@media screen and (max-width: 767px) {
  .tp-designed__lead {
    font-size: 8px;
    font-size: 4.2666666667vw;
    line-height: 2.4;
    max-width: none;
    margin: 0 auto 17.0666666667vw;
  }
}

.tp-designed__gallery {
  height: 1384px;
  position: relative;
}
@media screen and (max-width: 1440px) {
  .tp-designed__gallery {
    height: 96.1111111111vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-designed__gallery {
    height: 239.4666666667vw;
  }
}

.tp-designed__img {
  background: #7BCCCF;
  position: absolute;
}
.tp-designed__img--01 {
  aspect-ratio: 626/417;
  width: 626px;
  top: 0;
  left: 109px;
}
@media screen and (max-width: 1440px) {
  .tp-designed__img--01 {
    width: 43.4722222222vw;
    left: 7.5694444444vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-designed__img--01 {
    width: 53.3333333333vw;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .tp-designed__img--01 .tp-designed__img-cap {
    left: 0;
    right: auto;
  }
}
.tp-designed__img--02 {
  aspect-ratio: 436/564;
  width: 436px;
  padding-left: 28px;
  padding-bottom: 20px;
  top: 197px;
  right: 0;
}
@media screen and (max-width: 1440px) {
  .tp-designed__img--02 {
    width: 30.2777777778vw;
    padding-left: 1.9444444444vw;
    padding-bottom: 1.3888888889vw;
    top: 13.6805555556vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-designed__img--02 {
    width: 56.8vw;
    padding-left: 3.4666666667vw;
    padding-bottom: 2.6666666667vw;
    top: 25.6vw;
    right: -0.2666666667vw;
  }
}
.tp-designed__img--03 {
  aspect-ratio: 545/364;
  width: 545px;
  padding-left: 28px;
  padding-bottom: 20px;
  top: 480px;
  left: 190px;
}
@media screen and (max-width: 1440px) {
  .tp-designed__img--03 {
    width: 37.8472222222vw;
    padding-left: 1.9444444444vw;
    padding-bottom: 1.3888888889vw;
    top: 33.3333333333vw;
    left: 13.1944444444vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-designed__img--03 {
    width: 56vw;
    padding-left: 2.6666666667vw;
    padding-bottom: 2.1333333333vw;
    top: 105.3333333333vw;
    left: 14.4vw;
  }
}
.tp-designed__img--04 {
  aspect-ratio: 327/419;
  width: 327px;
  padding-right: 28px;
  padding-bottom: 20px;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 1440px) {
  .tp-designed__img--04 {
    width: 22.7083333333vw;
    padding-right: 1.9444444444vw;
    padding-bottom: 1.3888888889vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-designed__img--04 {
    width: 58.4vw;
    padding-right: 5.0666666667vw;
    padding-bottom: 3.4666666667vw;
    left: 0;
    bottom: 11.2vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-designed__img--04 .tp-designed__img-cap {
    left: 0;
    right: auto;
  }
}
.tp-designed__img--05 {
  aspect-ratio: 735/490;
  width: 735px;
  bottom: 1px;
  right: 109px;
}
@media screen and (max-width: 1440px) {
  .tp-designed__img--05 {
    width: 51.0416666667vw;
    bottom: 0.0694444444vw;
    right: 7.5694444444vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-designed__img--05 {
    width: 53.3333333333vw;
    bottom: 0;
    right: 0;
  }
}

.tp-designed__img-item {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.tp-designed__img-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.tp-designed__img-cap {
  color: white;
  background: rgba(0, 0, 0, 0.65);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 5px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .tp-designed__img-cap {
    font-size: 5px;
    font-size: 2.6666666667vw;
    line-height: 1.2;
    padding: 1.0666666667vw;
  }
}

.tp-equipment {
  padding: 120px 0 64px;
  background: url(./img/top/equipment/bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .tp-equipment {
    padding: 21.3333333333vw 0;
    background: url(./img/top/equipment/bg-sp.jpg);
    background-size: auto;
    background-repeat: repeat-y;
  }
}
.tp-equipment:before {
  content: "";
  background: rgba(224, 218, 212, 0.35);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.tp-equipment__inner {
  max-width: 1280px;
  width: 100%;
  padding: 0 109px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .tp-equipment__inner {
    padding: 0 89px;
  }
}
@media screen and (max-width: 767px) {
  .tp-equipment__inner {
    max-width: 87.2vw;
    padding: 0;
  }
}

.tp-equipment__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-content: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
  row-gap: 64px;
}
@media screen and (max-width: 767px) {
  .tp-equipment__grid {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 6.4vw;
  }
}

.tp-equipment__item {
  opacity: 0;
  transform: translateY(10%);
  transition-duration: 0.7s;
}
.tp-equipment__item.anim-fadein {
  opacity: 1;
  transform: translateY(0);
}

.tp-equipment__img {
  aspect-ratio: 327/184;
  width: 100%;
  position: relative;
}

.tp-equipment__imgCap {
  color: white;
  background: rgba(0, 0, 0, 0.65);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 5px 10px;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .tp-equipment__imgCap {
    font-size: 5px;
    font-size: 2.6666666667vw;
    padding: 1.3333333333vw 2.6666666667vw;
  }
}

.tp-equipment__body {
  padding: 16px;
}
@media screen and (max-width: 767px) {
  .tp-equipment__body {
    padding: 4.2666666667vw;
  }
}

.tp-equipment__point {
  color: white;
  background: #03102D;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  padding: 4px 16px;
  margin-bottom: 16px;
  display: inline-block;
  border-radius: 40px;
}
@media screen and (max-width: 767px) {
  .tp-equipment__point {
    font-size: 7px;
    font-size: 3.7333333333vw;
    padding: 1.0666666667vw 4.2666666667vw;
    margin-bottom: 1.0666666667vw;
    border-radius: 10.6666666667vw;
  }
}

.tp-equipment__name {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .tp-equipment__name {
    font-size: 10px;
    font-size: 5.3333333333vw;
    margin-bottom: 2.1333333333vw;
  }
}

.tp-equipment__name-sub {
  font-size: 16px;
  display: block;
}
@media screen and (max-width: 767px) {
  .tp-equipment__name-sub {
    font-size: 8px;
    font-size: 4.2666666667vw;
  }
}

.tp-equipment__txt {
  font-size: 14px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .tp-equipment__txt {
    font-size: 7px;
    font-size: 3.7333333333vw;
    line-height: 1.6;
  }
}

.tp-scene {
  height: 800px;
  background: white;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .tp-scene {
    height: 920px;
  }
}
@media screen and (max-width: 767px) {
  .tp-scene {
    height: 192vw;
  }
}

.tp-scene__inner {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  position: relative;
}

.tp-scene__photos {
  max-width: 1440px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.tp-scene__photo {
  display: block;
  position: absolute;
  opacity: 0;
  filter: blur(8px);
  transform: scale(0.9);
  transition: opacity 0.6s ease-out, filter 0.4s ease-out, transform 0.8s ease-in-out;
}
.tp-scene__photo.anim-blur {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}
.tp-scene__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tp-scene__photo--topLeft {
  aspect-ratio: 408/204;
  width: 408px;
  top: 48px;
  left: 48px;
}
@media screen and (max-width: 1440px) {
  .tp-scene__photo--topLeft {
    width: 28.3333333333vw;
    left: 3.3333333333vw;
  }
}
@media screen and (max-width: 1024px) {
  .tp-scene__photo--topLeft {
    top: 4.6875vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-scene__photo--topLeft {
    width: 53.3333333333vw;
    top: 10.6666666667vw;
    left: 5.3333333333vw;
    z-index: 2;
  }
}
.tp-scene__photo--topCenter {
  aspect-ratio: 408/204;
  width: 408px;
  top: 24.5px;
  right: 352px;
  z-index: 2;
}
@media screen and (max-width: 1440px) {
  .tp-scene__photo--topCenter {
    width: 28.3333333333vw;
    right: 24.4444444444vw;
  }
}
@media screen and (max-width: 1024px) {
  .tp-scene__photo--topCenter {
    top: 2.392578125vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-scene__photo--topCenter {
    width: 53.3333333333vw;
    top: auto;
    right: 6.4vw;
    bottom: 53.3333333333vw;
    z-index: 1;
  }
}
.tp-scene__photo--topRight {
  aspect-ratio: 288/456;
  width: 288px;
  top: 89.5px;
  right: 120px;
}
@media screen and (max-width: 1440px) {
  .tp-scene__photo--topRight {
    width: 20vw;
    right: 8.3333333333vw;
  }
}
@media screen and (max-width: 1024px) {
  .tp-scene__photo--topRight {
    top: 8.740234375vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-scene__photo--topRight {
    width: 42.6666666667vw;
    top: auto;
    left: 6.4vw;
    right: auto;
    bottom: 0;
    z-index: 2;
  }
}
@media screen and (max-width: 767px) {
  .tp-scene__photo--topRight .tp-scene__photo-cap {
    left: 0;
    right: auto;
  }
}
.tp-scene__photo--leftTall {
  aspect-ratio: 288/456;
  width: 288px;
  bottom: 56px;
  left: 80px;
}
@media screen and (max-width: 1440px) {
  .tp-scene__photo--leftTall {
    width: 20vw;
    left: 5.5555555556vw;
  }
}
@media screen and (max-width: 1024px) {
  .tp-scene__photo--leftTall {
    bottom: 5.46875vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-scene__photo--leftTall {
    width: 42.6666666667vw;
    top: -9.6vw;
    left: auto;
    right: 6.4vw;
    bottom: auto;
    z-index: 1;
  }
}
.tp-scene__photo--bottomLeft {
  aspect-ratio: 408/204;
  width: 408px;
  bottom: 91.5px;
  left: 295px;
}
@media screen and (max-width: 1440px) {
  .tp-scene__photo--bottomLeft {
    width: 28.3333333333vw;
    left: 20.4861111111vw;
  }
}
@media screen and (max-width: 1024px) {
  .tp-scene__photo--bottomLeft {
    bottom: 8.935546875vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-scene__photo--bottomLeft {
    width: 53.3333333333vw;
    top: 43.7333333333vw;
    left: 10.6666666667vw;
    bottom: auto;
    z-index: 3;
  }
}
.tp-scene__photo--rightBottom {
  aspect-ratio: 408/204;
  width: 408px;
  right: 24px;
  bottom: 31.5px;
}
@media screen and (max-width: 1440px) {
  .tp-scene__photo--rightBottom {
    width: 28.3333333333vw;
    right: 1.6666666667vw;
  }
}
@media screen and (max-width: 1024px) {
  .tp-scene__photo--rightBottom {
    bottom: 3.076171875vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-scene__photo--rightBottom {
    width: 53.3333333333vw;
    right: 6.4vw;
    bottom: 5.3333333333vw;
    z-index: 3;
  }
}

.tp-scene__photo-cap {
  color: white;
  background: rgba(0, 0, 0, 0.65);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 5px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .tp-scene__photo-cap {
    font-size: 5px;
    font-size: 2.6666666667vw;
    padding: 1.3333333333vw;
  }
}

.tp-scene__message {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tp-scene__message {
    font-size: 10px;
    font-size: 5.3333333333vw;
  }
}

.tp-access {
  background: white;
  padding: 105px 0 95px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .tp-access {
    padding: 27.7333333333vw 0 28.2666666667vw;
  }
}

.tp-access__inner {
  max-width: 1280px;
  width: 100%;
  padding: 0 109px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .tp-access__inner {
    padding: 0 8.515625vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-access__inner {
    max-width: 87.2vw;
    padding: 0;
  }
}

.tp-access__grid {
  display: flex;
  flex-direction: column;
  row-gap: 80px;
}
@media screen and (max-width: 767px) {
  .tp-access__grid {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 17.0666666667vw;
  }
}

.tp-access__content .tp-heading {
  padding: 0;
  margin-bottom: 68.5px;
}
@media screen and (max-width: 767px) {
  .tp-access__content .tp-heading {
    margin-bottom: 5.0666666667vw;
  }
}
.tp-access__content .tp-heading__ttl-en {
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .tp-access__content .tp-heading__ttl-en {
    line-height: 1;
  }
}
.tp-access__content .tp-heading__ttl-en:before {
  right: -66px;
  transform: translateY(-970%) rotate(135deg);
}
@media screen and (max-width: 767px) {
  .tp-access__content .tp-heading__ttl-en:before {
    right: -12.8vw;
    transform: translateY(-850%) rotate(135deg);
  }
}

.tp-access__lead {
  font-size: 16px;
  line-height: 2.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tp-access__lead {
    font-size: 8px;
    font-size: 4.2666666667vw;
    line-height: 2;
  }
}

.tp-access__lead-small {
  font-size: 12px;
  font-weight: 400;
  line-height: 2.4;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .tp-access__lead-small {
    font-size: 6px;
    font-size: 3.2vw;
  }
}

.tp-access__actions {
  width: 218px;
  display: grid;
  row-gap: 16px;
}
@media screen and (max-width: 767px) {
  .tp-access__actions {
    width: 58.1333333333vw;
    row-gap: 4.2666666667vw;
  }
}

.tp-access__btn {
  color: white;
  background: #03102D;
  padding: 8px 24px;
  display: grid;
  grid-template-columns: auto 32px;
  align-items: center;
  border-radius: 2px;
  transition: 0.6s;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .tp-access__btn {
    padding: 3.2vw 6.4vw;
    grid-template-columns: auto 8.5333333333vw;
    border-radius: 0.5333333333vw;
  }
}
.tp-access__btn:hover {
  color: #03102D;
  background: white;
}
.tp-access__btn:hover .tp-access__btn-icn {
  background: #03102D;
}
.tp-access__btn:hover .tp-access__btn-icn:before, .tp-access__btn:hover .tp-access__btn-icn:after {
  background: white;
}

.tp-access__btn-label {
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .tp-access__btn-label {
    font-size: 8px;
    font-size: 4.2666666667vw;
  }
}

.tp-access__btn-icn {
  aspect-ratio: 1;
  background: white;
  display: block;
  position: relative;
  transition: 0.6s;
}
.tp-access__btn-icn:before, .tp-access__btn-icn:after {
  content: "";
  background: #03102D;
  width: 14.5px;
  height: 2px;
  border-radius: 8px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transition: 0.6s;
}
@media screen and (max-width: 767px) {
  .tp-access__btn-icn:before, .tp-access__btn-icn:after {
    width: 3.8666666667vw;
    height: 0.5333333333vw;
    border-radius: 2.1333333333vw;
  }
}
.tp-access__btn-icn:before {
  transform: translate(-50%, -50%);
}
.tp-access__btn-icn:after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.tp-access__map {
  max-width: 844px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-end;
  align-content: normal;
  flex-direction: column;
  row-gap: 16px;
}
@media screen and (max-width: 767px) {
  .tp-access__map {
    row-gap: 2.1333333333vw;
  }
}

.tp-access__mapFigure {
  aspect-ratio: 844/517;
  position: relative;
}

.tp-access__mapPoint {
  width: 45px;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(73%, 134%);
}
@media screen and (max-width: 1024px) {
  .tp-access__mapPoint {
    width: 4.39453125vw;
    top: 61.9%;
    left: 54%;
    transform: translate(0);
  }
}
@media screen and (max-width: 767px) {
  .tp-access__mapPoint {
    width: 6.4vw;
    top: 50%;
    left: 50%;
    transform: translate(40%, 84%);
  }
}

.tp-access__mapPoint-item {
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
.tp-access__mapPoint-item--one, .tp-access__mapPoint-item--two, .tp-access__mapPoint-item--three {
  animation: an-one 5s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}
.tp-access__mapPoint-item--one {
  width: 100%;
  background: rgba(3, 16, 45, 0.1);
  z-index: 1;
}
.tp-access__mapPoint-item--two {
  width: 12px;
  background: rgba(3, 16, 45, 0.5);
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .tp-access__mapPoint-item--two {
    width: 1.171875vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-access__mapPoint-item--two {
    width: 2.1333333333vw;
  }
}
.tp-access__mapPoint-item--three {
  width: 8px;
  background: rgba(3, 16, 45, 0.5);
  z-index: 3;
}
@media screen and (max-width: 1024px) {
  .tp-access__mapPoint-item--three {
    width: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-access__mapPoint-item--three {
    width: 1.0666666667vw;
  }
}
.tp-access__mapPoint-item--four {
  width: 4px;
  background: #03102d;
  z-index: 4;
}
@media screen and (max-width: 1024px) {
  .tp-access__mapPoint-item--four {
    width: 0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-access__mapPoint-item--four {
    width: 0.5333333333vw;
  }
}
@keyframes an-one {
  0% {
    transform: translate(-50%, -50%) scale(0, 0);
    transform-origin: 50% 50%;
    opacity: 1;
  }
  65% {
    transform: translate(-50%, -50%) scale(1, 1);
    transform-origin: 50% 50%;
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(1, 1);
    transform-origin: 50% 50%;
    opacity: 0.01;
  }
}

.tp-access__mapMeta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-end;
  align-content: normal;
  flex-direction: column;
  row-gap: 8px;
}
@media screen and (max-width: 767px) {
  .tp-access__mapMeta {
    row-gap: 2.1333333333vw;
  }
}

.tp-access__address {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .tp-access__address {
    font-size: 7px;
    font-size: 3.7333333333vw;
  }
}

.tp-access__gmap {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .tp-access__gmap {
    font-size: 8px;
    font-size: 4.2666666667vw;
  }
}

.tp-access__train {
  max-width: 844px;
  width: 100%;
  margin: 80px auto 0;
}
@media screen and (max-width: 767px) {
  .tp-access__train {
    margin-top: 21.3333333333vw;
  }
}

.tp-access__train-inner {
  border: solid 1px #03102D;
}
@media screen and (max-width: 767px) {
  .tp-access__train-inner {
    border-width: 0.2666666667vw;
  }
}
.tp-access__train-inner.is-open .tp-access__train-heading-plus-icn:after {
  opacity: 0;
}

.tp-access__train-heading {
  color: white;
  background: #03102D;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  padding: 17px 19px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .tp-access__train-heading {
    font-size: 10px;
    font-size: 5.3333333333vw;
    padding: 4.5333333333vw 5.0666666667vw;
  }
}

.tp-access__train-heading-plus {
  background: rgba(255, 255, 255, 0.2);
  aspect-ratio: 1;
  width: 31px;
  border-radius: 3px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .tp-access__train-heading-plus {
    width: 8.2666666667vw;
    border-radius: 0.8vw;
  }
}

.tp-access__train-heading-plus-icn {
  aspect-ratio: 1;
  width: 13px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .tp-access__train-heading-plus-icn {
    width: 3.4666666667vw;
  }
}
.tp-access__train-heading-plus-icn:before, .tp-access__train-heading-plus-icn:after {
  content: "";
  width: 100%;
  height: 2px;
  border-radius: 4px;
  background: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.4s ease;
}
@media screen and (max-width: 767px) {
  .tp-access__train-heading-plus-icn:before, .tp-access__train-heading-plus-icn:after {
    height: 0.5333333333vw;
    border-radius: 1.0666666667vw;
  }
}
.tp-access__train-heading-plus-icn:after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.tp-access__train-cont {
  overflow: hidden;
  display: none;
}
.tp-access__train-cont.is-active {
  display: block;
}

.tp-access__train-cont-inner {
  padding: 23px 0 26px;
}
@media screen and (max-width: 767px) {
  .tp-access__train-cont-inner {
    padding: 6.1333333333vw 0 6.9333333333vw;
  }
}

.tp-access__train-figure {
  width: 469px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .tp-access__train-figure {
    width: 77.0666666667vw;
  }
}
.tp-access__train-figure img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.tp-access__caution {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 140px;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
@media screen and (max-width: 767px) {
  .tp-access__caution {
    font-size: 7px;
    font-size: 3.7333333333vw;
    margin-top: 25.6vw;
    row-gap: 2.6666666667vw;
  }
}

.tp-access__caution-item {
  display: flex;
  flex-wrap: nowrap;
}

#modal-access-train .tp-access__modal-bg {
  background-image: url(./img/top/access/bg_train.jpg);
}
#modal-access-train .tp-access__modal-boardImg {
  width: 400px;
}
@media screen and (max-width: 1280px) {
  #modal-access-train .tp-access__modal-boardImg {
    width: 27.7777777778vw;
  }
}
@media screen and (max-width: 1024px) {
  #modal-access-train .tp-access__modal-boardImg {
    width: 351px;
  }
}
@media screen and (max-width: 767px) {
  #modal-access-train .tp-access__modal-boardImg {
    width: 100%;
  }
}

#modal-access-car .tp-access__modal-bg {
  background-image: url(./img/top/access/bg_car.jpg);
}
#modal-access-car .tp-access__modal-board {
  justify-content: center;
}
#modal-access-car .tp-access__modal-boardImg {
  width: 583px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #modal-access-car .tp-access__modal-boardImg {
    width: 100%;
  }
}

.tp-access__modal {
  width: 100vw;
  height: 100vh;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0s linear 0.35s;
  transform: translateZ(0);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
}

.tp-access__modal.is-open,
.tp-access__modal[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.35s ease, visibility 0s linear 0s;
}

.tp-access__modal-inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: normal;
  flex-direction: row;
}

.tp-access__modal-overlay {
  background: rgba(62, 58, 57, 0.6);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.tp-access__modal-panel {
  color: white;
  max-width: 1120px;
  width: 100%;
  padding: 64px 120px;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
@media screen and (max-width: 1280px) {
  .tp-access__modal-panel {
    max-width: 87.5vw;
    padding: 64px 9.375vw;
  }
}
@media screen and (max-width: 767px) {
  .tp-access__modal-panel {
    max-width: 87.2vw;
    padding: 17.0666666667vw 5.3333333333vw 14.9333333333vw;
  }
}

.tp-access__modal-close {
  background: #03102D;
  aspect-ratio: 1;
  width: 40px;
  position: absolute;
  top: 16px;
  right: 16px;
  border-radius: 4px;
  transition: 0.6s;
  cursor: pointer;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .tp-access__modal-close {
    width: 10.6666666667vw;
    top: 4.2666666667vw;
    right: 4.2666666667vw;
    border-radius: 1.0666666667vw;
  }
}
.tp-access__modal-close:hover {
  background: white;
}
.tp-access__modal-close:hover:before, .tp-access__modal-close:hover:after {
  background: #03102D;
}
.tp-access__modal-close:before, .tp-access__modal-close:after {
  content: "";
  background: white;
  width: 14px;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transition: 0.6s;
}
@media screen and (max-width: 767px) {
  .tp-access__modal-close:before, .tp-access__modal-close:after {
    width: 3.7333333333vw;
    height: 0.5333333333vw;
  }
}
.tp-access__modal-close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.tp-access__modal-close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.tp-access__modal-bg {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}
.tp-access__modal-bg:before {
  content: "";
  background: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.tp-access__modal-cont {
  position: relative;
  z-index: 2;
}

.tp-access__modal-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-bottom: 16px;
  margin-bottom: 20px;
  border-bottom: solid white 1px;
}
@media screen and (max-width: 767px) {
  .tp-access__modal-title {
    font-size: 10px;
    font-size: 5.3333333333vw;
    padding-bottom: 4.2666666667vw;
    margin-bottom: 5.3333333333vw;
    border-bottom-width: 0.2666666667vw;
  }
}

.tp-access__modal-board {
  background: rgba(123, 204, 207, 0.7);
  padding: 40px 56px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: normal;
  flex-direction: row;
}
@media screen and (max-width: 1280px) {
  .tp-access__modal-board {
    padding: 40px 4.375vw;
  }
}
@media screen and (max-width: 1024px) {
  .tp-access__modal-board {
    flex-direction: column;
    row-gap: 32px;
  }
}
@media screen and (max-width: 767px) {
  .tp-access__modal-board {
    padding: 10.6666666667vw 4.2666666667vw;
    row-gap: 6.4vw;
  }
}

.tp-access__modal-boardTxt {
  font-size: 20.5px;
  line-height: 1.4146341463;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: normal;
  flex-direction: column;
  row-gap: 16px;
}
@media screen and (max-width: 1280px) {
  .tp-access__modal-boardTxt {
    font-size: 18.5px;
  }
}
@media screen and (max-width: 1024px) {
  .tp-access__modal-boardTxt {
    font-size: 20.5px;
  }
}
@media screen and (max-width: 767px) {
  .tp-access__modal-boardTxt {
    font-size: 9px;
    font-size: 4.8vw;
    row-gap: 4.2666666667vw;
  }
}

.tp-cta {
  background: #03102D;
}

.tp-cta__inner {
  max-width: 664px;
  width: 100%;
  padding: 64px 0;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .tp-cta__inner {
    max-width: 79.2vw;
    padding: 17.0666666667vw 0;
  }
}

.tp-cta__heading {
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  background: linear-gradient(88.85deg, #EDC357 -10.35%, #CE9009 14.77%, #F6CA5D 39.9%, #CE9009 65.29%, #C27E03 92.79%, #853200 127.17%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .tp-cta__heading {
    font-size: 18px;
    font-size: 9.6vw;
    margin-bottom: 10.6666666667vw;
  }
}

.tp-cta__btn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
@media screen and (max-width: 767px) {
  .tp-cta__btn {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 24px;
  }
}/*# sourceMappingURL=style.css.map */