@charset "UTF-8";

/* CSS Document */

/*---------------------------------------------------------------------

	 共通

---------------------------------------------------------------------*/

/* Light 300  / Regular 400 / Medium 500 / SemiBold 600 /  Bold 700  */

html {
  scroll-behavior: smooth;
}

.red-hat-display {
  font-family: "Red Hat Display", sans-serif;
}

.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
}

.pc_on {
  display: inline !important;
}

@media screen and (max-width: 769px) {
  .pc_on {
    display: none !important;
  }
}

.pc_on_block {
  display: block !important;
}

@media screen and (max-width: 769px) {
  .pc_on_block {
    display: none !important;
  }
}

.pc_on_block950 {
  display: block !important;
}

@media screen and (max-width: 950px) {
  .pc_on_block950 {
    display: none !important;
  }
}

.sp_on_block950 {
  display: none !important;
}

@media screen and (max-width: 950px) {
  .sp_on_block950 {
    display: block !important;
  }
}

.smt_btn_group {
  display: none;
}

.sp_on {
  display: none !important;
}

@media screen and (max-width: 769px) {
  .sp_on {
    display: inline !important;
  }
}

.sp_on_block {
  display: none !important;
}

@media screen and (max-width: 769px) {
  .sp_on_block {
    display: block !important;
  }
}

.smt_btn_group {
  display: none;
}

.pc_on_block1500 {
  display: block !important;
}

@media screen and (max-width: 1500px) {
  .pc_on_block1500 {
    display: none !important;
  }
}

.pc_on_block1200 {
  display: block !important;
}

@media screen and (max-width: 1200px) {
  .pc_on_block1200 {
    display: none !important;
  }
}

.pc_on_block1060 {
  display: block !important;
}

@media screen and (max-width: 1060px) {
  .pc_on_block1060 {
    display: none !important;
  }
}

.sp_on_block1060 {
  display: none !important;
}

@media screen and (max-width: 1060px) {
  .sp_on_block1060 {
    display: block !important;
  }
}

.pc_on_block1000 {
  display: block !important;
}

@media screen and (max-width: 1000px) {
  .pc_on_block1000 {
    display: none !important;
  }
}

.sp_on_block1000 {
  display: none !important;
}

@media screen and (max-width: 1000px) {
  .sp_on_block1000 {
    display: block !important;
  }
}

.sp_on_block1350 {
  display: none !important;
}

@media screen and (max-width: 1350px) {
  .sp_on_block1350 {
    display: block !important;
  }
}

.smt_btn_group {
  display: none;
}

.pc_on_block900 {
  display: block !important;
}

@media screen and (max-width: 900px) {
  .pc_on_block900 {
    display: none !important;
  }
}

.sp_on_block900 {
  display: none !important;
}

@media screen and (max-width: 900px) {
  .sp_on_block900 {
    display: block !important;
  }
}

.pc_on840 {
  display: inline !important;
}

@media screen and (max-width: 840px) {
  .pc_on840 {
    display: none !important;
  }
}

.pc_on_block840 {
  display: block !important;
}

@media screen and (max-width: 840px) {
  .pc_on_block840 {
    display: none !important;
  }
}

.sp_on_block840 {
  display: none !important;
}

@media screen and (max-width: 840px) {
  .sp_on_block840 {
    display: block !important;
  }
}


.pc_on_block880 {
  display: block !important;
}

@media screen and (max-width: 880px) {
  .pc_on_block880 {
    display: none !important;
  }
}

.sp_on_block880 {
  display: none !important;
}

@media screen and (max-width: 880px) {
  .sp_on_block880 {
    display: block !important;
  }
}

.pc_on_block1350 {
  display: block !important;
}

@media screen and (max-width: 1350px) {
  .pc_on_block1350 {
    display: none !important;
  }
}

.sp_on_block1350 {
  display: none !important;
}

@media screen and (max-width: 1350px) {
  .sp_on_block1350 {
    display: block !important;
  }
}

.sp_on520 {
  display: none !important;
}

@media screen and (max-width: 520px) {
  .sp_on520 {
    display: inline !important;
  }
}

a:hover {
  text-decoration: none;
}
a.link {
  text-decoration: underline;
}

#loader {
  display: none;
  position: fixed;
  _position: absolute;
  top: 0;
  left: 0;
  z-index: 99100;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
}

#loader img {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -40px;
  margin-top: -40px;
}

#wrap {
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}

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

a[href^="tel:"] {
  cursor: default;
}

body {
  -webkit-text-size-adjust: 100%;
}

html,
body {
  height: 100%;
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

a img {
  -webkit-transition: opacity 0.5s ease-out;
  -moz-transition: opacity 0.5s ease-out;
  -ms-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
  background-color: rgba(255, 255, 255, 0.01);
}

header#header {
  width: 100%;
  height: 69px;
  display: flex;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin: auto;
  position: relative;
  background: #F7F6EE;
}

.desc {
  font-size: 10px;
  margin: 36px 0 7px 22px;
  white-space: nowrap;
}

.logo img {
  margin: 3px 0 0 24px;
  width: 179px;
}

@media (max-width: 1150px) {
  .logo img {
    width: 140px;
  }

  header#header {
    height: 83px;
  }
}

.header_left a:hover {
  text-decoration: none;
}

.header_left a {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
}

p.logo img {
  margin: 0 0 0 36px;
  width: 179px;
}

p.contact_top {
  display: inline-block;
}

.contents {
  width: 980px;
  margin: auto;
}

#container {
  overflow: hidden;
}

.ttl_fadeup {
  display: flex;
  flex-direction: column;
}

.fade_text {
  display: flex;
  overflow: hidden;
}

.fade_text span {
  transform: translateY(100%);
  transition: all 0.5s ease;
}

.fade_text span:nth-child(2) {
  transition-delay: 0.06s;
}

.fade_text span:nth-child(3) {
  transition-delay: 0.12s;
}

.fade_text span:nth-child(4) {
  transition-delay: 0.18s;
}

.fade_text span:nth-child(5) {
  transition-delay: 0.24s;
}

.fade_text span:nth-child(6) {
  transition-delay: 0.3s;
}

.fade_text span:nth-child(7) {
  transition-delay: 0.36s;
}

.fade_text span:nth-child(8) {
  transition-delay: 0.42s;
}

.fade_text span:nth-child(9) {
  transition-delay: 0.48s;
}

.fade_text span:nth-child(10) {
  transition-delay: 0.54s;
}

.fade_text span:nth-child(11) {
  transition-delay: 0.60s;
}

.fade_text span:nth-child(12) {
  transition-delay: 0.66s;
}

.fade_text span:nth-child(13) {
  transition-delay: 0.72s;
}

.fade_text span:nth-child(14) {
  transition-delay: 0.78s;
}

.fade_text span:nth-child(15) {
  transition-delay: 0.84s;
}

.fade_text span:nth-child(16) {
  transition-delay: 0.90s;
}

.fade_text.active span {
  transform: translateY(0);
}

.ttl_fadeup p {
  letter-spacing: 0.01em !important;
}

/*---------------------------------------------------------------------

	 お問い合わせ contact

---------------------------------------------------------------------*/
p.contact_note {
  line-height: 1.9;
}

.main_contact {
  background: url(../images/main_contact.jpg) center center / cover no-repeat;
  position: relative;
  text-align: center;
}

.contact_telBox {
  width: 800px;
  padding: 25px 130px;
  border: 1px solid #ccc;
  text-align: center;
  margin: 50px auto 100px;
}

.contact_telBox2 {
  width: 980px;
  padding: 30px 130px;
  border: 1px solid #ccc;
  text-align: center;
  margin: 40px auto 60px;
}

span.times {
  font-weight: normal;
}

.contact_telBox p {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}

span.contact_tel {
  margin-left: 15px;
  margin-right: 10px;
}

.contact_telBox p.contact_time {
  font-size: 14px;
  text-align: center;
  margin-left: 42%;
  font-weight: normal !important;
}

p.contact_tel_ttl {
  border-bottom: dotted 2px #808080;
  line-height: 58px;
  height: 58px;
  font-size: 17px;
  font-weight: bold;
}

.require {
  color: #e93814;
  font-size: 14px;
  padding: 2px 5px;
}

table.contact_form {
  width: 100%;
  float: left;
  margin-bottom: 60px;
  margin-top: 40px;
  font-size: 14px;
  border-collapse: inherit;
}

table.contact_form_mb {
  margin-bottom: 25px;
}

.contact__privacy {
  text-align: center;
  margin-bottom: 30px;
}

.contact__privacy-link {
  text-decoration: underline;
}

td.vt {
  vertical-align: top;
}

table.contact_form tr {
  line-height: 2;
  padding: 6px 0;
}

table.contact_form tr td:nth-child(odd) {
  border-bottom: solid 1px #2e2e2e;
  padding: 9px 10px 5px 5px;
  text-align: right;
  width: 20%;
}

table.contact_form tr td:nth-child(even) {
  border-bottom: dotted 1px #2e2e2e;
  padding: 15px 5px 16px 35px;
}

input.textVer {
  padding: 13px;
  border: none;
  background: #f6f6f6;
  width: 100%;
}

input.textVer02 {
  padding: 13px;
  border: none;
  background: #f6f6f6;
  width: 40%;
}

.mr4p {
  margin-right: 4%;
}

select.textVer {
  padding: 13px;
  border: none;
  background: #f6f6f6;
  width: 100%;
}

input.textVerS {
  padding: 13px;
  border: none;
  background: #f6f6f6;
  width: 40%;
}

input.textVerM {
  padding: 13px;
  border: none;
  background: #f6f6f6;
  width: 70%;
}

input.textVerL {
  padding: 13px;
  border: none;
  background: #f6f6f6;
  width: 84%;
}

input.textVerXL {
  padding: 13px;
  border: none;
  background: #f6f6f6;
  width: 100%;
}

textarea.commentBox {
  padding: 13px;
  border: none;
  background: #f6f6f6;
  width: 100% !important;
  height: 350px !important;
}

.mfp_element_select-one {
  padding: 13px;
  border: none;
  background: #f6f6f6;
  width: 27%;
  margin-bottom: 10px;
  color: #555;
}

button.submit {
  background: #333;
  color: #fff;
  cursor: pointer;
  font-size: 15px;
  font-weight: bold;
  height: 50px;
  width: 300px;
  position: relative;
  left: 50%;
  margin-left: -150px;
  margin-top: 0;
  letter-spacing: 0.05em;
  margin-bottom: 70px;
}

button.submit:hover {
  opacity: 0.7;
  -webkit-opacity: 0.7;
  -moz-opacity: 0.7;
  filter: alpha(opacity=70);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
  -webkit-transition: opacity 1s ease-out;
  -moz-transition: opacity 1s ease-out;
  -ms-transition: opacity 1s ease-out;
  transition: opacity 1s ease-out;
}

.btn_back a {
  background: #111;
  color: #fff;
  display: block;
  width: 300px;
  height: 50px;
  line-height: 50px;
  margin: 80px auto 50px;
  text-align: center;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  transition: all 0.5s;
}

.btn_back a:hover {
  background: #606060;
  text-decoration: none;
}

.contactBnrArea {
  width: 100%;
  max-width: 980px;
  border: solid 1px #ababab;
  padding: 30px 164px;
  overflow: hidden;
  margin: 0 auto 50px;
  background: url(../images/line02.jpg) no-repeat 47% 50%;
}

.contactBnrTel {
  float: left;
  width: 220px;
}

.contactBnrMail {
  float: right;
  width: 249px;
}

p.contactBnrTxt {
  font-size: 16px;
  font-weight: bold;
  text-align: left;
}

p.contactBnrTime {
  font-size: 14px;
  text-align: right;
}

.online_img4 {
  margin: 20px 0 20px;
}

.btn_zoom2 {
  width: 100%;
  margin: 55px auto 60px;
}

.bx-wrapper .bx-viewport {
  max-height: calc(100vh - 70px) !important;
}

ul.check_age {
  display: flex;
  flex-wrap: wrap;
}

form#mailformpro ul.check_age li label.mfp_not_checked {
  padding: 0 5px !important;
  border: none !important;
  width: 68px;
}

form#mailformpro ul.check_age li label.mfp_checked {
  padding: 0 5px !important;
  background-color: none !important;
  width: 68px;
}

form#mailformpro ul.check_age li input[type="checkbox"] {
  position: relative;
  width: 16px;
  height: 16px;
}

form#mailformpro ul.check_age li input[type="checkbox"]:checked::before {
  position: absolute;
  top: 2px;
  left: 6px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}

.contact_form tr td.age_list_td {
  display: flex;
  flex-wrap: wrap;
}

.contact_form tr td.age_list_td label.mfp_not_checked {
  padding: 0 5px !important;
  border: none !important;
  width: 68px;
}

.contact_form tr td.age_list_td label.mfp_checked {
  padding: 0 5px !important;
  background-color: none !important;
  width: 68px;
}

.contact_form tr td.age_list_td input[type="checkbox"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: none;
  vertical-align: -3px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #e8e8e8;
}

.contact_form tr td.age_list_td input[type="checkbox"]:checked::before {
  position: absolute;
  top: 2px;
  left: 6px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}

.contact_form tr td.age_list_td label {
  width: 68px;
  display: inline-block;
}

.recapctha_message {
  text-align: center;
  margin-bottom: 50px;
  font-size: 12px;
}

/*2025*/
#wrap {
  background: #F7F6EF;
}

header#header {
  height: 135px;
  min-width: 1048px;
}

.gnav,
.gnav__menu {
  display: none;
}

.menu {
  display: block;
}

/* Full Screen Navigation */
.menu {
  position: fixed;
  right: 30px;
  top: 36px;
  width: 54px;
  height: 54px;
  cursor: pointer;
  transition: .3s;
  z-index: 9999;
  background: #F7F6EE;
  border: solid 1px #1A1A1A;
  border-radius: 76px;
  box-shadow: 0 10px 22px rgba(118, 102, 88, 0.18);
}

.menu__line {
  background: #1A1A1A;
  display: block;
  height: 1px;
  position: absolute;
  transition: transform .3s;
  z-index: 9999;
}

.menu__line--top {
  width: 18px;
  top: 20px;
  right: 17px;
}

.menu__line--center {
  width: 18px;
  top: 26px;
  right: 17px;
}

.menu__line--bottom {
  width: 10px;
  top: 32px;
  right: 18px;
}

.menu__line--top.active {
  top: 26px;
  right: 15px;
  width: 22px;
  transform: rotate(45deg);
}

.menu__line--bottom.active {
  top: 26px;
  right: 15px;
  transform: rotate(135deg);
  width: 22px;
}

.menu__line--center.active {
  transform: scaleX(0);
}

.gnav {
  height: 100%;
  position: fixed;
  width: 100%;
  z-index: 9998;
  left: 0;
  top: 0;
  background: #F7F6EE;
}

.menu_logo a {
  width: 184px;
  position: absolute;
  left: 28px;
  top: 43px;
}

.gnav_menu_area_top {
  display: flex;
  align-items: flex-start;
  background: #F7F6EF;
  min-width: 710px;
  padding: 280px 25px 0 35px;
}

.gnav_menu_area {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  z-index: 999;
  height: 100%;
  padding-bottom: 50px;
  background: #F7F6EE;
  overflow-y: scroll;
  overflow-x: hidden;
}

.gnav__menu__item {
  width: 100%;
}

.gnav__menu__item a {
  font-size: 14px;
  font-weight: 400;
  display: block;
  padding: 0 0 0 15px;
  position: relative;
  --base-offset-y: 2em;
  overflow: hidden;
  transition: text-shadow 0.3s ease-in-out;
  color: transparent;
  text-shadow: 0 calc(var(--hover-offset-y, 0em) * -1) 0 #1A1A1A, 0 calc(var(--base-offset-y, 2em) - var(--hover-offset-y, 0em)) 0 #1A1A1A;
  margin-bottom: 10px;
}

@media (hover: hover) and (pointer: fine) {
  .gnav__menu__item a:hover {
    --hover-offset-y: 2em;
  }
}

.gnav__menu__item a::before {
  content: "";
  display: inline;
  border-left: solid 8px #9B9385;
  height: 1px;
  position: absolute;
  left: 0;
  top: 17px;
  margin-top: -4px;
}

.gnav__menu__top a {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 50px;
  display: block;
}

.smt_navi_left,
.smt_navi_center,
.smt_navi_right {
  width: 33%;
}

.gnav_sns {
  margin: 60px auto 0 auto;
  width: 80%;
  gap: 16px;
  display: flex;
  justify-content: flex-end;
}

.gnav_sns li {
  height: 26px;
  display: inline-flex;
  align-items: center;
}

.gnav_sns li img {
  vertical-align: middle;
}

/* Full Screen Navigation */
.gnav {
  display: none;
  height: 100%;
  position: fixed;
  width: 100%;
  z-index: 9998;
  left: 0;
  top: 0;
}

.left_area {
  background: url("../images2025/menu_bg.webp") no-repeat 50% 50%/cover;
  width: 45%;
  height: 85%;
  display: block;
  z-index: 999;
  position: absolute;
  bottom: 0;
}

.menu_logo a {
  width: 108px;
  position: absolute;
  left: 27px;
  top: 20px;
}

ul.gnav__menu {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.gnav__menu__ttl {
  width: 100%;
  margin-bottom: 25px;
}

.gnav__menu__ttl p {
  font-family: "Red Hat Display", sans-serif;
  font-size: 29px;
  font-weight: 400;
  line-height: 1.2;
}

.gnav__menu__ttl h3 {
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
}

.gnav__menu__privacy {
  width: 150px;
  text-align: right;
}

.gnav__menu__privacy a {
  font-size: 13px;
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  text-decoration: underline;
  width: 100%;
  text-align: right;
  margin: 50px 0 0 auto;
  display: block;
}

body.menu-open {
  overflow: hidden;
}

.btn_contact a {
  display: flex;
  position: fixed;
  top: 36px;
  right: 99px;
  width: 153px;
  height: 54px;
  justify-content: center;
  align-items: center;
  background: #2C251E;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  border-radius: 76px;
  box-shadow: 0 10px 22px rgba(118, 102, 88, 0.18);
  overflow: hidden;
  z-index: 9998;
}

.arrow_wh {
  position: relative;
  display: inline-block;
  width: 17px;
  height: 12px;
  margin-left: 7px;
  overflow: hidden;
}

.arrow_wh span {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -0.5px;
  width: 17px;
  height: 1px;
  background: #fff;
}

.arrow_wh span::before,
.arrow_wh span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -0.5px;
  width: 5px;
  height: 1px;
  background: #fff;
  transform-origin: right center;
}

.arrow_wh span::before {
  transform: rotate(45deg);
}

.arrow_wh span::after {
  transform: rotate(-45deg);
}

.arrow_wh span:nth-child(1) {
  transform: translateX(0);
}

.arrow_wh span:nth-child(2) {
  transform: translateX(-120%);
}

.btn_contact a:hover .arrow_wh span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.btn_contact a:hover .arrow_wh span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

@keyframes arrowOut {
  to {
    transform: translateX(120%);
  }
}

@keyframes arrowIn {
  to {
    transform: translateX(0);
  }
}

.btn_request a {
  display: flex;
  position: fixed;
  top: 36px;
  right: 269px;
  width: 123px;
  height: 54px;
  justify-content: center;
  align-items: center;
  background: #F7F6EE;
  color: #1A1A1A;
  font-size: 13px;
  font-weight: 500;
  border-radius: 76px;
  border: solid 1px #1A1A1A;
  box-shadow: 0 10px 22px rgba(118, 102, 88, 0.18);
  overflow: hidden;
  z-index: 9998;
}

.arrow_bk {
  position: relative;
  display: inline-block;
  width: 17px;
  height: 12px;
  margin-left: 7px;
  overflow: hidden;
}

.arrow_bk span {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -0.5px;
  width: 17px;
  height: 1px;
  background: #1A1A1A;
}

.arrow_bk span::before,
.arrow_bk span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -0.5px;
  width: 5px;
  height: 1px;
  background: #1A1A1A;
  transform-origin: right center;
}

.arrow_bk span::before {
  transform: rotate(45deg);
}

.arrow_bk span::after {
  transform: rotate(-45deg);
}

.arrow_bk span:nth-child(1) {
  transform: translateX(0);
}

.arrow_bk span:nth-child(2) {
  transform: translateX(-120%);
}

.btn_request a:hover .arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.btn_request a:hover .arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

@keyframes arrowOut {
  to {
    transform: translateX(120%);
  }
}

@keyframes arrowIn {
  to {
    transform: translateX(0);
  }
}

/*---------------------------------------------------------------------

	 top

---------------------------------------------------------------------*/

.fv_area {
  position: relative;
  width: 95%;
  margin: 0 0 0 auto;
  width: calc(100% - 98px);
}

.main_slide {
  position: relative;
  width: 95%;
  margin: 0 0 0 auto;
  width: calc(100% - 98px);
}

#slide {
  height: 100%;
  position: relative;
  max-height: calc(100% - 135px);
}

#slide .slick-slide img {
  width: 100%;
  height: 100%;
  height: 678px;
  object-fit: cover;
}

#slide .slick-slide {
  margin: 0 3px;
  position: relative;
}

.slick-dots {
  position: absolute;
  bottom: 0 !important;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  left: -54px !important;
}

.slick-dots li {
  width: 8px !important;
  height: 20px !important;
}

.slick-dots li button::before {
  width: 7px !important;
  height: 21px !important;
  content: '' !important;
  opacity: 1.00 !important;
  background: #CEC9C1;
}

.slick-dots li.slick-active button::before {
  opacity: 1.00 !important;
  background: #1A1A1A !important;
}

.slick-dots li {
  width: 7px;
  height: 21px;
  opacity: 1;
  border-radius: 0 !important;
  display: block !important;
  margin: 0;
}

.slick-dots li button {
  padding: 2px;
}

@media screen and (max-width: 1050px) {
  #slide .slick-list {
    padding: 0 0 0 16% !important;
  }
}


.swiper-slide {
  position: relative;
}

.swiper02_copy1,
.swiper02_copy2,
.swiper03_copy,
.swiper04_copy {
  position: absolute;
}

.swiper02_copy1 img,
.swiper02_copy2 img,
.swiper03_copy img,
.swiper04_copy img {
  height: auto !important;
}

.swiper02_copy1 img {
  max-width: 244px !important;
}

.swiper02_copy2 img {
  max-width: 828px !important;
}

.swiper03_copy img {
  max-width: 833px !important;
}

.swiper04_copy img {
  max-width: 491px !important;
}

.swiper02_copy1 {
  top: 40px;
  right: 40px;
}

.swiper02_copy2 {
  right: 50%;
  bottom: 30px;
  transform: translateX(50%);
  width: max-content;
  max-width: 90%;
}

.swiper03_copy {
  right: 50%;
  bottom: 50px;
  transform: translateX(50%);
  width: max-content;
  max-width: 90%;
}

.swiper04_copy {
  left: 100px;
  bottom: 80px;
}

.slick-center {
  position: relative;
}

.swiper_copy {
  position: absolute;
  top:0;
  left: 5.6%;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0;
  z-index: 99;
}

@media screen and (max-width: 1830px) {
  .swiper_copy {
    left: 5.5%;
  }
}

@media screen and (max-width: 1790px) {
  .swiper_copy {
    left: 5.4%;
  }
}

@media screen and (max-width: 1750px) {
  .swiper_copy {
    left: 5.3%;
  }
}

@media screen and (max-width: 1710px) {
  .swiper_copy {
    left: 5.2%;
  }
}

@media screen and (max-width: 1670px) {
  .swiper_copy {
    left: 5.1%;
  }
}

@media screen and (max-width: 1630px) {
  .swiper_copy {
    left: 4.9%;
  }
}

@media screen and (max-width: 1590px) {
  .swiper_copy {
    left: 4.8%;
  }
}

@media screen and (max-width: 1550px) {
  .swiper_copy {
    left: 4.7%;
  }
}

@media screen and (max-width: 1510px) {
  .swiper_copy {
    left: 4.5%;
  }
}

@media screen and (max-width: 1470px) {
  .swiper_copy {
    left: 4.3%;
  }
}

@media screen and (max-width: 1430px) {
  .swiper_copy {
    left: 4.1%;
  }
}

@media screen and (max-width: 1390px) {
  .swiper_copy {
    left: 3.9%;
  }
}

@media screen and (max-width: 1350px) {
  .swiper_copy {
    left: 3.7%;
  }
}

@media screen and (max-width: 1310px) {
  .swiper_copy {
    left: 3.5%;
  }
}

@media screen and (max-width: 1270px) {
  .swiper_copy {
    left: 3.3%;
  }
}

@media screen and (max-width: 1230px) {
  .swiper_copy {
    left: 3.1%;
  }
}

@media screen and (max-width: 1190px) {
  .swiper_copy {
    left: 2.9%;
  }
}

@media screen and (max-width: 1150px) {
  .swiper_copy {
    left: 2.7%;
  }
}

@media screen and (max-width: 1110px) {
  .swiper_copy {
    left: 2.4%;
  }
}

@media screen and (max-width: 1070px) {
  .swiper_copy {
    left: 2.1%;
  }
}

@media screen and (max-width: 1050px) {
  .swiper_copy {
    left: 8.6%;
  }
}

@media screen and (max-width: 1050px) {
  .swiper_copy p {
    font-size: 3.8vw;
  }
}

@media screen and (max-width: 1040px) {
  .swiper_copy {
    left: 8.5%;
  }
}

@media screen and (max-width: 1020px) {
  .swiper_copy {
    left: 8.7%;
  }
}


body.menu-open .swiper_copy {
  z-index: 9997;
}

.swiper_copy p {
  writing-mode: vertical-lr;
  font-size: 40px;
  color: #2C251E;
  margin: 0;
  position: relative;
  display: inline-block;
  background: #F7F6EE;
  padding: 0 7px 19px 2px;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.swiper_copy p::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  background: #2C251E;
  transform-origin: top right;
  /*transform: scaleY(0.95);*/
}

.swiper_copy p:nth-child(1)::after {
  height: 7.6em;
}

.swiper_copy p:nth-child(2)::after {
  height: 4.4em;
}

.copyright_side {
  writing-mode: vertical-lr;
  font-size: 11px;
  left: -58px;
  top: 45%;
  transform: translate(0%, -50%);
  position: absolute;
  font-family: "Red Hat Display", sans-serif;
}

.grecaptcha-badge {
  display: none !important;
}

.top_event_ttl_area {
  width: 1100px;
  max-width: 90%;
  display: flex;
  justify-content: space-between;
  margin: 100px auto 22px;
  align-items: center;
}

.top_event_ttl p {
  font-size: 51px;
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  display: inline-block;
}

.top_event_ttl h3 {
  font-size: 13px;
  display: inline-block;
  margin-left: 5px;
}

.btn_arrow_bk {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 21px;
  background: #1A1A1A;
  border-radius: 21px;
  overflow: hidden;
  margin: 0 0 0 10px;
  top: 4px;
}

.btn_arrow_bk span {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -0.5px 0 0 -8.5px;
  width: 17px;
  height: 1px;
  background: #fff;
}

.btn_arrow_bk span::before,
.btn_arrow_bk span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -0.5px;
  width: 5px;
  height: 1px;
  background: #fff;
  transform-origin: right center;
}

.btn_arrow_bk span::before {
  transform: rotate(45deg);
}

.btn_arrow_bk span::after {
  transform: rotate(-45deg);
}

.btn_arrow_bk span:nth-child(1) {
  transform: translateX(0);
}

.btn_arrow_bk span:nth-child(2) {
  transform: translateX(-250%);
}

.top_event_more a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.top_event_more a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.top_event_more a {
  font-size: 16px;
  font-weight: 400;
  position: relative;
  top: 5px;
}

@keyframes arrowOut {
  to {
    transform: translateX(250%);
  }
}

@keyframes arrowIn {
  to {
    transform: translateX(0);
  }
}

ul.top_event_list {
  border-top: solid 1px #CEC9C1;
  border-bottom: solid 1px #CEC9C1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  margin-bottom: 180px;
}

ul.top_event_list li {
  width: 100%;
  border-left: solid 1px #CEC9C1;
  border-right: solid 1px #CEC9C1;
}

ul.top_event_list li a {
  display: block;
  padding: 0 75px 35px;
}

ul.top_event_list li:nth-child(2) {
  margin: 0 0px;
}

h3.ttl_top_event {
  font-size: 18px;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  margin: 19px 0 20px;
  letter-spacing: 0.5px;
  line-height: 1.4;
}

.btn_arrow_wh {
  position: relative;
  display: inline-block;
  width: 31px;
  min-width: 31px;
  height: 17px;
  background: inherit;
  border-radius: 21px;
  overflow: hidden;
  margin: 0 0 0 auto;
  top: 6px;
  border: solid 1px #1A1A1A;
  transition: background .3s, border-color .3s;
  /* スムーズに反転 */
}

.btn_arrow_wh span {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -0.5px 0 0 -6.5px;
  width: 13px;
  height: 1px;
  background: #1A1A1A;
  transition: background .3s;
}

.btn_arrow_wh span::before,
.btn_arrow_wh span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -0.5px;
  width: 5px;
  height: 1px;
  background: #1A1A1A;
  transform-origin: right center;
  transition: background .3s;
}

.btn_arrow_wh span::before {
  transform: rotate(45deg);
}

.btn_arrow_wh span::after {
  transform: rotate(-45deg);
}

.btn_arrow_wh span:nth-child(1) {
  transform: translateX(0);
}

.btn_arrow_wh span:nth-child(2) {
  transform: translateX(-250%);
}

.top_event_list li a:hover .btn_arrow_wh {
  background: #1A1A1A;
  border-color: #1A1A1A;
}

.top_event_list li a:hover .btn_arrow_wh span,
.top_event_list li a:hover .btn_arrow_wh span::before,
.top_event_list li a:hover .btn_arrow_wh span::after {
  background: #fff;
}

.top_event_list li a:hover .btn_arrow_wh span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.top_event_list li a:hover .btn_arrow_wh span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

@keyframes arrowOut {
  to {
    transform: translateX(250%);
  }
}

@keyframes arrowIn {
  to {
    transform: translateX(0);
  }
}

.status {
	text-align: center;
	font-size: 16px;
	color: #fff;
	height: 38px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 36px;
	font-weight: 500;
	padding-bottom: 2px;
}

.status.open {
  background: #C74A12;
}

.status.closed,.status.full {
  background: #706357;
}

.top_event_img {
  overflow: hidden;
  max-width: 220px;
  margin: auto;
}

.top_event_img img {
  transition: transform 0.6s ease;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
  width: 100%;
}

.top_event_list a:hover .top_event_img img {
  transform: scale(1.1);
}

ul.top_event_info {
  margin-bottom: 20px;
}

ul.top_event_info li {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.615;
  border: none !important;
}

ul.top_event_info li span {
  margin-right: 13px;
}

p.top_event_txt {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.615;
  margin-bottom: 15px;
}

p.txt_end {
  font-size: 14px;
  font-weight: 400;
  color: #C74A12;
}

.section_navi_area {
  overflow: hidden;
  margin-bottom: 180px;
}

.section_navi {
  display: flex;
  justify-content: space-between;
  max-width: 1100px;
  margin: auto;
}

.section_navi img {
  width: 100%;
  height: auto;
}

.column {
  width: 48%;
}

.column-outside-right {
  flex: 1;
  margin-right: calc(50% - 50vw);
  margin-left: 8%;
}

.column-outside-left {
  flex: 1;
  margin-left: calc(50% - 50vw);
  margin-right: 8%;
}

.reverse {
  flex-direction: row-reverse;
}

.ttl_section_navi {
  width: 100%;
  margin-bottom: 25px;
  margin-top: 14px;
}

.ttl_section_navi p {
  font-family: "Red Hat Display", sans-serif;
  font-size: 74px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.5px;
}

.ttl_section_navi h3 {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.2;
}

.link_more {
  margin: 0 0 0 auto;
}

.link_more a {
  font-size: 15px;
  font-weight: 400;
}

.link_more a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.link_more a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.section_navi_txt {
  display: flex;
  flex-direction: column;
  justify-content: inherit;
  padding: 10px 0 50px;
  width: 44%;
}

.section_concept_area {
  overflow: hidden;
  margin-bottom: 130px;
}

.section_concept {
  display: flex;
  justify-content: space-between;
  max-width: 1100px;
  margin: auto;
}

.section_concept img {
  width: 100%;
  height: auto;
}

.section_concept_right {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.section_concept_txt {
  align-self: flex-end;
}

.section_concept_ttl {
  align-self: flex-start;
}

.section_concept_txt p {
  font-size: 15px;
  font-weight: 400;
  line-height: 2.066;
  margin-bottom: 50px;
}

.link_more2 {
  margin: 0 auto 0 0;
}

.link_more2 a {
  font-size: 15px;
  font-weight: 400;
}

.link_more2 a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.link_more2 a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.section_concept_ttl {
  writing-mode: vertical-rl;
}

.section_concept_ttl p {
  font-size: 15px;
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  margin-left: 5px;
  color: #9A8B80;
}

.section_concept_ttl h3 {
  font-size: 40px;
  font-weight: 500;
  line-height: 1.2;
  margin-left: 83px;
  letter-spacing: 0.1em;
}

.section_concept_ttl h3 span {
  padding-top: 180px;
  display: block;
}

.top_lineup {
  width: 91%;
  margin: 0 auto 95px;
}

.top_lineup_ttl {
  margin-bottom: 20px;
}

.top_lineup_ttl p {
  font-size: 94px;
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  display: inline-block;
}

.top_lineup_ttl h3 {
  font-size: 15px;
  font-weight: 400;
  display: inline-block;
  margin-left: 5px;
}

.top_lineup_list {
  display: flex;
  justify-content: space-between;
}

.top_lineup_cont {
  width: 49%;
  background: #FFFFFF;
  clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%);
}

.top_lineup_cont a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.ttl_top_lineup_cont {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: solid 1px #D5D0CC;
  margin: 43px auto 22px;
}

.top_lineup_cont_inner {
  width: 80%;
  margin: auto;
}

.ttl_top_lineup_cont p {
  font-size: 40px;
  font-weight: 500;
  font-family: "Red Hat Display", sans-serif;
  color: #2C251E;
}

.ttl_top_lineup_cont h3 {
  font-size: 12px;
  font-weight: 400;
  color: #8D6744;
}

h3.ttl_lineup_sub {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 5px;
}

p.txt_lineup_sub {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.785;
}

.lineup_more {
  margin: 46px 0 0 auto;
  font-size: 15px;
  font-weight: 400;
  display: flex;
  justify-content: flex-end;
}

.top_lineup_cont a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.top_lineup_cont a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.top_img_lineup {
  overflow: hidden;
  margin-top: 62px;
}

.top_lineup_cont .top_img_lineup img {
  transition: transform 0.6s ease;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.top_lineup_cont a:hover .top_img_lineup img {
  transform: scale(1.1);
}

.top_works {
  width: 100%;
  margin-right: calc(50% - 47vw);
}

.ttl_top_works_area {
  display: flex;
  justify-content: space-between;
  margin: 0 0 30px;
  align-items: center;
  margin-left: calc((100% - 1100px) / 2);
  margin-right: calc(50% - 47vw);
}

.section_top_works {
  display: flex;
  justify-content: space-between;
  max-width: 1100px;
  margin: auto;
}

.section_top_works img {
  width: 100%;
  height: auto;
}

.column-outside-right2 {
  flex: 1;
  margin-right: calc(50% - 47vw);
  margin-left: 8%;
}

.top_works {
  width: 100%;
  margin: 0 3% 109px auto;
}

.ttl_top_works p {
  font-size: 94px;
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  display: inline-block;
}

.ttl_top_works h3 {
  font-size: 13px;
  display: inline-block;
  margin-left: 5px;
}

.top_works_more a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.top_works_more a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.top_works_more a {
  font-size: 16px;
  font-weight: 400;
  position: relative;
  top: 35px;
}

.top_news_more a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.top_news_more a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.top_news_more a {
  font-size: 16px;
  font-weight: 400;
  position: relative;
  top: 29px;
}

.top_works_list_area {
  display: flex;
  justify-content: space-between;
  margin-left: calc((100% - 1100px) / 2);
  margin-right: calc(50% - 47vw);
}

.ttl_category {
  font-size: 14px;
  font-weight: 700;
  position: relative;
  padding-left: 15px;
}

.ttl_category:before {
  content: "";
  background: #1A1A1A;
  width: 6px;
  height: 6px;
  border-radius: 6px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

ul.top_works_category li a {
  font-size: 14px;
  font-weight: 400;
  color: #B1A79E;
}

ul.top_works_category li {
  margin-bottom: 5px;
}

.top_works_cont_area {
  width: 880px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top_works_cont {
  width: 49.5%;
  margin-bottom: 50px;
}

.top_works_cont_img {
  position: relative;
  width: 100%;
  height: 160px;
  margin-bottom: 10px;
  overflow: hidden;
}

.top_works_cont_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.case_img img {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: 100% !important;
  object-fit: cover;
}

.viewing {
  font-size: 14px;
  font-weight: 400;
  background: #2C251E;
  width: 120px;
  height: 54px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
}

.top_works_cont p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.625;
}

a.zoom:hover img {
  transform: scale(1.1);
}

a.zoom img {
  transition: transform 0.6s ease;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.section_links_area {
  width: 91%;
  display: flex;
  justify-content: space-between;
  gap: 9px;
  margin: 0 auto 216px;
}

.section_links1,
.section_links2 {
  aspect-ratio: 690 / 637;
  width: 50%;
  background-size: cover;
  background-position: center;
}

.section_links1 {
  background: url("../images2025/top_furniture_bg.png") no-repeat 0 0/cover;
}

.section_links2 {
  background: url("../images2025/top_material_bg.png") no-repeat 0 0/cover;
}

.section_links1 a,
.section_links2 a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
  flex-direction: column;
}

.section_links_img {
  max-width: 300px;
  width: 19vw;
  position: relative;
}

.ttl_links {
  font-size: 133px;
  font-size: clamp(50px, 8.5vw, 133px);
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  letter-spacing: 0.01em;
}

.ttl_section_links {
  font-size: 20px;
  font-weight: 400;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 30px;
}

.section_links_area .btn_arrow_bk {
  width: 74px;
  height: 31px;
}

.section_links_area .btn_arrow_bk span {
  width: 20px;
  margin: -0.5px 0 0 -10px;
}

.section_links1 a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.section_links1 a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.section_links2 a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.section_links2 a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.top_support {
  width: 100%;
  margin: 0 auto 0 0;
  padding-bottom: 190px;
  position: relative;
}

.top_support_inner {
  display: grid;
  grid-template-columns: 53% 1fr;
  width: 100%;
  margin: 50px auto 0 0;
  align-items: stretch;
}

.top_support_ttl {
  position: absolute;
  left: 46.5%;
  top: -90px;
  transform: translateX(-50%);
}

.top_support_ttl p {
  font-size: 133px;
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1;
}

.top_support_ttl h3 {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.3;
  text-align: right;
}

.top_support_left img {
  display: block;
  width: 95%;
  height: auto;
}

.top_support_right {
  position: relative;
}

.support_comment {
  position: absolute;
  top: 0;
  right: 29%;
  z-index: 3;
  width: 40%;
  font-size: 14px;
  margin: 0 0 0 auto;
}

.support_comment::before {
  border-bottom: 1px solid #BAA999;
  top: -30px;
  content: "";
  left: 0;
  margin: auto;
  position: absolute;
  width: 24px;
}

.top_support_txtbox {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 138%;
  background: #F7F6EE;
  padding: 90px 120px 0;
  box-sizing: border-box;
  z-index: 2;
  height: 72%;
}

@media (max-width: 768px) {
  .top_support_inner {
    grid-template-columns: 1fr;
  }

  .top_support_right {
    position: relative;
  }

  .support_comment {
    position: relative;
    top: auto;
    left: auto;
    margin: 20px auto;

  }

  .top_support_txtbox {
    position: relative;
    width: 90%;
    margin: 20px auto 0;
    bottom: auto;
    right: auto;
  }
}

.support_list_ttl p {
  font-size: 13px;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1.2;
  color: #918476;
  margin-bottom: 8px;
}

.support_list_ttl h3 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
}

ul.support_list {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  justify-content: space-between;
}

ul.support_list li {
  width: 48%;
  border-bottom: solid 1px #C7C1BB;
  padding-bottom: 8px;
  margin-bottom: 53px;
}

ul.support_list li a {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 11px;
}

ul.support_list li a .btn_arrow_bk {
  top: 0px;
  margin: 0 5px 0 10px;
}

ul.support_list li a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

ul.support_list li a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.top_about {
  position: relative;
  overflow: hidden;
}

.top_about_bg {
  background: url("../images2025/top_about_bg.webp") no-repeat 50% 50%/cover;
  height: 570px;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.ttl_top_about {
  margin-left: 76px;
  position: relative;
  top: -16px;
}

.ttl_top_about p {
  font-family: "Red Hat Display", sans-serif;
  font-size: 69px;
  font-weight: 400;
  line-height: 1.2;
  color: #fff;
}

.ttl_top_about h3 {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  color: #fff;
}

ul.top_about_links {
  max-width: 902px;
  margin: 0px auto 0;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  top: -123px;
}

ul.top_about_links li {
  width: 48%;
  height: 360px;
  background: #fff;
}

ul.top_about_links li a:hover .about_link_img img {
  transform: scale(1.1);
}

ul.top_about_links li a .about_link_img img {
  transition: transform 0.6s ease;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.about_link_txt {
  height: 123px;
}

.about_link_img {
  height: 237px;
  overflow: hidden;
}

.about_link_img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.about_link_txt {
  padding: 15px 30px 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.ttl_top_about_links {
  font-size: 35px;
  font-family: "Red Hat Display", sans-serif;
  font-weight: 400;
  color: #8D7A68;
}

.about_link_txt .link_more2 {
  margin: 0 0 0 auto;
  align-self: flex-end;
}

ul.top_about_links li a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

ul.top_about_links li a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.scroll_wrap {
  white-space: nowrap;
  position: absolute;
  bottom: 63px;
  z-index: 0;
}

.scroll_inner {
  display: inline-flex;
  animation: scrollTxt 60s linear infinite;
}

.txt_scroll {
  font-size: 128px;
  font-family: "Red Hat Display", sans-serif;
  font-weight: 300;
  padding-right: 100px;
  color: #EDECE4;
  line-height: 1;
}

@keyframes scrollTxt {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.slide_area_variable1 {
  display: flex;
  justify-content: space-between;
  overflow: hidden;
  flex-wrap: wrap;
  width: 100%;
  margin-left: calc((100% - 1170px) / 2);
  margin-right: calc(50% - 47vw);
  max-width: 90%;
  margin: 104px 0 0 auto;
}

.variable1_ttl {
  width: 280px;
}

.variable {
  position: relative;
  width: calc(100% - 310px);
  padding-left: 20px;
  margin-top: 10px;
}

.variable .slick-list {
  padding: 0 !important;
  margin: 25px auto 102px;
}

.variable .slick-slide div {
  margin-right: 20px;
}

.variable1_ttl {
  flex-basis: auto;
}

.variable {
  flex-basis: auto;
}

.ttl_top_blog {
  display: flex;
  align-items: baseline;
  margin-bottom: 10px;
}

.ttl_top_blog p {
  font-size: 45px;
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
}

.more_blog a {
  position: relative;
}

.more_blog a::after {
  border-bottom: 1px solid #BAA999;
  bottom: -33px;
  content: "";
  left: 0;
  margin: auto;
  position: absolute;
  width: 24px;
}

.more_blog a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.more_blog a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.more_blog .btn_arrow_bk {
  margin: 0 0 0 18px;
}

.ttl_top_blog h3 {
  font-size: 15px;
  font-weight: 400;
  margin-left: 10px;
}

.top_blog_note {
  font-size: 14px;
  line-height: 1.925;
  margin-top: 62px;
}

.blog_img {
  aspect-ratio: 380 / 214;
  margin-bottom: 15px;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.blog_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.blog_day {
  font-size: 13px;
  font-weight: 400;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
  margin-bottom: 8px;
}

.blog_txt {
  font-size: 16px;
}

.slick-initialized .slick-slide {
  margin: 0 10px;
}

.swiper {
  width: calc(100% - 310px);
}

.swiper-wrapper {
  display: flex !important;
}

.swiper-slide {
  width: auto;
  margin-right: 20px;
}

/*new swiper*/
.slide_area_variable1 {
  display: flex;
  justify-content: space-between;
  overflow: hidden;
  flex-wrap: wrap;
  width: 100%;
  margin-left: calc((100% - 1170px) / 2);
  margin-right: calc(50% - 47vw);
  max-width: 90%;
  margin: 104px 0 120px auto;
}

.slide_area_variable1 .variable {
  flex-basis: auto;
}

.slide_area_variable1 .variable {
  position: relative;
  width: calc(100% - 360px);
  padding-left: 0;
  margin-top: 10px;
  margin-right: 0;
}

.swiper-backface-hidden .swiper-slide {
  padding-bottom: 100px;
}

.slide_area_variable1 .swiper-wrapper {
  display: flex;
}

.slide_area_variable1 .swiper-slide {
  width: auto;
  margin-right: 20px;
}

/* プログレスバー */
.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal {
  bottom: 0;
  top: auto;
  height: 4px;
  background: #CEC9C1;
  left: 0;
  width: 100%;
}

.swiper-pagination-progressbar-fill {
  background: #1A1A1A !important;
}

.slide_area_variable1 .swiper-pagination {
  height: 1px;
  width: 100% !important;
}

.slide_area_variable1 .slick-track {
  margin-right: 0 !important;
  width: 100% !important;
}

.top_news_area {
  width: 1100px;
  max-width: 90%;
  margin: auto;
}

.ttl_top_news {
  display: flex;
  align-items: baseline;
  white-space: nowrap;
}

.ttl_top_news_area {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 37px;
}

.ttl_top_news p {
  font-size: 45px;
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  display: inline-block;
}

.ttl_top_news h3 {
  font-size: 13px;
  display: inline-block;
  margin-left: 5px;
}

.top_news_list {
  padding-bottom: 5px;
}

ul.top_news_list li a {
  border-bottom: solid 1px #CEC9C1;
  padding: 28px 0;
  display: flex;
  justify-content: space-between;
  align-items: last baseline;
}

.top_news_left {
  display: flex;
}

.news_day {
  font-size: 13px;
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  display: inline-block;
  width: 157px;
}

.news_ttl {
  font-size: 16px;
  font-weight: 400;
}

ul.top_news_list li a:hover .btn_arrow_wh span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

ul.top_news_list li a:hover .btn_arrow_wh span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.instagram_area {
  width: 1100px;
  max-width: 90%;
  margin: auto;
  padding-bottom: 170px;
  display: flex;
  justify-content: space-between;
}

.ttl_instagram {
  font-size: 45px;
  font-weight: 400;
  position: relative;
  margin-bottom: 45px;
  font-family: "Red Hat Display", sans-serif;
}

.ttl_instagram::after {
  border-bottom: 1px solid #BAA999;
  bottom: -20px;
  content: "";
  left: 0;
  margin: auto;
  position: absolute;
  width: 24px;
}

.txt_instagram {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.928;
}

.instagram_area_right {
  margin-top: 29px;
  max-width: 668px;
}

.btn_view_ig {
  position: relative;
  right: -176px;
  bottom: -22px;
}

.btn_view_ig a {
  background: #F7F6EE;
  width: 340px;
  height: 98px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  position: relative;
  padding-right: 50px;
  z-index: 99;
}

.btn_view_ig a span {
  background: url("../images2025/icon_ig.svg") no-repeat left top 7px/18px auto;
  padding-left: 26px;
}

.btn_view_ig a::after {
  content: "";
  display: block;
  background: url("../images2025/arrow_slant_bk.svg") no-repeat right 5px top 10px/60px auto;
  width: 60px;
  height: 60px;
  position: absolute;
  right: 21px;
  top: 20px;
}

.instagram_area_right {
  overflow: hidden;
}

.instagram_area_right img {
  display: block;
  transition: transform 0.6s ease;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
  transform-origin: center;
}

.instagram_area:has(.btn_view_ig a:hover) .instagram_area_right img {
  transform: scale(1.1);
}

.instagram_area_left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.footer_sns_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.footer_sns_line a {
  background: #34BC3F;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 164px;
  flex-direction: column;
  position: relative;
}

.footer_sns_line a:before {
  content: "";
  background: url("../images2025/icon_footer_line.svg") no-repeat 0 0 /22px 21px;
  margin: 0;
  position: absolute;
  left: 50%;
  top: 37px;
  transform: translateX(-50%);
  width: 22px;
  height: 21px;
}

.line_txt1 {
  line-height: 1.5;
  font-size: 13px;
  font-weight: 400;
  text-align: center;
  padding-top: 15px;
}

.line_txt2 {
  line-height: 1.5;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  text-decoration: underline;
}

.footer_sns_youtube a {
  background: #fff;
  color: #1A1A1A;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 164px;
  position: relative;
}

.footer_sns_youtube a:before {
  content: "";
  background: url("../images2025/icon_footer_youtube.svg") no-repeat 0 0 /22px 16px;
  margin: 0;
  position: absolute;
  left: 50%;
  top: 37px;
  transform: translateX(-50%);
  width: 22px;
  height: 16px;
}

.youtube_txt {
  line-height: 1.5;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
  text-decoration: underline;
  padding-top: 15px;
  font-family: "Red Hat Display", sans-serif;
}

.footer_sns_project {
  overflow: hidden;
}

.footer_sns_project a {
  background: #605A55;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 164px;
  position: relative;
}

.footer_sns_project a:before {
  content: "";
  background: url("../images2025/icon_footer_project.jpg") no-repeat 0 0 /101px 66px;
  margin: 0;
  position: absolute;
  left: 50%;
  top: 0px;
  transform: translateX(-50%);
  width: 101px;
  height: 66px;
}

.project_txt {
  color: #fff;
}

.project_txt {
  line-height: 1.5;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
  text-decoration: underline;
  padding-top: 15px;
  font-family: "Red Hat Display", sans-serif;
}

.footer_sns_line a,
.footer_sns_project a {
  background-image: url("../images2025/arrow_slant_wh.svg");
  background-repeat: no-repeat;
  background-position: right 20px bottom 20px;
  background-size: 50px 50px;
}

.footer_sns_youtube a {
  background-image: url("../images2025/arrow_slant_bk.svg");
  background-repeat: no-repeat;
  background-position: right 20px bottom 20px;
  background-size: 50px 50px;
}

.footer_contact_area {
  width: 1100px;
  max-width: 90%;
  margin: auto;
  padding: 80px 0;
  display: flex;
  justify-content: space-between;
}

.footer_contact_left {
  max-width: 360px;
}

.footer_contact_right {
  max-width: 600px;
}

.ttl_footer_contact {
  display: flex;
  align-items: baseline;
  position: relative;
  margin-bottom: 61px;
  white-space: nowrap;
}

.ttl_footer_contact::after {
  border-bottom: 1px solid #BAA999;
  bottom: -33px;
  content: "";
  left: 3px;
  margin: auto;
  position: absolute;
  width: 24px;
}

.footer_contact_note {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.928;
}

.footer_contact_tel {
  margin-bottom: 30px;
}

.ttl_footer_contact p {
  font-size: 73px;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1;
}

.ttl_footer_contact h3 {
  font-size: 15px;
  font-weight: 400;
  margin-left: 21px;
  position: relative;
  top: 0;
}

.contact_tel_txt {
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
}

.contact_tel {
  text-align: center;
}

.contact_tel a {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1.6;
  padding-left: 35px;
  background: url("../images2025/icon_phone.svg") no-repeat 0 55%/21px 32px;
  letter-spacing: 0.04em;
}

.contact_tel_time {
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1.2;
}

.catalog_reservation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 63px;
  width: 600px;
}

.catalog_link {
  width: 45%;
  white-space: nowrap;
}

.reservation_link {
  width: 60%;
  white-space: nowrap;
}

.catalog_link a,
.reservation_link a {
  font-size: 20px;
  font-weight: 700;
  width: 100%;
  height: 63px;
  display: flex;
  white-space: nowrap;
  align-items: center;
}

.catalog_link a {
  border-right: solid 1px #CEC9C1;
  justify-content: flex-start;
}

.reservation_link a {
  justify-content: flex-end;
}

.catalog_reservation .btn_arrow_bk {
  top: 2px;
}

.catalog_link a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.catalog_link a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.reservation_link a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.reservation_link a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.catalog_link a i {
  background: url("../images2025/icon_catalog.svg") no-repeat left top 5px/22px 21px;
  padding-left: 34px;
  width: 22px;
  height: 21px;
  min-height: 26px;
}

.reservation_link a i {
  background: url("../images2025/icon_send.svg") no-repeat left top 5px/20px 20px;
  padding-left: 31px;
  width: 20px;
  height: 20px;
  min-height: 25px;
}

.footer_bottom {
  background: #E8E7E1;
  padding: 125px 0 220px;
}

.footer_bottom_inner {
  width: 1100px;
  max-width: 90%;
  margin: auto;
}

.footer_navi {
  display: flex;
  justify-content: space-between;
  margin-bottom: 106px;
}

.footer_navi ul li {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

.footer_navi ul li:first-child {
  margin-bottom: 19px;
}

.footer_navi ul li a {
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 5px;
  display: block;
  position: relative;
  --base-offset-y: 2em;
  overflow: hidden;
  transition: text-shadow 0.3s ease-in-out;
  color: transparent;
  text-shadow: 0 calc(var(--hover-offset-y, 0em) * -1) 0 #716C67, 0 calc(var(--base-offset-y, 2em) - var(--hover-offset-y, 0em)) 0 #716C67;
}

.footer_navi ul li a:hover {
  --hover-offset-y: 2em;
}

.footer_navi ul li a.sp_line2 {
  --base-offset-y: 2.5em;
  line-height: 1.2;
  text-shadow: 0 calc(var(--hover-offset-y, 0em) * -1) 0 #716C67, 0 calc(var(--base-offset-y, 2.5em) - var(--hover-offset-y, 0em)) 0 #716C67;
  padding: 2px 0 3px;
}

.footer_navi ul li a.sp_line2:hover {
  --hover-offset-y: 2.5em;
}

.footer_info h1 img {
  width: 182px;
  margin-bottom: 13px;
}

.tel_fax {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 5px;
  font-family: "Red Hat Display", sans-serif;
}

.address {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.14;
}

.footer_sns {
  display: flex;
  justify-content: center;
  gap: 25px;
  margin-top: 14px;
}

.footer_sns li {
  height: 26px;
  display: flex;
  align-items: center;
}

.footer_sns li img {
  vertical-align: middle;
}

.footer_info_area {
  border-bottom: solid 1px #C4C0BD;
  display: flex;
  justify-content: space-between;
  padding-bottom: 50px;
  margin-bottom: 23px;
}

.navi_privacy {
  display: flex;
  align-items: center;
  font-family: "Red Hat Display", sans-serif;
}

.link_privacy {
  margin-right: 34px;
}

.link_privacy a {
  font-size: 13px;
  font-weight: 400;
  text-decoration: underline;
}

.copyright {
  font-size: 13px;
  font-weight: 400;
  position: relative;
  top: 2px;
  font-family: "Red Hat Display", sans-serif;
}


@media screen and (max-width: 1050px) {
  .slick-dots {
    position: absolute;
    left: 50% !important;
    transform: translateX(-50%);
    display: flex;
    flex-direction: row;
    gap: 6px;
    justify-content: center;
    align-items: center;
  }

  .slick-dots li {
    width: 21px;
    height: 7px;
    opacity: 1;
    border-radius: 0 !important;
  }

  .copyright_side {
    font-size: 9px;
    color: #fff;
    z-index: 9;
    top: 50%;
    left: 7px;
  }

  .main_slide {
    width: 100%;
  }

  .main_slide {
    margin: 0 auto;
    width: 100%;
  }

  .slick-dots li {
    padding: 0 10px !important;
  }

  .slick-dots li button::before {
    width: 21px !important;
    height: 7px !important;
  }

  .slick-dots {
    position: absolute;
    bottom: -35px !important;
    display: flex !important;
  }

  .swiper_copy p {
    font-size: 3.8vw;
  }
}

@media screen and (max-width: 1400px) {
  ul.top_event_list li a {
    padding: 0 60px 35px;
  }
}

@media screen and (max-width: 1240px) {
  ul.top_event_list li a {
    padding: 0 45px 35px;
  }
}

@media screen and (max-width: 1160px) {
  ul.top_event_list li a {
    padding: 0 30px 35px;
  }
}

@media screen and (max-width: 1100px) {
  .ttl_footer_contact img {
    width: 160px;
  }

  .contact_tel a {
    font-size: 30px;
  }

  .contact_tel a {
    background: url("../images2025/icon_phone.svg") no-repeat left 0 top 7px/16px auto;
    padding-left: 25px;
  }

  .catalog_link a,
  .reservation_link a {
    font-size: 18px;
  }

  .catalog_reservation {
    width: 545px;
  }
}

@media screen and (max-width: 1090px) {
  .btn_arrow_wh {
    top: 7px;
  }

  ul.top_event_list li a {
    padding: 0 25px 35px;
  }
}

@media screen and (max-width: 900px) {
  ul.top_event_list {
    border-left: none;
    border-right: none;
    gap: 0;
    grid-template-columns: repeat(1, 1fr);
    border-top: none;
    border-bottom: none;
  }

  ul.top_event_list li {
    border-top: solid 1px #CEC9C1;
    border-bottom: solid 1px #CEC9C1;
    border-left: none;
    border-right: none;
    margin-bottom: 3px;
  }

  ul.top_event_list li:nth-child(2) {
    margin-bottom: 3px;
  }
}


@media screen and (max-width: 1350px) {
  .top_lineup_cont a {
    height: auto;
  }

  .top_lineup_list {
    align-items: stretch;
  }

  .top_lineup_cont {
    display: flex;
  }

  .top_lineup_cont a {
    display: grid;
    grid-template-rows: auto 1fr auto;
    width: 100%;
  }

  .top_lineup_cont_inner {
    width: 80%;
    margin: auto;
    grid-row: 1;
  }

  .top_img_lineup {
    overflow: hidden;
    margin-top: 50px;
    grid-row: 3;
  }

  .support_comment {
    right: 21%;
  }

  .gnav_menu_area_top {
    display: flex;
    flex-wrap: wrap;
    white-space: nowrap;
    justify-content: center;
  }

  .smt_navi_left {
    width: 220px;
  }

  .smt_navi_right {
    width: 180px;
  }

  .smt_navi_center {
    display: none;
  }

  .gnav_menu_area_top {
    min-width: inherit;
    padding: 130px 15px 0 15px;
    transform: inherit;
  }

  .smt_mt1350-1 {
    margin-top: 76px;
  }

  .smt_mt1350-2 {
    margin-top: 179px;
  }

  .gnav__menu__ttl p {
    font-size: 23px;
  }

  .gnav__menu__item a {
    font-size: 13px;
    line-height: 1.384;
    padding: 0 0 0 15px;
    margin-bottom: 15px;
  }

  .gnav__menu__item a::before {
    top: 15px;
  }

  .smt_menu__privacy a {
    font-size: 13px;
    font-weight: 400;
    font-family: "Red Hat Display", sans-serif;
    text-decoration: underline;
    width: 80%;
    text-align: left;
    margin: 5px auto 0 auto;
    display: block;
  }

  .gnav_sns {
    margin: 60px auto 0 auto;
    width: 80%;
    gap: 16px;
    display: flex;
    justify-content: flex-start;
  }

  .gnav__menu__item a.line2 {
    --base-offset-y: 2.5em;
    line-height: 1.2;
    padding-top: 2px;
    padding-bottom: 2px;
  }

  @media (hover: hover) and (pointer: fine) {
    .gnav__menu__item a.line2:hover {
      --hover-offset-y: 2.5em;
    }
  }
}

/*1350*/


@media screen and (max-width: 1330px) {
  .top_support_ttl p {
    font-size: clamp(50px, 10vw, 133px);
  }

  .top_support_txtbox {
    padding: 80px 90px 0;
  }
}


@media screen and (max-width: 1200px) {
  .section_navi_area {
    width: 96%;
    margin: 0 0 180px auto;
  }

  .section_concept_area {
    width: 96%;
    margin: 0 auto 130px 0;
  }

  .ttl_top_works_area {
    margin-left: 5%;
  }

  .top_works_list_area {
    margin-left: 5%;
  }

  .top_works_cont_area {
    width: 86%;
  }
}

@media screen and (max-width: 1180px) {
  .top_support_txtbox {
    padding: 70px 80px 0;
  }

  ul.support_list li {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 1100px) {
  .section_concept_ttl h3 {
    margin-left: 50px;
  }

  .section_concept .column {
    width: 53%;
  }

  .ttl_section_navi p {
    font-size: 60px;
  }

  .ttl_top_lineup_cont p {
    font-size: clamp(30px, 3.2vw, 40px);
  }

  .section_concept_ttl h3 {
    font-size: 34px;
  }

  .youtube_txt,
  .project_txt {
    font-size: 18px;
  }

  .line_txt2 {
    font-size: 15px;
  }

  .footer_sns_line a,
  .footer_sns_youtube a,
  .footer_sns_project a {
    background-size: 35px 35px;
  }
}

.footer_sns_list a p {
  color: #fff;
  transition: opacity 0.4s ease;
}

.footer_sns_youtube a p {
  color: #1A1A1A;
}

.footer_sns_list a:hover p {
  opacity: 0.6;
}

@media screen and (max-width: 1000px) {
  .ttl_top_lineup_cont p {
    font-size: clamp(28px, 3vw, 40px);
  }

  .support_comment {
    width: 190px;
  }
}

@media screen and (max-width: 980px) {
  .support_list_ttl h3 {
    font-size: 18px;
  }

  .top_support_txtbox {
    padding: 60px 60px 0;
  }

  ul.top_about_links {
    max-width: 90%;
  }

  .footer_contact_area {
    flex-wrap: wrap;
  }

  .footer_contact_left {
    max-width: 100%;
    width: max-content;
    margin: 0 auto 70px;
  }

  .footer_contact_right {
    max-width: 100%;
    width: 100%;
  }

  .catalog_reservation {
    margin: auto;
  }
}

/*980px*/

@media screen and (max-width: 880px) {
  .top_lineup_list {
    flex-wrap: wrap;
  }

  .top_lineup_cont {
    width: 100%;
    margin-bottom: 30px;
  }

  .top_lineup_cont_inner {
    width: 90%;
  }

  .ttl_top_works p {
    font-size: 51px;
  }

  .top_works_cont_area {
    width: 80%;
    flex-wrap: wrap;
  }

  .top_works_cont {
    width: 100%;
    margin-bottom: 50px;
  }

  .top_works_cont_img {
    height: 170px;
  }

  .top_lineup_ttl p {
    font-size: 51px;
  }

  .ttl_links {
    font-size: 45px;
  }

  .ttl_section_links {
    font-size: 16px;
  }

  .top_support_inner {
    display: block;
  }

  .top_support {
    display: flex;
  }

  .top_support_txtbox {
    position: static;
    width: 100%;
    background: #F7F6EE;
    padding: 40px 5% 0;
    height: auto;
  }

  .top_support_left img {
    display: block;
    width: 96%;
  }

  .top_support_txtbox {
    width: 100%;
    height: auto;
    margin: auto;
  }

  .support_comment {
    width: 90%;
    position: static;
    margin: 45px auto 30px;
    padding: 0;
  }

  .top_support_ttl {
    position: static;
    transform: inherit;
    width: 90%;
    margin: -32px auto 10px;
  }

  .top_support_ttl p {
    font-size: 54px;
    margin-bottom: 10px;
  }

  .top_support_ttl h3 {
    font-size: 14px;
    line-height: 1.3;
    text-align: left;
  }

  .support_comment::before {
    top: -22px;
    left: 43px;
  }

  .section_links_area {
    margin: 0 auto 60px;
  }

  .top_support {
    padding-bottom: 60px;
  }

  .footer_sns_list {
    grid-template-columns: repeat(1, 1fr);
  }

  .footer_navi {
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
  }

  .footer_navi ul {
    width: 35%;
    min-width: 220px;
  }

  .footer_info_area {
    flex-wrap: wrap;
  }

  .footer_info {
    width: 100%;
    margin-bottom: 20px;
  }

  .section_concept .column {
    width: 90%;
    margin-right: 0;
  }

  .column-outside-left {
    margin-left: 0 !important;
  }

  .section_concept_right {
    width: 19% !important;
  }

  .section_concept_ttl {
    width: 100%;
    margin: 0 auto;
  }

  .ttl_footer_contact p {
    font-size: clamp(40px, 8vw, 73px);
  }

  .column-outside-left {
    margin-left: 0;
    margin-right: 0;
  }

  .section_concept_txt {
    max-width: 95%;
    margin: 40px 0 0 auto;
  }
}

/*880px*/

@media screen and (max-width: 860px) {
  .smt_navi_left {
    width: 170px;
  }
}

@media screen and (max-width: 880px) {
  .slide_area_variable1 {
    max-width: 95%;
    margin: 0 0 0 auto;
  }

  .variable1_ttl {
    width: 95%;
  }

  .slide_area_variable1 .variable {
    width: 100%;
    padding-left: 0;
    margin-top: 25px;
    margin-right: 0;
  }
}

@media screen and (max-width: 840px) {
  .section_navi {
    flex-wrap: wrap;
  }

  ul.top_event_list {
    margin-bottom: 70px;
  }

  .column-outside-right {
    margin-right: 0;
    margin-left: 0;
    width: 100%;
  }

  .section_navi {
    display: block;
  }

  .ttl_section_navi p {
    font-size: 49px;
  }

  .section_navi_txt {
    width: 95%;
  }

  .section_concept_right {
    margin-bottom: 30px;
  }

  .section_navi_area {
    margin: 0 0 60px auto;
  }

  .section_concept_ttl p {
    font-size: 14px;
  }

  .section_concept_ttl h3 {
    font-size: 26px;
  }

  .section_concept_ttl h3 {
    margin-left: 30px;
    letter-spacing: 2px;
  }

  .section_concept_ttl h3 span {
    padding-top: 90px;
  }

  .section_concept_txt p {
    font-size: 14px;
    line-height: 1.785;
    width: 100%;
    margin: 0 0 40px auto;
  }

  .section_concept {
    margin-bottom: 49px;
  }

  .section_concept_txt {
    padding-left: 5%;
    margin-top: 30px;
  }
}

.top_event_ttl p,
.ttl_section_navi p,
.ttl_section_navi p,
.top_lineup_ttl p,
.ttl_top_works p,
.top_support_ttl p,
.ttl_top_about p,
.ttl_top_blog p,
.ttl_top_news p,
.ttl_instagram,
.ttl_footer_contact p {
  letter-spacing: 0.01em;
}

@media screen and (max-width: 700px) {
  .section_concept {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 660px) {
  .section_concept {
    margin-bottom: 10px;
  }

  .section_concept_right {
    width: 20% !important;
  }
}

@media screen and (max-width: 620px) {
  .section_concept_ttl h3 {
    font-size: clamp(18px, 4vw, 26px);
  }

  .section_concept_right {
    width: 23% !important;
  }
}

/*---------------------------------------------------------------------

	 コンセプト Concept

---------------------------------------------------------------------*/
.concept_fv_area {
  position: relative;
}

.concept_fv_inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.concept_fv_left {
  background: #E8E7E1;
  position: relative;
  width: 57.88vw;
  margin-top: clamp(150px, 15.5vw, 235px);
  padding: 13.5vw 3vw 35vw;
  min-height: 1007px;
}

.concept_fv_left:after {
  content: "";
  display: block;
  background: url("../images2025/concept_bg_img.png")no-repeat left bottom/contain;
  width: 46vw;
  min-width: 268px;
  height: 481px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.concept_fv_right {
  position: relative;
  top: 0;
  right: 0;
  width: 57.88vw;
  margin-left: -240px;
}

.concept_fv_right img {
  width: 57.88vw;
  height: auto;
  display: block;
  position: relative;
  z-index: 99;
}

.ttl_concept {
  position: absolute;
  left: 7%;
  top: 0;
  transform: translateY(-40%);
}

.ttl_concept p {
  font-size: 100px;
  font-size: clamp(60px, 6.7vw, 100px);
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1;
  letter-spacing: 0;
}

.ttl_concept h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  margin: 14px 0 0 0;
}

ul.pankuzu_list {
  max-width: 97%;
  margin: auto;
  white-space: nowrap;
}

ul.pankuzu_list li {
  display: inline-block;
  font-weight: 400;
  font-size: 12px;
  color: #8D7A68;
}

ul.pankuzu_list li a {
  font-size: 12px;
  font-weight: 400;
  color: inherit;
}

ul.pankuzu_list li::after {
  content: "ー";
  padding: 0 3px 0 9px;
  position: relative;
  top: 1px;
  color: #8D7A68;
}

ul.pankuzu_list li img {
  position: relative;
  top: -3px;
}

ul.pankuzu_list li:last-child::after {
  content: "";
}

.page_copy {
  margin-top: 96px;
  letter-spacing: 0;
  margin-left: 10vw;
}

.page_copy p {
  margin-bottom: 4px;
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.page_copy h3 {
  font-size: 38px;
  line-height: 1.447;
  letter-spacing: 3px;
}

.page_flow_copy {
  margin-top: 96px;
  letter-spacing: 0;
  margin-left: 10vw;
}

.page_flow_copy p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.page_flow_copy h3 {
  font-size: 30px;
  line-height: 1.447;
  letter-spacing: 3px;
}

.concept_fv_right p {
  font-size: 16px;
  font-weight: 400;
  line-height: 2.187;
  margin: 170px 0 0 60px;
  width: 75%;
  letter-spacing: 1px;
}

.promise_area {
  padding: 0 0 0;
  border-top: solid 1px #CEC9C1;
}

.ttl_promise {
  width: 1100px;
  max-width: 90%;
  margin: 31px auto 104px;
}

.ttl_promise h3 {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 2px;
}

.ttl_promise h3 span {
  color: #8D7A68;
}

.ttl_promise p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.promise_flex_left_img {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 22px;
}

.promise_flex_left_img .promise_img p {
  font-size: 15px;
  line-height: 1.6;
  position: absolute;
  top: -24px;
  right: 29px;
  border: solid 1px #1A1A1A;
  background: #F7F6EE;
  min-height: 48px;
  padding: 10px 21px 12px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.promise_flex_right_img .promise_img p {
  font-size: 15px;
  line-height: 1.6;
  position: absolute;
  top: -29px;
  left: -27px;
  border: solid 1px #1A1A1A;
  background: #F7F6EE;
  min-height: 48px;
  padding: 14px 17px 16px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.promise_flex_left_img .promise_img p.txt_v {
  font-size: 15px;
  line-height: 1.6;
  position: absolute;
  top: -23px;
  right: -19px;
  border: solid 1px #1A1A1A;
  background: #F7F6EE;
  min-height: 48px;
  padding: 15px 11px 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 2px;
}

.promise_flex_right_img .promise_img p.txt_v {
  font-size: 15px;
  line-height: 1.6;
  position: absolute;
  top: -32px;
  left: -46px;
  border: solid 1px #1A1A1A;
  background: #F7F6EE;
  min-height: 48px;
  padding: 20px 16px 20px;
  padding: 18px 17px 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  writing-mode: vertical-rl;
  letter-spacing: 2px;
}

.promise_img {
  position: relative;
}

.promise_txt h3 {
  font-size: 28px;
  font-weight: 500;
  margin-bottom: 15px;
  letter-spacing: 2px;
}

.promise_txt h3 span {
  color: #8D7A68;
}

.promise_txt p {
  font-size: 15px;
  line-height: 1.866;
}

.column-outside-left {
  flex: 1;
  margin-left: calc(50% - 50vw);
  margin-right: 8%;
}

.column-outside-right {
  flex: 1;
  margin-right: calc(50% - 50vw);
  margin-left: 8%;
}

.column1 {
  width: 47%;
}

.column2 {
  width: 53%;
}

.reverse {
  flex-direction: row-reverse;
}

.size1100 {
  width: 1100px;
  height: 50px;
  background: #000;
  margin: auto;
}

.promise_flex_right_img {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 22px;
}

.woodplus_idea {
  padding: 0 0 67px;
  position: relative;
  border-top: solid 1px #CEC9C1;
}

.border1100 {
  width: 1100px;
  max-width: 90%;
  margin: -1px auto 0;
  padding-bottom: 40px;
  position: relative;
}

.border1100:before {
  content: "";
  display: block;
  border-top: solid 1px #1A1A1A;
  width: 82px;
}

.ttl_idea {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 77px;
}

.ttl_idea h3 {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 2px;
  padding-bottom: 5px;
}

.ttl_idea h3 span {
  color: #8D7A68;
}

.ttl_idea p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

ul.idea_list {
  width: 1100px;
  max-width: 90%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

ul.idea_list li {
  width: 47%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 65px;
}

ul.idea_list li img {
  width: 165px;
  height: auto;
}

.idea_txt {
  margin-left: 30px;
  width: calc(100% - 175px);
}

.idea_txt h3 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  padding-left: 30px;
  background: url("../images2025/icon_check.svg") no-repeat left top 7px/18px auto;
  margin-bottom: 10px;
  margin-top: -5px;
  letter-spacing: 0;
}

.idea_txt p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.714;
}

.concept_bottom {
  padding-bottom: 100px;
}

.concept_bottom_bg {
  height: 453px;
  background: url("../images2025/concept_img10.jpg") no-repeat 50% 50%/cover;
  position: relative;
  margin-bottom: 70px;
}

.ttl_concept_bottom {
  font-size: 30px;
  font-weight: 400;
  line-height: 2;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  writing-mode: vertical-rl;
  letter-spacing: 8px;
  white-space: nowrap;
}

p.concept_bottom_note {
  font-size: 16px;
  font-weight: 400;
  line-height: 2.25;
  text-align: center;
  padding-bottom: 110px;
}

.goto_top a {
  font-size: 16px;
  font-weight: 400;
  position: relative;
  text-align: center;
  display: block;
}

.goto_top a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.goto_top a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}




/*---------------------------------------------------------------------

	 初めての方へ For visitor forvisitor

---------------------------------------------------------------------*/

.forvisitor_fv_inner {
  display: flex;
  justify-content: space-between;
  background: linear-gradient(to right, #E8E7E1 65%, transparent 0);
  margin-top: 14vw;
  padding-bottom: 3vw;
}

.forvisitor_fv_right {
  width: 75%;
  margin-top: -14vw;
  overflow-x: hidden;
  overflow-y: visible;
}

.forvisitor_fv_right_main {
  max-width: 100%;
  margin: 0 0 150px auto;
  transition: all 0.3s;
}

.forvisitor_fv_right_sub {
  min-width: 700px;
  max-width: 70%;
  margin: 0 0 0 auto;
  position: relative;
}

.forvisitor_fv_right_main img,
.forvisitor_fv_right_sub img {
  width: 100%;
  height: auto;
  display: block;
}

.forvisitor_fv_right_main {
  margin-bottom: 150px;
}

.forvisitor_fv_left {
  position: relative;
  padding: 13.5vw 0 10vw 3vw;
}

.ttl_forvisitor {
  position: absolute;
  left: 7%;
  top: 0;
  transform: translateY(-40%);
}

.ttl_forvisitor p {
  font-size: 100px;
  font-size: clamp(60px, 6.7vw, 100px);
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1;
  letter-spacing: -2px;
}

.ttl_forvisitor h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  margin: 14px 0 0 0;
}

.page_txt {
  margin-top: 160px;
  letter-spacing: 0;
  margin-left: 10vw;
  min-width: 470px;
}

.page_txt p {
  font-size: 16px;
  line-height: 2.187;
  margin-bottom: 47px;
}

.forvisitor_fv_right_sub {
  position: relative;
  margin-left: auto;
}

.forvisitor_fv_right_sub img {
  width: 100%;
  height: auto;
  display: block;
}

.forvisitor_fv_right_sub_copy {
  position: absolute;
  top: 2vw;
  left: -22px;
  display: flex;
  flex-direction: row-reverse;
  gap: 0;
  align-items: flex-start;
}

.vertical_col {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  background: #F7F6EE;
  padding: 0.8em 0.5em 0.5em;
  font-size: clamp(14px, 1.5vw, 22px);
  font-weight: 500;
  line-height: 1.6;
  color: #1A1A1A;
  letter-spacing: 0.1em;
  display: inline-block;
}

.vertical_col p {
  margin: 0;
  letter-spacing: 2px;
}

.vertical_col p span {
  color: #8D7A68;
}

.col2 {
  margin-top: 2.5vw;
}

.flexible_response {
  border-top: solid 1px #CEC9C1;
  padding-bottom: 100px;
}

.flexible_response_inner {
  width: 1100px;
  max-width: 90%;
  margin: auto;
  display: flex;
  justify-content: space-between;
}

.response_side {
  margin-top: 42px;
  width: 340px;
  width: 30.9%;
}

.response_content {
  width: 760px;
  width: 69.1%;
}

ul.response_list li a {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  padding-bottom: 13px;
  display: block;
  color: #AFA492;
}

ul.response_list li a.active {
  color: #1A1A1A;
}

.ttl_response_content {
  margin-top: 31px;
}

.ttl_response_content h3 {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 2px;
}

.ttl_response_content h3 span {
  color: rgb(141, 122, 104);
}

.ttl_response_content p {
  font-size: 15px;
  font-weight: 500;
  color: rgb(141, 122, 104);
  font-family: "Red Hat Display", sans-serif;
}

.response_content_note {
  font-size: 15px;
  line-height: 1.866;
  margin-top: 77px;
  margin-bottom: 21px;
}

ul.response_content_list {
  margin-bottom: 103px;
}

ul.response_content_list li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 760px;
  margin: 0 auto;
  gap: clamp(16px, 3vw, 40px);
  margin-bottom: 33px;
}

.response_content_img {
  flex: 0 0 31%;
  max-width: 236px;
}

.response_content_img img {
  width: 100%;
  height: auto;
  display: block;
}

.response_content_txt {
  flex: 1;
  max-width: 488px;
  font-size: clamp(14px, 1.6vw, 18px);
  line-height: 1.8;
}

@media screen and (max-width: 768px) {}

.response_point {
  font-size: 15px;
  line-height: 1;
  min-height: 32px;
  background: #E8E7E1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 15px;
  margin-bottom: 10px;
}

.response_content_txt p {
  font-size: 15px;
  line-height: 1.714;
}

.environment_img {
  width: 100%;
  margin-bottom: 23px;
}

.environment_content {
  border-top: solid 1px #CEC9C1;
  padding-bottom: 100px;
  position: relative;
}

.environment_content::before {
  content: "";
  display: block;
  border-top: solid 1px #1A1A1A;
  width: 82px;
  margin-top: -1px;
  position: relative;
  z-index: 2;
}

.environment_content::after {
  content: "";
  position: absolute;
  left: 0;
  left: 27.5%;
  right: 0;
  transform: translateX(-50%);
  top: var(--line-y, 0);
  width: 100vw;
  height: 0;
  border-top: 1px solid #CEC9C1;
  pointer-events: none;
  margin-top: -1px;
}

.fixedArea {
  position: relative;
}

.fixedTitle {
  position: absolute;
  transition: padding-top 0.4s ease, top 0.4s ease;
}

.fixedTitle.is-fixed {
  position: fixed;
  top: 0;
  z-index: 9999;
}

.ttl_environment_point {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-left: solid 3px #8D7A68;
  padding-left: 20px;
  height: 50px;
  margin-bottom: 20px;
}

.ttl_environment_point p {
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  margin-left: 5px;
  color: #8D7A68;
  margin-bottom: 5px;
}

.ttl_environment_point h3 {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  margin: 0;
}

.ttl_environment_point h3 span {
  color: #8D7A68;
}

.environment_point_note {
  font-size: 15px;
  line-height: 1.866;
  margin-bottom: 52px;
}

.environment_img2 {
  width: 100%;
  margin: 144px 0 30px;
}

.hexagon {
  border: solid 1px #CEC9C1;
  width: 300px;
  height: 300px;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0% 25%);
}

.hex_border {
  position: relative;
  display: inline-block;
  padding: 32px 38px;
  border: solid 1px #CEC9C1;
  width: 100%;
}

.hex_border:before {
  content: "";
  background: url("../images2025/corner.png") no-repeat left top/20px auto;
  position: absolute;
  left: -1px;
  top: -1px;
  width: 20px;
  height: 20px;
}

.hex_border:after {
  content: "";
  background: url("../images2025/corner.png") no-repeat right bottom/20px auto;
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 20px;
  height: 20px;
}

.hex_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
}

.hex_img {
  width: 113px;
}

.hex_txt {
  width: 528px;
  max-width: 90%;
}

.hex_txt p {
  font-size: 15px;
  line-height: 1.866;
  color: #8D7A68;
}

.flexible_response {
  background: #F7F6EF;
  overflow: hidden;
}

ul.example_list {
  border-left: solid 1px #CEC9C1;
  border-right: solid 1px #CEC9C1;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 62px;
}

ul.example_list li {
  width: 50%;
  display: flex;
  justify-content: center;
}

ul.example_list li h3 {
  font-size: 18px;
  font-weight: 400;
  writing-mode: vertical-rl;
  margin-right: 10px;
}

.example_list_cont {
  width: 180px;
}

.example_list_cont img {
  margin-bottom: 10px;
}

.example_list_cont p {
  font-size: 14px;
  line-height: 1.714;
}

ul.example_list li:nth-child(1) {
  padding: 0 70px 70px 70px;
  border-right: solid 1px #CEC9C1;
  border-bottom: solid 1px #CEC9C1;
}

ul.example_list li:nth-child(2) {
  padding: 0 70px 70px 70px;
  border-bottom: solid 1px #CEC9C1;
}

ul.example_list li:nth-child(3) {
  padding: 70px 70px 0 70px;
  border-right: solid 1px #CEC9C1;
}

ul.example_list li:nth-child(4) {
  padding: 70px 70px 0 70px;
}

.materials_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.materials_list li {
  width: 23%;
  margin-bottom: 30px;
}

.materials_list li p {
  text-align: center;
  font-size: 14px;
  white-space: nowrap;
}

.materials_list li img {
  margin-bottom: 10px;
}

@media screen and (max-width: 1700px) {
  .forvisitor_fv_right_main {
    margin-bottom: 162px !important;
  }
}

@media screen and (max-width: 1580px) {
  .forvisitor_fv_right_sub {
    min-width: inherit;
    max-width: 100%;
    width: min(100%, 700px);
    width: 45.5vw;
  }
}

@media screen and (max-width: 1500px) {
  .forvisitor_fv_right_main {
    margin-bottom: 70px !important;
  }
}

@media screen and (max-width: 1400px) {
  .forvisitor_fv_left {
    width: 50%;
  }

  .forvisitor_fv_right_main img,
  .forvisitor_fv_right_sub img {
    width: 54vw;
    margin-right: 0;
    margin-left: auto;
  }
}

@media screen and (max-width: 1200px) {
  .page_txt {
    margin-top: 50px;
    letter-spacing: 0;
    margin-left: 5vw;
    min-width: inherit;
    width: 100%;
  }
}

@media screen and (max-width: 1080px) {
  ul.example_list li:nth-child(1) {
    padding: 0 30px 30px 30px;
  }

  ul.example_list li:nth-child(2) {
    padding: 0 30px 30px 30px;
    border-bottom: solid 1px #CEC9C1;
  }

  ul.example_list li:nth-child(3) {
    padding: 30px 30px 0 30px;
  }

  ul.example_list li:nth-child(4) {
    padding: 30px 30px 0 30px;
  }
}

@media screen and (max-width: 900px) {
  .ttl_forvisitor {
    left: 5%;
  }

  .ttl_forvisitor p {
    font-size: 50px;
  }

  .ttl_forvisitor h3 {
    font-size: 16px;
    margin: 9px 0 0 0;
  }

  .forvisitor_fv_inner {
    display: block;
    background: linear-gradient(to right, #E8E7E1 85%, transparent 0);
    margin-top: 35px;
    position: relative;
    padding: 120px 0 22vw;
  }

  .flow_fv_left {
    margin-top: 35px;
  }

  .flow_fv_left {
    margin-top: 35px;
  }

  .forvisitor_fv_main {
    margin-top: 6vw;
    margin-bottom: 70px;
  }

  .forvisitor_fv_sub {
    padding-right: 15%;
  }

  ul.pankuzu_list {
    /*max-width: 90%;*/
    margin: auto;
  }

  .smt_forvisitor_txt_area {
    width: 90%;
    margin: auto;
    display: flex;
    justify-content: space-between;
  }

  .smt_forvisitor_txt_area {
    position: relative;
  }

  .forvisitor_fv_right_sub_copy {
    position: static;
    margin: -55px auto 0;
    width: 13%;
  }

  .smt_forvisitor_txt {
    width: 66%;
    margin-top: 31px;
  }

  .smt_forvisitor_txt p {
    font-size: 14px;
    margin-bottom: 10px;
    line-height: 1.714;
  }
}

/*900px*/

@media screen and (max-width: 870px) {
  ul.example_list li:nth-child(1) {
    padding: 0 15px 20px 15px;
    border-right: solid 1px #CEC9C1;
    border-bottom: solid 1px #CEC9C1;
  }

  ul.example_list li:nth-child(2) {
    padding: 0 15px 20px 15px;
    border-bottom: solid 1px #CEC9C1;
  }

  ul.example_list li:nth-child(3) {
    padding: 20px 15px 0 15px;
    border-right: solid 1px #CEC9C1;
  }

  ul.example_list li:nth-child(4) {
    padding: 20px 15px 0 15px;
  }

  ul.example_list li h3 {
    font-size: 16px;
  }

  .materials_list li {
    width: 48%;
    margin-bottom: 20px;
  }

  .materials_list li p {
    font-size: 14px;
  }

  .materials_list li img {
    margin-bottom: 5px;
  }

  ul.idea_list li img {
    width: 120px;
    height: auto;
  }

  ul.idea_list li {
    justify-content: space-between;
  }

  .idea_txt {
    margin: 0;
    width: calc(100% - 150px);
  }

  ul.example_list li {
    width: 100%;
    margin-bottom: 35px;
    padding: 0 40px 40px !important;
    justify-content: space-between;
  }

  ul.example_list li:nth-child(1) {
    border-right: none !important;
    border-bottom: solid 1px #CEC9C1;
  }

  ul.example_list li:nth-child(2) {
    border-bottom: solid 1px #CEC9C1;
  }

  ul.example_list li:nth-child(3) {
    border-right: none !important;
    border-bottom: solid 1px #CEC9C1;
  }

  ul.example_list li h3 {
    font-size: 18px;
    width: 40px;
    display: flex;
    align-items: flex-end;
  }

  .example_list_cont {
    width: calc(100% - 40px);
  }

  .example_list_cont img {
    margin-bottom: 10px;
    width: 100%;
  }
}

/*---------------------------------------------------------------------

	 家づくりの流れ Flow

---------------------------------------------------------------------*/

.flow_fv_area {
  position: relative;
}

.flow_fv_inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: solid 1px #CEC9C1;
}

.flow_fv_left {
  background: #E8E7E1;
  position: relative;
  width: 57.88vw;
  margin-top: clamp(150px, 15.5vw, 235px);
  padding: 13.5vw 3vw 12vw;
}

.flow_fv_left2 {
  min-height: clamp(800px, 60vw, 940px);
  margin-top: clamp(150px, 15.5vw, 235px);
}

.flow_fv_right {
  position: relative;
  top: 0;
  right: 0;
  width: 57.88vw;
  margin-left: -240px;
}

.flow_fv_right img {
  width: 57.88vw;
  height: auto;
  display: block;
  position: relative;
  z-index: 99;
}

.ttl_flow {
  position: absolute;
  left: 7%;
  top: 0;
  transform: translateY(-40%);
}

.ttl_flow p {
  font-size: 100px;
  font-size: clamp(60px, 6.7vw, 100px);
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1;
  letter-spacing: 0;
}

.ttl_flow h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  margin: 14px 0 0 0;
}

.ttl_furniture {
  position: absolute;
  left: 7%;
  top: 0;
  transform: translateY(-40%);
}

.ttl_furniture p {
  font-size: 100px;
  font-size: clamp(60px, 6.7vw, 100px);
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1;
  letter-spacing: -4px;
}

.ttl_furniture h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  margin: 14px 0 0 0;
}

@media screen and (max-width: 1400px) {
  .forvisitor_fv_left {
    width: 50%;
  }

  .forvisitor_fv_right_main img,
  .forvisitor_fv_right_sub img {
    width: 54vw;
    margin-right: 0;
    margin-left: auto;
  }
}

.page_copy {
  margin-top: 96px;
  letter-spacing: 0;
  margin-left: 10vw;
}

.page_copy p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.page_copy h3 {
  font-size: 38px;
  line-height: 1.447;
  letter-spacing: 3px;
}

.page_flow_copy {
  margin-top: 108px;
  letter-spacing: 0;
  margin-left: 10vw;
}

.page_flow_copy p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.page_flow_copy h3 {
  font-size: 30px;
  line-height: 1.447;
  letter-spacing: 3px;
}

.flow_fv_right p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  margin: 109px 0 0 10px;
  width: 75%;
  letter-spacing: 0;
}

.flow_detail {
  padding: 31px 0 150px;
  overflow: hidden;
}

.ttl_flow_detail {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 104px;
}

.ttl_flow_detail h3 {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 2px;
}

.ttl_flow_detail h3 span {
  color: #8D7A68;
}

.ttl_flow_detail p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.border1100_2 {
  width: 1100px;
  max-width: 90%;
  margin: -1px auto 0;
  padding-bottom: 0;
  position: relative;
  height: 0;
}

.border1100_2:before {
  content: "";
  display: block;
  border-top: solid 1px #1A1A1A;
  width: 82px;
}

.flow_detail_img {
  margin-bottom: 15px;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.flow_detail_img img {
  width: 100%;
  height: 100%;
  display: block;
}

.flow_slide_area_variable {
  position: relative;
  width: 100vw;
}

.variable_flow.swiper {
  position: relative;
  width: calc(50vw + 550px);
  margin-left: calc(50% - 550px);
  padding-bottom: 100px;
  padding-right: 50px;
}

.variable_flow .swiper-wrapper {
  transition-timing-function: ease;
}

.variable_flow .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}

.variable_flow .swiper-slide {
  flex-shrink: 0;
  margin-right: 0;
}

.variable_flow .swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal {
  width: 100%;
  height: 2px !important;
  left: 0;
  bottom: 0px !important;
  top: auto !important;
}

.flow_nav {
  position: absolute;
  left: calc(50% - 550px);
  bottom: -21px;
  display: flex;
  gap: 15px;
  z-index: 999;
  background: #F7F6EF;
  padding-right: 20px;
}

.flow_name {
  margin: 20px 0 10px;
}

.flow_name span {
  font-size: 22px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
  display: inline-block;
  margin-right: 10px;
}

.flow_name p {
  font-size: 20px;
  font-weight: 500;
  display: inline-block;
}

.flow_txt {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.714;
}

.flow_nav .btn_arrow_wh {
  position: relative;
  display: inline-block;
  width: 62px;
  min-width: 62px;
  height: 41px;
  background: inherit;
  border-radius: 41px;
  overflow: hidden;
  margin: 0 0 0 auto;
  top: 6px;
  border: solid 1px #1A1A1A;
  transition: background .3s, border-color .3s;
}

.flow_nav .btn_arrow_wh span {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -0.5px 0 0 -13.5px;
  width: 25px;
  height: 1px;
  background: #1A1A1A;
  transition: background .3s;
}

.flow_nav .btn_arrow_wh span::before,
.flow_nav .btn_arrow_wh span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -0.5px;
  width: 8px;
  height: 1px;
  background: #1A1A1A;
  transform-origin: right center;
  transition: background .3s;
}

.flow_nav .btn_arrow_wh span::before {
  transform: rotate(45deg);
}

.flow_nav .btn_arrow_wh span::after {
  transform: rotate(-45deg);
}

.flow_nav .btn_arrow_wh span:nth-child(1) {
  transform: translateX(0);
}

.flow_nav .btn_arrow_wh span:nth-child(2) {
  transform: translateX(-250%);
}

@keyframes arrowOut {
  0% {
    transform: translateX(0);
    opacity: 1;
  }

  100% {
    transform: translateX(250%);
    opacity: 0;
  }
}

@keyframes arrowIn {
  0% {
    transform: translateX(-250%);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.flow_next:hover .btn_arrow_wh span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.flow_next:hover .btn_arrow_wh span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.flow_prev .btn_arrow_wh span {
  transform: rotate(180deg);
  margin: -0.5px 0 0 -11.5px;
}

.flow_prev .btn_arrow_wh span::before,
.flow_prev .btn_arrow_wh span::after {
  transform-origin: left center;
  right: auto;
  left: 0;
}

@keyframes arrowOutPrev {
  0% {
    transform: translateX(0);
    opacity: 1;
  }

  100% {
    transform: translateX(-250%);
    opacity: 0;
  }
}

@keyframes arrowInPrev {
  0% {
    transform: translateX(250%);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.flow_prev:hover .btn_arrow_wh span:nth-child(1) {
  animation: arrowOutPrev .6s forwards;
}

.flow_prev:hover .btn_arrow_wh span:nth-child(2) {
  animation: arrowInPrev .6s forwards .2s;
}

.flow_nav :hover {
  cursor: pointer;
}

@media screen and (max-width: 1300px) {
  .page_flow_copy {
    margin-left: 5vw;
  }

  .page_flow_copy h3,
  .ttl_merit_area h3 {
    font-size: clamp(20px, 2.2vw, 30px);
  }

  .flow_fv_left {
    padding: 13.5vw 3vw 16vw;
  }
}

@media screen and (max-width: 1270px) {}

@media screen and (max-width: 1180px) {
  .flow_fv_left {
    padding: 13.5vw 3vw 21vw;
  }
}

@media screen and (max-width: 1100px) {
  .flow_fv_left {
    padding: 13.5vw 3vw 26vw;
  }
}

@media screen and (max-width: 1000px) {}

@media screen and (max-width: 940px) {}

@media screen and (max-width: 900px) {
  .ttl_flow {
    left: 5%;
  }

  .ttl_flow h3 {
    font-size: 16px;
    margin: 9px 0 0 0;
  }

  .ttl_flow p {
    font-size: 50px;
  }

  .ttl_furniture {
    left: 5%;
  }

  .ttl_furniture h3 {
    font-size: 16px;
    margin: 9px 0 0 0;
  }

  .ttl_furniture p {
    font-size: 50px;
  }

  .sp_on_block840.smt_flow_img1 {
    margin-top: 6vw;
    margin-bottom: 70px;
  }

  .page_flow_copy {
    margin-top: 100px;
    margin-left: 5%;
  }

  .smt_fv_txt {
    width: 90%;
    margin: auto;
  }
}

@media screen and (max-width: 1200px) {
  .variable_flow.swiper {
    width: 95%;
    margin-left: auto;
    margin-right: 0;
    padding-bottom: 80px;
  }

  .flow_nav {
    left: 5%;
    bottom: -21px;
  }
}

@media screen and (max-width: 900px) {
  .ttl_flow {
    left: 5%;
  }
}

@media screen and (max-width: 840px) {
  .flow_fv_right {
    display: none;
  }

  .flow_fv_left {
    width: 100%;
    padding: 120px 0 10vw;
    background: linear-gradient(to right, #E8E7E1 85%, transparent 0);
    margin-top: 35px;
  }

  .flow_fv_left2 {
    width: 100%;
    background: linear-gradient(to right, #E8E7E1 85%, transparent 0);
    padding: 120px 0 24vh;
  }

  .choosing_box {
    margin: -80px auto 70px;
  }

  .page_flow_copy {
    margin-top: 10px;
  }

  .sp_on_block840.smt_flow_img1 {
    margin-bottom: 50px;
  }

  .ttl_environment_point h3 {
    font-size: 18px;
  }

  .environment_img2 {
    margin: 70px 0 30px;
  }
}

.flow_detail_area {
  padding-bottom: 100px;
}

.border_bottom_none {
  border-bottom: none;
}

.choosing_box {
  border: solid 1px #707070;
  background: #F7F6EE;
  width: 1100px;
  max-width: 90%;
  margin: -200px auto 70px;
  padding: 40px 10px 63px;
  position: relative;
  z-index: 9;
}

.choosing_box:after {
  content: "";
  display: block;
  background: url("../images2025/arrow_down.svg") no-repeat 0 0/12px 40px;
  width: 12px;
  height: 40px;
  position: absolute;
  right: 50%;
  bottom: -20px;
  transform: translateX(50%);
}

.ttl_choosing {
  font-size: 24px;
  text-align: center;
  font-weight: 500;
  margin-bottom: 43px;
  letter-spacing: 0.04em;
}

ul.choosing_list {
  display: flex;
  justify-content: space-between;
}

ul.choosing_list li {
  width: 33.3%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.choosing_img {
  margin-right: 5px;
}

.choosing_txt {
  font-size: 15px;
  text-align: center;
}

ul.choosing_list li:nth-child(2) {
  border-left: dashed 1px #1A1A1A;
  border-right: dashed 1px #1A1A1A;
}

.choosing_note {
  margin: 0 auto 127px;
  max-width: 100%;
  display: flex;
  justify-content: center;
}

.choosing_note p {
  font-size: 24px;
  font-weight: 500;
  line-height: 2;
  writing-mode: vertical-rl;
  letter-spacing: 4px;
}

.merit_area {
  border-top: solid 1px #CEC9C1;
}

.merit_area_top {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 108px;
  padding-top: 40px;
  display: flex;
  justify-content: space-between;
}

.ttl_merit_area {
  width: 460px;
  width: 41.8%;
}

.ttl_merit_area h3 {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.4545;
  margin-bottom: 5px;
  white-space: nowrap;
}

.ttl_merit_area h3 span {
  color: #8D7A68;
}

.ttl_merit_area p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.ttl_features_area {
  width: 460px;
  width: 41.8%;
}
.ttl_features_area h3 {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.4545;
  margin-bottom: 5px;
}
.ttl_features_area h3 span {
  color: #8D7A68;
}
.ttl_features_area p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}


.txt_merit_area {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8666;
  width: 580px;
  width: 52.72%;
}

.merit_flex1 {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 100px;
  display: flex;
  justify-content: space-between;
}

.merit_flex1 .merit_flex_img {
  width: 26.81%;
  position: relative;
  margin-right: 20px;
}

.merit_flex_img p {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 4px;
  line-height: 1;
  writing-mode: vertical-rl;
  display: flex;
  align-items: flex-end;
  background: #F7F6EE;
  width: 44px;
  padding-bottom: 25px;
}

.merit_flex_img p span {
  color: #8D7A68;
}

.merit_flex_txt {
  width: 68.63%;
}

.merit_num {
  font-size: 12px;
  height: 27px;
  line-height: 1;
  border-radius: 16px;
  border: solid 1px #1A1A1A;
  padding: 0 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: max-content;
  margin-bottom: 11px;
}

.merit_flex_txt h4 {
  font-size: 19px;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 9px;
}

.merit_flex_txt p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.733;
  margin-bottom: 41px;
}

.merit_flex2 {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 136px;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.merit_flex2 .merit_flex_img {
  width: 26.81%;
  position: relative;
  margin-left: 20px;
}

.reference_case_area {
  border-top: solid 1px #CEC9C1;
  padding-bottom: 100px;
}

.reference_case_area_top {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 100px;
  padding-top: 45px;
  display: flex;
  justify-content: space-between;
}

.ttl_reference_case_area {
  width: 520px;
  width: 47.3%;
}

.ttl_reference_case_area h3 {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.4545;
  margin-bottom: 5px;
  letter-spacing: 2px;
  white-space: nowrap;
}

.ttl_reference_case_area h3 span {
  color: #8D7A68;
}

.ttl_reference_case_area p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.txt_reference_case_area {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8666;
  width: 520px;
  width: 47.27%;
}

.case_area_variable .swiper-backface-hidden .swiper-slide {
  padding-bottom: 0 !important;
}

.case_area_variable {
  position: relative;
  width: calc(50vw + 550px);
  margin-left: calc(50% - 550px);
  display: flex;
  justify-content: space-between;
  margin-bottom: 65px;
}

.case_area_variable_left {
  width: 400px;
  width: 34%;
  margin-right: 30px;
}

.variable_case.swiper2 {
  width: 65%;
  overflow: hidden;
}

.variable_case .swiper-wrapper {
  transition-timing-function: ease;
}

.variable_case .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}

.variable_case .swiper-slide {
  flex-shrink: 0;
  margin-right: 0;
}

.variable_case .swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal {
  width: 100%;
  height: 2px !important;
  left: 0;
  bottom: 0px !important;
  top: auto !important;
}

.case_nav {
  display: flex;
  gap: 15px;
  z-index: 999;
  background: #F7F6EF;
}

.case_nav .btn_arrow_wh {
  position: relative;
  display: inline-block;
  width: 44px;
  min-width: 44px;
  height: 29px;
  background: inherit;
  border-radius: 21px;
  overflow: hidden;
  margin: 0 0 0 auto;
  top: 6px;
  border: solid 1px #1A1A1A;
  transition: background .3s, border-color .3s;
}

.case_nav .btn_arrow_wh span {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -0.5px 0 0 -9.5px;
  width: 18px;
  height: 1px;
  background: #1A1A1A;
  transition: background .3s;
}

.case_nav .btn_arrow_wh span::before,
.case_nav .btn_arrow_wh span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -0.5px;
  width: 6px;
  height: 1px;
  background: #1A1A1A;
  transform-origin: right center;
  transition: background .3s;
}

.case_nav .btn_arrow_wh span::before {
  transform: rotate(45deg);
}

.case_nav .btn_arrow_wh span::after {
  transform: rotate(-45deg);
}

.case_nav .btn_arrow_wh span:nth-child(1) {
  transform: translateX(0);
}

.case_nav .btn_arrow_wh span:nth-child(2) {
  transform: translateX(-250%);
}

@keyframes arrowOut {
  0% {
    transform: translateX(0);
    opacity: 1;
  }

  100% {
    transform: translateX(250%);
    opacity: 0;
  }
}

@keyframes arrowIn {
  0% {
    transform: translateX(-250%);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.case_next:hover .btn_arrow_wh span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.case_next:hover .btn_arrow_wh span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.case_prev .btn_arrow_wh span {
  transform: rotate(180deg);
  margin: -0.5px 0 0 -9.5px;
}

.case_prev .btn_arrow_wh span::before,
.case_prev .btn_arrow_wh span::after {
  transform-origin: left center;
  right: auto;
  left: 0;
}

@keyframes arrowOutPrev {
  0% {
    transform: translateX(0);
    opacity: 1;
  }

  100% {
    transform: translateX(-250%);
    opacity: 0;
  }
}

@keyframes arrowInPrev {
  0% {
    transform: translateX(250%);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.case_prev:hover .btn_arrow_wh span:nth-child(1) {
  animation: arrowOutPrev .6s forwards;
}

.case_prev:hover .btn_arrow_wh span:nth-child(2) {
  animation: arrowInPrev .6s forwards .2s;
}

.case_nav :hover {
  cursor: pointer;
}

.case_area_variable_left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.case_area_variable_left h4 {
  font-size: 24px;
  font-weight: 500;
}

.ariable_left_txt p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  margin-bottom: 10px;
}

.ttl_case {
  font-size: 18px;
  font-weight: 500;
  margin: 10px 0 10px;
}

.txt_case {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.714;
}

.crush_crash_project_area {
  border-top: solid 1px #CEC9C1;
  padding-bottom: 100px;
}

.crush_crash_project_area_top {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 84px;
  padding-top: 40px;
  display: flex;
  justify-content: space-between;
}

.ttl_crush_crash_project_area {
  width: 460px;
  width: 41.8%;
}

.ttl_crush_crash_project_area h3 {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.4545;
  margin-bottom: 5px;
}

.ttl_crush_crash_project_area h3 span {
  color: #8D7A68;
}

.ttl_crush_crash_project_area p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.txt_crush_crash_project_area {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8666;
  width: 513px;
  width: 46.63%;
}

.crush_crash_project_flex {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 25px;
  display: flex;
}

.crush_crash_project_flex img {
  width: 50%;
}

.crush_crash_project_txt_flex {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 86px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.crush_crash_project_txt_flex h3 {
  font-size: 23px;
  width: 25.5%;
  line-height: 1.3;
  font-family: "Red Hat Display", sans-serif;
  letter-spacing: 2px;
  white-space: nowrap;
}

.crush_crash_project_txt_flex p {
  width: 68.7%;
  font-size: 15px;
  line-height: 1.866;
}

@media screen and (max-width: 1040px) {
  ul.choosing_list {
    flex-direction: column;
  }

  ul.choosing_list li {
    width: 60%;
    width: max-content;
    margin: auto;
    padding: 20px 40px;
  }

  ul.choosing_list li:nth-child(2) {
    border-left: none;
    border-right: none;
    border-top: dashed 1px #1A1A1A;
    border-bottom: dashed 1px #1A1A1A;
  }
}

@media screen and (max-width: 1220px) {

  .ttl_merit_area h3,
  .ttl_reference_case_area h3,
  .ttl_crush_crash_project_area h3 {
    font-size: clamp(19px, 2.8vw, 33px);
    white-space: nowrap;
  }

  .merit_flex_img p {
    letter-spacing: 2px;
    font-size: clamp(16px, 1.7vw, 21px);
  }

  .crush_crash_project_txt_flex {
    flex-wrap: wrap;
  }

  .crush_crash_project_txt_flex h3 {
    font-size: 20px;
    width: 100%;
    white-space: nowrap;
    margin-bottom: 15px;
  }

  .crush_crash_project_txt_flex p {
    width: 100%;
  }

  .case_area_variable {
    width: 95%;
    margin-left: auto;
    margin-right: 0;
  }
}

/*1220px*/

@media screen and (max-width: 840px) {

  .merit_area_top,
  .reference_case_area_top,
  .crush_crash_project_area_top {
    flex-wrap: wrap;
  }

  .ttl_merit_area,
  .ttl_reference_case_area,
  .ttl_crush_crash_project_area {
    width: 100%;
    margin-bottom: 10px;
  }

  .txt_merit_area,
  .txt_reference_case_area,
  .txt_crush_crash_project_area {
    width: 100%;
    font-size: 14px;
  }

  .merit_flex1,
  .merit_flex2 {
    flex-wrap: wrap;
  }

  .merit_flex_txt {
    width: 100%;
  }

  .merit_flex1 .merit_flex_img {
    width: 100%;
    margin: 0 auto 30px;
    text-align: center;
  }

  .merit_flex2 .merit_flex_img {
    width: 100%;
    margin: 0 auto 30px;
    text-align: center;
  }

  .case_area_variable_left h4 {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .ariable_left_txt p {
    font-size: 14px;
    line-height: 1.75;
  }

  .concept_fv_left {
    margin-top: 35px;
  }
}

@media screen and (max-width: 1220px) {
  .page_copy h3 {
    font-size: clamp(28px, 3.5vw, 38px);
  }

  .page_flow_copy h3 {
    font-size: clamp(20px, 2.8vw, 30px);
  }
}

@media screen and (max-width: 1100px) {
  ul.idea_list li {
    width: 100%;
    margin-bottom: 65px;
  }
}

@media screen and (max-width: 980px) {

  .promise_flex_left_img,
  .promise_flex_right_img {
    flex-wrap: wrap;
  }

  .column1 {
    width: 90%;
  }

  .column-outside-right {
    flex: initial;
    margin: 0 0 40px auto;
  }

  .column2 {
    width: 90%;
    margin: 0 auto 50px;
  }

  .promise_flex_left_img .promise_img p {
    font-size: 12px;
    top: auto;
    right: 29px;
    bottom: -16px;
    min-height: 32px;
    padding: 5px 21px 6px;
  }

  .promise_flex_right_img .promise_img p {
    font-size: 12px;
    top: auto;
    left: -27px;
    padding: 6px 17px 8px;
    bottom: -27px;
  }

  .promise_flex_left_img .promise_img p.txt_v,
  .promise_flex_right_img .promise_img p.txt_v {
    font-size: 12px;
    height: max-content;
    max-height: 100%;
    padding: 15px 6px 15px;
    line-height: 1.4;
  }

  .promise_flex_right_img .promise_img p.txt_v {
    padding: 18px 9px 18px;
    top: -15px;
    left: -28px;
  }

  .promise_txt p {
    font-size: 14px;
  }

  .ttl_idea h3 {
    font-size: clamp(20px, 4vw, 33px);
  }

  .column-outside-left {
    flex: initial;
    width: 90% !important;
    margin: 0 auto 40px;
  }

  .ttl_promise {
    margin: 20px auto 80px;
  }

  .promise_flex_left_img,
  .promise_flex_right_img {
    max-width: 100%;
  }

  .promise_flex_left_img {
    margin: 0 auto 50px;
  }

  .promise_flex_right_img {
    margin: 0 auto 50px;
  }

  .promise_area {
    padding: 0 0 50px;
  }

  .smt_mb25 {
    margin-bottom: 25px !important;
  }
}

/*980px*/

@media screen and (max-width: 840px) {
  .concept_fv_right {
    display: none;
  }

  .concept_fv_left {
    width: 100%;
    min-height: 100%;
    padding: clamp(120px, 15.5vw, 150px) 0% 235px;
    background: linear-gradient(to right, #E8E7E1 85%, transparent 0);
  }

  .page_copy {
    margin-left: 0;
  }

  .page_flow_copy {
    margin-left: 5%;
  }

  .ttl_concept p {
    font-size: 50px;
  }

  .ttl_concept h3 {
    font-size: 16px;
    margin: 8px 0 0 6px;
  }

  ul.pankuzu_list {
    max-width: 90%;
    margin: auto;
  }

  .ttl_concept {
    left: 5%;
  }

  .concept_fv_inner {
    overflow: hidden;
  }

  .smt_concept_img1 {
    position: relative;
    left: 0;
    width: 115vw;
    transform: inherit;
    margin: 23px auto 0;
    overflow: hidden;
  }

  .smt_concept_img1 img {
    width: 100%;
    height: auto;
    display: block;
  }

  .smt_fv_txt p {
    font-size: 14px;
    line-height: 1.714;
    margin: 20px 0 40px;
  }

  .ttl_promise h3 {
    font-size: clamp(24px, 3.3vw, 33px);
    line-height: 1.375;
  }

  .column2 {
    margin: 0 auto 50px !important;
  }

  .promise_txt h3 {
    font-size: clamp(18px, 3vw, 28px);
  }

  .page_copy {
    margin-top: 40px;
  }

  .page_flow_copy {
    margin-top: 58px;
  }

  .page_copy h3 {
    font-size: 28px;
  }

  .page_copy {
    margin-left: 5%;
  }
}

/*840px*/

.mr_negative {
  margin-right: -12px;
}

.variable_case .swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal {
  width: calc(100% - 160px);
  left: 160px;
}

.slide_area_variable1 .variable_case .swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal {
  width: 100%;
  left: 0;
}


/*---------------------------------------------------------------------

	 woodplusが選ぶ、毎日を支える厳選素材 Material

---------------------------------------------------------------------*/

.material_fv_area {
  position: relative;
}

.material_fv_inner {
  display: flex;
  justify-content: space-between;
  background: linear-gradient(to right, #E8E7E1 65%, transparent 0);
  margin-top: 14vw;
  padding-bottom: 3vw;
}

.material_fv_left {
  position: relative;
  padding: 13.5vw 0 0 3vw;
  width: 57.5%;
}

.ttl_material {
  position: absolute;
  left: 7%;
  top: 0;
  transform: translateY(-40%);
}

.ttl_material p {
  font-size: 100px;
  font-size: clamp(50px, 6.7vw, 100px);
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  line-height: normal;
  letter-spacing: -2px;
  margin-bottom: -20px;
}

.ttl_material h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  margin: 14px 0 0 0;
}

.material_fv_right {
  width: 75%;
  margin-top: -14vw;
  overflow-x: hidden;
  overflow-y: visible;
}

.material_fv_right_main {
  max-width: 100%;
  margin: 0 0 150px auto;
  transition: all 0.3s;
}

@media screen and (max-width: 1700px) {
  .material_fv_right_main {
    margin-bottom: 162px !important;
  }
}

.material_fv_center {
  width: 90%;
  margin: -110px auto 0;
  position: relative;
  padding-bottom: 94px;
}

.material_bottom {
  background: linear-gradient(to right, #E8E7E1 65%, transparent 0);
  padding-bottom: 100px;
}

.material_fv_center_copy {
  position: absolute;
  bottom: 51px;
  left: 142px;
  left: max(calc((100% - 1100px) / 2), 0px);
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 1290px) {
  .material_fv_center_copy {
    left: 28px;
  }
}



.material_fv_center_copy p {
  background: #F7F6EE;
  padding: 0.2em 0.1em 0.2em 0.8em;
  font-weight: 500;
  line-height: 1.6;
  color: #1A1A1A;
  letter-spacing: 0.1em;
  display: inline-block;
  width: max-content;
  font-size: clamp(21px, 2.6vw, 36px);
}

.material_bottom_txt {
  font-size: 16px;
  line-height: 2.187;
  width: 1100px;
  max-width: 90%;
  margin: auto;
}

.standard {
  border-top: solid 1px #CEC9C1;
  padding-top: 31px;
}

.ttl_standard {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 50px;
}

.ttl_standard h3 {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 2px;
}

.ttl_standard h3 span {
  color: #8D7A68;
}

.ttl_standard p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.txt_standard {
  margin-bottom: 80px;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 47px;
}

.txt_standard p {
  font-size: 15px;
  line-height: 1.866;
}

ul.standard_list {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 100px;
  display: flex;
  justify-content: space-between;
}

ul.standard_list li {
  width: 29%;
}

ul.standard_list li p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
}

.img_standard_list {
  position: relative;
  margin-bottom: 17px;
}

.img_standard_list p.standard_ttl {
  font-size: 20px;
  font-weight: 500;
  background: #F7F6EE;
  padding: 4px 13px 4px;
  position: absolute;
  left: 0;
  bottom: -10px;
}

.img_standard_list p.standard_ttl::before {
  content: "";
  border-left: solid 2px #8D7A68;
  height: 21px;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 13px;
}

@media screen and (max-width:1020px) {
  .img_standard_list p.standard_ttl {
    font-size: clamp(15px, 1.96vw, 20px);
    white-space: nowrap;
  }

  .img_standard_list p.standard_ttl::before {
    top: clamp(15px, 1.96vw, 20px);
  }
}



.natural_materials {
  border-top: solid 1px #CEC9C1;
  padding-top: 31px;
}

.ttl_natural_materials {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 66px;
}

.ttl_natural_materials h3 {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 2px;
}

.ttl_natural_materials h3 span {
  color: #8D7A68;
}

.ttl_natural_materials p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.txt_natural_materials {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 26px;
}

.ttl_natural_materials_sub {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 10px;
}

.txt_natural_materials p {
  font-size: 15px;
  line-height: 1.866;
}

.natural_materials_list {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 87px;
}

.natural_materials_list li.natural_materials_cont {
  display: flex;
  justify-content: space-between;
  padding-bottom: 60px;
  padding-top: 55px;
  border-bottom: solid 1px #CEC9C1;
}

.natural_materials_list li.natural_materials_cont:last-child {
  border-bottom: none;
}

.natural_materials_list_img {
  width: 39.27%;
}

.natural_materials_list li.natural_materials_cont h4 {
  width: 120px;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
}

.color_brown {
  color: #8D7A68;
}

.natural_materials_list_txt {
  width: 42%;
  margin-top: -10px;
}

.natural_materials_list_txt h3 {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 10px;
}

.natural_materials_list_txt p {
  font-size: 15px;
  line-height: 1.8666;
  margin-bottom: 27px;
}

.acco_ctrl {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.acco_btn {
  width: 91px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #1A1A1A;
  border-radius: 15px;
  padding: 0 12px;
  height: 30px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 400;
}

.acco_txt {
  width: 91px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity .35s ease;
}

.acco_txt.change {
  opacity: 0;
}

.acco_icon {
  width: 30px;
  height: 30px;
  border: 1px solid #1A1A1A;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
}

.acco_icon::before,
.acco_icon::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 1px;
  background: #1A1A1A;
  transition: transform .35s ease;
}

.acco_icon::before {
  transform: rotate(0deg);
}

.acco_icon::after {
  transform: rotate(90deg);
}

.acco_icon.active::before {
  transform: rotate(45deg) scaleX(1.05);
}

.acco_icon.active::after {
  transform: rotate(-45deg) scaleX(1.05);
}

.acco_box {
  background: #E8E7E1;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin-top: 0;
  transition: max-height .45s ease, opacity .45s ease, margin-top .45s ease;
}

.acco_inner {
  padding: 40px 47px 15px;
}

.acco_box.open {
  max-height: 1500px;
  opacity: 1;
  margin-top: 40px;
  margin-bottom: 40px;
}

.material_faq .acco_inner {
  padding: 30px 47px 35px;
}

.acco_inner h5 {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 8px;
}

.acco_inner ul li {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 5px;
}

.acco_inner ul {
  margin-bottom: 36px;
}

.basic_option {
  border-top: solid 1px #CEC9C1;
  padding-top: 85px;
}

.ttl_basic_option {
  display: flex;
  justify-content: space-between;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 98px;
}

.ttl_basic_option h3 {
  font-size: 80px;
  line-height: 0.9625;
  width: 280px;
  width: 27%;
  white-space: nowrap;
  font-family: "Red Hat Display", sans-serif;
}

.ttl_basic_option_right {
  width: 720px;
  width: 65.45%;
  margin-top: -10px;
}

.ttl_basic_option_right h3 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 20px;
  margin-top: 20px;
  font-family: "Noto Sans JP", sans-serif !important;
}

.ttl_basic_option_right p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
}

.basic_option_cont {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 110px;
  background: #E8E7E1;
  padding: 60px 70px 70px;
  display: flex;
  justify-content: space-between;
}

.basic_option_cont_inner {
  width: 50%;
}

.basic_option_cont_inner:first-child {
  border-right: solid 1px #C3BDB5;
}

.basic_option_cont_inner h4 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 13px;
}

.basic_option_cont_inner p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8666;
}

.basic_option_cont_left {
  padding-right: 70px;
}

.basic_option_cont_right {
  padding-left: 70px;
}

.material_faq {
  display: flex;
  justify-content: space-between;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 165px;
}

.ttl_material_faq {
  width: 34.54%;
}

.ttl_material_faq h3 {
  font-family: "Red Hat Display", sans-serif;
  font-size: 80px;
  font-weight: 400;
  line-height: 1;
}

.material_faq_cont {
  width: 65.27%;
}

.material_faq_cont h4 {
  font-size: 20px;
  font-weight: 500;
}

.material_faq_question {
  display: flex;
  justify-content: space-between;
  padding: 30px 0 30px;
}

.material_faq_question p {
  font-size: 15px;
  font-weight: 400;
}

.material_faq_question p span {
  font-family: "Red Hat Display", sans-serif;
  font-size: 19px;
  font-weight: 500;
  padding-right: 8px;
}

.material_faq_question:hover {
  cursor: pointer;
}

.material_faq_list {
  border-bottom: solid 1px #CEC9C1;
}

.answer_box p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  padding-left: 35px;
  text-indent: -35px;
}

.answer_box p::before {
  font-family: "Red Hat Display", sans-serif;
  content: "A.";
  font-size: 19px;
  font-weight: 500;
  padding-right: 15px;
}

.material_other_area {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 90px;
  display: flex;
  justify-content: space-between;
}

.material_other_left {
  width: 38%;
}

.material_other_left h3 {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.466;
  margin-bottom: 39px;
}

.material_other_left p {
  font-size: 15px;
  line-height: 1.866;
  font-weight: 400;
  margin-bottom: 38px;
}

.bnr_material_other.first {
  margin-top: 62px;
}

.bnr_material_other {
  margin-bottom: 23px;
}

.bnr_material_other a {
  width: 100%;
  display: flex;
}

.bnr_material_other_img {
  width: 144px;
}

.bnr_material_other_txt {
  background: #E8E7E1;
  width: calc(100% - 144px);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.bnr_material_other_txt_inner {
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: flex-end;
  padding: 20px 25px;
}

.txt_inner_left p {
  font-size: 10px;
  font-weight: 500;
  font-family: "Red Hat Display", sans-serif;
  margin-bottom: 0 !important;
}

.txt_inner_left h3 {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 0 !important;
  line-height: 1.388;
  white-space: nowrap;
}

.bnr_material_other_txt_inner .btn_arrow_bk {
  margin: 0 0 5px 10px;
}

.material_slide_area {
  width: 53%;
  height: 100%;
}

.material_slide_area {
  position: relative;
  margin: 0;
}

.material_swiper {
  width: 100%;
  height: 583px;
}

.material_slide_area .swiper-backface-hidden .swiper-slide {
  padding-bottom: 0px !important;
}

.material_slide_area .swiper-slide {
  width: auto;
  margin-right: 0;
}

.material_swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.material_swiper_pagination {
  position: absolute;
  bottom: 0px !important;
  left: -26px !important;
  display: flex;
  gap: 9px;
  flex-direction: column;
}

.material_swiper_pagination .swiper-pagination-bullet {
  width: 6px;
  height: 6px;
  background: #CEC9C1;
  opacity: 1;
  border-radius: 50%;
}

.material_swiper_pagination .swiper-pagination-bullet-active {
  background: #1A1A1A;
}

.bnr_material_other a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.bnr_material_other a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.page_material {
  padding-bottom: 124px;
}

@media screen and (max-width: 1220px) {

  .ttl_standard h3,
  .ttl_natural_materials h3,
  .ttl_natural_materials h3 {
    font-size: clamp(20px, 2.8vw, 33px);
  }
}

@media screen and (max-width: 1220px) {
  .ttl_basic_option h3 {
    font-size: clamp(48px, 7vw, 80px);
  }

  .ttl_basic_option_right h3 {
    font-size: 20px;
  }
}

@media screen and (max-width: 1000px) {
  .ttl_material h3 {
    font-size: clamp(15px, 1.6vw, 20px);
    margin: 9px 0 0 0;
    white-space: nowrap;
  }
}

@media screen and (max-width: 1060px) {
  .material_other_area {
    flex-wrap: wrap;
  }

  .material_other_left {
    width: 100%;
  }

  .material_other_left h3 {
    font-size: 20px;
    margin-bottom: 15px;
    margin-top: 20px;
  }

  .material_other_left p {
    font-size: 14px;
    line-height: 1.714;
    margin-bottom: 25px;
  }

  .material_slide_area {
    width: 100%;
    height: 100%;
    order: 0;
  }
}

/* land search 土地探し */

.landsearch_fv_inner {
  display: flex;
  justify-content: space-between;
  background: linear-gradient(to right, #E8E7E1 65%, transparent 0);
  margin-top: 13vw;
  padding-bottom: 0;
}

.landsearch_fv_left {
  position: relative;
  padding: 13.5vw 0 9vw 3vw;
}

.landsearch_fv_left2 {
  position: relative;
  padding: 13.5vw 0 13vw 3vw;
}

.ttl_landsearch {
  position: absolute;
  left: 7%;
  top: 0;
  transform: translateY(-60%);
}

@media screen and (max-width: 900px) {
  .ttl_landsearch {
    top: 38px;
  }
}

.ttl_landsearch p {
  font-size: 100px;
  font-size: clamp(60px, 6.7vw, 100px);
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1;
  letter-spacing: -2px;
}

.ttl_landsearch p:nth-of-type(2) {
  margin-top: -25px;
}

.ttl_landsearch h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  margin: 14px 0 0 0;
}

.landsearch_txt {
  margin-top: 9vw;
  letter-spacing: 1px;
  margin-left: 10vw;
  width: 390px;
}

.landsearch_txt h3 {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.466;
  margin-bottom: 20px;
}

.landsearch_txt p {
  font-size: 15px;
  line-height: 1.866;
  margin-bottom: 30px;
}

.landsearch_fv_right {
  width: 56%;
  margin-top: -14vw;
  overflow-x: hidden;
  overflow-y: visible;
}

.landsearch_fv_right_main {
  max-width: 57.75%;
  max-width: 100%;
  margin: 0 0 8vw auto;
  transition: all 0.3s;
}

.landsearch_fv_right_main img,
.landsearch_fv_right_sub img {
  width: 100%;
  height: auto;
  display: block;
}

.landsearch_fv_right_sub {
  min-width: 44.15%;
  margin: 0 auto 0 0;
  position: relative;
}

.landsearch_fv_right_sub {
  min-width: inherit;
  max-width: 100%;
  width: min(100%, 700px);
  width: 45.5vw;
}

@media screen and (max-width: 1400px) {
  .landsearch_fv_left {
    width: 50%;
  }
}

@media screen and (max-width: 1400px) {

  .landsearch_fv_right_main img,
  .landsearch_fv_right_sub img {
    width: 54vw;
    margin-right: 0;
    margin-left: auto;
  }

  .landsearch_txt {
    margin-top: 7vw;
  }
}

@media screen and (max-width: 1300px) {
  .landsearch_txt {
    margin-top: 6vw;
  }
}

@media screen and (max-width: 1170px) {
  .landsearch_txt {
    margin-top: 4vw;
  }
}

@media screen and (max-width: 1100px) {
  .landsearch_txt {
    margin-top: 2vw;
  }
}

@media screen and (max-width: 900px) {
  .landsearch_fv_inner {
    display: block;
    background: linear-gradient(to right, #E8E7E1 85%, transparent 0);
    margin-top: 35px;
    position: relative;
    padding: 120px 0 6vw;
  }

  .landsearch_fv_main {
    margin-top: 6vw;
    margin-bottom: 70px;
  }

  .landsearch_fv_sub {
    padding-right: 15%;
  }

  .smt_landsearch_txt_area {
    position: relative;
  }

  .smt_landsearch_txt_area {
    width: 90%;
    margin: auto;
    display: flex;
    justify-content: space-between;
  }

  .smt_landsearch_txt {
    width: 100%;
    margin-top: 31px;
  }

  .smt_landsearch_txt h3 {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.466;
    margin-bottom: 20px
  }

  .smt_landsearch_txt p {
    font-size: 14px;
    margin-bottom: 10px;
    line-height: 1.714;
  }

  .ttl_landsearch {
    left: 5%;
  }
}

.preparation {
  border-top: solid 1px #CEC9C1;
  padding-top: 31px;
}

.ttl_preparation {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 50px;
}

.ttl_preparation h3 {
  font-size: 33px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 2px;
}

.ttl_preparation h3 span {
  color: #8D7A68;
}

.ttl_preparation p {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.txt_preparation {
  margin-bottom: 80px;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 47px;
}

@media screen and (max-width:1300px) {
  .landsearch_fv_right {
    width: 51%;
  }
}

@media screen and (max-width:1170px) {
  .landsearch_fv_right {
    width: 48%;
  }
}

@media screen and (max-width:1100px) {
  .landsearch_fv_right {
    width: 45%;
  }
}

@media screen and (max-width:980px) {
  .landsearch_fv_right {
    width: 42%;
  }
}

.choosing_point {
  background: #E8E7E1;
  padding: 100px 0 90px;
}

.choosing_point_inner {
  width: 1000px;
  max-width: 90%;
  margin: auto;
}

.choosing_point_inner h3 {
  font-size: 36px;
  font-weight: 300;
  text-align: center;
  margin-bottom: 57px;
}

.choosing_point_inner h3 span {
  color: #8D7A68;
}

.choosing_point_inner ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 28px;
}

.choosing_point_inner ul li {
  width: 33.33%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
  padding-bottom: 30px;
}

.choosing_point_inner ul li:nth-child(1) {
  background: url("../images2025/landsearch_img06.png") no-repeat center center/contain;
  width: 316px;
  height: 200px;
}

.choosing_point_inner ul li:nth-child(2) {
  background: url("../images2025/landsearch_img07.png") no-repeat center center/contain;
  width: 316px;
  height: 200px;
  position: relative;
}

.choosing_point_inner ul li:nth-child(2)::before {
  content: "";
  border-left: dashed 1px #1A1A1A;
  width: 1px;
  height: 70%;
  position: absolute;
  left: -13px;
  bottom: 50%;
  transform: translateY(50%);
}

.choosing_point_inner ul li:nth-child(2)::after {
  content: "";
  border-right: dashed 1px #1A1A1A;
  width: 1px;
  height: 70%;
  position: absolute;
  right: -13px;
  bottom: 50%;
  transform: translateY(50%);
}

.choosing_point_inner ul li:nth-child(3) {
  background: url("../images2025/landsearch_img08.png") no-repeat center center/contain;
  width: 316px;
  height: 200px;
}

.choosing_point_inner ul li h4 {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.7;
}

.choosing_point_inner ul li p {
  text-align: center;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
}

.choosing_point_note {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.777;
  text-align: center;
}

.choosing_point_note span {
  font-weight: 700;
  border-bottom: dotted 1px #1A1A1A;
}

.search_point {
  border-top: solid 1px #CEC9C1;
  padding-top: 31px;
}

.choosing_point_img {
  position: relative;
}

.choosing_point_img img {
  width: 100%;
  height: 466px;
  object-fit: cover;
}

.choosing_flex_left_img {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 110px;
  padding-bottom: 50px;
}

.choosing_flex_right_img {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 110px;
}

.choosing_point_img p.column_txt_right {
  font-size: 24px;
  line-height: 1.6;
  position: absolute;
  border: solid 1px #1A1A1A;
  background: #F7F6EE;
  padding: 25px 25px 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 3px;
  right: -63px;
  bottom: 50%;
  transform: translateY(50%);
  height: max-content;
}

.choosing_flex_left_img .column-outside-left {
  flex: 1;
  margin-left: calc(50% - 50vw);
  margin-right: 10%;
}

.choosing_flex_right_img .column-outside-right {
  flex: 1;
  margin-right: calc(50% - 50vw);
  margin-left: 10%;
}

.column1 {
  width: 47%;
}

.column2 {
  width: 53%;
}

.choosing_num {
  font-size: 32px;
  font-weight: 600;
  font-family: "Red Hat Display", sans-serif;
  color: #8D7A68;
  margin-top: -14px;
  letter-spacing: 3px;
}

.choosing_point_txt p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  margin-bottom: 40px;
}

.ttl_choosing_point {
  font-size: 16px;
  font-weight: 500;
  font-family: "Red Hat Display", sans-serif;
  color: #8D7A68;
  margin-bottom: 5px;
}

ul.choosing_point_list {
  position: relative;
  padding-left: 18px;
}

ul.choosing_point_list::before {
  content: "";
  display: block;
  border-left: solid 1px #8D7A68;
  height: 90%;
  width: 1px;
  background: #8D7A68;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

ul.choosing_point_list li {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.866;
  color: #8D7A68;
  text-indent: -1em;
  padding-left: 1em;
}

.choosing_point_img p.column_txt_right,
.choosing_point_img p.column_txt_left {
  font-size: clamp(12px, 2vw, 24px);
}

@media screen and (max-width: 980px) {
  .choosing_flex_left_img {
    margin: 0 auto 50px;
  }

  .choosing_flex_left_img,
  .choosing_flex_right_img {
    max-width: 95%;
    flex-wrap: wrap;
  }

  .column-outside-left {
    flex: initial;
    width: 90% !important;
    margin: 0 auto 40px;
  }

  .choosing_flex_left_img .choosing_point_img p {
    top: auto;
    right: 29px;
    bottom: -16px;
    min-height: 32px;
    padding: 5px 21px 6px;
  }

  .column2 {
    width: 90%;
    margin: 0 auto 50px;
  }
}

.choosing_point_img p.column_txt_left {
  line-height: 1.6;
  position: absolute;
  border: solid 1px #1A1A1A;
  background: #F7F6EE;
  padding: 30px 25px 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 3px;
  left: -60px;
  bottom: 50%;
  transform: translateY(50%);
  height: max-content;
}

.choosing_point_img p.colum n_txt_left.line3 {
  left: -78px;
}

.worries_area {
  border-top: solid 1px #CEC9C1;
  padding-top: 31px;
}

.worries_box {
  width: 1100px;
  max-width: 90%;
  margin: auto;
}

.worries_list {
  border-bottom: solid 1px #CEC9C1;
}

.worries_faq_question {
  display: flex;
  justify-content: space-between;
  padding: 30px 0 30px;
}

.worries_faq_question p {
  font-size: 20px;
  font-weight: 500;
}

.worries_faq_question p span {
  font-family: "Red Hat Display", sans-serif;
  font-size: 15px;
  font-weight: 500;
  padding-right: 14px;
  position: relative;
  bottom: 3px;
}

.worries_faq_question:hover {
  cursor: pointer;
}

.worries_acco_inner {
  padding: 46px 0 46px;
}

.worries_answer_box {
  display: flex;
  justify-content: space-between;
}

.worries_answer_box p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
}

.worries_left_box {
  width: 46%;
  padding: 0 4% 0 0;
  margin: 0 0 0 auto;
  border-right: solid 1px #CEC9C1;
}

.worries_right_box {
  width: 46%;
  padding: 0 0 0 4%;
  margin: 0 auto 0 0;
}

.worries_left_box h4,
.worries_right_box h4 {
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 10px;
}

.worries_right_box h4 img {
  width: 122px;
  max-width: 100%;
  margin-right: 4px;
}

.worries_left_box p,
.worries_right_box p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  text-align: justify;
}

.worries_list_note {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  margin-top: 30px;
  margin-bottom: 120px;
}

.tochi_bank {
  border-top: solid 1px #CEC9C1;
  padding-top: 31px;
}

.tochi_bank_flex {
  display: flex;
  justify-content: space-between;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 50px;
}

.tochi_bank_flex_cont {
  padding: 0 50px;
}

.tochi_bank_flex_cont img {
  width: 90%;
  max-width: 385px;
  margin: auto;
  display: block;
}

.tochi_bank_flex_cont:first-child {
  border-right: solid 1px #CEC9C1;
}

.tochi_bank_flex_cont h3 {
  font-size: 20px;
  font-weight: 500;
  margin-top: 22px;
  margin-bottom: 15px;
}

.tochi_bank_flex_cont p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
}

.tochi_bank_merit {
  background: #E8E7E1;
  padding: 55px 65px;
  display: flex;
  justify-content: space-between;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 50px;
}

.tochi_bank_merit h3 {
  font-size: 23px;
  font-weight: 500;
  line-height: 1.478;
  width: 270px;
  width: 28%;
  white-space: nowrap;
}

ul.tochi_bank_merit_list {
  width: 610px;
  width: 63%;
}

ul.tochi_bank_merit_list li {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  position: relative;
  padding-left: 22px;
  margin-bottom: 5px;
}

ul.tochi_bank_merit_list li::before {
  content: "";
  background: url("../images2025/icon_merit.svg") no-repeat left top/17px auto;
  width: 20px;
  height: 20px;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 7px;
}

.procedure {
  border-top: solid 1px #CEC9C1;
  padding-top: 31px;
  padding-bottom: 150px;
}

.procedure .variable_flow.swiper {
  position: relative;
  width: calc(50vw + 550px);
  margin-left: calc(50% - 550px);
  padding-bottom: 0;
  padding-right: 50px;
}

@media screen and (max-width: 1200px) {
  .procedure .variable_flow.swiper {
    width: 95%;
    margin-left: auto;
    margin-right: 0;
    padding-bottom: 80px;
  }

  .flow_nav {
    left: 5%;
    bottom: -21px;
  }

  .procedure .swiper-backface-hidden .swiper-slide {
    padding-bottom: 0px;
  }

  ul.standard_list li {
    width: 31%;
  }
}

/*1200px*/

.procedure .swiper-backface-hidden .swiper-slide {
  padding-bottom: 80px;
}

.ideal_life_img {
  position: relative;
  width: 95%;
  margin: 0 auto 60px 0;
}

.ideal_life_img img {
  width: 100%;
}

.ideal_life_img_copy {
  position: absolute;
  bottom: -27px;
  left: calc((100% - 1100px) / 2 + 2.5%);
  display: flex;
  flex-direction: column;
}

.ideal_life_img_copy p {
  background: #F7F6EE;
  padding: 0.2em 0.7em 0.2em;
  font-weight: 500;
  line-height: 1.6;
  color: #1A1A1A;
  letter-spacing: 0.1em;
  display: inline-block;
  width: max-content;
  font-size: clamp(21px, 2.6vw, 36px);
}

.ideal_life_txt {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 138px;
}

.ideal_life_txt_inner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 100px;
}

.ideal_life_txt_inner p {
  width: 46%;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
}

.ideal_life_txt_inner p span {
  font-weight: 700;
  border-bottom: dotted 1px #1A1A1A;
}

.search_point .txt_preparation {
  margin-bottom: 80px;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 90px;
}

.choosing_point_txt.column2 {
  width: 47%;
}

.worries_area .acco_box.open {
  margin-top: 0px;
}

.land.txt_preparation {
  margin: 0 auto 75px;
}

@media screen and (max-width: 1090px) {
  .choosing_point_inner ul {
    flex-wrap: wrap;
  }

  .choosing_point_inner ul li {
    width: 100% !important;
  }

  .choosing_point_inner ul li:nth-child(2)::before {
    border-left: none;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    border-top: dashed 1px #1A1A1A;
    width: 70%;
    height: 1px;
  }

  .choosing_point_inner ul li:nth-child(2)::after {
    border-right: none;
    right: 50%;
    bottom: 0;
    transform: translateX(50%);
    border-bottom: dashed 1px #1A1A1A;
    width: 70%;
    height: 1px;
  }
}

@media screen and (max-width: 1000px) {
  .choosing_point_inner h3 {
    font-size: clamp(20px, 5vw, 36px);
  }
}

@media screen and (max-width: 980px) {
  .choosing_flex_left_img .column-outside-left {
    margin-right: 5%;
  }

  .choosing_flex_right_img .column-outside-right {
    margin-left: 5%;
  }

  .search_point .choosing_flex_left_img .choosing_point_img p {
    top: auto;
    right: 29px;
    bottom: -16px;
    padding: 5px 21px 6px;
    writing-mode: inherit;
  }

  .choosing_point_img p.column_txt_left {
    left: 29px;
    bottom: -16px;
    writing-mode: inherit;
  }

  .choosing_point_txt.column2 {
    margin-right: 0;
  }

  .choosing_point_img p.column_txt_left {
    padding: 5px 21px 6px;
  }
}

@media screen and (max-width: 1156px) {
  .ideal_life_img_copy {
    left: 28px;
  }
}


@media screen and (max-width: 1030px) {
  .tochi_bank_merit {
    flex-wrap: wrap;
  }

  .tochi_bank_merit h3 {
    width: 100%;
    font-size: clamp(18px, 2vw, 23px);
    margin-bottom: 20px;
  }

  ul.tochi_bank_merit_list {
    width: 100%;
  }
}

/* 資金計画　moneyplan2025 */
.money_solution {
  border-top: solid 1px #CEC9C1;
}

.money_solution_flex {
  width: 100%;
  max-width: 100%;
  margin: 0;
  display: flex;
  justify-content: flex-start;
  padding-left: max(0px, calc((100% - 1100px) / 2));
}

.money_solution_img {
  width: 35vw;
  flex-shrink: 0;
  margin-left: auto;
}

.money_solution_img img {
  width: 100%;
  margin-top: -1px;
}

.money_solution_txt {
  padding: 125px 80px 0 0;
}

.money_solution_txt h3 {
  font-size: 42px;
  font-weight: 100;
  line-height: 1.357;
  margin-bottom: 35px;
  letter-spacing: 2px;
}

.money_solution_txt h3 span {
  position: relative;
  z-index: 0;
  background-image: linear-gradient(#CEC9C1 0 0);
  background-size: 100% 1.2em;
  background-repeat: no-repeat;
  background-position: 0 80%;
}

.money_solution_txt p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
}

.money_solution_bottom {
  width: 1100px;
  max-width: 90%;
  margin: 60px auto 110px;
}

.money_solution_bottom h4 {
  position: relative;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.083;
  color: #8D7A68;
  padding-left: 20px;
  margin-bottom: 20px;
}

.money_solution_bottom h4::before {
  content: "";
  display: inline;
  border-left: solid 3px #8D7A68;
  height: 100%;
  position: absolute;
  left: 0;
  top: 3px;
}

.money_solution_bottom p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
}

.plan_content_area {
  width: 760px;
  width: 69.1%;
}

.plan_content {
  border-top: solid 1px #CEC9C1;
  padding-bottom: 100px;
  position: relative;
}

.plan_content::before {
  content: "";
  display: block;
  border-top: solid 1px #1A1A1A;
  width: 82px;
  margin-top: -1px;
  position: relative;
  z-index: 2;
}

.plan_content::after {
  content: "";
  position: absolute;
  left: 0;
  left: 27.5%;
  right: 0;
  transform: translateX(-50%);
  top: var(--line-y, 0);
  width: 100vw;
  height: 0;
  border-top: 1px solid #CEC9C1;
  pointer-events: none;
  margin-top: -1px;
}

.ttl_plan_content h3 {
  font-size: 42px;
  font-weight: 100;
  line-height: 1.357;
  margin-bottom: 15px;
  padding-top: 31px;
  letter-spacing: 2px;
}

.ttl_plan_content h3 span {
  position: relative;
  z-index: 0;
  background-image: linear-gradient(#CEC9C1 0 0);
  background-size: 100% 1.2em;
  background-repeat: no-repeat;
  background-position: 0 80%;
}

ul.plan_content_list {
  margin-top: 90px;
}

ul.plan_content_list li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 70px;
}

.plan_content_list_txt {
  width: 64%;
}

.plan_content_list_img {
  width: 33%;
}

.plan_point_num {
  font-size: 15px;
  font-weight: 500;
  font-family: "Red Hat Display", sans-serif;
  color: #8D7A68;
  line-height: 1.3;
}

.plan_content_list_txt h3 {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 6px;
}

.plan_content_list_txt p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
}

p.plan_content_txt1 {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  margin-bottom: 50px;
  margin-top: 45px;
}

table.visual_control {
  width: 100%;
  border-top: solid 1px #707070;
  border-bottom: solid 1px #707070;
  margin-bottom: 45px;
}

table.visual_control tr:first-child {
  background: #E8E7E1;
  font-weight: 700;
  text-align: center;
  border-bottom: solid 1px #CEC9C1;
}

table.visual_control tr:first-child td {
  padding: 12px 15px 12px;
}

table.visual_control tr td:first-child {
  font-weight: 700;
}

table.visual_control tr td {
  font-size: 15px;
  padding: 10px 15px 11px;
  border-bottom: dotted 1px #1A1A1A;
}

table.visual_control tr td:nth-child(2) {
  border-left: dotted 1px #1A1A1A;
  border-right: dotted 1px #1A1A1A;
  width: 55%;
}

.plan_content_txt_bottom {
  margin: 0 auto 110px;
}

.plan_content_txt_bottom2 {
  margin: 0 auto;
}

.plan_content_txt_bottom h4 {
  position: relative;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  color: #8D7A68;
  padding-left: 20px;
  margin-bottom: 20px;
}

.plan_content_txt_bottom h4::before {
  content: "";
  display: inline;
  border-left: solid 3px #8D7A68;
  height: 88%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-45%);
}

.plan_content_txt_bottom p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
}

.plan_content_flex2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 90px;
  margin-bottom: 80px;
}

.plan_content_flex2_txt {
  width: 46%;
  margin-right: 2%;
}

.plan_content_flex2_img {
  width: 52%;
}

.plan_content_flex2_txt p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  margin-bottom: 25px;
}

p.plan_content_txt2 {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  margin-bottom: 50px;
  margin-top: 45px;
}

.plan_content_flex3 {
  margin-top: 73px;
  margin-bottom: 70px;
}

.plan_content_flex3 li {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 50px;
}

.plan_content_flex3_img {
  width: 32%;
}

.plan_content_flex3_txt {
  width: 65%;
  display: flex;
  flex-direction: column;
}

.plan_content_flex3_txt h3 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 10px;
}

.plan_content_flex3_txt p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
}

.btn_plan_more {
  margin: auto 0 0 auto;
}

.btn_plan_more a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.btn_plan_more a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.btn_plan_more a {
  font-size: 16px;
  font-weight: 400;
  position: relative;
  text-align: right;
  display: block;
}

.plan_content_step {
  margin-top: 40px;
}

.plan_content_step_num {
  font-size: 22px;
  font-weight: 500;
  color: #8D7A68;
  margin-bottom: 18px;
}

.plan_content_step_num span {
  font-family: "Red Hat Display", sans-serif;
  font-size: 24px;
  padding-right: 10px;
}

.plan_content_step_txt {
  padding: 20px 0 47px 42px;
  background: url("../images2025/step_dot.png") repeat-y left 13px top 0/2px 6px;
}

.plan_content_step_txt h4 {
  font-size: 17px;
  font-weight: 500;
  margin-bottom: 8px;
}

.plan_content_step_txt p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
}

.budget_flex {
  width: 100%;
  max-width: 100%;
  margin: 0;
  display: flex;
  justify-content: flex-start;
  padding-left: max(0px, calc((100% - 1100px) / 2));
  position: relative;
}

.budget_flex_img {
  width: 35vw;
  flex-shrink: 0;
  margin-left: auto;
}

.budget_flex_img img {
  width: 100%;
  margin-top: -1px;
}

.budget_flex_txt {
  padding-top: 30px;
  width: 53%;
}

.budget_flex_txt h3 {
  font-size: 40px;
  font-weight: 100;
  line-height: 1.357;
  margin-bottom: 20px;
  letter-spacing: 2px;
}

.budget_flex_txt p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  margin-bottom: 30px;
}

.plan_content2 {
  border-top: solid 1px #CEC9C1;
  padding-bottom: 100px;
  position: relative;
}

.budget_flex::before {
  content: "";
  display: block;
  border-top: solid 1px #1A1A1A;
  width: 82px;
  margin-top: -1px;
  position: absolute;
  z-index: 2;
}

@media screen and (max-width: 1200px) {

  .money_solution_flex,
  .budget_flex {
    max-width: 95%;
    margin: 0 0 0 auto;
    padding-left: 0;
  }

  .money_solution_txt h3,
  .ttl_plan_content h3 {
    font-size: clamp(24px, 3vw, 42px);
  }

  .budget_flex_txt h3 {
    font-size: clamp(26px, 3vw, 40px);
  }

  table.visual_control tr td:first-child {
    min-width: 128px;
  }
}

@media screen and (max-width: 900px) {
  .budget_flex {
    flex-wrap: wrap;
  }

  .budget_flex_txt {
    padding-top: 30px;
    width: 100%;
    padding-right: 5%;
  }

  .budget_flex_img {
    width: 95vw;
    flex-shrink: 0;
    margin-left: auto;
  }

  .money_solution_flex {
    flex-wrap: wrap;
  }

  .money_solution_img {
    width: 95vw;
    margin-top: 30px;
  }

  .money_solution_txt {
    padding: 50px 5% 0 0;
  }
}


.money_solution_bottom {
  margin: 45px auto 115px;
}

ul.plan_content_list {
  margin-top: 45px;
}

@media screen and (max-width: 900px) {
  ul.plan_content_list li {
    flex-wrap: wrap;
  }

  .plan_content_list_txt {
    width: 100%;
    margin-bottom: 20px;
  }

  .plan_content_list_img {
    width: 100%;
  }

  .plan_content_list_img img {
    width: 100%;
  }

  .plan_content_flex2 {
    margin-top: 45px;
    margin-bottom: 60px;
    flex-wrap: wrap;
  }

  .plan_content_flex2_txt {
    width: 100%;
    margin-right: 0;
  }

  .plan_content_flex2_img {
    width: 100%;
    max-width: 350px;
    margin: auto;
  }

  .plan_content_flex3 li {
    margin-bottom: 50px;
    flex-wrap: wrap;
  }

  .plan_content_flex3_img {
    width: 100%;
    margin-bottom: 16px;
  }

  .plan_content_flex3_img img {
    width: 100%;
  }

  .plan_content_flex3_txt {
    width: 100%;
  }

  .plan_content {
    padding-bottom: 60px;
  }

  table.visual_control tr td {
    font-size: 14px;
  }

  .plan_content_flex3_txt h3 {
    margin-bottom: 7px;
  }

  .btn_plan_more {
    margin: 8px 0 0 auto;
  }

  /*
.ttl_plan_content h3, .ttl_plan_content h3, .budget_flex_txt {
	padding-top: 50px;
}
ul.plan_content_list, p.plan_content_txt1, .plan_content_flex2, p.plan_content_txt2, .plan_content_step {
	margin-top: 35px;
}
.budget_flex_txt h3 {
	margin-bottom: 35px;
}
*/
}

/*900px*/

.ttl_moneyplan {
  position: absolute;
  left: 7%;
  top: 0;
  transform: translateY(-40%);
}

.ttl_moneyplan p {
  font-size: 100px;
  font-size: clamp(50px, 6.7vw, 100px);
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  line-height: normal;
  letter-spacing: -2px;
  margin: -15px 0 -15px;
}

.ttl_moneyplan h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  margin: 14px 0 0 0;
}


@media screen and (max-width: 1000px) {
  .ttl_material h3 {
    font-size: clamp(15px, 1.6vw, 20px);
    margin: 9px 0 0 0;
    white-space: nowrap;
  }
}

@media screen and (max-width: 1230px) {
  table.visual_control tr td:nth-child(2) {
    width: 44%;
  }
}

/*---------------------------------------------------------------------

	 会社概要 company

---------------------------------------------------------------------*/

.ttl_company {
  position: absolute;
  left: 5%;
  top: 0;
  transform: translateY(-40%);
}
.ttl_company p {
  font-size: 100px;
  font-size: clamp(50px, 6.7vw, 100px);
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  line-height: normal;
  letter-spacing: -2px;
  margin: -15px 0 -15px;
}
.ttl_company h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  margin: 14px 0 0 0;
}
.company_fv_area {
  position: relative;
}
.company_fv_inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.company_fv_left {
	background: #E8E7E1;
	position: relative;
	width: 145vw;
	margin-top: clamp(228px, 15.5vw, 90px);
	padding: 13.5vw 0 7vw 3vw;
}
.company_fv_right {
	position: relative;
	top: 0;
	right: 0;
	width: 100vw;
	margin-left: -45vw;
}
.company_fv_right img {
	width: 100vw;
	height: auto;
	display: block;
	position: relative;
	z-index: 99;
}
.philosophy {
  background: #E8E7E1;
}
.philosophy_inner {
  background: #F7F6EE;
  width: 95%;
  margin: 0 0 0 auto;
  padding-top: 90px;
}
.ttl_philosophy {
  text-align: center;
  margin-bottom: 25px;
}
.ttl_philosophy p {
  font-size: 35px;
  font-weight: 500;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1.5;
}
.ttl_philosophy h3 {
  font-size: 15px;
  font-weight: 500;
}
p.philosophy_lead {
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 25px;
}
.philosophy_lead_img {
  width: 620px;
  max-width: 90%;
  margin: 0 auto 115px;
}

@media screen and (max-width: 840px) {
.company_fv_right {
	display: none;
}
}

.philosophy_list {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 87px;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  overflow: hidden;
}
.philosophy_list::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #1A1A1A;
  pointer-events: none;
  z-index: 2;
}
.philosophy_list li {
  width: calc(100% / 3);
  padding: 60px 50px 60px;
  box-shadow: 0 0 0 1px #CEC9C1;
  background: #F7F6EE;
  position: relative;
  z-index: 1;
}
.philosophy_list li:nth-child(1) {
  border-radius: 0 0 45px 0;
}
.philosophy_list li:nth-child(2) {
  border-radius: 0 0 45px 45px;
}
.philosophy_list li:nth-child(3) {
  border-radius: 0 0 0 45px;
}
.philosophy_list li:nth-child(4) {
  border-radius: 0 45px 0 0;
}
.philosophy_list li:nth-child(5) {
  border-radius: 45px 45px 0 0;
}
.philosophy_list li:nth-child(6) {
  border-radius: 45px 0 0 0;
}
.ttl_Phil {
  margin-bottom: 20px;
}
.ttl_Phil p {
  font-size: 13px;
  font-weight: 500;
  font-family: "Red Hat Display", sans-serif;
  color: #8D7A68;
  position: relative;
  padding-left: 10px;
}
.ttl_Phil p:before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 8px;
  background: #8D7A68;
  position: absolute;
  left: 0;
  top: 9px;
}
.ttl_Phil h4 {
  font-size: 27px;
  font-weight: 500;
}
.txt_Phil {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
}
.overview_area {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 95px;
}
.ttl_overview {
  margin-bottom: 55px;
}
.ttl_overview h3 {
	font-size: 33px;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: 2px;
}
.ttl_overview p {
	font-size: 15px;
	font-weight: 500;
	color: #8D7A68;
	font-family: "Red Hat Display", sans-serif;
}
.overview_table {
  width: 100%;
  margin-bottom: 92px;
}
.overview_table tr:first-child {
  border-top: solid 1px #CEC9C1;
}
.overview_table tr {
  border-bottom: solid 1px #CEC9C1;
}
.overview_table tr td:nth-child(odd) {
  font-size: 15px;
  font-weight: 500;
  padding: 19px 10px 18px 0;
  width: 130px;
  vertical-align: top;
}
.overview_table tr td:nth-child(even) {
  font-size: 15px;
  font-weight: 400;
  padding: 18px 10px 18px 0;
}

@media screen and (max-width: 1100px) {
.philosophy_list li {
	padding: 50px 40px 50px;
}
.ttl_Phil h4 {
	font-size: clamp(16px, 2.4vw, 27px);
}
}

@media screen and (max-width: 1000px) {
.philosophy_list li {
	padding: 40px 30px 40px;
}
p.philosophy_lead {
	font-size: clamp(18px, 2.4vw, 24px);
}
}

@media screen and (max-width: 980px) {
  .ttl_overview h3 {
    font-size: clamp(20px, 4vw, 33px);
  }
}

@media screen and (max-width: 840px) {
.company_fv_left {
	padding: 13.5vw 0 0vw 5vw;
  margin-top: 35px;
}
.philosophy_list li {
	width: calc(100% / 2);
}
.philosophy_list li:nth-child(2) {
	border-radius: 0 0 0 45px;
}
.philosophy_list li:nth-child(3) {
	border-radius: 0 45px 45px 0;
}
.philosophy_list li:nth-child(4) {
	border-radius: 45px 0 0 45px;
}
.philosophy_list li:nth-child(5) {
	border-radius: 0 45px 0 0;
}
.company_fv_left {
	width: 100vw;
  background: linear-gradient(to right, #E8E7E1 85%, transparent 0);
}
}


/*---------------------------------------------------------------------

	 スタッフ紹介 staff

---------------------------------------------------------------------*/

p.staff_lead {
	font-size: 15px;
	text-align: center;
	line-height: 1.866;
	margin: 0px auto;
	background: linear-gradient(to right, #E8E7E1 65%, transparent 0);
	padding-bottom: 100px;
}
.page_staff {
	padding-bottom: 124px;
}
.staff_fv_area {
	position: relative;
}
.staff_fv_inner {
	display: flex;
	justify-content: space-between;
	background: linear-gradient(to right, #E8E7E1 65%, transparent 0);
	margin-top: 14vw;
	padding-bottom: 3vw;
}
.staff_fv_left {
	position: relative;
	padding: 13.5vw 0 0 3vw;
	width: 57.5%;
}
.staff_fv_right {
	width: 75%;
	margin-top: -14vw;
	overflow-x: hidden;
	overflow-y: visible;
}
.staff_fv_right_main {
  max-width: 100%;
  margin: 0 0 50px auto;
  transition: all 0.3s;
}
.staff_list {
	max-width: 100%;
	margin: 0 auto 87px;
	display: flex;
	flex-wrap: wrap;
}
.staff_list li {
	width: calc(100% / 3);
	padding: 55px 55px 50px;
	box-shadow: 0 0 0 1px #CEC9C1;
	background: #F7F6EE;
}
.staff_list {
  display: flex;
  justify-content: space-between;
}
.staff_list li .staff_info {
	display: flex;
	justify-content: space-between;
	width: 377px;
	max-width: 100%;
	margin: auto;
}
.staff_img {
	max-width: 192px;
	width: 50%;
}
.staff_name_area {
  width: 90px;
  writing-mode: vertical-lr;
}
.staff_en {
  font-size: 12px;
  font-weight: 500;
  font-family: "Red Hat Display", sans-serif;
}
.staff_jp {
  font-size: 24px;
  font-weight: 500;
}
.staff_position {
  font-size: 14px;
  font-weight: 500;
}
.staff_comment_ttl {
  font-size: 15px;
  font-weight: 500;
  color: #8D7A68;
  margin-top: 25px;
  margin-bottom: 2px;
}
.staff_comment_txt {
  font-size: 15px;
  font-weight: 400;
}

.staff_list li:nth-child(1) {
  border-radius: 0 0 45px 0;
}
.staff_list li:nth-child(2) {
  border-radius: 0 0 45px 45px;
}
.staff_list li:nth-child(3) {
  border-radius: 0 0 0 45px;
}

.staff_list li:nth-child(4) {
  border-radius: 0 45px 45px 0;
}
.staff_list li:nth-child(5) {
  border-radius: 45px 45px 45px 45px;
}
.staff_list li:nth-child(6) {
  border-radius: 45px 0 0 45px;
}

.staff_list li:nth-child(7) {
  border-radius: 0 45px 0 0;
}
.staff_list li:nth-child(8) {
  border-radius: 45px 45px 0 0;
}
.staff_list li:nth-child(9) {
  border-radius: 45px 0 0 0;
}


@media screen and (max-width: 1200px) {
.staff_list li {
	padding: 45px 40px 30px;
}
}

@media screen and (max-width: 1000px) {
.staff_jp {
	font-size: clamp(18px, 2.4vw, 24px);
}
}

@media screen and (max-width: 840px) {
.staff_fv_inner {
	flex-wrap: wrap;
  margin-top: 35px;
}
.staff_fv_right {
	width: 100vw;
	margin-top: 6vw;
	margin-left: 5vw;
}
.staff_fv_left {
	padding: 13.5vw 0 0vw 5vw;
	
}  
.staff_list li {
	width: calc(100% / 2);
}
.staff_list li:nth-child(1) {
  border-radius: 0 0 45px 0;
}
.staff_list li:nth-child(2) {
  border-radius: 0 0 0 45px;
}
.staff_list li:nth-child(3) {
  border-radius: 0 45px 45px 0;
}

.staff_list li:nth-child(4) {
  border-radius: 45px 0 0 45px;
}
.staff_list li:nth-child(5) {
  border-radius: 0 45px 45px 0;
}
.staff_list li:nth-child(6) {
  border-radius: 45px 0 0 45px;
}

.staff_list li:nth-child(7) {
  border-radius: 0 45px 45px 0;
}
.staff_list li:nth-child(8) {
  border-radius: 45px 0 0 45px;
}
.staff_list li:nth-child(9) {
  border-radius: 0 45px 0 0;
}
}


@media screen and (max-width: 500px) {
.staff_list li {
	width: calc(100% / 1);
}
.staff_list li:nth-child(1) {
  border-radius: 0 0 45px 45px;
}
.staff_list li:nth-child(2) {
  border-radius: 45px 45px 45px 45px;
}
.staff_list li:nth-child(3) {
  border-radius: 45px 45px 45px 45px;
}
.staff_list li:nth-child(4) {
  border-radius: 45px 45px 45px 45px;
}
.staff_list li:nth-child(5) {
  border-radius: 45px 45px 45px 45px;
}
.staff_list li:nth-child(6) {
  border-radius: 45px 45px 45px 45px;
}
.staff_list li:nth-child(7) {
  border-radius: 45px 45px 45px 45px;
}
.staff_list li:nth-child(8) {
  border-radius: 45px 45px 45px 45px;
}
.staff_list li:nth-child(9) {
  border-radius: 45px 45px 0 0;
}
}


/* lineup_designbridge デザインブリッジ */

.lineup_fv_area {
	position: relative;
	background: linear-gradient(to right, #E8E7E1 85%, transparent 0);
	margin-top: 230px;
  margin-top: clamp(228px, 15.5vw, 90px);
}
.lineup_fv_inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.lineup_fv_right {
	position: relative;
	top: 0;
	right: 0;
	width: 58%;
  margin-top: -230px;
  margin-top: clamp(-228px, -15.5vw, -90px);
}
.lineup_fv_left {
	padding: 13.5vw 0 10vw 5vw;
}
.ttl_lineup {
  position: absolute;
  left: 5%;
  top: 0;
  transform: translateY(-60%);
}
.ttl_lineup p {
  font-size: 100px;
  font-size: clamp(50px, 6.7vw, 100px);
  font-weight: 400;
  font-family: "Red Hat Display", sans-serif;
  line-height: 1;
  letter-spacing: -2px;
}
.ttl_lineup p:nth-of-type(2) {
  margin-top: -20px;
  padding-bottom: 0.08em;
}
.ttl_lineup h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  margin: 9px 0 0 0;
}
@media screen and (max-width: 1100px) {
  .ttl_lineup p {
    line-height: 1.2;
  }
}
@media screen and (max-width: 900px) {
  .ttl_lineup {
    top: 38px;
    left: 5%;
  }
}

.lineup_fv_flex {
	width: 90%;
	margin: auto;
	display: flex;
	justify-content: flex-start;
	padding-bottom: 90px;
}
.lineup_fv_flex_img {
  width: 57%;
  max-width: 777px;
  margin-right: 4%;
}
.lineup_fv_flex_txt {
  width: 38.5%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.lineup_fv_flex_txt p {
  line-height: 2.133;
  font-size: 15px;
}
.lineup_fv_flex_ttl p {
  font-size: 13px;
}
.lineup_fv_flex_ttl h3 {
	font-size: 44px;
	font-family: "Red Hat Display", sans-serif;
	font-weight: 300;
	line-height: 1.2;
	margin-bottom: 15px;
}
.lineup_fv_flex_ttl h4 {
  font-size: 16px;
  font-weight: 400;
}
.infiniteslide li img {
	/*height: clamp(340px, 40.3vw, 362px);*/
	height: 362px;
}
.infiniteslide li {
  margin: 0 2px;
}

.lineup_figure_flex {
  width: 1100px;
  max-width: 90%;
  margin: 120px auto 100px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.lineup_figure1 {
  background: url("../images2025/designbridge_figure.png") no-repeat 0 0/contain;
  width: 523px;
  min-width: 523px;
  height: 454px;
  position: relative;
  margin-right: 7%;
}
.figure_en {
  font-size: 19px;
  font-family: "Red Hat Display", sans-serif;
  font-weight: 500;
  background: #E8E7E1;
  border-radius: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 36px;
  width: 157px;  
}
.figure_jp {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}
.figure_jp span {
  font-size: 13px;
}
.lineup_figure p span {
  display: block;
}
.figure_en1, .figure_jp2, .figure_en3, .figure_jp4, .figure_en5, .figure_jp6 {
  position: absolute;
}
.figure_en1 {
	left: 183px;
	top: 60px;
}
.figure_jp2 {
	left: 176px;
	top: 104px;
}
.figure_en3 {
	left: 34px;
	top: 293px;
}
.figure_jp4 {
	left: 34px;
	top: 336px;
}
.figure_en5 {
	left: 333px;
	top: 293px;
}
.figure_jp6 {
	left: 332px;
	top: 336px;
}
.lineup_figure_txt1 h3 {
	font-size: 26px;
	font-weight: 400;
	position: relative;
  margin-top: -42px;
	margin-bottom: 40px;
	padding-bottom: 20px;
}
.lineup_figure_txt1 h3::before {
	border-bottom: 1px solid #CEC9C1;
	bottom: -10px;
	content: "";
	left: 15px;
	margin: auto;
	position: absolute;
	width: 45px;
}
.lineup_figure_txt1 p {
  font-size: 15px;
  margin-left: 10px;
  line-height: 2.133;
}
.lineup_figure_txt1 p:first-of-type {
  margin-bottom: 20px;
}
.lineup_free_flex {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 126px;
  display: flex;
  justify-content: space-between;
}
.lineup_free_flex_txt {
  width: 45.5%;
}
.lineup_free_flex_txt h3 {
	font-size: 26px;
	font-weight: 400;
	position: relative;
	margin-bottom: 35px;
	padding-bottom: 15px;
}
.lineup_free_flex_txt h3::before {
    border-bottom: 1px solid #CEC9C1;
    bottom: -10px;
    content: "";
    left: 0;
    margin: auto;
    position: absolute;
    width: 45px;
}
.lineup_free_flex_txt p {
  font-size: 15px;
  line-height: 2.133;
}
.lineup_free_flex_img {
  width: 47.9%;
}
ul.free_desing {
  display: flex;
  justify-content: space-between;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 140px;
}
ul.free_desing li {
  padding: 0 30px;
  flex: 1;
}
ul.free_desing li {
  border-left: solid 1px #CEC9C1;
}
ul.free_desing li:last-child {
  border-right: solid 1px #CEC9C1;
}
.free_desing_img {
	margin: 0 auto 10px;
	text-align: center;
}
ul.free_desing li h3 {
  font-size: 20px;
  text-align: center;
  font-weight: 400;
  margin-bottom: 20px;
}
ul.free_desing li p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.714;
}
.three_merit {
	width: 1100px;
	max-width: 90%;
	margin: 0 auto 50px;
	padding-top: 40px;
	display: flex;
	justify-content: space-between;
}
.three_merit_area {
	border-top: solid 1px #CEC9C1;
}
.ttl_three_merit_area {
	width: 460px;
	width: 41.8%;
}
.ttl_three_merit_area h3 {
	font-size: 33px;
	font-weight: 500;
	line-height: 1.4545;
	margin-bottom: 5px;
}
@media screen and (max-width: 1220px) {
  .ttl_three_merit_area h3 {
    font-size: clamp(19px, 2.8vw, 33px);
    white-space: nowrap;
  }
}
.ttl_three_merit_area p {
	font-size: 15px;
	font-weight: 500;
	color: #8D7A68;
	font-family: "Red Hat Display", sans-serif;
}
.txt_three_merit_area {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.8666;
	width: 52.72%;
  text-align: right;
}
@media screen and (max-width: 840px) {
  .txt_three_merit_area {
    width: 100%;
    font-size: 14px;
  }
}
.three_merit_detail {
  width: 1100px;
	max-width: 90%;
	margin: 0 auto 100px;
}
.three_merit_detail_note {
  font-size: 15px;
  margin-bottom: 10px;
}
.architect_area {
  display: flex;
}
.gneral_architect, .woodplus_architect {
  width: 50%;
}
.ttl_gneral_architect {
  background: #CEC9C1;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 79px;
  font-size: 20px;
}
.ttl_woodplus_architect {
  background: #8D7A68;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 79px;
  font-size: 20px;
}
.gneral_architect_cont {
  text-align: center;
  padding: 27px 0 27px;
  border-bottom: solid 1px #CEC9C1;
  position: relative;
}
.gneral_architect_cont:last-child {
  border-bottom: none;
}
.gneral_architect_cont p {
  line-height: 1.4;
}
.gneral_architect_cont p:nth-of-type(1) {
  font-size: 18px;
}
.gneral_architect_cont p:nth-of-type(2) {
  font-size: 13px;
}
.gneral_architect_cont_area {
	background: #fff;
	padding: 0 55px;
	border-right: solid 11px #fff;
	border-bottom: solid 11px #fff;
	border-left: solid 11px #fff;
}
.compare_type {
	font-size: 15px;
	font-weight: 500;
	width: 120px;
	height: 31px;
	border: solid 1px #1A1A1A;
  background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	right: -120px;
	top: 50%;
	transform: translateY(-50%);
}
.woodplus_architect_cont_area {
  background: #fff;
  padding: 0 55px;
  border-right: solid 11px #8D7A68;
  border-bottom: solid 11px #8D7A68;
  border-left: solid 11px #8D7A68;
}

.woodplus_architect_cont {
  text-align: center;
  padding: 27px 0 27px;
  border-bottom: solid 1px #CEC9C1;
  position: relative;
}
.woodplus_architect_cont:last-child {
  border-bottom: none;
}
.woodplus_architect_cont p {
  line-height: 1.4;
}
.woodplus_architect_cont p:nth-of-type(1) {
  font-size: 18px;
  font-weight: 700;
  color: #8D7A68;
}
.woodplus_architect_cont p:nth-of-type(2) {
  font-size: 13px;
}
.architect_step {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 156px;
}
.architect_step_cont {
	display: flex;
	justify-content: space-between;
	align-items: center;
  margin-bottom: 90px;
}
.architect_step_cont_num {
  width: 160px;
  display: flex;
  flex-direction: row-reverse;
}
.architect_step_cont_num p {
  writing-mode: vertical-rl;
  font-size: 34px;
  font-weight: 100;
  line-height: 1.5;
}
.num1, .num2, .num3 {
  position: relative;
  padding-top: 48px;
}
.num1 > *,.num2 > *,.num3 > *{
  position: relative;
  z-index: 1;
}
.num1::before {
  content: "01";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  font-size: 138px;
  font-weight: 500;
  font-family: "Red Hat Display", sans-serif;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.num2::before {
  content: "02";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  font-size: 138px;
  font-weight: 500;
  font-family: "Red Hat Display", sans-serif;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.num3::before {
  content: "03";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  font-size: 138px;
  font-weight: 500;
  font-family: "Red Hat Display", sans-serif;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.architect_step_txt {
  width: 825px;
  width: 75%;
  margin-top: -25px;
}
.architect_step_txt h3 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 15px;
}
.architect_step_txt h3 span {
  color: #8D7A68;
}
.architect_step_txt p {
  font-size: 15px;
  font-weight: 400;
  margin-bottom: 30px;
  line-height: 1.733;
}
.architect_step_box {
  border: solid 1px #CEC9C1;
  padding: 30px 30px;
}
.architect_step_box ul li {
  line-height: 1.642;
  font-size: 14px;
  margin-bottom: 4px;
}
.wish_area {
  width: 1100px;
  max-width: 90%;
  display: flex;
  justify-content: space-between;
  margin: 80px auto 122px;
}
.wish_area_txt {
  width: 545px;
  width: 49.5%;
  margin-top: -15px;
}
.wish_area_txt p {
  font-size: 15px;
  padding: 20px 0;
  border-bottom: solid 1px #CEC9C1;
}
.features_area {
	border-top: solid 1px #CEC9C1;
}
.features_area_inner {
  padding-top: 40px;
  width: 1100px;
  max-width: 90%;
  margin: auto;
}
.features_product {
  margin-bottom: 100px;
}
.features_product_img {
  position: relative;
	margin: 40px 0 40px;
}
.features_product_name {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #F7F6EF;
  display: flex;
  align-items: center;
  padding: 20px 40px 0 0;
}
.features_product_name span {
	color: #8D7A68;
	font-size: 24px;
	font-weight: 500;
	font-family: "Red Hat Display", sans-serif;
	padding-right: 35px;
	border-right: solid 1px #CEC9C1;
	line-height: 1;
	margin-right: 32px;
}
.features_product_name p {
  font-size: 24px;
  font-weight: 500;
}
.features_product_txt {
  width: 650px;
  max-width: 100%;
  margin: auto;
}
.features_product_txt h3 {
	font-size: 22px;
	font-weight: 300;
	margin-bottom: 13px;
}
.features_product_txt p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  margin-bottom: 30px;
}
.features_product_box {
  border: solid 1px #CEC9C1;
  padding: 20px 30px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.features_point {
  font-size: 14px;
  font-weight: 500;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
  margin-right: 25px;
}
.features_product_box ul li {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.857;
}
.products_propose {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 140px;
  padding-top: 40px;
}
.products_propose_list {
	display: flex;
	justify-content: space-between;
  flex-wrap: wrap;
	margin-top: 96px;
}
.products_propose_list li {
  width: 49%;
  background: #E8E7E1;
  margin-bottom: 28px;
}
.propose_list_img {
	width: 94%;
	margin: 3% auto 25px;
}
.propose_list_img img {
  width: 100%;
  border-radius: 13px;
}
.products_propose_list li h3 {
  font-size: 18px;
  text-align: center;
  margin-bottom: 27px;
}
.propose_list_txt {
	border-top: solid 1px #CEC9C1;
	padding: 20px 30px;
}
.propose_list_txt p {
  font-size: 15px;
  line-height: 1.866;
}
.products_flow {
	border-top: solid 1px #CEC9C1;
}
.products_flow_inner {
	padding-top: 40px;
	width: 1100px;
	max-width: 90%;
	margin: auto;
}
.products_flow_content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: 80px;
	margin-bottom: 30px;
	position: relative;
}
.products_flow_content::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 30px;
  background-image: url("../images2025/line_products_flow.png");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100%;
}
.products_flow_content:last-of-type::after {
background: none;
}
.ttl_products_flow {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.ttl_products_flow span {
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  background: #1A1A1A;
  border-radius: 12px;
  font-family: "Red Hat Display", sans-serif;
  width: 34px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
}
.ttl_products_flow p {
  font-size: 20px;
  font-weight: 500;
}
.txt_products_flow {
  width: 687px;
  width: 62.45%;
}
.txt_products_flow h4 {
  font-size: 15px;
  font-weight: 700;
  line-height: 2;
  margin-bottom: 13px;
}
.txt_products_flow p {
  font-size: 14px;
  line-height: 1.714;
  margin-bottom: 25px;
}
.products_flow_box {
  background: #E8E7E1;
  padding: 30px 45px;
}
.products_flow_box ul li {
	font-size: 15px;
	font-weight: 400;
	padding-left: 26px;
	background: url("../images2025/icon_check.png") no-repeat top 6px left 0/18px auto;
	margin-bottom: 5px;
	min-height: 28px;
}
.products_flow_inner .ttl_merit_area {
  margin-bottom: 50px;
}
.introducing_architects {
	border-top: solid 1px #CEC9C1;
}
.introducing_architects_inner {
	padding-top: 40px;
	width: 1100px;
	max-width: 90%;
	margin: auto;
}
p.introducing_architects_lead {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  margin-bottom: 80px;
  margin-top: 50px;
}
.introducing_architects_flex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 70px;
}
.introducing_architects_flex_left {
  width: 64%;
  margin-right: 1.3%;
}
.introducing_architects_flex_right {
  width: 34.7%;
  max-height: 317px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #646059;
  padding: 30px;
}
.introducing_architects_flex_right h3 {
  font-size: 49px;
  font-weight: 600;
  color: #fff;
  line-height: 0.959;
  font-family: "Red Hat Display", sans-serif;
}
.introducing_architects_flex_right p {
  font-size: 13px;
  line-height: 1.692;
  color: #fff;
}
.introducing_desc p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.866;
  margin-bottom: 80px;
}
.designbridge_architect {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 7px;
  border: solid 1px #CEC9C1;
  padding: 60px 70px;
  display: flex;
  justify-content: space-between;
}
.designbridge_architect_img {
	width: 17.18%;
	width: 189px;
	margin-right: 7%;
}
.designbridge_architect_txt {
  width: 73%;
}
.designbridge_architect_txt h3 {
	font-size: 13px;
	margin-bottom: 10px;
	margin-top: -8px;
}
.architect_name {
  font-size: 24px;
  font-weight: 400;
  margin-bottom: 25px;
}
.architect_name span {
  font-size: 12px;
  margin-left: 15px;
}
.designbridge_architect_txt p {
  font-size: 14px;
  line-height: 1.928;
}
.designbridge_architect_note {
  font-size: 10px;
  width: 1100px;
  max-width: 90%;
  margin: 0 auto 140px;
}
.architect_txt_center {
	font-size: 15px;
	line-height: 1.866;
	text-align: center;
	max-width: 90%;
	margin: 0 auto 100px;
}
.architect_txt_center p {
  margin-bottom: 50px;
}
.btn_fequest_shadow a {
  font-size: 16px;
  background: #F7F6EE;
  border-radius: 47px;
  position: relative;
  box-shadow: 0 5px 32px rgba(118, 102, 88, 0.18);
  width: 276px;
  height: 66px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 145px;
}
.btn_fequest_shadow a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}
.btn_fequest_shadow a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.lineup_figure_flex2 {
  width: 1100px;
  max-width: 90%;
  margin: 120px auto 100px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.lineup_figure2 {
  background: url("../images2025/woodoriginal_figure.png") no-repeat 0 0/contain;
  width: 523px;
  height: 454px;
  position: relative;
  margin-left: 7%;
}
.lineup_figure_txt2 h3 {
	font-size: 33px;
	font-weight: 500;
  line-height: 1.45;
  margin-bottom: 10px;
}
.lineup_figure_txt2 p {
  font-size: 15px;
  color: #8D7A68;
  font-family: "Red Hat Display", sans-serif;
}

.figure_en1_2, .figure_jp2_2, .figure_en3_2, .figure_jp4_2, .figure_en5_2, .figure_jp6_2 {
  position: absolute;
}
.figure_en1_2 {
  left: 183px;
  top: 60px;
}
.figure_jp2_2 {
	left: 209px;
	top: 104px;
}
.figure_en3_2 {
	left: 34px;
	top: 293px;
}
.figure_jp4_2 {
	left: 52px;
	top: 336px;
}
.figure_en5_2 {
	left: 333px;
	top: 293px;
}
.figure_jp6_2 {
	left: 352px;
	top: 336px;
}

.specification_area {
	border-top: solid 1px #CEC9C1;
	padding-bottom: 60px;
}
.specification_inner {
  width: 1100px;
	max-width: 90%;
	margin: auto;
  padding-top: 45px;
}
.specification_inner .ttl_merit_area {
  margin-bottom: 100px;
}
ul.specification_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.specification_list li {
	width: 47%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: 65px;
}
ul.specification_list li img {
	width: 236px;
	height: auto;
}
.specification_list_txt {
	margin-left: 30px;
	width: calc(100% - 266px);
}
.specification_list_txt h3 {
	font-size: 18px;
	font-weight: 300;
	line-height: 1.4;
	margin-bottom: 25px;
	margin-top: -5px;
	letter-spacing: 1px;
}
.specification_list_txt h4 {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 10px;
	letter-spacing: 1px;
  padding-left: 14px;
  border-left: solid 1px #CEC9C1;
}
.specification_list_txt p {
  font-size: 14px;
  line-height: 1.714;
}
.specification_note_area {
	width: 1100px;
	max-width: 90%;
	margin: 0 auto 100px;
}
.specification_note_box {
  background: #E8E7E1;
  padding: 35px 40px;
  margin-bottom: 90px;
}
.specification_note_box ul li {
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
}

@media screen and (max-width: 1250px) {
  .lineup_fv_flex_img {
    width: 49%;
  }
}


@media screen and (max-width: 1100px) {
.ttl_lineup p:nth-of-type(2) {
	margin-top: -2.6vw;
}
.architect_step_cont_num p {
	font-size: clamp(20px, 3vw, 34px);
}
.num1::before, .num2::before, .num3::before {
	font-size: clamp(80px, 13vw, 138px);
}
.products_propose_list li h3 {
	font-size: clamp(17px, 1vw, 27px);
}
ul.specification_list li {
	width: 100%;
}
}

@media screen and (max-width: 1000px) {
.products_propose_list li {
	width: 100%;
}
.products_propose {
	margin: 0 auto 70px;
}
}

.architect_arrow, .smt_compare_type {
  display: none;
}

@media screen and (max-width: 950px) {
.introducing_architects_flex {
	flex-wrap: wrap;
}
}

@media screen and (max-width: 900px) {
.products_flow_content {
	flex-wrap: wrap;
}
.ttl_products_flow {
	width: 100%;
  margin-bottom: 36px;
}
.txt_products_flow {
	width: 100%;
}
.introducing_architects_flex_left {
	width: 100%;
	margin-right: 0;
}
.introducing_architects_flex_left {
	width: 100%;
	margin-right: 0;
	margin-bottom: 15px;
}
.introducing_architects_flex_right {
	width: 95%;
	max-height: 100%;
}
.introducing_architects_flex_right p {
	align-self: end;
}
.introducing_architects_flex_right h3 {
	font-size: 30px;
	margin-bottom: 18px;
}
.introducing_architects_flex {
	margin-bottom: 40px;
}
.designbridge_architect {
	padding: 40px 50px;
	flex-wrap: wrap;
}
.designbridge_architect_img {
	width: 189px;
	max-width: 100%;
	margin: 0 auto 25px;
}
.designbridge_architect_txt h3 {
	margin-top: 0;
  margin-bottom: 0px;
	text-align: center;
}
.designbridge_architect_txt {
	width: 100%;
}
.architect_name {
	font-size: 18px;
	margin-bottom: 20px;
	text-align: center;
}
}

@media screen and (max-width: 900px) {
.lineup_fv_inner {
  display: block;
  margin-top: 35px;
  position: relative;
  padding: 120px 0 6vw;
}
.lineup_fv_area {
	margin-top: 0;
}
.lineup_fv_right {
  width: 100%;
  margin-top: 6vw;
}
.lineup_fv_left {
	padding: 0vw 0 20vw 5vw;
	padding: 0vw 0 0vw 5vw;
}
.lineup_fv_flex {
	flex-wrap: wrap;
}
.lineup_fv_flex_img {
	margin-right: 0;
  max-width: 100%;
	width: 100%;
  margin-bottom: 30px;
}
.lineup_fv_flex_txt {
	width: 100%;
}
.lineup_figure_flex2, .lineup_figure_flex {
	flex-wrap: wrap;
	margin: 40px auto 75px;
}
.lineup_figure2, .lineup_figure1 {
	margin: auto;
}
.lineup_figure_txt2 {
    width: 100%;
}
.lineup_figure_txt1 {
  width: 100%;
  order: -1;
  margin-bottom: 30px;
}
.lineup_figure_txt1 h3,.lineup_free_flex_txt h3 {
	font-size: 22px;
	margin-top: 0;
	margin-bottom: 25px;
	padding-bottom: 10px;
}
.lineup_free_flex {
	flex-wrap: wrap;
  margin: 0 auto 40px;
}
.lineup_free_flex_txt {
	width: 100%;
	margin-bottom: 20px;
}
.lineup_free_flex_img {
	width: 100%;
}
.lineup_fv_flex {
	padding-bottom: 65px;
}
.gneral_architect, .woodplus_architect {
	width: 100%;
}
.architect_area {
	flex-wrap: wrap;
}
.compare_type {
  display: none;
}
.architect_arrow {
  display: block;
  width: 50px;
  margin: 0 auto 10px;
}
.architect_arrow img {
	vertical-align: top;
}
.smt_compare_type {
	font-size: 15px;
	font-weight: 500;
	width: 120px;
	height: 31px;
	border: solid 1px #1A1A1A;
  background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
.gneral_architect_cont {
	display: flex;
  justify-content: space-between;
  align-items: center;
}
.woodplus_architect_cont {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.woodplus_architect_cont_area, .gneral_architect_cont_area {
	padding: 0 25px;
}
.gneral_architect_cont, .woodplus_architect_cont {
	padding: 20px 20px 20px 0;
}
.wish_area {
	margin: 45px auto 100px;
	flex-wrap: wrap;
}
}

@media screen and (max-width: 840px) {
.lineup_fv_right {
	display: none;
}
.lineup_fv_inner {
	padding: 120px 0 0;
}
.infiniteslide li img {
	height: 230px;
}
ul.free_desing {
	flex-wrap: wrap;
}
ul.free_desing li {
  padding: 30px 0;
	border-left: none;
	width: 100%;
	flex: auto;
	border-bottom: solid 1px #CEC9C1;
}
ul.free_desing li:last-child {
	border-right: none;
	border-bottom: none;
}
.wish_area_txt {
	width: 100%;
}
.architect_txt_center p {
	text-align: left;
}
}

@media screen and (max-width: 1000px) {
  .ttl_lineup h3 {
    font-size: clamp(15px, 1.6vw, 20px);
    margin: 9px 0 0 0;
    white-space: nowrap;
  }
}

.btn_apply {
  margin: 20px auto 0;
}

.btn_apply a:hover .btn_arrow_bk span:nth-child(1) {
  animation: arrowOut .6s forwards;
}

.btn_apply a:hover .btn_arrow_bk span:nth-child(2) {
  animation: arrowIn .6s forwards .2s;
}

.btn_apply a {
  font-size: 16px;
  font-weight: 400;
  position: relative;
  text-align: right;
  display: block;
}
.ttl_coming_soon {
	text-align: center;
	font-size: 22px;
	width: max-content;
	padding: 0px 20px 0px 35px;
	margin: 50px auto 65px;
}













