@charset "UTF-8";
/*!
Theme Name: houeikensetsu_2025
Theme URI: http://underscores.me/
Author: Heads.Inc
Author URI: -------
Description: houeikensetsu_2025 Theme
Version: 1.0.0
License: GNU General Public License v2 or later
/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　直接編集しないように注意してください。a
--------------------------------------------------------------- */
/* 基本設定
============================================================================ */
/* base > color
============================================================================================================ */
/* 基本色一覧*/
/*白*/
/*黒*/
/*灰色*/
/*黄*/
/*赤*/
/*青*/
/*緑*/
/*金*/
:root {
  --color-text: #1a1a1a;
  --color-gray-46: #464646;
  --color-gray: #878787;
  --color-gray-lighten: #d9d9d9;
  --color-beige-e1: #e1dfd7;
  --color-red-dark: #930002;
  --color-red: #b60003;
  --color-blue: #0049b6;
  --color-green: #00b609;
  --color-orange: #de7300;
  --drop-shadow: drop-shadow(
    2px 2px 12px color-mix(in srgb, black 8%, transparent)
  );
  --fontFamily-en: "Abhaya Libre", serif;
  --height-header: 74;
  --height-header-sp: 65;
  --line-clamp: 2;
  --width-inner-lg: 1420;
  --width-inner: 960;
  --width-inner-sm: 770;
  --zIndex-header: 40;
  --zIndex-spmenu: 41;
  --zIndex-toggle: 42;
  --zIndex-splash: 50;
  --leading-trim: calc((1em - 1lh) / 2);
  --gutter: 20px;
  --gutter-inner: 20px;
  --ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --ease-in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
  --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --ease-in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* mixin
============================================================================ */
/* フォントサイズをremに変換するmixin ($base-font-sizeはbase/_base.scssに)*/
/* フレックスボックス */
/* SCSS メディアクエリ */
/*最後の要素の余白リセット*/
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */
figure {
  display: block;
  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;
}

/*-------------------------------------------------------------
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 (max-width: 1024px) {
  .pc-only {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
@media (max-width: 320px) {
  .pc-only {
    display: none !important;
  }
}
.pc-only--flex {
  display: flex !important;
}
@media (max-width: 1024px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media (max-width: 320px) {
  .pc-only--flex {
    display: none !important;
  }
}

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

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

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

@media (max-width: 767px) {
  .sp-up {
    display: none !important;
  }
}
.sp-up--flex {
  display: flex !important;
}
@media (max-width: 767px) {
  .sp-up--flex {
    display: none !important;
  }
}

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

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

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

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

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

/* 共通部分
============================================================================ */
.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: black;
  -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%;
}
.section-title {
  display: grid;
  place-items: center;
  position: relative;
}
.section-title::after {
  position: absolute;
  content: "";
  width: 50px;
  height: 3px;
  background-color: #930002;
  bottom: -11px;
}

html,
body {
  width: 100%;
  line-height: 1.8666666667;
  color: black;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0em;
  font-size: 15px;
  font-weight: 500;
  position: relative;
  -webkit-print-color-adjust: exact;
  overflow-x: hidden;
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
}
@media (max-width: 767px) {
  html,
  body {
    font-size: 7px;
    font-size: 3.7333333333vw;
    line-height: 2;
  }
}
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

body {
  opacity: 0;
  pointer-events: none;
  margin-top: 50px;
}
@media (max-width: 767px) {
  body {
    margin-top: size_sp(52);
  }
}
body.loaded {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 1s;
}

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: #f7f7f7;
  min-height: 100vh;
  height: 100%;
  margin: 0 auto;
  overflow: hidden;
}
@media (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;
}

.font-en {
  font-family: "Abhaya Libre", sans-serif;
  font-style: normal;
}

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

h2 {
  font-size: 30px;
  font-size: 2rem;
}
@media (max-width: 767px) {
  h2 {
    font-size: 20px;
    font-size: 1.3333333333rem;
  }
}

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

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

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

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

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 {
  color: #888;
  font-size: 12px;
  text-align: center;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.wp-caption img {
  margin: 0 !important;
}

.wp-caption figcaption {
  margin-top: 5px;
}

.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;
}

.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-family: "Noto Sans", sans-serif;
  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-family: "Noto Sans", sans-serif;
  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;
}

.editor-content > :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}
.editor-content > :is(h1, h2, h3, h4, h5, h6) + * {
  margin-top: 0;
}
.editor-content h1 {
  font-size: 36px;
  font-size: 2.4rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media (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: 2rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media (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.8666666667rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media (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.6rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media (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.4666666667rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media (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.3333333333rem;
  margin-top: 24px;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .editor-content h6 {
    font-size: 9px;
    font-size: 4.8vw;
    margin-top: 5.3333333333vw;
    margin-bottom: 3.2vw;
  }
}
.editor-content p {
  font-size: 15px;
  font-size: 1rem;
}
@media (max-width: 767px) {
  .editor-content p {
    font-size: 7px;
    font-size: 3.7333333333vw;
  }
}
.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 (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: 50px;
}
@media (max-width: 767px) {
  .common-main {
    margin-top: size_sp(52);
  }
}

.home .common-main {
  margin-top: 0;
}
.l-col {
  display: grid;
}

.l-col--px {
  padding-left: 30px;
  padding-right: 30px;
}
@media (max-width: 767px) {
  .l-col--px {
    padding-left: unset;
    padding-right: unset;
  }
}

.l-col--2 {
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
}
@media (max-width: 767px) {
  .l-col--2 {
    display: flex;
    flex-direction: column;
  }
}

.swiper-pagination-bullet {
  margin: 0 9px !important;
  background: #d9d9d9 !important;
}
@media (max-width: 767px) {
  .swiper-pagination-bullet {
    margin: 0 1.6vw !important;
    width: 1.3333333333vw !important;
    height: 1.3333333333vw !important;
  }
}
.swiper-pagination-bullet-active {
  background: #b60003 !important;
  scale: 1.3;
}

/* layout > header
============================================================================== */
.logged-in.admin-bar .common-header {
  margin-top: var(--wp-admin--admin-bar--height);
}

.common-header {
  width: 100%;
  height: 50px;
  background: #464646;
  color: black;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  transition: 0.5s;
}
@media (max-width: 767px) {
  .common-header {
    height: size_sp(52);
  }
}
.common-header.open {
  background-color: rgba(26, 26, 26, 0.95);
  height: 754px;
  z-index: 1001;
}
@media (max-width: 767px) {
  .common-header.open {
    height: 209.8666666667vw;
  }
}
.common-header__inner {
  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: 0 10px;
}
.common-header__inner.open {
  height: 50px;
}
.common-header__logo {
  position: relative;
  font-size: 0;
  font-weight: 400;
  transition: 1s;
  margin-left: 12px;
  transition: 0.5s;
}
@media screen and (max-width: 900px) {
  .common-header__logo {
    width: 17vw;
  }
}
@media (max-width: 767px) {
  .common-header__logo {
    width: 53.3333333333vw;
  }
}
.common-header__logo a {
  display: block;
  position: relative;
  width: 100%;
}
.common-header__logo.close {
  opacity: 0;
}
.common-header__left {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: row;
}
@media (max-width: 767px) {
  .common-header__top-bottom {
    display: none;
  }
}
.common-header__center {
  color: white;
  font-weight: 400;
  transition: 0.4s;
}
.common-header__center a {
  margin-right: 32px;
  font-size: 16px;
}
.common-header__center a:last-of-type {
  margin-right: 0;
}
@media screen and (max-width: 1100px) {
  .common-header__center a {
    font-size: 12px;
    margin-right: 20px;
  }
}
@media screen and (max-width: 910px) {
  .common-header__center a {
    margin-right: 1vw;
  }
}
@media (max-width: 1024px) {
  .common-header__center a {
    font-size: 10px;
  }
}
.common-header__center.close {
  opacity: 0;
}
@media (max-width: 767px) {
  .common-header__center {
    display: none;
  }
}
.common-header__right {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: row;
  font-weight: 400;
  transition: 0.4s;
}
.common-header__right a {
  color: black;
  font-size: 11px;
  padding: 4px 14px 4px 0;
  display: block;
  width: 120px;
  height: 30px;
  text-align: end;
  background-color: white;
  transition: 0.4s;
}
@media screen and (max-width: 1000px) {
  .common-header__right a {
    font-size: 8px;
    width: 95px;
    height: 27px;
    padding: 6px 13px 2px 0;
  }
}
.common-header__right a > svg {
  width: 21px;
  height: auto;
  margin: 0 10px 3px 0;
  fill: #930002;
  transition: 0.4s;
}
@media screen and (max-width: 1000px) {
  .common-header__right a > svg {
    width: 17px;
  }
}
.common-header__right a:nth-of-type(2) {
  width: 97px;
  margin-left: 10px;
  padding: 4px 10px 4px 0;
}
@media screen and (max-width: 1000px) {
  .common-header__right a:nth-of-type(2) {
    width: 80px;
    padding: 6px 15px 4px 0;
  }
}
.common-header__right a:nth-of-type(2) > svg {
  width: 14px;
  height: auto;
  margin: 0 10px 1px 0;
  fill: #930002;
}
@media screen and (max-width: 1000px) {
  .common-header__right a:nth-of-type(2) > svg {
    width: 10px;
  }
}
.common-header__right a:hover {
  background-color: #930002;
  color: white;
}
.common-header__right a:hover > svg {
  fill: white;
}
.common-header__right.close {
  opacity: 0;
}
@media (max-width: 767px) {
  .common-header__right {
    display: none;
  }
}
.common-header__toggle {
  position: relative;
  display: block;
  width: 28px;
  height: 20px;
  z-index: 99;
  cursor: pointer;
}
@media screen and (max-width: 900px) {
  .common-header__toggle {
    display: block;
  }
}
@media (max-width: 767px) {
  .common-header__toggle {
    display: block;
    width: 8vw;
    height: 6.1333333333vw;
    left: 0;
  }
}
.common-header__toggle.open:before {
  opacity: 1;
}
.common-header__toggle.open span:first-of-type {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}
.common-header__toggle.open span:nth-of-type(2) {
  opacity: 0;
}
.common-header__toggle.open span:last-of-type {
  bottom: 50%;
  width: 80%;
  transform: translateY(50%) rotate(45deg);
}
.common-header__toggle:before {
  content: "";
  background: #930002;
  width: 49px;
  height: 49px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 0.5s;
}
@media (max-width: 767px) {
  .common-header__toggle:before {
    width: 13.8666666667vw;
    height: 13.8666666667vw;
  }
}
.common-header__toggle span {
  position: absolute;
  left: 0;
  height: 2px;
  background: white;
  transition: 0.5s;
  z-index: 2;
}
@media screen and (max-width: 900px) {
  .common-header__toggle span {
    display: block;
  }
}
@media (max-width: 767px) {
  .common-header__toggle span {
    height: 0.8vw;
  }
}
.common-header__toggle span:first-of-type {
  top: 0;
  width: 80%;
}
.common-header__toggle span:nth-of-type(2) {
  top: 50%;
  width: 60%;
  transform: translateY(-50%);
}
.common-header__toggle span:last-of-type {
  bottom: 0;
  width: 40%;
}
.common-header__toggle:hover span:first-of-type {
  width: 80%;
}
.common-header__toggle:hover span:nth-of-type(2) {
  width: 80%;
}
.common-header__toggle:hover span:last-of-type {
  width: 80%;
}
.common-header__drop {
  position: relative;
  display: none;
  z-index: 999;
  width: 100%;
  height: 500px;
}
.common-header__drop.open {
  display: block;
  background: black;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}
.common-header__mega {
  margin-top: 8px;
  display: none;
  opacity: 0;
  color: white;
}
@media (max-width: 767px) {
  .common-header__mega {
    margin-top: -12vw;
  }
}
.common-header__mega.open {
  display: block;
  opacity: 1;
  position: relative;
}
.common-header__megalogo {
  display: block;
  width: 196px;
  height: auto;
  margin: 0 auto;
}
.common-header__megalogo img {
  width: 100%;
  height: 100%;
}
.common-header__megaList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  align-content: center;
  flex-direction: row;
  margin-top: 45px;
}
@media (max-width: 767px) {
  .common-header__megaList {
    margin-top: 5.6vw;
    padding: 0 5.3333333333vw;
    gap: 2.6666666667vw 0;
    align-content: flex-start;
    flex-direction: column;
  }
}
.common-header__megaListCnt > p {
  font-size: 22px;
  letter-spacing: 4px;
}
@media (max-width: 767px) {
  .common-header__megaListCnt > p {
    font-size: 7.5px;
    font-size: 4vw;
    letter-spacing: 2.7px;
  }
}
.common-header__megaListCnt:nth-of-type(2) {
  margin-left: 55px;
}
@media (max-width: 1024px) {
  .common-header__megaListCnt:nth-of-type(2) {
    margin-left: 26px;
  }
}
@media (max-width: 767px) {
  .common-header__megaListCnt:nth-of-type(2) {
    margin-left: 0;
  }
}
.common-header__megaListCnt:nth-of-type(n + 3) {
  margin-left: 50px;
}
@media (max-width: 1024px) {
  .common-header__megaListCnt:nth-of-type(n + 3) {
    margin-left: 30px;
  }
}
@media (max-width: 767px) {
  .common-header__megaListCnt:nth-of-type(n + 3) {
    margin-left: 0;
  }
}
.common-header__megaListCnt > ul {
  position: relative;
  margin-left: 44px;
}
@media (max-width: 1024px) {
  .common-header__megaListCnt > ul {
    margin-left: 30px;
  }
}
.common-header__megaListCnt > ul li {
  font-size: 14px;
  letter-spacing: 2.5px;
  padding-top: 10px;
}
@media (max-width: 767px) {
  .common-header__megaListCnt > ul li {
    font-size: 12px;
    letter-spacing: 2.16px;
    line-height: 1.9;
    padding-top: 5px;
  }
}
.common-header__megaListCnt > ul > li > ul {
  margin-left: 18px;
}
.common-header__megaListCnt > ul > li > ul > li {
  padding-top: 5px;
}
.common-header__megaListCnt > ul::after {
  content: "";
  position: absolute;
  width: 3px;
  height: 90%;
  top: 10px;
  left: -20px;
  background-color: white;
}
@media (max-width: 767px) {
  .common-header__megaListCnt > ul::after {
    width: 0.5333333333vw;
    height: 88%;
    top: 1.6vw;
    left: -5.6vw;
  }
}
.common-header__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: row;
  width: 550px;
  margin: 60px auto 40px;
  gap: 20px;
}
@media (max-width: 767px) {
  .common-header__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    align-content: flex-end;
    flex-direction: column;
    gap: 5.3333333333vw 0;
    margin: 0;
    width: 100%;
  }
}
.common-header__links > a {
  display: block;
  width: 265px;
  height: 84px;
  background-color: white;
  color: #1a1a1a;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 1.5px;
}
@media (max-width: 767px) {
  .common-header__links > a {
    width: 35.7333333333vw;
    height: 18.6666666667vw;
    font-size: 2.9333333333vw;
  }
}
.common-header__links > a:nth-of-type(n + 3) {
  height: 66px;
}
@media (max-width: 767px) {
  .common-header__links > a:nth-of-type(n + 3) {
    height: 18.4vw;
  }
}
.common-header__links > a:nth-of-type(1) {
  position: relative;
  padding: 31px 0 0 31px;
}
@media (max-width: 767px) {
  .common-header__links > a:nth-of-type(1) {
    padding: 13.3333333333vw 0 0 0;
  }
}
.common-header__links > a:nth-of-type(1)::after {
  content: "";
  position: absolute;
  top: 17px;
  left: 67px;
  width: 31px;
  height: 50px;
  background-image: url("img/common/icn/icn-phone.svg");
  background-size: cover;
  background-position: center;
}
@media (max-width: 767px) {
  .common-header__links > a:nth-of-type(1)::after {
    top: 2.1333333333vw;
    left: 14.9333333333vw;
    width: 6.1333333333vw;
    height: 9.8666666667vw;
  }
}
.common-header__links > a:nth-of-type(2) {
  position: relative;
  padding: 28px 0 0 71px;
}
@media (max-width: 767px) {
  .common-header__links > a:nth-of-type(2) {
    padding: 13.3333333333vw 0 0 0;
  }
}
.common-header__links > a:nth-of-type(2)::after {
  content: "";
  position: absolute;
  top: 17px;
  left: 60px;
  width: 48px;
  height: 41px;
  background-image: url("img/common/icn/icn-home.svg");
  background-size: cover;
  background-position: center;
}
@media (max-width: 767px) {
  .common-header__links > a:nth-of-type(2)::after {
    top: 2.9333333333vw;
    left: 13.0666666667vw;
    width: 9.6vw;
    height: 8vw;
  }
}
.common-header__links > a:nth-of-type(3) {
  padding: 11px 0;
}
@media (max-width: 767px) {
  .common-header__links > a:nth-of-type(3) {
    padding: 2.9333333333vw 2.6666666667vw;
    letter-spacing: 0.05em;
  }
}
.common-header__links > a:nth-of-type(4) {
  padding: 22px 0;
}
@media (max-width: 767px) {
  .common-header__links > a:nth-of-type(4) {
    padding: 4.8vw 0 0;
  }
}
.common-header__sns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: row;
  gap: 0 20px;
}
.common-header__sp-link {
  display: none;
}
@media (max-width: 767px) {
  .common-header__sp-link {
    display: block;
    position: absolute;
    top: 44.8vw;
    right: 0;
  }
}
.common-header__sp-sns {
  display: none;
}
@media (max-width: 767px) {
  .common-header__sp-sns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-direction: row;
    gap: 0 6.4vw;
    margin-top: 9.8666666667vw;
  }
}
@media (max-width: 767px) {
  .common-header__sp-sns > a {
    width: 11.2vw;
  }
}

/*  layout > footer
============================================================================================================ */
.common-footer {
  position: relative;
  background-color: #464646;
  color: white;
  padding: 49px 0 0;
}
@media (max-width: 767px) {
  .common-footer {
    padding: 8vw 0 0;
  }
}
.common-footer__top {
  margin: 0 auto;
}
.common-footer__top-up {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  align-content: center;
  flex-direction: row;
  font-weight: 400;
  gap: 40px;
}
@media screen and (max-width: 1280px) {
  .common-footer__top-up {
    -moz-column-gap: 3.125vw;
         column-gap: 3.125vw;
  }
}
@media screen and (max-width: 1100px) {
  .common-footer__top-up {
    max-width: 860px;
    width: 100%;
    padding: 0 30px;
    margin: 0 auto;
  }
}
@media (max-width: 1024px) {
  .common-footer__top-up {
    gap: 3.90625vw;
    padding: 0;
  }
}
.common-footer__top-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: column;
  width: 549px;
  margin: 57px auto 0;
}
@media (max-width: 767px) {
  .common-footer__top-bottom {
    width: 100%;
    margin: 15.2vw auto 0;
  }
}
.common-footer__List {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  align-content: center;
  flex-direction: row;
  -moz-column-gap: 37px;
       column-gap: 37px;
}
@media screen and (max-width: 1280px) {
  .common-footer__List {
    -moz-column-gap: 2.890625vw;
         column-gap: 2.890625vw;
  }
}
@media screen and (max-width: 1100px) {
  .common-footer__List {
    justify-content: flex-start;
    gap: 24px 7px;
  }
}
@media (max-width: 767px) {
  .common-footer__List {
    width: 84vw;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: stretch;
    flex-direction: column;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 9.3333333333vw;
  }
}
@media screen and (max-width: 1100px) {
  .common-footer__ListCnt {
    width: 260px;
  }
}
@media (max-width: 767px) {
  .common-footer__ListCnt {
    width: auto;
  }
}
.common-footer__ListCnt > p {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.6111111111;
  letter-spacing: 0.18em;
  margin-bottom: 9px;
}
@media (max-width: 767px) {
  .common-footer__ListCnt > p {
    font-size: 5.3333333333vw;
    margin-bottom: 1.0666666667vw;
  }
}
@media (max-width: 767px) {
  .common-footer__ListCnt:nth-of-type(2) {
    font-size: 3.7333333333vw;
  }
}
@media (max-width: 767px) {
  .common-footer__ListCnt:nth-of-type(n + 3) {
    font-size: 3.7333333333vw;
  }
}
.common-footer__ListCnt > ul {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.18em;
  position: relative;
  margin-left: 44px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: stretch;
  flex-direction: column;
  row-gap: 12px;
}
@media (max-width: 767px) {
  .common-footer__ListCnt > ul {
    font-size: 3.7333333333vw;
    row-gap: 2.4vw;
  }
}
.common-footer__ListCnt > ul > li > ul {
  margin-top: 5px;
  margin-left: 18px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: stretch;
  flex-direction: column;
  row-gap: 3px;
}
@media (max-width: 767px) {
  .common-footer__ListCnt > ul > li > ul {
    font-size: 3.7333333333vw;
  }
}
.common-footer__ListCnt > ul::after {
  content: "";
  position: absolute;
  width: 3px;
  height: 95%;
  top: 3px;
  left: -20px;
  background-color: white;
}
@media (max-width: 767px) {
  .common-footer__ListCnt > ul::after {
    width: 0.5333333333vw;
    top: 1.0666666667vw;
    left: -5.6vw;
  }
}
.common-footer__logo {
  display: block;
  width: 194px;
}
@media screen and (max-width: 1280px) {
  .common-footer__logo {
    width: 15.15625vw;
  }
}
@media screen and (max-width: 1100px) {
  .common-footer__logo {
    min-width: 194px;
    width: 194px;
  }
}
@media (max-width: 1024px) {
  .common-footer__logo {
    min-width: 18.9453125vw;
    width: 18.9453125vw;
  }
}
@media (max-width: 767px) {
  .common-footer__logo {
    min-width: unset;
  }
}
.common-footer__logo-sp {
  width: 35.7333333333vw;
  margin: 0 auto 10.1333333333vw;
}
.common-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  flex-direction: row;
}
@media (max-width: 767px) {
  .common-footer__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-direction: column;
  }
}
.common-footer__links > a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: row;
  width: 265px;
  height: 84px;
  color: #1a1a1a;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.1em;
  background-color: white;
}
@media (max-width: 767px) {
  .common-footer__links > a {
    width: 65.3333333333vw;
    height: 18.6666666667vw;
    font-size: 4vw;
    margin: 0 0 5.3333333333vw;
  }
}
.common-footer__links > a:nth-of-type(n + 3) {
  height: 66px;
  margin-top: 20px;
  font-size: 12px;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .common-footer__links > a:nth-of-type(n + 3) {
    height: 18.6666666667vw;
    margin-top: 0;
    font-size: 4vw;
    line-height: 1.4666666667;
  }
}
.common-footer__links > a .icn-home {
  margin-right: 15px;
  height: 35px;
  width: auto;
}
@media (max-width: 767px) {
  .common-footer__links > a .icn-home {
    margin-right: 6.1333333333vw;
    height: 9.8666666667vw;
  }
}
.common-footer__links > a .icn-phone {
  margin-right: 18px;
  height: 48px;
  width: auto;
}
@media (max-width: 767px) {
  .common-footer__links > a .icn-phone {
    margin-right: 10.6666666667vw;
    height: 12.8vw;
  }
}
.common-footer__sns {
  margin-top: 33px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: row;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media (max-width: 767px) {
  .common-footer__sns {
    margin-top: 8.8vw;
    -moz-column-gap: 6.4vw;
         column-gap: 6.4vw;
  }
}
.common-footer__sns a {
  width: 40px;
  height: auto;
  display: grid;
}
@media (max-width: 767px) {
  .common-footer__sns a {
    width: 11.2vw;
  }
}
.common-footer__sns a img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.common-footer__legal {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: row;
  -moz-column-gap: 48px;
       column-gap: 48px;
}
@media (max-width: 767px) {
  .common-footer__legal {
    margin-top: 8vw;
    font-size: 3.2vw;
    -moz-column-gap: 10.1333333333vw;
         column-gap: 10.1333333333vw;
  }
}
.common-footer__down {
  width: 100%;
  background-color: #930002;
  margin: 18px 0 0;
  padding: 30px 0;
}
@media (max-width: 767px) {
  .common-footer__down {
    margin: 4.2666666667vw 0 0;
    padding: 5.3333333333vw 0;
  }
}
.common-footer__downWrap {
  width: 728px;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .common-footer__downWrap {
    width: 90%;
  }
}
.common-footer__down-up {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  align-content: center;
  flex-direction: row;
  border-bottom: 1px solid white;
  padding: 0 9px 30px;
}
@media (max-width: 767px) {
  .common-footer__down-up {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-direction: column;
    padding: 0 0 7.7333333333vw;
    border-bottom: solid 0.5333333333vw white;
  }
}
.common-footer__down-bottom {
  padding: 20px 0 0;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 2.0909090909;
}
@media (max-width: 767px) {
  .common-footer__down-bottom {
    padding: 5.3333333333vw 0 0;
    font-size: 2.6666666667vw;
    line-height: 2.3;
    letter-spacing: 0.2em;
  }
}
.common-footer__address {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.18em;
}
@media (max-width: 767px) {
  .common-footer__address {
    font-size: 3.4666666667vw;
    line-height: 1.7692307692;
    letter-spacing: 0.16em;
  }
}
.common-footer__jpx {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  flex-direction: row;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media (max-width: 767px) {
  .common-footer__jpx {
    margin-top: 8vw;
  }
}
.common-footer__jpx > img {
  width: 62px;
  height: 69px;
}
@media (max-width: 767px) {
  .common-footer__jpx > img {
    width: 16.5333333333vw;
    height: 18.4vw;
  }
}
.common-footer__jpx > p {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7692307692;
  letter-spacing: 0.18em;
}
@media (max-width: 767px) {
  .common-footer__jpx > p {
    font-size: 3.4666666667vw;
    letter-spacing: 0.18em;
  }
}
.common-footer__copyright {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0em;
  display: block;
  text-align: center;
  line-height: 1;
  margin-top: 33px;
}
@media (max-width: 767px) {
  .common-footer__copyright {
    font-size: 2.6666666667vw;
    margin-top: 8vw;
  }
}
.common-footer.is-simple {
  padding: 0;
}
.common-footer.is-simple .common-footer__logo-sp.sp-only,
.common-footer.is-simple .common-footer__top {
  display: none !important;
}
.common-footer.is-simple .common-footer__down {
  margin-top: 0;
}

/* layout > front page （TOP,HOME）
============================================================================================================ */
/* layout > archive
============================================================================================================ */
.l-archive {
  padding-bottom: 150px;
}

.l-archive__head {
  overflow: hidden;
}

.l-archive__pageheader {
  height: 205px;
  display: grid;
  place-items: center;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media (max-width: 767px) {
  .l-archive__pageheader {
    height: 152px;
  }
}

@media (max-width: 767px) {
  .l-archive__pageheader--model {
    height: 192px;
  }
}

.l-archive__eyecatch {
  overflow: hidden;
  padding-bottom: 60px;
}

@media (max-width: 767px) {
  .l-archive__eyecatch--model {
    padding-bottom: 40px;
  }
}

.l-archive__eyecatchWrap {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
.l-archive__eyecatchWrap img {
  width: 100%;
  height: 100%;
  max-height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.l-archive__pageheader--sm {
  height: 158px;
}
@media (max-width: 767px) {
  .l-archive__pageheader--sm {
    height: 117px;
    padding-bottom: unset;
  }
}

/* layout > single
============================================================================================================ */
.l-single {
  padding-bottom: 130px;
}

.l-single__wrap {
  padding-top: 72px;
  padding-left: calc(3% + var(--gutter));
  padding-right: var(--gutter);
}
@media (max-width: 767px) {
  .l-single__wrap {
    padding-top: 42px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.l-single__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 680fr 280fr;
}
@media (max-width: 767px) {
  .l-single__inner {
    display: block;
  }
}

.l-single__main {
  overflow: hidden;
}
@media (max-width: 767px) {
  .l-single__main {
    overflow: unset;
  }
}

.l-single__aside {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  padding-top: 40px;
}

.l-single__slider {
  margin-top: 50px;
}

.l-single__section {
  margin-top: 50px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.l-single__section--px0 {
  padding-left: unset;
  padding-right: unset;
}
@media (max-width: 767px) {
  .l-single__section--px0 {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.l-single__section--mt20 {
  margin-top: 20px;
}

.l-single__section--mt30 {
  margin-top: 30px;
}

.l-single__section--mt5 {
  margin-top: 5px;
}

.l-single__sectionInner {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.l-single__sectionInner > *:not(:first-child) {
  margin-top: 10px;
}

.l-single__sticky {
  position: sticky;
  top: 50px;
  width: 100%;
  display: flex;
  justify-content: flex-end;
}

.single-body__row--px {
  padding-left: 30px;
  padding-right: 30px;
}
@media (max-width: 767px) {
  .single-body__row--px {
    padding-left: unset;
    padding-right: unset;
  }
}

/*  layout > container
============================================================================================================ */
.l-container {
  margin-inline: auto;
  box-sizing: content-box;
  max-width: 1160px;
  padding-inline: 32px;
}
@media (max-width: 767px) {
  .l-container {
    padding-inline: 20px;
  }
}
.l-container.max1280 {
  max-width: 1280px;
}
.l-container.max1000 {
  max-width: 1000px;
}
.l-container.max1050 {
  max-width: 1050px;
}
.l-container.max876 {
  max-width: 876px;
}
.l-container.max768 {
  max-width: 768px;
}
.l-container.max680 {
  max-width: 680px;
}
.l-container.max500 {
  max-width: 500px;
}
.l-container.max470 {
  max-width: 470px;
}

/* layout > contact
============================================================================================================ */
.page-contact__inner {
  max-width: 584px;
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .page-contact__inner {
    max-width: 168vw;
  }
}
.page-contact .common-heading {
  margin-bottom: 71px;
}
@media (max-width: 767px) {
  .page-contact .common-heading {
    margin-bottom: 17.3333333333vw;
  }
}
.page-contact__intro {
  font-size: 14px;
  font-size: 0.9333333333rem;
}
@media (max-width: 767px) {
  .page-contact__intro {
    font-size: 14px;
    font-size: 7.4666666667vw;
  }
}
.page-contact__intro a {
  color: blue;
  text-decoration: underline;
}
.page-contact__note {
  font-size: 11px;
  font-size: 0.7333333333rem;
  display: block;
  margin: 71px 0 25px;
}
@media (max-width: 767px) {
  .page-contact__note {
    font-size: 14px;
    font-size: 7.4666666667vw;
    margin: 21.3333333333vw 0 16vw;
  }
}

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

.page.thanks .page-contact .common-heading {
  margin-bottom: 80px;
}
@media (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 (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 (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 (max-width: 767px) {
  .form__row {
    align-items: flex-start;
  }
}
.form__row:nth-of-type(n + 2) {
  margin-top: 30px;
}
@media (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 (max-width: 767px) {
  .form__row.content {
    margin-top: 16vw;
  }
}
.form__col:first-of-type {
  font-size: 14px;
  font-size: 0.9333333333rem;
  line-height: 2;
  width: 173px;
}
@media (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.9333333333rem;
  width: 411px;
}
@media (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.9333333333rem;
  display: block;
  width: 100%;
  margin-top: 16px;
}
@media (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 (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-privacy__content {
  margin-top: 100px;
}
@media (max-width: 767px) {
  .page-privacy__content {
    margin-top: 40px;
  }
}
.page-privacy__content > :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}
.page-privacy__content > :is(h1, h2, h3, h4, h5, h6) + * {
  margin-top: 0;
}
.page-privacy__content h1 {
  font-size: 32px;
  font-size: 2.1333333333rem;
  text-align: center;
  margin: 60px 0 30px;
}
@media (max-width: 767px) {
  .page-privacy__content h1 {
    font-size: 24px;
    margin: 48px 0 24px;
  }
}
.page-privacy__content h2 {
  position: relative;
  font-size: 22px;
  line-height: 1.7727272727;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding-bottom: 6px;
  border-bottom: 2px solid #878787;
  margin: 60px 0 30px;
}
@media (max-width: 767px) {
  .page-privacy__content h2 {
    font-size: 18px;
    margin: 36px 0 20px;
  }
}
.page-privacy__content h2:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(50%);
  width: 20px;
  height: 6px;
  background-color: #930002;
}
@media (max-width: 767px) {
  .page-privacy__content h2:after {
    width: 10px;
  }
}
.page-privacy__content p {
  padding-left: 30px;
  padding-right: 30px;
}
@media (max-width: 767px) {
  .page-privacy__content p {
    padding-left: 20px;
    padding-right: 20px;
    font-size: 14px;
  }
}
.page-privacy__content p a {
  color: #930002;
}
.page-privacy__content p a:hover {
  text-decoration: underline;
}

/* layout > 404
============================================================================================================ */
.page-404 {
  padding: 92px 0 120px;
}
@media (max-width: 767px) {
  .page-404 {
    padding: 14.9333333333vw 0 21.3333333333vw;
  }
}
.page-404 h2 {
  font-size: 32px;
  text-align: center;
  line-height: 1;
  color: black;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .page-404 h2 {
    font-size: 11px;
    font-size: 5.8666666667vw;
    margin-bottom: 6.4vw;
  }
}
.page-404 h3 {
  font-size: 24px;
  font-size: 1.6rem;
  text-align: center;
  color: black;
  line-height: 1;
  margin-bottom: 31px;
}
@media (max-width: 767px) {
  .page-404 h3 {
    font-size: 9.5px;
    font-size: 5.0666666667vw;
    line-height: 1.7105263158;
    margin-bottom: 8.5333333333vw;
  }
}
.page-404__icn {
  max-width: 264px;
  margin: 0 auto 28px;
}
@media (max-width: 767px) {
  .page-404__icn {
    max-width: 60.8vw;
    margin-bottom: 7.4666666667vw;
  }
}
.page-404__info {
  font-size: 14px;
  font-size: 0.9333333333rem;
  max-width: 489px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .page-404__info {
    font-size: 7px;
    font-size: 3.7333333333vw;
    max-width: 78.6666666667vw;
  }
}
.page-404__info a {
  text-decoration: underline;
  text-underline-offset: 1px;
}

/* layout > single
============================================================================ */
.single-case .l-single__inner {
  max-width: 768px;
  grid-template-columns: 1fr;
}
@media (max-width: 767px) {
  .single-case .l-single__inner {
    max-width: 89.3333333333vw;
  }
}

.single-column .l-single__inner {
  max-width: 768px;
  grid-template-columns: 1fr;
}
@media (max-width: 767px) {
  .single-column .l-single__inner {
    max-width: 89.3333333333vw;
  }
}
.single-column .l-single__sticky {
  display: none;
}
.single-column .single-body .single-content table tr:first-child td {
  background-color: #F7F7F7;
}

.single-house .l-single__inner {
  max-width: 960px;
}
@media (max-width: 767px) {
  .single-house .l-single__inner {
    max-width: 89.3333333333vw;
  }
}
.single-house .l-single__inner hr {
  border: none;
  height: 1px;
  background-color: var(--color-gray);
}
.single-house .l-single__inner .single-body .module-property__price {
  justify-content: flex-start;
}

.single-housing .l-single__inner {
  max-width: 960px;
}
@media (max-width: 767px) {
  .single-housing .l-single__inner {
    max-width: 89.3333333333vw;
  }
}
.single-housing .l-single__inner hr {
  border: none;
  height: 1px;
  background-color: var(--color-gray);
}
.single-housing .l-single__inner .single-body .module-property__price {
  justify-content: center;
}

.single-modelhouse .l-single__inner {
  max-width: 1000px;
  grid-template-columns: 1fr;
}
@media (max-width: 767px) {
  .single-modelhouse .l-single__inner {
    max-width: 89.3333333333vw;
  }
}
.single-modelhouse .l-single__sticky {
  display: none;
}

.single-post .l-single__inner {
  max-width: 768px;
  grid-template-columns: 1fr;
}
@media (max-width: 767px) {
  .single-post .l-single__inner {
    max-width: 89.3333333333vw;
  }
}
.single-post .l-single__sticky {
  display: none;
}
.single-post .single-body .single-content table tr:first-child td {
  background-color: #F7F7F7;
}

/* module
============================================================================ */
.modaal-close {
  position: absolute !important;
  right: auto !important;
  left: 0 !important;
  top: 0 !important;
  transform: translateY(-100%) !important;
  background-color: #930002 !important;
  border-radius: 0 !important;
}
.modaal-close:before, .modaal-close:after {
  height: 28px !important;
  border-radius: 0 !important;
  top: 12px !important;
}

.modaal-wrapper {
  height: 100vh !important;
}

@media (max-width: 1024px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}

.modaal-image .modaal-container {
  width: 100% !important;
  max-width: 502px !important;
  aspect-ratio: 502/337;
}

.modaal-gallery-control {
  display: block !important;
  width: 20px !important;
  height: 50px !important;
  background: none !important;
  border-radius: 0 !important;
}
@media (max-width: 767px) {
  .modaal-gallery-control {
    width: 12px !important;
    height: 32px !important;
  }
}

.modaal-gallery-prev-inner {
  margin-right: 12px !important;
  right: 100% !important;
  left: auto !important;
}

.modaal-gallery-next-inner {
  margin-left: 12px !important;
  left: 100% !important;
}

.modaal-gallery-control {
  background-image: url(./img/common/arw_modaal.svg) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center right !important;
  transform: translateY(-50%) !important;
  top: 50% !important;
  bottom: 0 !important;
}
@media (max-width: 767px) {
  .modaal-gallery-control {
    top: 50% !important;
  }
}

.modaal-gallery-control.modaal-gallery-next {
  background-image: url(./img/common/arw_modaal02.svg) !important;
}

.modaal-gallery-control:after, .modaal-gallery-control:before {
  content: none !important;
}

.modaal-gallery-item-wrap {
  position: relative;
  width: 100% !important;
  max-width: 502px !important;
  height: 100% !important;
  aspect-ratio: 502/337;
}

.modaal-gallery-item {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100% !important;
  height: 100% !important;
  margin: auto;
}

.modaal-gallery-item img {
  width: 100% !important;
}

/* module > Page Title
============================================================================ */
.common-page-ttl {
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
.common-page-ttl__container {
  position: relative;
}
.common-page-ttl__inner {
  position: relative;
  min-height: 474px;
  padding: 50px 12.1875% 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 1;
  color: white;
}
@media (max-width: 1024px) {
  .common-page-ttl__inner {
    padding: 50px 6.25% 30px;
  }
}
@media (max-width: 767px) {
  .common-page-ttl__inner {
    padding: 30px 11.4666666667% 58px;
  }
}
.common-page-ttl__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.common-page-ttl__img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #1a1a1a 0%, rgba(26, 26, 26, 0.7) 30.7%, rgba(26, 26, 26, 0) 61.41%);
  opacity: 0.6;
}
@media (max-width: 767px) {
  .common-page-ttl__img::after {
    background: linear-gradient(to right, #1a1a1a 0%, rgba(26, 26, 26, 0.7) 50%, rgba(26, 26, 26, 0) 100%);
  }
}
.common-page-ttl__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.common-page-ttl__title {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 30px;
  font-size: 2rem;
  color: white;
  font-weight: 500;
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 1.2;
  letter-spacing: 0.2em;
  text-align: right;
}
@media (max-width: 767px) {
  .common-page-ttl__title {
    font-size: 25px;
  }
}
.common-page-ttl__text {
  font-size: 17px;
  font-size: 1.1333333333rem;
  color: white;
  font-weight: 700;
  line-height: 1.6470588235;
  letter-spacing: 0.1em;
  margin-top: 5px;
  padding-left: 50px;
}
@media (max-width: 767px) {
  .common-page-ttl__text {
    font-size: 14px;
    padding-left: 0;
    margin-left: -20px;
  }
}
.common-page-ttl__999 {
  position: absolute;
  top: 50%;
  right: 11.71875%;
  transform: translateY(-50%);
  max-width: 213px;
  z-index: 1;
}
@media (max-width: 767px) {
  .common-page-ttl__999 {
    top: 70%;
    right: 6.9333333333%;
    max-width: 119px;
  }
}
.common-page-ttl__qkyoku {
  margin: 0 auto;
}
.common-page-ttl__qkyoku--heading {
  text-align: center;
  color: white;
  font-size: 36px;
  line-height: 1.4444444444;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .common-page-ttl__qkyoku--heading {
    font-size: 23px;
    margin-bottom: 30px;
  }
}
.common-page-ttl__qkyoku--flex {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .common-page-ttl__qkyoku--flex {
    flex-direction: column;
  }
}
.common-page-ttl__qkyoku--title {
  font-size: 59px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .common-page-ttl__qkyoku--title {
    font-size: 23px;
  }
}
.common-page-ttl__qkyoku--image {
  max-width: 468px;
  text-align: center;
}
@media (max-width: 767px) {
  .common-page-ttl__qkyoku--image {
    max-width: 290px;
  }
}
.common-page-ttl:has(.common-page-ttl__999) .common-page-ttl__container:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 352px;
  aspect-ratio: 352/322;
  background-image: url(./img/page/bg_page-ttl.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 767px) {
  .common-page-ttl:has(.common-page-ttl__999) .common-page-ttl__container:after {
    width: 176px;
  }
}
@media (max-width: 767px) {
  .common-page-ttl:has(.common-page-ttl__qkyoku) .common-page-ttl__img:after {
    mix-blend-mode: multiply;
    background: rgba(26, 26, 26, 0.4);
  }
}
.common-page-ttl:has(.common-page-ttl__qkyoku) .common-page-ttl__inner {
  flex-direction: row;
  align-items: center;
}
@media (max-width: 767px) {
  .common-page-ttl:has(.common-page-ttl__qkyoku) .common-page-ttl__inner {
    flex-direction: column;
    justify-content: space-around;
  }
}
@media (max-width: 767px) {
  .common-page-ttl:has(.common-page-ttl__qkyoku) .common-page-ttl__title {
    writing-mode: inherit;
  }
}

/* module > form
============================================================================ */
/*////////////////////////// 基本スタイル //////////////////////////*/
input[type=text], input[type=email], input[type=tel], input[type=date], select, textarea {
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
  width: 100%;
  padding: 8px 10px;
  min-height: auto;
  outline: none;
  background: white;
  border: 1px solid #e1dfd7;
  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, input[type=date]:-moz-placeholder, select:-moz-placeholder, textarea:-moz-placeholder {
  color: #878787;
}
input[type=text]:placeholder-shown, input[type=email]:placeholder-shown, input[type=tel]:placeholder-shown, input[type=date]:placeholder-shown, select:placeholder-shown, textarea:placeholder-shown {
  color: #878787;
}
input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, input[type=date]::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #878787;
}
input[type=text]:-moz-placeholder, input[type=email]:-moz-placeholder, input[type=tel]:-moz-placeholder, input[type=date]:-moz-placeholder, select:-moz-placeholder, textarea:-moz-placeholder {
  color: #878787;
  opacity: 1;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=date]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #878787;
  opacity: 1;
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, input[type=date]:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #878787;
}

/*////////////////////////// テキストエリア //////////////////////////*/
textarea {
  display: block;
  min-height: 234px;
  padding: 15px 10px;
}
@media (max-width: 767px) {
  textarea {
    min-height: 200px;
  }
}

/*////////////////////////// セレクトボックス //////////////////////////*/
select {
  height: 32px;
  -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: 12px;
  background-position: center right 6px;
  box-sizing: border-box;
}

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

input[type=checkbox] {
  accent-color: #930002;
  flex-shrink: 0;
}

/*////////////////////////// ラジオボタン //////////////////////////*/
.mw_wp_form .mwform-radio-field.horizontal-item {
  position: relative;
  margin-right: 30px;
}
@media (max-width: 767px) {
  .mw_wp_form .mwform-radio-field.horizontal-item {
    margin-right: 8vw;
  }
}
.mw_wp_form .mwform-radio-field.horizontal-item + .horizontal-item {
  margin-left: 0;
  margin-right: 30px;
}
@media (max-width: 767px) {
  .mw_wp_form .mwform-radio-field.horizontal-item + .horizontal-item {
    margin-right: 8vw;
  }
}
.mw_wp_form .mwform-radio-field-text {
  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.9333333333rem;
  font-weight: 300;
}
@media (max-width: 767px) {
  .mw_wp_form .mwform-radio-field-text {
    font-size: 15px;
    font-size: 8vw;
    line-height: 1.5;
  }
}
.mw_wp_form input[type=radio] {
  position: absolute;
  opacity: 0;
}
.mw_wp_form input[type=radio] + .mwform-radio-field-text: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;
}
.mw_wp_form input[type=radio]:checked + .mwform-radio-field-text:before {
  background-color: #3197EE;
  box-shadow: inset 0 0 0 2px white;
}
.mw_wp_form input[type=radio]:focus + .mwform-radio-field-text:before {
  outline: none;
  border-color: #3197EE;
}
.mw_wp_form input[type=radio] + .mwform-radio-field-text:empty:before {
  margin-right: 0;
}

.wpcf7-form .wpcf7-radio .wpcf7-list-item {
  position: relative;
  margin-right: 30px;
  cursor: pointer;
}
@media (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.9333333333rem;
  font-weight: 300;
}
@media (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;
}

/*///////////////// チェックボックス //////////////////////////*/
.mw_wp_form .mwform-checkbox-field.horizontal-item {
  display: block;
}
.mw_wp_form .mwform-checkbox-field.horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mw_wp_form .mwform-checkbox-field.horizontal-item:nth-of-type(n + 2) {
  margin-top: 20px;
}
.mw_wp_form .mwform-checkbox-field-text {
  font-size: 14px;
  font-size: 0.9333333333rem;
  line-height: 1.5;
  font-weight: 300;
}
@media (max-width: 767px) {
  .mw_wp_form .mwform-checkbox-field-text {
    font-size: 15px;
    font-size: 8vw;
    line-height: 1.5;
  }
}
.mw_wp_form input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  position: relative;
}
.mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text:before {
  content: "";
  display: inline-block;
  background: white;
  width: 30px;
  height: 30px;
  border: 1px solid #000;
  border-radius: 10px;
  margin-right: 18px;
  cursor: pointer;
  transition: all 250ms ease;
}
@media (max-width: 767px) {
  .mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text:before {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    border-radius: 4vw;
    margin-right: 6.4vw;
  }
}
.mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text:after {
  content: "";
  position: absolute;
  top: 7px;
  left: 5px;
  z-index: 1;
  width: 20px;
  height: 17px;
  background: #3197EE;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  .mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text:after {
    top: 3.2vw;
    left: 2.4vw;
    width: 8.5333333333vw;
    height: 7.2vw;
    border-radius: 4vw;
  }
}
.mw_wp_form input[type=checkbox]:checked + .mwform-checkbox-field-text:after {
  opacity: 1;
}
.mw_wp_form input[type=checkbox]:focus + .mwform-checkbox-field-text:before {
  outline: none;
  border-color: #3197EE;
}
.mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text:empty:before {
  margin-right: 0;
}

.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
  display: block;
  margin-left: 0;
}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item:nth-of-type(n + 2) {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .wpcf7-form .wpcf7-checkbox .wpcf7-list-item:nth-of-type(n + 2) {
    margin-top: 8vw;
  }
}
.wpcf7-form .wpcf7-list-item-label {
  font-size: 14px;
  font-size: 0.9333333333rem;
  line-height: 1.5;
  font-weight: 300;
}
@media (max-width: 767px) {
  .wpcf7-form .wpcf7-list-item-label {
    font-size: 15px;
    font-size: 8vw;
    line-height: 1.5;
  }
}
.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;
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:before {
  content: "";
  display: inline-block;
  background: white;
  width: 30px;
  height: 30px;
  border: 1px solid #000;
  border-radius: 10px;
  margin-right: 18px;
  cursor: pointer;
  transition: all 250ms ease;
}
@media (max-width: 767px) {
  .wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:before {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    border-radius: 4vw;
    margin-right: 6.4vw;
  }
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:after {
  content: "";
  position: absolute;
  top: 7px;
  left: 5px;
  z-index: 1;
  width: 20px;
  height: 17px;
  background: #3197EE;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  .wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:after {
    top: 3.2vw;
    left: 2.4vw;
    width: 8.5333333333vw;
    height: 7.2vw;
    border-radius: 4vw;
  }
}
.wpcf7-form input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  opacity: 1;
}
.wpcf7-form input[type=checkbox]:focus + .wpcf7-list-item-label:before {
  outline: none;
  border-color: #3197EE;
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:empty:before {
  margin-right: 0;
}

/*////////////////////////// ファイル添付 //////////////////////////*/
.mw_wp_form .form__row.file input[type=file] {
  display: none;
}
.mw_wp_form .form__row.file .form__col {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: row;
}
.mw_wp_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 (max-width: 767px) {
  .mw_wp_form .form__row.file .form__col .file_name {
    max-width: 60%;
    margin-top: 5.3333333333vw;
    margin-left: 0;
  }
}
.mw_wp_form .form__row.file .mw-wp-form_file a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.mw_wp_form .file_label {
  font-size: 16px;
  font-size: 1.0666666667rem;
  display: block;
  width: 172px;
  padding: 2px 7px;
  min-height: auto;
  border-radius: 10px;
  outline: none;
  text-align: center;
  background: #ddd;
  cursor: pointer;
}
.mw_wp_form .file_label:-moz-placeholder {
  color: #aaa;
}
.mw_wp_form .file_label:placeholder-shown {
  color: #aaa;
}
.mw_wp_form .file_label::-webkit-input-placeholder {
  color: #aaa;
}
.mw_wp_form .file_label:-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
.mw_wp_form .file_label::-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
.mw_wp_form .file_label:-ms-input-placeholder {
  color: #aaa;
}
@media (max-width: 767px) {
  .mw_wp_form .file_label {
    font-size: 14px;
    font-size: 7.4666666667vw;
    padding: 0 3.7333333333vw;
    border-radius: 4vw;
  }
}
.mw_wp_form .mwform-file-delete {
  margin-left: 15px;
  margin-right: 10px;
}
@media (max-width: 767px) {
  .mw_wp_form .mwform-file-delete {
    margin-left: 8vw;
    margin-right: 5.3333333333vw;
  }
}

.mw_wp_form_confirm .file_label {
  display: none;
}

.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 (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: 1.0666666667rem;
  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 (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;
}

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

/*////////////////////////// 入力画面・確認画面 //////////////////////////*/
.mw_wp_form_input .error {
  width: 100%;
}
.mw_wp_form_input .form__btn-col:first-of-type {
  display: none;
}

.mw_wp_form_confirm .form__row {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .mw_wp_form_confirm .form__row {
    margin-top: 17.0666666667vw;
  }
}
.mw_wp_form_confirm .form__row.mail_confirm {
  display: none;
}
.mw_wp_form_confirm .form__col:nth-of-type(2) {
  font-size: 14px;
  font-size: 0.9333333333rem;
}
@media (max-width: 767px) {
  .mw_wp_form_confirm .form__col:nth-of-type(2) {
    font-size: 14px;
    font-size: 7.4666666667vw;
  }
}
.mw_wp_form_confirm .form__btn {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .mw_wp_form_confirm .form__btn {
    margin-top: 24vw;
  }
}
.mw_wp_form_confirm .form__btn-col.btn__more {
  margin: 0;
}
.mw_wp_form_confirm .form__btn-col:first-of-type {
  display: block;
}
@media (max-width: 767px) {
  .mw_wp_form_confirm .form__btn-col.back {
    margin-top: 18.6666666667vw;
  }
}
.mw_wp_form_confirm .form__note {
  display: none;
}

.wpcf7-spinner {
  display: none;
}

/* module > btn
============================================================================ */
.btn__more {
  font-size: 14px;
  font-size: 0.9333333333rem;
  position: relative;
  display: block;
  width: 261px;
  padding: 15px 0;
  margin: 50px auto 0;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  left: 0.05em;
  background: black;
  color: white;
  text-align: center;
  cursor: pointer;
}
@media (max-width: 767px) {
  .btn__more {
    font-size: 13px;
    font-size: 6.9333333333vw;
    width: 116vw;
    padding-bottom: 10.6666666667vw;
    margin-top: 22.6666666667vw;
  }
}
.btn__more:hover {
  opacity: 1;
}

.btn_basic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 400px;
  height: 79px;
  padding: 21px 0;
  border: 1px solid #606060;
  margin: 0 auto;
  color: #1a1a1a;
  font-weight: 400;
  background-color: transparent;
  position: relative;
  text-align: center;
  transition: 0.4s;
  cursor: pointer;
}
@media (max-width: 767px) {
  .btn_basic {
    width: 74.6666666667vw;
    height: 15.2vw;
    padding: 5.3333333333vw 0;
    font-size: 3.2vw;
    border: 0.2666666667vw solid #606060;
  }
}
.btn_basic input {
  width: 100%;
  height: 79px;
  text-align: center;
}
@media (max-width: 767px) {
  .btn_basic input {
    height: 15.2vw;
  }
}
.btn_basic span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  position: absolute;
  right: -22.5px;
  bottom: 17px;
  border-radius: 22.5px;
  padding: 2px 16px;
  border: solid 1px #606060;
  background-color: white;
  transition: 0.4s;
}
@media (max-width: 767px) {
  .btn_basic span {
    width: 8.8vw;
    height: 8.8vw;
    right: -4.4vw;
    bottom: 3.2vw;
    border-radius: 4.4vw;
    padding: 0.5333333333vw 3.2vw;
    border: 0.2666666667vw solid #606060;
  }
}
.btn_basic.white {
  background-color: white;
}
.btn_basic.white span {
  background-color: white;
}
.btn_basic.red {
  color: white;
  background-color: #930002;
  border-color: white;
}
.btn_basic.red span {
  background-color: #930002;
  border-color: white;
}
.btn_basic.red:hover {
  color: white;
}
.btn_basic.beige {
  background-color: #e1dfd7;
}
.btn_basic.beige span {
  background-color: #e1dfd7;
}
.btn_basic:hover {
  color: #b60003;
  opacity: 1;
  border-radius: 10px;
}
@media (max-width: 767px) {
  .btn_basic:hover {
    border-radius: 2.6666666667vw;
  }
}
.btn_basic:hover span {
  right: -27px;
}
@media (max-width: 767px) {
  .btn_basic:hover span {
    right: -5.0666666667vw;
  }
}

.btn__normal {
  position: relative;
  font-size: 12px;
  line-height: 1.4166666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: inline-flex;
  justify-content: center;
  max-width: 255px;
  width: 100%;
  background: white;
  padding: 16px 8px;
  border: 2px solid #930002;
}
@media (max-width: 767px) {
  .btn__normal {
    padding: 10px 5px;
  }
}
.btn__normal:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  background-image: url(./img/common/arw_btn_normal_red.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 7.5px;
  height: 15px;
  transition: 0.4s;
}
.btn__normal:hover {
  color: white;
  background-color: #930002;
  opacity: 1;
}
.btn__normal:hover:after {
  background-image: url(./img/common/arw_btn_normal_white.svg);
  right: 8px;
}
.btn__normal.transparent {
  background-color: transparent;
}
.btn__normal.transparent:hover {
  background-color: #930002;
}

.l-buttons {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  align-items: center;
}

/*  module > breadcrumbs
============================================================================================================ */
.mod-breadcrumbs__inner {
  background-color: #ececec;
  padding: 8px 10px;
}
.mod-breadcrumbs__list {
  font-size: 13px;
  letter-spacing: 0.1em;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: stretch;
  flex-direction: row;
  overflow-x: auto;
}
@media (max-width: 767px) {
  .mod-breadcrumbs__list {
    font-size: 10px;
  }
}
.mod-breadcrumbs__list span[property=itemListElement] {
  display: inline;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .mod-breadcrumbs__list span[property=itemListElement]:nth-of-type(n + 4) {
    max-width: 20rem;
    text-overflow: ellipsis;
    overflow: hidden;
  }
}
.mod-breadcrumbs__list span[property=itemListElement] a {
  color: #878787;
  text-decoration: none;
}
.mod-breadcrumbs__list span[property=itemListElement] a:hover {
  text-decoration: underline;
}
.mod-breadcrumbs__list span.current-item {
  color: #1a1a1a;
}
.mod-breadcrumbs__separator {
  display: inline-block;
  background-image: url(./img/common/arw_breadcrumbs.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  min-width: 7px;
  height: 12px;
  margin: 0 4px;
  vertical-align: baseline;
}

/* module > pagination （WP-Pagenavi）
============================================================================ */
.common-section.pt-150 {
  padding-top: 150px;
}
@media (max-width: 767px) {
  .common-section.pt-150 {
    padding-top: 90px;
  }
}
.common-section.pt-120 {
  padding-top: 120px;
}
@media (max-width: 767px) {
  .common-section.pt-120 {
    padding-top: 80px;
  }
}
.common-section.pt-100 {
  padding-top: 100px;
}
@media (max-width: 767px) {
  .common-section.pt-100 {
    padding-top: 40px;
  }
}
.common-section.pt-80 {
  padding-top: 80px;
}
@media (max-width: 767px) {
  .common-section.pt-80 {
    padding-top: 40px;
  }
}
.common-section.pt-70 {
  padding-top: 70px;
}
@media (max-width: 767px) {
  .common-section.pt-70 {
    padding-top: 40px;
  }
}
.common-section.pt-60 {
  padding-top: 60px;
}
@media (max-width: 767px) {
  .common-section.pt-60 {
    padding-top: 30px;
  }
}
.common-section.pt-40 {
  padding-top: 40px;
}
@media (max-width: 767px) {
  .common-section.pt-40 {
    padding-top: 25px;
  }
}
.common-section.pb-150 {
  padding-bottom: 150px;
}
@media (max-width: 767px) {
  .common-section.pb-150 {
    padding-bottom: 100px;
  }
}
.common-section.pb-120 {
  padding-bottom: 120px;
}
@media (max-width: 767px) {
  .common-section.pb-120 {
    padding-bottom: 80px;
  }
}
.common-section.pb-100 {
  padding-bottom: 100px;
}
@media (max-width: 767px) {
  .common-section.pb-100 {
    padding-bottom: 60px;
  }
}
.common-section.pb-80 {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  .common-section.pb-80 {
    padding-bottom: 40px;
  }
}
.common-section.pb-70 {
  padding-bottom: 70px;
}
@media (max-width: 767px) {
  .common-section.pb-70 {
    padding-bottom: 40px;
  }
}
.common-section.pb-60 {
  padding-bottom: 60px;
}
@media (max-width: 767px) {
  .common-section.pb-60 {
    padding-bottom: 30px;
  }
}
.common-section.pb-40 {
  padding-bottom: 40px;
}
@media (max-width: 767px) {
  .common-section.pb-40 {
    padding-bottom: 25px;
  }
}
.common-section.yellow {
  background-color: #e1dfd7;
}
.common-section.white01 {
  background-color: #f7f7f7;
}
.common-section.gray07 {
  background-color: #e1dfd7;
}

.common-pageheader__lead {
  text-align: center;
}
@media (max-width: 767px) {
  .common-pageheader__lead {
    text-align: left;
  }
}

.common-heading.xlg {
  font-size: 40px;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.1em;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .common-heading.xlg {
    font-size: 30px;
    margin-bottom: 36px;
  }
}
.common-heading.lg {
  margin-bottom: 58px;
}
@media (max-width: 767px) {
  .common-heading.lg {
    margin-bottom: 40px;
  }
}
.common-heading.lg .ja {
  display: block;
  font-size: 34px;
  font-size: 2.2666666667rem;
  font-weight: 500;
  line-height: 1.4411764706;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .common-heading.lg .ja {
    font-size: 24px;
  }
}
.common-heading.lg .en {
  display: block;
  position: relative;
  font-size: 22px;
  font-size: 1.4666666667rem;
  font-weight: 500;
  line-height: 1.1818181818;
  letter-spacing: 0.1em;
  padding-top: 16px;
  margin-top: 16px;
}
.common-heading.lg .en:before {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  background-color: #930002;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-50%);
}
.common-heading.ml {
  font-size: 28px;
  font-size: 1.8666666667rem;
  font-weight: 700;
  line-height: 1.7142857143;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .common-heading.ml {
    font-size: 20px;
    margin-bottom: 36px;
  }
}
.common-heading.ml .sub {
  display: block;
  font-size: 17px;
  line-height: 1.6470588235;
  font-weight: 700;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .common-heading.ml .sub {
    font-size: 16px;
    margin-bottom: 4px;
  }
}
.common-heading.ml .small {
  font-size: 15px;
  font-weight: 500;
}
@media (max-width: 767px) {
  .common-heading.ml .small {
    font-size: 13px;
  }
}
.common-heading.md {
  font-size: 26px;
  font-size: 1.7333333333rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 60px;
  padding-bottom: 20px;
  position: relative;
}
@media (max-width: 767px) {
  .common-heading.md {
    font-size: 18px;
    margin-bottom: 36px;
  }
}
.common-heading.md:after {
  content: "";
  display: block;
  width: 60px;
  height: 7px;
  background-color: #930002;
  position: absolute;
  bottom: 0;
  left: 0;
}
.common-heading.md.border-none {
  padding-bottom: 0;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .common-heading.md.border-none {
    margin-bottom: 30px;
  }
}
.common-heading.md.border-none:after {
  display: none;
}
.common-heading.md .large {
  font-size: 38px;
}
@media (max-width: 767px) {
  .common-heading.md .large {
    font-size: 24px;
  }
}
.common-heading.md-icn {
  position: relative;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .common-heading.md-icn {
    margin-bottom: 36px;
  }
}
.common-heading.md-icn:has(.common-heading__group) {
  display: flex;
  align-items: flex-end;
  gap: 16px;
}
@media (max-width: 767px) {
  .common-heading.md-icn:has(.common-heading__group) {
    gap: 8px;
  }
}
.common-heading.md-icn:has(.common-heading__group):before {
  content: "";
  flex-shrink: 0;
  width: 42px;
  aspect-ratio: 42/29;
  background-image: url(./img/common/icn/icn-house-red.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 767px) {
  .common-heading.md-icn:has(.common-heading__group):before {
    width: 31px;
  }
}
.common-heading.md-icn:has(.common-heading__group):after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 42px;
  width: 50vw;
  height: 3px;
  background-color: #d9d9d9;
  transform: translateX(-100%) translateY(100%);
}
@media (max-width: 767px) {
  .common-heading.md-icn:has(.common-heading__group):after {
    left: 31px;
  }
}
.common-heading.md-icn:has(.common-heading__group).border-white:after {
  background-color: white;
}
.common-heading.md-icn .en {
  display: block;
  color: #878787;
  font-family: "Abhaya Libre", sans-serif;
  font-size: 21px;
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1.1904761905;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  .common-heading.md-icn .en {
    font-size: 17px;
  }
}
.common-heading.md-icn .ja {
  display: block;
  font-size: 32px;
  font-size: 2.1333333333rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .common-heading.md-icn .ja {
    font-size: 22px;
  }
}
.common-heading.sm {
  font-size: 20px;
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.7;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .common-heading.sm {
    font-size: 18px;
  }
}
.common-heading.xlg-en {
  color: #930002;
  font-size: 60px;
  font-size: 4rem;
  font-weight: 800;
  line-height: 1.1833333333;
  letter-spacing: 0.1em;
  font-family: "Abhaya Libre", sans-serif;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .common-heading.xlg-en {
    font-size: 40px;
  }
}
.common-heading.lg-en {
  font-size: 36px;
  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1.1666666667;
  letter-spacing: 0.1em;
  font-family: "Abhaya Libre", sans-serif;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .common-heading.lg-en {
    font-size: 30px;
  }
}
.common-heading.wide {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  padding: 0 30px;
  margin: 0 auto 30px;
}
.common-heading.wide:before, .common-heading.wide:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 3px;
  height: 100%;
  background-color: #930002;
}
.common-heading.wide:before {
  left: 0;
  transform: translateY(-35%) rotate(-45deg);
}
.common-heading.wide:after {
  right: 0;
  transform: translateY(-35%) rotate(45deg);
}
.common-heading.wide span {
  display: block;
  font-size: 26px;
  line-height: 1.2307692308;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .common-heading.wide span {
    font-size: 18px;
  }
}
.common-heading.wide b {
  display: block;
  font-size: 38px;
  line-height: 1.6842105263;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .common-heading.wide b {
    font-size: 26px;
  }
}
.common-heading.bubble {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-size: 38px;
  line-height: 1.4473684211;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding: 0 30px 15px;
  margin: 0 auto 50px;
  border-bottom: 3px solid #930002;
  border-radius: 2px;
}
@media (max-width: 767px) {
  .common-heading.bubble {
    font-size: 26px;
    padding: 0 10px 5px;
    margin: 0 auto 30px;
  }
}
.common-heading.bubble:before, .common-heading.bubble:after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 3px;
  height: 50%;
  max-height: 20px;
  background-color: #930002;
  border-radius: 2px 2px 0 0;
}
.common-heading.bubble:before {
  left: 0;
}
.common-heading.bubble:after {
  right: 0;
}
.common-heading.bubble .triangle:before {
  content: "";
  position: absolute;
  right: 30%;
  bottom: 1px;
  width: 28px;
  height: 5px;
  background-color: #f7f7f7;
  transform: translateY(100%) translateX(-1px);
}
@media (max-width: 767px) {
  .common-heading.bubble .triangle:before {
    width: 18px;
  }
}
.common-heading.bubble .triangle:after {
  content: "";
  position: absolute;
  right: 30%;
  bottom: 0;
  width: 42px;
  aspect-ratio: 1/1;
  background-image: url(./img/common/arrow-bubble-red.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  transform: translateY(100%);
}
@media (max-width: 767px) {
  .common-heading.bubble .triangle:after {
    width: 28px;
    background-image: url(./img/common/arrow-bubble-red-sp.svg);
  }
}
.common-heading.bubble.left-gray {
  margin-left: 0;
}
.common-heading.bubble.left-gray .triangle:before {
  background-color: #e1dfd7;
}
.common-heading.weight-medium {
  font-weight: 500;
}
.common-heading.center {
  text-align: center;
}
.common-heading.center:after {
  left: 50%;
  transform: translateX(-50%);
}
.common-heading.center .en:before {
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.common-heading.white {
  color: white;
}
.common-heading.mb-none {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .common-paragraph {
    font-size: 14px;
  }
}

.common-sidenav {
  z-index: 1000;
  position: fixed;
  bottom: 50%;
  right: 0;
  transform: translateY(50%);
  visibility: hidden;
  opacity: 0;
  transition: 0.4s;
}
@media (max-width: 767px) {
  .common-sidenav {
    bottom: 0;
    transform: none;
    width: 100%;
  }
}
.common-sidenav.active {
  visibility: visible;
  opacity: 1;
}
.common-sidenav__buttons {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
@media (max-width: 767px) {
  .common-sidenav__buttons {
    background-color: white;
    flex-direction: row;
    gap: 2px;
  }
}
.common-sidenav__button {
  width: 100%;
}
.common-sidenav__button a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 5px;
  color: white;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.35em;
  writing-mode: vertical-rl;
  background-color: #930002;
  padding: 12px 10px;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .common-sidenav__button a {
    gap: 7px;
    writing-mode: initial;
    letter-spacing: 0.1em;
    padding: 10px;
  }
}
.common-sidenav__button a img {
  max-width: 32px;
}
@media (max-width: 767px) {
  .common-sidenav__button a img {
    max-width: 42px;
  }
}
.common-sidenav__present {
  display: block;
}
.common-sidenav__red {
  display: flex;
  align-items: center;
  gap: 10px;
  color: white;
  font-size: 14px;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-weight: 700;
  background-color: #930002;
  padding: 10px 16px;
}
.common-sidenav__red img {
  max-width: 42px;
}
.common-sidenav__red:after {
  content: "";
  flex-shrink: 0;
  width: 10px;
  aspect-ratio: 10/20;
  background-image: url(./img/common/arw_btn_normal_white.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.common-sidenav__gray {
  text-align: center;
  background-color: #d9d9d9;
  padding: 4px 8px;
}
.common-sidenav__gray b {
  font-size: 21px;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 700;
}
.common-sidenav__gray span {
  font-size: 13px;
  line-height: 1.4615384615;
  letter-spacing: 0em;
  font-weight: 500;
}

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

.common-align-left {
  text-align: left !important;
}

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

.common-forms__grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 48px;
}
@media (max-width: 1024px) {
  .common-forms__grid {
    gap: 36px;
  }
}
.common-forms__colmun {
  position: relative;
  width: calc(50% - 24px);
  padding: 40px 30px 60px;
  background: white;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 1024px) {
  .common-forms__colmun {
    width: 100%;
    padding: 40px 15px;
  }
}
.common-forms__colmun.radius {
  border-radius: 24px;
}
.common-forms__colmun.bg-none {
  padding: 0;
  box-shadow: none;
  background-color: transparent;
}
.common-forms__colmun:has(.common-forms__more.js-more) .common-forms__post {
  overflow: hidden;
}
@media (max-width: 1024px) {
  .common-forms__colmun:has(.common-forms__more.js-more) .common-forms__post {
    max-height: 80px;
  }
}
.common-forms__colmun:has(.common-forms__more.js-more) .common-forms__post.is-show {
  max-height: none;
}
.common-forms__colmun:has(.common-forms__more.js-more) .common-forms__post.is-show ~ .common-forms__more {
  display: none;
}
.common-forms__thumbnail {
  max-width: 350px;
  margin: 0 auto 30px;
}
@media (max-width: 767px) {
  .common-forms__thumbnail {
    margin-bottom: 20px;
  }
}
.common-forms__post {
  transition: all;
}
.common-forms__post .wp-block-gallery {
  padding-left: 0;
  padding-right: 0;
  margin: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  align-content: stretch;
  flex-direction: row;
  -moz-column-gap: 8px;
       column-gap: 8px;
}
.common-forms__post .wp-block-gallery .blocks-gallery-item {
  list-style: none;
  margin: 0;
}
.common-forms__post .wp-block-gallery img {
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
.common-forms__more {
  cursor: pointer;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  color: #606060;
  font-size: 14px;
  line-height: 2;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(to bottom, transparent 0%, white 50%);
  padding: 45px 20px 15px;
  border: none;
  visibility: hidden;
  opacity: 0;
  border-radius: 24px;
}
@media (max-width: 1024px) {
  .common-forms__more {
    visibility: visible;
    opacity: 1;
  }
}
.common-forms__more span {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  background-color: white;
  border-radius: 50%;
  border: 1px solid #606060;
}
.common-forms__block {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 12px;
}
.common-forms__block:not(:last-child) {
  padding-bottom: 30px;
  border-bottom: 1px solid #d9d9d9;
  margin-bottom: 30px;
}
.common-forms__block.is-horizontal .c-forms__title {
  min-width: 220px;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .common-forms__block.is-horizontal .c-forms__title {
    justify-content: flex-start;
  }
}
.common-forms__fieldset {
  display: contents;
}
.common-forms__title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 16px;
  font-weight: 700;
}
@media (max-width: 767px) {
  .common-forms__title {
    font-size: 14px;
  }
}
.common-forms__title.is-vertical-top {
  align-self: start;
}
.common-forms__caution {
  display: block;
  color: #930002;
  font-size: 10px;
  line-height: 1.8;
  letter-spacing: 0em;
  font-weight: 500;
}
.common-forms__label {
  display: block;
  min-width: 42px;
  padding: 2px 4px;
  background-color: #930002;
  text-align: center;
  color: white;
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: 0.2em;
  font-weight: 400;
}
.common-forms__content {
  width: 100%;
}
.common-forms__content.is-column {
  display: flex;
  justify-content: space-between;
}
.common-forms__content.is-column .c-forms__input {
  margin-right: 24px;
}
.common-forms__content.is-column .c-forms__input:last-of-type {
  margin-right: 0;
}
.common-forms__content.is-column input {
  width: 100%;
}
.common-forms__content.is-vertical-middle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.common-forms__content .wpcf7-not-valid-tip {
  display: block;
  font-size: 10px;
  line-height: 2;
  color: #930002;
}
.common-forms__content:has(.wpcf7-not-valid-tip) input,
.common-forms__content:has(.wpcf7-not-valid-tip) textarea,
.common-forms__content:has(.wpcf7-not-valid-tip) select,
.common-forms__content:has(.wpcf7-not-valid-tip) label:has(input[type=radio]),
.common-forms__content:has(.wpcf7-not-valid-tip) label:has(input[type=checkbox]) {
  background-color: rgba(147, 0, 2, 0.05);
  color: #930002;
  border-color: #930002;
}
.common-forms__input {
  width: 100%;
}
.common-forms__input input {
  display: block;
  border-radius: 0;
  background-color: white;
}
.common-forms__input input:focus, .common-forms__input input:active {
  border-color: blue;
}
.common-forms__input #reservation {
  height: 39px;
  border-radius: unset;
}
.common-forms__input.is-sm {
  width: 180px;
}
.common-forms__paragraph {
  font-size: 10px;
  line-height: 1.8;
  letter-spacing: 0em;
  font-weight: 500;
}
.common-forms__paragraph a {
  color: #930002;
}
.common-forms__paragraph a:hover {
  text-decoration-line: underline;
}
.common-forms__file {
  width: 100%;
}
.common-forms__file input {
  border-radius: 0;
  background-color: white;
  width: 100%;
}
.common-forms__file input:focus, .common-forms__file input:active {
  border-color: blue;
}
.common-forms__select {
  width: 100%;
}
.common-forms__select select {
  border-radius: 0;
  background-color: white;
}
.common-forms__select select:focus, .common-forms__select select:active {
  border-color: blue;
}
.common-forms__select.is-sm {
  width: 180px;
}
.common-forms__textarea textarea {
  border-radius: 0;
  background-color: white;
}
.common-forms__textarea textarea:focus, .common-forms__textarea textarea:active {
  border-color: blue;
}
.common-forms__radio:where(:not(.is-mw)) > span > span, .common-forms__checkbox:where(:not(.is-mw)) > span > span {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .common-forms__radio:where(:not(.is-mw)) > span > span, .common-forms__checkbox:where(:not(.is-mw)) > span > span {
    flex-direction: column;
  }
}
.common-forms__radio:where(:not(.is-mw)) > span > span > span, .common-forms__checkbox:where(:not(.is-mw)) > span > span > span {
  width: calc(50% - 5px);
}
@media (max-width: 767px) {
  .common-forms__radio:where(:not(.is-mw)) > span > span > span, .common-forms__checkbox:where(:not(.is-mw)) > span > span > span {
    width: 100%;
  }
}
.common-forms__radio:where(:not(.is-mw)) > span > span > *:only-child, .common-forms__checkbox:where(:not(.is-mw)) > span > span > *:only-child {
  width: 100%;
}
.common-forms__radio:where(:not(.is-mw)).is-vertical, .common-forms__checkbox:where(:not(.is-mw)).is-vertical {
  flex-direction: column;
}
.common-forms__radio:where(:not(.is-mw)).is-vertical > span > span > span, .common-forms__checkbox:where(:not(.is-mw)).is-vertical > span > span > span {
  width: 100%;
}
.common-forms__radio:where(.is-mw), .common-forms__checkbox:where(.is-mw) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .common-forms__radio:where(.is-mw), .common-forms__checkbox:where(.is-mw) {
    flex-direction: column;
  }
  .common-forms__radio:where(.is-mw) > span, .common-forms__checkbox:where(.is-mw) > span {
    width: 100%;
  }
}
.common-forms__radio:where(.is-mw) > span, .common-forms__checkbox:where(.is-mw) > span {
  width: calc(50% - 5px);
}
.common-forms__radio:where(.is-mw).is-vertical, .common-forms__checkbox:where(.is-mw).is-vertical {
  flex-direction: column;
}
.common-forms__radio:where(.is-mw).is-vertical > span, .common-forms__checkbox:where(.is-mw).is-vertical > span {
  width: 100%;
}
.common-forms__radio label, .common-forms__checkbox label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.common-forms__radio label > span, .common-forms__checkbox label > span {
  margin-left: 10px;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 500;
}
.common-forms__radio.is-border label, .common-forms__checkbox.is-border label {
  border-radius: 0;
  background-color: white;
  padding: 6px 10px;
  border: 1px solid #d9d9d9;
}
.common-forms__radio.is-border label:focus, .common-forms__radio.is-border label:active, .common-forms__checkbox.is-border label:focus, .common-forms__checkbox.is-border label:active {
  border-color: blue;
}
.common-forms__radio.is-design input, .common-forms__checkbox.is-design input {
  cursor: pointer;
  border-color: #d9d9d9;
  flex-shrink: 0;
}
.common-forms__radio.is-design input[type=radio], .common-forms__radio.is-design input[type=checkbox], .common-forms__checkbox.is-design input[type=radio], .common-forms__checkbox.is-design input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: white;
  border: 1px solid #d9d9d9;
  width: 20px;
  height: 20px;
  position: relative;
}
.common-forms__radio.is-design input[type=radio]:checked::after, .common-forms__radio.is-design input[type=checkbox]:checked::after, .common-forms__checkbox.is-design input[type=radio]:checked::after, .common-forms__checkbox.is-design input[type=checkbox]:checked::after {
  width: 100%;
  height: 100%;
  position: relative;
  top: 50%;
  left: -1px;
  transform: translateY(-50%);
  background-color: white;
  content: "";
  display: inline-block;
  visibility: visible;
  border: 1px solid #930002;
}
.common-forms__radio.is-design input[type=radio]::after, .common-forms__checkbox.is-design input[type=radio]::after {
  border-radius: 50%;
}
.common-forms__radio.is-design input[type=radio]:checked::after, .common-forms__checkbox.is-design input[type=radio]:checked::after {
  content: "";
  background: radial-gradient(#930002 48%, white 50%);
}
.common-forms__radio.is-design input[type=checkbox]:checked::after, .common-forms__checkbox.is-design input[type=checkbox]:checked::after {
  display: grid;
  place-content: center;
  background: #930002;
  color: white;
  font-size: 20px;
}
.common-forms__radio.is-place label, .common-forms__checkbox.is-place label {
  gap: 20px;
}
@media (max-width: 767px) {
  .common-forms__radio.is-place label, .common-forms__checkbox.is-place label {
    flex-direction: column;
  }
}
.common-forms__radio.is-place label:not(:last-child), .common-forms__checkbox.is-place label:not(:last-child) {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .common-forms__radio.is-place label:not(:last-child), .common-forms__checkbox.is-place label:not(:last-child) {
    margin-bottom: 40px;
  }
}
.common-forms__radio--img, .common-forms__checkbox--img {
  flex-shrink: 0;
  text-align: center;
  width: 30.2419354839%;
  aspect-ratio: 1/1;
}
@media (max-width: 767px) {
  .common-forms__radio--img, .common-forms__checkbox--img {
    width: 55.5555555556%;
  }
}
.common-forms__radio--img img, .common-forms__checkbox--img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.common-forms__radio--input, .common-forms__checkbox--input {
  width: 100%;
}
.common-forms__radio--input input, .common-forms__checkbox--input input {
  display: block;
  margin-bottom: 20px;
}
.common-forms__radio--public, .common-forms__checkbox--public {
  color: #930002;
  font-size: 12px;
  line-height: 1.4166666667;
  font-weight: 500;
  margin-bottom: 6px;
}
.common-forms__radio--title, .common-forms__checkbox--title {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 12px;
}
.common-forms__radio--text, .common-forms__checkbox--text {
  font-size: 14px;
  line-height: 1.4285714286;
}
.common-forms__radio--text small, .common-forms__checkbox--text small {
  font-size: 85%;
}
.common-forms__privacy {
  margin-top: 24px;
  text-align: center;
}
.common-forms__privacy input {
  margin-right: 10px;
}
.common-forms__privacy a {
  font-weight: 400;
  text-decoration-line: underline;
  color: #e1dfd7;
}
.common-forms__flex-als {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.common-forms__flex-als > *:only-child {
  grid-column: 1/-1;
}
.common-forms__flex-als > *:nth-child(3) {
  grid-column: 1/-1;
}
.common-forms__flex-al {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.common-forms__flex-al:has(.common-forms__small) {
  align-items: center;
}
.common-forms__small {
  color: #878787;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0em;
  font-weight: 500;
}
.common-forms__flexbox {
  display: flex;
  align-items: flex-start;
  margin-bottom: 16px;
  gap: 8px;
}
@media (max-width: 767px) {
  .common-forms__flexbox {
    display: block;
    margin-bottom: 8px;
  }
}
.common-forms__flexbox input {
  width: 100%;
}
.common-forms__flexbox:last-child {
  margin-bottom: 0;
}
.common-forms__flexbox-label {
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0em;
  font-weight: 500;
  min-width: 60px;
  display: block;
  padding-top: calc((32px - 1.8666666667em) / 1.5);
}
@media (max-width: 767px) {
  .common-forms__flexbox-label {
    min-width: 100%;
    margin-bottom: 8px;
  }
}
.common-forms__flexbox-label.is-sm {
  min-width: 4em;
}
.common-forms__button {
  cursor: pointer;
  flex: none;
  max-width: 132px;
  border: 1px solid #e1dfd7;
  outline: none;
  background-color: white;
  padding: 4px 12px;
  display: block;
  text-align: center;
  font-size: 12px;
}
@media (max-width: 767px) {
  .common-forms__button {
    padding: 3px 12px;
  }
}
.common-forms__submit {
  text-align: center;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .common-forms__submit {
    margin-top: 40px;
  }
}
.common-forms__transition {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .common-forms__transition {
    margin-bottom: 20px;
  }
}

.common-board__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 60px;
}
@media (max-width: 767px) {
  .common-board__blocks {
    gap: 36px;
  }
}
.common-board__block {
  background-color: white;
  padding: 40px;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .common-board__block {
    padding: 20px 10px;
  }
}
.common-board__title {
  color: #930002;
  text-align: center;
  font-size: 17px;
  line-height: 1.4705882353;
  letter-spacing: 0em;
  font-weight: 700;
  padding-bottom: 10px;
  border-bottom: 2px solid #930002;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .common-board__title {
    font-size: 15px;
  }
}
.common-board__contents {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 40px;
}
@media (max-width: 767px) {
  .common-board__contents {
    gap: 20px;
  }
}
.common-board__label {
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  color: white;
  font-size: 13px;
  line-height: 1.7692307692;
  font-weight: 500;
  background-color: #930002;
  padding: 2px 20px;
  margin: 0 auto 10px;
}
@media (max-width: 767px) {
  .common-board__label {
    font-size: 13px;
  }
}
.common-board__text {
  text-align: center;
  font-size: 13px;
  line-height: 1.7692307692;
  font-weight: 500;
}
@media (max-width: 767px) {
  .common-board__text {
    text-align: left;
  }
}
.common-board__text span {
  color: #930002;
}

.common-contact__tell {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  background-color: white;
  padding: 20px;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .common-contact__tell {
    gap: 8px;
    padding: 12px 6px;
  }
}
.common-contact__icn {
  flex-shrink: 0;
  max-width: 90px;
}
@media (max-width: 767px) {
  .common-contact__icn {
    max-width: 45px;
  }
}
.common-contact__content {
  text-align: center;
}
.common-contact__number {
  font-size: 20px;
  line-height: 1.45;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .common-contact__number {
    font-size: 15px;
    margin-bottom: 5px;
  }
}
.common-contact__time {
  font-size: 14px;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .common-contact__time {
    font-size: 12px;
  }
}
.common-contact__title.common-heading.md {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .common-contact__title.common-heading.md {
    margin-bottom: 20px;
  }
}

.common-thanks__img {
  width: 220px;
  margin: 32px auto;
}
@media (max-width: 767px) {
  .common-thanks__img {
    width: 58.6666666667vw;
    margin: 6.4vw auto;
  }
}
.common-thanks__button {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .common-thanks__button {
    margin-top: 40px;
  }
}

.common-secondview__container {
  position: relative;
}
.common-secondview__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 120px;
}
@media (max-width: 767px) {
  .common-secondview__blocks {
    gap: 80px;
  }
}
.common-secondview__block {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
}
@media (max-width: 1024px) {
  .common-secondview__block {
    flex-direction: column;
    gap: 0;
  }
}
.common-secondview__block:nth-child(odd) .common-secondview__image {
  margin-right: -14%;
}
@media (max-width: 1024px) {
  .common-secondview__block:nth-child(odd) .common-secondview__image {
    margin-right: 0;
  }
}
.common-secondview__block:nth-child(even) {
  flex-direction: row-reverse;
}
@media (max-width: 1024px) {
  .common-secondview__block:nth-child(even) {
    flex-direction: column;
  }
}
.common-secondview__block:nth-child(even) .common-secondview__image {
  margin-left: -14%;
}
@media (max-width: 1024px) {
  .common-secondview__block:nth-child(even) .common-secondview__image {
    margin-left: 0;
  }
}
.common-secondview__content {
  position: relative;
  width: 100%;
}
@media (max-width: 1024px) {
  .common-secondview__content {
    display: contents;
  }
}
.common-secondview__heading {
  position: relative;
  width: 100%;
  margin-bottom: 24px;
}
@media (max-width: 1024px) {
  .common-secondview__heading {
    order: 1;
  }
}
@media (max-width: 767px) {
  .common-secondview__heading {
    margin-bottom: 20px;
  }
}
.common-secondview__text {
  position: relative;
  width: 100%;
  font-size: 18px;
  line-height: 2.2222222222;
  font-weight: 500;
}
@media (max-width: 1024px) {
  .common-secondview__text {
    order: 3;
    margin-top: 20px;
  }
}
@media (max-width: 767px) {
  .common-secondview__text {
    font-size: 16px;
  }
}
.common-secondview__image {
  position: relative;
  flex-shrink: 0;
  width: 59%;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 1024px) {
  .common-secondview__image {
    width: 100%;
    order: 2;
  }
}
.common-secondview__999 {
  width: 100%;
  margin-left: 38.0149812734%;
  margin-top: 60px;
}
@media (max-width: 1024px) {
  .common-secondview__999 {
    text-align: center;
    margin-left: 0;
    order: 4;
  }
}
@media (max-width: 767px) {
  .common-secondview__999 {
    margin-top: 40px;
  }
}
.common-secondview__999 img {
  max-width: 247px;
}
.common-secondview__button {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .common-secondview__button {
    margin-top: 40px;
  }
}
.common-secondview.type-design {
  position: relative;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__blocks {
    gap: 80px;
  }
}
@media (max-width: 767px) {
  .common-secondview.type-design .common-secondview__blocks {
    gap: 60px;
  }
}
.common-secondview.type-design .common-secondview__block {
  align-items: flex-start;
  gap: 40px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block {
    gap: 0;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(odd) .common-secondview__image {
  margin-right: -6%;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(odd) .common-secondview__image {
    margin-right: 0;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(even) {
  flex-direction: row-reverse;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(even) {
    flex-direction: column;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(even) .common-secondview__image {
  margin-left: -6%;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(even) .common-secondview__image {
    margin-left: 0;
  }
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(2) {
    margin-top: 20px;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(2)::before {
  content: "";
  position: absolute;
  top: 190px;
  left: -50vw;
  width: 200vw;
  height: 100%;
  background-color: #e1dfd7;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(2)::before {
    top: 300px;
  }
}
@media (max-width: 767px) {
  .common-secondview.type-design .common-secondview__block:nth-child(2)::before {
    top: 180px;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(2) .common-secondview__content {
  margin-left: 70px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(2) .common-secondview__content {
    margin-left: 0;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(2) .common-secondview__heading {
  margin-bottom: 95px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(2) .common-secondview__heading {
    margin-bottom: 0;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(2) .common-secondview__image {
  width: 56.1403508772%;
  margin-top: 60px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(2) .common-secondview__image {
    margin-left: -32px;
    width: 90%;
  }
}
@media (max-width: 767px) {
  .common-secondview.type-design .common-secondview__block:nth-child(2) .common-secondview__image {
    margin-left: -20px;
    margin-top: 40px;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(2) .common-secondview__text {
  max-width: 285px;
  margin-left: auto;
  margin-right: 10%;
  text-align: justify;
  line-height: 1.7222222222;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(2) .common-secondview__text {
    max-width: 75%;
    margin-right: 0;
  }
}
@media (max-width: 767px) {
  .common-secondview.type-design .common-secondview__block:nth-child(2) .common-secondview__text {
    max-width: 239px;
    margin-top: 30px;
    font-size: 15px;
    margin-right: 20px;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(3) {
  margin-top: -70px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(3) {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .common-secondview.type-design .common-secondview__block:nth-child(3) {
    margin-top: 0;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(3)::before {
  content: "";
  position: absolute;
  top: 0;
  left: -50vw;
  width: 200vw;
  height: calc(100% + 60px);
  background-color: #e1dfd7;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(3)::before {
    height: calc(100% + 168px);
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(3) .common-secondview__content {
  margin-left: 80px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(3) .common-secondview__content {
    margin-left: 0;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(3) .common-secondview__heading {
  margin-bottom: 60px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(3) .common-secondview__heading {
    margin-bottom: 30px;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(3) .common-secondview__image {
  width: 40.7894736842%;
  margin-right: 0;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(3) .common-secondview__image {
    order: 3;
    width: 72%;
    margin-top: 30px;
    margin-left: auto;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(3) .common-secondview__text {
  max-width: 300px;
  margin-left: auto;
  margin-right: 10%;
  line-height: 1.7222222222;
  text-align: justify;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(3) .common-secondview__text {
    max-width: 85%;
    padding-right: 10%;
    margin-right: auto;
  }
}
@media (max-width: 767px) {
  .common-secondview.type-design .common-secondview__block:nth-child(3) .common-secondview__text {
    font-size: 15px;
    margin-top: 0;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(4) {
  padding-left: 100px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(4) {
    padding: 0 10px;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(4) .common-secondview__content {
  margin-top: 80px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(4) .common-secondview__content {
    margin-top: 0;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(4) .common-secondview__heading {
  margin-left: 2.5%;
  margin-bottom: 60px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(4) .common-secondview__heading {
    text-align: center;
    margin-left: 0;
    margin-bottom: 30px;
    order: 2;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(4) .common-secondview__image {
  width: 40.350877193%;
  margin-left: 0;
  margin-top: -25%;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(4) .common-secondview__image {
    order: 1;
    width: 72%;
    margin: 0 auto 30px 0;
  }
}
.common-secondview.type-design .common-secondview__block:nth-child(4) .common-secondview__text {
  max-width: 560px;
  transform: translateX(-50%);
  margin-top: 0;
  line-height: 1.7222222222;
  text-align: justify;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__block:nth-child(4) .common-secondview__text {
    max-width: 100%;
    transform: none;
  }
}
@media (max-width: 767px) {
  .common-secondview.type-design .common-secondview__block:nth-child(4) .common-secondview__text {
    font-size: 15px;
  }
}
.common-secondview.type-design .common-secondview__999 {
  margin-left: 45.7746478873%;
  margin-top: 100px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__999 {
    margin-top: 60px;
    margin-left: 0;
  }
}
@media (max-width: 767px) {
  .common-secondview.type-design .common-secondview__999 {
    margin-top: 40px;
  }
}
.common-secondview.type-design .common-secondview__image {
  width: 51.7543859649%;
  margin-top: 80px;
}
@media (max-width: 1024px) {
  .common-secondview.type-design .common-secondview__image {
    width: 100%;
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .common-secondview.type-design .common-heading.xlg {
    font-size: 26px;
  }
}
@media (max-width: 767px) {
  .common-secondview__type2--title.common-heading {
    text-align: center;
    font-size: 24px;
    margin-bottom: 30px;
  }
}
.common-secondview__type2--text {
  letter-spacing: 0.1em;
  max-width: 467px;
  margin-left: auto;
}
@media (max-width: 767px) {
  .common-secondview__type2--text {
    max-width: 100%;
  }
}

.common-can__blocks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 1024px) {
  .common-can__blocks {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.common-can__block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1024px) {
  .common-can__block {
    flex-direction: row;
    gap: 20px;
    justify-content: stretch;
  }
}
.common-can__number {
  color: #930002;
  font-family: "Abhaya Libre", sans-serif;
  font-size: 70px;
  line-height: 1.1857142857;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .common-can__number {
    font-size: 50px;
  }
}
.common-can__title {
  text-align: center;
  font-size: 25px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .common-can__title {
    font-size: 20px;
  }
}
.common-can__image {
  position: relative;
}
.common-can__image:after {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #f7f7f7 10%, rgba(247, 247, 247, 0.8) 20%, rgba(247, 247, 247, 0.5) 30%, transparent 100%);
}
@media (max-width: 767px) {
  .common-can__image:after {
    background: linear-gradient(to bottom, #f7f7f7 20%, rgba(247, 247, 247, 0.8) 30%, rgba(247, 247, 247, 0.5) 40%, transparent 100%);
  }
}

.common-access__inner {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}
@media (max-width: 1024px) {
  .common-access__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
}
.common-access__map {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 50%;
  aspect-ratio: 640/427;
}
@media (max-width: 1024px) {
  .common-access__map {
    order: 2;
    width: 100%;
  }
}
.common-access__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.common-access__content {
  width: 100%;
  margin-top: 20px;
}
@media (max-width: 1024px) {
  .common-access__content {
    display: contents;
  }
}
@media (max-width: 1024px) {
  .common-access__heading.common-heading {
    order: 1;
    text-align: center;
  }
  .common-access__heading.common-heading:after {
    left: 50%;
    transform: translateX(-50%);
  }
}
.common-access__box {
  position: relative;
  padding: 40px 40px 40px 0;
}
@media (max-width: 1024px) {
  .common-access__box {
    order: 3;
    padding: 40px 30px;
  }
}
.common-access__box:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100px;
  width: calc(100% + 100px);
  height: 100%;
  background-color: white;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 1024px) {
  .common-access__box:before {
    left: 0;
    width: 100%;
  }
}
.common-access__zindex {
  position: relative;
}
.common-access__address {
  font-size: 19px;
  line-height: 1.6842105263;
  letter-spacing: 0em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .common-access__address {
    font-size: 18px;
  }
}
.common-access__table {
  margin-top: 20px;
}
.common-access__table th {
  text-align: left;
  font-weight: 500;
}
.common-access__table th, .common-access__table td {
  padding: 6px 24px 6px 0;
}
.common-access__caution {
  margin-top: 6px;
}
.common-access__button {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .common-access__button {
    margin-top: 40px;
  }
}
.common-access__button .btn_basic {
  margin-left: 0;
}
@media (max-width: 1024px) {
  .common-access__button .btn_basic {
    margin-left: auto;
  }
}

.common-change-contents__inner {
  display: flex;
}
@media (max-width: 767px) {
  .common-change-contents__inner {
    flex-direction: column;
  }
}
.common-change-contents__content {
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .common-change-contents__content {
    display: contents;
  }
}
.common-change-contents__title {
  font-size: 32px;
  line-height: 1.4375;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding-right: 12px;
  padding-bottom: 10px;
  border-bottom: 3px solid #930002;
  margin: 12px 0 20px;
}
@media (max-width: 767px) {
  .common-change-contents__title {
    order: 1;
    font-size: 24px;
    padding-right: 0;
    padding-bottom: 0;
    border-bottom: 0;
    margin-top: 0;
  }
}
.common-change-contents__text {
  letter-spacing: 0.1em;
  text-align: justify;
  margin-right: 20px;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .common-change-contents__text {
    order: 3;
    padding: 20px 0 20px 12px;
    border-left: 3px solid #930002;
    margin-right: 0;
    margin-bottom: 0;
  }
}
.common-change-contents__buttons {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: auto;
  margin-right: 15.2542372881%;
}
@media (max-width: 1024px) {
  .common-change-contents__buttons {
    margin-right: 24px;
  }
}
@media (max-width: 767px) {
  .common-change-contents__buttons {
    order: 4;
    margin-right: 0;
    margin-top: 14px;
  }
}
.common-change-contents__button {
  display: flex;
  align-items: flex-end;
  gap: 5px;
  cursor: pointer;
  color: #878787;
  transition: 0.4s;
}
.common-change-contents__button:hover, .common-change-contents__button.active {
  color: #1a1a1a;
}
.common-change-contents__button:hover b, .common-change-contents__button.active b {
  border-color: #930002;
}
.common-change-contents__button.hidden {
  color: #1a1a1a;
}
.common-change-contents__button b {
  width: 100%;
  text-align: left;
  font-size: 22px;
  line-height: 1.4545454545;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding-right: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #878787;
  margin-bottom: 8px;
}
@media (max-width: 1024px) {
  .common-change-contents__button b {
    padding-right: 5px;
    font-size: 21px;
  }
}
.common-change-contents__button small {
  flex-shrink: 0;
  font-family: "Abhaya Libre", sans-serif;
  font-size: 12px;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media (max-width: 1024px) {
  .common-change-contents__button small {
    font-size: 10px;
  }
}
.common-change-contents__image {
  flex-shrink: 0;
  width: 59.3220338983%;
  aspect-ratio: 700/465;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .common-change-contents__image {
    width: calc(100% + 40px);
    margin-left: -20px;
    order: 2;
  }
}
.common-change-contents__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.common-accommodation__blocks {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-left: 28px;
}
@media (max-width: 1024px) {
  .common-accommodation__blocks {
    flex-direction: column;
    margin-left: 0;
    gap: 20px;
  }
}
.common-accommodation__block {
  position: relative;
  width: calc(50% + 28px);
  margin-left: -28px;
  box-shadow: 2px 2px 12px 0px rgba(26, 26, 26, 0.08);
}
@media (max-width: 1024px) {
  .common-accommodation__block {
    width: 100%;
    margin-left: 0;
  }
}
.common-accommodation__block:nth-child(2n) {
  z-index: 1;
  margin-top: 80px;
}
@media (max-width: 1024px) {
  .common-accommodation__block:nth-child(2n) {
    margin-top: 0;
  }
}
.common-accommodation__block:nth-child(2n+3) {
  transform: translateY(-20px);
}
@media (max-width: 1024px) {
  .common-accommodation__block:nth-child(2n+3) {
    transform: none;
  }
}
.common-accommodation__block:hover {
  opacity: 1;
}
.common-accommodation__block:hover .common-accommodation__image:after {
  opacity: 0.1;
}
.common-accommodation__block:hover .common-accommodation__more:after {
  width: 44px;
}
@media (max-width: 767px) {
  .common-accommodation__block:hover .common-accommodation__more:after {
    width: 14px;
  }
}
.common-accommodation__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: white;
  padding: 0 0 8px 20px;
  min-height: 220px;
}
@media (max-width: 767px) {
  .common-accommodation__inner {
    padding: 0 0 4px 10px;
    min-height: 124px;
  }
}
.common-accommodation__type b {
  font-family: "Abhaya Libre", sans-serif;
  font-size: 95px;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .common-accommodation__type b {
    font-size: 55px;
  }
}
.common-accommodation__type small {
  font-size: 26px;
  line-height: 1.3461538462;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-left: 8px;
}
@media (max-width: 767px) {
  .common-accommodation__type small {
    font-size: 18px;
    margin-left: 6px;
  }
}
.common-accommodation__content {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 8px;
  margin-top: auto;
}
@media (max-width: 767px) {
  .common-accommodation__content {
    gap: 4px;
  }
}
.common-accommodation__text {
  font-size: 19px;
  line-height: 1.5789473684;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .common-accommodation__text {
    font-size: 14px;
  }
}
.common-accommodation__more {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .common-accommodation__more {
    gap: 4px;
    font-size: 8.5px;
  }
}
.common-accommodation__more:after {
  content: "";
  width: 40px;
  height: 2px;
  background-color: white;
  transition: 0.4s;
}
@media (max-width: 767px) {
  .common-accommodation__more:after {
    width: 12px;
  }
}
.common-accommodation__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.common-accommodation__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.common-accommodation__image:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(26, 26, 26, 0.85) 10.01%, rgba(26, 26, 26, 0.7) 20.02%, rgba(26, 26, 26, 0) 40.03%);
  transition: 0.4s;
}

.common-banner__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 120px;
}
@media (max-width: 767px) {
  .common-banner__blocks {
    gap: 60px;
  }
}
.common-banner__heading.common-heading.md {
  margin-bottom: 20px;
}
.common-banner__figure {
  position: relative;
  display: flex;
  height: 285px;
}
@media (max-width: 767px) {
  .common-banner__figure {
    height: auto;
  }
}
@media (max-width: 767px) {
  .common-banner__figure.sp-minheight {
    height: 32vw;
  }
}
.common-banner__figure:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(26, 26, 26, 0.5);
}
.common-banner__figure img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 50%;
}
@media (max-width: 767px) {
  .common-banner__figure img:nth-child(n+3) ~ figcaption {
    font-size: 22px;
  }
}
.common-banner__figure figcaption {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  text-align: center;
  color: white;
  font-size: 26px;
  line-height: 1.4615384615;
  letter-spacing: 0.1em;
  font-weight: 700;
  width: 100%;
  padding: 20px;
  z-index: 1;
}
@media (max-width: 767px) {
  .common-banner__figure figcaption {
    font-size: 16px;
  }
}
.common-banner__button {
  text-align: center;
  transform: translateY(-50%);
}

.common-relation-links__items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}
@media (max-width: 767px) {
  .common-relation-links__items {
    gap: 10px;
  }
}
.common-relation-links__item {
  width: calc(20% - 18px);
  overflow: hidden;
  position: relative;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .common-relation-links__item {
    width: calc(50% - 5px);
  }
}
.common-relation-links__item:hover .common-relation-links__btn:after {
  width: 30px;
}
@media (max-width: 767px) {
  .common-relation-links__item:hover .common-relation-links__btn:after {
    width: 24px;
  }
}
@media (max-width: 767px) {
  .common-relation-links__item.one-col {
    width: 100%;
  }
  .common-relation-links__item.one-col .common-relation-links__img {
    aspect-ratio: 355/170;
  }
}
.common-relation-links__item.align-start .common-relation-links__content {
  align-items: flex-start;
}
@media (max-width: 767px) {
  .common-relation-links__item.align-start .common-relation-links__content {
    align-items: center;
  }
}
.common-relation-links__link {
  font-size: 14px;
  font-size: 0.9333333333rem;
  line-height: 1.2142857143;
  letter-spacing: 0.1em;
  text-decoration: none;
  color: white;
}
.common-relation-links__link:hover {
  opacity: 1;
}
.common-relation-links__link:hover .common-relation-links__content:before {
  opacity: 0.1;
}
.common-relation-links__img {
  aspect-ratio: 194/369;
  min-height: 369px;
}
@media (max-width: 767px) {
  .common-relation-links__img {
    aspect-ratio: 162/192;
    min-height: auto;
  }
}
.common-relation-links__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.common-relation-links__content {
  padding: 30px 20px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
@media (max-width: 767px) {
  .common-relation-links__content {
    padding: 24px;
  }
}
.common-relation-links__content:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #1a1a1a;
  mix-blend-mode: multiply;
  opacity: 0.55;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  transition: opacity 0.3s ease;
}
.common-relation-links__title {
  display: block;
  font-size: 22px;
  font-size: 1.4666666667rem;
  letter-spacing: 0.14em;
  line-height: 1.2727272727;
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: relative;
  white-space: pre-line;
  text-align: right;
  z-index: 1;
}
@media (max-width: 767px) {
  .common-relation-links__title {
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 1.3333333333;
    writing-mode: unset;
    text-align: center;
  }
}
.common-relation-links__title span.bottom-text {
  display: inline-block;
  margin-bottom: -42px;
}
@media (max-width: 767px) {
  .common-relation-links__title span.bottom-text {
    margin-bottom: 0;
  }
}
.common-relation-links__btn {
  font-size: 12px;
  font-size: 0.8rem;
  line-height: 1.1666666667;
  letter-spacing: 0.1em;
  font-weight: 400;
  text-decoration: none;
  position: absolute;
  right: 0;
  bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 767px) {
  .common-relation-links__btn {
    font-size: 10px;
    bottom: 10px;
    gap: 4px;
  }
}
.common-relation-links__btn:after {
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  background-color: white;
  transition: 0.4s;
}
@media (max-width: 767px) {
  .common-relation-links__btn:after {
    width: 12px;
  }
}
.common-relation-links.two-col .common-relation-links__item {
  width: calc(50% - 10px);
}
@media (max-width: 767px) {
  .common-relation-links.two-col .common-relation-links__item {
    width: 100%;
  }
}
.common-relation-links.two-col .common-relation-links__item .common-relation-links__img {
  aspect-ratio: 492/327;
}
.common-relation-links.two-col .common-relation-links__item .common-relation-links__title {
  writing-mode: unset;
}

.common-temperature__figure {
  display: flex;
  justify-content: center;
  gap: 56px;
  background-color: white;
  padding: 50px 80px;
  max-width: 780px;
  margin: 0 auto;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
  border-radius: 32px;
}
@media (max-width: 767px) {
  .common-temperature__figure {
    gap: 20px;
    padding: 24px 32px;
  }
}
.common-temperature__figure img {
  width: 50%;
}
.common-temperature__button {
  transform: translateY(-50%);
}

.common-background-attachment__bg {
  position: relative;
  background-image: url(./img/common/bg_background-attachment-01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 60px 0 100px;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .common-background-attachment__bg {
    background-attachment: scroll;
    padding: 30px 0 60px;
  }
}
.common-background-attachment__bg:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.common-background-attachment__bg .l-container {
  position: relative;
  z-index: 1;
}
.common-background-attachment__title.common-heading.ml {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .common-background-attachment__title.common-heading.ml {
    margin-bottom: 20px;
  }
}
.common-background-attachment__title.common-heading.xlg {
  margin-top: 50px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .common-background-attachment__title.common-heading.xlg {
    margin-top: 30px;
    font-size: 24px;
  }
}
.common-background-attachment__title img {
  max-width: 249px;
  margin-right: 16px;
}
@media (max-width: 767px) {
  .common-background-attachment__title img {
    max-width: 102px;
    margin-right: 8px;
  }
}
.common-background-attachment__text {
  color: white;
}
.common-background-attachment__blocks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  margin-top: 36px;
}
@media (max-width: 1024px) {
  .common-background-attachment__blocks {
    gap: 24px;
  }
}
@media (max-width: 767px) {
  .common-background-attachment__blocks {
    grid-template-columns: repeat(1, 1fr);
  }
}
.common-background-attachment__block {
  display: flex;
  flex-direction: column;
}
.common-background-attachment__block:nth-child(2n) {
  transform: translateY(12px);
}
@media (max-width: 767px) {
  .common-background-attachment__block:nth-child(2n) {
    transform: none;
  }
}
.common-background-attachment__block--number {
  position: relative;
  color: #930002;
  font-family: "Abhaya Libre", sans-serif;
  text-align: center;
  font-size: 42px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 800;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 50px 0 10px 20%;
  clip-path: polygon(-1% calc(100% + 1px), 101% calc(100% + 1px), 60% 0);
}
@media (max-width: 767px) {
  .common-background-attachment__block--number {
    font-size: 30px;
    padding: 40px 0 5px 20%;
    transform: translateY(1px);
    clip-path: polygon(-1% calc(100% - 0.7px), 101% calc(100% - 0.7px), 60% 0);
  }
}
.common-background-attachment__block--content {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 30px 30px 25px;
  height: 100%;
}
@media (max-width: 767px) {
  .common-background-attachment__block--content {
    padding: 10px 20px 30px;
  }
}
.common-background-attachment__block--title {
  text-align: center;
  font-size: 19px;
  line-height: 1.4736842105;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 12px;
}
@media (max-width: 767px) {
  .common-background-attachment__block--title {
    font-size: 16px;
    margin-bottom: 8px;
  }
}
@media (max-width: 767px) {
  .common-background-attachment__block--text {
    font-size: 13px;
  }
}
.common-background-attachment.type-02 .common-background-attachment__bg {
  background-image: url(./img/common/bg_background-attachment-02.jpg);
}
.common-background-attachment.type-02 .common-background-attachment__title.common-heading.bottom {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .common-background-attachment.type-02 .common-background-attachment__title.common-heading.bottom {
    margin-bottom: 20px;
  }
}
.common-background-attachment.type-02 .common-background-attachment__blocks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media (max-width: 1024px) {
  .common-background-attachment.type-02 .common-background-attachment__blocks {
    gap: 24px;
  }
}
@media (max-width: 767px) {
  .common-background-attachment.type-02 .common-background-attachment__blocks {
    grid-template-columns: repeat(1, 1fr);
  }
}
.common-background-attachment.type-02 .common-background-attachment__block:nth-child(2n) {
  transform: none;
}
.common-background-attachment.type-02 .common-background-attachment__block--title {
  font-size: 23px;
}
@media (max-width: 767px) {
  .common-background-attachment.type-02 .common-background-attachment__block--title {
    font-size: 18px;
  }
}

/* module > infinite scroll （Page Navi）
============================================================================ */
.scroller-status {
  display: none;
  margin-top: 50px;
}
@media (max-width: 767px) {
  .scroller-status {
    margin-top: 16vw;
  }
}

.infinite-scroll-request {
  animation: scroll-request 1.1s infinite linear;
  border: 4px solid #b60003;
  border-left: 4px solid #930002;
  border-radius: 50%;
  height: 48px;
  margin: auto;
  width: 48px;
}

@keyframes scroll-request {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.infinite-scroll-last,
.infinite-scroll-error {
  line-height: 1;
  text-align: center;
}
@media (max-width: 767px) {
  .infinite-scroll-last,
  .infinite-scroll-error {
    font-size: 12px;
    font-size: 6.4vw;
  }
}

.archives__gallery--infinite-scroll {
  text-align: center;
}

/* TOP
============================================================================ */
.top-catalog {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 2;
}
.top-catalog__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: row;
}
@media (max-width: 767px) {
  .top-catalog__wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-direction: column;
  }
}
.top-catalog__img {
  width: 181px;
  height: 319px;
  margin-left: 40px;
}
@media (max-width: 767px) {
  .top-catalog__img {
    width: 43.4666666667vw;
    height: 76.5333333333vw;
    margin-left: unset;
  }
}
.top-catalog__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-catalog__cnt {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-direction: row;
  color: white;
  font-weight: 500;
  width: 390px;
  margin-left: 30px;
}
@media (max-width: 767px) {
  .top-catalog__cnt {
    width: 100%;
    margin-left: unset;
    font-weight: 400;
  }
}
.top-catalog__cnt > p {
  font-size: 30px;
  line-height: 1.6;
  margin: 30px 0 30px;
}
@media (max-width: 767px) {
  .top-catalog__cnt > p {
    text-align: center;
    font-size: 5.8666666667vw;
    margin: 5.3333333333vw auto 8vw;
  }
}
.top-catalog__cnt .btn_basic {
  width: 287px;
  height: 60px;
  margin: 0 auto 0 0;
  border: 2px solid white;
  background-color: transparent;
}
@media (max-width: 767px) {
  .top-catalog__cnt .btn_basic {
    margin: 0 auto;
  }
}
.top-catalog__cnt .btn_basic > span {
  width: 33px;
  height: 33px;
  right: -18.5px;
  bottom: 12px;
  padding: 2px 10px;
  border: solid 2px white;
  background-color: #870002;
}
.top-catalog__bg {
  position: absolute;
  width: 100%;
  height: 248px;
  z-index: -1;
  top: 49px;
  left: 0;
}
@media (max-width: 767px) {
  .top-catalog__bg {
    height: 101.8666666667vw;
    top: 38.4vw;
  }
}

.top-contact {
  background-color: #e1dfd7;
  width: 100%;
  padding: 105px 0;
}
@media (max-width: 767px) {
  .top-contact {
    padding: 26.6666666667vw 0 40vw;
  }
}
.top-contact__wrapper {
  width: 668px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .top-contact__wrapper {
    width: 100%;
  }
}
.top-contact__wrapper > h3 {
  font-size: 34px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 3.4px;
}
@media (max-width: 767px) {
  .top-contact__wrapper > h3 {
    font-size: 9.3333333333vw;
  }
}
.top-contact__wrapper > p {
  margin-top: 30px;
  text-align: center;
  font-size: 22px;
  font-style: normal;
  font-weight: bold;
  line-height: normal;
  letter-spacing: 2.2px;
}
@media (max-width: 767px) {
  .top-contact__wrapper > p {
    font-size: 4.2666666667vw;
  }
}
.top-contact__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  flex-direction: row;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .top-contact__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-direction: column;
    margin-top: 10.6666666667vw;
  }
}
.top-contact__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  align-content: center;
  flex-direction: column;
  position: relative;
  width: 312px;
  height: 292px;
  background-color: white;
  padding: 0 35px;
  font-weight: 400;
}
@media (max-width: 767px) {
  .top-contact__item {
    width: 78.6666666667vw;
    height: 77.8666666667vw;
    padding: 0 9.3333333333vw;
    margin: 0 0 5.3333333333vw 0;
  }
}
.top-contact__item > p {
  font-size: 20px;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  .top-contact__item > p {
    font-size: 5.3333333333vw;
    margin-bottom: 4vw;
  }
}
.top-contact__item > p:nth-of-type(2) {
  line-height: 1.8;
  font-size: 12px;
  text-align: start;
  margin-bottom: 58px;
}
@media (max-width: 767px) {
  .top-contact__item > p:nth-of-type(2) {
    font-size: 3.2vw;
    margin-bottom: 15.4666666667vw;
  }
}
.top-contact__item > .icn-home {
  width: 88px;
  margin-bottom: 22.5px;
}
@media (max-width: 767px) {
  .top-contact__item > .icn-home {
    width: 23.4666666667vw;
    margin-bottom: 6vw;
  }
}
.top-contact__item .icn-phone {
  width: 60px;
  margin-bottom: 13.5px;
}
@media (max-width: 767px) {
  .top-contact__item .icn-phone {
    width: 16vw;
    margin-bottom: 3.6vw;
  }
}
.top-contact__item:nth-of-type(n + 3) {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .top-contact__item:nth-of-type(n + 3) {
    margin-top: 0;
  }
}
.top-contact__item:nth-of-type(n + 3) > p {
  font-size: 20px;
  text-align: center;
  line-height: 1.2;
}
.top-contact__item:nth-of-type(n + 3) > p:nth-of-type(2) {
  line-height: 1.8;
  font-size: 12px;
}
.top-contact__item:nth-of-type(4) > p:nth-of-type(2) {
  margin-bottom: 79px;
}
@media (max-width: 767px) {
  .top-contact__item:nth-of-type(4) > p:nth-of-type(2) {
    margin-bottom: 14.6666666667vw;
  }
}
.top-contact__itemMore {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: row;
  color: #1a1a1a;
  position: absolute;
  bottom: 10px;
  right: 0;
}
@media (max-width: 767px) {
  .top-contact__itemMore {
    font-size: 3.4666666667vw;
    bottom: 5.3333333333vw;
  }
}
.top-contact__itemMore > span {
  display: block;
  width: 15px;
  height: 1px;
  margin-left: 5px;
  background-color: #1a1a1a;
  transition: 0.5s;
}
@media (max-width: 767px) {
  .top-contact__itemMore > span {
    width: 4vw;
    height: 0.2666666667vw;
    margin-left: 1.3333333333vw;
  }
}
.top-contact__item:nth-of-type(n + 3) {
  height: 225px;
}
@media (max-width: 767px) {
  .top-contact__item:nth-of-type(n + 3) {
    height: auto;
  }
}
.top-contact__item:nth-of-type(n + 3) > p {
  line-height: 1.4;
  font-size: 18px;
}
@media (max-width: 767px) {
  .top-contact__item:nth-of-type(n + 3) > p {
    font-size: 4.8vw;
    margin-top: 6.4vw;
  }
}
.top-contact__item:nth-of-type(n + 3) > p:nth-of-type(2) {
  line-height: 1.8;
  font-size: 12px;
  text-align: start;
}
@media (max-width: 767px) {
  .top-contact__item:nth-of-type(n + 3) > p:nth-of-type(2) {
    font-size: 3.2vw;
  }
}
.top-contact__item:hover .top-contact__itemMore > span {
  width: 30px;
}
.top-contact__item .icn-home {
  height: 75px;
  width: auto;
}
.top-contact__item .icn-phone {
  height: 95px;
  width: auto;
}

/* TOPEND
============================================================================ */
.page-message__container {
  max-width: 884px;
}
.page-message__inner {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}
@media (max-width: 767px) {
  .page-message__inner {
    flex-direction: column;
    gap: 20px;
  }
}
.page-message__img {
  width: 33.7104072398%;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .page-message__img {
    width: 100%;
  }
}
.page-message__img img {
  box-shadow: 2px 2px 12px 0 rgba(0, 0, 0, 0.08);
  aspect-ratio: 298/396;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .page-message__img img {
    aspect-ratio: 335/285;
  }
}
.page-message__content {
  width: 100%;
}
.page-message__heading {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .page-message__heading {
    margin-bottom: 36px;
  }
}
.page-message__name {
  font-size: 17px;
  font-size: 1.1333333333rem;
  font-weight: 700;
  line-height: 1.8823529412;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .page-message__name {
    font-size: 16px;
    margin-bottom: 12px;
  }
}

.page-overview__table table {
  width: 100%;
}
.page-overview__table table tr {
  border-bottom: 1px solid #606060;
}
.page-overview__table table tr:first-child th,
.page-overview__table table tr:first-child td {
  padding-top: 0;
}
.page-overview__table table tr:last-child {
  border-bottom: none;
}
.page-overview__table table tr:last-child th,
.page-overview__table table tr:last-child td {
  padding-bottom: 0;
}
.page-overview__table table tr th,
.page-overview__table table tr td {
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: left;
  vertical-align: top;
}
.page-overview__table table tr th {
  width: 120px;
}
.page-overview__table table tr td {
  width: 100%;
  padding-left: 20px;
}
.page-overview__table table tr a {
  text-decoration: underline;
}

.page-history__items > :last-child {
  margin-bottom: 0;
}
.page-history__item {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .page-history__item {
    margin-bottom: 20px;
  }
}
.page-history__item-year {
  font-size: 29px;
  font-size: 1.9333333333rem;
  font-weight: 700;
  line-height: 1;
  padding-bottom: 8px;
  margin-bottom: 12px;
  border-bottom: 1px solid #930002;
}
@media (max-width: 767px) {
  .page-history__item-year {
    font-size: 22px;
  }
}

.page-access__container {
  max-width: 728px;
}
.page-access__items > :last-child {
  margin-bottom: 0;
}
.page-access__item {
  margin-bottom: 30px;
  overflow: hidden;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .page-access__item {
    margin-bottom: 10px;
  }
}
.page-access__item.is-open .page-access__content {
  display: block;
  height: auto;
  transition: all 0.3s ease;
}
.page-access__item.is-open .page-access__button:after {
  transform: rotate(180deg);
}
.page-access__head {
  cursor: pointer;
  position: relative;
  font-size: 20px;
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1rem;
  padding: 21px 72px 21px;
  background-color: #930002;
  color: white;
  text-align: center;
}
@media (max-width: 767px) {
  .page-access__head {
    font-size: 16px;
    padding: 6px 32px;
  }
}
.page-access__button {
  width: 45px;
  height: 45px;
  min-height: auto;
  border-radius: 50%;
  border: 1px solid #606060;
  background-color: white;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .page-access__button {
    width: 20px;
    height: 20px;
    right: 8px;
  }
}
.page-access__button:after {
  content: "";
  display: block;
  width: 14px;
  height: 8px;
  background: url("./img/common/arw_accordion.svg") no-repeat center;
  background-size: contain;
}
@media (max-width: 767px) {
  .page-access__button:after {
    width: 8px;
    height: 5px;
  }
}
.page-access__content {
  display: none;
  overflow: hidden;
  transition: all 0.3s ease;
}
.page-access__content-inner {
  background-color: white;
  padding: 30px 40px 58px;
  border: 2px solid #930002;
  position: relative;
}
@media (max-width: 767px) {
  .page-access__content-inner {
    padding: 14px 16px 32px;
  }
}
.page-access__map {
  width: 100%;
  aspect-ratio: 648/365;
}
.page-access__map iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
.page-access__info {
  margin-top: 20px;
  text-align: center;
}
@media (max-width: 767px) {
  .page-access__info {
    margin-top: 10px;
    font-size: 10px;
    line-height: 1.5;
  }
}
.page-access__link {
  position: absolute;
  right: 0;
  bottom: 20px;
  display: inline-block;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.9333333333rem;
  line-height: 1.2142857143;
  letter-spacing: 0.1em;
  padding-right: 24px;
  text-decoration: none;
  color: #1a1a1a;
}
@media (max-width: 767px) {
  .page-access__link {
    font-size: 10px;
    bottom: 10px;
    padding-right: 14px;
  }
}
.page-access__link:after {
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  background-color: #1a1a1a;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .page-access__link:after {
    width: 10px;
  }
}
.page-access__link:hover {
  opacity: 0.5;
}

.page-strength__links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 50px;
}
@media (max-width: 767px) {
  .page-strength__links {
    gap: 20px;
    margin-top: 8vw;
  }
}
.page-strength__link {
  width: calc(33.3% - 35px);
}
@media (max-width: 767px) {
  .page-strength__link {
    width: calc(33.3% - 15px);
  }
}
.page-strength__link a {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.page-strength__link a:hover span:after {
  transform: translateY(4px);
}
.page-strength__link a b {
  position: relative;
  color: #930002;
  text-align: center;
  font-family: "Abhaya Libre", sans-serif;
  font-size: 40px;
  line-height: 1.175;
  letter-spacing: 0.08em;
  font-weight: 800;
  font-size: min(40px, 3.125vw);
  width: 100%;
  padding: 6% 0 4px 20%;
}
@media (max-width: 767px) {
  .page-strength__link a b {
    font-size: max(21px, 3.125vw);
    padding: 5% 0 0 25%;
    line-height: 0.5;
  }
}
.page-strength__link a b:before {
  content: "";
  position: absolute;
  left: 1px;
  bottom: -2px;
  height: 2px;
  width: calc(65% + 1px);
  background-color: #930002;
  transform: rotate(-21deg);
  transform-origin: bottom left;
}
@media (max-width: 767px) {
  .page-strength__link a b:before {
    width: calc(70% + 1px);
    transform: rotate(-20deg);
  }
}
.page-strength__link a b:after {
  content: "";
  position: absolute;
  right: 1px;
  bottom: -2px;
  height: 2px;
  width: calc(45% + 1px);
  background-color: #930002;
  transform: rotate(31deg);
  transform-origin: bottom right;
}
@media (max-width: 767px) {
  .page-strength__link a b:after {
    width: calc(40% + 1px);
    transform: rotate(36deg);
  }
}
.page-strength__link a span {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 25px;
  font-size: 30px;
  line-height: 1.4333333333;
  letter-spacing: 0.18em;
  font-weight: 700;
  padding: 20px 12px;
  border-left: 2px solid #930002;
  border-right: 2px solid #930002;
  border-bottom: 2px solid #930002;
}
@media (max-width: 767px) {
  .page-strength__link a span {
    gap: 5px;
    font-size: 15px;
    padding: 8px 4px;
  }
}
.page-strength__link a span:after {
  content: "";
  width: 18px;
  aspect-ratio: 18/8;
  background-image: url(./img/common/arw_select.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.4s;
}
@media (max-width: 767px) {
  .page-strength__link a span:after {
    width: 10px;
  }
}
.page-strength__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 100px;
  margin-top: 120px;
}
@media (max-width: 767px) {
  .page-strength__blocks {
    gap: 60px;
    margin-top: 80px;
  }
}
.page-strength__block {
  display: flex;
  gap: 30px;
}
@media (max-width: 1024px) {
  .page-strength__block {
    flex-direction: column;
    gap: 0;
  }
}
.page-strength__block:nth-child(odd) .page-strength__image {
  margin-right: -2.6315789474%;
}
@media (max-width: 1024px) {
  .page-strength__block:nth-child(odd) .page-strength__image {
    margin-right: 0;
  }
}
.page-strength__block:nth-child(even) {
  flex-direction: row-reverse;
}
@media (max-width: 1024px) {
  .page-strength__block:nth-child(even) {
    flex-direction: column;
  }
}
.page-strength__block:nth-child(even) .page-strength__image {
  margin-left: -2.6315789474%;
}
@media (max-width: 1024px) {
  .page-strength__block:nth-child(even) .page-strength__image {
    margin-left: -32px;
  }
}
@media (max-width: 767px) {
  .page-strength__block:nth-child(even) .page-strength__image {
    margin-left: -20px;
  }
}
@media (max-width: 1024px) {
  .page-strength__block:nth-child(even) .page-strength__number {
    justify-content: flex-end;
  }
}
@media (max-width: 1024px) {
  .page-strength__block:nth-child(even) .page-strength__title {
    text-align: right;
  }
}
.page-strength__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
@media (max-width: 1024px) {
  .page-strength__content {
    display: contents;
  }
}
.page-strength__number {
  display: flex;
  align-items: baseline;
  gap: 20px;
}
@media (max-width: 1024px) {
  .page-strength__number {
    order: 1;
  }
}
@media (max-width: 767px) {
  .page-strength__number {
    gap: 8px;
  }
}
.page-strength__number span {
  color: #930002;
  font-family: "Abhaya Libre", sans-serif;
  font-size: 40px;
  line-height: 1.175;
  letter-spacing: 0.08em;
  font-weight: 800;
}
@media (max-width: 767px) {
  .page-strength__number span {
    font-size: 30px;
  }
}
.page-strength__number b {
  font-size: 30px;
  line-height: 1.4333333333;
  letter-spacing: 0.18em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .page-strength__number b {
    font-size: 20px;
  }
}
.page-strength__title {
  font-size: 50px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 16px;
}
@media (max-width: 1024px) {
  .page-strength__title {
    order: 2;
  }
}
@media (max-width: 767px) {
  .page-strength__title {
    font-size: 35px;
  }
}
@media (max-width: 1024px) {
  .page-strength__textarea {
    order: 4;
  }
}
.page-strength__caution {
  padding-left: 0.65em;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .page-strength__caution {
    margin-top: 12px;
  }
}
.page-strength__caution li {
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 500;
  text-indent: -1em;
}
.page-strength__caution li::before {
  content: "※";
}
.page-strength__button {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .page-strength__button {
    margin-top: 20px;
  }
}
.page-strength__button .btn__normal {
  max-width: 215px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.page-strength__image {
  flex-shrink: 0;
  width: 63.1578947368%;
  aspect-ratio: 768/512;
}
@media (max-width: 1024px) {
  .page-strength__image {
    order: 3;
    width: calc(100% + 64px);
    margin-bottom: 20px;
    margin-left: -32px;
  }
}
@media (max-width: 767px) {
  .page-strength__image {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}
.page-strength__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .page-strengthProducts {
    margin: 0 -10px;
  }
}
.page-strengthProducts__blocks {
  display: flex;
  gap: 40px;
}
@media (max-width: 767px) {
  .page-strengthProducts__blocks {
    gap: 15px;
  }
}
.page-strengthProducts__block {
  width: 100%;
  text-align: center;
}
.page-strengthProducts__subtitle {
  font-size: 20px;
  line-height: 1.45;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  .page-strengthProducts__subtitle {
    font-size: 13px;
  }
}
.page-strengthProducts__title {
  color: #930002;
  font-size: 33px;
  line-height: 1.4545454545;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .page-strengthProducts__title {
    font-size: 18px;
    margin-bottom: 16px;
  }
}
.page-strengthProducts__image {
  aspect-ratio: 480/319;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .page-strengthProducts__image {
    margin-bottom: 16px;
  }
}
.page-strengthProducts__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-strengthProducts__list {
  border-top: 1px solid #606060;
}
.page-strengthProducts__list li {
  font-size: 22px;
  line-height: 1.4545454545;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 16px 6px;
  border-bottom: 1px solid #606060;
}
@media (max-width: 767px) {
  .page-strengthProducts__list li {
    font-size: 13px;
  }
}
.page-strengthProducts__common {
  text-align: center;
  font-size: 22px;
  line-height: 1.4545454545;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 16px 6px;
  border-bottom: 1px solid #606060;
}
@media (max-width: 767px) {
  .page-strengthProducts__common {
    font-size: 13px;
  }
}

.page-strengthComfortable__image {
  width: 120%;
  margin-left: -10%;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 1200px) {
  .page-strengthComfortable__image {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}
.page-strengthComfortable__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.page-strengthComfortable__lead {
  text-align: center;
  font-size: 18px;
  line-height: 2.2222222222;
  font-weight: 500;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .page-strengthComfortable__lead {
    text-align: left;
    font-size: 16px;
    line-height: 1.75;
    margin-top: 36px;
  }
}
.page-strengthComfortable__figure {
  margin-top: 60px;
}
@media (max-width: 1024px) {
  .page-strengthComfortable__figure {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}
@media (max-width: 767px) {
  .page-strengthComfortable__figure {
    margin-top: 36px;
  }
}
.page-strengthComfortable__button {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .page-strengthComfortable__button {
    margin-top: 40px;
  }
}

.page-priceplanPrice__block {
  display: flex;
  align-items: center;
  gap: 60px;
}
@media (max-width: 1024px) {
  .page-priceplanPrice__block {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}
.page-priceplanPrice__image {
  flex-shrink: 0;
  width: 48%;
  aspect-ratio: 480/320;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 1024px) {
  .page-priceplanPrice__image {
    width: 100%;
    margin-bottom: 20px;
    order: 2;
  }
}
@media (max-width: 1024px) {
  .page-priceplanPrice__content {
    display: contents;
  }
}
@media (max-width: 1024px) {
  .page-priceplanPrice__title {
    order: 1;
  }
}
.page-priceplanPrice__title.common-heading.ml {
  margin-bottom: 20px;
}
@media (max-width: 1024px) {
  .page-priceplanPrice__text {
    order: 3;
  }
}

.page-priceplanReference__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 90px;
}
@media (max-width: 767px) {
  .page-priceplanReference__blocks {
    gap: 48px;
  }
}
.page-priceplanReference__block {
  position: relative;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
.page-priceplanReference__top {
  display: flex;
}
@media (max-width: 1024px) {
  .page-priceplanReference__top {
    display: block;
  }
}
.page-priceplanReference__image {
  flex-shrink: 0;
  width: 45%;
  aspect-ratio: 450/362;
}
@media (max-width: 1024px) {
  .page-priceplanReference__image {
    width: 100%;
  }
}
.page-priceplanReference__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.page-priceplanReference__content {
  width: 100%;
  background-color: white;
  padding: 30px;
}
@media (max-width: 767px) {
  .page-priceplanReference__content {
    padding: 16px 12px;
  }
}
.page-priceplanReference__data {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 6px;
}
.page-priceplanReference__sub {
  font-size: 17px;
  line-height: 1.4705882353;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  .page-priceplanReference__sub {
    font-size: 15px;
  }
}
.page-priceplanReference__main b {
  font-size: 82px;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .page-priceplanReference__main b {
    font-size: 48px;
  }
}
.page-priceplanReference__main ruby {
  font-size: 36px;
  line-height: 1.4444444444;
  letter-spacing: 0em;
  font-weight: 700;
  padding: 0 4px;
}
@media (max-width: 767px) {
  .page-priceplanReference__main ruby {
    font-size: 24px;
  }
}
.page-priceplanReference__main ruby rt {
  font-size: 21px;
  font-weight: 500;
  padding-bottom: 8px;
}
@media (max-width: 767px) {
  .page-priceplanReference__main ruby rt {
    font-size: 15px;
    padding-bottom: 4px;
  }
}
.page-priceplanReference__house {
  width: 150px;
}
@media (max-width: 767px) {
  .page-priceplanReference__house {
    width: 108px;
  }
}
.page-priceplanReference__roof {
  position: relative;
  padding-top: 32px;
}
@media (max-width: 767px) {
  .page-priceplanReference__roof {
    padding-top: 24px;
  }
}
.page-priceplanReference__roof:before {
  content: "";
  position: absolute;
  left: 1px;
  bottom: -2px;
  height: 2px;
  width: calc(65% + 1px);
  background-color: #930002;
  transform: rotate(-18deg);
  transform-origin: bottom left;
}
.page-priceplanReference__roof:after {
  content: "";
  position: absolute;
  right: 1px;
  bottom: -2px;
  height: 2px;
  width: calc(42% + 0.5px);
  background-color: #930002;
  transform: rotate(29deg);
  transform-origin: bottom right;
}
.page-priceplanReference__houseinner {
  display: flex;
  flex-direction: column;
  padding: 0 12px 4px;
  border-left: 2px solid #930002;
  border-right: 2px solid #930002;
  border-bottom: 2px solid #930002;
}
.page-priceplanReference__houseinner b {
  text-align: center;
  font-size: 27px;
  line-height: 1.2962962963;
  letter-spacing: 0.1em;
  font-weight: 600;
  padding-bottom: 3px;
  border-bottom: 1px solid #878787;
  margin-bottom: 3px;
}
@media (max-width: 767px) {
  .page-priceplanReference__houseinner b {
    font-size: 18px;
  }
}
.page-priceplanReference__houseinner span {
  text-align: center;
  font-size: 21px;
  line-height: 1.2857142857;
  letter-spacing: 0.1em;
  font-weight: 600;
}
@media (max-width: 767px) {
  .page-priceplanReference__houseinner span {
    font-size: 14px;
  }
}
.page-priceplanReference__figure {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .page-priceplanReference__figure {
    margin-top: 16px;
  }
}
.page-priceplanReference__figure img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
.page-priceplanReference__bottom {
  background-color: #E9E7E1;
  padding: 20px 30px;
}
@media (max-width: 767px) {
  .page-priceplanReference__bottom {
    padding: 12px 10px;
  }
}
.page-priceplanReference__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
}
@media (max-width: 767px) {
  .page-priceplanReference__list {
    gap: 6px 18px;
  }
}
.page-priceplanReference__list li {
  position: relative;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .page-priceplanReference__list li {
    font-size: 11px;
  }
}
.page-priceplanReference__list li:not(:last-child):after {
  content: "";
  position: absolute;
  top: 50%;
  right: -10px;
  transform: translateX(50%) translateY(-50%);
  width: 1px;
  height: 50%;
  background-color: #1a1a1a;
}
@media (max-width: 767px) {
  .page-priceplanReference__list li:not(:last-child):after {
    right: -8px;
  }
}
.page-priceplanReference__caution {
  margin-top: 12px;
  font-size: 15px;
}
@media (max-width: 767px) {
  .page-priceplanReference__caution {
    font-size: 10px;
  }
}
.page-priceplanReference__label {
  position: absolute;
  top: -10px;
  left: -10px;
  max-width: 128px;
}
.page-priceplanReference__labelinner {
  position: relative;
  text-align: center;
  color: white;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
  background-color: #930002;
  padding: 8px;
}
.page-priceplanReference__labelinner b {
  font-size: 24px;
  font-weight: 700;
}
.page-priceplanReference__labelinner span {
  font-size: 13px;
}
.page-priceplanReference__labelinner:before, .page-priceplanReference__labelinner:after {
  content: "";
  position: absolute;
  bottom: 0;
  transform: translateY(100%);
  width: 0;
  height: 0;
  border-style: solid;
}
.page-priceplanReference__labelinner:before {
  left: 0;
  border-width: 20px 71px 0 0;
  border-color: #930002 transparent transparent transparent;
}
.page-priceplanReference__labelinner:after {
  right: 0;
  border-width: 0 71px 20px 0;
  border-color: transparent #930002 transparent transparent;
}

.page-qualityAirtight__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 120px;
}
@media (max-width: 767px) {
  .page-qualityAirtight__blocks {
    gap: 80px;
  }
}
.page-qualityAirtight__inner {
  display: flex;
  align-items: center;
  gap: 52px;
}
@media (max-width: 1024px) {
  .page-qualityAirtight__inner {
    gap: 32px;
  }
}
@media (max-width: 767px) {
  .page-qualityAirtight__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
}
.page-qualityAirtight__image {
  flex-shrink: 0;
  width: 48%;
  aspect-ratio: 480/320;
  background-color: white;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .page-qualityAirtight__image {
    width: 100%;
    order: 2;
    margin-bottom: 24px;
  }
}
.page-qualityAirtight__image img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
.page-qualityAirtight__content {
  width: 100%;
}
@media (max-width: 767px) {
  .page-qualityAirtight__content {
    display: contents;
  }
}
@media (max-width: 767px) {
  .page-qualityAirtight__title {
    order: 1;
    text-align: center;
  }
}
.page-qualityAirtight__title.common-heading.ml {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .page-qualityAirtight__text {
    order: 3;
  }
}
.page-qualityAirtight__caution {
  font-size: 12px;
  line-height: 2.3333333333;
  font-weight: 500;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .page-qualityAirtight__caution {
    margin-top: 12px;
    order: 4;
  }
}
.page-qualityAirtight__goal {
  max-width: 848px;
  margin: 50px auto 0;
}
@media (max-width: 767px) {
  .page-qualityAirtight__goal {
    margin-top: 30px;
  }
}

.page-qualityProof__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 120px;
}
@media (max-width: 767px) {
  .page-qualityProof__blocks {
    gap: 80px;
  }
}
@media (max-width: 767px) {
  .page-qualityProof__heading.common-heading.bubble {
    margin-left: auto;
  }
}
.page-qualityProof__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding-left: 30px;
}
@media (max-width: 1024px) {
  .page-qualityProof__inner {
    padding-left: 0;
  }
}
@media (max-width: 767px) {
  .page-qualityProof__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-left: 0;
  }
}
.page-qualityProof__content {
  width: 100%;
  max-width: 400px;
}
@media (max-width: 767px) {
  .page-qualityProof__content {
    display: contents;
  }
}
@media (max-width: 767px) {
  .page-qualityProof__title {
    order: 1;
    text-align: center;
  }
}
.page-qualityProof__title.common-heading.ml {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .page-qualityProof__text {
    order: 3;
  }
}
.page-qualityProof__caution {
  font-size: 12px;
  line-height: 2.3333333333;
  font-weight: 500;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .page-qualityProof__caution {
    margin-top: 12px;
    order: 4;
  }
}
.page-qualityProof__image {
  flex-shrink: 0;
  width: 60%;
}
@media (max-width: 767px) {
  .page-qualityProof__image {
    width: 100%;
    order: 2;
    margin: 0 auto 20px;
  }
}
.page-qualityProof__image.half {
  width: 22.9%;
}
@media (max-width: 767px) {
  .page-qualityProof__image.half {
    width: 50%;
  }
}
.page-qualityProof__figure {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .page-qualityProof__figure {
    gap: 10px;
    margin-top: 20px;
  }
}
.page-qualityProof__figure img {
  width: 50%;
  max-width: 311px;
}

.page-qualityControl__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 60px;
}
@media (max-width: 767px) {
  .page-qualityControl__blocks {
    gap: 40px;
  }
}
.page-qualityControl__inner {
  display: flex;
  align-items: center;
  gap: 60px;
}
@media (max-width: 1024px) {
  .page-qualityControl__inner {
    gap: 32px;
  }
}
@media (max-width: 767px) {
  .page-qualityControl__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
}
.page-qualityControl__image {
  flex-shrink: 0;
  width: 48%;
  aspect-ratio: 480/320;
  background-color: #d9d9d9;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .page-qualityControl__image {
    width: 100%;
  }
}
.page-qualityControl__image img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
.page-qualityControl__content {
  width: 100%;
}
@media (max-width: 767px) {
  .page-qualityControl__title {
    text-align: center;
  }
}
.page-qualityControl__title.common-heading.ml {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .page-qualityControl__title.common-heading.ml {
    margin-bottom: 10px;
  }
}
.page-qualitySupport__heading.common-heading {
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  .page-qualitySupport__heading.common-heading {
    margin-bottom: 64px;
  }
}

.page-qkyoku__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 100px;
}
@media (max-width: 767px) {
  .page-qkyoku__blocks {
    gap: 80px;
  }
}
.page-qkyoku__square {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-size: 30px;
  line-height: 1.7;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding: 30px 90px 30px 60px;
  border-top: 5px solid #EDAE39;
  border-right: 5px solid #EDAE39;
  border-bottom: 5px solid #47C9E3;
  border-left: 5px solid #47C9E3;
  margin: 0 auto 64px;
}
@media (max-width: 767px) {
  .page-qkyoku__square {
    font-size: 13px;
    padding: 16px 32px 16px 24px;
    margin-bottom: 32px;
  }
}
.page-qkyoku__square:before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 0;
  transform: translateX(-50%) translateY(-50%);
  font-size: 78px;
  line-height: 1.4487179487;
  letter-spacing: 0.1em;
  font-weight: 700;
  background-color: #f7f7f7;
}
@media (max-width: 767px) {
  .page-qkyoku__square:before {
    font-size: 22px;
    padding: 0 5px 5px;
  }
}
.page-qkyoku__square:after {
  content: "";
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: 76px;
  height: 75%;
  background-color: #f7f7f7;
}
@media (max-width: 767px) {
  .page-qkyoku__square:after {
    width: 38px;
    height: 75%;
  }
}
.page-qkyoku__square img {
  position: absolute;
  bottom: -20px;
  right: -30px;
  max-width: 87px;
  z-index: 1;
}
@media (max-width: 767px) {
  .page-qkyoku__square img {
    bottom: -6px;
    right: -14px;
    max-width: 38px;
  }
}
.page-qkyoku__heading.common-heading.xlg {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .page-qkyoku__heading.common-heading.xlg {
    font-size: 22px;
    margin-bottom: 20px;
  }
}
.page-qkyoku__heading.common-heading.ml {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .page-qkyoku__heading.common-heading.ml {
    margin-bottom: 20px;
  }
}
.page-qkyoku__text {
  text-align: center;
  font-size: 18px;
  line-height: 2.2777777778;
  font-weight: 500;
}
@media (max-width: 767px) {
  .page-qkyoku__text {
    text-align: left;
    font-size: 15px;
  }
}
.page-qkyoku__cg {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .page-qkyoku__cg {
    width: calc(100% + 40px);
    margin-left: -20px;
    margin-top: 30px;
  }
}
.page-qkyoku__image {
  margin: 60px auto 0;
}
@media (max-width: 767px) {
  .page-qkyoku__image {
    margin-top: 40px;
    text-align: center;
  }
}
.page-qkyoku__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .page-qkyoku__grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
    margin-top: 30px;
  }
}
.page-qkyoku__title {
  text-align: center;
  font-size: 30px;
  line-height: 1.7;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .page-qkyoku__title {
    font-size: 20px;
  }
}
.page-qkyoku__figure figcaption {
  text-align: center;
  font-size: 17px;
  line-height: 1.7058823529;
  letter-spacing: 0em;
  font-weight: 500;
  margin-top: 16px;
}
@media (max-width: 767px) {
  .page-qkyoku__figure figcaption {
    font-size: 15px;
  }
}
.page-qkyoku__inner {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}
@media (max-width: 767px) {
  .page-qkyoku__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
}
.page-qkyoku__picture {
  flex-shrink: 0;
  width: 48%;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
  aspect-ratio: 480/320;
}
@media (max-width: 767px) {
  .page-qkyoku__picture {
    width: 100%;
    margin-bottom: 20px;
  }
}
.page-qkyoku__picture img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.page-qkyoku__content {
  width: 100%;
}
.page-qkyoku__lists {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
}
.page-qkyoku__list strong {
  display: block;
  margin-bottom: 10px;
}
.page-qkyoku__list ul {
  padding-inline-start: 1em;
}
.page-qkyoku__list ul li {
  list-style: disc;
}

.page-qkyokuDifference__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (max-width: 767px) {
  .page-qkyokuDifference__blocks {
    gap: 60px;
  }
}
.page-qkyokuDifference__block {
  display: flex;
}
@media (max-width: 767px) {
  .page-qkyokuDifference__block {
    flex-direction: column;
  }
}
.page-qkyokuDifference__block:nth-child(even) {
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .page-qkyokuDifference__block:nth-child(even) {
    flex-direction: column;
  }
}
.page-qkyokuDifference__content {
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
@media (max-width: 767px) {
  .page-qkyokuDifference__content {
    display: contents;
  }
}
.page-qkyokuDifference__title {
  font-size: 50px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .page-qkyokuDifference__title {
    order: 1;
    font-size: 28px;
    margin-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .page-qkyokuDifference__text {
    order: 3;
    font-size: 13px;
  }
}
.page-qkyokuDifference__image {
  flex-shrink: 0;
  width: 50%;
  aspect-ratio: 640/427;
}
@media (max-width: 767px) {
  .page-qkyokuDifference__image {
    width: 100%;
    order: 2;
    margin-bottom: 20px;
  }
}
.page-qkyokuDifference__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.page-qkyokuVoice__bg {
  position: relative;
  background-image: url(./img/page/bg_page-qkyokuVoice.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 60px 0 100px;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
.page-qkyokuVoice__bg:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.page-qkyokuVoice__bg .l-container {
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .page-qkyokuVoice__heading.common-heading.xlg {
    font-size: 20px;
    margin-bottom: 30px;
  }
}
.page-qkyokuVoice__blocks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  margin-right: -30px;
}
@media (max-width: 1024px) {
  .page-qkyokuVoice__blocks {
    margin-right: -20px;
  }
}
.page-qkyokuVoice__block {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 25%;
  min-height: 200px;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 24px 12px;
  border: 3px solid #930002;
  margin-left: -30px;
}
@media (max-width: 1024px) {
  .page-qkyokuVoice__block {
    width: 50%;
    margin-left: -20px;
  }
}
@media (max-width: 767px) {
  .page-qkyokuVoice__block {
    padding: 10px 8px;
    min-height: 114px;
  }
}
.page-qkyokuVoice__block:first-child {
  margin-top: 0 !important;
}
.page-qkyokuVoice__block:nth-child(even) {
  margin-top: 170px;
}
@media (max-width: 1024px) {
  .page-qkyokuVoice__block:nth-child(even) {
    margin-bottom: -30px;
  }
}
@media (max-width: 767px) {
  .page-qkyokuVoice__block:nth-child(even) {
    margin-top: 95px;
    margin-bottom: -20px;
  }
}
.page-qkyokuVoice__block:before, .page-qkyokuVoice__block:after {
  content: "";
  position: absolute;
  right: 30%;
  bottom: 0;
  clip-path: polygon(20% 0, 100% 0, 0 100%);
}
.page-qkyokuVoice__block:before {
  width: 28px;
  height: 38px;
  background-color: #930002;
  transform: translateY(100%);
}
@media (max-width: 767px) {
  .page-qkyokuVoice__block:before {
    width: 18px;
    height: 24px;
  }
}
.page-qkyokuVoice__block:after {
  width: 23px;
  height: 33px;
  background-color: #f7f7f7;
  transform: translateX(-1.5px) translateY(100%) translateY(-3px);
}
@media (max-width: 767px) {
  .page-qkyokuVoice__block:after {
    width: 14px;
    height: 18px;
    transform: translateX(-1px) translateY(100%) translateY(-2px);
  }
}
.page-qkyokuVoice__title.common-heading.sm {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .page-qkyokuVoice__title.common-heading.sm {
    font-size: 13px;
  }
}

.page-designSuggestion__image {
  text-align: center;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .page-designSuggestion__image {
    margin-bottom: 30px;
  }
}
@media (max-width: 767px) {
  .page-designSuggestion__title.common-heading.xlg {
    font-size: 26px;
  }
}
.page-designSuggestion__text {
  font-size: 18px;
  max-width: 350px;
  margin-left: auto;
}
@media (max-width: 767px) {
  .page-designSuggestion__text {
    font-size: 15px;
    max-width: 235px;
  }
}
.page-designSuggestion.type-02 {
  color: white;
  position: relative;
  padding: 60px 0;
}
.page-designSuggestion.type-02 .page-designSuggestion__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin-bottom: 0;
}
.page-designSuggestion.type-02 .page-designSuggestion__image img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.page-designSuggestion.type-02 .page-designSuggestion__image:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.page-designSuggestion.type-02 .page-designSuggestion__container {
  position: relative;
}
.page-designSuggestion.type-02 .page-designSuggestion__text {
  max-width: 400px;
}
@media (max-width: 767px) {
  .page-designSuggestion.type-02 .page-designSuggestion__text {
    max-width: 260px;
  }
}

.page-designFeature__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 120px;
}
@media (max-width: 767px) {
  .page-designFeature__blocks {
    gap: 80px;
  }
}
.page-designFeature__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
}
@media (max-width: 1024px) {
  .page-designFeature__inner {
    gap: 32px;
  }
}
@media (max-width: 767px) {
  .page-designFeature__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
}
.page-designFeature__image {
  flex-shrink: 0;
  width: 30.701754386%;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .page-designFeature__image {
    width: 80%;
    order: 2;
    margin: 0 auto 30px;
  }
}
.page-designFeature__image img {
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .page-designFeature__content {
    display: contents;
  }
}
.page-designFeature__title {
  font-size: 32px;
  line-height: 1.6875;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .page-designFeature__title {
    font-size: 22px;
    order: 1;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .page-designFeature__text {
    order: 3;
  }
}
.page-designFeature__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .page-designFeature__grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    margin-top: 30px;
  }
}
.page-designFeature__item {
  width: 100%;
  aspect-ratio: 496/330;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
.page-designFeature__item img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.page-sitemap__map {
  background-color: white;
  padding: 40px;
  box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .page-sitemap__map {
    padding: 20px;
  }
}
.page-sitemap__title {
  font-size: 22px;
  line-height: 1.1818181818;
  letter-spacing: 0.18em;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  .page-sitemap__title {
    font-size: 18px;
  }
}
.page-sitemap__title:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #930002;
}
@media (max-width: 767px) {
  .page-sitemap__title:after {
    content: none;
  }
}
.page-sitemap__blocks {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
}
@media (max-width: 767px) {
  .page-sitemap__blocks {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
    padding-left: 16px;
    padding-right: 76px;
    border-left: 2px solid #930002;
  }
}
.page-sitemap__blocks .page-sitemap__block:last-child li:last-child {
  border-bottom: 0;
}
.page-sitemap__block li:not(:last-child) {
  border-bottom: 1px solid #878787;
}
@media (max-width: 767px) {
  .page-sitemap__block li:last-child {
    border-bottom: 1px solid #878787;
  }
}
.page-sitemap__block li a {
  display: block;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.18em;
  font-weight: 700;
  padding: 18px 0;
}
@media (max-width: 767px) {
  .page-sitemap__block li a {
    font-size: 12px;
  }
}

input[type=text], input[type=email], select, textarea {
  width: 100%;
  border: 0;
  padding: 5px 10px;
  background-color: white;
  border: solid 1px #ccc;
  border-radius: 3px;
  box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  -webkit-appearance: none; /* ベンダープレフィックス(Google Chrome、Safari用) */
  -moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
}
input[type=text]:-moz-placeholder, input[type=email]:-moz-placeholder, select:-moz-placeholder, textarea:-moz-placeholder {
  color: #aaa;
}
input[type=text]:placeholder-shown, input[type=email]:placeholder-shown, select:placeholder-shown, textarea:placeholder-shown {
  color: #aaa;
}
input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #aaa;
}
input[type=text]:-moz-placeholder, input[type=email]:-moz-placeholder, select:-moz-placeholder, textarea:-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #aaa;
}

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;
}

input[type=radio] {
  vertical-align: 0.15em;
  margin-right: 5px;
}

[data-scroll] {
  transition: 1s;
}

[data-scroll=in] {
  opacity: 1;
}

.single-body {
  line-height: 1.78;
}
.single-body > * {
  margin-top: 30px;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .single-body > * {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.single-body > *:first-child {
  margin-top: unset;
}
.single-body > *:last-child {
  margin-bottom: unset;
}

.single-body__category {
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  border-bottom: 1px solid var(--color-gray);
  padding-bottom: 20px;
}
@media (max-width: 767px) {
  .single-body__category {
    font-size: 14px;
    padding-bottom: 18px;
  }
}

.single-body__heading {
  font-size: 28px;
  font-weight: 500;
  text-align: justify;
}
@media (max-width: 767px) {
  .single-body__heading {
    font-size: 20px;
    line-height: 1.7;
  }
}

.single-body__date {
  font-size: 18px;
  font-weight: 500;
}
@media (max-width: 767px) {
  .single-body__date {
    font-size: 12px;
    line-height: 2;
  }
}

.single-body__center {
  display: grid;
  place-items: center;
}

.single-body__center--px {
  padding-left: 30px;
  padding-right: 30px;
}
@media (max-width: 767px) {
  .single-body__center--px {
    padding-left: unset;
    padding-right: unset;
  }
}

.single-body__thumb {
  margin: 0 30px;
}
@media (max-width: 767px) {
  .single-body__thumb {
    margin: 0;
  }
}

.single-body__contact {
  background: #E1DFD7;
  width: 100%;
  padding: 30px 32px;
}
@media (max-width: 767px) {
  .single-body__contact {
    padding: 20px 15px 30px;
  }
}
.single-body__contact--ttl {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
  padding: 0;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .single-body__contact--ttl {
    font-size: 16px;
  }
}
.single-body__contact .common-forms__colmun {
  background: transparent;
  width: 100%;
  padding: 0;
  box-shadow: none;
}
.single-body__contact .common-forms__blocks {
  background: white;
  padding: 40px 30px 60px;
}
@media (max-width: 1024px) {
  .single-body__contact .common-forms__blocks {
    padding: 40px 15px;
  }
}

.single-content {
  --gutter-single: 30px;
  font-size: 15px;
  line-height: 1.8666666667;
  font-weight: 500;
}
@media (max-width: 767px) {
  .single-content {
    --gutter-single: 0;
  }
}
.single-content > * {
  margin-top: 50px;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .single-content > * {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.single-content > *:first-child {
  margin-top: unset;
}
@media (max-width: 767px) {
  .single-content {
    font-size: 14px;
    line-height: 1.8571428571;
  }
}
.single-content .has-red-color {
  color: var(--color-red);
}
.single-content .has-blue-color {
  color: var(--color-blue);
}
.single-content .has-green-color {
  color: var(--color-green);
}
.single-content .has-orange-color {
  color: var(--color-orange);
}
.single-content .module-table-wrap {
  margin-left: var(--gutter-single);
  margin-right: var(--gutter-single);
}
@media (max-width: 767px) {
  .single-content .module-table-wrap {
    margin-left: unset;
    margin-right: unset;
  }
}
.single-content .module-table-wrap.module-table-wrap--scroll {
  overflow-x: visible;
}
.single-content .module-table-wrap.module-table-wrap--scroll table {
  min-width: auto;
}
@media (max-width: 767px) {
  .single-content .module-table-wrap.module-table-wrap--scroll {
    overflow-x: auto;
  }
  .single-content .module-table-wrap.module-table-wrap--scroll table {
    min-width: 680px;
  }
}
.single-content .module-table-wrap.module-table-wrap--center td {
  text-align: center;
}
@media (max-width: 767px) {
  .single-content .module-table-wrap.module-table-wrap--center th {
    text-align: center;
  }
}
.single-content > p {
  font-size: 15px;
  line-height: 1.8666666667;
  font-weight: 500;
  margin-left: var(--gutter-single);
  margin-right: var(--gutter-single);
  text-align: justify;
}
@media (max-width: 767px) {
  .single-content > p {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}
.single-content h2 {
  font-size: 28px;
  font-weight: 500;
  line-height: 178%;
  background-color: var(--color-beige-e1);
  padding: 10px 18px;
  text-align: justify;
}
@media (max-width: 767px) {
  .single-content h2 {
    font-size: 20px;
    padding: 10px 15px;
    line-height: 28px;
  }
}
.single-content h3 {
  padding-left: 1.4444444444em;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: justify;
  position: relative;
}
@media (max-width: 767px) {
  .single-content h3 {
    font-size: 18px;
    padding-left: 1.5em;
    line-height: 1.5;
  }
}
.single-content h3::before {
  content: "";
  background-color: currentColor;
  width: 0.7222222222em;
  height: calc(100% - 0.5em);
  top: 0.25em;
  position: absolute;
  left: 0;
}
@media (max-width: 767px) {
  .single-content h3::before {
    width: 0.8571428571em;
  }
}
.single-content h4 {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media (max-width: 767px) {
  .single-content h4 {
    font-size: 16px;
    line-height: 1.5;
  }
}
.single-content h5 {
  text-align: justify;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.05em;
  border-bottom: 5px solid currentColor;
}
@media (max-width: 767px) {
  .single-content h5 {
    font-size: 15px;
    border-bottom: 6px solid currentColor;
    line-height: 1.6;
    padding-bottom: 5px;
  }
}
.single-content figure {
  margin-left: var(--gutter-single);
  margin-right: var(--gutter-single);
}
.single-content hr {
  border: none;
  height: 1px;
  background-color: var(--color-gray);
}
.single-content strong {
  font-weight: 700;
}
.single-content ul {
  margin-left: var(--gutter-single);
  margin-right: var(--gutter-single);
}
@media (max-width: 767px) {
  .single-content ul {
    font-size: 15px;
    line-height: 1.8666666667;
  }
}
.single-content li {
  padding-left: 20px;
  position: relative;
}
@media (max-width: 767px) {
  .single-content li {
    padding-left: 25px;
  }
}
.single-content li:not(:first-of-type) {
  margin-top: 5px;
}
@media (max-width: 767px) {
  .single-content li:not(:first-of-type) {
    margin-top: 10px;
  }
}
.single-content li::before {
  position: absolute;
  top: 0.75em;
  border-radius: 999em;
  left: 0;
  content: "";
  background-color: currentColor;
  width: 5px;
  height: 5px;
  position: absolute;
}
@media (max-width: 767px) {
  .single-content li::before {
    left: 0.75em;
  }
}
.single-content img {
  display: block;
  margin: 50px auto;
}
@media (max-width: 767px) {
  .single-content img {
    margin: 30px auto;
  }
}
.single-content blockquote {
  background-color: var(--color-beige-e1);
  padding: 30px;
}
.single-content blockquote > p {
  margin-left: unset;
  margin-right: unset;
}
.single-content blockquote cite {
  margin-top: 10px;
  text-align: right;
  display: block;
}
.single-content blockquote > *:first-child::before {
  background-image: url("data:image/svg+xml;utf8,<svg width='44' height='36' viewBox='0 0 44 36' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M41.1445 0C42.8112 0 43.5425 0.819584 43.3384 2.45876C43.2304 3.32655 42.8223 4.0015 42.1142 4.48361C36.8312 8.24406 33.7388 12.6312 32.8368 17.6452C35.5906 17.838 37.6002 18.8022 38.8656 20.5378C40.1431 22.177 40.6257 24.2501 40.3136 26.757C40.0136 29.1676 38.9162 31.2889 37.0214 33.1209C35.1387 34.8565 32.9936 35.7243 30.5862 35.7243C28.1788 35.7243 26.2215 34.7118 24.7143 32.687C23.2071 30.6621 22.7176 27.5284 23.2458 23.2859C23.7739 19.0433 25.7029 14.7043 29.0329 10.2689C32.3628 5.83351 35.7218 2.6516 39.1101 0.723163C39.9108 0.241055 40.589 0 41.1445 0ZM18.6445 0C20.3112 0 21.0425 0.819584 20.8385 2.45876C20.7304 3.32655 20.3223 4.0015 19.6142 4.48361C14.3312 8.24406 11.2388 12.6312 10.3368 17.6452C13.0906 17.838 15.1002 18.8022 16.3656 20.5378C17.6431 22.177 18.1257 24.2501 17.8136 26.757C17.5136 29.1676 16.4162 31.2889 14.5214 33.1209C12.6387 34.8565 10.4936 35.7243 8.08623 35.7243C5.67882 35.7243 3.72153 34.7118 2.21433 32.687C0.707142 30.6621 0.217616 27.5284 0.745757 23.2859C1.2739 19.0433 3.20293 14.7043 6.53286 10.2689C9.86278 5.83351 13.2219 2.6516 16.6101 0.723163C17.4108 0.241055 18.089 0 18.6445 0Z' fill='%23878787'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  width: 40px;
  height: 36px;
  display: block;
  margin-bottom: 25px;
  content: "";
}
@media (max-width: 767px) {
  .single-content blockquote > *:first-child::before {
    width: 34px;
    height: 25px;
    margin-bottom: 15px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='34' height='25' viewBox='0 0 34 25' fill='none'><path d='M31.4648 0.351562C32.7148 0.351562 33.2402 0.916398 33.0411 2.04607C32.9356 2.64413 32.6105 3.10929 32.0658 3.44155C27.9977 6.03315 25.5549 9.05668 24.7373 12.5121C26.7972 12.645 28.2772 13.3096 29.1774 14.5057C30.0893 15.6354 30.393 17.0641 30.0883 18.7918C29.7954 20.4531 28.9126 21.915 27.44 23.1776C25.9791 24.3737 24.3459 24.9718 22.5403 24.9718C20.7347 24.9718 19.2953 24.274 18.2219 22.8785C17.1485 21.4831 16.8696 19.3234 17.3851 16.3995C17.9007 13.4757 19.4696 10.4854 22.092 7.42862C24.7143 4.37186 27.3232 2.17897 29.9186 0.849947C30.5328 0.517691 31.0482 0.351562 31.4648 0.351562ZM14.5898 0.351562C15.8398 0.351562 16.3652 0.916398 16.1661 2.04607C16.0606 2.64413 15.7355 3.10929 15.1908 3.44155C11.1227 6.03315 8.6799 9.05668 7.86227 12.5121C9.92217 12.645 11.4022 13.3096 12.3024 14.5057C13.2143 15.6354 13.518 17.0641 13.2133 18.7918C12.9204 20.4531 12.0376 21.915 10.565 23.1776C9.10409 24.3737 7.47086 24.9718 5.66531 24.9718C3.85975 24.9718 2.42028 24.274 1.3469 22.8785C0.273513 21.4831 -0.00540257 19.3234 0.510152 16.3995C1.02571 13.4757 2.59465 10.4854 5.21697 7.42862C7.83929 4.37186 10.4482 2.17897 13.0436 0.849947C13.6578 0.517691 14.1732 0.351562 14.5898 0.351562Z' fill='%23878787'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
  }
}
.single-content table {
  font-size: 13px;
  border: 1px solid var(--color-gray-lighten);
  border-collapse: collapse;
  width: 100%;
  table-layout: auto;
}
@media (max-width: 767px) {
  .single-content table {
    font-size: 12px;
  }
}
.single-content table th,
.single-content table td {
  border: 1px solid var(--color-gray-lighten);
}
.single-content table th {
  font-weight: 700;
  background-color: #F7F7F7;
  text-align: center;
  padding: 0.5em 1em;
  width: 130px;
}
@media (max-width: 767px) {
  .single-content table th {
    padding: 0.3em 1em;
    text-align: left;
    width: 100px;
  }
}
.single-content table td {
  padding: 0.5em 0.5em;
  background-color: white;
}
@media (max-width: 767px) {
  .single-content table td {
    padding: 0.3em 0.5em;
  }
}

.module-toc {
  background-color: white;
  filter: var(--drop-shadow);
  padding: 30px;
}
@media (max-width: 767px) {
  .module-toc {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 15px;
    padding-right: 15px;
  }
}

.module-toc__ttl {
  font-size: 13px;
  line-height: 1;
  border-bottom: 1px solid var(--color-gray-lighten);
  padding-bottom: 10px;
  padding-left: 0.5em;
}
@media (max-width: 767px) {
  .module-toc__ttl {
    font-size: 12px;
    line-height: 2;
    padding-bottom: 5px;
  }
}

.module-toc__nav {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .module-toc__nav {
    margin-top: 15px;
  }
}

.module-toc__list {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}

.module-toc__link {
  font-size: 15px;
  font-weight: 500;
}
@media (max-width: 767px) {
  .module-toc__link {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}

.module-toc__sublist {
  margin-top: 10px;
  margin-left: 15px;
  padding-left: 15px;
  border-left: 1px solid var(--color-gray-lighten);
  font-weight: 300;
}
@media (max-width: 767px) {
  .module-toc__sublist {
    margin-top: 15px;
    margin-left: 10px;
    padding-left: 10px;
  }
}

.module-toc__subitem:first-of-type {
  margin-top: -5px;
}

.module-toc__subitem:not(:first-of-type) {
  margin-top: 5px;
}

.module-toc__sublink {
  font-size: 13px;
}
@media (max-width: 767px) {
  .module-toc__sublink {
    font-size: 12px;
    line-height: 2;
  }
}

#toc_container {
  background-color: white;
  filter: var(--drop-shadow);
  padding: 30px;
  margin: 0 30px;
}
@media (max-width: 767px) {
  #toc_container {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 15px;
    padding-right: 15px;
    margin: 0;
  }
}

.toc_title {
  font-size: 13px;
  line-height: 1;
  border-bottom: 1px solid var(--color-gray-lighten);
  padding-bottom: 10px;
  padding-left: 0.5em;
}
@media (max-width: 767px) {
  .toc_title {
    font-size: 12px;
    line-height: 2;
    padding-bottom: 5px;
  }
}

.toc_list {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  list-style: none;
}
@media (max-width: 767px) {
  .toc_list {
    margin-top: 15px;
  }
}
.toc_list li {
  list-style: none;
  padding: 0;
}
.toc_list li:before {
  display: none;
}
.toc_list > li a {
  font-size: 15px;
  font-weight: 500;
}
@media (max-width: 767px) {
  .toc_list > li a {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}
.toc_list > li > ul {
  margin-top: 10px;
  margin-left: 15px;
  padding-left: 15px;
  border-left: 1px solid var(--color-gray-lighten);
  font-weight: 300;
}
@media (max-width: 767px) {
  .toc_list > li > ul {
    margin-top: 15px;
    margin-left: 10px;
    padding-left: 10px;
  }
}
.toc_list > li > ul > li:first-of-type {
  margin-top: -5px;
}
.toc_list > li > ul > li:not(:first-of-type) {
  margin-top: 5px;
}
.toc_list > li > ul > li > a {
  font-size: 13px;
}
@media (max-width: 767px) {
  .toc_list > li > ul > li > a {
    font-size: 12px;
    line-height: 2;
  }
}

.module-box {
  background-color: var(--color-beige-e1);
  display: grid;
  padding: 30px;
}
@media (max-width: 767px) {
  .module-box {
    padding: 30px 24px;
  }
}
.module-box.module-box--col-2 {
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
@media (max-width: 767px) {
  .module-box.module-box--col-2 {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }
}

.module-box__body {
  margin-top: 10px;
}
@media (max-width: 767px) {
  .module-box__body {
    margin-top: unset;
  }
}
.module-box__body img {
  width: 100%;
  margin: 0;
}

.module-box__ttl {
  font-size: 15px;
  font-weight: 500;
}

.module-linkCard {
  display: block;
  padding-top: 25px;
  padding-right: 25px;
  padding-left: 30px;
  padding-bottom: 15px;
  max-width: 500px;
  filter: var(--drop-shadow);
  background-color: white;
  position: relative;
}

.module-linkCard::after {
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  background-color: currentColor;
  position: absolute;
  right: 0;
  bottom: 30px;
}
@media (max-width: 767px) {
  .module-linkCard::after {
    bottom: 24px;
  }
}

.module-linkCard__grid {
  display: grid;
  grid-template-columns: 76px 1fr;
  -moz-column-gap: 10px;
       column-gap: 10px;
  row-gap: 5px;
}
.module-linkCard__grid > *:nth-child(1) {
  grid-area: 1/1/3/2;
}
@media (max-width: 767px) {
  .module-linkCard__grid > *:nth-child(1) {
    align-self: center;
  }
}
.module-linkCard__grid > *:nth-child(2) {
  grid-area: 1/2/2/3;
}
.module-linkCard__grid > *:nth-child(3) {
  grid-area: 2/2/3/3;
}

.module-linkCard__heading {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.module-linkCard__txt {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6666666667;
}

.module-linkCard__link {
  font-size: 14px;
  letter-spacing: 0.1em;
  margin-top: 20px;
  text-align: right;
}
@media (max-width: 767px) {
  .module-linkCard__link {
    font-size: 12px;
  }
}

.btn-arrow {
  width: 100%;
  display: block;
  max-width: 400px;
  position: relative;
  margin-right: 23px;
}
@media (max-width: 767px) {
  .btn-arrow {
    width: 90%;
    margin-left: 4%;
    padding-right: min(15px, 4%);
  }
}

.btn-arrow__wrap {
  border: 1px solid currentColor;
  min-height: 80px;
  width: 100%;
  display: grid;
  place-items: center;
}
@media (max-width: 767px) {
  .btn-arrow__wrap {
    min-height: 60px;
    padding-right: 4%;
  }
}

.btn-arrow__txt {
  font-size: 16px;
  font-weight: 500;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .btn-arrow__txt {
    font-size: 13px;
    line-height: 1.6923076923;
  }
}

.btn-arrow__arrow {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 50% -50%;
}
@media (max-width: 767px) {
  .btn-arrow__arrow {
    right: 15px;
    width: 40px;
    height: 40px;
  }
}
.btn-arrow__arrow rect, .btn-arrow__arrow path {
  fill: #f7f7f7;
}

.btn-simple {
  display: block;
  min-width: 200px;
  border: 1px solid currentColor;
  min-height: 34px;
  display: grid;
  place-items: center;
  position: relative;
  padding-left: 20px;
  letter-spacing: 0.1em;
  padding-right: 20px;
  padding-top: 8px;
  padding-bottom: 8px;
  cursor: pointer;
}

.btn-simple--minWidth-0 {
  min-width: unset;
}

.btn-simple--red {
  color: white;
  background-color: var(--color-red-dark);
}

.btn-simple--tracking-none {
  letter-spacing: 0;
}

.btn-simple::after {
  content: "";
  height: 1px;
  width: 16px;
  display: block;
  background-color: currentColor;
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
}

.btn-simple--arrow::after {
  content: "";
  display: block;
  width: 8px;
  height: 11px;
  background-color: unset;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='11' viewBox='0 0 8 11' fill='none'><path d='M2 2L6 5.5L2 9' stroke='%23FFF9F9' stroke-width='2' stroke-linecap='square'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 8px;
  translate: 0 -50%;
}

.btn-simple.btn-simple--bar-left::after {
  left: 0;
  right: unset;
}

.btn-simple__txt {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
}

.module-property__upper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: 10px;
}
@media (max-width: 767px) {
  .module-property__upper {
    grid-template-columns: 1fr;
  }
}
.module-property__upper > *:nth-child(1) {
  grid-area: 1/1/3/2;
}
@media (max-width: 767px) {
  .module-property__upper > *:nth-child(1) {
    grid-area: auto;
  }
}
.module-property__upper > *:nth-child(2) {
  grid-area: 1/2/2/3;
  margin-top: 10px;
  padding-left: 5px;
  text-align: justify;
}
@media (max-width: 767px) {
  .module-property__upper > *:nth-child(2) {
    grid-area: auto;
  }
}
.module-property__upper > *:nth-child(3) {
  grid-area: 2/2/3/3;
  padding-left: 5px;
  text-align: justify;
}
@media (max-width: 767px) {
  .module-property__upper > *:nth-child(3) {
    grid-area: auto;
  }
}

.module-property__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: stretch;
  flex-direction: column;
  row-gap: 50px;
}
@media (max-width: 767px) {
  .module-property__list {
    row-gap: 30px;
  }
}

.module-property__thumbnail img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.module-property__ttl {
  font-size: 18px;
  font-weight: 700;
}
@media (max-width: 767px) {
  .module-property__ttl {
    font-size: 16px;
  }
}

.module-property__txt {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8666666667;
}
@media (max-width: 767px) {
  .module-property__txt {
    font-size: 14px;
    line-height: 2;
  }
}

.module-property__lower {
  margin-top: 30px;
}

.module-property__feature {
  display: grid;
  grid-template-columns: 110px 1fr 110px 1fr;
  row-gap: 15px;
}
@media (max-width: 767px) {
  .module-property__feature {
    grid-template-columns: 120px 1fr;
  }
}

.module-property__featureHead {
  align-self: flex-start;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  min-height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
}

.module-property__featureBody {
  padding-left: 10px;
  padding-right: 10px;
  font-size: 12px;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.module-property__priceBlock {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
}

.module-property__price {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 15px;
       column-gap: 15px;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .module-property__price {
    flex-direction: column;
    row-gap: 10px;
    justify-items: flex-start;
    align-items: flex-start;
  }
}

.module-property__priceBar {
  width: 40px;
  height: 1px;
  background-color: currentColor;
}
@media (max-width: 767px) {
  .module-property__priceBar {
    display: none;
  }
}

.module-property__priceHead {
  font-size: 12px;
  font-weight: 500;
}

.module-property__priceBody {
  color: var(--color-red-dark);
  font-weight: 500;
  font-size: 15px;
}

.module-property__map {
  margin-top: 30px;
}

p.module-property__address {
  text-align: right;
  font-size: 12px;
  font-weight: 500;
  margin: 0;
}

.module-property__iframe {
  margin-top: 15px;
  max-width: 100%;
  width: 100%;
  aspect-ratio: 620/345;
  height: auto;
}
@media (max-width: 767px) {
  .module-property__iframe {
    aspect-ratio: 335/345;
  }
}

.module-reservation {
  min-width: 620px;
  background-color: white;
  filter: var(--drop-shadow);
  position: relative;
}
@media (max-width: 767px) {
  .module-reservation {
    min-width: 89.3333333333vw;
  }
}

.module-reservation__illust {
  position: absolute;
  bottom: 0;
  left: 35px;
}
@media (max-width: 1024px) {
  .module-reservation__illust {
    left: 15px;
    width: 70px;
  }
}
@media (max-width: 767px) {
  .module-reservation__illust {
    width: 102px;
    left: 5px;
  }
}
.module-reservation__illust img {
  margin: 0;
}

.module-reservation__upper {
  padding-top: 25px;
  padding-right: 60px;
  padding-left: 60px;
  padding-bottom: 30px;
}
@media (max-width: 767px) {
  .module-reservation__upper {
    padding-top: 30px;
    padding-left: 25px;
    padding-right: 25px;
    padding-bottom: 40px;
  }
}

.module-reservation__list {
  display: grid;
  grid-template-columns: 76px 1fr;
}

.module-reservation__head {
  padding-right: 20px;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 13px;
  font-weight: 500;
  -moz-text-align-last: justify;
       text-align-last: justify;
  border-bottom: 1px solid var(--color-gray-lighten);
}

.module-reservation__body {
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 13px;
  font-weight: 500;
  border-bottom: 1px solid var(--color-gray-lighten);
  letter-spacing: 0.1em;
}

.module-reservation__lead {
  margin-left: auto;
  margin-right: auto;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 4%;
}
@media (max-width: 767px) {
  .module-reservation__lead {
    margin-right: unset;
    font-size: 10px;
    padding-left: unset;
    padding-right: 25px;
  }
}

.module-reservation__button {
  margin-top: 20px;
  color: white;
  background-color: var(--color-red-dark);
  text-align: center;
  width: 100%;
  min-height: 50px;
  justify-content: center;
  display: flex;
  -moz-column-gap: 9%;
       column-gap: 9%;
  padding-left: 17%;
  align-items: center;
}
@media (max-width: 767px) {
  .module-reservation__button {
    min-height: 60px;
    text-align: left;
    padding-left: 25px;
    padding-right: 15px;
  }
}

.module-reservation__buttonText {
  font-size: 19px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.module-reservation__buttonText br {
  display: none;
}
@media screen and (max-width: 430px) {
  .module-reservation__buttonText br {
    display: revert;
  }
}
@media (max-width: 767px) {
  .module-reservation__buttonText {
    font-size: 15px;
    line-height: 1.5;
    margin-left: auto;
  }
}

@media (max-width: 767px) {
  .module-reservation__arrow {
    width: 25px;
  }
}

.module-author__grid {
  display: grid;
  grid-template-columns: 90px 1fr;
  -moz-column-gap: 25px;
       column-gap: 25px;
  padding: 40px 30px;
  background-color: var(--color-beige-e1);
  grid-template-rows: auto 1fr;
  row-gap: 15px;
}
@media (max-width: 767px) {
  .module-author__grid {
    padding: 25px 30px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
}
.module-author__grid > *:nth-child(1) {
  grid-area: 1/1/3/2;
}
@media (max-width: 767px) {
  .module-author__grid > *:nth-child(1) {
    grid-area: auto;
    justify-self: center;
  }
}
.module-author__grid > *:nth-child(2) {
  grid-area: 1/2/2/3;
  margin-top: 10px;
}
@media (max-width: 767px) {
  .module-author__grid > *:nth-child(2) {
    grid-area: auto;
  }
}
.module-author__grid > *:nth-child(3) {
  grid-area: 2/2/3/3;
}
@media (max-width: 767px) {
  .module-author__grid > *:nth-child(3) {
    grid-area: auto;
  }
}

.module-author__heading {
  font-size: 16px;
  line-height: 1.25;
  font-weight: 700;
}
@media (max-width: 767px) {
  .module-author__heading {
    font-size: 15px;
    line-height: 1.6;
  }
}

.module-author__txt {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6666666667;
}
@media (max-width: 767px) {
  .module-author__txt {
    font-size: 12px;
    line-height: 2;
  }
}

@media (max-width: 767px) {
  .module-author__thumbnail > * {
    width: 120px;
    aspect-ratio: 1/1;
    height: 120px;
  }
}

.module-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 25px;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media (max-width: 767px) {
  .module-gallery {
    grid-template-columns: 1fr;
    row-gap: 20px;
    width: 100%;
  }
}

.module-gallery__figure {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: flex-start;
  align-content: center;
  flex-direction: column;
}
.module-gallery__figure img {
  margin: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.module-gallery__figcaption {
  font-size: 12px;
  font-weight: 500;
  width: 100%;
  margin-bottom: 5px;
}
.module-gallery__figcaption p {
  margin: 0;
}

.module-gallery__img {
  width: 100%;
  margin: 0 !important;
}

.module-sliderGallery {
  padding-left: 30px;
  padding-right: 30px;
}
@media (max-width: 767px) {
  .module-sliderGallery {
    padding-left: 0;
    padding-right: 0;
  }
}

.module-sliderGallery__thumbs {
  position: relative;
  margin-top: 10px;
  height: auto;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .module-sliderGallery__thumbs {
    margin-top: 5px;
  }
}
.module-sliderGallery__thumbs .swiper-wrapper {
  height: 100%;
}
.module-sliderGallery__thumbs .swiper-slide {
  aspect-ratio: 1.5151515152;
  cursor: pointer;
}
@media (max-width: 767px) {
  .module-sliderGallery__thumbs .swiper-slide {
    aspect-ratio: 1.5;
  }
}
.module-sliderGallery__thumbs .swiper-slide:not(.swiper-slide-thumb-active) {
  opacity: 0.5;
}
.module-sliderGallery__thumbs img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.module-sliderGallery__main .swiper-slide {
  aspect-ratio: 1.5012106538;
}
@media (max-width: 767px) {
  .module-sliderGallery__main .swiper-slide {
    aspect-ratio: 1.5022421525;
  }
}
.module-sliderGallery__main img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.module-sliderGallery__arrows {
  width: calc(100% + 40px);
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .module-sliderGallery__arrows {
    width: calc(100% + 18px);
  }
}

.module-sliderGallery__thumbs .swiper-button-prev {
  width: 10px;
  height: 100%;
  margin: 0 !important;
  position: static;
  right: 100%;
  color: #606060;
  font-weight: 700;
  opacity: 1;
}
@media (max-width: 767px) {
  .module-sliderGallery__thumbs .swiper-button-prev {
    width: 5px;
  }
}

.module-sliderGallery__thumbs .swiper-button-prev:after {
  font-size: 15px;
}
@media (max-width: 767px) {
  .module-sliderGallery__thumbs .swiper-button-prev:after {
    font-size: 8px;
  }
}

.module-sliderGallery__thumbs .swiper-button-prev:before {
  content: "";
  background-image: url(./img/common/arw_slider-gallery.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 10px;
  height: 19px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .module-sliderGallery__thumbs .swiper-button-prev:before {
    width: 5px;
    height: 11px;
  }
}

.module-sliderGallery__thumbs .swiper-button-next {
  width: 10px;
  height: 100%;
  position: static;
  color: #606060;
  font-weight: 700;
  margin: 0 !important;
  right: 0;
  opacity: 1;
}
@media (max-width: 767px) {
  .module-sliderGallery__thumbs .swiper-button-next {
    width: 5px;
  }
}

.module-sliderGallery__thumbs .swiper-button-next:before {
  content: "";
  background-image: url(./img/common/arw_slider-gallery.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 10px;
  height: 19px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(180deg);
}
@media (max-width: 767px) {
  .module-sliderGallery__thumbs .swiper-button-next:before {
    width: 5px;
    height: 11px;
  }
}

.module-sliderGallery__thumbs .swiper-button-next:after {
  font-size: 15px;
}
@media (max-width: 767px) {
  .module-sliderGallery__thumbs .swiper-button-next:after {
    font-size: 8px;
  }
}

.module-plan {
  width: 100%;
}

.module-plan__heading {
  display: flex;
  align-items: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
}

.module-plan__headingText {
  flex-shrink: 0;
  font-size: 15px;
  line-height: 1.5333333333;
  font-weight: 500;
}

.module-plan__heading::after {
  background-color: currentColor;
  height: 1px;
  content: "";
  display: block;
  width: 100%;
}

.module-plan__body {
  font-size: 13px;
  line-height: 1.7692307692;
  font-weight: 500;
  margin-top: 10px;
}
@media (max-width: 767px) {
  .module-plan__body {
    font-size: 12px;
    line-height: 1.9166666667;
  }
}

.heading-bar {
  border-bottom: 2px solid var(--color-red-dark);
  font-size: 17px;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 767px) {
  .heading-bar {
    font-size: 16px;
    padding-bottom: 10px;
  }
}

.heading-bar--red {
  color: var(--color-red-dark);
}

.heading-bar--thick {
  color: var(--color-red-dark);
  border-bottom: 4px solid currentColor;
}
@media (max-width: 767px) {
  .heading-bar--thick {
    border-bottom: 3px solid currentColor;
  }
}

.cat-accordion {
  background-color: var(--color-beige-e1);
  padding: 15px 10px 22px;
  max-width: 180px;
  width: 100%;
}
@media (max-width: 767px) {
  .cat-accordion {
    max-width: unset;
    padding: 15px;
  }
}

.cat-accordion__ttl {
  color: white;
  background-color: var(--color-text);
  min-height: 30px;
  font-size: 12px;
  display: grid;
  place-items: center;
}

.cat-accordion__header {
  font-size: 12px;
  letter-spacing: 0.05em;
  font-weight: 500;
  position: relative;
  cursor: pointer;
}

.cat-accordion__header:has([aria-expanded=true])::after {
  rotate: 180deg;
}

.cat-accordion__trigger {
  display: inline-block;
  text-align: left;
}

.cat-accordion__header::after {
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  content: "";
  display: inline-block;
  /* 必要に応じて block や absolute に */
  width: 11px;
  height: 6px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='6' viewBox='0 0 11 6' fill='none'><path d='M10 1L5.5 5L1 1' stroke='%23930002' stroke-linecap='square'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
}

.cat-accordion__list {
  background-color: white;
  border: 1px solid currentColor;
}

.cat-accordion__item {
  border-top: 1px solid currentColor;
  padding-top: 5px;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
}
.cat-accordion__item--leaf .cat-accordion__header:after {
  display: none;
}

.cat-accordion__subitem {
  border-top: 1px solid currentColor;
}

.cat-accordion__link {
  font-size: 12px;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-top: 0.22em;
  padding-bottom: 0.22em;
}

.category-bar {
  border: 1px solid currentColor;
  display: grid;
  place-items: center;
  background-color: white;
  min-height: 34px;
  font-size: 12px;
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
}
.category-bar[aria-current=true] {
  background-color: var(--color-red-dark);
  color: white;
  border-radius: none;
}
.category-bar[aria-current=true]::after {
  content: none;
}

.category-bar::after {
  content: "";
  display: block;
  height: 14px;
  background-color: var(--color-red-dark);
  width: 1px;
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 9px;
}

.card-property {
  background-color: white;
  filter: var(--drop-shadow);
}
@media (max-width: 767px) {
  .card-property {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }
  .card-property > *:nth-child(1) {
    grid-area: 1/1/2/2;
  }
  .card-property > *:nth-child(2) {
    grid-area: 1/2/2/3;
  }
  .card-property > *:nth-child(3) {
    grid-area: 2/1/3/3;
  }
}

.card-property__thumbnail {
  aspect-ratio: 300/206;
}
@media (max-width: 767px) {
  .card-property__thumbnail {
    aspect-ratio: 167/110;
  }
}
.card-property__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .card-property__thumbnail img {
    height: auto;
  }
}

.card-property__body {
  padding: 10px 20px 20px;
}

.card-property__upper {
  padding: 10px 20px 0;
}
@media (max-width: 767px) {
  .card-property__upper {
    padding: 10px 10px;
  }
}

.card-property__lower {
  padding: 10px 20px 20px;
}

.card-property__ttl {
  text-align: center;
}
@media (max-width: 767px) {
  .card-property__ttl {
    font-size: 14px;
    line-height: 1.5;
  }
}

.card-property__row {
  margin-top: 15px;
  display: grid;
  grid-template-columns: 23px 1fr;
  -moz-column-gap: 5px;
       column-gap: 5px;
}
@media (max-width: 767px) {
  .card-property__row {
    margin-top: 10px;
  }
  .card-property__row:first-of-type {
    margin-top: 20px;
  }
}
@media (max-width: 767px) {
  .card-property__row {
    grid-template-columns: 14px 1fr;
  }
  .card-property__row svg {
    width: 12px;
  }
}
.card-property__row > *:nth-child(1) {
  display: grid;
  place-items: center;
}

.card-property__address {
  font-size: 12px;
  line-height: 1.75;
  font-weight: 700;
}
@media (max-width: 767px) {
  .card-property__address {
    font-size: 10px;
    line-height: 1.4;
  }
}

.card-property__price {
  font-size: 12px;
  line-height: 1.75;
  font-weight: 700;
}
@media (max-width: 767px) {
  .card-property__price {
    font-size: 10px;
  }
}

.card-property__priceNum {
  font-size: 141.6666666667%;
  line-height: 1.2352941176;
}
@media (max-width: 767px) {
  .card-property__priceNum {
    font-size: 140%;
  }
}

.card-property__priceUnit {
  margin-left: 0.25em;
}

.card-property__button {
  margin-top: 20px;
}

.card-post {
  background-color: white;
  filter: var(--drop-shadow);
}

.card-post--sm {
  max-width: 222px;
}
@media (max-width: 767px) {
  .card-post--sm {
    max-width: unset;
  }
}
.card-post--sm .card-post__thumbnail {
  aspect-ratio: 222/150;
  max-height: 150px;
}
@media (max-width: 767px) {
  .card-post--sm .card-post__thumbnail {
    max-height: 177px;
    aspect-ratio: 335/177;
  }
}
.card-post--sm .card-post__body {
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
}
@media (max-width: 767px) {
  .card-post--sm .card-post__body {
    padding-left: 30px;
    padding-right: 30px;
  }
}
.card-post--sm .card-post__category {
  row-gap: 8px;
  -moz-column-gap: 8px;
       column-gap: 8px;
}
.card-post--sm .card-post__ttl {
  font-size: 13px;
  line-height: 1.3076923077;
  margin-top: 10px;
}
@media (max-width: 767px) {
  .card-post--sm .card-post__ttl {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}

.card-post--md {
  max-width: 312px;
}
@media (max-width: 767px) {
  .card-post--md {
    max-width: unset;
  }
}
.card-post--md .card-post__thumbnail {
  aspect-ratio: 311/141;
  max-height: 141px;
}
@media (max-width: 767px) {
  .card-post--md .card-post__thumbnail {
    max-height: 177px;
    aspect-ratio: 335/177;
  }
}
.card-post--md .card-post__body {
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 20px;
  padding-bottom: 20px;
}
.card-post--md .card-post__ttl {
  margin-top: unset;
  font-size: 13px;
  line-height: 1.3076923077;
}
@media (max-width: 767px) {
  .card-post--md .card-post__ttl {
    font-size: 14px;
    text-align: center;
    line-height: 1.7142857143;
  }
}
.card-post--md .card-post__more {
  margin-top: 15px;
  padding-right: 15px;
}
.card-post--md .card-post__more::after {
  right: -15px;
}

.card-post__thumbnail {
  aspect-ratio: 446/246;
  max-height: 246px;
  width: 100%;
}
@media (max-width: 767px) {
  .card-post__thumbnail {
    aspect-ratio: 335/177;
  }
}
.card-post__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card-post__body {
  padding-top: 20px;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 20px;
}
@media (max-width: 767px) {
  .card-post__body {
    padding-top: 25px;
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 20px;
  }
}

.card-post__category {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 10px;
       column-gap: 10px;
  row-gap: 10px;
}

.card-post__ttl {
  font-size: 15px;
  line-height: 1.8666666667;
  text-align: justify;
  margin-top: 15px;
}
@media (max-width: 767px) {
  .card-post__ttl {
    font-size: 14px;
    line-height: 1.7142857143;
    margin-top: 10px;
  }
}

.card-post__area {
  font-size: 12px;
  font-weight: 500;
  margin-top: 5px;
}

.card-post__more {
  font-size: 12px;
  letter-spacing: 0.1em;
  margin-top: 12px;
  text-align: right;
  padding-right: 30px;
  position: relative;
}
@media (max-width: 767px) {
  .card-post__more {
    padding-right: 0px;
  }
}
.card-post__more::after {
  background-color: currentColor;
  display: block;
  height: 1px;
  content: "";
  width: 23px;
  position: absolute;
  right: -10px;
  top: 50%;
  translate: 0 -50%;
}
@media (max-width: 767px) {
  .card-post__more::after {
    right: -30px;
  }
}

.nav-post__list {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  grid-template-areas: "prev separator next";
  -moz-column-gap: 25px;
       column-gap: 25px;
}
@media (max-width: 767px) {
  .nav-post__list {
    grid-template-columns: 1fr;
    grid-template-areas: "prev" "separator" "next";
    row-gap: 20px;
  }
}

.nav-post__item--prev {
  grid-area: prev;
}

.nav-post__item--next {
  grid-area: next;
  text-align: right;
}
@media (max-width: 767px) {
  .nav-post__item--next {
    text-align: left;
  }
}

.nav-post__item--separator {
  grid-area: separator;
  height: 100%;
  width: 1px;
  background-color: var(--color-gray-lighten);
}
@media (max-width: 767px) {
  .nav-post__item--separator {
    width: 100%;
    height: 1px;
  }
}

.nav-post__link {
  display: grid;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
@media (max-width: 767px) {
  .nav-post__link {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}

.nav-post__item--prev .nav-post__link {
  grid-template-columns: 35px 1fr;
}
@media (max-width: 767px) {
  .nav-post__item--prev .nav-post__link {
    align-items: center;
    grid-template-columns: 25px 1fr;
  }
}

.nav-post__item--next .nav-post__link {
  grid-template-columns: 1fr 35px;
}
@media (max-width: 767px) {
  .nav-post__item--next .nav-post__link {
    align-items: center;
    grid-template-columns: 1fr 25px;
  }
}

.nav-post__ttl {
  font-size: 12px;
  line-height: 1.6666666667;
  font-weight: 500;
}

@media (max-width: 767px) {
  .nav-post__arrow svg {
    width: 25px;
  }
}

.label-tag {
  font-size: 10px;
  font-weight: 500;
  color: white;
  background-color: var(--color-red-dark);
  min-height: 20px;
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  padding: 0.5em;
}

.module-sliderPosts .swiper-wrapper {
  align-items: stretch;
}
.module-sliderPosts .swiper-slide {
  height: auto !important;
  display: flex;
}
.module-sliderPosts--lg {
  --swiper-pagination-bullet-horizontal-gap: 10px;
}
.module-sliderPosts--lg .swiper-pagination {
  position: static;
  margin-top: 5px;
}
.module-sliderPosts--lg .swiper-pagination-bullet-active {
  background-color: var(--color-red-dark);
  scale: 1.4285714286;
}
@media (max-width: 767px) {
  .module-sliderPosts--sm {
    --swiper-pagination-bullet-horizontal-gap: 10px;
  }
  .module-sliderPosts--sm .swiper-pagination {
    position: static;
    margin-top: 5px;
  }
  .module-sliderPosts--sm .swiper-pagination-bullet-active {
    background-color: var(--color-red-dark);
    scale: 1.4285714286;
  }
}
.module-sliderPosts--sm .swiper-wrapper {
  display: flex;
  justify-content: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media (max-width: 767px) {
  .module-sliderPosts--sm .swiper-wrapper {
    display: flex;
    justify-content: revert;
    -moz-column-gap: revert;
         column-gap: revert;
  }
}
.module-sliderPosts--sm .swiper-slide {
  width: min(222px, (100% - 40px) / 3);
  padding-top: 20px;
  padding-bottom: 20px;
}
@media (max-width: 767px) {
  .module-sliderPosts--sm .swiper-slide {
    width: unset;
  }
}
@media (max-width: 767px) {
  .module-sliderPosts--md {
    --swiper-pagination-bullet-horizontal-gap: 10px;
  }
  .module-sliderPosts--md .swiper-pagination {
    position: static;
    margin-top: 5px;
  }
  .module-sliderPosts--md .swiper-pagination-bullet-active {
    background-color: var(--color-red-dark);
    scale: 1.4285714286;
  }
}
.module-sliderPosts--md .swiper-wrapper {
  display: flex;
  justify-content: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
@media (max-width: 767px) {
  .module-sliderPosts--md .swiper-wrapper {
    display: flex;
    justify-content: revert;
    -moz-column-gap: revert;
         column-gap: revert;
  }
}
.module-sliderPosts--md .swiper-slide {
  width: min(312px, (100% - 60px) / 3);
  padding-top: 20px;
  padding-bottom: 20px;
}
@media (max-width: 767px) {
  .module-sliderPosts--md .swiper-slide {
    width: unset;
  }
}

.archive-area__inner {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}

.archive-area__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 30px;
}
@media (max-width: 767px) {
  .archive-area__list {
    grid-template-columns: 1fr 1fr;
    row-gap: 20px;
  }
  .archive-area__list .archive-area__item--lg {
    grid-column: 1/span 2;
  }
  .archive-area__list [aria-hidden=true] {
    display: none;
  }
}

.archive-area__list + .archive-area__list {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .archive-area__list + .archive-area__list {
    margin-top: 50px;
  }
}

.archive-body__area {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .archive-body__area {
    margin-top: 20px;
  }
}

.archive-areaModel__inner {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}

.archive-areaModel__list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 20px;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
  justify-content: center;
}

.archive-body {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.archive-body__item {
  height: 100%;
}

.archive-body__inner {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.archive-body__banner {
  max-width: 1000px;
  padding: 0 30px;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: normal;
  flex-direction: row;
}
@media (max-width: 767px) {
  .archive-body__banner {
    max-width: 89.3333333333vw;
    padding: 0;
  }
}

.archive-body__subinner {
  padding-left: 30px;
  padding-right: 30px;
}
@media (max-width: 767px) {
  .archive-body__subinner {
    padding-left: unset;
    padding-right: unset;
  }
}

.archive-body__heading + .archive-body__list {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .archive-body__heading + .archive-body__list {
    margin-top: 20px;
  }
}

.archive-body__heading--mt {
  margin-top: 70px;
}
@media (max-width: 767px) {
  .archive-body__heading--mt {
    margin-top: 50px;
  }
}

.archive-body__heading--mt-lg {
  margin-top: 100px;
}
@media (max-width: 767px) {
  .archive-body__heading--mt-lg {
    margin-top: 50px;
  }
}

.archive-body__list--px {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media (max-width: 767px) {
  .archive-body__list--px {
    padding-left: unset;
    padding-right: unset;
  }
}

.archive-body__list--col-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 40px;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
@media (max-width: 767px) {
  .archive-body__list--col-2 {
    grid-template-columns: 1fr;
  }
}

.archive-body__list--row-lg {
  row-gap: 75px;
}
@media (max-width: 767px) {
  .archive-body__list--row-lg {
    row-gap: 40px;
  }
}

.archive-body__list--col-3-sp-2 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  row-gap: 30px;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media (max-width: 767px) {
  .archive-body__list--col-3-sp-2 {
    grid-template-columns: 1fr 1fr;
    row-gap: 10px;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}

.archive-body__list--col-3-sp-1 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  row-gap: 30px;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media (max-width: 767px) {
  .archive-body__list--col-3-sp-1 {
    grid-template-columns: 1fr;
    row-gap: 10px;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}

@media (max-width: 767px) {
  .archive-body__list--sp-row-20 {
    row-gap: 20px;
  }
}

.archive-body__more {
  margin-top: 60px;
  display: grid;
  place-items: center;
}
@media (max-width: 767px) {
  .archive-body__more {
    margin-top: 50px;
  }
}

.archive-body__cta {
  margin-top: 100px;
}

.archive-body__map {
  padding-left: 30px;
  padding-right: 30px;
  margin-top: 30px;
  aspect-ratio: 47/22;
}
@media (max-width: 767px) {
  .archive-body__map {
    aspect-ratio: 1/1;
    padding-left: unset;
    padding-right: unset;
  }
}
.archive-body__map #gmap {
  width: 100%;
  height: 100%;
}

.archive-body__area {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .archive-body__area {
    margin-top: 20px;
  }
}

.archive-body__areaModel {
  padding-top: 100px;
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  .archive-body__areaModel {
    padding-top: 80px;
    padding-bottom: 112px;
  }
}

.archive-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 30px;
}

.card-archiveNews {
  background-color: white;
  filter: var(--drop-shadow);
  height: 100%;
}

.card-archiveNews__thumbnail {
  aspect-ratio: 480/316;
  max-height: 316px;
  width: 100%;
}
@media (max-width: 767px) {
  .card-archiveNews__thumbnail {
    aspect-ratio: 335/220;
  }
}
.card-archiveNews__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card-archiveNews__body {
  padding-top: 20px;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 20px;
}

.card-archiveNews__ttl {
  font-size: 15px;
  line-height: 1.8666666667;
  text-align: justify;
}
@media (max-width: 767px) {
  .card-archiveNews__ttl {
    text-align: center;
  }
}

.card-archiveNews__button {
  margin-top: 30px;
  display: grid;
  place-items: center;
}
@media (max-width: 767px) {
  .card-archiveNews__button {
    margin-top: 20px;
  }
}
.card-archiveNews__button > * {
  width: min(100%, 257px);
}

.heading-pageheader {
  font-size: 34px;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .heading-pageheader {
    font-size: 24px;
  }
}
.heading-pageheader.heading-pageheader--bold {
  font-size: 26px;
}
@media (max-width: 767px) {
  .heading-pageheader.heading-pageheader--bold {
    font-size: 18px;
  }
}
.heading-pageheader.heading-pageheader--bold .heading-pageheader__main {
  padding-bottom: 10px;
}
@media (max-width: 767px) {
  .heading-pageheader.heading-pageheader--bold .heading-pageheader__main {
    padding-bottom: 15px;
  }
}
.heading-pageheader.heading-pageheader--bold .heading-pageheader__main::after {
  width: 50px;
  height: 3px;
}

.heading-pageheader__main {
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
  padding-bottom: 5px;
}
@media (max-width: 767px) {
  .heading-pageheader__main {
    padding-bottom: 14px;
    line-height: 1.2;
  }
}

.heading-pageheader__main {
  position: relative;
}
.heading-pageheader__main::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 50px;
  height: 3px;
  background-color: var(--color-red-dark);
  transform: translateX(-50%);
}

.l-archive__pageheader--bold hgroup.heading-pageheader .heading-pageheader__main::after {
  height: 6px;
  margin-top: 10px;
}

.heading-pageheader__sub {
  margin-top: 5px;
  font-family: var(--fontFamily-en);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 22px;
}
@media (max-width: 767px) {
  .heading-pageheader__sub {
    margin-top: 0px;
  }
}

.category-withBg {
  position: relative;
  filter: var(--drop-shadow);
}

.category-withBg__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.category-withBg__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.category-withBg__bg::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: color-mix(in srgb, black 30%, transparent);
}

.category-withBg__content {
  padding-left: 20px;
  padding-right: 20px;
  aspect-ratio: 306/100;
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
}
@media (max-width: 767px) {
  .category-withBg__content {
    aspect-ratio: 163/60;
  }
}

.category-withBg__txt {
  color: white;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 700;
}
@media (max-width: 1024px) {
  .category-withBg__txt {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .category-withBg__txt {
    font-size: 12px;
  }
}
@media screen and (max-width: 375px) {
  .category-withBg__txt {
    font-size: 10px;
  }
}

.category-simple {
  display: grid;
  place-items: center;
  background-color: white;
  min-height: 28px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid currentColor;
  padding-left: 0.8333333333em;
  padding-right: 0.8333333333em;
  transition: 0s;
}
.category-simple[aria-current=true] {
  background-color: var(--color-text);
  color: white;
  opacity: 1;
}
.category-simple:hover {
  opacity: 1;
}

.card-archiveColumn {
  background-color: white;
  height: 100%;
  filter: var(--drop-shadow);
}

.card-archiveColumn__thumbnail {
  aspect-ratio: 480/308;
  max-height: 308px;
  width: 100%;
}
@media (max-width: 767px) {
  .card-archiveColumn__thumbnail {
    aspect-ratio: 335/177;
  }
}
.card-archiveColumn__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card-archiveColumn__body {
  padding-top: 20px;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 20px;
}

.card-archiveColumn__category {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 10px;
       column-gap: 10px;
  row-gap: 10px;
}

.card-archiveColumn__ttl {
  font-size: 15px;
  line-height: 1.8666666667;
  text-align: justify;
  margin-top: 10px;
}
@media (max-width: 767px) {
  .card-archiveColumn__ttl {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}

.card-archiveColumn__more {
  font-size: 14px;
  letter-spacing: 0.1em;
  margin-top: 30px;
  text-align: right;
  padding-right: 10px;
  position: relative;
  line-height: 1;
}
@media (max-width: 767px) {
  .card-archiveColumn__more {
    font-size: 12px;
    margin-top: 20px;
  }
}
.card-archiveColumn__more::after {
  background-color: currentColor;
  display: block;
  height: 1px;
  content: "";
  width: 15px;
  position: absolute;
  right: -15px;
  top: 50%;
  translate: 0 -50%;
}

.card-archiveProperty {
  background-color: white;
  filter: var(--drop-shadow);
  height: 100%;
}
@media (max-width: 767px) {
  .card-archiveProperty {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }
  .card-archiveProperty > *:nth-child(1) {
    grid-area: 1/1/2/2;
  }
  .card-archiveProperty > *:nth-child(2) {
    grid-area: 1/2/2/3;
  }
  .card-archiveProperty > *:nth-child(3) {
    grid-area: 2/1/3/3;
  }
}

.card-archiveProperty__thumbnail {
  aspect-ratio: 300/206;
}
@media (max-width: 767px) {
  .card-archiveProperty__thumbnail {
    aspect-ratio: 167/110;
  }
}
.card-archiveProperty__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .card-archiveProperty__thumbnail img {
    height: auto;
  }
}

.card-archiveProperty__body {
  padding: 10px 20px 20px;
}

.card-archiveProperty__upper {
  padding: 10px 20px 0;
}
@media (max-width: 767px) {
  .card-archiveProperty__upper {
    padding: 10px 10px;
  }
}

.card-archiveProperty__lower {
  padding: 0 20px 20px;
}
@media (max-width: 767px) {
  .card-archiveProperty__lower {
    padding: 10px 20px 20px;
  }
}

.card-archiveProperty__ttl {
  text-align: center;
  margin-top: 5px;
  font-size: 1rem;
}
@media (max-width: 767px) {
  .card-archiveProperty__ttl {
    font-size: 14px;
    line-height: 1.5;
  }
}

.card-archiveProperty__row {
  display: grid;
  grid-template-columns: 23px 1fr;
  -moz-column-gap: 5px;
       column-gap: 5px;
}
.card-archiveProperty__row:not(:first-of-type) {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .card-archiveProperty__row:not(:first-of-type) {
    margin-top: 6px;
  }
}
@media (max-width: 767px) {
  .card-archiveProperty__row {
    grid-template-columns: 14px 1fr;
    align-items: center;
  }
  .card-archiveProperty__row svg {
    width: 13px;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
.card-archiveProperty__row > *:nth-child(1) {
  display: grid;
  place-items: center;
}

.card-archiveProperty__txt {
  font-size: 12px;
  line-height: 1.75;
  font-weight: 700;
}
@media (max-width: 767px) {
  .card-archiveProperty__txt {
    font-size: 10px;
    line-height: 1.4;
  }
}

.card-archiveProperty__txtNum {
  font-size: 141.6666666667%;
  line-height: 1.2352941176;
  margin-right: 0.25em;
}
@media (max-width: 767px) {
  .card-archiveProperty__txtNum {
    font-size: 140%;
  }
}

.card-archiveProperty__button {
  margin-top: 20px;
  display: grid;
  place-items: center;
}
@media (max-width: 767px) {
  .card-archiveProperty__button {
    margin-top: 10px;
  }
}
.card-archiveProperty__button .btn-simple {
  min-height: 37px;
  width: min(100%, 259px);
}

.card-archiveModel {
  background-color: white;
  filter: var(--drop-shadow);
}

.card-archiveModel__head {
  position: relative;
}

.card-archiveModel__thumbnail {
  aspect-ratio: 480/318;
  max-height: 318px;
  width: 100%;
}
@media (max-width: 767px) {
  .card-archiveModel__thumbnail {
    aspect-ratio: 335/255;
    max-height: 255px;
  }
}
.card-archiveModel__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card-archiveModel__message {
  padding-left: 10px;
  padding-right: 10px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--color-red-dark);
  font-size: 15px;
  text-align: center;
  font-weight: 500;
  color: white;
  padding-top: 8px;
  padding-bottom: 8px;
  line-height: 1.2;
}

.card-archiveModel__seal {
  position: absolute;
  right: 15px;
  bottom: 15px;
  width: 90px;
  aspect-ratio: 1/1;
  background-color: var(--color-red);
  color: white;
  font-size: 15px;
  font-weight: 500;
  display: grid;
  place-items: center;
  border-radius: 999em;
}
@media (max-width: 767px) {
  .card-archiveModel__seal {
    width: 80px;
    bottom: 10px;
    right: 10px;
  }
}

.card-archiveModel__body {
  padding: 20px 20px 20px;
}
@media (max-width: 767px) {
  .card-archiveModel__body {
    padding: 20px 10px;
  }
}

.card-archiveModel__ttl {
  font-size: 17px;
  line-height: 1.5882352941;
  font-weight: 700;
  text-align: justify;
}
@media (max-width: 767px) {
  .card-archiveModel__ttl {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}

.card-archiveModel__row {
  display: grid;
  grid-template-columns: 23px 1fr;
  -moz-column-gap: 5px;
       column-gap: 5px;
  margin-top: 18px;
}
@media (max-width: 767px) {
  .card-archiveModel__row:not(:first-of-type) {
    margin-top: 12px;
  }
}
@media (max-width: 767px) {
  .card-archiveModel__row {
    align-items: center;
  }
}
.card-archiveModel__row > *:nth-child(1) {
  display: grid;
  place-items: center;
}

.card-archiveModel__txt {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}
@media (max-width: 767px) {
  .card-archiveModel__txt {
    line-height: 1.6153846154;
    font-size: 12px;
  }
}

.card-archiveModel__txtNum {
  font-size: 141.6666666667%;
  line-height: 1.2352941176;
  margin-right: 0.25em;
}
@media (max-width: 767px) {
  .card-archiveModel__txtNum {
    font-size: 140%;
  }
}

.card-archiveModel__button {
  margin-top: 30px;
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  padding-left: 10px;
  padding-right: 10px;
}
@media (max-width: 767px) {
  .card-archiveModel__button {
    margin-top: 15px;
    flex-direction: column;
    row-gap: 10px;
    align-items: center;
  }
}
.card-archiveModel__button .btn-simple {
  min-height: 37px;
  width: min(100%, 200px);
}/*# sourceMappingURL=style.css.map */