@charset "UTF-8";
/*partials
───────────────────────*/
/*─────valiables─────*/
/*------------------palette-----*/
/*------------------bg-----*/
/*---------------alert-----*/
/*---------------gray-----*/
/*-------general-color-----*/
/*─────typography─────*/
/* Fluid Typography
-------------------------------------------------- */
html {
  font-size: clamp(14px, 0.875vw + 0.5rem, 16px);
}

body {
  font-size: 1rem;
  line-height: 1.8;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.material-icons {
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 24px; /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: "liga";
          font-feature-settings: "liga";
}

.imperative {
  color: #fff !important;
}

.dc_event_youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.dc_event_youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
}

.dc_mv_video {
  border: none !important;
  background: #fff !important;
}

.dc_mv_video video {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: bottom;
  width: 100% !important;
  height: auto;
  margin-bottom: -8px;
  border: none !important;
  background: none !important;
  background: #fff;
}

.dc_mv_video img {
  border: none !important;
  background: #fff;
}

.openhouse_section h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: futura;
}

.openhouse_section h2 span.en {
  font-size: 3.5rem;
  line-height: 1.2;
  letter-spacing: 0.15rem;
  font-weight: 600;
  color: #5C5F5E !important;
}

.openhouse_section h2 span.ja {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.15rem;
  color: #5C5F5E !important;
}

/*date*/
.openhouse_date {
  margin: 50px auto 80px;
}

.openhouse_date h2 {
  font-size: 1.8rem !important;
  font-weight: 700;
  color: #fff;
  padding: 0 12px;
  letter-spacing: 0.1rem;
  background: #DA908D;
  display: inline-block;
}

.openhouse_date span.caption {
  color: #5D6060;
  display: block;
  margin: 5px 0 0;
}

.openhouse_date span.annotation {
  display: block;
  text-align: right;
  color: #E59C97;
}

.openhouse_date > div {
  margin: 13px auto 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.openhouse_date table {
  -ms-flex-preferred-size: 49%;
      flex-basis: 49%;
  border: 1px solid #CCCCCC;
}

.openhouse_date table thead tr th {
  font-weight: 800;
  border-bottom: 1px solid #CCCCCC;
  padding: 10px 20px;
  color: #606262;
  background: #E8E7E2;
  letter-spacing: 0.1rem;
}

.openhouse_date table tbody tr td {
  font-weight: 500;
  border-bottom: 1px solid #CCCCCC;
  padding: 10px 20px;
}

.openhouse_date table tbody tr:last-child td {
  border: none;
}

/*button*/
.booking_button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: -20px auto 0;
}

.booking_button a {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #E69D98;
  border-radius: 5px;
  padding: 20px;
  margin: 0 auto 100px;
  width: 50%;
}

.booking_button a span {
  text-align: center;
  color: #fff !important;
  font-size: 13pt;
  font-weight: 600;
}

/*intro*/
.openhouse_intro h2 {
  text-align: center;
  width: 70%;
  margin: 80px auto;
  height: auto;
}

.openhouse_intro h2 img {
  width: 100%;
  height: auto;
}

.openhouse_intro p {
  text-align: center;
  font-size: 1.6rem !important;
  line-height: 2 !important;
  color: #5C5F5F !important;
  letter-spacing: 0.1rem !important;
}

.openhouse_intro p a {
  color: #E69D98;
  border-bottom: 1px solid #E69D98;
}

.openhouse_pv {
  margin: 80px auto 0;
}

ul.openhouse_intro_gallery {
  margin: 100px auto 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 !important;
}

ul.openhouse_intro_gallery li {
  -ms-flex-preferred-size: 49% !important;
      flex-basis: 49% !important;
  list-style: none !important;
  margin: 0 auto;
}

ul.openhouse_intro_gallery li img {
  width: 10% !important;
  height: auto;
  vertical-align: bottom;
}

/*point*/
.openhouse_point {
  margin: 50px auto 50px;
}

.openhouse_point h2 {
  margin: 0 auto 40px;
  text-align: center;
}

.openhouse_point h2 img {
  width: 360px !important;
  height: auto;
}

.openhouse_point ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  list-style: none;
  margin: 50px auto 0 !important;
  padding: 0 !important;
}

.openhouse_point ul li {
  -ms-flex-preferred-size: 48%;
      flex-basis: 48%;
  margin: 0 0 40px;
}

.openhouse_point ul li h3 {
  margin: 20px 0 15px;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  color: #5D6060;
  letter-spacing: 0.1rem;
}

.openhouse_point ul li span {
  display: block;
  margin: 0 0 15px;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
}

.openhouse_point ul li p {
  text-align: justify;
}

/*plan*/
.openhouse_plan ul {
  margin: 20px auto 0 !important;
  list-style: none;
}

.openhouse_plan ul li {
  background: #F1F1F1;
  padding: 20px !important;
  margin: 0 auto 50px;
}

/*roomtour*/
.openhouse_roomtour {
  margin: 50px auto 0;
}

.openhouse_roomtour ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
  margin: 30px auto 0 !important;
}

.openhouse_roomtour ul li {
  -ms-flex-preferred-size: 27%;
      flex-basis: 27%;
  margin: 0 10px;
}

/*design*/
.openhouse_design {
  margin: 100px auto 0;
}

.openhouse_design h2 img {
  width: 430px !important;
  height: auto !important;
}

.openhouse_design .gooddesign_box {
  background: #EEE1D4;
  text-align: center;
  position: relative;
  padding: 48px 0 40px;
  border-radius: 5px;
}

.openhouse_design .gooddesign_box:first-of-type {
  margin: 70px auto 95px;
}

.openhouse_design .gooddesign_box img {
  position: absolute;
  top: -45px;
  left: -20px;
  width: 140px !important;
  height: auto !important;
}

.openhouse_design .gooddesign_box h3 {
  display: inline-block;
  background: #fff;
  border: 3px solid #B6A69E;
  color: #7E706B;
  font-weight: 700;
  padding: 5px 25px;
  font-size: 1.9rem !important;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -20px;
  border-radius: 5px;
}

.openhouse_design .gooddesign_box p {
  color: #7E706B;
  font-weight: 600;
  font-size: 1.6rem !important;
  line-height: 2.5 !important;
}

/*overview*/
.oenhouse_overview {
  margin: 0 auto 100px;
}

.oenhouse_overview table {
  width: 100%;
  border-top: 1px solid #ccc;
  margin: 30px auto 15px;
}

.oenhouse_overview table tr {
  border-bottom: 1px solid #ccc;
}

.oenhouse_overview table tr th {
  padding: 15px 0;
  width: 100px;
  font-weight: 700;
  color: #5D6060;
  letter-spacing: 0.1rem;
}

.oenhouse_overview table tr td {
  padding: 15px 0;
}

.oenhouse_overview h3 {
  font-size: 1.4rem !important;
  font-weight: 700;
  color: #5D6060;
  margin: 0 0 15px;
}

.oenhouse_overview .googlemap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}

.oenhouse_overview .googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.oenhouse_overview ul {
  margin: 40px 0 0 -20px !important;
  list-style: none !important;
  width: 100%;
  display: block;
}

.oenhouse_overview ul li {
  border-bottom: 1px solid #ccc;
  margin: 25px 0 0;
}

.oenhouse_overview ul li:first-child {
  border-top: 1px solid #ccc;
  padding-top: 20px !important;
}

.oenhouse_overview ul li > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 10px;
}

.oenhouse_overview ul li > div:last-of-type {
  margin: 0 0 25px;
}

.oenhouse_overview ul li > div:first-of-type span {
  font-weight: 700;
  color: #5D6060;
  font-size: 1.5rem;
}

.oenhouse_overview ul li > div > div {
  -ms-flex-preferred-size: 50px;
      flex-basis: 50px;
}

.oenhouse_overview ul li > div > div img {
  width: 35px !important;
  height: 35px !important;
}

.oenhouse_overview ul li > div > span {
  -ms-flex-preferred-size: 90%;
      flex-basis: 90%;
  padding-top: 5px;
  text-align: justify !important;
  letter-spacing: 0.1rem;
}

/*booking*/
.openhouse_booking {
  padding-top: 80px;
}

.openhouse_booking .call_btn {
  text-align: center;
  background: #D2AE9F;
  border-radius: 5px;
  padding: 40px 0 30px;
  margin: 40px auto 60px;
  color: #fff;
}

.openhouse_booking h3 {
  text-align: center;
}

.openhouse_booking h3 span {
  font-size: 1.8rem !important;
  font-weight: 700;
  letter-spacing: 0.1rem;
  padding: 0 0 3px;
  color: #5C5F5E !important;
}

.openhouse_booking .call_btn a {
  display: block;
  color: #fff;
  font-weight: 500;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 4.5rem;
  font-family: futura;
  letter-spacing: 0.1rem;
  line-height: 1;
  margin: 20px auto 50px;
}

.openhouse_booking .call_btn a span {
  display: block;
  font-weight: 300;
  font-size: 1.3rem;
  letter-spacing: 0rem;
  margin: 10px 0 0;
  color: #fff !important;
}

.openhouse_booking .call_btn h3 span {
  color: #fff !important;
}

.openhouse_booking .call_btn ul {
  list-style: none;
}

.openhouse_booking p.annotation {
  text-align: center;
  margin: 20px auto 30px !important;
  display: block;
}

@media screen and (max-width: 769px) {
  /*button*/
  .booking_button a {
    padding: 15px;
    margin: 0 auto 50px;
    width: 100%;
  }
  .booking_button a span {
    font-size: 11pt;
  }
  .openhouse_section h2 span.en {
    font-size: 2.1rem;
  }
  .openhouse_section h2 span.ja {
    font-size: 1.3rem;
  }
  .openhouse_date {
    margin: 20px auto 20px;
  }
  .openhouse_date h2 {
    font-size: 1.5rem !important;
  }
  .openhouse_date > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 13px auto 0;
  }
  .openhouse_date table {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-bottom: 20px;
  }
  .openhouse_date table thead tr th {
    padding: 3px 7px !important;
    font-size: 1.3rem;
  }
  .openhouse_date table tbody tr td {
    padding: 7px !important;
  }
  .openhouse_date span.annotation {
    margin-top: -10px;
    font-size: 1.1rem;
  }
  .openhouse_intro h2 {
    width: 100%;
    margin: 30px auto 20px;
    height: auto;
  }
  .openhouse_intro p {
    text-align: left;
    font-size: 1.4rem !important;
    line-height: 1.8 !important;
  }
  .openhouse_pv {
    margin: 20px auto 0;
  }
  ul.openhouse_intro_gallery {
    margin: 30px auto 0 !important;
    padding: 0;
  }
  ul.openhouse_intro_gallery li {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important;
    margin: 0 auto !important;
    padding: 0;
  }
  ul.openhouse_intro_gallery li img {
    width: 100% !important;
    height: auto;
  }
  .openhouse_point {
    margin: 20px auto 20px;
  }
  .openhouse_point h2 img {
    width: 80% !important;
    max-width: 300px;
  }
  .openhouse_point ul {
    margin: -20px auto 0 !important;
    padding: 0 !important;
  }
  .openhouse_point ul li {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    width: 100%;
    margin: 0 auto 20px !important;
  }
  .openhouse_point ul li h3 {
    margin: 10px 0 5px;
    font-size: 1.4rem !important;
  }
  .openhouse_point ul li span {
    margin: 5px 0 10px;
    font-size: 1.3rem !important;
  }
  .openhouse_point ul li p {
    text-align: justify;
  }
  .openhouse_plan ul {
    margin: 15px auto 0 !important;
    list-style: none;
    padding: 0 !important;
  }
  .openhouse_plan ul li {
    padding: 10px !important;
    margin: 0 auto 10px;
  }
  .openhouse_roomtour {
    margin: 20px auto 0;
  }
  .openhouse_roomtour ul {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 15px auto 0 !important;
    padding: 0 !important;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .openhouse_roomtour ul li {
    -ms-flex-preferred-size: 47%;
        flex-basis: 47%;
    margin: 0 0 10px;
  }
  .openhouse_design {
    margin: 30px auto 0;
  }
  .openhouse_design h2 img {
    width: 90% !important;
    max-width: 350px;
  }
  .openhouse_design .gooddesign_box {
    padding: 30px 20px 20px;
  }
  .openhouse_design .gooddesign_box:first-of-type {
    margin: 35px auto 45px;
  }
  .openhouse_design .gooddesign_box img {
    width: 80px !important;
    top: -30px;
    left: -20px;
    display: none !important;
  }
  .openhouse_design .gooddesign_box h3 {
    font-size: 1.3rem !important;
    padding: 2px 5px;
    border: 2px solid #B6A69E;
    width: 80%;
    top: -12px;
  }
  .openhouse_design .gooddesign_box p {
    font-size: 1.2rem !important;
    line-height: 2 !important;
    text-align: left;
  }
  .openhouse_design .gooddesign_box p br {
    display: none;
  }
  .oenhouse_overview {
    margin: 0 auto 30px;
  }
  .oenhouse_overview table {
    margin: 15px auto 7px;
  }
  .oenhouse_overview table th,
  .oenhouse_overview table td {
    display: block;
    width: 100%;
  }
  .oenhouse_overview table th {
    padding: 7px 0 0 !important;
  }
  .oenhouse_overview table td {
    padding: 0 0 7px !important;
  }
  .oenhouse_overview h3 {
    margin: 0 0 7px;
  }
  .oenhouse_overview ul {
    margin: 0 0 0 !important;
    padding: 0 !important;
  }
  .oenhouse_overview ul li {
    margin: 15px 0 0;
  }
  .oenhouse_overview ul li:first-child {
    padding-top: 10px !important;
  }
  .oenhouse_overview ul li > div:last-of-type {
    margin: 0 0 10px;
  }
  .oenhouse_overview ul li > div {
    margin: 0 0 5px;
  }
  .oenhouse_overview ul li > div > div {
    -ms-flex-preferred-size: 35px;
        flex-basis: 35px;
  }
  .oenhouse_overview ul li > div > div img {
    width: 25px !important;
    height: 25px !important;
  }
  .oenhouse_overview ul li > div > span {
    padding-top: 4px;
    font-size: 1.3rem !important;
  }
  .openhouse_booking {
    padding-top: 60px;
  }
  .openhouse_booking .call_btn {
    padding: 15px 20px 15px;
    margin: 15px auto 30px;
  }
  .openhouse_booking h3 span {
    font-size: 1.4rem !important;
  }
  .openhouse_booking .call_btn a {
    font-size: 2.5rem;
    margin: 15px auto 20px;
  }
  .openhouse_booking .call_btn a > span {
    line-height: 1 !important;
    font-size: 1.2rem;
  }
  .openhouse_booking .call_btn a > span > span {
    margin: 5px auto;
    line-height: 1 !important;
    font-size: 1.1rem;
  }
  .openhouse_booking .call_btn ul {
    padding: 0 !important;
    text-align: left;
  }
  .openhouse_booking .call_btn ul li {
    font-size: 1rem !important;
  }
  .openhouse_booking p.annotation {
    text-align: left;
    margin: 15px auto 20px !important;
  }
  .openhouse_booking p.annotation br {
    display: none;
  }
  .mw_wp_form .table {
    width: 100% !important;
  }
}
/*breakpoints
───────────────────────*/
/*─────BASE─────*/
/* Chrome, Safari, Edge */
::-webkit-scrollbar {
  display: none;
}

/* Firefox */
html {
  scrollbar-width: none;
  /* スクロールはできるがバーは非表示 */
}

/* Internet Explorer（ほぼ不要だけど） */
body {
  -ms-overflow-style: none;
}

i {
  vertical-align: middle;
  line-height: 1;
  margin: 0;
  padding: 0;
}

a {
  display: block;
}

a,
a img {
  text-decoration: none;
  cursor: pointer !important;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  outline: none !important;
  color: #4C4C4C;
}

a:focus,
*:focus {
  outline: none !important;
}

a:hover {
  cursor: pointer;
  color: #ec6d74;
}

span {
  letter-spacing: 0.05rem;
}

button {
  outline: none;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

p {
  line-break: strict;
  overflow-wrap: break-word;
  -ms-word-wrap: break-word;
  word-break: break-word;
  word-wrap: break-word;
  -ms-hyphens: auto;
      hyphens: auto;
  -webkit-hyphenate-before: 2;
  -webkit-hyphenate-after: 3;
  hyphenate-lines: 3;
  line-height: 1.5;
  letter-spacing: 0.05rem;
  font-weight: 400;
  color: #666 !important;
}
p a {
  display: inline-block;
  border-bottom: 1px solid #ec6d74;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

figure,
img {
  margin: 0;
  padding: 0;
  line-height: 0;
  vertical-align: bottom;
}

.align_left {
  text-align: left;
}

.align_right {
  text-align: right;
}

.align_center {
  text-align: center;
}

.margin_top {
  margin-top: 150px;
}

.margin_bottom {
  margin-bottom: 150px;
}

.padding {
  padding: 120px 0 30px;
}

::-moz-selection {
  color: #ffffff;
  background: #ec6d74;
}

::selection {
  color: #ffffff;
  background: #ec6d74;
}

::-moz-selection {
  color: #ffffff;
  background: #ec6d74;
}

.pswp {
  z-index: 1000000000000000000000000000000 !important;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.googlemap {
  margin: 0 auto;
}
.googlemap:last-of-type {
  margin: 0;
}
.googlemap h3,
.googlemap h4 {
  margin: 0 0 15px;
}
.googlemap iframe {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9 !important;
}
.googlemap .map_annotation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0px 0 0;
}
.googlemap .map_annotation .map_annotation_content {
  color: #ec6d74;
}
.googlemap .map_annotation .map_annotation_link a div {
  color: #DC3A65;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  font-size: 0.8rem;
}

/*────────────────────────────
Main layput style
────────────────────────────*/
html {
  color: #666 !important;
  font-size: 15px;
  scroll-behavior: smooth;
}
html body {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #666;
  letter-spacing: 0.05rem;
  position: relative !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
  margin: 0 !important;
  background: #fff;
  position: relative;
}
html body .site {
  position: relative !important;
}
html body main {
  margin: 0 auto !important;
  background: #fff;
}
html body main .main_wrap {
  display: block;
}

.light_back {
  background: #F5F5F5;
}

.white_back {
  background: #fff;
}

.light_back,
.white_back {
  padding: 80px 0;
}

.wrap {
  padding: 0 1.5rem;
  margin: 0 auto;
}

.black {
  color: #666 !important;
}

.white {
  color: #ffffff !important;
}

@media screen and (max-width: 767px) {
  body main {
    padding: 0;
  }
  body main .main_wrap {
    margin: 40 auto 0 !important;
  }
  .light_back,
  .white_back {
    padding: 40px 0;
  }
}
@media screen and (max-width: 420px) {
  .wrap {
    padding: 0 1rem;
    margin: 0 auto;
  }
}
/*────────────────────────────
h1-h5 style
────────────────────────────*/
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  text-rendering: optimizelegibility;
  margin: 0;
  letter-spacing: 0.05rem;
  font-weight: 600;
  color: #666;
}
h1 a,
.h1 a,
h2 a,
.h2 a,
h3 a,
.h3 a,
h4 a,
.h4 a,
h5 a,
.h5 a {
  text-decoration: none;
}

h1,
.h1 {
  font-size: 1.8rem;
  line-height: 1.333em;
}

h2,
.h2 {
  font-size: 1.4rem;
  line-height: 1.4em;
  margin-bottom: 0.375em;
}

h3,
.h3 {
  font-size: 1.2rem;
}

h4,
.h4 {
  font-size: 1.1rem;
  font-weight: 700;
}

h5,
.h5 {
  font-size: 1.1rem;
}

h6,
.h6 {
  font-size: 1.1rem;
}

/*--------------------
LARGER MOBILE DEVICES
--------------------*/
@media only screen and (min-width: 481px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: 481px and Up Stylesheet

  This stylesheet is loaded for larger devices. It's set to
  481px because at 480px it would load on a landscaped iPhone.
  This isn't ideal because then you would be loading all those
  extra styles on that same mobile connection.

  A word of warning. This size COULD be a larger mobile device,
  so you still want to keep it pretty light and simply expand
  upon your base.scss styles.

  ******************************************************************/
}
/*--------------------
TABLET & SMALLER LAPTOPS
--------------------*/
@media only screen and (min-width: 768px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: Tablet & Small Desktop Stylesheet

  Here's where you can start getting into the good stuff.
  This size will work on iPads, other tablets, and desktops.
  So you can start working with more styles, background images,
  and other resources. You'll also notice the grid starts to
  come into play. Have fun!

  ******************************************************************/
}
/*--------------------
DESKTOP
--------------------*/
@media only screen and (min-width: 1030px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: Desktop Stylsheet

  This is the desktop size. It's larger than an iPad so it will only
  be seen on the Desktop.

  ******************************************************************/
}
/*--------------------
LARGE VIEWING SIZE
--------------------*/
@media only screen and (min-width: 1240px) {
  /******************************************************************
  Site Name: 
  Author: 

  Stylesheet: Super Large Monitor Stylesheet

  You can add some advanced styles here if you like. This kicks in
  on larger screens.

  ******************************************************************/
}
/*--------------------
RETINA (2x RESOLUTION DEVICES)
--------------------*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /******************************************************************
  Site Name: 
  Author: 

  Stylesheet: Retina Screens & Devices Stylesheet

  When handling retina screens you need to make adjustments, especially
  if you're not using font icons. Here you can add them in one neat
  place.

  ******************************************************************/
  /* 

  EXAMPLE 
  Let's say you have an image and you need to make sure it looks ok
  on retina screens. Let's say we have an icon which dimension are
  24px x 24px. In your regular stylesheets, it would look something
  like this:

  .icon {
  	width: 24px;
  	height: 24px;
  	background: url(img/test.png) no-repeat;
  }

  For retina screens, we have to make some adjustments, so that image
  doesn't look blurry. So, taking into account the image above and the
  dimensions, this is what we would put in our retina stylesheet:

  .icon {
  	background: url(img/test@2x.png) no-repeat;
  	background-size: 24px 24px;
  }

  So, you would create the same icon, but at double the resolution, meaning 
  it would be 48px x 48px. You'd name it the same, but with a @2x at the end
  (this is pretty standard practice). Set the background image so it matches
  the original dimensions and you are good to go. 

  */
}
/*modules
───────────────────────*/
/*────────────────────────────
header
────────────────────────────*/
header.header {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 70px;
  z-index: 400;
}
header.header.stretch .header_main {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
header.header .header_main {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 470px;
  width: 470px;
  background: #ffffff;
}
header.header .header_main a.logo {
  margin: -0.3rem 0 0 1rem;
  width: 200px;
}
header.header .header_main a.logo h1,
header.header .header_main a.logo span {
  margin: 0;
  padding: 0;
}
header.header .header_main a.logo h1 img,
header.header .header_main a.logo span img {
  width: 100%;
  height: auto;
}
header.header .header_main .header_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 20px;
}
header.header .header_main .header_sns a {
  margin: 0 15px 0 0;
}
header.header .header_main .header_sns a:last-of-type {
  margin: 0;
}
header.header .header_main .header_sns a img {
  width: 20px;
  height: auto;
  -webkit-filter: brightness(0) saturate(100%) invert(27%) sepia(0%) saturate(784%) hue-rotate(204deg) brightness(98%) contrast(87%);
          filter: brightness(0) saturate(100%) invert(27%) sepia(0%) saturate(784%) hue-rotate(204deg) brightness(98%) contrast(87%);
}
header.header .menu-trigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 70px;
  height: 70px;
  z-index: 100;
  border-radius: 0 !important;
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
  background: #ec6d74;
}
header.header .menu-trigger .menu-trigger-lines {
  vertical-align: middle;
  cursor: pointer;
  width: 70px;
  height: 70px;
  display: block;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
header.header .menu-trigger .menu-trigger-lines span.menuline {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  left: 50%;
  width: 60%;
  height: 1px;
  background-color: #fff;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
header.header .menu-trigger .menu-trigger-lines span.menuline:nth-of-type(1) {
  top: calc(50% - 8px);
}
header.header .menu-trigger .menu-trigger-lines span.menuline:nth-of-type(2) {
  top: 50%;
}
header.header .menu-trigger .menu-trigger-lines span.menuline:nth-of-type(3) {
  top: calc(50% + 8px);
}
header.header .menu-trigger.active {
  background-color: #ECE1D7;
}
header.header .menu-trigger.active .menu-trigger-lines span.menuline {
  background-color: #7E5B5B;
}
header.header .menu-trigger.active .menu-trigger-lines span.menuline:nth-of-type(1) {
  top: 50%;
  -webkit-transform: translateX(-50%) rotate(35deg);
          transform: translateX(-50%) rotate(35deg);
}
header.header .menu-trigger.active .menu-trigger-lines span.menuline:nth-of-type(2) {
  opacity: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
header.header .menu-trigger.active .menu-trigger-lines span.menuline:nth-of-type(3) {
  top: 50%;
  -webkit-transform: translateX(-50%) rotate(-35deg);
          transform: translateX(-50%) rotate(-35deg);
}
header.header nav.mb_drawer {
  display: block;
  width: 470px;
  height: 100%;
  background-color: #ffffff;
  position: fixed;
  top: 0;
  right: 15%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  overflow-y: scroll;
  padding: 0 0 100px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s;
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s, -webkit-transform 0.4s ease;
}
header.header nav.mb_drawer.open {
  opacity: 1;
  visibility: visible;
}
header.header nav.mb_drawer .mb_drawer_header {
  padding: 1.1rem 0 0 1rem;
}
header.header nav.mb_drawer .mb_drawer_header img {
  width: 200px;
  height: auto;
}
header.header nav.mb_drawer ul.mb_drawer_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 50px 1.5rem 20px;
  border-top: 1px solid #deddda;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li {
  width: 100%;
  border-bottom: 1px solid #deddda;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.menu-item {
  position: relative;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.menu-item > span,
header.header nav.mb_drawer ul.mb_drawer_menu > li.menu-item > a {
  width: 100%;
  color: #4C4C4C;
  padding: 1rem 0;
  font-weight: 500;
  font-size: 1rem;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.menu-item > span span,
header.header nav.mb_drawer ul.mb_drawer_menu > li.menu-item > a span {
  display: block;
  color: #4C4C4C;
  font-size: 0.75rem;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.menu-item::after {
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-family: "Material Icons";
  content: "\e5cc";
  font-size: 1.3rem;
  color: #4C4C4C;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children {
  position: relative;
  width: 100%;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children::after {
  display: none;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children > span.nolink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 1rem 0;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children > span.nolink > span.title {
  color: #4C4C4C;
  font-weight: 500;
  font-size: 1rem;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children > span.nolink > .submenu-toggle .material-icons {
  position: absolute;
  right: 10px;
  top: 18px;
  font-family: "Material Icons";
  font-size: 1rem;
  width: 20px;
  height: 20px;
  border: 1px solid #4C4C4C;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50px;
  color: #4C4C4C;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  pointer-events: none;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children > span.nolink > .submenu-toggle .icon-add {
  content: "\e145";
  opacity: 1;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children > span.nolink > .submenu-toggle .icon-remove {
  content: "\e15b";
  opacity: 0;
  position: absolute;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children > .submenu {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.5s ease, opacity 0.5s ease;
  transition: max-height 0.5s ease, opacity 0.5s ease;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children > .submenu ul {
  padding: 0 0.5rem 10px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children > .submenu ul li {
  margin-bottom: 15px;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children > .submenu ul li a {
  width: 100%;
  text-align: center;
  color: #4C4C4C;
  font-weight: 500;
  font-size: 0.9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children > .submenu ul li a::before {
  width: 5px;
  height: 5px;
  margin-right: 12px;
  background: #ec6d74;
  border-radius: 50%;
  display: inline-block;
  content: "";
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children.open > .submenu {
  max-height: 500px;
  opacity: 1;
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children.open > .submenu-toggle .icon-add {
  opacity: 0;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
header.header nav.mb_drawer ul.mb_drawer_menu > li.has-children.open > .submenu-toggle .icon-remove {
  opacity: 1;
}
header.header nav.mb_drawer .mb_drawer_subitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 2rem 1rem 0;
}
header.header nav.mb_drawer .mb_drawer_subitem a {
  -ms-flex-preferred-size: 49%;
      flex-basis: 49%;
  border-radius: 5px;
  padding: 12px 15px 15px;
  height: 80px;
  text-align: center;
}
header.header nav.mb_drawer .mb_drawer_subitem a span {
  display: block;
  color: #ffffff;
}
header.header nav.mb_drawer .mb_drawer_subitem a span.title {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 4px auto 2px;
}
header.header nav.mb_drawer .mb_drawer_subitem a span.number {
  font-size: 1.3rem;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
header.header nav.mb_drawer .mb_drawer_subitem a span.number::before {
  font-family: "Material Icons";
  content: "\e0cd";
  font-size: 1.2rem;
  margin: 0 3px 0 0;
}
header.header nav.mb_drawer .mb_drawer_subitem a span.cap {
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0;
  display: block;
  margin-top: -5px;
}
header.header nav.mb_drawer .mb_drawer_subitem a.phone {
  background: #e69d98;
}
header.header nav.mb_drawer .mb_drawer_subitem a.mailform {
  background: #9aa190;
}
header.header nav.mb_drawer .mb_drawer_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 40px 1rem;
}
header.header nav.mb_drawer .mb_drawer_sns a {
  margin: 0 10px;
  width: 23px;
  height: 23px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header.header nav.mb_drawer .mb_drawer_sns a svg {
  width: 100%;
  height: auto;
  -webkit-filter: brightness(0) saturate(100%) invert(27%) sepia(0%) saturate(784%) hue-rotate(204deg) brightness(98%) contrast(87%);
          filter: brightness(0) saturate(100%) invert(27%) sepia(0%) saturate(784%) hue-rotate(204deg) brightness(98%) contrast(87%);
}
header.header nav.mb_drawer .small_list {
  text-align: center;
}
header.header nav.mb_drawer .small_list a {
  color: #4C4C4C;
  border-bottom: 1px solid #4C4C4C;
  display: inline-block;
  font-size: 0.9rem;
  margin-bottom: 5px;
}

/*────────────────────────────
footer
────────────────────────────*/
.subfooter {
  width: 100%;
  overflow: hidden;
}
.subfooter .home_feature {
  border: none;
  margin: 20px 1rem;
}

.subfooter_contact {
  background: #efeeee;
  padding-bottom: 35px;
  margin: 40px auto 0;
}

.subfooter_header .subfooter_contact_title {
  background: #e69d98;
  text-align: center;
  padding: 25px 0;
}
.subfooter_header .subfooter_contact_title h4 {
  color: #ffffff;
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: 500;
  margin: 0 auto 12px;
}
.subfooter_header .subfooter_contact_title span {
  color: #ffffff;
  font-weight: 400;
  line-height: 1.2;
  display: block;
  font-size: 0.9rem;
}
.subfooter_header .subfooter_contact_images {
  height: 200px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .subfooter_header .subfooter_contact_images {
    height: 170px;
  }
}
.subfooter_header .subfooter_contact_images img.staff {
  position: absolute;
  bottom: 0;
  left: 5px;
  width: 40%;
  height: auto;
  z-index: 1;
}
.subfooter_header .subfooter_contact_images img.house {
  position: absolute;
  right: -1.5rem;
  bottom: 0;
  width: 62%;
  z-index: 2;
}

.subfooter_contact_info {
  background: #ffffff;
  border-radius: 5px;
  padding: 20px 20px 5px;
  margin: 0 1rem;
}
.subfooter_contact_info > span.title {
  display: block;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 600;
  color: #ec6d74;
}
.subfooter_contact_info ul {
  margin: 30px 0 10px;
}
.subfooter_contact_info ul li.toggle_block {
  margin-bottom: 35px;
}
.subfooter_contact_info ul li.toggle_block:last-child {
  margin: 0;
}
.subfooter_contact_info ul li.toggle_block:last-child p {
  margin-bottom: 0;
}
.subfooter_contact_info ul li.toggle_block .image {
  position: relative;
}
.subfooter_contact_info ul li.toggle_block .image img {
  width: 100%;
  height: auto;
  border-radius: 5px;
}
.subfooter_contact_info ul li.toggle_block .image img.goodpoint {
  position: absolute;
  top: -37px;
  right: -1rem;
  width: 160px;
  height: auto;
}
.subfooter_contact_info ul li.toggle_block div.title {
  position: relative;
  margin: 12px 0 0;
}
.subfooter_contact_info ul li.toggle_block div.title h5 {
  font-weight: 600;
  color: #8c7a7a;
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
}
.subfooter_contact_info ul li.toggle_block div.title .submenu-toggle .material-icons {
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-family: "Material Icons";
  font-size: 1.3rem;
  width: 28px;
  height: 28px;
  border: 1px solid #ec6d74;
  color: #ec6d74;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50px;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  pointer-events: none;
}
.subfooter_contact_info ul li.toggle_block div.title .submenu-toggle .icon-add {
  opacity: 1;
}
.subfooter_contact_info ul li.toggle_block div.title .submenu-toggle .icon-remove {
  opacity: 0;
  position: absolute;
}
.subfooter_contact_info ul li.toggle_block p {
  font-size: 0.9rem;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.5s ease, opacity 0.5s ease;
  transition: max-height 0.5s ease, opacity 0.5s ease;
}

.subfooter_contact_buttons {
  text-align: center;
  margin: 35px auto 0;
}
.subfooter_contact_buttons a:first-of-type {
  margin: 0 auto 10px;
}

/*────────────────────────────
footer_banners
────────────────────────────*/
ul.subfooter_bunners {
  padding: 0 1rem;
  margin: 0 auto 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  /* 好きな間隔に変える */
}
ul.subfooter_bunners li {
  -ms-flex-preferred-size: calc((100% - 1rem) / 2);
      flex-basis: calc((100% - 1rem) / 2);
}
ul.subfooter_bunners li a img {
  width: 100%;
  height: auto;
}

/*────────────────────────────
general footer
────────────────────────────*/
footer.footer {
  margin: 0;
  position: relative;
}
footer.footer .pagetop {
  position: absolute;
  bottom: 0;
  right: 20px;
}
footer.footer .pagetop a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
footer.footer .pagetop a::after {
  display: block;
  content: "";
  width: 1px;
  height: 120px;
  background: #fff;
}
footer.footer .pagetop a span {
  color: #fff;
  font-size: 0.9rem;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  padding: 0 0 5px;
}
footer.footer .footer_main {
  background: #ffffff;
}
footer.footer .footer_main .footer_company {
  text-align: center;
  padding: 40px 0;
}
footer.footer .footer_main .footer_company h4 {
  display: inline-block;
  margin: 0 auto 20px;
}
footer.footer .footer_main .footer_company h4 a {
  width: 250px;
}
footer.footer .footer_main .footer_company h4 a img {
  width: 100%;
  height: auto;
}
footer.footer .footer_main .footer_company .footer_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
footer.footer .footer_main .footer_company .footer_sns a {
  margin: 0 12px;
}
footer.footer .footer_main .footer_company .footer_sns a img {
  width: 22px;
  height: auto;
  -webkit-filter: brightness(0) saturate(100%) invert(27%) sepia(0%) saturate(784%) hue-rotate(204deg) brightness(98%) contrast(87%);
          filter: brightness(0) saturate(100%) invert(27%) sepia(0%) saturate(784%) hue-rotate(204deg) brightness(98%) contrast(87%);
}
footer.footer .footer_main .footer_bottom {
  padding: 20px 1rem 100px;
  background: #c0a9a9;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 50px;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li {
  width: 100%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.menu-item {
  position: relative;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.menu-item > span,
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.menu-item > a {
  width: 100%;
  color: #4C4C4C;
  padding: 1rem 0;
  font-weight: 500;
  font-size: 1rem;
  display: block;
  color: #ffffff;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.menu-item::after {
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-family: "Material Icons";
  content: "\e5cc";
  font-size: 1.3rem;
  color: #ffffff;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children {
  position: relative;
  width: 100%;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children::after {
  display: none;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children > span.nolink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 1rem 0;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children > span.nolink > span.title {
  color: #ffffff;
  font-weight: 500;
  font-size: 1rem;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children > span.nolink > .submenu-toggle .material-icons {
  position: absolute;
  right: 10px;
  top: 18px;
  font-family: "Material Icons";
  font-size: 1rem;
  width: 20px;
  height: 20px;
  border: 1px solid #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50px;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  pointer-events: none;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children > span.nolink > .submenu-toggle .icon-add {
  content: "\e145";
  opacity: 1;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children > span.nolink > .submenu-toggle .icon-remove {
  content: "\e15b";
  opacity: 0;
  position: absolute;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children > .submenu {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.5s ease, opacity 0.5s ease;
  transition: max-height 0.5s ease, opacity 0.5s ease;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children > .submenu ul {
  padding: 5px 0.2rem 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children > .submenu ul li {
  margin-bottom: 15px;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children > .submenu ul li a {
  width: 100%;
  text-align: center;
  color: #4C4C4C;
  font-weight: 500;
  font-size: 0.95rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children > .submenu ul li a::before {
  width: 5px;
  height: 5px;
  margin-right: 12px;
  background: #8c7a7a;
  border-radius: 50%;
  display: inline-block;
  content: "";
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children.open > .submenu {
  max-height: 500px;
  opacity: 1;
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children.open > .submenu-toggle .icon-add {
  opacity: 0;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
footer.footer .footer_main .footer_bottom .footer_sitemap > ul > li.has-children.open > .submenu-toggle .icon-remove {
  opacity: 1;
}
footer.footer .footer_main .copyright small {
  font-size: 0.7rem;
  color: #ffffff;
  letter-spacing: 0.05rem;
}

/*─────Loader─────*/
#loading-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 1000000000000000000000000;
}

.completed {
  opacity: 0;
  visibility: hidden;
}

.sk-folding-cube {
  margin: 20px auto;
  width: 40px;
  height: 40px;
  position: relative;
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}

.sk-folding-cube .sk-cube {
  float: left;
  width: 50%;
  height: 50%;
  position: relative;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.sk-folding-cube .sk-cube:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ec6d74;
  -webkit-animation: sk-foldCubeAngle 2.4s infinite linear both;
  animation: sk-foldCubeAngle 2.4s infinite linear both;
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}

.sk-folding-cube .sk-cube2 {
  -webkit-transform: scale(1.1) rotateZ(90deg);
  transform: scale(1.1) rotateZ(90deg);
}

.sk-folding-cube .sk-cube3 {
  -webkit-transform: scale(1.1) rotateZ(180deg);
  transform: scale(1.1) rotateZ(180deg);
}

.sk-folding-cube .sk-cube4 {
  -webkit-transform: scale(1.1) rotateZ(270deg);
  transform: scale(1.1) rotateZ(270deg);
}

.sk-folding-cube .sk-cube2:before {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.sk-folding-cube .sk-cube3:before {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.sk-folding-cube .sk-cube4:before {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

@-webkit-keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
  }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    opacity: 1;
  }
  90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
}
@keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
  }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    opacity: 1;
  }
  90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
}
/*───────────────────────────────────
//Parts
───────────────────────────────────*/
.masonry {
  width: 100%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.masonry.is-loaded .masonry-item {
  opacity: 1;
  visibility: visible;
}
.masonry .masonry-sizer {
  width: calc((100% - 20px) / 2);
}
.masonry .masonry-item {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  width: calc((100% - 20px) / 2);
  margin: 0 0 1rem;
  text-align: left;
}
.masonry .masonry-item a figure {
  margin: 0 0 10px;
}
.masonry .masonry-item a figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
}
.masonry .masonry-item a span.title {
  color: #4C4C4C;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
  height: 4.5em;
  /* 1.5 * 3 */
  display: -webkit-box;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/*──────────────────────────────────────────
見出し
──────────────────────────────────────────*/
.section_title {
  display: block;
  margin: 0 auto 30px;
  text-align: center;
}
.section_title span.en {
  font-size: 2rem !important;
  font-family: "Outfit", sans-serif;
  text-transform: capitalize;
  display: block;
  color: #ec6d74;
  margin: 0;
  line-height: 1.1;
  font-weight: 600;
}
.section_title_white span.en {
  color: transparent;
  -webkit-text-stroke: 1px #111;
}
.section_title h2 {
  margin: 0;
  padding: 0;
  font-size: 0.9rem !important;
  font-weight: 600;
  letter-spacing: 0.1rem;
  color: #8c7a7a;
}
.section_title h3 span,
.section_title h2.subtitle span {
  font-weight: 500;
  font-size: 1.2rem;
  color: #4C4C4C;
  display: block;
  letter-spacing: 0.1rem;
}
.section_title p {
  margin: 10px 0;
  line-height: 2;
}

.section_title_small {
  text-align: center;
  margin: 0 0 20px;
}
.section_title_small span.en {
  font-size: 1.8rem !important;
  font-family: "Outfit", sans-serif;
  text-transform: capitalize;
  display: block;
  color: #666;
  margin: 0;
  line-height: 1.2;
  font-weight: 600;
}
.section_title_small h2 {
  margin: 0;
  padding: 0;
  font-size: 0.9rem !important;
  font-weight: 500;
  letter-spacing: 0.05rem;
  color: #666;
}

.fukidashi {
  background: rgba(255, 255, 255, 0.9);
  color: #ec6d74;
  padding: 10px 15px;
  position: relative;
  margin-bottom: 20px;
  font-size: 1rem;
  text-align: center;
}
.fukidashi::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -12px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 12px solid rgba(255, 255, 255, 0.9);
}

.fukidashi_2 {
  position: relative;
  display: block;
  border-bottom: solid 1px #ec6d74;
  padding-bottom: 15px;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 2;
}
.fukidashi_2::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50px;
  width: 40px;
  height: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #ffffff;
  rotate: 135deg;
  translate: -50%;
  z-index: 1;
}
.fukidashi_2::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50px;
  width: 30px;
  height: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-right: solid 1px #ec6d74;
  rotate: 135deg;
  z-index: 1;
}

/*────────────────────────────
table
────────────────────────────*/
table {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-collapse: collapse;
  border-spacing: 0;
}

table.tbl {
  border-top: 1px solid #deddda;
  text-align: left;
  width: 100%;
  letter-spacing: 0.05rem;
}
table.tbl tbody tr {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 1px solid #deddda;
}
table.tbl tbody th {
  padding: 1rem 0;
  -ms-flex-preferred-size: 28%;
      flex-basis: 28%;
  font-size: 0.9rem;
  font-weight: 500;
  border-right: 1px solid #deddda;
}
table.tbl tbody td {
  padding: 1rem;
  -ms-flex-preferred-size: 72%;
      flex-basis: 72%;
  font-weight: 400;
  font-size: 0.9rem;
}
table.tbl tbody td a {
  display: inline-block;
}
table.tbl tbody td ul li {
  margin-bottom: 10px;
}
table.tbl tbody td ul li:last-child {
  margin-bottom: 0;
}
table.tbl tbody td span.annotation {
  display: inline-block;
  margin-top: 15px;
  padding: 15px;
  background: #F8F9FA;
  font-size: 0.8rem;
}

/*────────────────────────────
pagination
────────────────────────────*/
/* pagination */
.pagination {
  margin: 50px auto;
}
.pagination div.nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pagination div.nav-links a,
.pagination div.nav-links span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1 !important;
  padding: 5px;
  font-size: 1.3rem !important;
  margin: 0 8px;
}
.pagination div.nav-links span.current {
  font-family: "Outfit", sans-serif;
  color: #ec6d74;
  font-weight: 600;
}
.pagination div.nav-links a {
  color: #4C4C4C;
}
.pagination div.nav-links a.page-numbers {
  font-family: "Outfit", sans-serif;
}
.pagination div.nav-links a.prev span, .pagination div.nav-links a.next span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  width: 23px;
  height: 23px;
  background: #ec6d74;
  border-radius: 50px;
  color: #ffffff;
  font-weight: bold;
  font-size: 0.9rem !important;
}
.pagination div.nav-links a:hover {
  color: #757575;
}

/*────────────────────────────
prev next
────────────────────────────*/
.footer_navigator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
.footer_navigator > div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer_navigator > div.footer_navigator_left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.footer_navigator > div.footer_navigator_center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footer_navigator > div.footer_navigator_center a {
  border-bottom: 1px solid #ec6d74;
  color: #ec6d74;
}
.footer_navigator > div.footer_navigator_right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.footer_navigator > div a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #4C4C4C;
}
.footer_navigator > div a span.txt {
  font-size: 0.9rem;
  font-weight: 500;
  margin: 0 5px;
}
.footer_navigator > div a span.center_txt {
  font-size: 0.9rem;
  font-weight: 500;
}
.footer_navigator > div a span.material-icons {
  margin: 0;
  background: #ec6d74;
  width: 20px;
  height: 20px;
  border-radius: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  font-size: 1.2rem;
}

/*─────forms─────*/
.wpcf7 p {
  margin: 0;
  padding: 0;
}
.wpcf7 form {
  border: none;
}

::-webkit-input-placeholder {
  color: #757575;
  opacity: 0.5;
}

::-moz-placeholder {
  color: #757575;
  opacity: 0.5;
}

:-ms-input-placeholder {
  color: #757575;
  opacity: 0.5;
}

::-ms-input-placeholder {
  color: #757575;
  opacity: 0.5;
}

::placeholder {
  color: #757575;
  opacity: 0.5;
}

.darkmode ::-webkit-input-placeholder {
  color: #fff;
}

.darkmode ::-moz-placeholder {
  color: #fff;
}

.darkmode :-ms-input-placeholder {
  color: #fff;
}

.darkmode ::-ms-input-placeholder {
  color: #fff;
}

.darkmode ::placeholder {
  color: #fff;
}

.recapcopy {
  font-size: 0.7rem;
  text-align: center;
}
.recapcopy a {
  display: inline-block;
  border-color: #757575;
}

/*────────────────────

フォーム進捗ナビゲーション

────────────────────*/
.cf7-progress-navigation {
  padding: 0 60px 30px;
}
.cf7-progress-navigation .cf7-progress-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}
.cf7-progress-navigation .cf7-progress-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.cf7-progress-navigation .cf7-progress-step .cf7-step-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid #deddda;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  font-size: 1.1rem;
  color: rgba(117, 117, 117, 0.6);
  margin-bottom: 10px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.cf7-progress-navigation .cf7-progress-step .cf7-step-text {
  font-size: 0.85rem;
  color: #757575;
  font-weight: 500;
  white-space: nowrap;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.cf7-progress-navigation .cf7-progress-step.cf7-step-completed .cf7-step-circle {
  background: #e69d98;
  border-color: #e69d98;
  color: #ffffff !important;
}
.cf7-progress-navigation .cf7-progress-step.cf7-step-completed .cf7-step-text {
  color: #ec6d74 !important;
}
.cf7-progress-navigation .cf7-progress-step.cf7-step-active .cf7-step-circle {
  border-color: #e69d98;
  border-width: 2px;
  color: #e69d98 !important;
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
}
.cf7-progress-navigation .cf7-progress-step.cf7-step-active .cf7-step-text {
  color: #ec6d74 !important;
  font-weight: 600;
  font-family: "Outfit", sans-serif;
  font-size: 1rem;
}
.cf7-progress-navigation .cf7-progress-step.cf7-step-active.cf7-step-completed .cf7-step-circle {
  background: #e69d98;
  color: #ffffff;
}
.cf7-progress-navigation .cf7-progress-connector {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 2px;
  background: #deddda;
  margin: 5px 18px 40px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: relative;
  overflow: hidden;
}
.cf7-progress-navigation .cf7-progress-connector.cf7-connector-completed {
  background: #e69d98;
}
.cf7-progress-navigation .cf7-progress-connector.cf7-connector-progressing::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e69d98;
  -webkit-transform-origin: left;
          transform-origin: left;
}

.confirm_intro {
  margin: 0 1.5rem 40px;
}
.confirm_intro h2 {
  text-align: center;
  font-weight: 500;
  font-size: 1.3rem;
  color: #ec6d74;
}
.confirm_intro p {
  text-align: left;
  margin: 30px auto 0;
  font-size: 0.9rem;
}
.confirm_intro p a {
  color: #ec6d74;
}

/*────────────────────

contact form

────────────────────*/
.contactform {
  display: block;
  margin: 0 auto;
  padding: 0 0 60px;
  width: 100%;
  /*──────必須──────*/
}
.contactform .haveto {
  font-size: 1rem !important;
  color: #ec6d74;
  margin-left: 2px;
  font-weight: bold;
}
.contactform {
  /*──────mainTable──────*/
}
.contactform table.inquiry {
  width: 100%;
}
.contactform table.inquiry tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 30px;
  text-align: left;
}
.contactform table.inquiry tr:last-of-type {
  margin-bottom: 0;
}
.contactform table.inquiry tr th {
  padding-bottom: 8px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contactform table.inquiry tr th span.form_title {
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contactform table.inquiry tr th span.form_title:before {
  font-family: "material icons";
  content: "\e742";
  color: #ec6d74;
  font-size: 1.3rem;
  margin: 0 3px 0 0;
  font-weight: 400;
}
.contactform table.inquiry tr th span.thtitle {
  font-weight: 500;
}
.contactform table.inquiry tr th span.thtitle::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  margin: 0 5px 0 0;
  background: #ec6d74;
}
.contactform table.inquiry tr.border {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px dotted #b8a79f;
}
.contactform table.inquiry tr td {
  font-size: 0.9em;
  width: 100%;
}
.contactform table.inquiry tr td > span {
  font-size: 0.8rem;
  text-align: left;
  display: block;
  color: #4C4C4C;
}
.contactform table.inquiry tr td > span a {
  display: inline-block;
  border-bottom: 1px solid #ec6d74;
}
.contactform table.inquiry tr td span.annotation {
  display: block;
  line-height: 1.3;
  font-size: 0.8rem;
  background: #b8a79f;
  color: #ffffff;
  margin: 15px 0 0;
  padding: 10px 15px;
}
.contactform table.inquiry tr td div.units {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
}
.contactform table.inquiry tr td div.units:last-of-type {
  margin-bottom: 0;
}
.contactform table.inquiry tr td div.units .title {
  display: inline-block;
  font-weight: 500;
}
.contactform table.inquiry tr td div.units .box {
  margin: 0 10px;
}
.contactform table.inquiry tr td div.horizonal {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
}
.contactform table.inquiry tr td div.horizonal:last-of-type {
  margin-bottom: 0;
}
.contactform table.inquiry tr td div.horizonal .title {
  display: inline-block;
  font-weight: 500;
}
.contactform table.inquiry tr td div.horizonal .box {
  margin: 0 0 0 10px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.contactform table.inquiry tr td div.horizonal .box .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.contactform table.inquiry tr td div.horizonal .box select.wpcf7-form-control {
  display: block;
  width: 100% !important;
  min-width: 100% !important;
}
.contactform table.inquiry tr td span.td_title {
  display: block;
  font-weight: 500;
  margin: 0 0 5px;
}
.contactform table.inquiry tr td div.d_column {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 15px;
}
.contactform table.inquiry tr td div.d_column:last-of-type {
  margin-bottom: 0;
}
.contactform table.inquiry tr td div.d_column .d_column_item {
  -ms-flex-preferred-size: 48.5%;
      flex-basis: 48.5%;
}
.contactform table.inquiry tr td div.confirm_day_column {
  margin-bottom: 15px;
}
.contactform table.inquiry tr td div.confirm_day_column:last-of-type {
  margin: 0;
}
.contactform table.inquiry tr td div.confirm_day_column span {
  display: block;
  font-weight: 500;
  margin: 0 0 3px;
  font-size: 0.85rem !important;
}
.contactform table.inquiry tr.c_pp td {
  border-top: 1px solid #ffffff;
  padding: 20px 0 0;
}
.contactform table.inquiry tr.c_pp td span.info {
  display: block;
  padding-bottom: 20px;
  margin-bottom: 20px;
  color: #757575;
  font-size: 0.9rem !important;
  letter-spacing: 0rem;
  line-height: 1.8;
  border-bottom: 1px solid #ffffff;
}
.contactform table.inquiry tr.c_pp td span.info br {
  display: none;
}
.contactform table.inquiry tr.c_pp td span.info a {
  display: inline;
  border-bottom: 1px solid #757575;
  color: #757575;
}
.contactform table.inquiry tr.c_pp td .acceptance_wrapper {
  padding: 20px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.contactform #prevbtn {
  cursor: pointer;
  display: block;
  padding: 20px;
  width: 320px !important;
  color: #757575;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  margin: 30px auto -10px;
  -webkit-transition: all 0.2s ease 0s !important;
  transition: all 0.2s ease 0s !important;
  border-radius: 50px;
  border: none;
}
.contactform #prevbtn:hover {
  background: #4C4C4C;
  color: #fff;
}
.contactform #formbtn {
  cursor: pointer;
  display: block;
  padding: 20px;
  width: 320px !important;
  background: #ec6d74;
  border: 1px solid #ec6d74;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  margin: 0 auto;
  -webkit-transition: all 0.2s ease 0s !important;
  transition: all 0.2s ease 0s !important;
  border-radius: 50px;
}
.contactform #formbtn:hover {
  background: #fff;
  color: #ec6d74;
}
.contactform table.confirm {
  margin: 0 auto 30px;
  width: 100%;
  border-top: 1px dotted #deddda;
  border-bottom: 1px dotted #deddda;
  border-right: 1px dotted #deddda;
  background-color: #ffffff;
}
.contactform table.confirm tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  padding: 0;
  border-bottom: 1px dotted #deddda;
  margin-bottom: 0;
}
.contactform table.confirm tr:last-of-type {
  border: none;
}
.contactform table.confirm tr th {
  -ms-flex-preferred-size: 35%;
      flex-basis: 35%;
  text-align: left;
  padding: 15px 15px;
  background: rgba(239, 238, 238, 0.5);
  border-bottom: 1px dotted #ffffff;
}
.contactform table.confirm tr th span.thtitle {
  font-size: 0.85rem !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  display: inline-block;
  color: #8c7a7a;
}
.contactform table.confirm tr th span.thtitle::before {
  content: "";
  display: none;
}
.contactform table.confirm tr td {
  -ms-flex-preferred-size: 65%;
      flex-basis: 65%;
  font-size: 0.9rem;
  padding: 15px 25px;
}
.contactform table.confirm tr td > span {
  font-weight: 600;
  display: block;
  background: #ffffff;
  color: #ec6d74;
  padding: 5px;
  font-size: 0.9rem;
  margin: 0 0 5px;
}
.contactform table.confirm tr td div.units {
  margin-bottom: 5px;
}
.contactform table.confirm tr td div.units:last-of-type {
  margin-bottom: 0;
}
.contactform table.confirm tr td div.units .title {
  font-size: 0.85rem !important;
  font-weight: 400;
}
.contactform table.confirm tr.c_pp td {
  padding: 15px 25px;
}
.contactform table.confirm tr.c_pp td .acceptance_wrapper {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

/*────────────────────────────

INPUTS

────────────────────────────*/
input[type=text],
input[type=password],
input[type=datetime],
input[type=datetime-local],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
select,
textarea,
.field {
  display: block;
  height: auto;
  padding: 15px 20px !important;
  color: #757575;
  vertical-align: middle;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  width: 100%;
  max-width: 100%;
  background-color: #ffffff;
  outline: none;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease 0s !important;
  transition: all 0.2s ease 0s !important;
  font-size: 1rem;
}
input[type=text]:focus, input[type=text]:active,
input[type=password]:focus,
input[type=password]:active,
input[type=datetime]:focus,
input[type=datetime]:active,
input[type=datetime-local]:focus,
input[type=datetime-local]:active,
input[type=date]:focus,
input[type=date]:active,
input[type=month]:focus,
input[type=month]:active,
input[type=time]:focus,
input[type=time]:active,
input[type=week]:focus,
input[type=week]:active,
input[type=number]:focus,
input[type=number]:active,
input[type=email]:focus,
input[type=email]:active,
input[type=url]:focus,
input[type=url]:active,
input[type=search]:focus,
input[type=search]:active,
input[type=tel]:focus,
input[type=tel]:active,
input[type=color]:focus,
input[type=color]:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
.field:focus,
.field:active {
  background-color: #ffffff;
  outline: none;
}
input[type=text].error, input[type=text].is-invalid,
input[type=password].error,
input[type=password].is-invalid,
input[type=datetime].error,
input[type=datetime].is-invalid,
input[type=datetime-local].error,
input[type=datetime-local].is-invalid,
input[type=date].error,
input[type=date].is-invalid,
input[type=month].error,
input[type=month].is-invalid,
input[type=time].error,
input[type=time].is-invalid,
input[type=week].error,
input[type=week].is-invalid,
input[type=number].error,
input[type=number].is-invalid,
input[type=email].error,
input[type=email].is-invalid,
input[type=url].error,
input[type=url].is-invalid,
input[type=search].error,
input[type=search].is-invalid,
input[type=tel].error,
input[type=tel].is-invalid,
input[type=color].error,
input[type=color].is-invalid,
select.error,
select.is-invalid,
textarea.error,
textarea.is-invalid,
.field.error,
.field.is-invalid {
  color: #DC3A65;
  border-color: #DC3A65;
  background-color: #ffffff;
  background-position: 99% center;
  background-repeat: no-repeat;
  outline-color: #DC3A65;
}
input[type=text].success, input[type=text].is-valid,
input[type=password].success,
input[type=password].is-valid,
input[type=datetime].success,
input[type=datetime].is-valid,
input[type=datetime-local].success,
input[type=datetime-local].is-valid,
input[type=date].success,
input[type=date].is-valid,
input[type=month].success,
input[type=month].is-valid,
input[type=time].success,
input[type=time].is-valid,
input[type=week].success,
input[type=week].is-valid,
input[type=number].success,
input[type=number].is-valid,
input[type=email].success,
input[type=email].is-valid,
input[type=url].success,
input[type=url].is-valid,
input[type=search].success,
input[type=search].is-valid,
input[type=tel].success,
input[type=tel].is-valid,
input[type=color].success,
input[type=color].is-valid,
select.success,
select.is-valid,
textarea.success,
textarea.is-valid,
.field.success,
.field.is-valid {
  color: #2980b9;
  border-color: #2980b9;
  background-color: #ffffff;
  background-position: 99% center;
  background-repeat: no-repeat;
}
input[type=text][disabled], input[type=text].is-disabled,
input[type=password][disabled],
input[type=password].is-disabled,
input[type=datetime][disabled],
input[type=datetime].is-disabled,
input[type=datetime-local][disabled],
input[type=datetime-local].is-disabled,
input[type=date][disabled],
input[type=date].is-disabled,
input[type=month][disabled],
input[type=month].is-disabled,
input[type=time][disabled],
input[type=time].is-disabled,
input[type=week][disabled],
input[type=week].is-disabled,
input[type=number][disabled],
input[type=number].is-disabled,
input[type=email][disabled],
input[type=email].is-disabled,
input[type=url][disabled],
input[type=url].is-disabled,
input[type=search][disabled],
input[type=search].is-disabled,
input[type=tel][disabled],
input[type=tel].is-disabled,
input[type=color][disabled],
input[type=color].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled,
.field[disabled],
.field.is-disabled {
  cursor: not-allowed;
  border-color: #cfcfcf;
  opacity: 0.6;
}
input[type=text][disabled]:focus, input[type=text][disabled]:active, input[type=text].is-disabled:focus, input[type=text].is-disabled:active,
input[type=password][disabled]:focus,
input[type=password][disabled]:active,
input[type=password].is-disabled:focus,
input[type=password].is-disabled:active,
input[type=datetime][disabled]:focus,
input[type=datetime][disabled]:active,
input[type=datetime].is-disabled:focus,
input[type=datetime].is-disabled:active,
input[type=datetime-local][disabled]:focus,
input[type=datetime-local][disabled]:active,
input[type=datetime-local].is-disabled:focus,
input[type=datetime-local].is-disabled:active,
input[type=date][disabled]:focus,
input[type=date][disabled]:active,
input[type=date].is-disabled:focus,
input[type=date].is-disabled:active,
input[type=month][disabled]:focus,
input[type=month][disabled]:active,
input[type=month].is-disabled:focus,
input[type=month].is-disabled:active,
input[type=time][disabled]:focus,
input[type=time][disabled]:active,
input[type=time].is-disabled:focus,
input[type=time].is-disabled:active,
input[type=week][disabled]:focus,
input[type=week][disabled]:active,
input[type=week].is-disabled:focus,
input[type=week].is-disabled:active,
input[type=number][disabled]:focus,
input[type=number][disabled]:active,
input[type=number].is-disabled:focus,
input[type=number].is-disabled:active,
input[type=email][disabled]:focus,
input[type=email][disabled]:active,
input[type=email].is-disabled:focus,
input[type=email].is-disabled:active,
input[type=url][disabled]:focus,
input[type=url][disabled]:active,
input[type=url].is-disabled:focus,
input[type=url].is-disabled:active,
input[type=search][disabled]:focus,
input[type=search][disabled]:active,
input[type=search].is-disabled:focus,
input[type=search].is-disabled:active,
input[type=tel][disabled]:focus,
input[type=tel][disabled]:active,
input[type=tel].is-disabled:focus,
input[type=tel].is-disabled:active,
input[type=color][disabled]:focus,
input[type=color][disabled]:active,
input[type=color].is-disabled:focus,
input[type=color].is-disabled:active,
select[disabled]:focus,
select[disabled]:active,
select.is-disabled:focus,
select.is-disabled:active,
textarea[disabled]:focus,
textarea[disabled]:active,
textarea.is-disabled:focus,
textarea.is-disabled:active,
.field[disabled]:focus,
.field[disabled]:active,
.field.is-disabled:focus,
.field.is-disabled:active {
  background-color: #2980b9;
}

input[type=password] {
  letter-spacing: 0.3em;
}

input[type=date] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #ffffff;
  width: 100%;
  display: block;
  padding: 14px 15px !important;
  border-radius: 2px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%23333333%27%3E%3Cpath%20d%3D%27M19%203h-1V1h-2v2H8V1H6v2H5c-1.1%200-2%20.9-2%202v14c0%201.1.9%202%202%202h14c1.1%200%202-.9%202-2V5c0-1.1-.9-2-2-2zm0%2016H5V8h14v11z%27%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 1.2rem;
  padding-right: 40px !important;
  color: #757575;
}
input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  background: transparent;
}

textarea {
  line-height: 1.5rem;
  padding: 1rem !important;
}

select {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
  appearance: none;
  background-repeat: no-repeat;
  background-position: 97.5% center;
}

/*─────チェックボックス─────*/
.wpcf7-checkbox {
  display: block;
  margin: 10px 0 -10px;
}
input[type=checkbox] {
  display: none;
}
input[type=checkbox] + span {
  cursor: pointer;
  position: relative;
  padding: 0 0 0 13px;
  font-size: inherit;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  color: #4C4C4C;
  font-weight: 400;
  font-size: 1rem;
  margin: 0 30px 20px 0 !important;
  line-height: 1.3;
  display: inline-block;
}
input[type=checkbox] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-45%);
          transform: translateY(-45%);
  left: -1rem;
  width: 23px;
  height: 23px;
  border: 1px solid #c4bbb8;
  background-color: #fefefe;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
input[type=checkbox] + span::after {
  content: "";
  opacity: 0;
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(40deg);
          transform: translateY(-50%) rotate(40deg);
  left: -0.5rem;
  width: 0.4em;
  height: 0.8em;
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
input[type=checkbox]:checked + span {
  color: #4C4C4C;
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
input[type=checkbox]:checked + span::before {
  opacity: 1;
  border: 1px solid #ec6d74;
  background-color: #ec6d74;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
input[type=checkbox]:checked + span::after {
  opacity: 1;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

/*─────ラジオ─────*/
.wpcf7-radio {
  display: block;
  margin: 10px 0 0;
}
.wpcf7-radio .wpcf7-list-item {
  margin: 0 0 10px 15px;
}

input[type=radio] {
  display: none;
}
input[type=radio] + span {
  cursor: pointer;
  position: relative;
  padding: 0 2rem 0 0.7rem;
  font-size: inherit;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  color: #4C4C4C;
  font-size: 1rem;
  font-weight: 400;
}
input[type=radio] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -1rem;
  width: 20px;
  height: 20px;
  border: 1px solid #c4bbb8;
  border-radius: 50%;
  background-color: #fefefe;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
input[type=radio] + span::after {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
input[type=radio]:checked + span {
  color: #ec6d74;
}
input[type=radio]:checked + span::after {
  opacity: 1;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: calc(-1rem + 5px);
  /* 中心に配置 */
  width: 10px;
  height: 10px;
  background-color: #ec6d74;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

/*────────────────────────────

CF7 エラーメッセージ・アラート調整

────────────────────────────*/
/* 各入力項目のエラー文言（「必須項目です」など） */
span.wpcf7-not-valid-tip {
  display: block;
  color: #ec6d74; /* サイトのメインカラー等、浮かない色に変更。必要なら $red などを指定 */
  font-size: 0.85rem;
  font-weight: 500;
  margin-top: 5px;
  padding-left: 2px;
}

/* 送信ボタン下の全体メッセージ枠 */
div.wpcf7-response-output {
  margin: 2em 0 0;
  padding: 15px 20px;
  border-radius: 4px;
  font-size: 0.95rem;
  text-align: center;
  border: none !important; /* CF7特有の太いボーダーを消す */
  font-weight: 500;
}

/* 成功時 */
div.wpcf7-mail-sent-ok {
  background-color: rgba(230, 157, 152, 0.1); /* $color4 があればそれを使う、なければ適宜 */
  color: #ec6d74;
}

/* エラー時（未入力がある、送信失敗など） */
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing,
div.wpcf7-mail-sent-ng,
div.wpcf7-aborted {
  background-color: rgba(220, 58, 101, 0.05); /* うっすらとした赤背景 */
  color: #DC3A65;
}

/*────────────────────────────

同一ページ確認画面モジュール

────────────────────────────*/
/* フェーズ切替のトランジション */
.form_phase {
  -webkit-animation: cf7c-fadein 0.4s ease;
          animation: cf7c-fadein 0.4s ease;
}

@-webkit-keyframes cf7c-fadein {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes cf7c-fadein {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* 「確認画面へ」ボタン */
button.btn_to_confirm {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 20px 40px;
  width: 320px;
  max-width: 100%;
  background: #ec6d74;
  border: 2px solid #ec6d74;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  margin: 0 auto 20px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 50px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 右矢印アイコン */
}
button.btn_to_confirm::after {
  content: "→";
  font-size: 1.1rem;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
button.btn_to_confirm:hover {
  background: #fff;
  color: #ec6d74;
}
button.btn_to_confirm:hover::after {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}

/* 「入力画面へ戻る」ボタン */
button.btn_back_to_input {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 20px 40px;
  width: 320px;
  max-width: 100%;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 50px;
  border: 1px solid #deddda;
  background: #899182;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto 10px;
  /* 左矢印アイコン */
}
button.btn_back_to_input::before {
  content: "←";
  font-size: 1.1rem;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
button.btn_back_to_input:hover {
  background: #4C4C4C;
  color: #fff;
  border-color: #4C4C4C;
}
button.btn_back_to_input:hover::before {
  -webkit-transform: translateX(-4px);
          transform: translateX(-4px);
}

/* クライアントサイドバリデーションエラー */
.cf7c-error {
  border: 1px solid #ec6d74 !important;
}

.cf7c-error-tip {
  display: block;
  color: #ec6d74;
  font-size: 0.85rem;
  font-weight: 500;
  margin-top: 5px;
  padding-left: 2px;
}

/*─────buttons─────*/
.blue-btn {
  display: inline-block;
  position: relative;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  text-decoration: none;
  color: #ffffff;
  font-size: 0.9em;
  font-size: 34px;
  line-height: 34px;
  font-weight: normal;
  padding: 0 24px;
  border-radius: 4px;
  border: 0;
  cursor: pointer;
}
.blue-btn:hover, .blue-btn:focus {
  color: #ffffff;
  text-decoration: none;
  outline: none;
}
.blue-btn:active {
  top: 1px;
}

/*
An example button.
You can use this example if you want. Just replace all the variables
and it will create a button dependant on those variables.
*/
.blue-btn {
  background-color: #2980b9;
}
.blue-btn:hover, .blue-btn:focus {
  background-color: rgb(37.2991150442, 116.4460176991, 168.3008849558);
}
.blue-btn:active {
  background-color: rgb(36.3738938053, 113.5575221239, 164.1261061947);
}

/*────────────────────────────
btn_standard
────────────────────────────*/
.btn_standard {
  display: inline-block;
  letter-spacing: 0.1rem;
  padding: 1rem 2.8rem;
  margin: 0 auto;
  text-align: center;
  text-decoration: none;
  border: 1px solid #ec6d74;
  border-radius: 50px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  background: #ffffff;
}
.btn_standard span {
  color: #ec6d74;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn_standard:hover {
  background: #ec6d74;
}
.btn_standard:hover span {
  color: #fff;
}
.btn_standard_white {
  border-color: #ffffff;
  background: none;
}
.btn_standard_white span {
  color: #ffffff;
}
.btn_standard_white:hover {
  background: #ffffff;
}
.btn_standard_white:hover span {
  color: #ec6d74;
}
.btn_standard_black {
  background: #ec6d74;
}
.btn_standard_black span {
  color: #ffffff;
}
.btn_standard_black:hover {
  background: #ffffff;
}
.btn_standard_black:hover span {
  color: #ec6d74;
}

@media only screen and (max-width: 767px) {
  .btn_standard {
    padding: 1rem 1.5rem;
  }
}
/*────────────────────────────
btn_black
────────────────────────────*/
.btn_blk {
  display: inline-block;
  letter-spacing: 0.1rem;
  padding: 0.8rem 1.5rem 0.8rem 2.5rem;
  text-align: center;
  text-decoration: none;
  border: 1px solid #ec6d74;
  background: #ec6d74;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50px;
  margin: 0 auto;
}
.btn_blk span {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.btn_blk span::after {
  font-family: "Material Icons";
  content: "\e5df";
  font-size: 1.5rem;
  padding: 0;
  margin: 0 0 0 5px;
  line-height: 1;
  vertical-align: baseline;
}
.btn_blk span.en {
  font-family: "Outfit", sans-serif;
}
.btn_blk:hover {
  background: #4C4C4C;
}
.btn_blk:hover span {
  color: #ffffff;
}

@media screen and (max-width: 767px) {
  .btn_blk {
    padding: 0.5rem 1.5rem;
    text-align: center;
    border-radius: 1px;
  }
  .btn_blk span {
    font-size: 0.8rem !important;
  }
}
/*────────────────────────────
btn_text
────────────────────────────*/
.btn_text {
  display: inline-block;
  color: #ec6d74;
  text-decoration: none;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}
.btn_text span {
  font-size: 0.9rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: #ec6d74;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 600;
  border-bottom: 1px solid #ec6d74;
}
.btn_text span::after {
  display: inline-block;
  font-family: "material icons";
  content: "\e409";
  color: #ec6d74;
  font-size: 1.5rem;
  padding: 0;
  line-height: 1;
  margin: 0;
}
.btn_text:hover span {
  color: #e69d98;
  border-color: #e69d98;
}
.btn_text:hover span::after {
  color: #e69d98;
}

/*────────────────────────────
btn_shooting
────────────────────────────*/
.btn_shooting {
  position: relative;
  display: inline-block;
  text-decoration: none;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}
.btn_shooting span {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.btn_shooting::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #ffffff;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.btn_shooting::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #4C4C4C;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.btn_shooting_white::after {
  background: #4C4C4C;
}
.btn_shooting_white::before {
  background: #ffffff;
}
.btn_shooting:hover::after {
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
.btn_shooting:hover::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

/*────────────────────────────
btn_arrow
────────────────────────────*/
.btn_arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.btn_arrow::before {
  font-family: "Material icons";
  content: "\e5c8";
  font-size: 0.8rem;
  color: #757575;
  width: 18px;
  height: 18px;
  border: 1px solid #757575;
  border-radius: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 6px;
  margin-bottom: -1px;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .btn_arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .btn_arrow::before {
    font-family: "Material icons";
    content: "\e5c8";
    font-size: 0.8rem;
    color: #757575;
    width: 18px;
    height: 18px;
    border: 1px solid #757575;
    border-radius: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 6px;
    margin-bottom: -1px;
    font-weight: 600;
  }
}
.btn_arrow_large {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.btn_arrow_large::after {
  font-family: "Material icons";
  content: "\e5df";
  font-size: 1.3rem;
  color: #ec6d74;
  width: 50px;
  height: 50px;
  border: 1px solid #ec6d74;
  border-radius: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: 20px;
  font-weight: 600;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  -webkit-transition: 0.3s;
}
.btn_arrow_large:hover::after {
  background: #ec6d74;
  color: #fff;
}
.btn_arrow_large:hover span::after {
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
.btn_arrow_large:hover span::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.btn_arrow_large span {
  position: relative;
  display: inline-block;
  text-decoration: none;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.1rem;
  padding: 0;
}
.btn_arrow_large span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #ffffff;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.btn_arrow_large span::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #ec6d74;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.btn_arrow_large span_white::after {
  background: #ec6d74;
}
.btn_arrow_large span_white::before {
  background: #ffffff;
}
@media only screen and (max-width: 767px) {
  .btn_arrow_large::before {
    font-size: 0.9rem;
    width: 18px;
    height: 18px;
    margin-right: 6px;
  }
  .btn_arrow_large span {
    font-size: 0.9rem;
  }
}
/*─────SNS─────*/
.share {
  margin: 15px auto;
  padding: 15px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #deddda;
  border-bottom: 1px solid #deddda;
}
.share div.share_title {
  margin-right: 0.5rem;
  font-weight: 500 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.share div.share_title span {
  font-size: 0.9rem;
  line-height: 1;
}
.share ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.share ul li {
  margin-right: 1.1rem;
  width: 18px;
}
.share ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.share ul li a svg {
  width: 100%;
  height: auto;
  -webkit-filter: brightness(0) saturate(100%) invert(43%) sepia(2%) saturate(1533%) hue-rotate(316deg) brightness(97%) contrast(83%);
          filter: brightness(0) saturate(100%) invert(43%) sepia(2%) saturate(1533%) hue-rotate(316deg) brightness(97%) contrast(83%);
}

/*──────────────────────────────────────────
subpages-header
──────────────────────────────────────────*/
#subpages-header {
  width: 100%;
  height: 400px;
  margin: 70px auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  #subpages-header {
    margin: 60px auto 0;
  }
}
#subpages-header .page_title {
  width: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
  text-align: center;
}
#subpages-header .page_title span.en {
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  font-size: 2.4rem;
  line-height: 1.3;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  color: #ffffff;
  width: 100%;
  opacity: 0;
  -webkit-animation: fadeIn 1.5s ease-out forwards;
          animation: fadeIn 1.5s ease-out forwards;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
#subpages-header .page_title h1 {
  letter-spacing: 0.05rem;
  font-size: 1rem;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  color: #ffffff;
  width: 100%;
  opacity: 0;
  -webkit-animation: fadeIn 1.5s ease-out forwards;
          animation: fadeIn 1.5s ease-out forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
#subpages-header .subpages_image {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}
#subpages-header .subpages_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  /* Animation */
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  -webkit-filter: blur(15px);
          filter: blur(15px);
  opacity: 0;
  -webkit-animation: headerImageReveal 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
          animation: headerImageReveal 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
#subpages-header > img.handdraw {
  position: absolute;
  bottom: -70px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 9;
  width: 60%;
  height: auto;
}
#subpages-header::after {
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(155, 144, 144, 0.6);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  /* Animation */
  opacity: 0;
  -webkit-animation: overlayFadeIn 1.5s ease-out forwards;
          animation: overlayFadeIn 1.5s ease-out forwards;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.subpages_header_small {
  margin: 70px auto 0;
  padding: 30px 0;
  border-top: 1px solid #deddda;
  border-bottom: 1px solid #deddda;
}
.subpages_header_small .page_title {
  text-align: center;
}
.subpages_header_small .page_title span.en {
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  font-size: 1.8rem;
  line-height: 1.3;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  color: #666;
}
.subpages_header_small .page_title h1 {
  letter-spacing: 0.05rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #666;
}

/* Keyframes */
@-webkit-keyframes headerImageReveal {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
    -webkit-filter: blur(15px);
            filter: blur(15px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}
@keyframes headerImageReveal {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
    -webkit-filter: blur(15px);
            filter: blur(15px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes overlayFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes overlayFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*────────────────────────────
Bread crumb
────────────────────────────*/
.bc_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 1rem;
  background: none;
  margin: 20px 0 0;
  border-top: 1px solid #deddda;
  border-bottom: 1px solid #deddda;
}
.bc_wrapper ul {
  margin-left: 0 !important;
}

#breadcrumb ul {
  max-width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  white-space: nowrap !important;
}
#breadcrumb ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#breadcrumb ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #4C4C4C;
}
#breadcrumb ul li a span {
  font-size: 0.7rem !important;
  font-weight: 500;
}
#breadcrumb ul li > span {
  font-size: 0.7rem !important;
}
#breadcrumb ul li:not(:last-child)::after {
  content: "\e315";
  font-family: "Material Icons";
  font-weight: 300;
  margin: 0 0.2rem;
}

/*───────────────────────────────────
//Animation
───────────────────────────────────*/
.fade {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 1.5s, -webkit-transform 1s;
  transition: opacity 1.5s, -webkit-transform 1s;
  transition: opacity 1.5s, transform 1s;
  transition: opacity 1.5s, transform 1s, -webkit-transform 1s;
}

.fade.active {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

/*───────────────────────────────────
//スライダー (GSAP フェード)
───────────────────────────────────*/
.sub-window.is-slider {
  position: relative;
  width: 100%;
  /* 高さ指定は削除し、コンテンツ（画像）または親要素に依存させる */
  /* 以前の動画は幅100%の指定のみでした。ここでは画像が正しく収まるようにします。 */
}
.sub-window.is-slider .slider-container {
  position: relative;
  width: 100%;
}
.sub-window.is-slider {
  /* 画像が絶対配置だと高さがなくなるため、Grid Stackの手法で高さを確保します */
}

/* 高さ確保のためのGrid Stackアプローチ */
.sub-window.is-slider .slider-container {
  display: grid;
  grid-template-areas: "stack";
}

.sub-window.is-slider .slide-item {
  grid-area: stack;
  opacity: 0;
  z-index: 1;
  width: 100%;
}
.sub-window.is-slider .slide-item img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/*─────Layout─────*/
.overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  inset: 0;
  /* top/left/right/bottomを短縮 */
  z-index: 60;
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.overlay.open {
  width: 100vw;
  height: 100vh;
  opacity: 1;
}

#the-wrap {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 50;
}
#the-wrap > .handdraw {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 200 !important;
  width: 100%;
  height: auto;
}
#the-wrap .sublogo {
  position: fixed;
  left: 3%;
  top: 3%;
  z-index: 200 !important;
  width: 60px;
  height: auto;
  mix-blend-mode: hard-light;
  opacity: 0.8;
}
#the-wrap .sub-window {
  position: absolute;
  inset: 0;
  height: 100vh;
  width: 100%;
  /*
  &::after{
  	width: 98%;
  	height: 98%;
  	border: 1px solid rgba(#E8E7E2,.7);
  	content: "";
  	position: fixed;
  	left: 50%;
  	top:50%;
  	transform: translate(-50%,-50%);
  }
  */
}
#the-wrap .sub-window > div {
  width: 100%;
  height: 100%;
  position: fixed;
}
#the-wrap .sub-window > div img,
#the-wrap .sub-window > div video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@-webkit-keyframes fadeInPage {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInPage {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#the-wrap .main-window {
  max-width: 470px !important;
  width: 470px !important;
  background: #ffffff !important;
  position: absolute !important;
  right: 15% !important;
  top: 0 !important;
  -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.08);
          box-shadow: 0 0 40px rgba(0, 0, 0, 0.08);
  z-index: 300;
}
#the-wrap .main-window header.header {
  opacity: 0;
  -webkit-animation: fadeInPage 1s ease 0.2s forwards;
          animation: fadeInPage 1s ease 0.2s forwards;
  position: fixed;
  top: 0;
  right: 15%;
  z-index: 100;
  width: 470px;
  margin: 0;
  height: 70px;
}
#the-wrap .main-window main {
  opacity: 0;
  -webkit-animation: fadeInPage 1s ease 0.2s forwards;
          animation: fadeInPage 1s ease 0.2s forwards;
}
#the-wrap .footer_fixed_btn {
  opacity: 0;
  -webkit-animation: fadeInPage 1s ease 0.2s forwards;
          animation: fadeInPage 1s ease 0.2s forwards;
  position: fixed;
  bottom: 0;
  right: 15%;
  height: 60px;
  background: #ECE1D7;
  z-index: 300;
  width: 470px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#the-wrap .footer_fixed_btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #7E5B5B;
  font-weight: 600;
  letter-spacing: 0.1rem;
}
#the-wrap .footer_fixed_btn a span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#the-wrap .footer_fixed_btn a span img {
  width: 21px;
  height: auto;
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(6deg) brightness(106%) contrast(103%);
          filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(6deg) brightness(106%) contrast(103%);
}
#the-wrap .footer_fixed_btn a.reserve {
  -ms-flex-preferred-size: calc(100% - 200px);
      flex-basis: calc(100% - 200px);
}
#the-wrap .footer_fixed_btn a.line, #the-wrap .footer_fixed_btn a.call {
  -ms-flex-preferred-size: 100px;
      flex-basis: 100px;
  border-left: 1px solid #d7cdc4;
}
#the-wrap .footer_fixed_btn a.line span {
  background: #899182;
}
#the-wrap .footer_fixed_btn a.call span {
  background: #e69d98;
}
#the-wrap .footer_fixed_btn a.call span img {
  margin: 0 0 -2px -2px;
}
#the-wrap {
  /* ドロワー(オーバーレイ)表示時は固定ボタンを背面に */
}
#the-wrap .overlay.open ~ .footer_fixed_btn {
  z-index: 10;
}

/*─────Tablet─────*/
@media screen and (min-width: 471px) and (max-width: 1024px) {
  #the-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #the-wrap .main-window {
    right: auto !important;
    left: auto !important;
    -webkit-transform: none !important;
            transform: none !important;
    /* ← 削除する */
    z-index: 300;
  }
  #the-wrap .main-window header.header {
    position: fixed !important;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 1000;
  }
  #the-wrap .main-window header.header nav.mb_drawer {
    right: 0%;
    min-height: 100vh !important;
  }
  #the-wrap .footer_fixed_btn {
    z-index: 300;
    left: 50%;
    right: auto;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
/*─────Mobile─────*/
@media screen and (max-width: 470px) {
  #the-wrap .sub-window {
    display: none;
    visibility: hidden;
    opacity: 0;
  }
  #the-wrap .main-window {
    right: 0 !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
  }
  #the-wrap .main-window header.header {
    width: 100%;
    top: 0;
    right: 0;
    left: 0;
    height: 60px;
  }
  #the-wrap .footer_fixed_btn {
    width: 100%;
    right: 0;
    left: 0;
    height: 60px;
  }
  #the-wrap .footer_fixed_btn a {
    letter-spacing: 0.06rem;
  }
  #the-wrap .footer_fixed_btn a span {
    width: 40px;
    height: 40px;
  }
  #the-wrap .footer_fixed_btn a span img {
    width: 24px;
    height: auto;
  }
  #the-wrap .footer_fixed_btn a.reserve {
    -ms-flex-preferred-size: calc(100% - 160px);
        flex-basis: calc(100% - 160px);
  }
  #the-wrap .footer_fixed_btn a.line, #the-wrap .footer_fixed_btn a.call {
    -ms-flex-preferred-size: 80px;
        flex-basis: 80px;
  }
}
/*─────booking─────*/
.booking_section .handdraw {
  width: 170px;
}
.booking_section .call_btn {
  background: #d6b1a1;
  color: #ffffff;
  text-align: center;
  padding: 20px;
  border-radius: 5px;
  margin: 0 0 50px;
}
.booking_section .call_btn h3 {
  color: #ffffff;
  font-size: 1rem;
}
.booking_section .call_btn a {
  margin: 10px 0 15px;
  padding: 0 0 15px;
  border-bottom: 1px dotted #ffffff;
}
.booking_section .call_btn a span {
  color: #ffffff;
  display: block;
}
.booking_section .call_btn a span.number {
  font-family: "Outfit", sans-serif;
  font-size: 2rem;
  font-weight: 600;
}
.booking_section .call_btn a span.cap {
  font-size: 0.9rem;
  font-weight: 500;
}
.booking_section .call_btn ul {
  text-align: left;
}
.booking_section .call_btn ul li {
  font-size: 0.85rem;
}
.booking_section .form_header {
  text-align: center;
  position: relative;
  margin: 0 0 30px;
}
.booking_section .form_header::before {
  position: absolute;
  top: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 40px;
  height: 1px;
  background: #b8a79f;
  content: "";
}
.booking_section .form_header h3 {
  font-size: 1.1rem;
}
.booking_section .form_header p {
  font-size: 0.9rem;
  text-align: justify;
}
.booking_section .form_wrapper {
  background: #EDECEA;
  padding: 20px 1.5rem 0;
}
.booking_section .form_wrapper .closed-message {
  display: block;
  width: 100%;
  text-align: center;
  padding: 30px 0 40px;
}
.booking_section .form_wrapper .closed-message p {
  font-weight: 700;
  font-size: 1rem;
  color: #606262;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

	カスタムログイン画面デザイン

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
body.login {
  background-color: #d9d3c9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100vh;
}
body.login a {
  font-weight: 600;
  border-color: #8c7a7a;
}
body.login #login {
  width: 100%;
  max-width: 360px;
  padding: 0;
  margin: 0;
}
body.login h1 a {
  background-image: url("../images/logo-brown.svg") !important;
  background-size: contain !important;
  background-position: center bottom !important;
  width: 100% !important;
  height: 100px !important;
  margin-bottom: 40px;
}
body.login form {
  background: rgba(255, 255, 255, 0.9) !important;
  border: none !important;
  border-radius: 12px;
  -webkit-box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
          box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
  padding: 40px 30px 30px !important;
}
body.login label {
  color: #8c7a7a !important;
  font-weight: 600;
  font-size: 14px;
}
body.login input[type=text],
body.login input[type=password] {
  border: 1px solid #deddda;
  padding: 10px 15px;
  background: #ffffff;
  color: #333;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  margin-top: 8px;
  font-size: 16px;
  border-radius: 5px !important;
}
body.login input[type=text]:focus,
body.login input[type=password]:focus {
  border-color: #b8a79f;
  outline: none;
  -webkit-box-shadow: 0 0 0 1px #b8a79f !important;
          box-shadow: 0 0 0 1px #b8a79f !important;
}
body.login .wp-pwd,
body.login .forgetmenot {
  margin-bottom: 25px;
}
body.login .button-primary {
  background-color: #b8a79f !important;
  border-color: #b8a79f !important;
  color: #ffffff !important;
  text-shadow: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border-radius: 50px !important;
  padding: 8px 30px !important;
  font-size: 16px !important;
  font-weight: bold;
  height: auto !important;
  line-height: 1.5 !important;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  width: 100%;
  margin-top: 5px;
}
body.login .button-primary:hover {
  background-color: #8c7a7a !important;
  border-color: #8c7a7a !important;
}
body.login #backtoblog,
body.login #nav {
  text-align: center;
  margin-top: 25px;
  padding: 0;
}
body.login #backtoblog a,
body.login #nav a {
  color: #8c7a7a !important;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 13px;
}
body.login #backtoblog a:hover,
body.login #nav a:hover {
  opacity: 0.7;
}
body.login {
  /* 言語スイッチャーを非表示にしてスッキリさせる */
}
body.login .language-switcher {
  display: none !important;
}
body.login {
  /* エラーメッセージの装飾 */
}
body.login #login_error,
body.login .message {
  border-left: 4px solid #b8a79f;
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
          box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  border-radius: 6px;
  color: #8c7a7a;
}

/*pages
───────────────────────*/
/*────────────────────────────
HOME
────────────────────────────*/
#mv {
  margin-top: 60px;
  height: auto;
  width: 100%;
}
#mv > div {
  position: relative;
  height: 100%;
}
#mv > div video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#mv > div img {
  position: absolute;
  bottom: -75px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.home_about {
  padding: 90px 0 30px;
  width: 100%;
  background: #FCF9F9;
  display: block;
}
.home_about .home_about_content {
  margin: 0 0 40px 0;
  text-align: center;
}
.home_about .home_about_content h2 {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #897C7C;
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0 auto 30px;
}
.home_about .home_about_content p {
  color: #897C7C;
  line-height: 2.2;
  font-size: 0.9rem;
}

.home_news {
  margin: 0 auto;
  background: #efeeee;
  padding: 50px 0;
  text-align: center;
}
.home_news .home_news_inner .info__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 10px;
}
.home_news .home_news_inner .info__items a.event__item {
  -ms-flex-preferred-size: 48%;
      flex-basis: 48%;
  background: #ffffff;
  border-radius: 4px;
  margin-bottom: 1rem;
  overflow: hidden;
}
.home_news .home_news_inner .info__items a.event__item figure img {
  aspect-ratio: 4/3;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home_news .home_news_inner .info__items a.event__item .info_content {
  padding: 15px 15px 20px;
  color: #4C4C4C;
  text-align: center;
}
.home_news .home_news_inner .info__items a.event__item .info_content > span {
  text-align: left;
  display: block;
  font-weight: 500;
}
.home_news .home_news_inner .info__items a.event__item .info_content > span.categoryname {
  background: #AEB2A6;
  font-size: 0.8rem;
  color: #ffffff;
  border-radius: 2px;
  text-align: center;
  display: block;
  margin: 0 0 5px;
}
.home_news .home_news_inner .info__items a.event__item .info_content > span.title {
  font-size: 0.9rem;
  line-height: 1.5;
  height: 4.5em;
  /* 1.5 * 3 */
  display: -webkit-box;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-align: left;
}
.home_news .home_news_inner .info__items a.event__item .info_content > span.date {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #deddda;
  font-size: 0.8rem;
}
.home_news .home_news_inner .info__items a.event__item .info_content .info__btn {
  margin-top: 10px;
  background: #b8a79f;
  padding: 8px 12px;
  display: block;
  border-radius: 2px;
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 500;
}

.home_topics {
  padding: 50px 0;
  text-align: center;
}
.home_topics .home_topics_inner {
  margin: 0 auto;
  max-width: 800px;
}
.home_topics .home_topics_inner ul.news_list {
  text-align: left;
  margin-bottom: 30px;
}
.home_topics .home_topics_inner .topics_link {
  text-align: right;
  display: block;
  margin: -10px auto 0;
}
.home_topics .home_topics_inner .topics_link a {
  font-weight: 500;
  font-size: 0.85rem;
  display: inline-block;
  color: #ec6d74;
  border-bottom: 1px solid #ec6d74;
}

.home_reserve {
  background: #e69d98;
  padding: 50px 0;
  text-align: center;
}
.home_reserve .reserve_item {
  background: #ffffff;
  margin: 0 0 30px;
  border-radius: 5px;
  overflow: hidden;
}
.home_reserve .reserve_item img {
  width: 100%;
  height: auto;
}
.home_reserve .reserve_item img:last-of-type {
  height: 280px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
}
.home_reserve .reserve_item h2 {
  color: #ec6d74;
  margin: 20px 0 0;
  font-weight: 500;
  font-size: 1.3rem;
}
.home_reserve .reserve_item p {
  margin: 10px 0 20px;
  padding: 0 2rem;
  font-size: 0.9rem;
}
.home_reserve .reserve_item span {
  display: block;
  margin: 20px 0;
  font-size: 0.9rem;
}

.home_modelhouse {
  background: #FCF9F9;
  padding: 60px 0;
  text-align: center;
}
.home_modelhouse .modelhouse-slider-wrap {
  position: relative;
  width: 100%;
  padding-bottom: 20px;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider {
  z-index: 1;
  width: 100%;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider ul.swiper-wrapper li.swiper-slide a {
  position: relative;
  z-index: 0;
  aspect-ratio: 3/2;
  overflow: hidden;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider ul.swiper-wrapper li.swiper-slide a::after {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider ul.swiper-wrapper li.swiper-slide a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider ul.swiper-wrapper li.swiper-slide a .post_item_content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  color: #ffffff;
  text-align: center;
  width: 100%;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider ul.swiper-wrapper li.swiper-slide a .post_item_content span.subtitle {
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.5 !important;
  display: inline-block;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider ul.swiper-wrapper li.swiper-slide a .post_item_content span.title {
  margin-top: 5px;
  font-size: 1.4rem;
  font-weight: 400;
  display: block;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider ul.swiper-wrapper li.swiper-slide a .post_item_content span.link {
  margin: 15px 0 0;
  display: inline-block;
  padding: 4px 20px;
  font-size: 0.9rem;
  border-radius: 50px;
  border: 1px solid #ffffff;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider .swiper-button-prev,
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider .swiper-button-next {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #ffffff;
  border: 1px solid #ec6d74;
  color: #ec6d74;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  z-index: 99;
  cursor: pointer;
  pointer-events: auto;
  -webkit-transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider .swiper-button-prev::after,
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider .swiper-button-next::after {
  font-size: 14px;
  font-weight: bold;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider .swiper-button-prev:hover,
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider .swiper-button-next:hover {
  background-color: #ec6d74;
  color: #ffffff;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider .swiper-button-prev {
  left: 10px;
}
.home_modelhouse .modelhouse-slider-wrap .modelhouse-slider .swiper-button-next {
  right: 10px;
}
.home_modelhouse .modelhouse-slider-wrap .swiper-pagination {
  position: absolute;
  bottom: -15px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.home_modelhouse .modelhouse-slider-wrap .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  background: #ec6d74;
  border-radius: 50%;
  opacity: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.home_modelhouse .modelhouse-slider-wrap .swiper-pagination-bullet-active {
  width: 12px;
  height: 12px;
  background: #ffffff;
  border: 1px solid #ec6d74;
}
.home_modelhouse > a {
  margin-top: 40px;
}

.home_soma {
  margin: 50px auto 0;
}
.home_soma .items {
  padding: 0 1rem;
}
.home_soma .items .item {
  text-align: center;
}
.home_soma .items .item img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
  margin: 0 0 20px;
}
.home_soma .items .item span.title {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  margin: 10px 0 3px;
  display: block;
  color: #666;
}
.home_soma .items .item p {
  margin: 0;
  font-size: 1rem;
}

.home_works {
  margin: 60px auto 0;
  background: #efeeee;
  padding: 60px 0;
  text-align: center;
  width: 100%;
}
.home_works .masonry {
  margin-bottom: 5px;
  -webkit-transition: margin-bottom 1s cubic-bezier(0.4, 0, 0.2, 1);
  transition: margin-bottom 1s cubic-bezier(0.4, 0, 0.2, 1);
}
.home_works .hidden-work-item {
  display: none;
  opacity: 0;
}
.home_works .visible-work-item {
  display: block;
  opacity: 1;
  -webkit-transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.home_works #load-more-works,
.home_works #view-all-works {
  margin-top: 5px;
}

.home_voice {
  position: relative;
  height: 600px;
  z-index: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 50px 0;
  border-top: 3px solid #ffffff;
  border-left: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
}
.home_voice::after {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  z-index: -1;
}
.home_voice > img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}
.home_voice .title h2 {
  color: rgba(255, 255, 255, 0.95);
  font-family: "Outfit", sans-serif;
  font-size: 2.6rem;
  line-height: 1;
}
.home_voice .title p {
  color: #ffffff !important;
  font-size: 1.1rem;
  font-weight: 500;
  margin: -10px 0 0;
}

.home_youtube {
  padding: 50px 0;
  background: #e69d98;
  text-align: center;
  border: 3px solid #ffffff;
}
.home_youtube .home_youtube_main {
  max-width: 100%;
  margin: 0 auto 20px;
  padding: 0 1.5rem !important;
}
.home_youtube .home_youtube_main iframe {
  border-radius: 5px;
}
.home_youtube .youtube-slider {
  margin: 20px 0;
}
.home_youtube .youtube-slider .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.home_youtube .youtube-slider ul.swiper-wrapper li.swiper-slide {
  width: 200px;
}
.home_youtube .youtube-slider ul.swiper-wrapper li.swiper-slide a {
  padding: 0;
}
.home_youtube .youtube-slider ul.swiper-wrapper li.swiper-slide a img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0;
}
.home_youtube span.title {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  color: #ffffff;
  display: block;
  margin: 0 auto 20px;
}

.home_estate {
  position: relative;
  height: 600px;
  z-index: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 50px 0;
}
.home_estate::after {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  z-index: -1;
}
.home_estate > img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}
.home_estate .title {
  color: #ffffff;
}
.home_estate .title span {
  font-size: 0.9rem;
  font-weight: 500;
}
.home_estate .title h2 {
  color: #ffffff;
  font-size: 2rem;
  letter-spacing: 0.1rem;
  font-weight: 500;
}
.home_estate .subtitle > span {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #ffffff;
  display: block;
  margin: 0 auto 20px;
}

.home_feature {
  background: #e69d98;
  text-align: center;
  border: 3px solid #ffffff;
}
.home_feature img {
  width: 100%;
  height: auto;
}
.home_feature .title {
  padding: 20px 30px 35px;
}
.home_feature .title > span {
  color: #ffffff;
  display: block;
}
.home_feature .title > span.small {
  font-weight: 500;
  font-size: 0.9rem;
}
.home_feature .title > span.large {
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.3;
  margin: 10px 0 20px;
}

.home_staff {
  position: relative;
  height: 600px;
  z-index: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 40px 0;
}
.home_staff .home_staff_bg {
  height: 600px;
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  border: 0;
}
.home_staff .home_staff_bg::after {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  z-index: -2;
}
.home_staff .home_staff_bg > video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -3;
}
.home_staff span.title {
  position: inherit;
  z-index: 10;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #ffffff;
}
.home_staff a {
  position: inherit;
  z-index: 10;
}

.home_banners {
  margin: 30px 1rem 20px;
}
.home_banners ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}
.home_banners ul li {
  -ms-flex-preferred-size: calc((100% - 1rem) / 2);
      flex-basis: calc((100% - 1rem) / 2);
}
.home_banners ul li:last-child {
  margin: 0 auto;
}
.home_banners ul li a {
  width: 100%;
}
.home_banners ul li a img {
  width: 100%;
  height: auto;
}

.subpages_wrapper {
  display: block;
}

@media screen and (max-width: 768px) {
  .subpages_wrapper {
    width: 100%;
  }
}
/*────────────────────────────
general
────────────────────────────*/
.general_intro {
  text-align: center;
  padding: 30px 0 35px;
}
.general_intro span.subtitle {
  display: block;
  font-weight: 600;
  margin-top: 15px;
  color: #8c7a7a;
}
.general_intro h2 {
  color: #ec6d74;
  font-weight: 500;
  margin: 25px auto 30px;
}
.general_intro p {
  line-height: 2;
}

/*────────────────────────────
music
────────────────────────────*/
.music #subpages-header img.handdraw {
  width: 70%;
  bottom: -60px;
}

/*────────────────────────────
contact
────────────────────────────*/
.contact {
  margin-bottom: 100px;
}
.contact .call a {
  background: #ffffff;
  text-align: center;
  border-radius: 5px;
}
.contact .call a span {
  display: block;
  color: #4C4C4C;
}
.contact .call a span.number {
  font-size: 2.1rem;
  font-family: "Outfit", sans-serif;
  letter-spacing: 0.1rem;
  line-height: 1.2;
  border-bottom: 1px dashed #4C4C4C;
  display: inline-block;
}
.contact .call a span.number::before {
  font-family: "Material Icons";
  content: "\e0b0";
  font-size: 1.6rem;
  margin-right: 3px;
}
.contact .call a span.info {
  font-size: 0.8rem;
  padding: 7px 0;
}
.contact .contact_flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 80px auto;
  position: relative;
  z-index: 1;
}
.contact .contact_flow::after {
  position: absolute;
  top: 11px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 68%;
  height: 3px;
  background: #ECE1D7;
  z-index: -1;
}
.contact .contact_flow .contact_flow_item {
  text-align: center;
  -ms-flex-preferred-size: 33.3333333333%;
      flex-basis: 33.3333333333%;
}
.contact .contact_flow .contact_flow_item span.circle {
  width: 24px;
  height: 24px;
  border: 3px solid #ECE1D7;
  background: #ffffff;
  display: inline-block;
  border-radius: 50px;
}
.contact .contact_flow .contact_flow_item span.status {
  display: block;
  color: #ECE1D7;
  font-size: 0.9rem;
}
.contact .contact_flow .contact_flow_item.current span.circle {
  background: #ECE1D7;
}
.contact .contact_flow .contact_flow_item.current span.status {
  font-weight: bold;
  font-size: 1rem;
}
.contact p.form_avobe {
  text-align: center;
  margin: 0 auto 50px;
}
@media screen and (max-width: 768px) {
  .contact {
    padding-bottom: 50px !important;
  }
  .contact .call a {
    padding: 20px;
  }
  .contact .call a span.number {
    font-size: 1.5rem;
  }
  .contact .call a span.number::before {
    font-size: 1.1rem;
  }
  .contact .call a span.info {
    font-size: 0.7rem;
    letter-spacing: 0.02rem;
  }
  .contact .contact_flow {
    margin: 20px 0 40px;
  }
  .contact p.form_avobe {
    margin: 0 auto 40px;
  }
}
/*────────────────────────────
thanks
────────────────────────────*/
.thanks .cf7-progress-navigation {
  margin-top: 40px;
}
.thanks .inquiry_number_display {
  text-align: center;
  font-size: 1.1rem;
  font-weight: bold;
  margin: 20px 0;
  background: #d9d3c9;
  color: #8c7a7a;
  padding: 15px;
  border-radius: 5px;
}
.thanks .thanks_navigation {
  text-align: center;
  margin: 30px 0;
}

/*────────────────────────────
privacy-policy
────────────────────────────*/
.ppr {
  color: #4C4C4C;
  margin: 0 auto;
}
.ppr .subpages_wrapper {
  margin: 50px 0 0;
}
.ppr .ppr_item {
  margin-bottom: 40px;
}
.ppr h2 {
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: 1rem;
  letter-spacing: 0.05rem;
}
.ppr h3 {
  font-size: 1rem;
}
.ppr p {
  display: block;
  line-height: 1.7;
}
.ppr p span {
  display: block;
}
.ppr ul {
  margin: 0 0 0 1rem;
  list-style: square;
}
.ppr ul li {
  font-size: 0.9rem;
}
.ppr table {
  font-size: 0.8rem !important;
  margin-top: 40px;
}

/*────────────────────────────
404
────────────────────────────*/
.error-page section {
  padding: 160px 1rem 100px;
  text-align: center;
}
.error-page .error_title {
  font-family: "Outfit", sans-serif;
  text-align: center;
}
.error-page .error_title h1 {
  font-size: 3.7rem !important;
  margin: 0;
  line-height: 1;
  font-weight: 400;
  font-family: "Outfit", sans-serif;
  color: #8c7a7a;
}
.error-page .error_title span.en {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  font-family: "Outfit", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #8c7a7a;
  display: block;
  margin-top: 0px;
}
.error-page p {
  margin: 30px auto 40px;
  font-size: 0.85rem;
  color: #8c7a7a !important;
  font-weight: 500;
}

/*───────────────────────────────────
//about
───────────────────────────────────*/
.about #subpages-header img.handdraw {
  width: 75%;
  bottom: -62px;
}
.about .about_intro span.sign {
  font-size: 0.9rem;
  margin: -15px auto 40px;
  display: block;
  color: #7E5B5B;
  font-weight: 500;
}
.about .about_intro p {
  padding: 0 1.5rem;
  text-align: justify;
  line-height: 1.8;
}
.about .about_strength {
  margin: 40px auto;
}
.about .about_strength .about_item {
  margin-bottom: 40px;
}
.about .about_strength .about_item:last-of-type {
  margin-bottom: 0;
}
.about .about_strength .about_item .about_item_header {
  position: relative;
  width: 100%;
  margin: 0 0 30px;
}
.about .about_strength .about_item .about_item_header h3 {
  position: inherit;
  z-index: 3;
  font-size: 1.2rem;
  line-height: 1.4;
}
.about .about_strength .about_item .about_item_header > img {
  position: absolute;
  right: -1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 170px;
  height: auto;
  opacity: 0.5;
}
.about .about_strength .about_item p {
  text-align: justify;
  padding: 0 1rem 0 80px;
}
.about .about_strength .about_item:nth-of-type(3) .about_item_header img {
  width: 220px;
}
.about .about_strength .about_item:last-of-type .about_item_header img {
  width: 140px;
}
.about .about_eight {
  background: #f1f1f1;
  padding: 40px 0;
  margin-bottom: -40px;
}
.about .about_eight h2 {
  text-align: center;
  color: #ec6d74;
}
.about .about_eight .about_eight_inner {
  margin-top: 20px;
}
.about .about_eight .about_eight_inner .about_eight_item {
  background: #ffffff;
  border: 1px solid #ec6d74;
  -webkit-box-shadow: 0 0.4px 1.2px rgba(0, 0, 0, 0.01), 0 1px 3.4px rgba(0, 0, 0, 0.015), 0 2.4px 8.1px rgba(0, 0, 0, 0.02), 0 8px 27px rgba(0, 0, 0, 0.03);
          box-shadow: 0 0.4px 1.2px rgba(0, 0, 0, 0.01), 0 1px 3.4px rgba(0, 0, 0, 0.015), 0 2.4px 8.1px rgba(0, 0, 0, 0.02), 0 8px 27px rgba(0, 0, 0, 0.03);
  margin-bottom: 30px;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_header {
  background: #ec6d74;
  padding: 0 0 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_header span.number {
  display: inline-block;
  margin: 0 1rem 0 1.5rem;
  color: #ffffff;
  font-family: "Outfit", sans-serif;
  font-size: 3rem;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px #ffffff;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.7);
  text-stroke: 1px #ffffff;
  position: relative;
  z-index: 0;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_header span.number::after {
  content: "";
  background: #ec6d74;
  width: 55px;
  height: 55px;
  position: absolute;
  top: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 50px;
  z-index: -1;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_header h3 {
  color: #ffffff;
  position: inherit;
  z-index: 1;
  font-weight: 500;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_content {
  padding: 20px 20px 30px;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_content > img {
  margin: 0 0 20px;
  width: 100%;
  height: auto;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_content h4 {
  text-align: center;
  margin: 0 0 15px;
  font-size: 1rem;
  font-weight: 600;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_content p {
  text-align: justify;
  margin: 0;
  font-size: 0.9rem;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_content ul {
  background: #F6F5F4;
  padding: 15px 15px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 15px;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_content ul li {
  font-size: 0.9rem;
  color: #8c7a7a;
  font-weight: 600;
  margin: 0 15px 5px 0;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_content span.subimg {
  display: block;
  padding: 15px;
  background: #F6F5F4;
  margin: 20px 0 0;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_content span.subimg img {
  width: 100%;
  height: auto;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_content + .about_eight_item_content {
  position: relative;
  margin-top: 20px;
}
.about .about_eight .about_eight_inner .about_eight_item .about_eight_item_content + .about_eight_item_content::before {
  content: "";
  width: 50%;
  background: #ec6d74;
  height: 1px;
  position: absolute;
  top: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

/*───────────────────────────────────
//Service
───────────────────────────────────*/
.service .service_wrapper .service_item {
  display: block;
  padding: 100px 0;
  border-bottom: 1px solid #deddda;
}
.service .service_wrapper .service_item:last-of-type {
  border: none;
}
.service .service_wrapper .service_item .section_title_small {
  margin-bottom: 50px;
}
.service .service_wrapper .service_item .service_item_inner .service_item_image img {
  width: 100%;
  height: 450px;
  -o-object-fit: cover;
     object-fit: cover;
}
.service .service_wrapper .service_item .service_item_inner .service_item_content {
  margin: 50px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.service .service_wrapper .service_item .service_item_inner .service_item_content .service_item_content_content {
  -ms-flex-preferred-size: 55%;
      flex-basis: 55%;
  padding-left: 150px;
}
.service .service_wrapper .service_item .service_item_inner .service_item_content .service_item_content_content h3 {
  font-size: 1.5rem;
  margin: 0 0 20px;
}
.service .service_wrapper .service_item .service_item_inner .service_item_content .service_item_content_image {
  -ms-flex-preferred-size: 40%;
      flex-basis: 40%;
}
.service .service_wrapper .service_item .service_item_inner .service_item_content .service_item_content_image img {
  width: 100%;
  height: 280px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  border-bottom-left-radius: 25px;
}
.service .service_wrapper .service_outline_wrap {
  padding: 40px 0;
  background: #F7F7F7;
}

@media screen and (max-width: 768px) {
  .service .service_wrapper .service_item {
    padding: 50px 0 70px;
  }
  .service .service_wrapper .service_item .section_title_small {
    margin-bottom: 30px;
  }
  .service .service_wrapper .service_item .service_item_inner .service_item_image img {
    width: 100%;
    height: 250px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .service .service_wrapper .service_item .service_item_inner .service_item_content {
    margin: 30px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .service .service_wrapper .service_item .service_item_inner .service_item_content .service_item_content_content {
    padding-left: 0;
    margin: 0 0 10px;
  }
  .service .service_wrapper .service_item .service_item_inner .service_item_content .service_item_content_content h3 {
    font-size: 1rem;
    margin: 0 0 20px;
  }
  .service .service_wrapper .service_item .service_item_inner .service_item_content .service_item_content_image {
    text-align: right;
    width: 100%;
  }
  .service .service_wrapper .service_item .service_item_inner .service_item_content .service_item_content_image img {
    width: 70%;
    height: 150px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
  }
  .service .service_wrapper .service_outline_wrap {
    padding: 40px 0;
    background: #F7F7F7;
  }
}
/*───────────────────────────────────
//company
───────────────────────────────────*/
.company #subpages-header img.handdraw {
  width: 75%;
  bottom: -63px;
}
.company .company_overview {
  margin: 80px auto 60px;
}
.company .company_staff {
  margin: 0 auto 80px;
}
.company .company_staff .section_title {
  margin-bottom: 0px;
}
.company .company_staff .section_title p {
  color: #8c7a7a !important;
  font-weight: 600;
  display: block;
  background: #f0e2d5;
  margin: 20px 0 0;
  padding: 10px 5px;
  font-size: 0.9rem;
}
.company .company_staff .company_staff_link {
  text-align: right;
}
.company .company_staff .company_staff_link img {
  margin: 0 0 10px;
}
.company .company_studio {
  margin: 0 auto 60px;
}
.company .company_studio .section_title {
  margin-bottom: 20px;
}
.company .company_studio ul li {
  border-top: 1px solid #deddda;
  padding-top: 30px;
}
.company .company_studio ul li + li {
  margin-top: 50px;
}
.company .company_studio ul li h3 {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.company .company_studio ul li span.en {
  font-family: "Outfit", sans-serif;
  margin: 0 0 20px;
  text-align: center;
  display: block;
  color: #b8a79f;
  font-size: 0.75rem;
  font-weight: 500;
}
.company .company_studio ul li .information {
  margin: 5px 0 20px;
}
.company .company_studio ul li .information span {
  display: block;
  font-size: 0.9rem;
}
.company .company_studio ul li h4 {
  font-size: 1rem;
  color: #8c7a7a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 5px;
}
.company .company_studio ul li h4::before {
  width: 10px;
  height: 10px;
  background: #ec6d74;
  border-radius: 50px;
  content: "";
  display: inline-block;
  margin: 0 5px 0 0;
}
.company .company_studio ul li .googlemap {
  text-align: right;
}
.company .company_studio ul li .googlemap a {
  margin-top: 10px;
}
.company .company_studio ul li .comingsoon {
  padding: 50px 0;
  margin: 20px auto 30px;
  text-align: center;
  background: #d9d3c9;
  border-radius: 5px;
  font-weight: 500;
  font-family: "Outfit", sans-serif;
  font-size: 1rem;
}

/*───────────────────────────────────
//reserve
───────────────────────────────────*/
.reserve #subpages-header > img.handdraw {
  width: 70%;
  bottom: -55px;
}
.reserve {
  /*─────スタジオ紹介─────*/
}
.reserve .reserve_studios {
  background: #efeeee;
  padding: 50px 0;
}
.reserve .reserve_studios .studio_item {
  background: #ffffff;
  position: relative;
  padding: 0 0 30px;
  margin: 0 0 30px;
}
.reserve .reserve_studios .studio_item .studio_item_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.reserve .reserve_studios .studio_item .studio_item_header span.number {
  padding: 15px;
  font-weight: 400;
  font-family: "Outfit", sans-serif;
  font-size: 3rem;
  line-height: 1;
  border-right: 1px solid #757575;
  color: #757575;
  opacity: 0.5;
}
.reserve .reserve_studios .studio_item .studio_item_header > div {
  margin-left: 15px;
}
.reserve .reserve_studios .studio_item .studio_item_header > div h3 {
  margin: 0;
  line-height: 1;
  font-size: 1.3rem;
  color: #ec6d74;
}
.reserve .reserve_studios .studio_item .studio_item_header > div span {
  font-weight: 200;
  font-size: 0.8rem;
  font-family: "Outfit", sans-serif;
}
.reserve .reserve_studios .studio_item .studio_item_header > img {
  position: absolute;
  right: 0.8rem;
  top: 0;
  width: 80px;
  height: auto;
}
.reserve .reserve_studios .studio_item > img.mainimg {
  width: 100%;
  height: auto;
}
.reserve .reserve_studios .studio_item > p {
  padding: 15px 1.5rem 5px;
  text-align: justify;
}
.reserve .reserve_studios .studio_item .call {
  background: #efeeee;
  margin: 0 1.5rem 25px;
  padding: 20px 0;
  text-align: center;
}
.reserve .reserve_studios .studio_item .call span {
  display: block;
}
.reserve .reserve_studios .studio_item .call span.number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  color: #ec6d74;
  font-size: 2rem;
  letter-spacing: 0;
}
.reserve .reserve_studios .studio_item .call span.number img {
  margin: 0 10px 0 0;
  width: 20px;
  height: auto;
}
.reserve .reserve_studios .studio_item .toform {
  text-align: center;
}
.reserve .reserve_studios .studio_annotation {
  text-align: center;
}
.reserve .reserve_studios .studio_annotation img {
  width: 100%;
  height: auto;
  margin: 0 0 5px;
}
.reserve .reserve_studios .studio_annotation span {
  font-size: 0.8rem;
}
.reserve {
  /*─────訴求セクション─────*/
}
.reserve .reserve_nayami {
  background: #e69d98;
  padding: 50px 0;
  margin: 0 0 40px;
}
.reserve .reserve_nayami h2 {
  font-size: 1.1rem;
  text-align: center;
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  padding-bottom: 10px;
  margin: 0 0 20px;
}
.reserve .reserve_nayami ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  line-height: 1.2;
  padding: 10px 0;
}
.reserve .reserve_nayami ul li img {
  width: 25px;
  height: auto;
  margin: 0 10px 0 0;
}
.reserve {
  /*─────FLOWセクション─────*/
}
.reserve .reserve_flow {
  padding: 20px 0 0;
}
.reserve {
  /*─────formセクション─────*/
}
.reserve .reserve_form {
  margin-top: 40px;
  padding-top: 40px;
  margin-bottom: -40px;
  background: #EDECEA;
}

ul.flow_list {
  margin: 50px 0 0;
}
ul.flow_list li.flow_list_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-bottom: 30px;
  position: relative;
  /* 縦線の設定 */
}
ul.flow_list li.flow_list_item::before {
  content: "";
  position: absolute;
  left: 50px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #e69d98;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 0;
}
ul.flow_list li.flow_list_item:first-child::before {
  top: 50px;
}
ul.flow_list li.flow_list_item:last-child {
  padding-bottom: 0;
}
ul.flow_list li.flow_list_item:last-child .flow_image::after {
  height: 0;
}
ul.flow_list li.flow_list_item:last-child::before {
  bottom: auto;
  height: 50px;
}
ul.flow_list li.flow_list_item > img.kazari {
  position: absolute;
  left: -1rem;
  top: -27px;
  width: 100px;
  height: auto;
}
ul.flow_list li.flow_list_item .flow_image {
  -ms-flex-preferred-size: 100px;
      flex-basis: 100px;
  height: auto;
  position: relative;
}
ul.flow_list li.flow_list_item .flow_image img {
  z-index: 1;
  position: inherit;
  width: 100px;
  height: 100px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  border: 2px solid #e69d98;
}
ul.flow_list li.flow_list_item .flow_content {
  -ms-flex-preferred-size: 75%;
      flex-basis: 75%;
  padding-left: 1rem;
}
ul.flow_list li.flow_list_item .flow_content > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
ul.flow_list li.flow_list_item .flow_content > div span.number {
  font-family: "Outfit", sans-serif;
  font-size: 2.9rem;
  color: #e69d98;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  line-height: 1;
  margin: -2px 10px 0 0;
  letter-spacing: -0.05rem;
}
ul.flow_list li.flow_list_item .flow_content > div h3 {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
}
ul.flow_list li.flow_list_item .flow_content p {
  font-size: 0.9rem;
  text-align: justify;
}

/*───────────────────────────────────
//madory
───────────────────────────────────*/
.madory img.madory_image {
  margin: 60px 0 0;
}
.madory {
  /*──────────intro──────────*/
}
.madory .madory_intro {
  margin: 50px auto 0;
  text-align: center;
}
.madory .madory_intro .madory_intro_title span.sub {
  border: 1px solid #8c7a7a;
  display: inline-block;
  font-size: 0.85rem;
  color: #8c7a7a;
  padding: 2px 8px;
  font-weight: 500;
}
.madory .madory_intro .madory_intro_title span.lead {
  font-size: 1rem;
  display: block;
  font-weight: 500;
  margin: 5px auto 0;
}
.madory .madory_intro .madory_intro_title h2 {
  color: #ec6d74;
  font-size: 1.4rem;
  font-weight: 500;
  margin: 10px auto 30px;
}
.madory .madory_intro p {
  line-height: 2;
  margin: 0;
}
.madory .madory_intro p span {
  color: #8c7a7a;
  font-weight: 600;
  padding: 0 3px;
}
.madory {
  /*──────────bunjyou──────────*/
}
.madory .madory_bunjyou {
  background: #efeeee;
  text-align: center;
  padding: 30px 0 40px;
}
.madory .madory_bunjyou h3 {
  font-weight: 500;
  border: 1px solid #ec6d74;
  padding: 0 10px;
  color: #ec6d74;
  display: inline-block;
  background: #ffffff;
  font-size: 1.1rem;
}
.madory .madory_bunjyou img {
  border-radius: 5px;
  margin: 0 0 20px;
}
.madory .madory_bunjyou p {
  font-size: 0.9rem;
}
.madory {
  /*──────────choose──────────*/
}
.madory .madory_choose {
  margin: 60px auto 0;
}
.madory .madory_choose h2 {
  text-align: center;
  font-size: 1.3rem;
  color: #ec6d74;
  margin: 0 auto 20px;
  font-weight: 500;
}
.madory .madory_choose .choose_item {
  margin-bottom: 40px;
}
.madory .madory_choose .choose_item h3 {
  margin: 0 auto 20px;
  background: #e69d98;
  color: #ffffff;
  border-radius: 5px;
}
.madory .madory_choose .choose_item h3::after {
  border-top: 12px solid #e69d98;
}
.madory .madory_choose .choose_item:last-of-type {
  margin-bottom: 0;
}
.madory .madory_choose .tab-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 5px;
  max-width: 100%;
}
.madory .madory_choose .tab-2 > label {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  opacity: 0.5;
  min-width: 70px;
  padding: 0.6em 1em;
  border-radius: 5px 5px 0 0;
  background-color: #c0a9a9;
  color: #fff;
  font-weight: 500;
  font-size: 0.9em;
  text-align: center;
  cursor: pointer;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
.madory .madory_choose .tab-2 > label:hover {
  opacity: 0.8;
}
.madory .madory_choose .tab-2 input {
  display: none;
}
.madory .madory_choose .tab-2 > div {
  display: none;
  width: 100%;
  padding: 0 0.5rem;
  border: 2px solid #c0a9a9;
  border-radius: 0 0 5px 5px;
  text-align: center;
}
.madory .madory_choose .tab-2 > div > img {
  width: 95%;
}
.madory .madory_choose .tab-2 > div.bgcolor {
  background: #efeeee;
}
.madory .madory_choose .tab-2 > div.bgcolor > img {
  width: 80%;
  margin: 40px auto;
  border-radius: 5px;
}
.madory .madory_choose .tab-2 label:has(:checked) {
  opacity: 1;
}
.madory .madory_choose .tab-2 label:has(:checked) + div {
  display: block;
}
.madory {
  /*──────────step──────────*/
}
.madory .madory_step {
  margin: 60px auto 40px;
}
.madory .madory_step > p {
  background: #f0e2d5;
  color: #8c7a7a !important;
  padding: 15px;
  border-radius: 5px;
  font-size: 0.9rem;
  margin: -10px auto 0;
  text-align: center;
  font-weight: 500;
}
.madory .madory_step ul {
  margin-top: 30px;
}
.madory {
  /*──────────outro──────────*/
}
.madory .madory_outro {
  background: url(../images/madory/fv_sp.jpg) center center no-repeat;
  background-size: cover;
  padding: 60px 40px;
}
.madory .madory_outro > div {
  background: #ffffff;
  border-radius: 5px;
  padding: 15px;
  position: relative;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(15px) saturate(180%);
  -webkit-backdrop-filter: blur(15px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  -webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
          box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.madory .madory_outro > div > img {
  position: absolute;
  top: -20px;
  right: -20px;
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
}
.madory .madory_outro > div > div {
  border: 1px solid #e69d98;
  padding: 20px;
  border-radius: 5px;
}
.madory .madory_outro > div > div span.en {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0;
  color: #e69d98;
  text-transform: uppercase;
}
.madory .madory_outro > div > div h2 {
  font-size: 1.2rem;
  font-weight: 600;
}
.madory .madory_outro > div > div p {
  margin: 20px 0 15px;
  line-height: 1.7;
  font-size: 0.9rem;
  text-align: justify;
}
.madory {
  /*──────────reserve──────────*/
}
.madory .reserve_form {
  padding-top: 60px;
}

/*───────────────────────────────────
// sowood
───────────────────────────────────*/
/* 背景スライダーへのオーバーレイ */
.sowood-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(15, 15, 20, 0.4);
  z-index: 1;
  pointer-events: none;
}

/* SOWOODページ共通の共通パーツの色変更 */
body.is-sowood {
  /* モーダル表示時の制御 */
}
body.is-sowood.modal-open {
  overflow: hidden;
  /* ヘッダーと固定ボタンをモーダル表示中は背面に送るか、非表示にして干渉を防ぐ */
}
body.is-sowood.modal-open header.header,
body.is-sowood.modal-open .footer_fixed_btn {
  z-index: -1 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.is-sowood.modal-open .main-window {
  z-index: 999999999 !important;
  /* 固定ボタン(300)などの他の固定要素より上へ */
}
body.is-sowood .menu-trigger {
  background-color: #40543F !important;
}
body.is-sowood .menu-trigger.active .menu-trigger-lines span.menuline {
  background-color: #ffffff;
}
body.is-sowood .footer_fixed_btn {
  background-color: #9aa190 !important;
}
body.is-sowood .footer_fixed_btn a.reserve {
  color: #ffffff !important;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
}
body.is-sowood .footer_fixed_btn a.line, body.is-sowood .footer_fixed_btn a.call {
  border-left: 1px solid rgba(255, 255, 255, 0.5) !important;
}
body.is-sowood .footer_fixed_btn a.line span {
  background: none !important;
}
body.is-sowood .footer_fixed_btn a.call span {
  background: none !important;
}
body.is-sowood {
  /* サブフッターのお問い合わせセクションを非表示 */
}
body.is-sowood .subfooter_contact {
  display: none;
}
body.is-sowood footer.footer .footer_main .footer_bottom {
  background-color: #40543F !important;
}
body.is-sowood .home_feature {
  background-color: #BDBBAE;
}

.sowood-page {
  --sw-text: #222222;
  --sw-text-light: #666;
  --sw-bg: #D8D7CF;
  --sw-bg-alt: #f8f8f6;
  /* Very light warm grey/beige */
  --sw-accent: #40543F;
  --sw-gold: #c5a47e;
  --sw-font-en: "Outfit", sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  color: var(--sw-text);
  background: var(--sw-bg);
}
.sowood-page img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.sowood-page .sowood_container {
  container-type: inline-size;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}
.sowood-page .sowood_section {
  margin-bottom: 100px;
}
@container (max-width: 768px) {
  .sowood-page .sowood_section {
    margin-bottom: 60px;
  }
}
.sowood-page .sowood_section_header {
  margin-bottom: 30px;
}
.sowood-page .sowood_section_header.-center {
  text-align: center;
}
.sowood-page .sowood_section_header .en {
  display: block;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  color: var(--sw-accent);
  margin-bottom: 5px;
  font-family: var(--sw-font-en);
  font-weight: 600;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.sowood-page .sowood_section_header h2 {
  font-size: 1.4rem !important;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.sowood-page .sowood_full_img {
  width: 100%;
  height: 300px;
  margin-bottom: 60px;
  overflow: hidden;
}
.sowood-page .sowood_full_img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  -o-object-position: top 20% center;
     object-position: top 20% center;
}
.sowood-page .sowood_btn {
  display: inline-block;
  padding: 15px 40px;
  background: var(--sw-text);
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.sowood-page .sowood_btn:hover {
  opacity: 0.8;
}
.sowood-page {
  /* MV */
}
.sowood-page .sowood_mv {
  margin: 70px 0 0px;
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sowood-page .sowood_mv {
    margin: 60px 0 0;
  }
}
.sowood-page .sowood_mv::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  z-index: 1;
  pointer-events: none;
}
.sowood-page .sowood_mv .sowood_mv_video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.sowood-page .sowood_mv .sowood_mv_video iframe,
.sowood-page .sowood_mv .sowood_mv_video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}
.sowood-page .sowood_mv .sowood_mv_inner {
  position: relative;
}
.sowood-page .sowood_mv .sowood_mv_img {
  width: 100%;
  height: 65vh;
  min-height: 500px;
}
.sowood-page .sowood_mv .sowood_mv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sowood-page .sowood_mv .sowood_mv_text {
  position: absolute;
  top: 50%;
  left: 5%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #fff;
  z-index: 2;
  width: 90%;
}
.sowood-page .sowood_mv .sowood_mv_text .en {
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  display: block;
  margin-bottom: 15px;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
}
.sowood-page .sowood_mv .sowood_mv_text h1 {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 30px;
  color: #ffffff;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.sowood-page {
  /* About */
}
.sowood-page .sowood_about {
  margin-top: 60px;
}
.sowood-page .sowood_about .sowood_about_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
.sowood-page .sowood_about .sowood_about_content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.sowood-page .sowood_about .sowood_about_text p {
  margin: 0;
  text-align: justify;
}
.sowood-page .sowood_about .sowood_about_text.serif p {
  text-align: center;
  font-weight: 600;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.sowood-page .sowood_about .sowood_about_img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 30px auto;
}
.sowood-page .sowood_about .sowood_about_img img {
  width: 100%;
  border-radius: 0;
}
.sowood-page .sowood_about .sowood_about_img:last-of-type {
  margin-bottom: 0;
}
.sowood-page .sowood_about {
  /* YouTube Movie */
}
.sowood-page .sowood_about .sowood_movie {
  margin: 60px 0 10px;
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper {
  position: relative;
  padding-top: 56.25%;
  /* 16:9 */
  overflow: hidden;
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper .youtube_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  /* 完全に黒にしてYouTubeのUIを隠す */
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper .youtube_overlay .overlay_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper .youtube_overlay .overlay_bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.3;
  /* さらに画像を暗くして馴染ませる */
  -webkit-filter: blur(2px);
          filter: blur(2px);
  /* 軽くぼかして文字を際立たせる */
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper .youtube_overlay.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper .youtube_overlay .overlay_content {
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 2;
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper .youtube_overlay .overlay_content .movie_title {
  font-size: 1rem;
  letter-spacing: 0.3em;
  margin-bottom: 15px;
  font-weight: 600;
  color: #fff !important;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper .youtube_overlay .overlay_content .play_trigger {
  width: 60px;
  height: 60px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background 0.3s ease, -webkit-transform 0.3s ease;
  transition: background 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, background 0.3s ease;
  transition: transform 0.3s ease, background 0.3s ease, -webkit-transform 0.3s ease;
  margin: 0 auto;
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper .youtube_overlay .overlay_content .play_trigger:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  background: rgba(255, 255, 255, 0.2);
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper .youtube_overlay .overlay_content .play_trigger .play_icon {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 15px 25px;
  border-color: transparent transparent transparent #ffffff;
  margin-left: 5px;
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper .youtube_embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sowood-page .sowood_about .sowood_movie .youtube_wrapper .youtube_embed iframe {
  width: 100% !important;
  height: 100% !important;
}
.sowood-page .sowood_about {
  /* Gallery */
}
.sowood-page .sowood_about .sowood_gallery .gallery_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  /* 余白なし */
  list-style: none;
  padding: 0;
  margin: 0;
}
.sowood-page .sowood_about .sowood_gallery .gallery_list li {
  aspect-ratio: 1/1;
  /* 正方形 */
  overflow: hidden;
  cursor: pointer;
}
.sowood-page .sowood_about .sowood_gallery .gallery_list li:last-child {
  grid-column: 1/span 2;
  /* 最後の1枚は1列表示 */
  aspect-ratio: 16/9;
  /* 最後は横長にする例（任意） */
}
.sowood-page .sowood_about .sowood_gallery .gallery_list li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}
.sowood-page .sowood_about .sowood_gallery .gallery_list li:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.sowood-page {
  /* Modal Styling (Outside of .sowood-page if preferred or inside body.is-sowood) */
}
.sowood-page .sowood_gallery_modal {
  position: fixed;
  inset: 0;
  z-index: 9999999999 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  padding: 20px;
}
.sowood-page .sowood_gallery_modal.is-active {
  opacity: 1;
  visibility: visible;
}
.sowood-page .sowood_gallery_modal .modal_overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.9);
  cursor: pointer;
}
.sowood-page .sowood_gallery_modal .modal_content {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 1000px;
  max-height: 90vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.sowood-page .sowood_gallery_modal .modal_content .modal_close {
  position: absolute;
  top: -50px;
  right: 0;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
}
.sowood-page .sowood_gallery_modal .modal_content .modal_close span {
  display: block;
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.sowood-page .sowood_gallery_modal .modal_content .modal_close span::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.sowood-page .sowood_gallery_modal .modal_content .modal_body {
  width: 100%;
  height: auto;
  overflow: hidden;
}
.sowood-page .sowood_gallery_modal .modal_content .modal_body img {
  width: 100%;
  height: auto;
  max-height: calc(90vh - 40px);
  -o-object-fit: contain;
     object-fit: contain;
}
.sowood-page {
  /* Concept */
}
.sowood-page .sowood_concept {
  background: var(--sw-bg-alt);
  padding: 0;
  overflow: hidden;
}
.sowood-page .sowood_concept .sowood_concept_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.sowood-page .sowood_concept .concept_img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.sowood-page .sowood_concept .concept_img img {
  width: 100%;
  height: auto;
  display: block;
}
.sowood-page .sowood_concept .concept_content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 40px;
  text-align: center;
}
.sowood-page .sowood_concept .concept_content .concept_lead {
  margin-bottom: 40px;
  text-align: left;
  display: inline-block;
}
.sowood-page {
  /* Cards / Grid Rules */
}
.sowood-page .sowood_grid_4 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
}
.sowood-page .sowood_grid_4.-specs {
  grid-template-columns: repeat(2, 1fr);
}
.sowood-page .sowood_grid_4.-specs .spec_item {
  background: #fff;
  border: 1px solid #eee;
  padding: 20px;
  text-align: center;
}
.sowood-page .sowood_grid_4.-specs .spec_item .num {
  display: block;
  font-size: 3rem;
  color: #eee;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 10px;
}
.sowood-page .sowood_grid_4.-specs .spec_item h3 {
  font-size: 1.2rem;
  margin-bottom: 15px;
  border-bottom: 2px solid var(--sw-gold);
  display: inline-block;
}
.sowood-page .sowood_grid_4.-specs .spec_item p {
  font-size: 0.9rem;
  line-height: 1.6;
  text-align: justify;
  margin-bottom: 0;
}
.sowood-page .sowood_card {
  margin-bottom: 20px;
}
.sowood-page .sowood_card .card_img {
  margin-bottom: 15px;
  overflow: hidden;
  border-radius: 4px;
}
.sowood-page .sowood_card .card_img img {
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
.sowood-page .sowood_card:hover .card_img img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.sowood-page .sowood_card .card_body {
  text-align: center;
}
.sowood-page .sowood_card .card_body h3 {
  font-size: 1.1rem;
  margin-bottom: 5px;
}
.sowood-page .sowood_card .card_body .card_link {
  color: var(--sw-accent);
  font-size: 0.9rem;
  text-decoration: underline;
}
.sowood-page .sowood_card .card_body .card_link:hover {
  text-decoration: none;
}
.sowood-page {
  /* GX Section */
}
.sowood-page .sowood_gx {
  margin-top: 30px;
  background: #fdfbf7;
  /* Very light beige/gold tint */
  border: 1px solid var(--sw-gold);
  padding: 40px;
  text-align: center;
}
.sowood-page .sowood_gx h3 {
  color: var(--sw-accent);
  font-size: 1.5rem;
  margin-bottom: 10px;
  font-weight: 600;
}
.sowood-page .sowood_gx .gx_desc {
  font-size: 0.9rem;
  margin-bottom: 20px;
  color: var(--sw-text);
}
.sowood-page .sowood_gx .gx_highlight {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--sw-accent);
  margin-bottom: 20px;
  border-bottom: 2px solid var(--sw-gold);
  display: inline-block;
}
.sowood-page .sowood_gx .gx_highlight .amount {
  font-size: 3rem;
  line-height: 1;
  color: var(--sw-gold);
  margin: 0 5px;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
}
.sowood-page .sowood_gx .gx_highlight .unit {
  font-size: 1rem;
}
.sowood-page .sowood_gx p {
  margin: 0;
}
.sowood-page {
  /* Options */
}
.sowood-page .sowood_grid_2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}
.sowood-page .sowood_grid_2 .option_item {
  border: 1px solid #ddd;
  padding: 15px;
  text-align: center;
  background-color: #ffffff;
}
.sowood-page .sowood_grid_2 .option_item .option_img {
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sowood-page .sowood_grid_2 .option_item .option_img img {
  width: 80%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.sowood-page .sowood_grid_2 .option_item h3 {
  font-size: 1rem;
  color: var(--sw-accent);
  line-height: 1.5;
}
.sowood-page .sowood_grid_2 .option_item p {
  margin: 5px auto 10px;
  font-size: 0.9rem;
}
.sowood-page .section_lead {
  text-align: center;
  margin-bottom: 40px;
}
.sowood-page {
  /* Flow Section */
}
.sowood-page .sowood_flow .flow_steps {
  border-top: 1px dashed #deddda;
  margin: 0 auto;
  position: relative;
  padding: 40px 20px 0;
}
.sowood-page .sowood_flow .flow_step {
  position: relative;
  padding-left: 40px;
  margin-bottom: 40px;
  /* Vertical Line */
}
.sowood-page .sowood_flow .flow_step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, var(--sw-accent)), to(#ddd));
  background: linear-gradient(to bottom, var(--sw-accent) 50%, #ddd 100%);
  z-index: 1;
}
.sowood-page .sowood_flow .flow_step:last-child::before {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, var(--sw-accent)), to(transparent));
  background: linear-gradient(to bottom, var(--sw-accent) 70%, transparent 100%);
  height: 80%;
}
.sowood-page .sowood_flow .flow_step {
  /* Step Circle Marker */
}
.sowood-page .sowood_flow .flow_step::after {
  content: "";
  position: absolute;
  top: 0;
  left: -9px;
  width: 20px;
  height: 20px;
  background: var(--sw-accent);
  border-radius: 50%;
  z-index: 2;
  border: 4px solid #fff;
  -webkit-box-shadow: 0 0 0 1px var(--sw-accent);
          box-shadow: 0 0 0 1px var(--sw-accent);
}
.sowood-page .sowood_flow .flow_step .step_header {
  margin-bottom: 10px;
}
.sowood-page .sowood_flow .flow_step .step_header .step_label {
  display: block;
  font-weight: 600;
  font-family: var(--sw-font-en);
  color: var(--sw-accent);
  font-size: 0.9rem;
  line-height: 1;
}
.sowood-page .sowood_flow .flow_step .step_header h3 {
  font-size: 1.2rem;
  margin: 0;
}
.sowood-page .sowood_flow .flow_step p {
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 10px 0 0;
}
.sowood-page .sowood_flow .flow_final {
  margin-top: -10px !important;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 600;
  padding: 20px;
  background: #fdfdfd;
  border: 1px solid var(--sw-accent);
}
.sowood-page .sowood_flow .flow_final p {
  font-weight: 500;
  margin: 0;
  color: #8c7a7a !important;
}
.sowood-page {
  /* Contact Section */
}
.sowood-page .reserve_form {
  padding-top: 40px;
  margin-top: 0;
  background: #E5E3D8;
}
.sowood-page .reserve_form .section_title {
  text-align: center;
  margin-bottom: 30px;
}
.sowood-page .reserve_form .section_title span.en {
  color: var(--sw-accent);
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.sowood-page .reserve_form .section_title h2 {
  font-size: 2rem;
  color: var(--sw-accent);
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.sowood-page .reserve_form .call_btn {
  border-radius: 0;
  background-color: #D2D0C3 !important;
  margin-bottom: 40px;
}
.sowood-page .reserve_form .call_btn h3 {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.1rem;
  color: var(--sw-accent) !important;
  font-weight: 700;
}
.sowood-page .reserve_form .call_btn a {
  border-radius: 0 !important;
  background-color: #414E3D !important;
  padding: 15px 50px;
  border: 0;
}
.sowood-page .reserve_form .call_btn a span.number {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.1rem;
}
.sowood-page .reserve_form .call_btn a span.cap {
  margin: -5px 0 0;
  opacity: 0.6;
  font-size: 0.8rem;
}
.sowood-page .reserve_form .contact_lead {
  text-align: center;
  margin-bottom: 40px;
  color: var(--sw-text);
}
.sowood-page .reserve_form .form_wrapper {
  background-color: #E5E3D8;
  padding: 0;
}
.sowood-page .reserve_form .form_wrapper table.inquiry tr th span.form_title {
  color: var(--sw-accent);
}
.sowood-page .reserve_form .form_wrapper table.inquiry tr th span.form_title::before {
  color: var(--sw-accent);
}
.sowood-page .reserve_form .form_wrapper table.inquiry tr th span.thtitle {
  color: var(--sw-accent);
}
.sowood-page .reserve_form .form_wrapper table.inquiry tr th span.thtitle::before {
  display: none;
}
.sowood-page .reserve_form .form_wrapper table.inquiry tr.c_pp td {
  border-color: #deddda;
}
.sowood-page .reserve_form .form_wrapper table.inquiry tr.c_pp td span.info {
  border-color: #deddda;
}
.sowood-page .reserve_form .form_wrapper #formbtn {
  background-color: var(--sw-accent) !important;
  border: none;
}
.sowood-page .reserve_form .form_wrapper #formbtn:hover {
  background-color: #4C4C4C !important;
  color: rgba(255, 255, 255, 0.8) !important;
}
.sowood-page {
  /*───────────────────────────────────────────────────────
  // Plan Detail Page
  ───────────────────────────────────────────────────────*/
}
.sowood-page.sowood_plan_detail .sowood_plan_header {
  margin-top: 70px;
  padding: 120px 20px;
  text-align: center;
  position: relative;
  background-size: cover;
  background-position: center;
  color: #fff;
  margin-bottom: 40px;
  /* Overlay */
}
.sowood-page.sowood_plan_detail .sowood_plan_header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.sowood-page.sowood_plan_detail .sowood_plan_header {
  /* Ensure content is above overlay */
}
.sowood-page.sowood_plan_detail .sowood_plan_header > * {
  position: relative;
  z-index: 2;
}
.sowood-page.sowood_plan_detail .sowood_plan_header .sowood-title {
  font-family: "Outfit", sans-serif;
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 10px;
}
.sowood-page.sowood_plan_detail .sowood_plan_header .sowood-title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: rgba(255, 255, 255, 0.8);
  content: "";
}
.sowood-page.sowood_plan_detail .sowood_plan_header .plan_sub {
  display: block;
  font-family: "Outfit", sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.05rem;
  color: #fff;
  font-weight: 500;
}
.sowood-page.sowood_plan_detail .sowood_plan_header h1 {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  margin: 0;
  line-height: 1.3;
  color: #ffffff;
}
.sowood-page.sowood_plan_detail p.sowood_lead {
  text-align: center;
  font-size: 1rem;
  line-height: 1.8;
  margin: 0 auto;
  font-weight: 500;
  display: block;
}
.sowood-page.sowood_plan_detail .plan_image_stack {
  margin: 40px auto;
}
.sowood-page.sowood_plan_detail .plan_image_stack img {
  width: 100%;
  height: auto;
  border-radius: 0;
}
.sowood-page.sowood_plan_detail .info_section {
  background-color: #efeeee;
  padding: 20px;
}
.sowood-page.sowood_plan_detail .info_section .stack_item {
  margin: 0 auto 20px;
}
.sowood-page.sowood_plan_detail .info_section .stack_item img {
  width: 100%;
  height: auto;
}
.sowood-page.sowood_plan_detail .info_section .plan_spec_table {
  background-color: #ffffff;
  padding: 15px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.sowood-page.sowood_plan_detail .info_section .plan_spec_table dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  font-size: 1rem;
  border-bottom: 1px solid #ddd;
  padding-bottom: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.sowood-page.sowood_plan_detail .info_section .plan_spec_table dt {
  font-weight: bold;
  font-size: 1rem;
  color: var(--sw-accent);
}
.sowood-page.sowood_plan_detail .info_section .plan_spec_table dd {
  margin: 0;
  font-weight: 500;
}
.sowood-page.sowood_plan_detail {
  /* Video */
}
.sowood-page.sowood_plan_detail .plan_video {
  width: 100%;
  margin: 40px auto;
}
.sowood-page.sowood_plan_detail .plan_video video {
  width: 100%;
  height: auto;
  display: block;
}
.sowood-page.sowood_plan_detail .plan_section {
  margin-bottom: 40px;
  text-align: center;
}
.sowood-page.sowood_plan_detail .plan_section .plan_price_box {
  background-color: #fff;
  padding: 30px;
  border: 1px solid var(--sw-gold);
  display: inline-block;
  width: 100%;
  -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
          box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
}
.sowood-page.sowood_plan_detail .plan_section {
  /* Cost Breakdown */
}
.sowood-page.sowood_plan_detail .plan_section .plan_cost_breakdown {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@container (max-width: 600px) {
  .sowood-page.sowood_plan_detail .plan_section .plan_cost_breakdown {
    gap: 5px;
    font-size: 0.9em;
  }
}
.sowood-page.sowood_plan_detail .plan_section .plan_cost_breakdown .cost_item {
  text-align: center;
  margin: 0 5px;
}
.sowood-page.sowood_plan_detail .plan_section .plan_cost_breakdown .cost_item.-total .cost_value {
  color: var(--sw-text);
  font-weight: 600;
  border-bottom: 2px solid var(--sw-gold);
}
.sowood-page.sowood_plan_detail .plan_section .plan_cost_breakdown .cost_item .cost_label {
  display: block;
  font-size: 0.75rem;
  margin-bottom: 8px;
  background: #8c7a7a;
  color: #ffffff;
  padding: 0 3px;
}
.sowood-page.sowood_plan_detail .plan_section .plan_cost_breakdown .cost_item .cost_value {
  display: block;
  font-size: 1.4rem !important;
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}
.sowood-page.sowood_plan_detail .plan_section .plan_cost_breakdown .cost_item .cost_value .unit {
  font-size: 0.6rem;
  margin-left: 2px;
  font-weight: normal;
}
.sowood-page.sowood_plan_detail .plan_section .plan_cost_breakdown .symbol {
  font-size: 1.2rem;
  color: var(--sw-gold);
  font-weight: 300;
  margin: 0 2px;
  margin-top: 15px;
}
.sowood-page.sowood_plan_detail .plan_section .price_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.sowood-page.sowood_plan_detail .plan_section .price_row .label {
  font-size: 1rem;
  font-weight: 600;
  background: var(--sw-text);
  color: #fff;
  padding: 5px 15px;
  border-radius: 30px;
}
.sowood-page.sowood_plan_detail .plan_section .price_row .price_wrapper {
  display: block;
}
.sowood-page.sowood_plan_detail .plan_section .price_row .price_wrapper .price {
  font-family: "Outfit", sans-serif;
  font-size: 3rem;
  font-weight: 500;
  color: var(--sw-text);
  line-height: 1;
  letter-spacing: -1px;
}
.sowood-page.sowood_plan_detail .plan_section .price_row .price_wrapper .unit {
  font-size: 1.2rem;
  font-weight: bold;
}
.sowood-page.sowood_plan_detail .plan_section p.price_note {
  margin-bottom: 0;
  font-size: 0.9rem;
  color: #666;
  line-height: 1.6;
}
.sowood-page.sowood_plan_detail .plan_back_btn {
  text-align: center;
  margin-bottom: 80px;
}
.sowood-page {
  /* Responsive for Detail */
}
@container (max-width: 768px) {
  .sowood-page.sowood_plan_detail .sowood_plan_header h1 {
    font-size: 1.6rem;
  }
  .sowood-page.sowood_plan_detail .plan_info_section .plan_lead {
    font-size: 1.1rem;
    text-align: left;
    display: block;
    width: 100%;
  }
  .sowood-page.sowood_plan_detail .plan_info_section .price_row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5px;
  }
  .sowood-page.sowood_plan_detail .plan_info_section .price_row .price {
    font-size: 3rem;
  }
  .sowood-page.sowood_plan_detail .plan_info_section .plan_spec_table {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.sowood-page {
  /*───────────────────────────────────────────────────────
  // Animation Definitions
  ───────────────────────────────────────────────────────*/
  /* MV Animation */
}
.sowood-page .sowood_mv {
  overflow: hidden;
}
.sowood-page .sowood_mv .sowood_mv_img {
  overflow: hidden;
}
.sowood-page .sowood_mv .sowood_mv_img img {
  /* Initial State */
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  -webkit-filter: blur(10px);
          filter: blur(10px);
  opacity: 0;
  -webkit-animation: mvImageReveal 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
          animation: mvImageReveal 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
.sowood-page .sowood_mv .sowood_mv_text .en,
.sowood-page .sowood_mv .sowood_mv_text h1 {
  opacity: 0;
  -webkit-animation: fadeIn 1.5s ease-out forwards;
          animation: fadeIn 1.5s ease-out forwards;
}
.sowood-page .sowood_mv .sowood_mv_text .en {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.sowood-page .sowood_mv .sowood_mv_text h1 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.sowood-page {
  /* Keyframes */
}
@-webkit-keyframes mvImageReveal {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
    -webkit-filter: blur(15px);
            filter: blur(15px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}
@keyframes mvImageReveal {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
    -webkit-filter: blur(15px);
            filter: blur(15px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes overlayFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.sowood-page {
  /* Scroll Animation (Natural Fade Up using existing .fade class logic) */
}
.sowood-page .fade {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.sowood-page .fade.active {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/*posts
───────────────────────*/
/*───────────────────────────────────
//blog
───────────────────────────────────*/
.blog_archive ul.blog_list {
  margin: 50px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.blog_archive ul.blog_list li.blog_item {
  -ms-flex-preferred-size: 48%;
      flex-basis: 48%;
  margin: 0 0 20px;
}
.blog_archive ul.blog_list li.blog_item a.blog_item_wrapper figure {
  margin: 0 0 10px;
  overflow: hidden;
  aspect-ratio: 4/3;
}
.blog_archive ul.blog_list li.blog_item a.blog_item_wrapper figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.blog_archive ul.blog_list li.blog_item a.blog_item_wrapper .blog_item_content span.date {
  font-size: 0.75rem;
  color: #757575;
  display: block;
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  margin: 0;
}
.blog_archive ul.blog_list li.blog_item a.blog_item_wrapper .blog_item_content span.title {
  display: inline-block;
  line-height: 1.5 !important;
  margin: 0 !important;
  font-size: 0.9rem;
  color: #4C4C4C;
  font-weight: 500;
}
.blog_archive ul.blog_list li.blog_item ul.blog_terms {
  margin: 0 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.blog_archive ul.blog_list li.blog_item ul.blog_terms li {
  margin-right: 10px;
}
.blog_archive ul.blog_list li.blog_item ul.blog_terms li a {
  font-size: 0.75rem;
  color: #8c7a7a;
  letter-spacing: 0;
}
.blog_archive .blog_aside {
  background: #efeeee;
  padding: 20px;
  margin: 0 auto 60px;
}
.blog_archive .blog_aside h3 {
  font-size: 0.9rem;
  color: #8c7a7a;
  margin: 0 0 15px;
}
.blog_archive .blog_aside ul.blog_category_list li {
  margin: 0 0 10px 0;
}
.blog_archive .blog_aside ul.blog_category_list li:last-child {
  margin: 0;
}
.blog_archive .blog_aside ul.blog_category_list li a {
  color: #4C4C4C;
}

.blog_single figure.post_thumbnail img {
  width: 100%;
  height: auto;
}
.blog_single figure.post_thumbnail + .blog_single_header {
  margin-top: 20px;
  padding: 0 1.5rem;
  border: none;
}
.blog_single .blog_single_header {
  margin: 70px auto 20px;
  border-top: 1px solid #deddda;
  padding: 40px 1.5rem 0;
}
.blog_single .blog_single_header h1 {
  font-size: 1.3rem;
}
.blog_single .blog_single_header span.date {
  font-family: "Outfit", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  color: #757575;
}
.blog_single .blog_single_body {
  margin: 40px auto;
}
.blog_single .blog_single_footer {
  margin-bottom: 40px;
}
.blog_single .blog_single_footer .blog_categories {
  border-top: 1px solid #deddda;
  padding-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.blog_single .blog_single_footer .blog_categories span.title {
  font-size: 0.9rem;
  font-weight: 500;
  margin: 0 5px 0 0;
}
.blog_single .blog_single_footer .blog_categories ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.blog_single .blog_single_footer .blog_categories ul li {
  margin: 0 15px 0 0;
}
.blog_single .blog_single_footer .blog_categories ul li a {
  color: #8c7a7a;
  font-size: 0.9rem;
  border-bottom: 1px solid #8c7a7a;
  font-weight: 500;
}

/*───────────────────────────────────
//Post
───────────────────────────────────*/
.info_archive #subpages-header img.handdraw {
  width: 55%;
  bottom: -57px;
}
.info_archive .info_list .info_list_item {
  aspect-ratio: 3/4;
  overflow: hidden;
  width: 100%;
  margin-bottom: 30px;
}
.info_archive .info_list .info_list_item:last-of-type {
  margin: 0;
}
.info_archive .info_list .info_list_item a {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.info_archive .info_list .info_list_item a span.categoryname {
  position: absolute;
  right: 1.7rem;
  bottom: 2rem;
  color: #ffffff;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  font-family: "Outfit", sans-serif;
  line-height: 1;
  font-size: 0.8rem;
  font-weight: 500;
}
.info_archive .info_list .info_list_item a img.gdgp {
  position: absolute;
  left: 0.1rem;
  top: 0.1rem;
  z-index: 2;
}
.info_archive .info_list .info_list_item a .info_list_item_image img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -2;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.info_archive .info_list .info_list_item a .info_list_item_image::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  content: "";
  z-index: -1;
}
.info_archive .info_list .info_list_item a .info_list_item_content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border: 1px solid rgba(255, 255, 255, 0.7);
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.info_archive .info_list .info_list_item a .info_list_item_content .info_list_item_content_inner {
  text-align: center;
  width: 100%;
  padding: 0 1rem;
}
.info_archive .info_list .info_list_item a .info_list_item_content .info_list_item_content_inner span {
  color: #ffffff;
  display: block;
}
.info_archive .info_list .info_list_item a .info_list_item_content .info_list_item_content_inner span.date {
  font-size: 0.9rem;
}
.info_archive .info_list .info_list_item a .info_list_item_content .info_list_item_content_inner span.place {
  font-size: 1.6rem;
  font-weight: 600;
  margin: 10px auto;
}
.info_archive .info_list .info_list_item a .info_list_item_content .info_list_item_content_inner h3 {
  color: #ffffff;
  font-size: 1.1rem;
  font-weight: 500;
}
.info_archive .info_list .info_list_item a .info_list_item_content .info_list_item_content_inner div.more_button {
  width: 60%;
  display: inline-block;
  border: 1px solid #ffffff;
  border-radius: 50px;
  padding: 10px 30px;
  margin-top: 100px;
  color: #ffffff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.info_archive .info_list .info_list_item a:hover .info_list_item_image img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.info_archive .info_list .info_list_item a:hover .info_list_item_content_inner div.more_button {
  background: #ffffff;
  color: #ec6d74;
}
.info_archive .modelhouse_section {
  background: #f1f1f1;
}

.info_single article {
  margin-bottom: -40px;
}
.info_single .form_wrapper {
  padding-top: 40px !important;
}
.info_single .info_single_wrapper {
  margin-top: 30px;
}
.info_single .info_single_wrapper .info_single_header {
  text-align: center;
  padding: 0 1rem;
}
.info_single .info_single_wrapper .info_single_header h1 {
  font-size: 1.2rem;
  margin: 0 auto 10px;
}
.info_single .info_single_wrapper .info_single_header span.place {
  border: 1px solid #b8a79f;
  padding: 2px 6px;
  font-size: 0.9rem;
}
.info_single .info_single_wrapper .event_section_title {
  border-bottom: 3px solid #F4A8AC;
  text-align: right;
  position: relative;
  margin: 0 0 20px;
}
.info_single .info_single_wrapper .event_section_title img {
  position: absolute;
  left: -1rem;
  bottom: -32px;
  width: 200px;
  height: auto;
}
.info_single .info_single_wrapper .event_section_title h2 {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1;
}
.info_single .info_single_wrapper .event_date {
  text-align: center;
  margin: 0 auto 30px;
}
.info_single .info_single_wrapper .event_date span.badge {
  background: #ec6d74;
  color: #ffffff;
  padding: 2px 8px;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.05rem;
  display: inline-block;
  margin: 20px auto;
}
.info_single .info_single_wrapper .event_date span.cap {
  display: block;
  font-size: 0.9rem;
  text-align: left;
}
.info_single .info_single_wrapper .event_date .event_schedules {
  margin-top: 10px;
}
.info_single .info_single_wrapper .event_date .event_schedules table {
  text-align: left;
  border: 1px solid #ccc;
  margin: 0 0 15px;
  width: 100%;
}
.info_single .info_single_wrapper .event_date .event_schedules table thead {
  background: #E8E7E2;
}
.info_single .info_single_wrapper .event_date .event_schedules table thead tr th {
  padding: 5px 10px;
  color: #606262;
}
.info_single .info_single_wrapper .event_date .event_schedules table tbody tr {
  border-bottom: 1px solid #ccc;
}
.info_single .info_single_wrapper .event_date .event_schedules table tbody tr td {
  padding: 5px 10px;
}
.info_single .info_single_wrapper .event_date .event_schedules table tbody tr:last-of-type tr {
  border: none;
}
.info_single .info_single_wrapper .event_date span.annotation {
  display: block;
  text-align: right;
  margin-top: -5px;
  font-size: 0.85rem;
  color: #757575;
}
.info_single .info_single_wrapper .info_single_content {
  margin: 20px 0 0;
}
.info_single .info_single_wrapper .info_single_content .event_concept {
  text-align: center;
  margin: 40px auto 60px;
}
.info_single .info_single_wrapper .info_single_content .event_concept h2 {
  font-size: 1.2rem;
  margin: 0 auto 20px;
}
.info_single .info_single_wrapper .info_single_content .event_concept .concept_text {
  font-size: 0.9rem;
}
.info_single .info_single_wrapper .info_single_content .event_concept .sub_concept {
  border-top: 1px dashed #d9d3c9;
  border-bottom: 1px dashed #d9d3c9;
  margin: 30px auto;
  padding: 30px 0;
}
.info_single .info_single_wrapper .info_single_content .event_concept .sub_concept h3 {
  font-size: 1rem;
  display: inline-block;
  border-bottom: 1px solid #4C4C4C;
  margin: 0 auto 10px;
}
.info_single .info_single_wrapper .info_single_content .event_concept .sub_concept .sub_concept_text {
  font-size: 0.9rem;
}
.info_single .info_single_wrapper .info_single_content .goodpoint_section {
  margin: 0 auto 60px;
}
.info_single .info_single_wrapper .info_single_content .goodpoint_section .goodpoint_inner .goodpoint_item {
  margin: 0 0 25px;
}
.info_single .info_single_wrapper .info_single_content .goodpoint_section .goodpoint_inner .goodpoint_item:last-of-type {
  margin: 0;
}
.info_single .info_single_wrapper .info_single_content .goodpoint_section .goodpoint_inner .goodpoint_item figure {
  margin: 0 0 10px;
}
.info_single .info_single_wrapper .info_single_content .goodpoint_section .goodpoint_inner .goodpoint_item figure img {
  width: 100%;
  height: auto;
}
.info_single .info_single_wrapper .info_single_content .goodpoint_section .goodpoint_inner .goodpoint_item h3 {
  font-size: 1rem;
}
.info_single .info_single_wrapper .info_single_content .goodpoint_section .goodpoint_inner .goodpoint_item p {
  margin: 5px 0 0;
  font-size: 0.9rem;
}
.info_single .info_single_wrapper .info_single_content .floorplan_section {
  margin: 0 auto 60px;
}
.info_single .info_single_wrapper .info_single_content .floorplan_section .floor-plan-item img {
  width: 100%;
  height: auto;
}
.info_single .info_single_wrapper .info_single_content .floorplan_section .floor-plan-item span {
  background: #f1f1f1;
  padding: 5px 10px;
  line-height: 1.5;
  display: block;
}
.info_single .info_single_wrapper .info_single_content .roomtour_section {
  margin: 0 auto 60px;
}
.info_single .info_single_wrapper .info_single_content .roomtour_section .handdraw {
  width: 180px;
  bottom: -30px;
}
.info_single .info_single_wrapper .info_single_content .roomtour_section .roomtour_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
.info_single .info_single_wrapper .info_single_content .roomtour_section .roomtour_links .roomtour_item {
  -ms-flex-preferred-size: 32%;
      flex-basis: 32%;
}
.info_single .info_single_wrapper .info_single_content .roomtour_section .roomtour_links .roomtour_item img {
  width: 100%;
  height: auto;
  border-radius: 5px;
}
.info_single .info_single_wrapper .info_single_content .gooddesign_section .handdraw {
  width: 230px;
}
.info_single .info_single_wrapper .info_single_content .gooddesign_section .gooddesign_boxes {
  margin: 50px 0 50px;
}
.info_single .info_single_wrapper .info_single_content .gooddesign_section .gooddesign_boxes .gooddesign_box {
  background: #EEE1D4;
  padding: 15px 20px 20px;
  border-radius: 5px;
  margin: 0 0 35px;
  position: relative;
  text-align: center;
}
.info_single .info_single_wrapper .info_single_content .gooddesign_section .gooddesign_boxes .gooddesign_box h3 {
  position: absolute;
  top: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #7E706B;
  border: 2px solid #7E706B;
  background: #fff;
  padding: 10px 5px;
  text-align: center;
  display: inline-block;
  width: 75%;
  font-size: 0.9rem;
}
.info_single .info_single_wrapper .info_single_content .gooddesign_section .gooddesign_boxes .gooddesign_box p {
  color: #7E706B;
  font-size: 0.9rem;
  text-align: justify;
  font-weight: 500;
  margin: 25px auto 0;
  position: inherit;
  z-index: 10;
}
.info_single .info_single_wrapper .info_single_content .performance_section {
  margin: 0 auto 60px;
}
.info_single .info_single_wrapper .info_single_content .performance_section .handdraw {
  width: 220px;
  bottom: -40px;
}
.info_single .info_single_wrapper .info_single_content .performance_section .performance-item {
  margin: 0 0 25px;
}
.info_single .info_single_wrapper .info_single_content .performance_section .performance-item:last-of-type {
  margin: 0;
}
.info_single .info_single_wrapper .info_single_content .performance_section .performance-item img {
  width: 100%;
  height: auto;
  margin: 0 0 15px;
}
.info_single .info_single_wrapper .info_single_content .performance_section .performance-item h3 {
  margin: 0 0 10px;
  font-size: 1.1rem;
  font-weight: 600;
}
.info_single .info_single_wrapper .info_single_content .performance_section .performance-item span.leadtitle {
  font-weight: 500;
  font-size: 1rem;
}
.info_single .info_single_wrapper .info_single_content .performance_section .performance-item p {
  margin: 10px 0 0;
  font-size: 0.9rem;
}
.info_single .info_single_wrapper .info_single_content .overview_section {
  margin: 0 auto 30px;
}
.info_single .info_single_wrapper .info_single_content .overview_section .handdraw {
  width: 230px;
}
.info_single .info_single_wrapper .info_single_content .overview_section table tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-bottom: 1px solid #deddda;
  padding: 10px 0;
}
.info_single .info_single_wrapper .info_single_content .overview_section table tr th {
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
  font-size: 0.9rem;
  font-weight: 500;
  text-align: left;
}
.info_single .info_single_wrapper .info_single_content .overview_section table tr td {
  -ms-flex-preferred-size: 75%;
      flex-basis: 75%;
  font-size: 0.9rem;
}
.info_single .info_single_wrapper .info_single_content .overview_section table tr td.wide_td {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  padding-top: 10px;
}
.info_single .info_single_wrapper .info_single_content .faq-block {
  margin: -10px auto 60px;
}
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item {
  border-bottom: 1px solid #deddda;
  padding: 0 0 15px;
}
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item:last-of-type {
  border: none;
}
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item dt,
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item dd {
  font-size: 0.9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item dt > div span,
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item dd > div span {
  width: 30px;
  height: 30px;
  background: #e69d98;
  border-radius: 50%;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  font-size: 1rem;
}
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item dt > span,
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item dd > span {
  padding: 0 0 0 1rem;
  margin-top: 5px;
}
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item dt {
  font-weight: 600;
  margin: 0 0 5px;
}
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item dt > div span {
  background: #e69d98;
}
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item dd {
  margin: 0;
}
.info_single .info_single_wrapper .info_single_content .faq-block dl.faq-item dd > div span {
  background: #9aa190;
}

/* ==========================================================================
   Legacy Openhouse Styles (Mobile Only - Small Text)
   ========================================================================== */
.dc_event_aww {
  /* スマホ特化の基本設定 - フォントサイズを全体的に縮小 */
  color: #5c5f5e;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
.dc_event_aww img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.dc_event_aww h3 span {
  font-size: 1rem !important;
}
.dc_event_aww {
  /* -------------------------------------------
     汎用セクション
  ------------------------------------------- */
}
.dc_event_aww .openhouse_section {
  margin: 30px auto;
  padding: 0 15px;
}
.dc_event_aww .openhouse_section h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
  font-family: futura, sans-serif;
  text-align: center;
}
.dc_event_aww .openhouse_section h2 span.en {
  font-size: 1.8rem !important;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: #5c5f5e;
}
.dc_event_aww .openhouse_section h2 span.ja {
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #5c5f5e;
}
.dc_event_aww .openhouse_section h2 img {
  width: 100%;
  max-width: 300px;
}
.dc_event_aww {
  /* -------------------------------------------
     開催日時 (.openhouse_date)
  ------------------------------------------- */
}
.dc_event_aww .openhouse_date {
  margin: 25px auto;
  text-align: center;
  padding: 0 15px;
}
.dc_event_aww .openhouse_date h2 {
  display: inline-block;
  font-size: 1rem !important;
  font-weight: 700;
  color: #fff;
  background: #da908d;
  padding: 6px 14px;
  border-radius: 3px;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
.dc_event_aww .openhouse_date span.caption {
  display: block;
  color: #5d6060;
  margin-bottom: 12px;
  font-size: 0.8rem;
}
.dc_event_aww .openhouse_date span.annotation {
  display: block;
  text-align: center;
  color: #e59c97;
  font-size: 0.8rem;
  margin-top: 8px;
}
.dc_event_aww .openhouse_date > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  margin: 12px auto;
}
.dc_event_aww .openhouse_date table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ddd;
  background: #fff;
}
.dc_event_aww .openhouse_date table thead th {
  background: #f4f3f0;
  color: #5c5f5e;
  font-weight: 700;
  padding: 8px;
  border-bottom: 2px solid #ddd;
  font-size: 0.9rem;
}
.dc_event_aww .openhouse_date table tbody td {
  padding: 8px;
  border-bottom: 1px solid #eee;
  font-size: 0.9rem;
  color: #333;
}
.dc_event_aww .openhouse_date table tr:last-child td {
  border-bottom: none;
}
.dc_event_aww {
  /* -------------------------------------------
     予約ボタン (.booking_button)
  ------------------------------------------- */
}
.dc_event_aww .booking_button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 25px auto 35px;
  padding: 0 15px;
}
.dc_event_aww .booking_button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #e69d98;
  color: #fff;
  text-decoration: none;
  padding: 12px;
  border-radius: 6px;
  width: 100%;
  -webkit-box-shadow: 0 3px 8px rgba(230, 157, 152, 0.3);
          box-shadow: 0 3px 8px rgba(230, 157, 152, 0.3);
}
.dc_event_aww .booking_button a span {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.dc_event_aww {
  /* -------------------------------------------
     イントロ (.openhouse_intro)
  ------------------------------------------- */
}
.dc_event_aww .openhouse_intro {
  margin: 0 auto 35px;
  padding: 0 15px;
}
.dc_event_aww .openhouse_intro h2 {
  text-align: center;
  margin-bottom: 15px;
}
.dc_event_aww .openhouse_intro h2 img {
  width: 100%;
  max-width: 260px;
}
.dc_event_aww .openhouse_intro p {
  text-align: left;
  font-size: 0.9rem !important;
  line-height: 1.7;
  color: #5c5f5e;
  background: #fdfaf8;
  padding: 18px;
  border-radius: 6px;
}
.dc_event_aww {
  /* -------------------------------------------
     ポイント (.openhouse_point)
  ------------------------------------------- */
}
.dc_event_aww .openhouse_point {
  padding: 0 15px;
}
.dc_event_aww .openhouse_point ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px !important;
  padding: 0;
  list-style: none;
}
.dc_event_aww .openhouse_point ul li {
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.dc_event_aww .openhouse_point ul li img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
}
.dc_event_aww .openhouse_point ul li .point-content {
  padding: 15px;
}
.dc_event_aww .openhouse_point ul li h3 {
  font-size: 1rem !important;
  font-weight: 700;
  color: #5c5f5e;
  margin: 12px 15px 8px;
  border-bottom: 1px solid #eee;
  padding-bottom: 8px;
}
.dc_event_aww .openhouse_point ul li span {
  display: block;
  font-size: 1rem !important;
  font-weight: 600;
  margin: 0 15px 12px;
  color: #d2ae9f;
}
.dc_event_aww .openhouse_point ul li p {
  font-size: 0.9rem !important;
  line-height: 1.7;
  color: #666;
  text-align: justify;
  margin: 0 15px 18px;
}
.dc_event_aww {
  /* -------------------------------------------
     間取り (.openhouse_plan)
  ------------------------------------------- */
}
.dc_event_aww .openhouse_plan ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  list-style: none;
  padding: 0;
}
.dc_event_aww .openhouse_plan ul li {
  background: #f9f9f9;
  padding: 12px;
  border-radius: 6px;
  text-align: center;
}
.dc_event_aww .openhouse_plan ul li img {
  width: 100%;
  border-radius: 3px;
}
.dc_event_aww {
  /* -------------------------------------------
     ルームツアー (.openhouse_roomtour)
  ------------------------------------------- */
}
.dc_event_aww .openhouse_roomtour ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  list-style: none;
  padding: 0;
}
.dc_event_aww .openhouse_roomtour ul li {
  width: 100%;
  text-align: center;
}
.dc_event_aww .openhouse_roomtour ul li img {
  max-width: 240px;
  width: 100%;
}
.dc_event_aww {
  /* -------------------------------------------
     デザイン理由 (.openhouse_design)
  ------------------------------------------- */
}
.dc_event_aww .openhouse_design .gooddesign_box {
  background: #eee1d4;
  padding: 25px 15px 20px;
  border-radius: 6px;
  position: relative;
  text-align: center;
  margin-top: 30px !important;
  margin-bottom: 45px !important;
}
.dc_event_aww .openhouse_design .gooddesign_box > img {
  position: absolute;
  top: -25px;
  left: -8px;
  width: 70px;
  display: none;
}
.dc_event_aww .openhouse_design .gooddesign_box h3 {
  display: inline-block;
  background: #fff;
  border: 2px solid #b6a69e;
  color: #7e706b;
  font-weight: 700;
  padding: 5px 12px;
  font-size: 1rem !important;
  border-radius: 15px;
  position: absolute;
  top: -18px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 90%;
  white-space: normal;
  line-height: 1.3;
}
.dc_event_aww .openhouse_design .gooddesign_box p {
  color: #7e706b;
  font-size: 0.9rem !important;
  line-height: 1.7;
  text-align: left;
}
.dc_event_aww {
  /* -------------------------------------------
     イベント概要 (.oenhouse_overview)
  ------------------------------------------- */
}
.dc_event_aww .oenhouse_overview table {
  width: 100%;
  border-collapse: collapse;
  margin: 15px 0;
}
.dc_event_aww .oenhouse_overview table tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-bottom: 1px solid #eee;
  padding: 8px 0;
}
.dc_event_aww .oenhouse_overview table tr th {
  padding: 4px 10px;
  font-weight: 700;
  color: #5d6060;
  text-align: left;
  border-left: 3px solid #da908d;
  font-size: 1rem;
}
.dc_event_aww .oenhouse_overview table tr td {
  padding: 8px 10px;
  font-size: 1rem;
  color: #444;
}
.dc_event_aww .oenhouse_overview .googlemap {
  position: relative;
  width: 100%;
  padding-top: 75%;
  margin-bottom: 25px;
}
.dc_event_aww .oenhouse_overview .googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 6px;
}
.dc_event_aww .oenhouse_overview ul {
  list-style: none;
  padding: 0;
}
.dc_event_aww .oenhouse_overview ul li {
  background: #fdfaf8;
  width: 100%;
  padding: 15px;
  border-radius: 6px;
  margin-bottom: 15px;
}
.dc_event_aww .oenhouse_overview ul li > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
}
.dc_event_aww .oenhouse_overview ul li > div:first-child {
  margin-bottom: 12px;
  border-bottom: 1px dashed #ccc;
  padding-bottom: 12px;
}
.dc_event_aww .oenhouse_overview ul li > div > div {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 30px;
          flex: 0 0 30px;
}
.dc_event_aww .oenhouse_overview ul li > div > div img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
}
.dc_event_aww .oenhouse_overview ul li > div > span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 0.9rem !important;
  line-height: 1.5;
  padding-top: 3px;
}
.dc_event_aww {
  /* -------------------------------------------
     予約枠 (.openhouse_booking)
  ------------------------------------------- */
}
.dc_event_aww .openhouse_booking {
  background: #f9f6f3;
  padding: 35px 15px;
  border-radius: 6px;
  margin-bottom: 35px;
  display: none;
}
.dc_event_aww .openhouse_booking h2 {
  margin-bottom: 20px;
  font-size: 1rem !important;
}
.dc_event_aww .openhouse_booking .call_btn {
  background: #d2ae9f;
  color: #fff;
  padding: 25px 15px;
  border-radius: 6px;
  text-align: center;
  margin-bottom: 25px;
  -webkit-box-shadow: 0 3px 8px rgba(210, 174, 159, 0.2);
          box-shadow: 0 3px 8px rgba(210, 174, 159, 0.2);
}
.dc_event_aww .openhouse_booking .call_btn h3 span {
  color: #fff;
  font-size: 1rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding-bottom: 4px;
}
.dc_event_aww .openhouse_booking .call_btn a {
  display: block;
  color: #fff;
  font-family: futura, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 12px 0;
  text-decoration: none;
}
.dc_event_aww .openhouse_booking .call_btn a span {
  display: block;
  font-size: 1rem !important;
  font-weight: 400;
  margin-top: 10px !important;
  opacity: 0.9;
}
.dc_event_aww .openhouse_booking .call_btn ul {
  text-align: left;
  list-style: none;
  padding: 0;
  font-size: 0.9rem;
  opacity: 0.8;
  line-height: 1.4;
}
.dc_event_aww .openhouse_booking .call_btn ul li {
  margin-bottom: 4px;
}
.dc_event_aww .openhouse_booking p.annotation {
  text-align: left;
  font-size: 0.8rem;
  line-height: 1.6;
  margin-bottom: 20px;
}

/*────────────────────────────
staff
────────────────────────────*/
.staff_archive #subpages-header img.handdraw {
  bottom: -70px;
  width: 80%;
}
.staff_archive section .staff_archive_inner {
  margin: 0px auto 40px;
}
.staff_archive section .staff_archive_inner .staff_archive_item {
  margin: 0 0 25px;
}
.staff_archive section .staff_archive_inner .staff_archive_item:last-of-type {
  margin: 0;
}
.staff_archive section .staff_archive_inner .staff_archive_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.staff_archive section .staff_archive_inner .staff_archive_item a figure {
  -ms-flex-preferred-size: 35%;
      flex-basis: 35%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.staff_archive section .staff_archive_inner .staff_archive_item a figure img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.staff_archive section .staff_archive_inner .staff_archive_item a .staff_archive_item_content {
  -ms-flex-preferred-size: 65%;
      flex-basis: 65%;
  background: #efeeee;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.staff_archive section .staff_archive_inner .staff_archive_item a .staff_archive_item_content::after {
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-family: "material icons";
  content: "\e5e1";
  color: #757575;
  opacity: 0.5;
  font-size: 1.2rem;
}
.staff_archive section .staff_archive_inner .staff_archive_item a .staff_archive_item_content span {
  display: block;
  line-height: 1.3;
}
.staff_archive section .staff_archive_inner .staff_archive_item a .staff_archive_item_content span.small {
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
}
.staff_archive section .staff_archive_inner .staff_archive_item a .staff_archive_item_content span.large {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.3rem;
  margin: 0 0 2px;
}
.staff_archive section .staff_archive_inner .staff_archive_item a .staff_archive_item_content span.middle {
  font-size: 0.9rem;
  font-weight: 500;
  margin: 0 0 8px;
  letter-spacing: 0.1rem;
}

.staff_single .subpages_header_small {
  border-bottom: none;
}
.staff_single .staff_inner .staff_item figure {
  margin: 0 0 20px;
}
.staff_single .staff_inner .staff_item figure img {
  width: 100%;
  height: auto;
}
.staff_single .staff_inner .staff_item figure video {
  width: 100%;
  height: auto;
}
.staff_single .staff_inner .staff_item h2 {
  text-align: center;
}
.staff_single .staff_inner .staff_item h2 span {
  display: block;
  line-height: 1.3;
}
.staff_single .staff_inner .staff_item h2 span.small {
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
}
.staff_single .staff_inner .staff_item h2 span.large {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.3rem;
  margin: 0 0 2px;
}
.staff_single .staff_inner .staff_item h2 span.middle {
  font-size: 0.9rem;
  font-weight: 500;
  margin: 0 0 8px;
  letter-spacing: 0.1rem;
}
.staff_single .staff_inner .staff_item h3 {
  font-size: 0.9rem;
  color: #b8a79f;
}
.staff_single .staff_inner .staff_item .staff_sns {
  text-align: center;
  margin: 10px auto 0;
}
.staff_single .staff_inner .staff_item .staff_sns a {
  display: inline-block;
}
.staff_single .staff_inner .staff_item .staff_sns a img {
  width: 23px;
  height: auto;
}
.staff_single .staff_inner .staff_item .staff_messege {
  margin: 20px auto 30px;
}
.staff_single .staff_inner .staff_item .staff_messege h3 {
  border-bottom: 1px dotted #b8a79f;
  padding-bottom: 5px;
}
.staff_single .staff_inner .staff_item .staff_messege p {
  margin: 10px 0 0;
}
.staff_single .staff_inner .staff_item .staff_introduce {
  background: #efeeee;
  padding: 20px;
  margin: 0 auto 30px;
}
.staff_single .staff_inner .staff_item .staff_introduce p {
  margin: 10px 0 0;
}
.staff_single .staff_inner .staff_item .staff_favorite {
  margin: 0 auto 50px;
}
.staff_single .staff_inner .staff_item .staff_favorite h3 {
  border-bottom: 1px dotted #b8a79f;
  padding-bottom: 5px;
  margin-bottom: 20px;
}
.staff_single .staff_inner .staff_item .staff_favorite .favorite_item span.title {
  font-weight: 500;
}
/*───────────────────────────────────
//news
───────────────────────────────────*/
.news_archive .subpages_header_small {
  border-bottom: none;
}
.news_archive .news_archive_inner {
  margin: 0 auto 60px;
}

ul.news_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-top: 1px solid #deddda;
}
ul.news_list li {
  border-bottom: 1px solid #deddda;
}
ul.news_list li a {
  padding: 20px 40px 20px 0;
  position: relative;
}
ul.news_list li a::after {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "\e5e1";
  font-family: "material icons";
  font-size: 0.9rem;
  color: #757575;
}
ul.news_list li a span {
  color: #4C4C4C;
  display: inline-block;
}
ul.news_list li a span.date {
  font-size: 0.7rem;
  margin: 0 10px 0 0;
}
ul.news_list li a span.title {
  font-weight: 500;
  font-size: 0.95rem;
}

.news_single .news_single_header {
  margin: 40px auto 40px;
}
.news_single .news_single_header h1 {
  font-size: 1.2rem;
}
.news_single .news_single_header span.date {
  font-family: "Outfit", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  color: #757575;
  display: inline-block;
}
.news_single .news_single_body {
  margin: 40px auto;
}
.news_single .news_single_footer {
  margin-bottom: 40px;
}

/*───────────────────────────────────
//works
───────────────────────────────────*/
.works #subpages-header > img.handdraw {
  bottom: -63px;
}

.works_single .works_single_inner .works_single_content_1 figure img {
  width: 100%;
  height: auto;
}
.works_single .works_single_inner .works_single_content_1 .works_single_header {
  padding: 0 1rem;
  margin: 30px auto;
  text-align: center;
}
.works_single .works_single_inner .works_single_content_1 .works_single_header h1 {
  font-size: 1.2rem;
  margin: 0 0 10px;
  font-weight: 500;
}
.works_single .works_single_inner .works_single_content_1 .works_single_content {
  padding: 0 1.5rem;
}
.works_single .works_single_inner .works_single_content_2 {
  padding: 0 1.5rem;
}
.works_single .works_single_inner .works_single_content_2 ul.works_single_content_list li {
  margin: 0 0 40px;
}
.works_single .works_single_inner .works_single_content_2 ul.works_single_content_list li figure {
  margin: 0 0 15px;
}
.works_single .works_single_inner .works_single_content_2 ul.works_single_content_list li figure img {
  width: 100%;
  height: auto;
}
.works_single .works_single_inner .works_single_content_2 ul.works_single_content_list li p {
  margin: 0;
}
.works_single .works_single_inner .works_single_content_3 {
  padding: 0 1.5rem;
  margin: 0 0 40px;
}

.works_tag_cloud {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin: 0 auto 30px;
  padding: 0 1rem;
}
.works_tag_cloud_taxonomy {
  margin-top: 40px;
}
.works_tag_cloud a {
  display: inline-block;
  padding: 8px 20px;
  border: 1px solid #ec6d74;
  border-radius: 50px;
  color: #ec6d74;
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.works_tag_cloud a:hover {
  background: #ec6d74;
  color: #ffffff;
}
.works_tag_cloud a.current {
  font-weight: bold;
  color: #ffffff;
  background-color: #e69d98;
  pointer-events: none; /* クリック無効にする場合 */
  border-color: #e69d98;
}

article .masonry:last-child {
  margin-bottom: 40px;
}

/*───────────────────────────────────
//voice
───────────────────────────────────*/
.voice_archive #subpages-header img.handdraw {
  width: 47%;
  bottom: -65px;
}
.voice_archive .voice_archive_inner .voice_archive_item {
  margin-bottom: 40px;
}
.voice_archive .voice_archive_inner .voice_archive_item:last-of-type {
  margin: 0;
}
.voice_archive .voice_archive_inner .voice_archive_item a figure {
  margin: 0 0 15px;
}
.voice_archive .voice_archive_inner .voice_archive_item a figure img {
  width: 100%;
  height: auto;
}
.voice_archive .voice_archive_inner .voice_archive_item a .voice_archive_item_content {
  text-align: center;
}
.voice_archive .voice_archive_inner .voice_archive_item a .voice_archive_item_content h2 {
  font-size: 1.1rem;
  font-weight: 500;
}
.voice_archive .voice_archive_inner .voice_archive_item a .voice_archive_item_content span.subtitle {
  font-size: 0.9rem;
  color: #4C4C4C;
}

.voice_single .voice_single_inner figure img {
  width: 100%;
  height: auto;
}
.voice_single .voice_single_inner .voice_single_header {
  padding: 0 1.5rem;
  margin: 30px auto;
  text-align: center;
}
.voice_single .voice_single_inner .voice_single_header h2 {
  font-size: 1.1rem;
  margin: 0 0 10px;
}
.voice_single .voice_single_inner .voice_single_header span.subtitle {
  font-size: 0.9rem;
  font-weight: 500;
}
.voice_single .voice_single_inner .voice_single_content {
  padding: 0 1.5rem;
  margin: 40px auto;
}
.voice_single .voice_single_inner .voice_single_footer {
  padding: 0 1.5rem;
  margin: 0 0 40px;
}

/*───────────────────────────────────
//magazine
───────────────────────────────────*/
.magazine_archive .magazine_archive_inner {
  padding: 0 1.5rem;
  margin-top: 40px;
}
.magazine_archive .magazine_archive_inner ul.magazine_list li.magazine_list_item {
  margin-bottom: 30px;
}
.magazine_archive .magazine_archive_inner ul.magazine_list li.magazine_list_item:last-of-type {
  margin: 0;
}
.magazine_archive .magazine_archive_inner ul.magazine_list li.magazine_list_item a {
  background: #efeeee;
  padding: 20px;
  color: #4C4C4C;
}
.magazine_archive .magazine_archive_inner ul.magazine_list li.magazine_list_item a figure {
  margin: 0 0 15px;
}
.magazine_archive .magazine_archive_inner ul.magazine_list li.magazine_list_item a figure img {
  width: 100%;
  height: auto;
}
.magazine_archive .magazine_archive_inner ul.magazine_list li.magazine_list_item a .magazine_list_item_content {
  text-align: right;
}
.magazine_archive .magazine_archive_inner ul.magazine_list li.magazine_list_item a .magazine_list_item_content span.date {
  font-size: 0.8rem;
  text-align: left;
  display: block;
}
.magazine_archive .magazine_archive_inner ul.magazine_list li.magazine_list_item a .magazine_list_item_content h2 {
  margin: 3px 0 15px;
  font-size: 1.1rem;
  font-weight: 600;
  text-align: left;
}
.magazine_archive .magazine_archive_inner ul.magazine_list li.magazine_list_item a .magazine_list_item_content span.excerpt {
  text-align: left;
  display: block;
  font-size: 0.9rem;
  color: #4C4C4C;
  margin: 0 0 15px;
}

.magazine_single .magazine_single_inner .magazine_single_header {
  padding: 0 1.5rem;
  margin: 30px auto;
  text-align: center;
}
.magazine_single .magazine_single_inner .magazine_single_header figure img {
  width: 100%;
  height: auto;
}
.magazine_single .magazine_single_inner .magazine_single_header h2 {
  font-size: 1.1rem;
  margin: 0 0 10px;
}
.magazine_single .magazine_single_inner .magazine_single_header span.date {
  font-size: 0.9rem;
  font-weight: 500;
}
.magazine_single .magazine_single_inner .magazine_single_content {
  padding: 0 1.5rem;
  margin: 40px auto;
}
.magazine_single .magazine_single_inner .magazine_single_footer {
  padding: 0 1.5rem;
  margin: 0 0 40px;
}

/*───────────────────────────────────
//estate
───────────────────────────────────*/
table.estate_table {
  text-align: left;
  margin: 0;
  border-right: 1px solid #deddda;
  border-left: 1px solid #deddda;
  font-size: 0.9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
table.estate_table:first-of-type {
  border-top: 1px solid #deddda;
}
table.estate_table tr {
  border-bottom: 1px solid #deddda;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
table.estate_table tr th {
  -ms-flex-preferred-size: 30%;
      flex-basis: 30%;
  font-weight: 500;
  border-right: 1px solid #deddda;
  padding: 7px 10px;
  background: #efeeee;
}
table.estate_table tr td {
  -ms-flex-preferred-size: 70%;
      flex-basis: 70%;
  padding: 7px 15px;
}

.estate_price {
  background: #ECE1D7;
  padding: 3px 10px;
  margin: 0 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.estate_price span.title {
  font-size: 0.9rem;
  font-weight: 500;
  color: #7E5B5B;
}
.estate_price div.price span.number {
  font-family: "Outfit", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
}
.estate_price div.price span.unit {
  font-size: 0.9rem;
  font-weight: 500;
}

.estate_archive #subpages-header img.handdraw {
  width: 40%;
  bottom: -70px;
}
.estate_archive .estate_archive_intro {
  background: #B5A8A0;
  padding: 30px 1.5rem;
}
.estate_archive .estate_archive_intro span.title {
  font-size: 1.1rem;
  font-weight: 600;
  display: block;
  text-align: center;
  color: #ffffff;
}
.estate_archive .estate_archive_intro p {
  margin: 15px auto 0;
  font-size: 0.9rem;
  font-weight: 500;
  color: #ffffff !important;
}
.estate_archive .estate_archive_inner {
  background: #efeeee;
  padding: 40px 1.5rem 1rem;
}
.estate_archive .estate_archive_inner ul.estate_list li.estate_item {
  margin-bottom: 40px;
  background: #ffffff;
  padding: 20px;
  position: relative;
}
.estate_archive .estate_archive_inner ul.estate_list li.estate_item span.estate_header_type {
  position: absolute;
  top: 0;
  left: 0;
}
.estate_archive .estate_archive_inner ul.estate_list li.estate_item span.estate_header_type a {
  background: #ec6d74;
  color: #ffffff;
  font-size: 1rem;
  padding: 3px 9px;
  font-weight: 500;
  letter-spacing: 0.15rem;
}
.estate_archive .estate_archive_inner ul.estate_list li.estate_item figure {
  margin: 0 auto 10px;
  border: 1px solid #deddda;
}
.estate_archive .estate_archive_inner ul.estate_list li.estate_item figure img {
  width: 100%;
  height: auto;
}
.estate_archive .estate_archive_inner ul.estate_list li.estate_item .estate_item_header h3 {
  font-size: 1.2rem;
  font-weight: 500;
  color: #4C4C4C;
}
.estate_archive .estate_archive_inner ul.estate_list li.estate_item .estate_summary {
  margin: 10px 0 20px;
}
.estate_archive .estate_archive_inner ul.estate_list li.estate_item .estate_link {
  text-align: center;
  margin-bottom: 3px;
}

.estate_single .estate_single_inner {
  padding: 0 1.5rem;
}
.estate_single .estate_single_inner .estate_content_item h3 {
  font-size: 1.1rem;
  margin: 0 0 10px;
}
.estate_single .estate_single_inner .estate_single_content_1 .estate_content_item_header {
  margin: 30px 0 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.estate_single .estate_single_inner .estate_single_content_1 .estate_content_item_header a {
  background: #ec6d74;
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.1rem;
  font-size: 0.9rem;
  padding: 2px 6px;
}
.estate_single .estate_single_inner .estate_single_content_1 .estate_content_item_header h1 {
  font-size: 1.2rem;
  margin: 0 0 0 0.5rem;
}
.estate_single .estate_single_inner .estate_single_content_1 figure {
  border: 1px solid #deddda;
}
.estate_single .estate_single_inner .estate_single_content_1 figure img {
  width: 100%;
  height: auto;
}
.estate_single .estate_single_inner .estate_single_content_1 .estate_maintextarea {
  border: 1px solid #deddda;
  padding: 1rem;
  margin: 15px 0 0;
}
.estate_single .estate_single_inner .estate_single_content_1 .estate_maintextarea p {
  margin: 0;
  font-size: 0.9rem;
}
.estate_single .estate_single_inner .estate_single_content_2 {
  margin: 30px auto;
}
.estate_single .estate_single_inner .estate_single_content_2 .googlemap {
  margin-top: 15px;
}
.estate_single .estate_single_inner .estate_single_content_3 {
  margin: 0 auto 50px;
}
.estate_single .estate_single_inner .estate_single_content_4 {
  margin: 0 auto 50px;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  background: #ECE1D7;
  padding: 15px;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_header span {
  line-height: 1;
  display: inline-block;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_header span.large {
  font-weight: 600;
  font-size: 1.3rem;
  color: #ec6d74;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_header span.medium {
  font-weight: 600;
  color: #ec6d74;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_header span.small {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  border-top: 1px dashed #ffffff;
  padding: 7px 0 0;
  margin: 7px 0 0;
  font-weight: 500;
  color: #7E5B5B;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_images {
  margin: 0 auto 30px;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_images figure img {
  width: 100%;
  height: auto;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_prices .simulation_prices_item {
  -ms-flex-preferred-size: 30%;
      flex-basis: 30%;
  text-align: center;
  border: 1px solid #ec6d74;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_prices .simulation_prices_item span.title {
  font-size: 0.9rem;
  display: block;
  font-weight: 500;
  line-height: 1.7;
  background: #ec6d74;
  color: #ffffff;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_prices .simulation_prices_item span.price {
  font-size: 0.8rem;
  display: block;
  font-weight: 600;
  padding: 7px 0;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_prices .simulation_prices_item span.price > span {
  font-size: 1.3rem;
  margin: 0 2px 0 0;
  letter-spacing: 0.01rem;
  font-family: "Outfit", sans-serif;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_prices .simulation_prices_item span.price > span.red {
  color: #ec6d74;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_prices .symbol {
  -ms-flex-preferred-size: 5%;
      flex-basis: 5%;
  text-align: center;
  font-weight: 600;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_prices .annotation {
  display: block;
  text-align: right;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  font-size: 0.8rem;
  margin: 5px 0 0;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_loan {
  margin-top: 10px;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_loan .result {
  border-top: 1px solid #deddda;
  border-bottom: 1px solid #deddda;
  padding: 15px 0;
  margin: 0 0 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_loan .result span.title {
  font-weight: 500;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_loan .result span.price {
  font-weight: 600;
  color: #ec6d74;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_loan .result span.price > span {
  font-size: 2rem;
  font-family: "Outfit", sans-serif;
  letter-spacing: 0.01rem;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_loan .notice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.estate_single .estate_single_inner .estate_single_content_4 .simulation_loan .notice span {
  font-size: 0.8rem;
  font-weight: 500;
  margin: 0 0 0 8px;
  color: #757575;
}

/*────────────────────────────
modelhouse
────────────────────────────*/
.modelhouse_archive article {
  margin-bottom: 80px;
}

.modelhouse_single article {
  margin-bottom: -40px;
}
.modelhouse_single .subpages_header_small {
  border-bottom: 0;
}
.modelhouse_single .modelhouse_single_wrapper {
  margin-top: -25px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_coming_soon {
  margin-top: 25px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_coming_soon .mc_inner {
  padding: 100px 0;
  margin: 0 1rem 30px;
  text-align: center;
  background: #d9d3c9;
  border-radius: 5px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_coming_soon .mc_inner p {
  font-family: "Outfit", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0;
  color: #8c7a7a !important;
  line-height: 1.3;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_coming_soon .mc_inner span {
  font-weight: 500;
  font-size: 0.8rem;
  color: #8c7a7a;
  display: block;
  margin: 0;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content {
  margin: 20px 0 0;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content figure.figure {
  margin: 0 0 40px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content figure.figure img {
  width: 100%;
  height: auto;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content {
  /*─────────コンセプト─────────*/
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .event_concept {
  text-align: center;
  margin: 40px auto 60px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .event_concept h2 {
  font-size: 1.3rem;
  margin: 0 auto 20px;
  font-weight: 500;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .event_concept .concept_text p {
  font-size: 0.95rem;
  line-height: 2;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .event_concept .sub_concept {
  margin: 50px auto;
  /* sub_images added for modelhouse */
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .event_concept .sub_concept .sub_images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 20px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .event_concept .sub_concept .sub_images figure {
  margin: 0;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .event_concept .sub_concept .sub_images figure img {
  width: 100%;
  height: auto;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content {
  /*─────────スケジュール─────────*/
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .performance_section {
  margin: 0 auto 60px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .performance_section .performance-item {
  margin: 0 0 25px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .performance_section .performance-item:last-of-type {
  margin: 0;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .performance_section .performance-item h3 {
  margin: 0 0 10px;
  font-size: 1rem;
  font-weight: 500;
  color: #ec6d74;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .performance_section .performance-item p {
  font-size: 0.9rem;
  border-bottom: 1px dotted #deddda;
  padding: 10px 0;
  margin: 0;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .performance_section .performance-item p:first-of-type {
  border-top: 1px dotted #deddda;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .performance_section .performance-item p strong {
  font-weight: 500;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .performance_section .performance-item .googlemap {
  margin: 20px auto 0;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content {
  /*─────────みどころ─────────*/
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .goodpoint_section {
  margin: 0 auto 60px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .goodpoint_section .goodpoint_inner .goodpoint_item {
  margin: 0 0 30px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .goodpoint_section .goodpoint_inner .goodpoint_item:last-of-type {
  margin: 0;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .goodpoint_section .goodpoint_inner .goodpoint_item figure {
  margin: 0 0 10px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .goodpoint_section .goodpoint_inner .goodpoint_item figure img {
  width: 100%;
  height: auto;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .goodpoint_section .goodpoint_inner .goodpoint_item h3 {
  font-size: 1rem;
  /* Added for numbered titles */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .goodpoint_section .goodpoint_inner .goodpoint_item h3 .num {
  font-family: "Outfit", sans-serif;
  color: #ec6d74;
  font-size: 1.2rem;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .goodpoint_section .goodpoint_inner .goodpoint_item p {
  margin: 0;
  font-size: 0.9rem;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content {
  /*─────────間取り─────────*/
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .floorplan_section {
  margin: 0 auto 40px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .floorplan_section .floor_plan_image img {
  width: 100%;
  height: auto;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .floorplan_section .area-table .area-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #deddda;
  padding: 10px 0;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .floorplan_section .area-table .area-item:first-of-type {
  border-top: 1px solid #deddda;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .floorplan_section .area-table .area-item h3.area-title {
  margin: 0;
  font-size: 0.9rem;
  width: 30%;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .floorplan_section .area-table .area-item .area-text {
  margin: 0;
  width: 70%;
  font-size: 0.9rem;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content {
  /*─────────3Dbutton─────────*/
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .roomtour_section {
  margin: 0 auto 60px;
}
.modelhouse_single .modelhouse_single_wrapper .modelhouse_single_content .roomtour_section a {
  background: #ec6d74;
  color: #ffffff;
  text-align: center;
  padding: 20px;
  border-radius: 5px;
  font-weight: 500;
}

/* Archive Style Overrides to match Info Archive hierarchy */
.modelhouse_archive .info_list .info_list_item_content_inner span.subtitle {
  font-size: 1rem;
  font-weight: 500;
  margin: 0;
}
.modelhouse_archive .info_list .info_list_item_content_inner h3 {
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  margin: 10px auto;
}
.modelhouse_archive .info_list .info_list_item_content_inner span.place {
  font-size: 1.1rem;
  font-weight: 500;
  margin: 0;
}

/*responsive
───────────────────────*/
/*───────────────────────────────────
//responsive files
───────────────────────────────────*/
/*──────────────────────────────────*/
@media screen and (max-width: 767px) {
  /*────────────────────────────
  header-responsive
  ────────────────────────────*/
  header.header {
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  header.header .header_main {
    height: 60px;
    max-width: 100%;
    width: 100%;
  }
  header.header .header_main a.logo {
    margin: 0.5rem 0 0 0.5rem;
    width: 180px;
  }
  header.header .header_main a.logo h1,
  header.header .header_main a.logo span {
    margin: -10px 0 0 0;
  }
  header.header .header_main .header_sns {
    margin-right: 15px;
  }
  header.header .header_main .header_sns a {
    margin: 0 12px 0 0;
  }
  header.header .header_main .header_sns a:last-of-type {
    margin: 0;
  }
  header.header .header_main .header_sns a img {
    width: 18px;
    height: auto;
  }
  header.header .menu-trigger {
    width: 60px;
    height: 60px;
  }
  header.header .menu-trigger .menu-trigger-lines {
    width: 60px;
    height: 60px;
  }
  header.header nav.mb_drawer {
    padding: 0 0 50px;
    width: 100%;
    right: 0;
  }
  header.header nav.mb_drawer .mb_drawer_header {
    padding: 1rem 0 0 0.5rem;
  }
  header.header nav.mb_drawer .mb_drawer_header img {
    width: 180px;
    height: auto;
  }
  header.header nav.mb_drawer ul.mb_drawer_menu {
    margin: 50px 1rem 20px;
  }
  header.header nav.mb_drawer .mb_drawer_subitem a {
    height: auto;
    padding: 15px 0;
  }
  header.header nav.mb_drawer .mb_drawer_subitem a span.title {
    font-size: 1rem;
    margin: 0 auto 2px;
  }
  header.header nav.mb_drawer .mb_drawer_subitem a span.number {
    font-size: 1.1rem;
  }
  header.header nav.mb_drawer .mb_drawer_subitem a span.number::before {
    font-size: 1rem;
  }
  header.header nav.mb_drawer .mb_drawer_subitem a span.cap {
    font-size: 0.75rem;
  }
  header.header nav.mb_drawer .mb_drawer_sns {
    margin: 30px 1rem;
  }
}/*# sourceMappingURL=edit.css.map */