@charset "UTF-8";
/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;400&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cinzel&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700&display=swap");
/*メインカラー（旧：グリーン→Figmaのメインダークブラウンに変更）*/
/*サブ黒*/
/*現地案内図背景 パステルグリーン*/
/*サブタイトル用グレー*/
/*ナビ背景（旧：グリーン→Figmaのメインダークブラウンに変更）*/
/*GOLD（Figma一致）*/
/*サブライトブラウン（Figma一致）*/
/* ---- Figmaテーマカラー（RELUXIA中野江古田） ---- */
/*メインダークブラウン*/
/*サブライトブラウン*/
/*サブオレンジ*/
/*サブレッド*/
/*サブベージュ*/
/*タイトル用グレー*/
/*本文用*/
.f_en {
  font-family: "Cinzel", serif;
}

/*** reset ***/
* {
  margin: 0;
  padding: 0;
  list-style: none;
  text-indent: 0;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  vertical-align: bottom;
  border: 0;
  image-rendering: -webkit-optimize-contrast;
}

h1,
h2,
h3,
h4,
h5,
h6,
pre,
address,
em,
strong,
th,
ins {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border: 0;
}

th {
  text-align: left;
}

th {
  text-align: left;
}

input,
select,
textarea {
  vertical-align: middle;
}

ins,
a {
  text-decoration: none;
}

ul {
  list-style: none;
}

br {
  letter-spacing: 0;
}

hr {
  height: 0px;
  margin: 0;
  border: none;
  border-top: 1px solid #fff;
}

* html hr {
  /* for -IE6 */
  margin: 0;
}

*:first-child + html hr {
  /* for IE7 */
  margin: 0;
}

*,
*: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;
}

/***cleasrfix hack***/
.hack::after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/*end hide*/
.clear {
  clear: both;
}

/*** font ***/
html {
  font-size: 62.5%;
}

body {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.6;
  font-feature-settings: "palt";
  color: #333333;
}

#wrapper {
  background-color: #fff;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

/*family*/
body {
  font-family: "Shippori Mincho", "Noto Serif JP", "Cormorant Garamond", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.2em;
}

footer {
  font-family: "Noto Serif JP", "Cormorant Garamond", serif;
}

/*** link ***/
.btn_over {
  transition: 0.5s;
}
.btn_over:hover {
  opacity: 0.7;
}

/*base*/
.com-content {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.com-content.main {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

._sp {
  display: none !important;
}

@media screen and (max-width: 768px) {
  ._pc {
    display: none !important;
  }
  ._sp {
    display: block !important;
  }
  body {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/*base*/
.bg_green {
  background: #EDF4EA;
  color: #333;
}

.com-content {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
.com-content.w1000 {
  max-width: 1000px;
}

.com-content.main {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

/* headerここから */
header {
  position: fixed;
  /*top:0;
  left:0;*/
  padding: 0;
  width: 100%;
  z-index: 900;
  color: #fff;
  font-family: "Shippori Mincho", "Noto Serif JP", "Cormorant Garamond", serif;
  background: #241A04;
  z-index: 9000;
}
header h1 {
  width: 140px;
  height: auto;
  margin-top: 15px;
  margin-left: 35px;
  position: relative;
  z-index: 5;
}
header h1 img {
  width: 100%;
  height: auto;
}
header .header_nav {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  z-index: 5;
}
header .header_nav li a {
  color: #fff;
  font-size: 14px;
  display: block;
  width: 100%;
  height: 100%;
  transition: 0.3s;
}
header .header_nav li a:hover {
  opacity: 0.7;
}
header li.nav_availability {
  display: none;
}

@media screen and (min-width: 769px) {
  header .header_nav li a img {
    display: none;
  }
  header .header_nav li:nth-child(1) a, header .header_nav li:nth-child(2) a, header .header_nav li:nth-child(3) a {
    padding: 0 10px;
    border-left: 1px solid #fff;
    color: #fff;
  }
  header .header_nav li:nth-child(4) a, header .header_nav li:nth-child(5) a {
    padding: 28px 20px 29px;
    line-height: 1em;
    position: relative;
  }
  header .header_nav li:nth-child(4) a span, header .header_nav li:nth-child(5) a span {
    position: relative;
  }
  header .header_nav li:nth-child(4) a::before, header .header_nav li:nth-child(5) a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.4;
    background: #e6e6e6;
    background: -moz-linear-gradient(top, #e6e6e6 0%, #ffffff 50%, #cccccc 54%, #cccccc 100%);
    background: -webkit-linear-gradient(top, #e6e6e6 0%, #ffffff 50%, #cccccc 54%, #cccccc 100%);
    background: linear-gradient(to bottom, #e6e6e6 0%, #ffffff 50%, #cccccc 54%, #cccccc 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e6e6e6", endColorstr="#cccccc", GradientType=0);
  }
  header .header_nav li:nth-child(4) a {
    background: #888888;
  }
  header .header_nav li:nth-child(5) a {
    background: #fff;
    color: #000;
    font-weight: 800;
  }
}
@media screen and (max-width: 768px) {
  header {
    height: 70px;
  }
  header h1 {
    margin-top: 18px;
    margin-left: 20px;
    width: 130px;
  }
  header .header_nav {
    position: fixed;
    top: inherit;
    bottom: 0;
    right: 0;
    display: flex;
    width: 100%;
    height: 70px;
    flex-wrap: nowrap;
    align-items: center;
    background: #000;
    flex-grow: 1;
  }
  header .header_nav li {
    background: #333;
    width: 25%;
    height: 100%;
    text-align: center;
  }
  header .header_nav li:nth-child(3) {
    order: 4;
  }
  header .header_nav li:nth-child(6) {
    order: 1;
  }
  header .header_nav li:nth-child(4) {
    order: 2;
  }
  header .header_nav li:nth-child(2) {
    order: 3;
  }
  header .header_nav li:nth-child(1) {
    display: none;
  }
  header .header_nav li a {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 12px;
    letter-spacing: 0.1em;
    color: #fff;
  }
  header .header_nav li a img {
    display: block;
    width: 30px;
    height: 30px;
    margin: 10px auto 0px;
  }
  header li.nav_availability {
    display: block;
  }
}
/* headerここまで */
/* footerここから */
footer .footer_call {
  background: #fff;
  padding: 30px 0;
}
footer .footer_call .com-content {
  max-width: 780px;
  letter-spacing: 0.05em;
  margin: 0 auto;
}
footer .footer_call_bnr {
  width: 100%;
  max-width: 600px;
  margin: 0 auto 20px;
  display: block;
}
footer .footer_call_bnr img {
  width: 100%;
  height: auto;
}
footer .footer_call ul {
  margin: 5px 0 0;
}
footer .footer_call ul li {
  width: calc(100% - 420px);
  display: inline-block;
  vertical-align: middle;
  padding: 0 3% 0 0;
  font-size: 11px;
  box-sizing: border-box;
}
footer .footer_call ul li:nth-child(2) {
  padding: 0;
  width: 410px;
}
@media screen and (max-width: 768px) {
  footer .footer_call ul li:nth-child(2) {
    width: 100%;
  }
}
footer .footer_call ul li:nth-child(2) a {
  color: #000;
  text-decoration: underline;
}
footer .footer_com-note {
  background: #f0eeeb;
  color: #333;
  padding: 25px 0;
}
footer .footer_link {
  background: rgb(26, 26, 26);
  background: -webkit-linear-gradient(left, rgb(26, 26, 26) 0%, rgb(51, 51, 51) 50%, rgb(0, 0, 0) 100%);
  background: -o-linear-gradient(left, rgb(26, 26, 26) 0%, rgb(51, 51, 51) 50%, rgb(0, 0, 0) 100%);
  background: linear-gradient(to right, rgb(26, 26, 26) 0%, rgb(51, 51, 51) 50%, rgb(0, 0, 0) 100%);
  padding: 10px 0;
  text-align: center;
}
footer .footer_link li {
  display: inline-block;
}
footer .footer_link li a {
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 0 15px 1px;
  border-right: 1px solid #fff;
}
footer .footer_link li:last-child a {
  border-right: none;
}
footer .footer_logo {
  padding: 25px 0 0;
}
footer .footer_logo ul {
  display: flex;
  flex-wrap: nowrap;
  max-width: 300px;
  margin: 0 auto;
}
footer .footer_logo ul li {
  width: 49%;
}
footer .footer_logo ul li:first-child {
  margin-right: 2%;
}
footer .footer_logo p {
  text-align: center;
  font-size: 1rem;
  color: #000;
  margin: 10px auto;
}

#pagetop {
  position: fixed;
  width: 45px;
  height: 20px;
  bottom: 26px;
  right: 10px;
  z-index: 1;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  footer {
    padding-bottom: 70px;
  }
  footer .footer_call .com-content {
    max-width: 400px;
  }
  footer .footer_call ul li {
    width: 100%;
    display: block;
    padding: 0 0 10px 0;
    font-size: 10px;
  }
  footer .footer_call ul li:nth-child(2) {
    padding: 0;
  }
  footer .footer_link {
    display: none;
  }
  footer .footer_logo p {
    margin-top: 15px;
  }
  #pagetop {
    width: 30px;
    bottom: 10px;
    /*right: 50%;
    transform: translateX(50%);*/
  }
}
/* footerここまで */
/*sp menu*/
.sp_menu {
  position: fixed;
  top: 15px;
  right: 25px;
  height: 36px;
  width: 30px;
  outline: none;
  cursor: pointer;
  /*border: 1px solid #666;*/
  padding: 3px 0 3px 7px;
  z-index: 9000;
  /*background: #fff;*/
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  display: none;
}
.sp_menu span,
.sp_menu span::before,
.sp_menu span::after {
  position: absolute;
  content: "";
  width: 30px;
  height: 3px;
  background: #fff;
  border-radius: 20px;
  transition: 500ms cubic-bezier(0.77, 0, 0.175, 1);
}
.sp_menu span {
  top: 50%;
}
.sp_menu span::before {
  top: -12px;
}
.sp_menu span::after {
  top: 12px;
}
.sp_menu .active {
  transition: 500ms;
  background: transparent;
  /*border: 1px solid #181878;*/
}

.sp_menu.active > span {
  background: transparent;
}

.sp_menu.active > span::before,
.sp_menu.active > span::after {
  top: 0px;
}

.sp_menu.active > span::before {
  -webkit-transform: rotate(-225deg);
  transform: rotate(-225deg);
}

.sp_menu.active > span::after {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
}

@media screen and (max-width: 768px) {
  .sp_menu {
    display: block;
  }
}
nav {
  background: #241A04;
}
@media screen and (max-width: 768px) {
  nav {
    background: #241A04;
  }
}

nav ul {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

nav li {
  flex-grow: 1;
}

nav li a {
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 0;
  display: block;
  width: 100%;
  position: relative;
  text-align: center;
}

nav li a:hover {
  color: #2a2a2a !important;
  /*font-weight: 800;*/
}

@media screen and (min-width: 769px) {
  nav {
    position: relative;
    margin-top: 10px;
    width: 100%;
    z-index: 900;
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.5);
  }
  nav li.act a::after,
  nav li a::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 0;
    height: 4px;
    background: #bd9e5f;
    transition: 0.3s;
    opacity: 0;
  }
  nav li.act a::after,
  nav li a:hover::after {
    width: 50%;
    opacity: 1;
  }
  #index nav li.nav_index a::after,
  #location nav li.nav_location a::after,
  #access nav li.nav_access a::after,
  #design nav li.nav_design a::after,
  #plan nav li.nav_plan a::after,
  #type nav li.nav_plan a::after,
  #equipment nav li.nav_equipment a::after {
    width: 50%;
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  nav {
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    position: fixed;
    top: 70px;
    left: 0;
    z-index: 998;
    width: 100%;
    height: calc(100vh - 140px);
    display: flex;
    flex-direction: column;
    transition: 1s left cubic-bezier(0.77, 0, 0.175, 1), 1s opacity;
    opacity: 0;
    pointer-events: none;
  }
  nav.active {
    top: 70px;
    opacity: 1;
    display: block;
    pointer-events: inherit;
  }
  nav ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  nav li {
    box-sizing: border-box;
    width: 50%;
    border-bottom: 1px solid #bdbdbd;
  }
  nav li:nth-child(2n) {
    border-left: 1px solid #bdbdbd;
  }
  nav li a {
    padding: 25px 0;
  }
}
/*common
----------------------------------------------*/
.t_center {
  text-align: center;
}

.t_right {
  text-align: right;
}

.t_left {
  text-align: left;
}

.com-cap,
.com-note {
  font-size: 10px;
  letter-spacing: 0;
}
.com-cap.white,
.com-note.white {
  color: #fff;
}
.com-cap.black,
.com-note.black {
  color: #000;
}

.com-note.right {
  text-align: right;
}

figure {
  position: relative;
}

figure .com-cap {
  position: absolute;
  bottom: 5px;
  right: 10px;
  color: #fff;
}
figure .com-cap.left {
  right: initial;
  left: 10px;
}
figure .com-cap-01 {
  position: absolute;
  top: 44.5%;
  left: 8%;
  color: #fff;
  font-size: 10px;
  letter-spacing: 0;
}

/*-------------------------------------------------*/
.main {
  margin-top: 121px;
}
.main .com-main_txt {
  color: #1a1a1a;
  font-weight: 600;
}
.main .main_img {
  position: relative;
  /*
  &::before {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(#fff, 0.6);
    content: "";
  }
    */
}

.main_bg {
  position: relative;
}
.main_bg::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(28, 43, 77, 0.4);
  transition: 0.3s;
  z-index: 2;
}
.main_bg p {
  z-index: 3;
}

#index .main {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .main {
    margin-top: 70px;
  }
}
.com-main {
  width: 100%;
  position: relative;
}
.com-main_img {
  position: relative;
  left: 0;
  width: 100%;
}
.com-main_txt {
  font-family: "Shippori Mincho", "Noto Serif JP", "Cormorant Garamond", serif;
  font-size: clamp(30px, 5vw, 54px);
  letter-spacing: 0.1em;
  text-align: center;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  color: #fff;
}

/*info*/
.fbtn_wrap {
  font-family: "Shippori Mincho", "Noto Serif JP", "Cormorant Garamond", serif;
  padding: 90px 0 90px;
  background: #231815;
}
@media screen and (max-width: 768px) {
  .fbtn_wrap {
    padding: 50px 0 50px;
  }
}
.fbtn_wrap .com-content {
  max-width: 640px;
  margin: 0 auto;
}
.fbtn_wrap_tit {
  color: #90814b;
  display: block;
  border-top: 1px solid #90814b;
  border-bottom: 1px solid #90814b;
  text-align: center;
  font-size: 24px;
  padding: 5px 0;
  margin-bottom: 20px;
}
.fbtn_wrap ul {
  /*margin-bottom: 100px;*/
}
.fbtn_wrap ul li {
  margin-bottom: 10px;
}

.fbtn {
  width: 80%;
  max-width: 380px;
  margin: 0 auto;
}
.fbtn li a {
  display: block;
  width: 100%;
  padding: 22px 40px;
  background: #AE8755;
  color: #fff;
  font-size: 16px;
  text-align: center;
  position: relative;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .fbtn li a {
    font-size: 14px;
  }
}
.fbtn li a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 7px;
  opacity: 0.8;
  background: rgb(162, 122, 98);
  background: -moz-linear-gradient(left, rgb(162, 122, 98) 0%, rgb(241, 193, 154) 50%, rgb(162, 122, 98) 100%);
  background: -webkit-linear-gradient(left, rgb(162, 122, 98) 0%, rgb(241, 193, 154) 50%, rgb(162, 122, 98) 100%);
  background: linear-gradient(to right, rgb(162, 122, 98) 0%, rgb(241, 193, 154) 50%, rgb(162, 122, 98) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#a27a62", endColorstr="#a27a62", GradientType=1);
  pointer-events: none;
  display: none;
}
.fbtn li a span {
  position: relative;
  z-index: 10;
}
.fbtn li a span img {
  width: 85px;
  height: auto;
  display: inline-block;
  vertical-align: middle;
  padding-bottom: 5px;
  transition: 0.3s;
}
.fbtn li a:hover span img {
  transform: translateX(20px);
}

.cbtn_wrap {
  font-family: "Shippori Mincho", "Noto Serif JP", "Cormorant Garamond", serif;
}
.cbtn_wrap .cbtn {
  max-width: 1000px;
}
.cbtn_wrap .cbtn_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 92px 0 93px;
  row-gap: 41px;
}
@media screen and (max-width: 768px) {
  .cbtn_wrap .cbtn_list {
    row-gap: 20px;
    padding: 60px 0;
  }
}
.cbtn_wrap .cbtn_item {
  position: relative;
  width: 30.6%;
  aspect-ratio: 306/230;
  cursor: pointer;
  transition: 0.4s;
  /* 写真の上に重なるゴールドの三角（Figma: Vector 8 / opacity .5） */
}
@media screen and (max-width: 768px) {
  .cbtn_wrap .cbtn_item {
    width: 48.5%;
  }
}
.cbtn_wrap .cbtn_item:hover {
  opacity: 0.7;
}
.cbtn_wrap .cbtn_item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #E0B370;
  opacity: 0.5;
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  pointer-events: none;
}
.cbtn_wrap .cbtn_item a {
  position: relative;
  z-index: 1;
  display: block;
  height: 100%;
  padding: 9.477124183%;
}
.cbtn_wrap .cbtn_item p {
  color: #fff;
  text-align: center;
}
.cbtn_wrap .cbtn_item .com-cap {
  position: absolute;
  bottom: 3px;
  left: 5px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .cbtn_wrap .cbtn_item .com-cap {
    bottom: 1px;
  }
}
.cbtn_wrap .cbtn_item-location {
  background: url(../img/top/cbtn_location.png) center/cover no-repeat;
}
.cbtn_wrap .cbtn_item-access {
  background: url(../img/top/cbtn_access.png) center/cover no-repeat;
}
.cbtn_wrap .cbtn_item-design {
  background: url(../img/top/cbtn_design.png) center/cover no-repeat;
}
.cbtn_wrap .cbtn_item-plan {
  background: url(../img/top/cbtn_plan.png) center/cover no-repeat;
}
.cbtn_wrap .cbtn_item-equipment {
  background: url(../img/top/cbtn_equipment.png) center/cover no-repeat;
}
.cbtn_wrap .cbtn_item-brand {
  background: url(../img/top/cbtn_brand.png) center/cover no-repeat;
}
.cbtn_wrap .cbtn_txt {
  height: 100%;
  padding-top: 14.9193548387%;
  background-color: rgba(36, 26, 4, 0.8);
}
.cbtn_wrap .cbtn_ttl {
  font-size: clamp(13px, 1.39vw, 20px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .cbtn_wrap .cbtn_ttl {
    font-size: clamp(11px, 3.2vw, 20px);
  }
}
.cbtn_wrap .cbtn_sub {
  font-size: clamp(11px, 1.11vw, 16px);
  font-weight: 600;
  line-height: 1.875;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .cbtn_wrap .cbtn_sub {
    font-size: clamp(10px, 2.6vw, 16px);
  }
}
.cbtn_wrap .cbtn_more {
  width: 78.2258064516%;
  margin: 5.6451612903% auto 0;
  padding: 2.0161290323% 0;
  background-color: #AE8755;
  color: #fff;
  font-size: clamp(10px, 0.97vw, 14px);
  font-weight: 600;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .cbtn_wrap .cbtn_more {
    font-size: clamp(9px, 2.3vw, 14px);
  }
}

/* page common
*******************************************/
.main {
  position: relative;
}
.main_bg {
  position: relative;
  background: #899198;
}
@media screen and (max-width: 768px) {
  .main_bg {
    position: relative;
  }
}
.main_txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

p.main_txt {
  width: auto;
  height: 38px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  p.main_txt {
    height: 25px;
  }
}
p.main_txt img {
  width: auto;
  height: 100%;
  margin: 0 auto;
}
p.main_txt span.jp {
  font-size: 21px;
  color: #fff;
  margin-bottom: 15px;
}
p.main_txt.txtshadow {
  text-shadow: 1px 1px 5px #000;
}

#access .main .com-note {
  color: #333;
}

.sec1 {
  padding: 140px 0;
}

#type .sec1 {
  padding: 100px 0 50px;
}

@media screen and (max-width: 768px) {
  .sec1 {
    padding: 70px 0 30px;
  }
  #type .sec1 {
    padding: 70px 0 0;
  }
}
@media screen and (max-width: 768px) {
  ::-webkit-scrollbar {
    width: 10px;
  }
  ::-webkit-scrollbar-track {
    background: #fff;
    border: none;
    border-radius: 10px;
    box-shadow: inset 0 0 2px #777;
  }
  ::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
    box-shadow: none;
  }
}
/*text*/
.f_en {
  color: #231815;
}

.com-ttl {
  font-size: 40px;
  line-height: 1.5;
  margin-bottom: 15px;
}

.com-lead {
  font-size: 26px;
  line-height: 1.5;
}

.com-txt {
  font-size: 14px;
  line-height: 1.5;
  margin-top: 25px;
}

@media screen and (max-width: 768px) {
  .com-ttl {
    font-size: clamp(10px, 6.66666665vw, 40px);
    margin-bottom: 1.999999995vw;
  }
  .com-lead {
    font-size: clamp(10px, 4.799999988vw, 26px);
  }
  .com-txt {
    font-size: clamp(10px, 3.199999992vw, 14px);
    margin-top: 3.333333325vw;
  }
}
/*動き*/
.m_left {
  transition: all 1.5s;
  opacity: 0;
  -webkit-transform: translate(-50px, 0);
  -ms-transform: translate(-50px, 0);
  -o-transform: translate(-50px, 0);
  transform: translate(-50px, 0);
}

.m_right {
  transition: all 1.5s;
  opacity: 0;
  -webkit-transform: translate(50px, 0);
  -ms-transform: translate(50px, 0);
  -o-transform: translate(50px, 0);
  transform: translate(50px, 0);
}

.m_left,
.m_right {
  transition: all 1s;
  opacity: 0;
}
.m_left_on,
.m_right_on {
  opacity: 1;
  transform: translateX(0px);
}

.m_op {
  transition: all 1s;
  opacity: 0;
}
.m_op_on {
  opacity: 1;
}

.m_down {
  transition: all 1s;
  transform: translateY(100px);
  opacity: 0;
}
.m_down_on {
  transform: translateY(0px);
  opacity: 1;
}

.m_up {
  transition: all 1s;
  transform: translateY(-100px);
  opacity: 0;
}
.m_up_on {
  transform: translateY(0px);
  opacity: 1;
}

@media screen and (min-width: 769px) {
  .m_op_d1 {
    transition-delay: 0.1s;
  }
  .m_op_d2 {
    transition-delay: 0.3s;
  }
  .m_op_d3 {
    transition-delay: 0.5s;
  }
  .m_op_d4 {
    transition-delay: 0.7s;
  }
  .m_op_d5 {
    transition-delay: 0.9s;
  }
  .m_op_d6 {
    transition-delay: 1.1s;
  }
}
@media screen and (max-width: 768px) {
  .rmv,
  .lmv {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    transform: translateY(100px);
  }
  .rmv_on,
  .lmv_on {
    transform: translateY(0px);
  }
}
@media print {
  header,
  nav,
  .footer_link,
  .footer_logo,
  .footer_com-note,
  .main,
  .accessmap_btn,
  .fbtn_wrap,
  .btn_print,
  #pagetop {
    display: none !important;
  }
  .sec1 {
    padding: 20px 0;
  }
  #accessmap .sec1 {
    padding: 0 !important;
  }
  #accessmap .accessmap_cont {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #accessmap .map {
    width: calc(100vw - 16mm) !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw + 8mm) !important;
    margin-right: calc(50% - 50vw + 8mm) !important;
  }
  #accessmap .map img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
  }
}
@page {
  size: A4;
  margin: 8mm;
}
/* Scss Document */
#index .p_ttl,
#index .p_desc {
  color: #241A04;
}
#index .p_ttl {
  font-size: clamp(10px, 2.3vw, 26px);
  line-height: 1.6923076923;
  letter-spacing: 0.23em;
}
@media screen and (max-width: 768px) {
  #index .p_ttl {
    font-size: clamp(10px, 5.599999986vw, 26px);
    line-height: 1.8138095238;
  }
}
#index .p_desc {
  font-size: clamp(12px, 1vw, 14px);
  line-height: 1.7142857143;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #index .p_desc {
    max-width: 100vw;
  }
}
#index .main {
  position: relative;
  overflow: hidden;
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  #index .main {
    margin-top: 70px;
  }
}
#index .main_bg1 {
  position: relative;
  z-index: 1;
}
#index .main .com-note {
  right: initial;
  left: 5px;
}
#index .merit {
  background: #241A04;
  padding: 3.3333333333% 0;
}
@media screen and (max-width: 768px) {
  #index .merit {
    padding: 7vw 6vw;
  }
}
#index .merit .com-content {
  width: 69.4444444444%;
  max-width: 1000px;
  margin: 0 auto;
}
#index .merit figure {
  margin: 0;
}
#index .merit img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #index .merit .com-content {
    width: 100%;
    max-width: 100%;
  }
}
#index .vibrancy_wrap {
  position: relative;
  overflow: hidden;
  background: #241A04;
}
#index .vibrancy_wrap .vibrancy_main {
  margin: 0;
}
#index .vibrancy_wrap .vibrancy_main img {
  display: block;
  width: 100%;
  height: auto;
}
#index .concept_wrap {
  background: #241A04;
  padding: 3.2638888889% 0 3.3333333333%;
  text-align: center;
  /* 改行位置は本文中の<br>で指定しているので、ここでの幅は
     「意図しない折り返しが起きない」ことだけを担保すればよい。
     .concept_txt は 1440px で1行752px、フォントが下限12pxに張り付く
     1080px以下では564px必要になるため min-width で受け止める */
}
@media screen and (max-width: 768px) {
  #index .concept_wrap {
    padding: 10vw 6vw;
  }
}
#index .concept_wrap .concept_inner {
  width: 56.9444444444%;
  min-width: 600px;
  max-width: 820px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #index .concept_wrap .concept_inner {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
}
#index .concept_wrap .concept_ttl {
  color: #E0B370;
  font-size: clamp(20px, 2.2222222222vw, 32px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #index .concept_wrap .concept_ttl {
    font-size: clamp(16px, 4.8vw, 24px);
  }
}
#index .concept_wrap .concept_txt {
  margin-top: clamp(12px, 1.3888888889vw, 20px);
  color: #E0B370;
  font-size: clamp(12px, 1.1111111111vw, 16px);
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #index .concept_wrap .concept_txt {
    font-size: clamp(11px, 3.4vw, 14px);
    line-height: 2;
  }
}
#index .central_wrap {
  background: #241A04;
}
#index .central_wrap figure {
  margin: 0;
}
#index .central_wrap img {
  display: block;
  width: 100%;
  height: auto;
}
#index .central_wrap .central_main {
  margin-bottom: 1.3888888889%;
}
#index .cbtn_wrap {
  background-color: #fff;
}
#location {
  /* ----- Area Value / Location 共通見出し ----- */
  /* ----- 開発計画 ハイライトボックス ----- */
  /* ----- 商業施設カード ----- */
  /* ----- 多摩川エリア ----- */
  /* ----- データで見る川崎市 ----- */
  /* ----- Location: スポット写真グリッド ----- */
  /* ----- ライフマップ / 等々力緑地 ----- */
  /* ----- 生活施設リスト（ベージュ帯） ----- */
  /* ============================================================
     ここから中野江古田で追加した新規セクション
     ============================================================ */
  /* ----- 周辺マップ（CREATE of VALUE） ----- */
  /* ----- UNIVERSITIES and COLLEGES ----- */
  /* ----- DATA of NAKANO WARD ----- */
  /* ----- 新宿・池袋 共通（area_town） ----- */
  /* ----- REDEVELOPMENT カード ----- */
  /* ----- BALANCE of ABUNDANCE ----- */
  /* ----- SHOPPING / PARK ----- */
  /* ----- HOSPITAL / JUNIOR COLLEGE ----- */
  /* ----- 施設マップ ----- */
  /* ----- TOPICS ----- */
}
#location .main_img {
  position: relative;
  height: 320px;
  overflow: hidden;
  /* SPはr79と同じく画像（750×300）の比率にまかせる */
}
@media screen and (max-width: 768px) {
  #location .main_img {
    height: auto;
  }
}
#location .main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#location .main_img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #040404;
  mix-blend-mode: color;
}
#location .main_img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(253, 253, 253, 0.75);
}
#location .com-main_txt {
  color: #1a1a1a;
}
#location .gradient_divider {
  width: 100%;
  height: 20px;
  background: linear-gradient(90deg, #7ebea1 0%, #e4e4a7 100%);
}
#location .com-note.static {
  position: static;
  margin-top: 10px;
  color: #231815;
}
@media screen and (max-width: 768px) {
  #location .com-note.static {
    margin-top: 6px;
  }
}
#location .area_value,
#location .location_main {
  background: #fff;
  padding: 50px 0;
}
#location .area_value_head {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: flex-start;
  margin-bottom: 30px;
}
#location .area_value_ttl_img {
  width: 400px;
  max-width: 60vw;
}
#location .area_value_ttl_img img {
  width: 100%;
  height: auto;
}
#location .area_value_lead {
  color: #3e3a39;
  font-size: clamp(18px, 2vw, 28px);
  font-weight: 500;
  letter-spacing: 0.1em;
}
#location .area_value_txt {
  color: #595757;
  font-size: clamp(13px, 1.4vw, 20px);
  line-height: 1.8;
}
#location .area_value_block {
  margin-bottom: 30px;
}
#location .area_value_block:last-child {
  margin-bottom: 0;
}
#location .area_value_block_ttl {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
#location .area_value_block_ttl span {
  color: #3e3a39;
  font-size: clamp(16px, 1.7vw, 24px);
  font-weight: 700;
}
#location .area_value_block_ttl::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 5px;
  height: 30px;
  background: #241A04;
}
#location .area_value_map {
  width: 100%;
}
#location .area_value_map img {
  width: 100%;
  height: auto;
}
#location .area_value_highlight {
  display: flex;
  gap: 20px;
  align-items: stretch;
  background: #f9f6e7;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  #location .area_value_highlight {
    flex-direction: column;
  }
}
#location .area_value_highlight_txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 15px;
  flex: 25 1 0;
  min-width: 0;
  letter-spacing: 0;
  line-height: normal;
}
#location .area_value_highlight_ttl {
  color: #241A04;
  font-size: clamp(16px, 1.7vw, 24px);
  font-weight: 700;
}
#location .area_value_highlight_sub {
  color: #3e3a39;
  font-size: clamp(14px, 1.4vw, 20px);
  font-weight: 500;
}
#location .area_value_highlight_desc {
  color: #595757;
  font-size: clamp(13px, 1.4vw, 20px);
  line-height: 1.6;
}
#location .area_value_highlight_img {
  flex: 21 1 0;
  min-width: 0;
}
#location .area_value_highlight_img img {
  width: 100%;
  height: auto;
}
#location .shop_card {
  background: #f9f6e7;
  padding: 20px;
  margin-bottom: 20px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #location .shop_card {
    flex-direction: column;
  }
}
#location .shop_card:last-child {
  margin-bottom: 0;
}
#location .shop_card_row {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  #location .shop_card_row {
    flex-direction: column;
  }
}
#location .shop_card_row .shop_card {
  flex: 1 0 0;
  min-width: 0;
  margin-bottom: 0;
  gap: 10px;
  flex-direction: column;
}
#location .shop_card_head {
  margin-bottom: 0;
}
#location .shop_card_row_inner {
  display: flex;
  gap: 15px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #location .shop_card_row_inner {
    flex-direction: column;
  }
}
#location .shop_card_img {
  flex-shrink: 0;
  width: 40%;
}
@media screen and (max-width: 768px) {
  #location .shop_card_img {
    width: 100%;
  }
}
#location .shop_card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#location .shop_card_row .shop_card_img {
  width: 210px;
}
@media screen and (max-width: 768px) {
  #location .shop_card_row .shop_card_img {
    width: 100%;
  }
}
#location .shop_card_body {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
}
#location .shop_card_name {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  color: #3e3a39;
  font-size: clamp(16px, 1.7vw, 24px);
  font-weight: 500;
  letter-spacing: 0;
}
#location .shop_card_name span {
  color: #595757;
  font-size: 12px;
  font-weight: 400;
}
#location .shop_card_content {
  display: grid;
  grid-template-columns: 277fr 272fr;
  gap: 10px;
  align-items: start;
}
@media screen and (max-width: 768px) {
  #location .shop_card_content {
    grid-template-columns: 1fr;
  }
}
#location .shop_card_desc {
  color: #595757;
  font-size: 14px;
  line-height: 1.7142857143;
  letter-spacing: 0;
}
#location .shop_tenant {
  display: flex;
  flex-direction: column;
}
#location .shop_tenant_ttl {
  background: #bbd3b4;
  color: #595757;
  font-size: 16px;
  text-align: center;
  padding: 5px 0;
}
#location .shop_tenant_list {
  background: #fff;
  padding: 10px;
}
#location .shop_tenant_list li {
  color: #595757;
  font-size: 11px;
  line-height: 1.8181818182;
  letter-spacing: 0;
}
#location .river_row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #location .river_row {
    flex-direction: column;
  }
}
#location .river_col {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 277px;
  flex-shrink: 0;
}
#location .river_col .area_value_txt {
  font-size: 14px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #location .river_col {
    width: 100%;
  }
}
#location .river_img img {
  width: 100%;
  height: auto;
  display: block;
}
#location .river_img-wide {
  flex: 1 0 0;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  #location .river_img:not(.river_img-wide) {
    width: 50%;
    margin-right: auto;
  }
}
#location .stat_box {
  background: #edf4ea;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#location .stat_box_head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}
#location .stat_box_ttl {
  color: #241A04;
  font-size: clamp(16px, 1.7vw, 24px);
  font-weight: 700;
}
#location .stat_box_desc {
  color: #595757;
  font-size: 14px;
}
#location .stat_list {
  display: flex;
  gap: 10px;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #location .stat_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
#location .stat_list li {
  flex: 1 0 0;
  min-width: 0;
}
#location .stat_list li img {
  width: 100%;
  height: auto;
  display: block;
}
#location .sopt_grid {
  display: flex;
  gap: 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #location .sopt_grid {
    flex-direction: column;
  }
}
#location .sopt_col {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#location .sopt_row {
  display: flex;
  gap: 20px;
}
#location .sopt_item {
  flex: 1 0 0;
  min-width: 0;
}
#location .sopt_item img {
  width: 100%;
  height: auto;
  display: block;
}
#location .sopt_item figcaption {
  color: #000;
  font-size: 14px;
  letter-spacing: 0.05em;
  margin-top: 5px;
}
#location .life_map_img {
  width: 100%;
  margin-bottom: 30px;
}
#location .life_map_img img {
  width: 100%;
  height: auto;
}
#location .dodo_block {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #location .dodo_block {
    flex-direction: column;
  }
}
#location .dodo_block + .com-note.static {
  margin-top: 5px;
}
#location .dodo_sub_map {
  width: 380px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  #location .dodo_sub_map {
    width: 100%;
  }
}
#location .dodo_sub_map img {
  width: 100%;
  height: auto;
}
#location .dodo_content {
  flex: 1 0 0;
  min-width: 0;
  letter-spacing: 0;
}
#location .dodo_content .area_value_block_ttl {
  margin-bottom: 15px;
}
#location .dodo_row {
  display: flex;
  width: 100%;
  gap: 15px;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #location .dodo_row {
    flex-direction: column;
  }
}
#location .dodo_img {
  width: 376px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  #location .dodo_img {
    width: 100%;
  }
}
#location .dodo_img img {
  width: 100%;
  height: auto;
}
#location .dodo_txt {
  flex: 1 0 0;
  min-width: 0;
  color: #595757;
  font-size: 15px;
  line-height: 1.7333333333;
}
#location .life_info {
  background: #f9f6e7;
  padding: 50px 0;
}
#location .life_info_grid {
  display: flex;
  gap: 40px;
  opacity: 0.85;
}
@media screen and (max-width: 768px) {
  #location .life_info_grid {
    flex-direction: column;
    gap: 20px;
  }
}
#location .life_info_col {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#location .life_info_group {
  margin-bottom: 20px;
}
#location .life_info_group-full {
  margin-top: 20px;
  margin-bottom: 0;
}
#location .life_info_group_head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
#location .life_info_group_ttl {
  color: #000;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
#location .life_info_group_line {
  flex: 1 0 0;
  min-width: 10px;
  border-top: 1px solid #595757;
}
#location .life_info_row2 {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  #location .life_info_row2 {
    flex-direction: column;
    gap: 10px;
  }
}
#location .life_info_row2 .leader_list {
  flex: 1 0 0;
  min-width: 0;
}
#location .leader_list {
  display: flex;
  flex-direction: column;
}
#location .leader_row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: #000;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.05em;
}
#location .leader_label {
  white-space: nowrap;
}
#location .leader_label-tight {
  letter-spacing: -0.02em;
}
#location .leader_value {
  white-space: nowrap;
  flex-shrink: 0;
  width: auto;
  text-align: left;
}
#location .leader_value .value_pad_walk,
#location .leader_value .value_pad_dist {
  display: inline-block;
}
#location .leader_value .value_pad_walk {
  width: 0.6em;
}
#location .leader_value .value_pad_dist {
  width: 0.6em;
}
#location .leader_dots {
  flex: 1 0 0;
  min-width: 10px;
  height: 0.5em;
  align-self: center;
  background: radial-gradient(#000 20%, transparent 30%) center/0.5em;
}
#location .com-ttl-sub {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  #location .com-ttl-sub {
    font-size: clamp(10px, 4.2vw, 20px);
  }
}
#location .double-border {
  position: relative;
  padding: 24px;
  border: 5px solid #AE8755;
}
#location .double-border::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border: 1px solid #AE8755;
  pointer-events: none;
}
#location .m_left .com-ttl {
  text-align: left;
  display: block;
}
#location .area_intro_map {
  margin-top: 30px;
}
#location .area_intro_map img {
  width: 100%;
  max-width: 100%;
}
#location .uni_wrap {
  padding: 50px 0;
}
#location .uni_area_block {
  margin-top: 40px;
}
#location .uni_area_block:first-of-type {
  margin-top: 30px;
}
#location .uni_area_ttl {
  font-size: 18px;
  font-weight: 700;
  color: #AE8755;
  border-bottom: 1px solid #AE8755;
  padding-bottom: 8px;
  margin-bottom: 20px;
}
#location .uni_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media screen and (max-width: 768px) {
  #location .uni_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 4vw;
  }
}
#location .uni_card {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
#location .uni_card.uni_card-wide {
  grid-column: span 2;
}
@media screen and (max-width: 768px) {
  #location .uni_card.uni_card-wide {
    grid-column: span 2;
  }
}
#location .uni_card_img {
  aspect-ratio: 4/3;
  overflow: hidden;
}
#location .uni_card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#location .uni_card_name {
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  padding: 10px 6px 4px;
  line-height: 1.4;
}
#location .uni_card_count {
  text-align: center;
  background: #241A04;
  color: #fff;
  font-size: 12px;
  padding: 6px 4px;
  margin: 6px 10px 0;
}
#location .uni_card_count span {
  font-size: 10px;
  opacity: 0.8;
}
#location .uni_card_access {
  text-align: center;
  font-size: 11px;
  padding: 8px 6px 12px;
  color: #333;
}
#location .data_wrap {
  padding: 30px 0 60px;
}
#location .area_town {
  background: #241A04;
  color: #fff;
  padding: 50px 0;
}
#location .area_cont_town {
  max-width: 1000px;
  margin: 0 auto;
  width: 95%;
}
#location .area_town_ttl {
  text-align: center;
  margin-bottom: 30px;
}
#location .area_town_ttl img {
  max-width: 480px;
  margin: 0 auto;
}
#location .area_town_hero {
  position: relative;
  margin-bottom: 30px;
}
#location .area_town_hero img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
#location .area_town_hero figcaption {
  position: absolute;
  left: 30px;
  bottom: 20px;
  color: #fff;
  max-width: 90%;
}
#location .area_town_hero figcaption .ttl {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
#location .area_town_hero figcaption .desc {
  font-size: 12px;
  line-height: 1.6;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
}
#location .area_cont_town_01 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  #location .area_cont_town_01 {
    grid-template-columns: 1fr;
  }
}
#location .area_cont_town_01 .ttl_lrg {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 16px;
}
#location .area_cont_town_01 .ttl_lrg_sub {
  font-size: 13px;
  line-height: 1.8;
  margin-bottom: 20px;
}
#location .area_cont_town_01 .ttl {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}
#location .area_cont_town_01 .ttl._left {
  text-align: left;
}
#location .area_cont_town_01 .desc {
  font-size: 11px;
  line-height: 1.7;
}
#location .cont_town_col02 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}
#location .cont_town_col02.cont_town_col02-pair {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media screen and (max-width: 768px) {
  #location .cont_town_col02.cont_town_col02-pair {
    grid-template-columns: 1fr;
  }
}
#location .cont_town_row01 {
  display: flex;
  gap: 12px;
}
#location .cont_town_row01 figure {
  width: 120px;
  flex-shrink: 0;
  aspect-ratio: 4/3;
  overflow: hidden;
}
#location .cont_town_row01 figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#location .redev_content {
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 30px;
}
#location .redev_card_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  #location .redev_card_grid {
    grid-template-columns: 1fr;
  }
}
#location .redev_card {
  background: rgba(255, 255, 255, 0.04);
  padding: 16px;
}
#location .redev_card.redev_card-wide {
  grid-column: span 2;
}
@media screen and (max-width: 768px) {
  #location .redev_card.redev_card-wide {
    grid-column: span 1;
  }
}
#location .redev_card.redev_card-nopic {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#location .redev_card figure {
  aspect-ratio: 16/9;
  overflow: hidden;
  margin-bottom: 12px;
}
#location .redev_card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#location .redev_card_ttl {
  color: #E0B370;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  padding: 10px 0;
  border-top: 1px solid #E0B370;
  border-bottom: 1px solid #E0B370;
  margin-bottom: 12px;
}
#location .redev_card_desc {
  font-size: 11px;
  line-height: 1.7;
  margin-bottom: 12px;
}
#location .redev_card_meta {
  background: #241A04;
  color: #fff;
  text-align: center;
  font-size: 11px;
  padding: 7px 4px;
  margin-bottom: 8px;
}
#location .redev_card_note {
  font-size: 9px;
  line-height: 1.5;
  color: #999;
  text-align: center;
}
#location .motto_ttl {
  text-align: center;
}
#location .motto_lead {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  margin-top: 10px;
}
#location .motto_txt {
  text-align: center;
  font-size: 13px;
  line-height: 1.8;
  margin-top: 14px;
}
#location .com-ttl-shop {
  text-align: center;
  margin-bottom: 20px;
}
#location .com-ttl-shop p {
  display: inline-block;
  font-size: 22px;
  font-weight: 700;
  color: #AE8755;
  letter-spacing: 0.15em;
  border-bottom: 2px solid #AE8755;
  padding-bottom: 6px;
}
#location .com-ttl-shop.light p {
  color: #fff;
  border-bottom-color: #fff;
}
#location .spot_numbered_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  #location .spot_numbered_wrap {
    grid-template-columns: 1fr;
  }
}
#location .spot_numbered_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
#location .spot_numbered_item {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}
#location .spot_numbered_item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#location .spot_numbered_item .spot_num {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #333;
  font-weight: 700;
  font-size: 12px;
  border-radius: 50%;
}
#location .spot_numbered_item figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 11px;
  padding: 6px 8px;
}
#location .spot_numbered_item figcaption span {
  display: block;
  font-size: 10px;
  opacity: 0.85;
}
#location .spot_numbered_desc {
  font-size: 11px;
  line-height: 1.8;
  margin-top: 12px;
  color: #333;
}
#location .spot_badge {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #A6323E;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 9px;
  line-height: 1.3;
  font-weight: 700;
  z-index: 2;
}
#location .hosp_college_band {
  background: #241A04;
  color: #fff;
  padding: 30px 20px;
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  #location .hosp_college_band {
    grid-template-columns: 1fr;
  }
}
#location .hosp_college_name {
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 12px;
}
#location .hosp_college_name span {
  display: block;
  font-size: 11px;
  font-weight: 400;
  opacity: 0.85;
}
#location .hosp_college_row {
  display: flex;
  gap: 12px;
}
#location .hosp_college_row figure {
  position: relative;
  width: 45%;
  flex-shrink: 0;
  aspect-ratio: 4/3;
  overflow: hidden;
}
#location .hosp_college_row figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#location .hosp_college_desc {
  font-size: 11px;
  line-height: 1.7;
}
#location .life_map_facility,
#location .life_map {
  margin-top: 40px;
}
#location .life_map_facility img,
#location .life_map img {
  width: 100%;
}
#location .topics_box {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 20px;
  margin-top: 40px;
  background: rgba(255, 255, 255, 0.05);
  padding: 20px;
}
@media screen and (max-width: 768px) {
  #location .topics_box {
    grid-template-columns: 1fr;
  }
}
#location .topics_diagram img {
  width: 100%;
}
#location .topics_label {
  font-size: 13px;
  letter-spacing: 0.2em;
  color: #AE8755;
  border-bottom: 1px solid #AE8755;
  padding-bottom: 6px;
  margin-bottom: 10px;
}
#location .topics_ttl {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.5;
}
#location .topics_desc {
  font-size: 11px;
  line-height: 1.7;
  margin-bottom: 10px;
}
#location .topics_meta {
  background: #241A04;
  color: #fff;
  text-align: center;
  font-size: 11px;
  padding: 7px 4px;
  margin-bottom: 8px;
}
#location .topics_note {
  font-size: 9px;
  line-height: 1.5;
  color: #999;
}

/* ============================================================
   中野江古田 ロケーション（Figma準拠）
   ============================================================ */
/* ----- 2. CREATE of VALUE（イントロ＋広域マップ＋写真3点） -----
   Figma: 1440×1694 / 背景 #241A04 */
#location {
  /* Figma: 見出しは200×27のアウトライン文字 */
  /* Figma: 広域マップ 1200×1229 @x120 */
  /* Figma: 写真3点 1000×153 @x220（409 / 290 / 290） */
}
#location .area_value {
  /* Figma: #241A04 のベタ塗りの上に、上部305pxだけ
     キャンパスを歩く人の写真（1440×346を305pxに圧縮）を重ねている */
  background: #241A04 url(../img/location/area_value_bg.webp) top center/100% auto no-repeat;
  padding: 3.4722222222% 0 1.3888888889%;
}
@media screen and (max-width: 768px) {
  #location .area_value {
    padding: 8vw 0 6vw;
  }
}
#location .area_value_head {
  display: block;
  width: 59.6527777778%;
  margin: 0 0 0 21.3194444444%;
}
@media screen and (max-width: 768px) {
  #location .area_value_head {
    width: 90%;
    margin: 0 auto;
  }
}
#location .area_value_ttl {
  width: 23.282887078%;
}
#location .area_value_ttl img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .area_value_ttl {
    width: 40%;
  }
}
#location .area_value_lead {
  margin-top: 2.4447031432%;
  color: #fff;
  font-size: clamp(16px, 1.8055555556vw, 26px);
  font-weight: 500;
  line-height: 1.4615384615;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .area_value_lead {
    margin-top: 4vw;
    font-size: 4.4vw;
  }
}
#location .area_value_txt {
  margin-top: 2.4447031432%;
  color: #fff;
  font-size: clamp(11px, 1.1111111111vw, 16px);
  line-height: 1.875;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .area_value_txt {
    margin-top: 3vw;
    font-size: 3.4vw;
  }
}
#location .area_intro_map {
  width: 83.3333333333%;
  margin: 3.8194444444% 0 0 8.3333333333%;
}
#location .area_intro_map img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .area_intro_map {
    width: 94%;
    margin: 6vw auto 0;
  }
}
#location .area_intro_photos {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 69.4444444444%;
  margin: 1.3888888889% 0 0 15.2777777778%;
}
@media screen and (max-width: 768px) {
  #location .area_intro_photos {
    width: 90%;
    margin: 4vw auto 0;
  }
}
#location .area_intro_photo {
  position: relative;
  margin: 0;
}
#location .area_intro_photo img {
  display: block;
  width: 100%;
  height: auto;
}
#location .area_intro_photo-1 {
  width: 40.9%;
}
#location .area_intro_photo-2, #location .area_intro_photo-3 {
  width: 29%;
}
#location .area_intro_photo .com-cap {
  position: absolute;
  right: 2px;
  bottom: 1px;
  color: #fff;
  font-size: clamp(8px, 0.6944444444vw, 10px);
  letter-spacing: 0;
}

/* ----- 3. UNIVERSITIES and COLLEGES -----
   Figma: 1440×1105 / 白ベタ＋淡い雑踏写真＋上部496pxにキャンパス写真の3層 */
#location {
  /* ----- 見出し（左：金のアウトライン文字／右：リード＋本文） ----- */
  /* ----- エリアブロック ----- */
  /* Figma: 金の縦帯 31px ＋ 縦組みラベル */
  /* ブロックごとの帯幅・本文幅（Figma実値）。
     入れ子の `.uni_area-c &` は #location の位置がずれて無効になるため個別に書く */
  /* ----- 大学カード ----- */
}
#location .uni_wrap {
  /* 背景画像が足りない分は下端のならし色でつなぐ（画像下端も同色まで馴染ませてある） */
  background: #f4f4f3 url(../img/location/uni_bg.webp) top center/100% auto no-repeat;
  padding: 2.7083333333% 0 2.9166666667%;
  /* カードの文字サイズ・学生数帯の高さは1440pxで頭打ちになるので、
     1440pxを超えると版面は 0.27px/px でしか下がらないのに対し、
     background-size:100% の背景は暗部の下端が 496/1440＝0.344px/px で下がる。
     そのままだと2段目（日本大学芸術学部・武蔵野音楽大学）の黒い文字が
     暗部に乗って読めなくなるため、差分の 0.075px/px だけ画像を上にずらし、
     暗部の下端が日本大学の写真より下に行かないようにする。
     画像は版面よりずっと背が高いので、下端に隙間は出ない */
}
@media screen and (min-width: 1440px) {
  #location .uni_wrap {
    background-position: left calc((1440px - 100vw) * 0.075);
  }
}
@media screen and (max-width: 768px) {
  #location .uni_wrap {
    background-size: 100% auto;
    padding: 8vw 0 10vw;
  }
}
#location .uni_head {
  display: flex;
  align-items: flex-start;
  /* SPでは背景画像の濃い部分がリード文の下まで届かず白文字が読めないため、
     セクション上端からリード文の下までを茶色のベタで塗る */
}
@media screen and (max-width: 768px) {
  #location .uni_head {
    display: block;
    width: auto;
    margin: -8vw 0 0;
    padding: 8vw 5% 7vw;
    background: #241A04;
  }
}
#location .uni_ttl {
  width: 27.4305555556%;
  margin: 1.8055555556% 0 0 17.0833333333%;
}
#location .uni_ttl img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .uni_ttl {
    width: 70%;
    margin: 0;
  }
}
#location .uni_head_txt {
  width: 36.3194444444%;
  margin-left: 2.1527777778%;
}
@media screen and (max-width: 768px) {
  #location .uni_head_txt {
    width: 100%;
    margin: 4vw 0 0;
  }
}
#location .uni_lead {
  color: #fff;
  font-size: clamp(15px, 1.6666666667vw, 24px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .uni_lead {
    font-size: 4.4vw;
    line-height: 1.4;
  }
}
#location .uni_txt {
  margin-top: 3.0592734226%;
  /* Figmaの版面（523px）にちょうど1行37文字が収まる設計なので折り返さない */
  white-space: nowrap;
  color: #fff;
  font-size: clamp(10px, 0.9722222222vw, 14px);
  line-height: 1.7142857143;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .uni_txt {
    margin-top: 3vw;
    font-size: 3.2vw;
    white-space: normal;
  }
}
#location .uni_row {
  display: flex;
  justify-content: space-between;
  /* 本文ボックスは行送り分だけ下に余白が出るので、その分を引いた実効値 */
  margin: 1.5277777778% 15.2777777778% 0;
}
#location .uni_row + .uni_row {
  margin-top: 3.125%;
}
@media screen and (max-width: 768px) {
  #location .uni_row {
    display: block;
    margin: 8vw 5% 0;
  }
  #location .uni_row + .uni_row {
    margin-top: 8vw;
  }
}
#location .uni_area {
  display: flex;
  align-items: stretch;
}
#location .uni_area-a {
  width: 48.1%;
}
#location .uni_area-b {
  width: 48.3%;
}
#location .uni_area-c {
  width: 100%;
}
@media screen and (max-width: 768px) {
  #location .uni_area {
    width: 100%;
  }
  #location .uni_area + .uni_area {
    margin-top: 8vw;
  }
}
#location .uni_area_ttl {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.4449064449%;
  /* 旧CSSの下線・下マージンを打ち消して、右のカード下辺と高さを揃える */
  margin: 0;
  padding: 0;
  border: none;
  background: #E0B370;
  writing-mode: vertical-rl;
  color: #1a140f;
  font-size: clamp(11px, 1.1111111111vw, 16px);
  font-weight: 600;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  #location .uni_area_ttl {
    width: 8vw;
    font-size: 3.4vw;
  }
}
#location .uni_area_body {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 90.2286902287%;
  margin-left: 3.3264033264%;
}
@media screen and (max-width: 768px) {
  #location .uni_area_body {
    width: calc(100% - 10vw);
    margin-left: 2vw;
  }
}
#location .uni_cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
#location .uni_area-b .uni_area_ttl {
  width: 6.4182194617%;
}
#location .uni_area-c .uni_area_ttl {
  width: 3.1%;
}
#location .uni_area-b .uni_area_body {
  width: 89.6480331263%;
  margin-left: 3.933747412%;
}
#location .uni_area-c .uni_area_body {
  width: 95.3%;
  margin-left: 1.6%;
}
#location .uni_area-c .uni_cards {
  width: 45.5403987408%;
  align-content: flex-start;
}
@media screen and (max-width: 768px) {
  #location .uni_area-b .uni_area_ttl,
  #location .uni_area-c .uni_area_ttl {
    width: 8vw;
  }
  #location .uni_area-b .uni_area_body,
  #location .uni_area-c .uni_area_body {
    width: calc(100% - 10vw);
    margin-left: 2vw;
  }
  #location .uni_area-c .uni_cards {
    width: 100%;
  }
}
#location .uni_card {
  width: 45.8525345622%;
  /* 旧ロケーションCSS（カード枠・4:3トリミング・余白）を打ち消す */
  background: none;
  box-shadow: none;
  /* 2行目以降の行間（Figma: 22px） */
  /* 上段（濃い背景）に載るカードは白文字。
     ただしSPは背景が淡いので黒に戻す */
  /* 早稲田：写真の上に文字を重ねる（433×205） */
  /* 東京女子医科大学：483×351の大判 */
}
#location .uni_card + .uni_card {
  margin-left: 0;
}
#location .uni_card:nth-child(n+3) {
  margin-top: 5.069124424%;
}
#location .uni_card .uni_card_img {
  margin: 0;
  aspect-ratio: auto;
  overflow: visible;
}
#location .uni_card .uni_card_img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: fill;
}
#location .uni_card .uni_card_name {
  margin-top: 4.0201005025%;
  /* Figma: 名称はカード幅より広くてもはみ出して中央配置（折り返さない） */
  white-space: nowrap;
  padding: 0;
  color: #1a140f;
  font-size: clamp(9px, 0.8680555556vw, 12.5px);
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: 0;
  text-align: center;
  /* SPはカードが144pxしかなく、大学名＋キャンパス名を1行に並べると
     はみ出すので、キャンパス名を必ず次の行に落とす */
}
#location .uni_card .uni_card_name span {
  font-size: clamp(8px, 0.6944444444vw, 10px);
}
@media screen and (max-width: 768px) {
  #location .uni_card .uni_card_name {
    white-space: normal;
    font-size: 3.2vw;
  }
  #location .uni_card .uni_card_name span {
    display: block;
    font-size: 2.8vw;
  }
}
#location .uni_card .uni_card_count {
  /* Figma: 学生数の帯は1行でも2行でも高さ33pxで固定 */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: clamp(24px, 2.2916666667vw, 33px);
  margin: 3.5175879397% 0 0;
  padding: 0;
  background: #59595b;
  color: #fff;
  font-size: clamp(9px, 0.8333333333vw, 12px);
  font-weight: 600;
  line-height: 1.1666666667;
  letter-spacing: 0;
  text-align: center;
}
#location .uni_card .uni_card_count span {
  font-size: clamp(8px, 0.6944444444vw, 10px);
}
@media screen and (max-width: 768px) {
  #location .uni_card .uni_card_count {
    font-size: 3.2vw;
  }
  #location .uni_card .uni_card_count span {
    font-size: 2.8vw;
  }
}
#location .uni_card .uni_card_access {
  margin-top: 5.527638191%;
  padding: 0;
  color: #1a140f;
  font-size: clamp(8px, 0.6944444444vw, 10px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .uni_card .uni_card_access {
    font-size: 2.8vw;
  }
}
#location .uni_card-light .uni_card_name,
#location .uni_card-light .uni_card_access {
  color: #fff;
}
@media screen and (max-width: 768px) {
  #location .uni_card-light .uni_card_name,
  #location .uni_card-light .uni_card_access {
    color: #1a140f;
  }
}
#location .uni_card-over {
  position: relative;
  width: 100%;
  margin-top: 5.0808314088%;
}
#location .uni_card-over .uni_card_name,
#location .uni_card-over .uni_card_count,
#location .uni_card-over .uni_card_access {
  position: absolute;
  margin: 0;
  color: #fff;
}
#location .uni_card-over .uni_card_name {
  top: 57.5609756098%;
  left: 2.7713625866%;
}
#location .uni_card-over .uni_card_count {
  top: 69.2682926829%;
  left: 3.233256351%;
  width: 35.5658198614%;
}
#location .uni_card-over .uni_card_access {
  top: 90.243902439%;
  left: 6.2355658199%;
}
@media screen and (max-width: 768px) {
  #location .uni_card-over {
    margin-top: 5vw;
  }
  #location .uni_card-over .uni_card_name,
  #location .uni_card-over .uni_card_count,
  #location .uni_card-over .uni_card_access {
    position: static;
    width: auto;
    color: #1a140f;
  }
  #location .uni_card-over .uni_card_count {
    color: #fff;
  }
}
#location .uni_card-lg {
  width: 50.6820566632%;
}
#location .uni_card-lg:nth-child(n+3) {
  margin-top: 0;
}
#location .uni_card-lg .uni_card_name {
  margin-top: 1.4492753623%;
}
#location .uni_card-lg .uni_card_count {
  margin-top: 1.4492753623%;
}
#location .uni_card-lg .uni_card_access {
  margin-top: 2.0703933747%;
}
@media screen and (max-width: 768px) {
  #location .uni_card-lg {
    width: 100%;
    margin-top: 5vw;
  }
}
@media screen and (max-width: 768px) {
  #location .uni_card {
    width: 48%;
  }
  #location .uni_card:nth-child(n+3) {
    margin-top: 5vw;
  }
}

/* ----- 4. DATA of NAKANO WARD -----
   Figma: 1440×489 / 白＋ゴールドのグラデーション地 */
#location {
  /* Figma: 見出し（353×29）＋リード24px を横並び */
  /* Figma: カード322×312を3枚（左端217・間隔16〜17px） */
  /* ============================================================
     SHINJUKU 新宿19分（Figma 1440×1602 / 版面1000px）
     過去物件の area_cont_town と同じく max-width:1000px / width:95% の
     版面に、文字サイズは固定pxで組む
     ============================================================ */
  /* SHINJUKU 新宿 19MIN（アウトライン化された見出し） */
  /* 新宿東宝ビル／新宿御苑（217px幅の2枚組） */
  /* ----- 新宿エリアの再開発事業（REDEVELOPMENT） ----- */
  /* 版面1000pxから左右パディングを引いた 933px がカード2列の基準幅 */
  /* アジアヘッドクォーター特区だけ字間が広い */
  /* 事業完了予定の帯がないカードは、本文下に罫線を引く */
  /* ============================================================
     IKEBUKURO 池袋19分（Figma 1440×1602 / 版面1000px）
     新宿セクションと同じく max-width:1000px / width:95% の版面＋固定px
     ============================================================ */
  /* Hareza池袋（左下にキャプションを重ねる） */
  /* 施設名に（　）付きの補足が入るものは12px */
  /* グランドスケープ池袋／GLOBAL RING */
  /* ----- 池袋エリアの再開発事業（REDEVEROPMENT） ----- */
  /* 版面1000pxから左右パディングを引いた 933px が2カラムの基準幅 */
  /* 01：写真の下にタイトル帯（写真幅いっぱい） */
  /* 02：写真が左・テキストが右 */
  /* 03：テキストが左・写真が右 */
  /* 池袋／BALANCE の境目の金色の帯（Figma 1440×20 #E0B370） */
  /* ============================================================
     BALANCE of ABUNDANCE（Figma 1440×3134）
     ヒーロー → SHOPPING/PARK → HOSPITAL/JUNIOR COLLEGE の帯
     → 現地案内図 → TOPICS の5ブロック構成
     ============================================================ */
  /* ----- 1) ヒーロー（1440×612） ----- */
  /* ----- 2) SHOPPING / PARK ----- */
  /* 24時間営業の丸バッジ（写真の右上に食い込ませる） */
  /* 2枚目の写真の右上に食い込ませる */
  /* 2列目は写真が左・テキストが右（版面989px） */
  /* PARK側だけ2件の間隔がひとまわり広い（Figma準拠） */
  /* PARKの所在地表記だけ11px */
  /* 写真とテキストに付く連番 */
  /* ----- 3) HOSPITAL / JUNIOR COLLEGE の帯 ----- */
  /* 左マージンを%で取ると幅が狭いときに版面がずれるので、
     他の版面（.bl_life / .sj_main / .ik_main など）と同じ指定に揃える */
  /* ----- 4) 現地案内図 ----- */
  /* ----- 5) TOPICS（連続立体交差事業） ----- */
  /* ============================================================
     LIFE INFORMATION（Figma 1440×825）
     見出しは r79、施設リスト（点線リーダー・所要時間の頭揃え）は r83 を踏襲。
     文字サイズ・フォントは今回のFigmaに合わせて固定pxで指定する
     ============================================================ */
  /* 施設名と所要時間の間を点線リーダーで埋め、
     所要時間は min-width を固定して左右の列で頭を揃える（r83踏襲） */
}
#location .data_wrap {
  /* 地はなめらかなグラデーションなので cover で敷き詰める。
     100% auto だと本文量でセクションが伸びた分だけ上下に白が出る */
  background: url(../img/location/data_bg.webp) center center/cover no-repeat;
  padding: 4.2361111111% 0 4.2361111111%;
}
@media screen and (max-width: 768px) {
  #location .data_wrap {
    padding: 8vw 0;
  }
}
#location .data_head {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #location .data_head {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
}
#location .data_ttl {
  width: 24.5138888889%;
  margin: 0.2083333333% 0 0 19.3055555556%;
}
#location .data_ttl img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .data_ttl {
    width: 76%;
    margin: 0 auto;
  }
}
#location .data_lead {
  margin-left: 1.4583333333%;
  color: #1a140f;
  font-size: clamp(15px, 1.6666666667vw, 24px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  #location .data_lead {
    margin: 3vw 0 0;
    font-size: 4.2vw;
    white-space: normal;
  }
}
#location .data_list {
  display: flex;
  justify-content: space-between;
  margin: 2.0833333333% 15.5555555556% 0 15.0694444444%;
}
#location .data_list li {
  width: 32.2322322322%;
}
#location .data_list img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .data_list {
    display: block;
    margin: 6vw 5% 0;
  }
  #location .data_list li {
    width: 100%;
  }
  #location .data_list li + li {
    margin-top: 5vw;
  }
}
#location .sj_wrap {
  background: url(../img/location/shinjuku_bg.webp) center center/cover no-repeat;
  color: #fff;
  padding: 54px 0 108px;
}
@media screen and (max-width: 768px) {
  #location .sj_wrap {
    padding: 10vw 0;
  }
}
#location .sj_main {
  display: flex;
  justify-content: space-between;
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #location .sj_main {
    display: block;
    width: 90%;
  }
}
#location .sj_col-l {
  width: 51.9%;
}
#location .sj_col-r {
  width: 48.1%;
}
@media screen and (max-width: 768px) {
  #location .sj_col-l,
  #location .sj_col-r {
    width: 100%;
  }
  #location .sj_col-r {
    margin-top: 7vw;
  }
}
#location .sj_ttl {
  width: 92.4855491329%;
  margin-top: 3px;
}
#location .sj_ttl img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .sj_ttl {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }
}
#location .sj_lead {
  margin-top: 24px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .sj_lead {
    margin-top: 4vw;
    font-size: 4.6vw;
  }
}
#location .sj_txt {
  margin-top: 12px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6923076923;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .sj_txt {
    margin-top: 3vw;
    font-size: 3.4vw;
  }
  #location .sj_txt br {
    display: none;
  }
}
#location .sj_photo {
  margin: 0;
}
#location .sj_photo img {
  display: block;
  width: 100%;
  height: auto;
}
#location .sj_photo-newoman {
  width: 91.3294797688%;
  /* Figmaのテキストボックスは実際の行数より背が高いので、
     本文の描画下端から写真上端までの実寸で送る */
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  #location .sj_photo-newoman {
    width: 100%;
    margin-top: 6vw;
  }
}
#location .sj_photo-kabukicho {
  width: 100%;
}
#location .sj_name {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4285714286;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .sj_name {
    font-size: 3.8vw;
  }
}
#location .sj_desc {
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.619047619;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .sj_desc {
    font-size: 3.2vw;
    line-height: 1.7;
  }
}
#location .sj_desc-sml {
  font-size: 10px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #location .sj_desc-sml {
    font-size: 3.2vw;
    line-height: 1.7;
  }
}
#location .sj_col-l > .sj_name {
  margin-top: 11px;
}
#location .sj_col-l > .sj_desc {
  width: 92.1001926782%;
  margin-top: 7px;
}
@media screen and (max-width: 768px) {
  #location .sj_col-l > .sj_desc {
    width: 100%;
  }
}
#location .sj_col-r .sj_name {
  margin: 11px 0 0 0.2079002079%;
}
#location .sj_col-r .sj_desc {
  width: 99.7920997921%;
  margin: 7px 0 0 0.2079002079%;
}
#location .sj_pair {
  display: flex;
  gap: 7.5144508671%;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  #location .sj_pair {
    gap: 4%;
    margin-top: 6vw;
  }
}
#location .sj_pair_item {
  width: 41.8111753372%;
}
@media screen and (max-width: 768px) {
  #location .sj_pair_item {
    width: 48%;
  }
}
#location .sj_pair_item .sj_name {
  margin-top: 9px;
}
#location .sj_pair_item .sj_desc {
  margin-top: 7px;
}
#location .sj_redev {
  width: 95%;
  max-width: 1000px;
  margin: 27px auto 0;
  background: #fff;
  border: 1px solid #E0B370;
  color: #231815;
}
@media screen and (max-width: 768px) {
  #location .sj_redev {
    width: 90%;
    margin-top: 8vw;
  }
}
#location .sj_redev_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 40px;
  background: #E0B370;
}
@media screen and (max-width: 768px) {
  #location .sj_redev_head {
    height: 9vw;
  }
}
#location .sj_redev_head img {
  display: block;
  width: 100%;
  height: auto;
}
#location .sj_redev_head_ttl {
  width: 24.7%;
  margin-left: 1.6%;
}
#location .sj_redev_head_en {
  width: 14.2%;
  margin-right: 1.7%;
}
#location .sj_redev_body {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 32px;
  padding: 33px 3.4% 24px 3.3%;
}
@media screen and (max-width: 768px) {
  #location .sj_redev_body {
    display: block;
    padding: 5vw;
  }
}
#location .sj_rd_card {
  display: flex;
  align-items: flex-start;
  width: 48.231511254%;
  /* （仮称）明治安田生命新宿ビル：タイトル帯がカード幅いっぱい */
}
@media screen and (max-width: 768px) {
  #location .sj_rd_card {
    display: block;
    width: 100%;
  }
  #location .sj_rd_card + .sj_rd_card {
    margin-top: 7vw;
  }
}
#location .sj_rd_card.sj_rd_card-wide {
  flex-wrap: wrap;
}
#location .sj_rd_card.sj_rd_card-wide > .sj_rd_ttl {
  width: 100%;
}
#location .sj_rd_pic {
  position: relative;
  flex-shrink: 0;
  width: 35.7777777778%;
  margin: 0;
}
#location .sj_rd_pic img {
  display: block;
  width: 100%;
  height: auto;
}
#location .sj_rd_pic .com-cap {
  position: absolute;
  right: 4px;
  bottom: 2px;
  color: #fff;
  font-size: 10px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .sj_rd_pic {
    width: 60%;
    margin: 0 auto;
  }
}
#location .sj_rd_txt {
  width: 60.4444444444%;
  margin-left: 3.7777777778%;
}
@media screen and (max-width: 768px) {
  #location .sj_rd_txt {
    width: 100%;
    margin: 4vw 0 0;
  }
}
#location .sj_rd_ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 4px;
  border-bottom: 1px solid #231815;
  background: #f0dab8;
  color: #1a140f;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3846153846;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .sj_rd_ttl {
    min-height: 9vw;
    font-size: 3.6vw;
  }
}
#location .sj_rd_ttl-wide {
  padding-left: calc(4px + 0.2em);
  letter-spacing: 0.2em;
}
#location .sj_rd_desc {
  margin-top: 8px;
  color: #1a140f;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .sj_rd_desc {
    margin-top: 3vw;
    font-size: 3.2vw;
    line-height: 1.7;
  }
}
#location .sj_rd_meta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  margin-top: 4px;
  padding: 0 4px;
  background: #50565d;
  color: #fff;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.4285714286;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .sj_rd_meta {
    min-height: 7vw;
    margin-top: 2vw;
    font-size: 3.2vw;
  }
}
#location .sj_rd_note {
  margin-top: 7px;
  color: #595959;
  font-size: 8.5px;
  font-weight: 600;
  line-height: 1.5294117647;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .sj_rd_note {
    margin-top: 2vw;
    font-size: 2.8vw;
  }
}
#location .sj_rd_card-wide .sj_rd_note {
  margin-top: 8px;
}
#location .sj_rd_card-nometa .sj_rd_desc {
  padding-bottom: 4px;
  border-bottom: 1px solid #231815;
}
#location .sj_rd_card-nometa .sj_rd_note {
  margin-top: 11px;
}
#location .ik_wrap {
  background: url(../img/location/ikebukuro_bg.webp) center center/cover no-repeat;
  color: #000;
  padding: 58px 0 60px;
}
@media screen and (max-width: 768px) {
  #location .ik_wrap {
    padding: 10vw 0;
  }
}
#location .ik_hero {
  position: relative;
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
  /* Figmaの左下グラデーション（黒→白58% / 乗算50%）と
     全写真共通のベージュ(#D1C7B4 / COLOR 40%)は画像側に焼き込み済み */
}
#location .ik_hero img {
  display: block;
  width: 100%;
  height: auto;
}
#location .ik_hero_cap {
  position: absolute;
  z-index: 1;
  left: 3.4034034034%;
  bottom: 4.4585987261%;
  color: #fff;
}
#location .ik_hero_name {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4285714286;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .ik_hero_name {
    font-size: 3.4vw;
  }
}
#location .ik_hero_desc {
  margin-top: 7px;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.619047619;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .ik_hero_desc {
    margin-top: 1vw;
    font-size: 2.6vw;
  }
}
#location .ik_main {
  display: flex;
  justify-content: space-between;
  width: 95%;
  max-width: 1000px;
  margin: 34px auto 0;
}
@media screen and (max-width: 768px) {
  #location .ik_main {
    display: block;
    width: 90%;
    margin-top: 7vw;
  }
}
#location .ik_col-l {
  width: 48.2%;
}
#location .ik_col-r {
  width: 48%;
}
@media screen and (max-width: 768px) {
  #location .ik_col-l,
  #location .ik_col-r {
    width: 100%;
  }
  #location .ik_col-l {
    margin-top: 7vw;
    order: 2;
  }
  #location .ik_main {
    display: flex;
    flex-direction: column;
  }
  #location .ik_col-r {
    order: 1;
  }
}
#location .ik_photo {
  margin: 0;
}
#location .ik_photo img {
  display: block;
  width: 100%;
  height: auto;
}
#location .ik_name {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4285714286;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .ik_name {
    font-size: 3.6vw;
  }
}
#location .ik_name-sml {
  font-size: 12px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #location .ik_name-sml {
    font-size: 3.2vw;
  }
}
#location .ik_desc {
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.619047619;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .ik_desc {
    font-size: 3.2vw;
    line-height: 1.7;
  }
}
#location .ik_desc-sml {
  font-size: 10px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #location .ik_desc-sml {
    font-size: 3.2vw;
    line-height: 1.7;
  }
}
#location .ik_col-l > .ik_name {
  margin-top: 5px;
}
#location .ik_col-l > .ik_desc {
  width: 99.377593361%;
  margin-top: 7px;
}
@media screen and (max-width: 768px) {
  #location .ik_col-l > .ik_desc {
    width: 100%;
  }
}
#location .ik_ttl {
  margin-top: 1px;
}
#location .ik_ttl img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .ik_ttl {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }
}
#location .ik_lead {
  margin-top: 19px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .ik_lead {
    margin-top: 4vw;
    font-size: 4.4vw;
  }
}
#location .ik_txt {
  margin-top: 20px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6923076923;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .ik_txt {
    margin-top: 3vw;
    font-size: 3.4vw;
    text-align: left;
  }
  #location .ik_txt br {
    display: none;
  }
}
#location .ik_pair {
  display: flex;
  gap: 8.3333333333%;
  margin-top: 36px;
}
@media screen and (max-width: 768px) {
  #location .ik_pair {
    gap: 4%;
    margin-top: 6vw;
  }
}
#location .ik_pair_item {
  width: 45.2083333333%;
}
@media screen and (max-width: 768px) {
  #location .ik_pair_item {
    width: 48%;
  }
}
#location .ik_pair_item .ik_name {
  margin-top: 4px;
}
#location .ik_pair_item .ik_desc {
  margin-top: 6px;
}
#location .ik_redev {
  width: 95%;
  max-width: 1000px;
  margin: 40px auto 0;
  background: #fff;
  border: 1px solid #E0B370;
  color: #231815;
}
@media screen and (max-width: 768px) {
  #location .ik_redev {
    width: 90%;
    margin-top: 8vw;
  }
}
#location .ik_redev_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 40px;
  background: #5d5541;
}
@media screen and (max-width: 768px) {
  #location .ik_redev_head {
    height: 9vw;
  }
}
#location .ik_redev_head img {
  display: block;
  width: 100%;
  height: auto;
}
#location .ik_redev_head_ttl {
  width: 24.6%;
  margin-left: 1.7%;
}
#location .ik_redev_head_en {
  width: 14.3%;
  margin-right: 1.8%;
}
#location .ik_redev_body {
  display: flex;
  justify-content: space-between;
  padding: 34px 3.4% 32px 3.3%;
}
@media screen and (max-width: 768px) {
  #location .ik_redev_body {
    display: block;
    padding: 5vw;
  }
}
#location .ik_rd_col-l {
  width: 45.7663451233%;
}
#location .ik_rd_col-r {
  width: 50.5894962487%;
}
@media screen and (max-width: 768px) {
  #location .ik_rd_col-l,
  #location .ik_rd_col-r {
    width: 100%;
  }
  #location .ik_rd_col-r {
    margin-top: 7vw;
  }
}
#location .ik_rd_pic {
  margin: 0;
}
#location .ik_rd_pic img {
  display: block;
  width: 100%;
  height: auto;
}
#location .ik_rd_card-01 .ik_rd_txt {
  width: 100%;
}
#location .ik_rd_card-02 {
  display: flex;
  align-items: flex-start;
}
#location .ik_rd_card-02 .ik_rd_pic {
  flex-shrink: 0;
  width: 38.7711864407%;
}
#location .ik_rd_card-02 .ik_rd_txt {
  width: 57.6271186441%;
  margin: 14px 0 0 3.6016949153%;
}
@media screen and (max-width: 768px) {
  #location .ik_rd_card-02 {
    display: block;
  }
  #location .ik_rd_card-02 .ik_rd_pic {
    width: 60%;
    margin: 0 auto;
  }
  #location .ik_rd_card-02 .ik_rd_txt {
    width: 100%;
    margin: 4vw 0 0;
  }
}
#location .ik_rd_card-03 {
  display: flex;
  align-items: flex-start;
  margin-top: 33px;
}
#location .ik_rd_card-03 .ik_rd_txt {
  width: 69.2796610169%;
}
#location .ik_rd_card-03 .ik_rd_pic {
  flex-shrink: 0;
  width: 26.906779661%;
  margin-left: 3.6016949153%;
}
@media screen and (max-width: 768px) {
  #location .ik_rd_card-03 {
    display: block;
    margin-top: 7vw;
  }
  #location .ik_rd_card-03 .ik_rd_txt {
    width: 100%;
  }
  #location .ik_rd_card-03 .ik_rd_pic {
    width: 60%;
    margin: 4vw auto 0;
  }
}
#location .ik_rd_ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 4px;
  border-bottom: 1px solid #231815;
  background: #f0dab8;
  color: #1a140f;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3846153846;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .ik_rd_ttl {
    min-height: 9vw;
    font-size: 3.6vw;
  }
}
#location .ik_rd_desc {
  margin-top: 4px;
  color: #1a140f;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.619047619;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .ik_rd_desc {
    margin-top: 3vw;
    font-size: 3.2vw;
    line-height: 1.7;
  }
}
#location .ik_rd_meta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  margin-top: 7px;
  padding: 0 4px;
  background: #50565d;
  color: #fff;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.4285714286;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .ik_rd_meta {
    min-height: 7vw;
    margin-top: 2vw;
    font-size: 3vw;
  }
}
#location .ik_rd_note {
  margin-top: 3px;
  color: #595959;
  font-size: 8.5px;
  font-weight: 600;
  line-height: 1.5294117647;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .ik_rd_note {
    margin-top: 2vw;
    font-size: 2.8vw;
  }
}
#location .gold_divider {
  width: 100%;
  height: 20px;
  background: #E0B370;
}
@media screen and (max-width: 768px) {
  #location .gold_divider {
    height: 3vw;
  }
}
#location .bl_wrap {
  color: #231815;
}
#location .bl_hero {
  display: flex;
  align-items: flex-end;
  aspect-ratio: 1440/612;
  background: url(../img/location/balance_hero.webp) center center/cover no-repeat;
}
@media screen and (max-width: 768px) {
  #location .bl_hero {
    aspect-ratio: auto;
    padding: 40vw 0 8vw;
  }
}
#location .bl_hero_inner {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto 4.3055555556%;
}
@media screen and (max-width: 768px) {
  #location .bl_hero_inner {
    width: 90%;
    margin-bottom: 0;
  }
}
#location .bl_hero_ttl {
  width: 51.4%;
}
#location .bl_hero_ttl img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .bl_hero_ttl {
    width: 70%;
    max-width: 514px;
  }
}
#location .bl_hero_lead {
  margin-top: 20px;
  color: #E0B370;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .bl_hero_lead {
    margin-top: 3vw;
    font-size: 4.6vw;
  }
}
#location .bl_hero_txt {
  margin-top: 20px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.875;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .bl_hero_txt {
    margin-top: 3vw;
    font-size: 3.4vw;
  }
  #location .bl_hero_txt br {
    display: none;
  }
}
#location .bl_life {
  position: relative;
  width: 95%;
  max-width: 1000px;
  margin: 69px auto 0;
}
@media screen and (max-width: 768px) {
  #location .bl_life {
    width: 90%;
    margin-top: 10vw;
  }
}
#location .bl_badge24 {
  position: absolute;
  z-index: 2;
  margin: 0;
}
#location .bl_badge24 img {
  display: block;
  width: 100%;
  height: auto;
}
#location .bl_badge24-shop {
  top: -49px;
  left: 80.8743169399%;
  width: 13.7978142077%;
}
@media screen and (max-width: 768px) {
  #location .bl_badge24-shop {
    top: -5vw;
    left: auto;
    right: 2vw;
    width: 20vw;
  }
}
#location .bl_life_row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
#location .bl_life_row + .bl_life_row {
  margin-top: 72px;
}
@media screen and (max-width: 768px) {
  #location .bl_life_row {
    display: block;
  }
  #location .bl_life_row + .bl_life_row {
    margin-top: 10vw;
  }
}
#location .bl_life_row-rev {
  width: 98.9%;
}
#location .bl_life_row-rev .bl_life_pics {
  width: 73.8119312437%;
}
#location .bl_life_row-rev .bl_life_txt {
  width: 24.1658240647%;
}
#location .bl_life_row-rev .bl_pic {
  width: 49.7260273973%;
}
@media screen and (max-width: 768px) {
  #location .bl_life_row-rev {
    width: 100%;
  }
  #location .bl_life_row-rev .bl_life_pics,
  #location .bl_life_row-rev .bl_life_txt {
    width: 100%;
  }
}
#location .bl_life_txt {
  width: 23.9%;
}
@media screen and (max-width: 768px) {
  #location .bl_life_txt {
    width: 100%;
    margin-top: 5vw;
  }
}
#location .bl_life_pics {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 73.2%;
}
@media screen and (max-width: 768px) {
  #location .bl_life_pics {
    width: 100%;
  }
}
#location .bl_pic {
  position: relative;
  width: 49.5901639344%;
  margin: 0;
}
#location .bl_pic img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .bl_pic {
    width: 48.5%;
  }
}
#location .bl_life_ttl {
  padding-bottom: 4px;
  border-bottom: 1px solid #231815;
}
#location .bl_life_ttl img {
  display: block;
  width: 58.5774058577%;
  height: auto;
  margin-left: 1px;
}
@media screen and (max-width: 768px) {
  #location .bl_life_ttl img {
    width: 28vw;
  }
}
#location .bl_life_row-rev .bl_life_ttl img {
  width: 30.9623430962%;
}
@media screen and (max-width: 768px) {
  #location .bl_life_row-rev .bl_life_ttl img {
    width: 15vw;
  }
}
#location .bl_item {
  margin-top: 5px;
}
#location .bl_life_row-rev .bl_item + .bl_item {
  margin-top: 11px;
}
@media screen and (max-width: 768px) {
  #location .bl_life_row-rev .bl_item + .bl_item {
    margin-top: 4vw;
  }
}
#location .bl_item_name {
  display: flex;
  align-items: center;
  color: #1a140f;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5714285714;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .bl_item_name {
    font-size: 3.8vw;
  }
}
#location .bl_item_dist {
  margin-left: 14px;
  font-size: 10px;
}
@media screen and (max-width: 768px) {
  #location .bl_item_dist {
    margin-left: 2vw;
    font-size: 3vw;
  }
}
#location .bl_life_row-rev .bl_item_dist {
  font-size: 11px;
}
@media screen and (max-width: 768px) {
  #location .bl_life_row-rev .bl_item_dist {
    font-size: 3vw;
  }
}
#location .bl_item_desc {
  margin-top: 5px;
  color: #1a140f;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.6363636364;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .bl_item_desc {
    font-size: 3.2vw;
    line-height: 1.7;
  }
}
#location .bl_num {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  margin-right: 7px;
  background: #4c4c4f;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
#location .bl_num-pic {
  position: absolute;
  margin: 0;
}
#location .bl_num-bl {
  bottom: 0;
  left: 0;
}
#location .bl_num-br {
  right: 0;
  bottom: 0;
}
#location .bl_band {
  margin-top: 53px;
  padding: 18px 0 57px;
  background: #4a3f00;
}
@media screen and (max-width: 768px) {
  #location .bl_band {
    margin-top: 10vw;
    padding: 8vw 0;
  }
}
#location .bl_band_inner {
  display: flex;
  justify-content: space-between;
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #location .bl_band_inner {
    display: block;
    width: 90%;
  }
}
#location .bl_band_col {
  position: relative;
  width: 47.8830645161%;
}
@media screen and (max-width: 768px) {
  #location .bl_band_col {
    width: 100%;
  }
  #location .bl_band_col + .bl_band_col {
    margin-top: 8vw;
  }
}
#location .bl_band_col-2 {
  width: 47.9838709677%;
}
@media screen and (max-width: 768px) {
  #location .bl_band_col-2 {
    width: 100%;
  }
}
#location .bl_band_ttl {
  /* Figmaでは JUNIOR COLLEGE の「GE」が写真の上に重なるので、見出しを写真より前面に */
  position: relative;
  z-index: 1;
  width: 34.7368421053%;
  margin-top: 38px;
  padding-bottom: 4px;
  border-bottom: 1px solid #fff;
}
#location .bl_band_ttl img {
  display: block;
  width: 83.0303030303%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .bl_band_ttl {
    width: 50%;
    margin-top: 0;
  }
}
#location .bl_band_col-2 .bl_band_ttl {
  width: 46.8487394958%;
}
#location .bl_band_col-2 .bl_band_ttl img {
  width: 98.2062780269%;
}
@media screen and (max-width: 768px) {
  #location .bl_band_col-2 .bl_band_ttl {
    width: 70%;
  }
}
#location .bl_band_pic {
  position: absolute;
  top: 35px;
  right: 0;
  width: 60.8421052632%;
  margin: 0;
}
#location .bl_band_pic img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .bl_band_pic {
    position: static;
    width: 100%;
    margin-top: 4vw;
  }
}
#location .bl_band_col-2 .bl_band_pic {
  width: 60.7142857143%;
}
@media screen and (max-width: 768px) {
  #location .bl_band_col-2 .bl_band_pic {
    width: 100%;
  }
}
#location .bl_badge24-er {
  top: 0;
  left: 74.5263157895%;
  width: 21.0526315789%;
}
@media screen and (max-width: 768px) {
  #location .bl_badge24-er {
    top: 14vw;
    left: auto;
    right: 3vw;
    width: 22vw;
  }
}
#location .bl_band_txt {
  width: 34.7368421053%;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  #location .bl_band_txt {
    width: 100%;
    margin-top: 4vw;
  }
}
#location .bl_band_name {
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .bl_band_name {
    font-size: 4.2vw;
  }
}
#location .bl_band_dist {
  margin-top: 5px;
  color: #d9d1c7;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .bl_band_dist {
    margin-top: 2vw;
    font-size: 3.2vw;
  }
}
#location .bl_band_desc {
  margin-top: 10px;
  color: #e6e0d9;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.6363636364;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .bl_band_desc {
    margin-top: 3vw;
    font-size: 3.2vw;
    line-height: 1.7;
  }
}
#location .bl_map {
  background: url(../img/location/balance_map_bg.webp) center center/cover no-repeat;
}
#location .bl_map_fig {
  width: 83.3333333333%;
  margin: 0 auto;
}
#location .bl_map_fig img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .bl_map_fig {
    width: 100%;
  }
}
#location .bl_topics {
  padding: 36px 0 35px;
  background: url(../img/location/balance_topics_bg.webp) center center/cover no-repeat;
}
@media screen and (max-width: 768px) {
  #location .bl_topics {
    padding: 8vw 0;
  }
}
#location .bl_topics_inner {
  display: flex;
  justify-content: space-between;
  width: 83.3333333333%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #location .bl_topics_inner {
    display: block;
    width: 90%;
  }
}
#location .bl_topics_diagram {
  width: 71%;
  margin: 0;
}
#location .bl_topics_diagram img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .bl_topics_diagram {
    width: 100%;
  }
}
#location .bl_topics_txt {
  width: 26.1666666667%;
}
@media screen and (max-width: 768px) {
  #location .bl_topics_txt {
    width: 100%;
    margin-top: 6vw;
  }
}
#location .bl_topics_label {
  width: 65.2866242038%;
  margin: 0 auto;
}
#location .bl_topics_label img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #location .bl_topics_label {
    width: 40vw;
  }
}
#location .bl_topics_ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 10px;
  padding: 4px 10px;
  background: #dda461;
  color: #000;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3076923077;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .bl_topics_ttl {
    min-height: 11vw;
    margin-top: 3vw;
    font-size: 3.6vw;
  }
}
#location .bl_topics_desc {
  margin-top: 10px;
  color: #000;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .bl_topics_desc {
    margin-top: 3vw;
    font-size: 3.2vw;
    line-height: 1.7;
  }
}
#location .bl_topics_meta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  margin-top: 10px;
  padding: 2px 6px;
  background: #3f4247;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .bl_topics_meta {
    min-height: 8vw;
    margin-top: 3vw;
    font-size: 3.2vw;
  }
}
#location .bl_topics_note {
  margin-top: 10px;
  color: #595959;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.5555555556;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .bl_topics_note {
    margin-top: 3vw;
    font-size: 2.8vw;
  }
}
#location .life_wrap {
  background: #fff;
  padding: 67px 0 40px;
}
@media screen and (max-width: 768px) {
  #location .life_wrap {
    padding: 10vw 0 6vw;
  }
}
#location .com-content.life {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #location .com-content.life {
    width: 90%;
  }
}
#location .spot_content_04.info {
  padding: 0;
}
#location .spot_content_04.info .com-ttl {
  margin-bottom: 0;
  border-bottom: 1px solid #000;
  color: #200403;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #location .spot_content_04.info .com-ttl {
    font-size: 6vw;
  }
}
#location .life_content_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 4%;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  #location .life_content_wrap {
    grid-template-columns: 1fr;
    gap: 8vw;
    margin-top: 7vw;
  }
}
#location .life_cont_ttl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #737373;
  color: #1a1a1a;
}
#location .life_cont_ttl p {
  font-size: 21px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  #location .life_cont_ttl p {
    font-size: 4.8vw;
  }
}
#location .life_cont_ttl ._sml {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .life_cont_ttl ._sml {
    font-size: 3.4vw;
  }
}
#location .life_list {
  margin-top: 15px;
  color: #000;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  #location .life_list {
    margin-top: 3vw;
    font-size: 3.4vw;
  }
}
#location .life_item {
  display: flex;
  align-items: center;
  line-break: anywhere;
  /* 所要時間のない注記行はリーダーを出さない */
}
#location .life_item::after {
  content: "";
  flex: auto;
  height: 0.5em;
  margin: 0 0.4em;
  background: radial-gradient(#000 20%, transparent 30%) center/0.5em;
}
#location .life_item.no-after::after {
  content: none;
  background: none;
}
#location .life_description {
  order: 1;
  flex-shrink: 0;
  min-width: 12em;
  white-space: nowrap;
  text-align: left;
  /* r83踏襲：全角スペースではなく数字1桁分(0.6em)のスペーサーで
     徒歩分数の桁数が変わっても右端が揃うようにする */
}
#location .life_description .value_pad_walk,
#location .life_description .value_pad_dist {
  display: inline-block;
  width: 0.6em;
}

#access {
  /* ----- 路線図に重ねるリード文・本文 ----- */
  /* ----- TRAIN ACCESS ----- */
  /* ----- SIMULATION / TAXI / BUS バンド（背景は画像・見出しと文章はテキスト） ----- */
  /* SIMULATION */
  /* TAXI INFORMATION */
  /* ============================================================
     SIMULATION（通勤／終電）
     r79 の .sim_list / .sim_item / .sim_txt(js-scrollable) を流用。
     SPは1カラムに落として、ScrollHint(applyToParents)が .sim_item に
     overflow:auto を付けるので横スワイプできる
     ============================================================ */
  /* ============================================================
     TAXI INFORMATION
     r79 の .taxi_list / .taxi_item / .taxi_txt を流用。
     料金は4枚の透過画像に分け、SPでは2列2行＋その下にタクシー写真
     ============================================================ */
  /* SPでは料金の下にタクシー写真を置く */
  /* ============================================================
     BUS INFORMATION
     1枚画像＋絶対配置をやめ、見出し・リード・本文・注記はテキスト、
     経路図だけ透過画像に。SPは経路図を横スクロールさせて文字の重なりを解消
     ============================================================ */
  /* PCでは罫線のすぐ下・右端に置く（経路図の上に重ねる） */
  /* PCは経路図の右下（写真の下端より上）に置く */
}
#access .main_img {
  position: relative;
  height: 320px;
  overflow: hidden;
  /* SPはr79と同じく画像（750×300）の比率にまかせる */
}
@media screen and (max-width: 768px) {
  #access .main_img {
    height: auto;
  }
}
#access .main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#access .main_img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #040404;
  mix-blend-mode: color;
}
#access .main_img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(253, 253, 253, 0.75);
}
#access .com-main_txt {
  color: #1a1a1a;
}
#access .place_row {
  display: flex;
}
@media screen and (max-width: 768px) {
  #access .place_row {
    flex-wrap: wrap;
  }
}
#access .place_row li {
  flex: 1 0 0;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  #access .place_row li {
    flex: 1 0 50%;
  }
}
#access .place_row li img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#access .access_train {
  background: url(../img/access/gorgeous_bg.webp) center/cover no-repeat;
  padding: 60px 0 95px;
}
#access .access_train .com-content {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
#access .scroll_wrap {
  position: relative;
  width: 100%;
  /* ScrollHintが overflow:auto をインラインで付けるので、
     横スクロールだけ残して縦スクロールバーが出ないようにする */
  overflow-y: hidden !important;
}
#access .access_train_map,
#access .access_train_time {
  width: 100%;
}
#access .access_train_map img,
#access .access_train_time img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #access .access_train_map,
  #access .access_train_time {
    width: 150%;
  }
}
#access .access_map_block {
  position: relative;
}
#access .access_map_txt {
  position: absolute;
  top: 62.5%;
  left: 0;
  width: 53%;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #access .access_map_txt {
    position: static;
    width: 100%;
    margin-top: 20px;
  }
}
#access .com-lead {
  font-size: clamp(17px, 1.8055555556vw, 26px);
  line-height: 1.6153846154;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  #access .com-lead {
    font-size: clamp(16px, 4.6vw, 26px);
  }
}
#access .com-txt {
  margin-top: clamp(8px, 0.9722222222vw, 14px);
  font-size: clamp(11px, 1.0416666667vw, 15px);
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #access .com-txt {
    font-size: clamp(11px, 3.2vw, 15px);
  }
}
#access .sec_ttl {
  width: 17.2%;
  margin-top: 0.4%;
}
#access .sec_ttl img {
  display: block;
  width: 100%;
  height: auto;
}
#access .access_time_head {
  display: flex;
  align-items: center;
  gap: clamp(8px, 1.1111111111vw, 16px);
  margin: clamp(7px, 0.9722222222vw, 14px) 0 clamp(3px, 0.3472222222vw, 5px);
  color: #fff;
  line-height: 1.15;
}
@media screen and (max-width: 768px) {
  #access .access_time_head {
    flex-wrap: wrap;
  }
}
#access .access_time_from {
  flex-shrink: 0;
  font-size: clamp(11px, 0.9722222222vw, 14px);
  letter-spacing: 0.05em;
}
#access .access_time_from span {
  font-size: clamp(17px, 1.6666666667vw, 24px);
}
#access .access_time_line {
  flex: 1 1 auto;
  height: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 768px) {
  #access .access_time_line {
    display: none;
  }
}
#access .access_time_note {
  flex-shrink: 0;
  font-size: clamp(9px, 0.6944444444vw, 10px);
  line-height: 1.4;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #access .access_time_note {
    flex-shrink: 1;
  }
}
#access .access_band {
  position: relative;
}
#access .access_band img {
  display: block;
  width: 100%;
  height: auto;
}
#access .band_ttl {
  position: absolute;
}
#access .band_ttl img {
  display: block;
  width: 100%;
  height: auto;
}
#access .band_line {
  position: absolute;
  height: 0;
  border-top: 1px solid;
}
#access .band_ttl-sim {
  top: 14.9653579677%;
  left: 45.7361111111%;
  width: 8.6111111111%;
}
#access .band_line-sim {
  top: 20.1616628176%;
  left: 15.3541666667%;
  width: 69.3125%;
  border-color: #000003;
}
#access .band_ttl-taxi {
  top: 13.2666666667%;
  left: 15.3333333333%;
  width: 13.8888888889%;
}
#access .band_line-taxi {
  top: 21.1666666667%;
  left: 15.3125%;
  width: 49.2222222222%;
  border-color: #fff;
}
#access .access_band-sim {
  background: url(../img/access/sim_bg.webp) center center/cover no-repeat;
  padding: 65px 0 54px;
}
@media screen and (max-width: 768px) {
  #access .access_band-sim {
    padding: 10vw 0 8vw;
  }
}
#access .sim_content {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #access .sim_content {
    width: 95%;
  }
}
#access .sim_ttl {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #000003;
}
#access .sim_ttl img {
  display: block;
  width: 12.4%;
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #access .sim_ttl img {
    width: 26vw;
  }
}
#access .sim_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.4%;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  #access .sim_list {
    grid-template-columns: 100%;
    gap: 7vw;
    margin-top: 6vw;
  }
}
#access .sim_item {
  /* SPでは右端まで見せて、はみ出した分を横スクロールさせる
     （overflow:auto と .scroll-hint は ScrollHint が付与する） */
}
@media screen and (max-width: 768px) {
  #access .sim_item {
    margin-right: calc(50% - 50vw);
  }
}
#access .sim_txt {
  margin: 0;
}
#access .sim_txt img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #access .sim_txt {
    width: 150%;
  }
  #access .sim_txt img {
    vertical-align: unset;
  }
}
#access .sim_note {
  margin-top: 16px;
  color: #231815;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0;
  text-align: right;
}
@media screen and (max-width: 768px) {
  #access .sim_note {
    margin-top: 4vw;
    font-size: 2.6vw;
    line-height: 1.6;
  }
}
#access .access_band-taxi {
  background: url(../img/access/taxi_bg.webp) center center/cover no-repeat;
  padding: 40px 0 35px;
}
@media screen and (max-width: 768px) {
  #access .access_band-taxi {
    padding: 8vw 0;
  }
}
#access .taxi_content {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
}
#access .taxi_body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #access .taxi_body {
    display: block;
  }
}
#access .taxi_main {
  width: 71%;
}
@media screen and (max-width: 768px) {
  #access .taxi_main {
    width: 100%;
  }
}
#access .taxi_ttl {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #fff;
}
#access .taxi_ttl img {
  display: block;
  width: 28.1690140845%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #access .taxi_ttl img {
    width: 42vw;
  }
}
#access .taxi_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.2394366197%;
  margin-top: 21px;
  /* SPは2列2行 */
}
@media screen and (max-width: 768px) {
  #access .taxi_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 5vw 4vw;
    margin-top: 5vw;
  }
}
#access .taxi_item figure {
  margin: 0;
}
#access .taxi_item img {
  display: block;
  width: 100%;
  height: auto;
}
#access .taxi_img {
  position: relative;
  width: 26.2%;
  margin: 0;
}
#access .taxi_img img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #access .taxi_img {
    width: 100%;
    margin-top: 6vw;
  }
}
#access .taxi_line {
  display: block;
  height: 0;
  margin-top: 15px;
  border-top: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  #access .taxi_line {
    margin-top: 6vw;
  }
}
#access .taxi_txt {
  margin-top: 11px;
  color: #fff;
  font-size: 9px;
  line-height: 1.5555555556;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #access .taxi_txt {
    margin-top: 3vw;
    font-size: 2.6vw;
    line-height: 1.7;
  }
}
#access .access_band-bus {
  background: url(../img/access/bus_bg.webp) center center/cover no-repeat;
  padding: 56px 0 55px;
}
@media screen and (max-width: 768px) {
  #access .access_band-bus {
    padding: 8vw 0;
  }
}
#access .bus_content {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
}
#access .bus_head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-bottom: 0;
  border-bottom: 1px solid #000003;
}
@media screen and (max-width: 768px) {
  #access .bus_head {
    display: block;
    padding-bottom: 2vw;
  }
}
#access .bus_ttl {
  width: 18.8%;
  margin: 0;
  padding: 0;
}
#access .bus_ttl img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #access .bus_ttl {
    width: 42vw;
  }
}
#access .bus_lead {
  /* Figma：見出しは罫線に接しているがリードは下端73で、罫線(80)まで6px空く。
     行の高さは見出し側で決めたいので、相対位置で持ち上げる */
  position: relative;
  bottom: 6px;
  color: #1a1a1a;
  font-size: 19px;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  #access .bus_lead {
    position: static;
    margin-top: 3vw;
    font-size: 3.8vw;
    line-height: 1.5;
    white-space: normal;
  }
}
#access .bus_body {
  position: relative;
}
#access .bus_txt {
  position: absolute;
  top: 10px;
  right: 0;
  color: #1a1a1a;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  #access .bus_txt {
    position: static;
    margin-top: 4vw;
    font-size: 3.2vw;
    line-height: 1.8;
    white-space: normal;
  }
}
#access .bus_route {
  width: 100%;
  margin: 14px 0 0;
  /* SPははみ出させて横スクロール（ScrollHintが親に overflow を付ける） */
}
#access .bus_route img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #access .bus_route {
    width: 200%;
    margin-top: 5vw;
  }
}
#access .bus_note {
  position: absolute;
  top: 152px;
  right: 0;
  color: #231815;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0;
  text-align: right;
}
@media screen and (max-width: 768px) {
  #access .bus_note {
    position: static;
    margin-top: 3vw;
    font-size: 2.6vw;
    line-height: 1.6;
    text-align: left;
  }
}

#design {
  /* ----- ヒーロー（ACCESS等と共通の構造） ----- */
  /* ----- 見出しブロック（背景画像の上にテキストを重ねる） ----- */
  /* 本文の改行位置は br で指定しているので、幅は「意図しない折り返しが
     起きない」ことだけを担保すればよい。.design_txt は 1440px で1行392px、
     フォントが下限11pxに張り付く1100px以下では308px必要になるため
     min-width で受け止める */
  /* ----- 右端に配置する装飾欧文 ----- */
  /* ----- 完成予想CG ----- */
  /* ----- セクション間の区切り ----- */
  /* ----- 950px以下は版面・見出し・本文をまとめて比率で縮小する -----
     これより上の帯ではフォントが下限（見出し16px／本文11px）に張り付き、
     ブロック幅も min-width:320px で止まる。その950px時点の値を基準に、
     ビュー幅に比例させて縮めることで、950pxで段差なく繋がる */
}
#design .main_img {
  position: relative;
  height: 320px;
  overflow: hidden;
  /* SPはr79と同じく画像（750×300）の比率にまかせる */
}
@media screen and (max-width: 768px) {
  #design .main_img {
    height: auto;
  }
}
#design .main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#design .main_img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #040404;
  mix-blend-mode: color;
}
#design .main_img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(253, 253, 253, 0.75);
}
#design .com-main_txt {
  color: #1a1a1a;
}
#design .design_head {
  position: relative;
  aspect-ratio: 1440/386;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  #design .design_head {
    aspect-ratio: auto;
    padding: 8vw 6vw;
  }
}
#design .design_head-facade {
  background-color: #fff;
  background-image: url(../img/design/facade_bg.webp);
}
#design .design_head-entrance {
  background-color: #241A04;
  background-image: url(../img/design/entrance_bg.webp);
}
#design .design_head_inner {
  position: absolute;
  top: 10.3626943005%;
  width: 28.4722222222%;
  min-width: 320px;
}
@media screen and (max-width: 768px) {
  #design .design_head_inner {
    position: static;
    width: 100%;
    min-width: 0;
  }
}
#design .design_head-facade .design_head_inner {
  left: 36.3888888889%;
}
#design .design_head-entrance .design_head_inner {
  left: 37.2222222222%;
  width: 26.7361111111%;
  min-width: 300px;
}
@media screen and (max-width: 768px) {
  #design .design_head-entrance .design_head_inner {
    width: 100%;
    min-width: 0;
  }
}
#design .design_ttl img {
  display: block;
  width: 100%;
  height: auto;
}
#design .design_ttl-grace {
  width: 90.243902439%;
}
#design .design_ttl-entrance {
  width: 44.1558441558%;
}
#design .design_lead {
  margin-top: clamp(8px, 1.3194444444vw, 19px);
  font-size: clamp(16px, 1.6666666667vw, 24px);
  font-weight: 600;
  line-height: 1.5833333333;
  letter-spacing: 0.1em;
  /* 改行位置は br で指定しているため、字送り分のはみ出しで折り返らせない */
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  #design .design_lead {
    white-space: normal;
  }
}
#design .design_txt {
  margin-top: clamp(10px, 1.3888888889vw, 20px);
  font-size: clamp(11px, 0.9722222222vw, 14px);
  font-weight: 400;
  line-height: 2.1428571429;
  letter-spacing: 0;
}
#design .design_head-facade .design_lead {
  color: #241A04;
}
#design .design_head-facade .design_txt {
  color: #000;
}
#design .design_head-entrance .design_lead,
#design .design_head-entrance .design_txt {
  color: #fff;
}
#design .design_deco {
  position: absolute;
  right: 0;
}
#design .design_deco img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #design .design_deco {
    display: none;
  }
}
#design .design_deco-facade {
  bottom: 0;
  width: 26.3888888889%;
}
#design .design_deco-entrance {
  top: 4.4041450777%;
  width: 5.7638888889%;
}
#design .design_cg {
  position: relative;
  margin: 0;
}
#design .design_cg img {
  display: block;
  width: 100%;
  height: auto;
}
#design .design_cap {
  position: absolute;
  right: 1.9444444444%;
  bottom: clamp(5px, 0.6944444444vw, 10px);
  color: #fff;
  font-size: clamp(10px, 0.8333333333vw, 12px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
}
#design .design_gap {
  height: 5px;
  background: #fff;
}
#design .design_bar {
  height: 10px;
  background: #D38A00;
}
@media screen and (min-width: 769px) and (max-width: 950px) {
  #design .design_head_inner {
    width: 33.6842105263%;
    min-width: 0;
  }
  #design .design_head-entrance .design_head_inner {
    width: 31.5789473684%;
    min-width: 0;
  }
  #design .design_lead {
    font-size: 1.6842105263vw;
  }
  #design .design_txt {
    font-size: 1.1578947368vw;
  }
}

#plan {
  /* ----- ヒーロー（下層ページ共通の構造） ----- */
  /* ----- 外観完成予想CG ----- */
  /* ----- タイプ一覧 ----- */
}
#plan .main_img {
  position: relative;
  height: 320px;
  overflow: hidden;
  /* SPはr79と同じく画像（750×300）の比率にまかせる */
}
@media screen and (max-width: 768px) {
  #plan .main_img {
    height: auto;
  }
}
#plan .main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#plan .main_img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #040404;
  mix-blend-mode: color;
}
#plan .main_img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(253, 253, 253, 0.75);
}
#plan .com-main_txt {
  color: #1a1a1a;
}
#plan .plan_building figure {
  margin: 0;
}
#plan .plan_building img {
  display: block;
  width: 100%;
  height: auto;
}
#plan .btn_wrap {
  background: #fff;
  padding: 80px 0;
}
@media screen and (max-width: 768px) {
  #plan .btn_wrap {
    padding: 10vw 0;
  }
}
#plan .btn_box {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 1.3%;
  row-gap: clamp(15px, 2.0833333333vw, 30px);
}
@media screen and (max-width: 768px) {
  #plan .btn_box {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3vw;
    row-gap: 4vw;
  }
}
#plan .btn_card {
  position: relative;
  display: block;
  aspect-ratio: 240/513;
  background: #241A04;
  color: #fff;
  text-align: center;
  transition: 0.4s;
  /* 上下2本の罫線 */
  /* 「専有面積」の枠付きラベル */
  /* バルコニーと専用庭を2種類載せるタイプ（E）のみ行間を詰める */
}
#plan .btn_card:hover {
  opacity: 0.75;
}
#plan .btn_card p {
  position: absolute;
  left: 0;
  width: 100%;
  color: #fff;
  letter-spacing: 0.1em;
}
#plan .btn_card::before, #plan .btn_card::after {
  content: "";
  position: absolute;
  left: 10.4166666667%;
  width: 79.1666666667%;
  height: 0;
  border-top: 1px solid #fff;
}
#plan .btn_card::before {
  top: 20.0779727096%;
}
#plan .btn_card::after {
  top: 29.8245614035%;
}
#plan .btn_card .type {
  top: 7.992202729%;
  font-size: clamp(26px, 3.4722222222vw, 50px);
  font-weight: 600;
  line-height: clamp(16px, 2.0833333333vw, 30px);
}
#plan .btn_card .type small {
  font-size: clamp(9px, 0.9722222222vw, 14px);
}
#plan .btn_card .ldk {
  top: 22.0272904483%;
  font-size: clamp(16px, 1.9444444444vw, 28px);
  font-weight: 600;
  line-height: 1.0714285714;
}
#plan .btn_card .spec_ttl {
  top: 35.6725146199%;
  left: 20.8333333333%;
  width: 58.3333333333%;
  height: 7.7972709552%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  font-size: clamp(10px, 1.1111111111vw, 16px);
  font-weight: 600;
  line-height: 1;
}
#plan .btn_card .size {
  top: 47.3684210526%;
  font-size: clamp(18px, 2.2222222222vw, 32px);
  font-weight: 600;
  line-height: 0.9375;
  letter-spacing: 0;
}
#plan .btn_card .size span,
#plan .btn_card .size small {
  font-size: clamp(10px, 1.0416666667vw, 15px);
}
#plan .btn_card .com-note {
  top: 55.1656920078%;
  font-size: clamp(9px, 0.9722222222vw, 14px);
  font-weight: 600;
  line-height: 2.1428571429;
}
#plan .btn_card .note {
  top: 64.9122807018%;
  font-size: clamp(11px, 1.25vw, 18px);
  font-weight: 600;
  line-height: 1.6666666667;
}
#plan .btn_card-multi .note {
  top: 63.1578947368%;
  line-height: 1.1111111111;
  letter-spacing: 0.05em;
}
#plan .btn_card .more {
  position: absolute;
  top: 82.4561403509%;
  left: 10.4166666667%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 79.1666666667%;
  height: 9.746588694%;
  background: #AE8755;
  color: #fff;
  font-size: clamp(9px, 0.9722222222vw, 14px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
}

/* ============================================================
   間取り詳細（type_*.php）
   ============================================================ */
#type {
  /* ----- ヒーロー（下層ページ共通の構造） ----- */
  /* ----- 背景（室内写真にゴールドを乗算） ----- */
  /* ----- 白いプランカード ----- */
  /* Figma は行送り24px指定だが60pxの文字と重なるため、2要素に分けて実測位置に配置する
     （Figma実測：A1のキャップ上端 y45.2 / TYPE上端 y103.8、バッジは150x150） */
  /* 情報ブロック下の罫線 */
  /* Eタイプのみ面積が3行のため、Figmaに合わせて情報ブロックと罫線の位置を調整 */
  /* ----- 印刷ボタン ----- */
}
#type .main_img {
  position: relative;
  height: 320px;
  overflow: hidden;
  /* SPはr79と同じく画像（750×300）の比率にまかせる */
}
@media screen and (max-width: 768px) {
  #type .main_img {
    height: auto;
  }
}
#type .main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#type .main_img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #040404;
  mix-blend-mode: color;
}
#type .main_img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(253, 253, 253, 0.75);
}
#type .com-main_txt {
  color: #1a1a1a;
}
#type .type_wrap {
  position: relative;
  padding: 7.0138888889% 0 9.3055555556%;
  background: url(../img/plan/detail_bg.webp) center/cover no-repeat;
}
#type .type_wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #AE8755;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
  #type .type_wrap {
    padding: 8vw 0 10vw;
  }
}
#type .type_card {
  position: relative;
  z-index: 1;
  width: 69.375%;
  max-width: 999px;
  margin: 0 auto;
  aspect-ratio: 999/930;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #type .type_card {
    width: 92%;
    aspect-ratio: auto;
    padding-bottom: 6vw;
  }
}
#type .type_badge {
  position: absolute;
  top: 0;
  left: 0;
  width: 15.015015015%;
  height: 16.1290322581%;
  background: #241A04;
}
@media screen and (max-width: 768px) {
  #type .type_badge {
    position: static;
    width: 100%;
    height: auto;
    padding: 3vw 0;
  }
}
#type .type_name {
  position: absolute;
  top: 22.3333333333%;
  left: 0;
  width: 100%;
  color: #fff;
  font-size: clamp(30px, 4.1666666667vw, 60px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #type .type_name {
    position: static;
    font-size: 8vw;
  }
}
#type .type_sub {
  position: absolute;
  top: 67.3333333333%;
  left: 0;
  width: 100%;
  color: #fff;
  font-size: clamp(9px, 0.9722222222vw, 14px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #type .type_sub {
    position: static;
    margin-top: 1vw;
    font-size: 3vw;
  }
}
#type .type_info {
  position: absolute;
  top: 3.1182795699%;
  left: 18.1181181181%;
  display: flex;
  align-items: flex-start;
  gap: 2.0138888889vw;
  color: #1a1a1a;
}
@media screen and (max-width: 768px) {
  #type .type_info {
    position: static;
    flex-direction: column;
    gap: 2vw;
    padding: 4vw 5vw 0;
  }
}
#type .type_ldk {
  flex-shrink: 0;
  width: 5.625vw;
  max-width: 81px;
  margin-top: clamp(5px, 0.7638888889vw, 11px);
  font-size: clamp(18px, 2.0833333333vw, 30px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #type .type_ldk {
    width: auto;
    max-width: none;
    margin-top: 0;
    font-size: 5vw;
  }
}
#type .type_area {
  font-size: clamp(11px, 1.1111111111vw, 16px);
  font-weight: 600;
  line-height: 1.625;
  letter-spacing: 0.1em;
}
#type .type_area small {
  font-size: clamp(9px, 0.8333333333vw, 12px);
}
@media screen and (max-width: 768px) {
  #type .type_area {
    font-size: 3.4vw;
  }
}
#type .type_card::before {
  content: "";
  position: absolute;
  top: 9.8924731183%;
  left: 15.015015015%;
  width: 81.0810810811%;
  height: 0;
  border-top: 1px solid #1a1a1a;
}
@media screen and (max-width: 768px) {
  #type .type_card::before {
    display: none;
  }
}
#type .type_card-e .type_info {
  top: 1.3978494624%;
}
#type .type_card-e .type_ldk {
  margin-top: clamp(11px, 1.6666666667vw, 24px);
}
#type .type_card-e::before {
  top: 11.5053763441%;
}
@media screen and (max-width: 768px) {
  #type .type_card-e .type_info {
    top: auto;
  }
  #type .type_card-e .type_ldk {
    margin-top: 0;
  }
}
#type .type_room {
  position: absolute;
  top: 12.0430107527%;
  left: 18.9189189189%;
  color: #1a1a1a;
  font-size: clamp(10px, 0.9722222222vw, 14px);
  font-weight: 600;
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #type .type_room {
    position: static;
    padding: 3vw 5vw 0;
    font-size: 3.2vw;
  }
}
#type .type_img {
  position: absolute;
  top: 19.3548387097%;
  left: 16.016016016%;
  width: 67.0670670671%;
  margin: 0;
}
#type .type_img img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #type .type_img {
    position: static;
    width: 90%;
    margin: 4vw auto 0;
  }
}
#type .btn_print {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13.4722222222%;
  max-width: 194px;
  height: 2.7777777778vw;
  max-height: 40px;
  margin: 3.1944444444% auto 0;
  background: #AE8755;
  color: #fff;
  font-size: clamp(10px, 0.9722222222vw, 14px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  transition: 0.3s;
}
#type .btn_print:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  #type .btn_print {
    width: 50%;
    max-width: none;
    height: 12vw;
    max-height: none;
    margin-top: 6vw;
    font-size: 3.4vw;
  }
}

/* 印刷設定（r79・r83と同一仕様）
*******************************************/
@media print {
  body {
    margin: 0;
    padding: 0;
  }
  @page {
    margin: 5mm;
    size: A4 portrait;
  }
  header,
  footer,
  .btn_print,
  .com-cap {
    display: none !important;
  }
  .com-content {
    page-break-inside: avoid;
  }
  img {
    max-width: 65%;
    height: auto;
  }
  #type {
    /* 背景写真とゴールドの乗算オーバーレイは印刷しない */
    /* 画面用の絶対配置を解除。r79 の .spec-wrap と同じく
       バッジ17%＋情報90%で行が折り返し、バッジが独立行になる */
    /* 見出し：r79・r83 と同一（幅17%・padding 20px 10px・line-height 1・黒枠） */
  }
  #type .type_wrap {
    padding: 0 !important;
    background: none !important;
  }
  #type .type_wrap::before {
    display: none !important;
  }
  #type .type_card {
    display: flex;
    flex-wrap: wrap;
    width: 95% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 20px 0 0;
    aspect-ratio: auto !important;
    background: none !important;
    page-break-inside: avoid;
  }
  #type .type_card::before {
    display: none !important;
  }
  #type .type_badge,
  #type .type_name,
  #type .type_sub,
  #type .type_info,
  #type .type_room,
  #type .type_img {
    position: static !important;
    top: auto !important;
    left: auto !important;
  }
  #type .type_badge {
    width: 17% !important;
    height: auto !important;
    padding: 20px 10px !important;
    border: 1px solid #000 !important;
    text-align: center;
  }
  #type .type_name {
    font-size: 36px !important;
    line-height: 1 !important;
  }
  #type .type_sub {
    margin-top: 0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }
  #type .type_info {
    display: flex;
    align-items: center;
    width: 90% !important;
    margin: 0 !important;
    padding: 20px 0 10px 20px !important;
    border-bottom: 1px solid #1a1a1a;
  }
  #type .type_ldk {
    width: auto !important;
    max-width: none !important;
    margin: 0 10px 0 0 !important;
    padding-bottom: 5px !important;
    font-size: 40px !important;
    line-height: 1.1 !important;
  }
  #type .type_area {
    font-size: 18px !important;
    line-height: 1.7 !important;
  }
  #type .type_area .com-note {
    font-size: 13px !important;
  }
  #type .type_room {
    width: 100%;
    /* r79〜r84 の .spec-wrap { padding-bottom: 25px } 相当（間取り図との間隔） */
    margin: 0 0 20px !important;
    padding: 10px 0 0 20px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
  #type .type_img {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    /* 共通の img { max-width: 65% } を上書きして紙幅いっぱいに。
       全タイプの間取り図は同一サイズ（1340x1400）で書き出しており、
       幅だけを基準にすることで全ページの縮尺が必ず揃う。
       高さ上限は付けない（付けると縦長の図だけ縮小され縮尺が狂うため） */
  }
  #type .type_img img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    margin: 0 auto !important;
  }
}
/* Scss Document */
#equipment {
  /*********************************************/
}
#equipment .scroll-hint-text {
  letter-spacing: 0 !important;
}
#equipment .inblock {
  display: inline-block;
}
#equipment .ttl_box p {
  font-family: "Cinzel", serif;
}
#equipment .font_ls0 {
  letter-spacing: 0.05em;
}
#equipment .font_ls1 {
  letter-spacing: 0.1em;
}
#equipment .font_ls_m0 {
  letter-spacing: -0.05em !important;
}
#equipment .com-content.w1000 {
  max-width: 1000px;
}
#equipment .com-content.w1110 {
  max-width: 1110px;
}
#equipment .equip_gradient_bar {
  width: 100%;
  height: 20px;
  background: linear-gradient(to right, #7ebea1, #e4e4a7);
}
#equipment .c000 {
  color: #000;
}
#equipment .com-note.com-note-r {
  text-align: right;
}
#equipment .main .main_txt {
  font-size: 36px;
  letter-spacing: 1rem;
  text-align: center;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  color: #fff;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  #equipment .main .main_txt {
    font-size: 7vw;
  }
}
#equipment .main .com-note {
  margin-bottom: 0 !important;
}
#equipment .equip_group_wrap {
  padding: 50px 0;
}
#equipment .equip_group_wrap_ttl {
  width: 533px;
  max-width: 100%;
  margin-bottom: 40px;
}
#equipment .equip_group_wrap_ttl img {
  display: block;
  width: 100%;
  height: auto;
}
#equipment .equip_group {
  margin-bottom: 40px;
}
#equipment .equip_group:last-child {
  margin-bottom: 0;
}
#equipment .equip_group_head {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 10px;
}
#equipment .equip_group_ttl_row {
  display: flex;
  align-items: center;
  gap: 10px;
}
#equipment .equip_group_bar {
  display: block;
  flex-shrink: 0;
  width: 5px;
  height: 36px;
  background: #241A04;
}
#equipment .equip_group_ttl {
  font-weight: 500;
  font-size: 36px;
  line-height: 1;
  letter-spacing: 0;
  color: #3e3a39;
}
#equipment .equip_group_desc {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0;
  color: #000;
}
#equipment .equip_group_desc.equip_group_desc-bath {
  line-height: 1.5555555556;
}
#equipment .equip_group_desc.equip_group_desc-toilet {
  line-height: 1.7777777778;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  #equipment .equip_group_desc {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}
#equipment .equip_group_body {
  display: grid;
  grid-template-columns: minmax(0, 554fr) minmax(0, 416fr);
  align-items: start;
  gap: 30px;
  margin-bottom: 30px;
}
#equipment .equip_group_body:last-child {
  margin-bottom: 0;
}
#equipment .equip_group_body.equip_group_body-half {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
#equipment .equip_group_body.equip_group_body-toilet .equip_feature figure {
  aspect-ratio: 400/464;
}
@media screen and (max-width: 768px) {
  #equipment .equip_group_body {
    grid-template-columns: minmax(0, 1fr);
  }
}
#equipment .equip_group_photo {
  width: 100%;
  aspect-ratio: 554/907;
  overflow: hidden;
}
#equipment .equip_group_photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#equipment .equip_group_photo.equip_group_photo-toilet {
  aspect-ratio: 554/653;
}
#equipment .equip_feature_list {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 30px;
  justify-content: flex-start;
  height: 100%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_feature_list {
    width: 100%;
    gap: 20px;
  }
}
#equipment .equip_feature {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#equipment .equip_feature figure {
  aspect-ratio: 500/359;
  overflow: hidden;
}
#equipment .equip_feature figure img {
  display: block;
  width: 100%;
  height: 100%;
}
#equipment .equip_feature .equip_feature_name {
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  #equipment .equip_feature .equip_feature_name {
    font-size: 18px;
  }
}
#equipment .equip_feature .equip_feature_txt {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .equip_feature .equip_feature_txt {
    font-size: 14px;
  }
}
#equipment .equip_feature .equip_feature_txt.equip_feature_txt-ls {
  line-height: 1.75;
}
#equipment .equip_feature_row {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 10px;
}
#equipment .equip_feature_row:last-child {
  margin-bottom: 0;
}
#equipment .equip_feature_row .equip_feature {
  flex: 1 0 0;
  min-width: 0;
}
#equipment .equip_feature_row.equip_feature_row-half .equip_feature {
  flex: 0 0 320px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_feature_row {
    flex-direction: column;
  }
  #equipment .equip_feature_row.equip_feature_row-half .equip_feature {
    flex: 1 0 0;
    width: 100%;
  }
}
#equipment .equip_security .equip_group_head {
  margin-bottom: 20px;
}
#equipment .equip_security_sub {
  display: flex;
  align-items: center;
  gap: 15px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_security_sub {
    flex-direction: column;
    align-items: flex-start;
  }
}
#equipment .equip_security_sub_img {
  flex-shrink: 0;
  width: 338px;
  aspect-ratio: 338/54;
  overflow: hidden;
}
#equipment .equip_security_sub_img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  #equipment .equip_security_sub_img {
    width: 100%;
    max-width: 338px;
  }
}
#equipment .equip_security_sub_txt {
  flex: 1 0 0;
  min-width: 0;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
}
#equipment .equip_security_auto {
  display: grid;
  grid-template-columns: minmax(0, 483fr) minmax(0, 507fr);
  gap: 10px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_security_auto {
    grid-template-columns: minmax(0, 1fr);
  }
}
#equipment .equip_security_auto_card .equip_security_auto_card_head {
  background: #1d2e43;
  color: #fff;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 18px;
  letter-spacing: 0;
  padding: 5px 9px;
}
#equipment .equip_security_auto_card .equip_security_auto_card_photo {
  background: #fff;
  border: 5px solid #1d2e43;
  border-top: none;
  padding: 15px 21px 16px;
}
#equipment .equip_security_auto_card .equip_security_auto_card_photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 440/280;
  object-fit: cover;
}
#equipment .equip_security_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 10px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_security_grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
#equipment .equip_security_item .equip_security_item_ttl {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  padding-bottom: 4px;
  margin-bottom: 10px;
  border-bottom: 1px solid #ccc;
}
#equipment .equip_security_item .equip_security_item_body {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
#equipment .equip_security_item .equip_security_item_body figure {
  flex: 1 0 0;
  min-width: 0;
  aspect-ratio: 500/551;
  overflow: hidden;
}
#equipment .equip_security_item .equip_security_item_body figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#equipment .equip_security_item .equip_security_item_txt {
  flex: 1 0 0;
  min-width: 0;
  font-size: 11px;
  line-height: 1.6363636364;
  letter-spacing: 0;
}
#equipment .equip_security_face .equip_security_face_head {
  background: #1d2e43;
  color: #fff;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0;
  padding: 5px 13px;
  margin-bottom: 15px;
}
#equipment .equip_security_face_body {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_security_face_body {
    flex-wrap: wrap;
  }
}
#equipment .equip_security_face_photo {
  flex: 1 0 0;
  min-width: 0;
  aspect-ratio: 830/338;
  overflow: hidden;
}
#equipment .equip_security_face_photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  #equipment .equip_security_face_photo {
    flex: 0 0 100%;
    width: 100%;
  }
}
#equipment .equip_security_face_txt {
  flex: 1 0 0;
  min-width: 0;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0;
}
#equipment .equip_security_face_txt p {
  margin-bottom: 18px;
}
#equipment .equip_security_face_txt p:last-child {
  margin-bottom: 0;
}
#equipment .equip_security_face_side {
  flex-shrink: 0;
  width: 89px;
  aspect-ratio: 400/810;
  overflow: hidden;
}
#equipment .equip_security_face_side img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#equipment .equip_feature_row-struct {
  margin-bottom: 20px;
}
#equipment .equip_feature-struct figure {
  aspect-ratio: 633/599;
}
#equipment .equip_feature-struct .equip_feature_name {
  font-size: 18px;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
}
#equipment .equip_feature-struct .equip_feature_txt {
  letter-spacing: 0;
}
#equipment .equip_structure_wall {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
#equipment .equip_structure_wall .equip_structure_wall_photo {
  flex-shrink: 0;
  width: 489px;
  aspect-ratio: 489/303;
  overflow: hidden;
}
#equipment .equip_structure_wall .equip_structure_wall_photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#equipment .equip_structure_wall .equip_feature-struct {
  flex: 1 0 0;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  #equipment .equip_structure_wall {
    flex-direction: column;
  }
  #equipment .equip_structure_wall .equip_structure_wall_photo {
    width: 100%;
  }
}
#equipment .equip_group_ttl-sm {
  font-size: 32px;
}
#equipment .equip_insurance_row {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_insurance_row {
    flex-direction: column;
  }
}
#equipment .equip_insurance {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 580px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_insurance {
    width: 100%;
  }
}
#equipment .equip_insurance_box {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 20px;
  padding: 20px;
  border: 1px solid #1d2087;
}
#equipment .equip_insurance_cert {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  width: 100%;
}
#equipment .equip_insurance_cert img {
  display: block;
  width: 48%;
  height: auto;
}
#equipment .equip_insurance_cert p {
  width: 100%;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0;
}
#equipment .equip_insurance_badge {
  display: block;
  width: 240px;
  height: auto;
}
#equipment .equip_energy {
  display: flex;
  flex: 1 0 0;
  min-width: 0;
  flex-direction: column;
  gap: 10px;
}
#equipment .equip_energy_photo {
  width: 100%;
  aspect-ratio: 961/720;
  overflow: hidden;
}
#equipment .equip_energy_photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#equipment .equip_iot_ttl {
  background: #fff;
  padding: 50px 0;
}
#equipment .equip_iot_ttl .com-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
#equipment .equip_iot_ttl_img {
  width: 700px;
  max-width: 100%;
}
#equipment .equip_iot_ttl_img img {
  display: block;
  width: 100%;
  height: auto;
}
#equipment .equip_iot_ttl_ttl {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.125;
  letter-spacing: 0;
  color: #231815;
}
@media screen and (max-width: 768px) {
  #equipment .equip_iot_ttl_ttl {
    font-size: 6vw;
  }
}
#equipment .equip_iot_ttl_desc {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0;
  color: #595757;
}
#equipment .equip_multimedia_wrap {
  background: #f9f6e7;
  padding: 60px 0 90px;
}
#equipment .equip_multimedia_wrap .smart_wrap {
  margin-bottom: 40px;
}
#equipment .equip_multimedia_wrap .equip_group_head {
  margin-bottom: 15px;
}
#equipment .equip_multimedia_card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: #fff;
  padding: 23px 25px;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_multimedia_card {
    flex-direction: column;
    align-items: flex-start;
  }
}
#equipment .equip_multimedia_card_left {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
  width: 278px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_multimedia_card_left {
    width: 100%;
  }
}
#equipment .equip_multimedia_card_ttl {
  font-size: 15px;
  letter-spacing: 0;
}
#equipment .equip_multimedia_card_logo {
  width: 100%;
  aspect-ratio: 278/49;
}
#equipment .equip_multimedia_card_logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#equipment .equip_multimedia_card_txt {
  flex: 1 0 0;
  min-width: 0;
  font-size: 12px;
  line-height: 1.5833333333;
  letter-spacing: 0;
}
#equipment .equip_multimedia_card_img {
  flex-shrink: 0;
  width: 330px;
}
#equipment .equip_multimedia_card_img img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #equipment .equip_multimedia_card_img {
    width: 100%;
  }
}
#equipment .equip_multimedia_note {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 14px;
  text-align: right;
  letter-spacing: 0;
}
#equipment キッチンセクション .kitchen-section {
  width: 100%;
  padding: 0 0 clamp(80px, 10vw, 150px);
  overflow: hidden;
  background: #000;
  color: #fff;
}
#equipment キッチンセクション .kitchen-section img {
  display: block;
  width: 100%;
  height: auto;
}
#equipment キッチンセクション .kitchen-section figure {
  margin: 0;
}
#equipment .kitchen-head {
  position: relative;
  width: min(100%, 1000px);
  min-height: 245px;
  margin: 0 auto;
  padding-top: 20px;
  background: url(../img/equipment/bg_kitchen_head.webp) center top/contain no-repeat;
}
@media screen and (max-width: 768px) {
  #equipment .kitchen-head {
    min-height: 185px;
  }
}
#equipment .kitchen-head-copy {
  position: absolute;
  z-index: 2;
  padding: 5% 0 0 20%;
}
@media screen and (max-width: 768px) {
  #equipment .kitchen-head-copy {
    padding: 3vw;
  }
}
#equipment .kitchen-label {
  position: relative;
  z-index: 2;
  margin: 0 0 12px;
  color: #241A04;
  font-size: clamp(16px, 1.8vw, 22px);
  letter-spacing: 0.18em;
}
#equipment .kitchen-head-ttl {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #241A04;
  font-size: clamp(20px, 3vw, 32px);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #equipment .kitchen-head-ttl {
    font-size: clamp(15px, 4.5vw, 28px);
    line-height: 1.6;
    letter-spacing: 0;
  }
}
#equipment .kitchen-head-txt {
  position: relative;
  z-index: 2;
  margin: 52px 0 0;
  color: #241A04;
  font-size: clamp(14px, 1.35vw, 18px);
  line-height: 2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  #equipment .kitchen-head-txt {
    margin-top: 8vw;
    font-size: 14px;
    line-height: 1.9;
  }
}
#equipment .kitchen-en {
  position: absolute;
  z-index: 1;
  top: 15px;
  left: -30px;
  width: min(75vw, 650px);
  margin: 0;
  pointer-events: none;
}
#equipment .kitchen-en img {
  width: 100%;
  opacity: 0.9;
}
@media screen and (max-width: 768px) {
  #equipment .kitchen-en {
    top: 2vw;
    left: 10vw;
    width: 85vw;
  }
  #equipment .kitchen-en img {
    opacity: 0.65;
  }
}
#equipment .equip_list_wrap.--white {
  background-color: #fff;
}
#equipment .equip_list_wrap.--beige {
  background-color: #f4f2ec;
}
#equipment .equip_list_wrap .ttl_box {
  width: 100%;
  margin-bottom: 10px;
  color: #241A04;
  display: flex;
  flex-direction: row;
  align-items: center;
}
#equipment .equip_list_wrap .ttl_box:not(:first-of-type) {
  padding-top: 20px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .ttl_box.ttl_amenity {
    margin-bottom: 60px;
  }
}
#equipment .equip_list_wrap .ttl_box figure {
  margin: 0 10px 0 0;
  max-width: 200px;
  height: auto;
  width: 15vw;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .ttl_box figure {
    max-width: 100px;
    width: 100vw;
  }
}
#equipment .equip_list_wrap .ttl_box figure img {
  width: 100%;
  height: auto;
}
#equipment .equip_list_wrap .ttl_box h3 {
  font-size: clamp(16px, 2vw, 24px);
  letter-spacing: 0;
  line-height: 1.5833333333;
  padding-bottom: 8px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .ttl_box h3 {
    font-size: 12px;
    line-height: 1.5;
  }
}
#equipment .equip_list_wrap .ttl_box h3 img {
  height: 100%;
  vertical-align: initial;
  width: auto;
}
#equipment .equip_list_wrap .ttl_box h3 .small {
  position: absolute;
  font-size: 14px;
  right: 0;
  bottom: 8px;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #000;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .ttl_box h3 .small {
    display: block;
    font-size: 12px;
    top: 25px;
    left: 0;
    line-height: 1.4;
  }
}
#equipment .equip_list_wrap .struct_margin {
  margin: 40px 0;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .struct_margin {
    margin: 10px 0;
  }
}
#equipment .equip_list_wrap .equip_list,
#equipment .equip_list_wrap .equip_list_refa {
  width: 100%;
  margin: 0 auto;
  position: relative;
  font-family: "Noto Sans JP";
}
#equipment .equip_list_wrap .equip_list .--security,
#equipment .equip_list_wrap .equip_list_refa .--security {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5%;
}
#equipment .equip_list_wrap .equip_list .--security.--full,
#equipment .equip_list_wrap .equip_list_refa .--security.--full {
  grid-template-columns: 1fr;
  gap: 0;
}
#equipment .equip_list_wrap .equip_list .top,
#equipment .equip_list_wrap .equip_list_refa .top {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .top,
  #equipment .equip_list_wrap .equip_list_refa .top {
    margin-bottom: 1%;
  }
}
#equipment .equip_list_wrap .equip_list .top li.--bath img,
#equipment .equip_list_wrap .equip_list_refa .top li.--bath img {
  object-fit: cover;
}
#equipment .equip_list_wrap .equip_list .top li.--kitchen2 img,
#equipment .equip_list_wrap .equip_list_refa .top li.--kitchen2 img {
  object-fit: cover;
}
#equipment .equip_list_wrap .equip_list .top li:first-child,
#equipment .equip_list_wrap .equip_list_refa .top li:first-child {
  width: 64.7%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .top li:first-child,
  #equipment .equip_list_wrap .equip_list_refa .top li:first-child {
    width: 100%;
    margin-bottom: 5%;
  }
}
#equipment .equip_list_wrap .equip_list .top li.tbox,
#equipment .equip_list_wrap .equip_list_refa .top li.tbox {
  width: 29.75%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .top li.tbox,
  #equipment .equip_list_wrap .equip_list_refa .top li.tbox {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #equipment .equip_list_wrap .equip_list .top li.tbox div,
  #equipment .equip_list_wrap .equip_list_refa .top li.tbox div {
    width: 47%;
  }
}
#equipment .equip_list_wrap .equip_list .top li.tbox div,
#equipment .equip_list_wrap .equip_list_refa .top li.tbox div {
  margin-bottom: 20px;
}
#equipment .equip_list_wrap .equip_list .top li.tbox div:last-child,
#equipment .equip_list_wrap .equip_list_refa .top li.tbox div:last-child {
  margin-bottom: 0;
}
#equipment .equip_list_wrap .equip_list .top li.tbox div.struct_btm_wide,
#equipment .equip_list_wrap .equip_list_refa .top li.tbox div.struct_btm_wide {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .top li.tbox div.struct_btm_wide,
  #equipment .equip_list_wrap .equip_list_refa .top li.tbox div.struct_btm_wide {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .top li.tbox .cont-w100,
  #equipment .equip_list_wrap .equip_list_refa .top li.tbox .cont-w100 {
    width: 100%;
  }
  #equipment .equip_list_wrap .equip_list .top li.tbox .cont-col,
  #equipment .equip_list_wrap .equip_list_refa .top li.tbox .cont-col {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-bottom: 0;
  }
  #equipment .equip_list_wrap .equip_list .top li.tbox .cont-row,
  #equipment .equip_list_wrap .equip_list_refa .top li.tbox .cont-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
  }
}
#equipment .equip_list_wrap .equip_list .bottom,
#equipment .equip_list_wrap .equip_list_refa .bottom {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .bottom,
  #equipment .equip_list_wrap .equip_list_refa .bottom {
    width: 100%;
    margin: 0;
  }
}
#equipment .equip_list_wrap .equip_list .bottom li,
#equipment .equip_list_wrap .equip_list_refa .bottom li {
  width: 29.5%;
  margin-bottom: 4%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .bottom li,
  #equipment .equip_list_wrap .equip_list_refa .bottom li {
    width: 47%;
  }
}
#equipment .equip_list_wrap .equip_list .bottom li.w47,
#equipment .equip_list_wrap .equip_list_refa .bottom li.w47 {
  width: 47%;
}
#equipment .equip_list_wrap .equip_list .bottom-2,
#equipment .equip_list_wrap .equip_list_refa .bottom-2 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .bottom-2,
  #equipment .equip_list_wrap .equip_list_refa .bottom-2 {
    width: 100%;
    margin: 0;
  }
}
#equipment .equip_list_wrap .equip_list .bottom-2 li,
#equipment .equip_list_wrap .equip_list_refa .bottom-2 li {
  width: 48.5%;
  margin-bottom: 4%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .bottom-2 li,
  #equipment .equip_list_wrap .equip_list_refa .bottom-2 li {
    width: 47%;
  }
}
#equipment .equip_list_wrap .equip_list .bottom-2 li.w47,
#equipment .equip_list_wrap .equip_list_refa .bottom-2 li.w47 {
  width: 47%;
}
#equipment .equip_list_wrap .equip_list .bottom2,
#equipment .equip_list_wrap .equip_list_refa .bottom2 {
  max-width: 590px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .bottom2,
  #equipment .equip_list_wrap .equip_list_refa .bottom2 {
    margin-bottom: 20px;
  }
}
#equipment .equip_list_wrap .equip_list .left,
#equipment .equip_list_wrap .equip_list_refa .left {
  width: 31%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .left,
  #equipment .equip_list_wrap .equip_list_refa .left {
    width: 100%;
    margin-bottom: 6%;
  }
}
#equipment .equip_list_wrap .equip_list .left .function,
#equipment .equip_list_wrap .equip_list_refa .left .function {
  position: relative;
}
#equipment .equip_list_wrap .equip_list .left .function::after,
#equipment .equip_list_wrap .equip_list_refa .left .function::after {
  content: "";
  background: url(../img/equipment/1ldk/bath_function.png) left top/100% auto no-repeat;
  width: 8vw;
  height: 8vw;
  max-width: 110px;
  max-height: 110px;
  position: absolute;
  left: -16%;
  top: -3%;
}
#equipment .equip_list_wrap .equip_list .right,
#equipment .equip_list_wrap .equip_list_refa .right {
  width: 65%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .right,
  #equipment .equip_list_wrap .equip_list_refa .right {
    width: 100%;
  }
}
#equipment .equip_list_wrap .equip_list .right .w47,
#equipment .equip_list_wrap .equip_list_refa .right .w47 {
  width: 47%;
}
#equipment .equip_list_wrap .equip_list .amenity,
#equipment .equip_list_wrap .equip_list_refa .amenity {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 20px;
  margin-bottom: 4%;
  grid-template-areas: "a b c";
  /* 画像の伸縮 */
}
#equipment .equip_list_wrap .equip_list .amenity li,
#equipment .equip_list_wrap .equip_list_refa .amenity li {
  margin: 0;
}
#equipment .equip_list_wrap .equip_list .amenity .item-a,
#equipment .equip_list_wrap .equip_list_refa .amenity .item-a {
  grid-area: a;
}
#equipment .equip_list_wrap .equip_list .amenity .item-b,
#equipment .equip_list_wrap .equip_list_refa .amenity .item-b {
  grid-area: b;
}
#equipment .equip_list_wrap .equip_list .amenity .item-c,
#equipment .equip_list_wrap .equip_list_refa .amenity .item-c {
  grid-area: c;
}
#equipment .equip_list_wrap .equip_list .amenity .item-c img,
#equipment .equip_list_wrap .equip_list_refa .amenity .item-c img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .amenity,
  #equipment .equip_list_wrap .equip_list_refa .amenity {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "a b" "c c";
  }
}
#equipment .equip_list_wrap .equip_list .sani,
#equipment .equip_list_wrap .equip_list_refa .sani {
  display: grid;
  grid-template-columns: 280px 1fr;
  /* 左側の幅200px、右側自動伸縮 */
  grid-template-rows: auto auto;
  /* 2行作成 */
  gap: 10px 20px;
  /* グリッド要素の間隔を10pxに設定 */
  /* 左カラム（左1列分）は2行分を縦に連結して使用 */
  /* 右上は2列目×1行目に配置 */
  /* 右下は2列目×2行目に配置 */
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .sani,
  #equipment .equip_list_wrap .equip_list_refa .sani {
    grid-template-columns: 1fr;
    /* SPでは1列に */
    grid-template-rows: auto auto auto;
    /* 3行に */
    gap: 20px;
    /* 間隔を調整 */
  }
}
#equipment .equip_list_wrap .equip_list .sani .left-column,
#equipment .equip_list_wrap .equip_list_refa .sani .left-column {
  grid-column: 1;
  /* 1番目の列に配置 */
  grid-row: 1/3;
  /* 1行目から2行目まで（2行分）を占有 */
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .sani .left-column,
  #equipment .equip_list_wrap .equip_list_refa .sani .left-column {
    grid-column: 1;
    /* SPでは1列目 */
    grid-row: 1;
    /* SPでは1行目のみ */
  }
}
#equipment .equip_list_wrap .equip_list .sani .left-column.--sanitary img,
#equipment .equip_list_wrap .equip_list .sani .left-column.--toilet img,
#equipment .equip_list_wrap .equip_list_refa .sani .left-column.--sanitary img,
#equipment .equip_list_wrap .equip_list_refa .sani .left-column.--toilet img {
  height: 510px;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .sani .left-column.--sanitary img,
  #equipment .equip_list_wrap .equip_list .sani .left-column.--toilet img,
  #equipment .equip_list_wrap .equip_list_refa .sani .left-column.--sanitary img,
  #equipment .equip_list_wrap .equip_list_refa .sani .left-column.--toilet img {
    height: auto;
  }
}
#equipment .equip_list_wrap .equip_list .sani .right-top,
#equipment .equip_list_wrap .equip_list_refa .sani .right-top {
  grid-column: 2;
  /* 2番目の列に配置 */
  grid-row: 1;
  /* 1行目 */
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .sani .right-top,
  #equipment .equip_list_wrap .equip_list_refa .sani .right-top {
    grid-column: 1;
    /* SPでは1列目 */
    grid-row: 2;
    /* SPでは2行目 */
    width: 47%;
    /* 横幅を47%に */
  }
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .sani .right-top .cont-box-row,
  #equipment .equip_list_wrap .equip_list_refa .sani .right-top .cont-box-row {
    display: flex;
    flex-direction: row;
    gap: 10px;
  }
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .sani .right-top .cont-box-col,
  #equipment .equip_list_wrap .equip_list_refa .sani .right-top .cont-box-col {
    display: flex;
    flex-direction: column;
    width: 60%;
  }
}
#equipment .equip_list_wrap .equip_list .sani .right-bottom,
#equipment .equip_list_wrap .equip_list_refa .sani .right-bottom {
  grid-column: 2;
  /* 2番目の列に配置 */
  grid-row: 2;
  /* 2行目 */
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .sani .right-bottom,
  #equipment .equip_list_wrap .equip_list_refa .sani .right-bottom {
    grid-column: 1;
    /* SPでは1列目 */
    grid-row: 2;
    /* SPでは2行目 */
    width: 47%;
    /* 横幅を47%に */
    margin-left: auto;
    /* 右寄せにする */
  }
}
#equipment .equip_list_wrap .equip_list .sani .right-bottom.--dotline,
#equipment .equip_list_wrap .equip_list_refa .sani .right-bottom.--dotline {
  border-top: 2px dotted #000;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .sani .right-bottom.--dotline,
  #equipment .equip_list_wrap .equip_list_refa .sani .right-bottom.--dotline {
    border-top: none;
  }
}
#equipment .equip_list_wrap .equip_list .sani .w31,
#equipment .equip_list_wrap .equip_list_refa .sani .w31 {
  width: 31%;
  margin-bottom: 6%;
}
#equipment .equip_list_wrap .equip_list .sani .w29,
#equipment .equip_list_wrap .equip_list_refa .sani .w29 {
  width: 29.5%;
  margin-bottom: 6%;
}
#equipment .equip_list_wrap .equip_list .sani .w47,
#equipment .equip_list_wrap .equip_list_refa .sani .w47 {
  width: 47%;
  margin-bottom: 6%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .sani .w47,
  #equipment .equip_list_wrap .equip_list_refa .sani .w47 {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .sani .sp_w47,
  #equipment .equip_list_wrap .equip_list_refa .sani .sp_w47 {
    width: 47%;
  }
}
#equipment .equip_list_wrap .equip_list .struct_box,
#equipment .equip_list_wrap .equip_list_refa .struct_box {
  margin-bottom: 30px;
}
#equipment .equip_list_wrap .equip_list .struct_box.struct_btm_wide,
#equipment .equip_list_wrap .equip_list_refa .struct_box.struct_btm_wide {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .struct_box.struct_btm_wide,
  #equipment .equip_list_wrap .equip_list_refa .struct_box.struct_btm_wide {
    margin-bottom: 20px;
  }
}
#equipment .equip_list_wrap .equip_list .struct_box .--secu-sys,
#equipment .equip_list_wrap .equip_list_refa .struct_box .--secu-sys {
  display: grid;
  grid-template-columns: 3.6fr 6.3fr;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .struct_box .--secu-sys,
  #equipment .equip_list_wrap .equip_list_refa .struct_box .--secu-sys {
    grid-template-columns: 1fr;
  }
}
#equipment .equip_list_wrap .equip_list .struct_box .box-side,
#equipment .equip_list_wrap .equip_list_refa .struct_box .box-side {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .struct_box .box-side,
  #equipment .equip_list_wrap .equip_list_refa .struct_box .box-side {
    grid-template-columns: 1fr;
  }
}
#equipment .equip_list_wrap .equip_list .name,
#equipment .equip_list_wrap .equip_list_refa .name {
  margin: 10px 0 8px;
  padding: 5px 10px 6px;
  color: #fff;
  font-size: clamp(15px, 1.6vw, 21px);
  line-height: 1.25;
  letter-spacing: 0.03em;
  text-align: center;
  background: #241A04;
  border-radius: 999px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .name,
  #equipment .equip_list_wrap .equip_list_refa .name {
    margin-top: 5px;
    padding: 5px 4px;
    font-size: 12px;
  }
}
#equipment .equip_list_wrap .equip_list .name.--sml,
#equipment .equip_list_wrap .equip_list_refa .name.--sml {
  font-size: clamp(12px, 2.5vw, 16px);
  margin: 5px 0;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .name,
  #equipment .equip_list_wrap .equip_list_refa .name {
    margin: 2vw 0;
    white-space: nowrap;
  }
}
#equipment .equip_list_wrap .equip_list .name.name-struct,
#equipment .equip_list_wrap .equip_list_refa .name.name-struct {
  margin: 0 0 15px;
  position: relative;
}
#equipment .equip_list_wrap .equip_list .name.name-struct span,
#equipment .equip_list_wrap .equip_list_refa .name.name-struct span {
  position: absolute;
  right: 10px;
  font-size: 14px;
  padding-top: 5px;
}
#equipment .equip_list_wrap .equip_list .name span,
#equipment .equip_list_wrap .equip_list_refa .name span {
  font-size: 8px;
}
#equipment .equip_list_wrap .equip_list .ttl-struct,
#equipment .equip_list_wrap .equip_list_refa .ttl-struct {
  font-size: clamp(16px, 3vw, 20px);
  font-weight: bold;
  margin: 10px 0;
  color: #000000;
  letter-spacing: 0;
}
#equipment .equip_list_wrap .equip_list .ttl-struct.narrow,
#equipment .equip_list_wrap .equip_list_refa .ttl-struct.narrow {
  font-size: clamp(14px, 2.5vw, 18px);
}
#equipment .equip_list_wrap .equip_list .txt,
#equipment .equip_list_wrap .equip_list_refa .txt {
  font-size: clamp(12px, 3vw, 16px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  color: #000000;
}
#equipment .equip_list_wrap .equip_list .txt.--sml,
#equipment .equip_list_wrap .equip_list_refa .txt.--sml {
  font-size: clamp(12px, 2.5vw, 14px);
  margin: 5px 0;
}
#equipment .equip_list_wrap .equip_list .txt span,
#equipment .equip_list_wrap .equip_list_refa .txt span {
  font-size: clamp(14px, 2vw, 14px);
}
#equipment .equip_list_wrap .equip_list .txt.txt-struct,
#equipment .equip_list_wrap .equip_list_refa .txt.txt-struct {
  font-size: clamp(12px, 2.5vw, 14px);
  margin: 0 0 10px;
}
#equipment .equip_list_wrap .equip_list .txt-box,
#equipment .equip_list_wrap .equip_list_refa .txt-box {
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(10px, 2.5vw, 12px);
  letter-spacing: 0;
  line-height: 1.6666666667;
  color: #000000;
  border: #000 solid 1px;
  text-align: center;
  padding: 10px;
  margin-top: 10px;
}
#equipment .equip_list_wrap .equip_list .txt-box span,
#equipment .equip_list_wrap .equip_list_refa .txt-box span {
  font-size: clamp(14px, 2vw, 14px);
}
#equipment .equip_list_wrap .equip_list .com-note,
#equipment .equip_list_wrap .equip_list_refa .com-note {
  position: absolute;
  right: 0;
  bottom: -20px;
}
#equipment .equip_list_wrap .equip_list_refa {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: url(../img/equipment/bg_refa.webp) center top/100% auto repeat;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list_refa {
    background: url(../img/equipment/bg_refa.webp) center top/100% auto repeat;
  }
}
#equipment .equip_list_wrap .equip_list_refa .top {
  max-width: 1100px;
  margin: 40px auto;
  padding: 35px 50px 50px;
  background-color: rgba(255, 255, 255, 0.95);
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list_refa .top {
    padding: 2.5%;
  }
}
#equipment .equip_list_wrap .equip_twin {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_twin {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
#equipment .equip_list_wrap .equip_twin .equip_box .ttl_box p {
  font-size: 25px;
}
#equipment .equip_list_wrap .toilet .txt {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap .equip_list .top li:first-child {
    width: 100%;
    margin-bottom: 5%;
  }
  #equipment .equip_list_wrap .equip_list .top li:last-child {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #equipment .equip_list_wrap .equip_list .top li:last-child div {
    width: 47%;
  }
  #equipment .equip_list_wrap .equip_list .bottom {
    width: 100%;
  }
  #equipment .equip_list_wrap .equip_list .left {
    width: 100%;
    margin-bottom: 6%;
  }
  #equipment .equip_list_wrap .equip_list .right {
    width: 100%;
  }
  #equipment .equip_list_wrap .equip_list .name {
    margin: 2.66666666vw 0 1.999999995vw;
  }
  #equipment .equip_list_wrap.LDK {
    padding-bottom: 11.99999997vw;
  }
  #equipment .equip_list_wrap .toilet .txt {
    text-align: left;
  }
}
#equipment .oneR {
  padding: 56px 0;
}
@media screen and (max-width: 768px) {
  #equipment .oneR {
    padding: 30px 0;
  }
}
#equipment .oneLdk_wrap {
  background: #F0F4F2;
  padding: 100px 0 154px;
}
@media screen and (max-width: 768px) {
  #equipment .oneLdk_wrap {
    padding: 21px 0 17px;
  }
}
#equipment .ldk_ttl {
  font-size: clamp(32px, 5vw, 48px);
  text-align: left;
  color: #000003;
  line-height: 1;
  font-weight: 800;
  width: 140px;
  text-align: center;
  padding-bottom: 5px;
  letter-spacing: 4px;
}
#equipment .ldk_ttl small {
  font-size: 40px;
}
#equipment .ldk_ttl_sub {
  font-size: clamp(20px, 4.5vw, 34px);
  text-align: left;
  color: #000003;
  line-height: 1;
  font-weight: 800;
  width: 140px;
  border-bottom: solid 1px;
  text-align: center;
  padding: 5px 0 2px;
  font-family: sans-serif;
  letter-spacing: 0;
}
#equipment .ldk_lead {
  font-size: clamp(22px, 3vw, 34px);
  text-align: left;
  color: #231815;
  font-weight: 400;
  padding: 10px 0;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  #equipment .ldk_lead {
    padding: 10px 0 30px;
  }
}
#equipment .equip_list_wrap1 {
  margin-top: -50px;
}
#equipment .equip_list_wrap2 {
  padding: 105px 0;
}
@media screen and (max-width: 768px) {
  #equipment .equip_list_wrap2 {
    padding: 13.99999997vw 0;
  }
}
#equipment .security_wrap .security_ttl {
  background: url(../img/equipment/bg_sec_main.webp) center center/cover no-repeat;
  padding: 4% 0 4%;
  position: relative;
  height: 420px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .security_ttl {
    padding: 10% 0 10%;
    height: 410px;
  }
}
#equipment .security_wrap .main_box {
  text-align: left;
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
  color: #fff;
  display: flex;
  gap: 30px;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .main_box {
    max-width: 90%;
  }
}
#equipment .security_wrap .main_ttl {
  width: 100%;
  font-size: clamp(40px, 4vw, 54px);
  letter-spacing: 0.1em;
  font-family: "Imbue", serif;
  line-height: 1.1666666667;
}
#equipment .security_wrap .main_sub {
  width: 100%;
  font-size: clamp(20px, 3vw, 28px);
  letter-spacing: 0.1em;
}
#equipment .security_wrap .main_desc {
  width: 100%;
  font-size: clamp(14px, 2vw, 16px);
  letter-spacing: 0.1em;
  line-height: 1.875;
}
#equipment .security_wrap .ttl_box {
  width: 100%;
  margin: 6.4% auto 2.8%;
  border-bottom: 1px solid #222;
  color: #222;
}
#equipment .security_wrap .ttl_box p {
  text-align: center;
  line-height: 0.6;
  font-size: 28px;
  color: #222;
}
#equipment .security_wrap .secu_t1 {
  border-bottom: 1px solid #000;
  padding-bottom: 4px;
  margin-bottom: 20px;
}
#equipment .security_wrap .secu_t2 {
  font-size: 14px;
  line-height: 1.4285714286;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_t2 {
    font-size: clamp(10px, 3.199999992vw, 14px);
  }
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_t2 {
    margin-top: 4px;
  }
}
#equipment .security_wrap .secu_lead {
  text-align: center;
  border-bottom: 1px solid #000000;
  color: #29343d;
  font-size: 25px;
  line-height: 0.77;
  margin-bottom: 3.4rem;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_lead {
    font-size: clamp(10px, 4.666666655vw, 25px);
  }
}
#equipment .security_wrap .secu_main_wrap {
  padding: 5cqi 0;
  width: 100%;
  position: relative;
  background: url("../img/equipment/secu_main.png") center center/cover no-repeat;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_main_wrap {
    background-position: 87% center;
  }
}
#equipment .security_wrap .secu_main_wrap .cover-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 74%;
  height: 100%;
  mix-blend-mode: multiply;
  background: linear-gradient(90deg, rgba(46, 73, 98, 0.7) 10.07%, rgba(46, 73, 98, 0) 102.7%);
}
#equipment .security_wrap .secu_main_wrap .txt_box .ttl {
  font-size: clamp(36px, 5vw, 72px);
  letter-spacing: 0.06em;
  color: #fff;
  margin-bottom: 0.3em;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_main_wrap .txt_box .ttl {
    letter-spacing: 0.02em;
  }
}
#equipment .security_wrap .secu_main_wrap .txt_box .lead {
  font-size: clamp(22px, 3vw, 32px);
  letter-spacing: 0.3em;
  line-height: 1.641025641;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_main_wrap .txt_box .lead {
    letter-spacing: 0.01em;
  }
}
#equipment .security_wrap .secu_main_wrap .txt_box .txt {
  font-size: clamp(14px, 3vw, 18px);
  letter-spacing: 0.1em;
  line-height: 2;
  color: #fff;
  margin: 1.2em 0 0;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_main_wrap .txt_box .txt {
    letter-spacing: 0.01em;
  }
}
#equipment .security_wrap .secu_main_wrap .com-cap {
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
  color: #fff;
}
#equipment .security_wrap .security_bg {
  background: url("../img/equipment/secu_bg.png") top center/100% auto no-repeat;
  background-size: cover;
  font-family: "Noto Sans JP";
}
#equipment .security_wrap .point-wrap {
  padding: 5.2% 0 2.2%;
}
#equipment .security_wrap .point-wrap .copy-area .copy-box {
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  column-gap: 3%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .point-wrap .copy-area .copy-box {
    flex-wrap: wrap;
  }
}
#equipment .security_wrap .point-wrap .copy-area .copy-box .img {
  width: 16.6%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .point-wrap .copy-area .copy-box .img {
    width: 100%;
    max-width: 166px;
    margin: 0 auto 4%;
  }
}
#equipment .security_wrap .point-wrap .copy-area .copy-box .lead {
  font-size: clamp(22px, 2.5vw, 26px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #0D4471;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .point-wrap .copy-area .copy-box .lead {
    letter-spacing: 0.1em;
    text-align: left;
    width: 95%;
    margin: auto;
  }
}
#equipment .security_wrap .point-wrap .point-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 4.3rem auto 0;
  max-width: 988px;
}
#equipment .security_wrap .point-wrap .point-area .point-box {
  width: 30.5%;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .point-wrap {
    padding: 23px 0 40px;
  }
  #equipment .security_wrap .point-wrap .point-area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin: 0 auto;
  }
  #equipment .security_wrap .point-wrap .point-area .point-box {
    width: 85%;
    max-width: 300px;
    border-radius: 1.4rem;
  }
}
#equipment .security_wrap .merit-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#equipment .security_wrap .merit-wrap .left {
  width: 30%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .merit-wrap .left {
    width: 100%;
  }
}
#equipment .security_wrap .merit-wrap .left .merit_box {
  padding: 2.6rem 7% 10%;
}
#equipment .security_wrap .merit-wrap .left .merit_box .ttl {
  margin-bottom: 1em;
  position: relative;
}
#equipment .security_wrap .merit-wrap .left .merit_box .ttl::after {
  position: absolute;
  content: "";
  width: 64%;
  height: 3px;
  background: linear-gradient(90deg, rgb(0, 184, 238) 0%, rgb(28, 80, 161) 100%);
  border-radius: 10px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -0.5em;
}
#equipment .security_wrap .merit-wrap .left .merit_box figure {
  margin-top: 2rem;
}
#equipment .security_wrap .merit-wrap .left .merit_box figure:last-child {
  width: 91%;
  margin-left: auto;
  margin-right: auto;
}
#equipment .security_wrap .merit-wrap .right {
  width: 68.3%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .merit-wrap .right {
    margin-top: 5%;
    width: 100%;
  }
}
#equipment .security_wrap .merit-wrap .right .merit_box figure:first-of-type {
  margin-top: 2.6%;
  width: 89%;
}
#equipment .security_wrap .merit-wrap .right .merit_box figure:nth-of-type(2) {
  margin-top: 5.6%;
  width: 90%;
}
#equipment .security_wrap .merit-wrap .merit_box {
  text-align: center;
  background-color: #fff;
  padding: 2.6rem 1% 4.2%;
  border-radius: 1rem;
}
#equipment .security_wrap .merit-wrap .merit_box .ttl {
  font-size: 24px;
  line-height: 1.2380952381;
  color: #0D4471;
  font-weight: bold;
  letter-spacing: 0.02em;
}
#equipment .security_wrap .merit-wrap .merit_box .desc {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  color: #222222;
  letter-spacing: 0.07em;
  margin-top: 1.1em;
}
#equipment .security_wrap .merit-wrap .merit_box .hightlight {
  background: linear-gradient(transparent 60%, #F7ED12 60%);
}
#equipment .security_wrap .merit-wrap .merit_box figure {
  margin-right: auto;
  margin-left: auto;
}
#equipment .security_wrap .onetime-wrap {
  padding-top: 2.7%;
}
#equipment .security_wrap .onetime-wrap .onetime {
  background: linear-gradient(90deg, rgb(0, 184, 238) 0%, rgb(28, 80, 161) 100%);
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 1.2% 4.5% 1.5% 4.3%;
  border-radius: 0.5rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .onetime-wrap .onetime {
    padding: 3% 4.5%;
  }
}
#equipment .security_wrap .onetime-wrap .onetime .ttl {
  font-weight: 700;
  font-size: clamp(20px, 3vw, 22px);
  line-height: 1.1904761905;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .onetime-wrap .onetime .ttl {
    text-align: center;
    line-height: 1.8;
  }
}
#equipment .security_wrap .onetime-wrap .onetime .desc {
  font-size: 14px;
  line-height: 1.4642857143;
  letter-spacing: -0.05em;
  font-weight: 500;
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .onetime-wrap .onetime .desc {
    text-align: center;
    line-height: 1.8;
  }
}
#equipment .security_wrap .onetime-wrap .onetime .txt_box {
  width: 50%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .onetime-wrap .onetime .txt_box {
    width: 100%;
  }
}
#equipment .security_wrap .onetime-wrap .onetime .img_box {
  width: 46%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .onetime-wrap .onetime .img_box {
    width: 100%;
    margin-top: 4%;
  }
}
#equipment .security_wrap .secu_list_wrap {
  background: #EDF4EA;
  padding: 50px 0;
  color: #000;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap {
    padding: 5.5% 0 5%;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_cont_grid {
  display: grid;
  grid-template-columns: 6fr 4fr;
  grid-template-rows: repeat(2, auto);
  gap: 30px;
  margin: 30px 0 50px;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_cont_grid {
    grid-template-columns: 1fr;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_cont_grid .cont-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
}
#equipment .security_wrap .secu_list_wrap .secu_cont_grid .cont-row {
  display: grid;
  grid-template-columns: 6fr 4fr;
  gap: 20px;
  align-items: flex-start;
}
#equipment .security_wrap .secu_list_wrap .secu_cont_grid .cont-row-40 {
  display: grid;
  grid-template-columns: 4fr 6fr;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 20px;
}
#equipment .security_wrap .secu_list_wrap .secu_cont_grid .cont-row-50 {
  display: grid;
  grid-template-columns: 5.5fr 4.5fr;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 20px;
}
#equipment .security_wrap .secu_list_wrap .secu_cont_grid .cont-row-genkan {
  display: grid;
  grid-template-columns: 6fr 4fr;
  gap: 20px;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_cont_grid .cont-row-genkan {
    grid-template-columns: 1fr;
  }
}
#equipment .security_wrap .secu_list_wrap .ttl_box {
  width: 100%;
  margin: 0;
  margin-bottom: 32px;
  font-weight: bold;
  color: #478593;
  border-bottom: 1px solid;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .ttl_box {
    margin-bottom: 20px;
  }
}
#equipment .security_wrap .secu_list_wrap .ttl_box h2 {
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 600;
  letter-spacing: 3px;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box {
    width: 100%;
  }
}
#equipment .security_wrap .secu_list_wrap .alsok_box .p1 {
  font-size: 12px;
  letter-spacing: -0.04em;
  line-height: 2;
}
#equipment .security_wrap .secu_list_wrap .alsok_box .secu_t1 {
  font-size: clamp(16px, 3vw, 16px);
  letter-spacing: 0;
  line-height: 1.5625;
}
#equipment .security_wrap .secu_list_wrap .alsok_box .tbox {
  width: 100% !important;
}
#equipment .security_wrap .secu_list_wrap .alsok_box .tbox .secu_t2 {
  font-size: clamp(14px, 3vw, 14px);
  margin: 0;
  width: 100%;
  line-height: 1.4285714286;
  letter-spacing: -0.04em;
}
#equipment .security_wrap .secu_list_wrap .alsok_box .tbox .img {
  width: 22.9%;
}
#equipment .security_wrap .secu_list_wrap .alsok_box .tbox_2 {
  display: flex;
  position: relative;
  flex-direction: column;
}
#equipment .security_wrap .secu_list_wrap .alsok_box .tbox_2 .img_box {
  display: flex;
  gap: 16px;
  z-index: 1;
  margin-bottom: 0px;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box .tbox_2 .img_box {
    gap: 10px;
    width: 100%;
    margin-bottom: 5px;
  }
}
#equipment .security_wrap .secu_list_wrap .alsok_box .tbox_2 .img_box .img {
  width: 35%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box .tbox_2 .img_box .img {
    width: 45%;
    margin-inline: auto;
  }
}
#equipment .security_wrap .secu_list_wrap .alsok_box .tbox_2 .img_box .secu_t2 {
  margin-top: 0;
  flex: 1;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box .tbox_2 .img_box .secu_t2 {
    font-size: 14px;
  }
}
#equipment .security_wrap .secu_list_wrap .alsok_box .tbox_2 .img_box .tbox_2_map {
  width: 100%;
}
#equipment .security_wrap .secu_list_wrap .alsok_box-1 {
  width: 48.8%;
}
#equipment .security_wrap .secu_list_wrap .alsok_box-1 .tbox {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#equipment .security_wrap .secu_list_wrap .alsok_box-1 .tbox .secu_t2 {
  flex: 1;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box-1 .tbox .secu_t2 {
    font-size: 14px;
  }
}
#equipment .security_wrap .secu_list_wrap .alsok_box-1 .alsok_map {
  margin-top: 0rem;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box-1 .alsok_map {
    padding-right: 0;
  }
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box-1 {
    width: 100%;
  }
}
#equipment .security_wrap .secu_list_wrap .alsok_box-2 {
  width: 45.4%;
}
#equipment .security_wrap .secu_list_wrap .alsok_box-2 .tbox .secu_t2 {
  width: 60%;
}
#equipment .security_wrap .secu_list_wrap .alsok_box-2 .tbox .img {
  width: 32.3%;
}
#equipment .security_wrap .secu_list_wrap .alsok_box-2 .alsok_map {
  margin: 1.4rem 0;
  align-self: flex-end;
  width: 63%;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box-2 .alsok_map {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box-2 {
    width: 100%;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li {
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li {
    margin-bottom: 30px;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li.--flex {
  display: flex;
  gap: 12px;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li.--flex {
    flex-direction: column;
    gap: 0;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li.--flex img {
  width: 160px;
  height: 172px;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li.--flex img {
    width: 100%;
    height: 140px;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li .tbox {
  width: calc(100% - 160px);
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li .tbox {
    width: 100%;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li.w32 {
  width: 32%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li.w32 {
    width: 48%;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li.w28 {
  width: 28.5%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li.w28 {
    width: 48%;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li.w26 {
  width: 26.7%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li.w26 {
    width: 48%;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li.w24 {
  width: 24%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li.w24 {
    width: 48%;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li.w24 img {
  width: 100%;
  height: 140px;
  object-fit: cover;
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li.w18 {
  width: 18.5%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li.w18 {
    width: 48%;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li .name {
  font-size: 17px;
  color: #231815;
  text-align: center;
  margin: 0.5em 0;
  letter-spacing: 0;
  line-height: 1.4705882353;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li .name {
    font-size: clamp(10px, 3.599999991vw, 17px);
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li .txt {
  font-size: 12px;
  line-height: 1.6666666667;
  color: #231815;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li .txt {
    font-size: clamp(10px, 2.933333326vw, 12px);
  }
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_list_box li .txt {
    font-size: 14px;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li .com-note {
  margin-top: 1em;
}
#equipment .security_wrap .secu_list_wrap .secu_list_box:last-child {
  width: 94.4%;
  margin: 0 auto;
}
#equipment .security_wrap .secu_list_wrap .secu_list_box:last-child li {
  margin-bottom: 30px;
}
#equipment .security_wrap .secu_list_wrap .secu_item_box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_item_box {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_item_box .name {
  font-size: 16px;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_item_box .name {
    margin-top: 8px;
  }
}
#equipment .security_wrap .secu_list_wrap .secu_item_box .txt {
  font-size: 14px;
  letter-spacing: -0.04em;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_item_box .txt {
    line-height: 1.5384615385;
  }
}
#equipment .security_wrap .freeiD {
  padding: 5rem 0 11.2rem;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .freeiD {
    padding: 5.6% 0 0;
  }
}
#equipment .security_wrap .freeiD_lead {
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.5428571429;
  letter-spacing: 0.04em;
  color: #0D4471;
  font-weight: 700;
  text-align: center;
}
#equipment .security_wrap .freeiD_ttl {
  color: #0D4471;
  font-weight: 700;
  font-size: clamp(16px, 3vw, 24px);
  line-height: 1.7090909091;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 1em;
}
#equipment .security_wrap .freeiD_sub {
  color: #000000;
  font-size: clamp(16px, 3vw, 16px);
  font-weight: 500;
  line-height: 1.2352941176;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 0.5em;
}
#equipment .security_wrap .freeiD .merit-wrap {
  border-radius: 7px;
  background-color: #e8e9e9;
  margin-top: 6.6rem;
  padding: 1rem 3.6%;
  align-items: flex-end;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .freeiD .merit-wrap {
    margin-top: 6.6%;
  }
}
#equipment .security_wrap .freeiD .merit-wrap .lBox {
  width: 40%;
  padding-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .freeiD .merit-wrap .lBox {
    width: 100%;
  }
}
#equipment .security_wrap .freeiD .merit-wrap .lBox .ttl {
  font-size: 22px;
}
#equipment .security_wrap .freeiD .merit-wrap .lBox .desc {
  font-size: clamp(14px, 3vw, 16px);
}
#equipment .security_wrap .freeiD .merit-wrap .lBox figure {
  width: 95%;
  margin: 1rem auto 0;
}
#equipment .security_wrap .freeiD .merit-wrap .arrowBox {
  width: 16%;
  padding-top: 9.4%;
  align-self: center;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .freeiD .merit-wrap .arrowBox {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 5% 0;
    flex-direction: row-reverse;
    gap: 10px;
  }
  #equipment .security_wrap .freeiD .merit-wrap .arrowBox figure {
    width: 7%;
  }
}
#equipment .security_wrap .freeiD .merit-wrap .arrowBox p {
  width: fit-content;
  margin: 0 auto;
  font-size: clamp(20px, 2.1vw, 20px);
  font-weight: 700;
  color: #0D4471;
  letter-spacing: 0.1em;
  margin-top: 0.5em;
  line-height: 1.3674418605;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .freeiD .merit-wrap .arrowBox p {
    width: auto;
    margin: 10% 0 0;
  }
}
#equipment .security_wrap .freeiD .merit-wrap .rBox {
  width: 42%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .freeiD .merit-wrap .rBox {
    width: 100%;
  }
}
#equipment .security_wrap .freeiD .merit_box {
  background: transparent;
  padding: 0;
}
#equipment .security_wrap .freeiD .services {
  padding: 4% 3%;
  margin-top: 6.4rem;
  background: rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .freeiD .services {
    margin-top: 6.4%;
  }
}
#equipment .security_wrap .freeiD .services_head {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  column-gap: 2rem;
  margin-bottom: 2.9rem;
  row-gap: 1rem;
}
#equipment .security_wrap .freeiD .services_label {
  font-size: clamp(22px, 3vw, 28px);
  line-height: 1.1851851852;
  font-weight: 700;
  letter-spacing: 0;
  background: #2FB1E7;
  color: #fff;
  padding: 0.25em 0.8em;
}
#equipment .security_wrap .freeiD .services_lead {
  color: #0D4471;
  font-size: clamp(18px, 3vw, 22px);
  line-height: 1.2173913043;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#equipment .security_wrap .freeiD .services_lead:not(:last-child) {
  margin: 2.5em 0 1.1em;
}
#equipment .security_wrap .freeiD .services_ttl {
  font-size: 18px;
  line-height: 1.2352941176;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #0D4471;
}
#equipment .security_wrap .freeiD .services_desc {
  color: #222222;
  letter-spacing: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2142857143;
  margin-top: 0.8em;
}
#equipment .security_wrap .freeiD .services_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  row-gap: 2rem;
}
#equipment .security_wrap .freeiD .services_box {
  width: 50%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .freeiD .services_box {
    width: 100%;
  }
}
#equipment .security_wrap .freeiD .services_box.hor {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
#equipment .security_wrap .freeiD .services_box.hor .services_img {
  width: 41.2%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .freeiD .services_box.hor .services_img {
    width: 50%;
    margin: 0 auto;
  }
}
#equipment .security_wrap .freeiD .services_box.hor .services_txt {
  width: 56.3%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .freeiD .services_box.hor .services_txt {
    width: 100%;
    margin-top: 1.6rem;
  }
}
#equipment .security_wrap .freeiD .services_box.ver .services_img {
  padding-right: 11.8%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .freeiD .services_box.ver .services_img {
    padding-right: 0;
  }
}
#equipment .security_wrap .freeiD .services_box.ver .services_img figure {
  width: 47%;
}
#equipment .security_wrap .freeiD .services_box.ver .services_txt {
  margin-top: 1.6rem;
}
#equipment .facisani-section {
  padding: 20px 0;
}
@media screen and (max-width: 768px) {
  #equipment .facisani-section {
    padding: 30px 0 0;
  }
}
#equipment .facisani-section .ttl_box {
  width: 90%;
  max-width: 1110px;
  margin-inline: auto;
}
#equipment .facisani-section .equip_list .equip_list,
#equipment .facisani-section .equip_list .equip_twin,
#equipment .facisani-section .equip_twin .equip_list,
#equipment .facisani-section .equip_twin .equip_twin {
  width: 100%;
}
#equipment .facisani-section .equip_list .ttl_box,
#equipment .facisani-section .equip_twin .ttl_box {
  width: 100%;
}
#equipment .facisani-section .equip_list .bottom li {
  width: 31.5%;
  margin-bottom: 30px;
  padding: 20px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #equipment .facisani-section .equip_list .bottom li {
    width: 100%;
  }
}
#equipment .facisani-section .equip_list .name {
  font-size: clamp(14px, 3vw, 17px);
  text-align: center;
  color: #000;
}
#equipment .facisani-section .equip_list .txt {
  font-size: clamp(12px, 3vw, 14px);
}
#equipment .facisani-section .equip_list .txt span {
  font-size: 12px;
}
#equipment .fasility_wrap {
  background: #241A04;
  padding: 3.4722222222% 0 3.4722222222%;
}
#equipment .fasility_wrap .ttl_faci {
  max-width: 181px;
}
#equipment .fasility_wrap .ttl_box {
  width: 100%;
  margin: 0 auto 32px;
  color: #fff;
  padding-bottom: 1rem;
}
#equipment .fasility_wrap .ttl_box p {
  text-align: left;
  font-size: clamp(28px, 3vw, 36px);
  line-height: 0.6;
  letter-spacing: 0.1em;
  font-weight: 900;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #equipment .fasility_wrap .ttl_box p {
    text-align: left;
    letter-spacing: 0.2em;
  }
}
#equipment .fasility_wrap .facility_list_box {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  #equipment .fasility_wrap .facility_list_box {
    grid-template-columns: 1fr 1fr;
  }
}
#equipment .fasility_wrap .facility_list_box .cont-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
@media screen and (max-width: 768px) {
  #equipment .fasility_wrap .facility_list_box .cont-row {
    grid-template-columns: 1fr;
  }
}
#equipment .fasility_wrap .facility_list_box li .com-note {
  margin-bottom: 0;
}
#equipment .fasility_wrap .facility_list_box li .name {
  font-size: 16px;
  text-align: center;
  margin: 0.75em 0 0.75em;
  letter-spacing: 0;
  color: #fff;
  line-height: 1.2;
}
#equipment .fasility_wrap .facility_list_box li .txt {
  font-size: 12px;
  line-height: 1.6666666667;
  color: #fff;
  text-align: justify;
  letter-spacing: -0.02em;
}
#equipment .fasility_wrap .com-note {
  color: #fff;
  margin-top: 3rem;
}
#equipment .struct_bg {
  padding-bottom: 47px;
}
#equipment .struct_wrap .main_box {
  text-align: left;
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .main_box {
    max-width: 90%;
  }
}
#equipment .struct_wrap .main_ttl {
  width: 100%;
  font-size: clamp(40px, 4vw, 54px);
  letter-spacing: 0.1em;
  font-family: "Imbue", serif;
  margin-top: 5rem;
  line-height: 1.1666666667;
}
#equipment .struct_wrap .main_sub {
  width: 100%;
  font-size: clamp(20px, 3vw, 28px);
  letter-spacing: 0.1em;
}
#equipment .struct_wrap .struct_main_wrap {
  width: 100%;
  position: relative;
  margin-bottom: 6.9%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_main_wrap .struct_main_img {
    height: 56.8vw;
  }
  #equipment .struct_wrap .struct_main_wrap .struct_main_img img {
    object-fit: cover;
    height: 100%;
  }
}
#equipment .struct_wrap .struct_main_wrap .txt_box {
  position: absolute;
  bottom: 12.4%;
  left: 20.3%;
  width: 61%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_main_wrap .txt_box {
    bottom: 12.4%;
    left: 0%;
    width: 100%;
  }
}
#equipment .struct_wrap .struct_main_wrap .com-cap {
  z-index: 1;
}
#equipment .struct_wrap .w970 {
  max-width: 970px;
}
#equipment .struct_wrap .struct_box {
  padding-top: 4%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box {
    padding: 5vw 2vw 3vw;
  }
}
#equipment .struct_wrap .struct_box .lead {
  font-size: clamp(18px, 3vw, 22px);
  letter-spacing: 0.1em;
  font-weight: 600;
  text-align: center;
  color: #1A1A1A;
  padding-bottom: 6%;
}
#equipment .struct_wrap .struct_box .survey_list {
  width: 100%;
  margin: auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .survey_list {
    margin: 6% auto 0;
  }
}
#equipment .struct_wrap .struct_box .survey_list li {
  margin-bottom: 4%;
}
#equipment .struct_wrap .struct_box .survey_list li.w48 {
  width: 46.8%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .survey_list li.w48 {
    width: 100%;
  }
}
#equipment .struct_wrap .struct_box .survey_list li.w33 {
  width: 31.3%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .survey_list li.w33 {
    width: 100%;
    padding: 0;
  }
}
#equipment .struct_wrap .struct_box .survey_list li.w48 {
  width: 48%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .survey_list li.w48 {
    width: 100%;
    padding: 0;
  }
}
#equipment .struct_wrap .struct_box .survey_list li.w100 {
  width: 100%;
}
#equipment .struct_wrap .struct_box .survey_list li .name {
  font-size: 22px;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #fff;
  text-align: center;
  background-color: #241A04;
  padding: 8px 0 7px;
  margin-bottom: 9px;
}
#equipment .struct_wrap .struct_box .survey_list li .txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6923076923;
  color: #1A1A1A;
  letter-spacing: 0;
  text-align: justify;
}
#equipment .struct_wrap .struct_box .survey_list li .com-note {
  font-size: clamp(14px, 2vw, 14px);
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-top: 20px;
}
#equipment .struct_wrap .struct_box .com-note {
  color: #231f20;
}
#equipment .struct_wrap .struct_box .struct_list {
  width: 100%;
  margin: 0 auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  justify-content: space-between;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 {
  width: 100%;
  display: grid;
  grid-auto-columns: 2fr 1fr;
  grid-auto-flow: column;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list .struct_grid_1 {
    grid-auto-flow: row;
  }
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 .struct_grid_2a {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 .struct_grid_2a .struct_grid_3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list .struct_grid_1 .struct_grid_2a .struct_grid_3 {
    grid-template-columns: 1fr;
  }
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li {
  width: 100%;
  margin-bottom: 0px;
  display: flex;
  flex-direction: column;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li.w200 figure {
  width: 209%;
  margin-top: unset;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li.w200 figure img {
  max-height: 210px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li.w200 figure {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li {
    width: 100%;
    margin-bottom: 25px;
  }
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li.w48 {
  width: 46.8%;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li.w48.img_insurance {
  width: 90%;
  padding: 20px 0 10px 0;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li.w48.insurance {
  gap: 20px;
  border: 1px solid #000;
  padding: 3.5% 2%;
  background-color: #fff;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li.w48 .txt_insurance_desc {
  font-size: 16px;
  line-height: 1.85;
  color: #1A1A1A;
  text-align: justify;
  letter-spacing: -0.04em;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li.w48 .txt_insurance {
  font-size: 12px;
  line-height: 1.8333333333;
  letter-spacing: -0.04em;
  color: #1A1A1A;
  text-align: justify;
  background-color: #E3E5E7;
  padding: 10px 15px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li.w48 {
    width: 100%;
  }
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .name {
  font-size: 22px;
  color: #1A1A1A;
  text-align: center;
  border-bottom: 1px solid;
  margin-bottom: 0.6em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 600;
  display: flex;
  align-items: center;
  height: 5rem;
  justify-content: center;
  letter-spacing: 0;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .name.mid {
  font-size: 18px;
  letter-spacing: 0em;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .name.sml {
  font-size: 17px;
  letter-spacing: 0em;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .name.two-lines {
  line-height: 1.1;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .name.__org {
  border: none;
  color: #D76A49;
  font-size: 20px;
  line-height: 30px;
  justify-content: flex-start;
  text-align: left;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .name.lrg-left {
  text-align: left;
  font-size: 32px;
  line-height: 36px;
  height: unset;
  justify-content: flex-start;
  margin-bottom: 0.2em;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .name {
    height: auto;
    padding-bottom: 5px;
    font-size: 20px;
  }
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .txt {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: -0.05em;
  font-weight: 500;
  color: #1A1A1A;
  text-align: justify;
  margin-bottom: 2rem;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .txt.sml {
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .txt {
    margin-bottom: 1rem;
    line-height: 1.6;
  }
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .txt.--h136 {
  height: 136px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .txt.--h136 {
    height: unset;
  }
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .txt span {
  font-size: clamp(12px, 2vw, 14px);
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li .txt_desc {
  font-size: 11px;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li figure {
  margin: 0 auto;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li figure.struct_00 {
  width: 60%;
  margin: 10% 0;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li figure.struct_00 {
    width: 90%;
    margin: 0 auto;
  }
}
#equipment .struct_wrap .struct_box .struct_list li {
  width: 31.3%;
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
}
#equipment .struct_wrap .struct_box .struct_list li.w200 figure {
  width: 209%;
  margin-top: unset;
}
#equipment .struct_wrap .struct_box .struct_list li.w200 figure img {
  max-height: 210px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list li.w200 figure {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list li {
    width: 100%;
    margin-bottom: 25px;
  }
}
#equipment .struct_wrap .struct_box .struct_list li.w48 {
  width: 46.8%;
}
#equipment .struct_wrap .struct_box .struct_list li.w48.insurance {
  gap: 20px;
  border: 1px solid #000;
  padding: 3.5% 2%;
  background-color: #fff;
}
#equipment .struct_wrap .struct_box .struct_list li.w48 .txt_insurance_desc {
  font-size: 16px;
  line-height: 1.85;
  color: #1A1A1A;
  text-align: justify;
  letter-spacing: -0.04em;
}
#equipment .struct_wrap .struct_box .struct_list li.w48 .txt_insurance {
  font-size: 12px;
  line-height: 1.8333333333;
  letter-spacing: -0.04em;
  color: #1A1A1A;
  text-align: justify;
  background-color: #E3E5E7;
  padding: 10px 15px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list li.w48 {
    width: 100%;
  }
}
#equipment .struct_wrap .struct_box .struct_list li .name {
  font-size: 22px;
  color: #1A1A1A;
  text-align: center;
  border-bottom: 1px solid;
  margin-bottom: 0.6em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 600;
  display: flex;
  align-items: center;
  height: 5rem;
  justify-content: center;
  letter-spacing: 0;
}
#equipment .struct_wrap .struct_box .struct_list li .name.mid {
  font-size: 18px;
  letter-spacing: 0em;
}
#equipment .struct_wrap .struct_box .struct_list li .name.sml {
  font-size: 17px;
  letter-spacing: 0em;
}
#equipment .struct_wrap .struct_box .struct_list li .name.two-lines {
  line-height: 1.1;
}
#equipment .struct_wrap .struct_box .struct_list li .name.__org {
  border: none;
  color: #D76A49;
  font-size: 20px;
  line-height: 30px;
  justify-content: flex-start;
  text-align: left;
}
#equipment .struct_wrap .struct_box .struct_list li .name.lrg-left {
  text-align: left;
  font-size: 32px;
  line-height: 36px;
  height: unset;
  justify-content: flex-start;
  margin-bottom: 0.2em;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list li .name {
    height: auto;
    padding-bottom: 5px;
    font-size: 20px;
  }
}
#equipment .struct_wrap .struct_box .struct_list li .txt {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: -0.05em;
  font-weight: 500;
  color: #1A1A1A;
  text-align: justify;
  margin-bottom: 2rem;
}
#equipment .struct_wrap .struct_box .struct_list li .txt.sml {
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list li .txt {
    margin-bottom: 1rem;
    line-height: 1.6;
  }
}
#equipment .struct_wrap .struct_box .struct_list li .txt.--h136 {
  height: 136px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list li .txt.--h136 {
    height: unset;
  }
}
#equipment .struct_wrap .struct_box .struct_list li .txt span {
  font-size: clamp(12px, 2vw, 14px);
}
#equipment .struct_wrap .struct_box .struct_list li .txt_desc {
  font-size: 11px;
}
#equipment .struct_wrap .struct_box .struct_list li figure {
  margin: 0 auto;
}
#equipment .struct_wrap .struct_box .struct_list li figure.img_insurance {
  width: 90%;
  padding: 20px 0 10px 0;
}
#equipment .struct_wrap .struct_box .struct_list li figure.w80 {
  width: 80%;
}
#equipment .struct_wrap .struct_box .struct_list li figure.w100 {
  width: 100%;
  margin-top: unset;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list li figure {
    margin-top: 5px;
  }
}
#equipment .struct_wrap .struct_box .struct_list li.jio .name {
  border-bottom: none;
}
#equipment .struct_wrap .struct_box .struct_list li.jio figure {
  margin-top: 0;
  padding: 20px 14px 0 20px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list li.jio figure {
    padding: 0 15px;
  }
}
#equipment .struct_wrap .struct_box .struct_list li.jio .txt {
  font-size: 15px;
  line-height: 1.4666666667;
  margin-block: 10px;
  width: 105%;
}
#equipment .struct_wrap .struct_box .struct_list li.jio .note {
  background-color: #ecf5f7;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.5384615385;
  letter-spacing: 0;
  margin-top: 10px;
}
#equipment .struct_wrap .struct_box .struct_list li.houseplus figure {
  margin-top: 0;
  margin-bottom: 10px;
}
#equipment .struct_wrap .struct_box .struct_list li.houseplus .title {
  font-size: 22px;
  color: #D76A49;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 10px;
}
#equipment .struct_wrap .struct_box .struct_list li.houseplus .title span {
  font-size: 16px;
}
#equipment .struct_wrap .struct_box .struct_list li.houseplus .txt {
  font-size: 15px;
}
#equipment .struct_wrap .struct_box .struct_list.struct_list-2 {
  margin-top: 25px;
}
#equipment .struct_wrap .struct_box .struct_list.struct_list-2 li {
  margin-bottom: 40px;
}
#equipment .struct_wrap .struct_box .struct_list.struct_list-2 li:nth-of-type(1) {
  padding-top: 4.1%;
}
#equipment .struct_wrap .struct_box .struct_list.struct_list-2 li:nth-of-type(2) {
  padding-top: 5%;
  padding-right: 6%;
}
#equipment .struct_wrap .struct_box .struct_list.struct_list-2 li:nth-of-type(3) {
  padding: 0 1.6%;
}
#equipment .struct_wrap .struct_box .struct_bnr {
  margin-top: 2rem;
  padding: 2rem;
  border: 4px solid #09387b;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_bnr {
    padding: 1rem;
  }
}
#equipment .struct_wrap .struct_box .struct_bnr figure {
  width: 50%;
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_bnr figure {
    width: 100%;
    margin-bottom: 1rem;
  }
}
#equipment .struct_wrap .struct_box .struct_bnr .name {
  font-size: 24px;
  text-align: center;
  color: #d76a49;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_bnr .name {
    font-size: 16px;
    margin-bottom: 1rem;
    text-align: left;
    padding: 0 1rem;
  }
}
#equipment .struct_wrap .struct_box .struct_bnr .txt {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #000003;
  text-align: left;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_bnr .txt {
    font-size: clamp(10px, 3.466666658vw, 16px);
  }
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_bnr .txt {
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
    padding: 0 1rem;
  }
}
#equipment .struct_wrap .struct_box .struct_bnr .txt-2 {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #000003;
  text-align: center;
  margin-top: 1rem;
  background-color: #ebebeb;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_bnr .txt-2 {
    font-size: clamp(10px, 3.466666658vw, 16px);
  }
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_bnr .txt-2 {
    width: 100%;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
    padding: 1.5rem 1rem;
  }
}
#equipment .struct_wrap .struct_box .construct_list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#equipment .struct_wrap .struct_box .construct_list li {
  width: 50%;
  padding: 30px 4% 30px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .construct_list li {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  #equipment .struct_wrap .struct_box .construct_list li.pl0 {
    padding-left: 0;
  }
}
@media screen and (min-width: 769px) {
  #equipment .struct_wrap .struct_box .construct_list li.pr0 {
    padding-right: 0;
  }
}
#equipment .struct_wrap .struct_box .construct_list li:nth-child(5), #equipment .struct_wrap .struct_box .construct_list li:nth-child(7) {
  width: 31.93%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .construct_list li:nth-child(5), #equipment .struct_wrap .struct_box .construct_list li:nth-child(7) {
    width: 100%;
  }
}
#equipment .struct_wrap .struct_box .construct_list li:nth-child(6) {
  width: 36.14%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .construct_list li:nth-child(6) {
    width: 100%;
  }
}
#equipment .struct_wrap .struct_box .construct_list li:nth-child(6), #equipment .struct_wrap .struct_box .construct_list li:nth-child(5), #equipment .struct_wrap .struct_box .construct_list li:nth-child(3), #equipment .struct_wrap .struct_box .construct_list li:nth-child(1) {
  border-right: 1px solid rgba(0, 0, 3, 0.4);
  border-bottom: 1px solid rgba(0, 0, 3, 0.4);
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .construct_list li:nth-child(6), #equipment .struct_wrap .struct_box .construct_list li:nth-child(5), #equipment .struct_wrap .struct_box .construct_list li:nth-child(3), #equipment .struct_wrap .struct_box .construct_list li:nth-child(1) {
    border-right: none;
  }
}
#equipment .struct_wrap .struct_box .construct_list li:nth-child(8) {
  padding-bottom: 0;
  border-right: 1px solid rgba(0, 0, 3, 0.4);
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .construct_list li:nth-child(8) {
    border-right: none;
    border-bottom: 1px solid rgba(0, 0, 3, 0.4);
    padding-bottom: 30px;
  }
}
#equipment .struct_wrap .struct_box .construct_list li:nth-child(9) {
  padding-bottom: 0;
}
#equipment .struct_wrap .struct_box .construct_list li:nth-child(7), #equipment .struct_wrap .struct_box .construct_list li:nth-child(4), #equipment .struct_wrap .struct_box .construct_list li:nth-child(2) {
  border-bottom: 1px solid rgba(0, 0, 3, 0.4);
}
#equipment .struct_wrap .struct_box .construct_list li.houseplus {
  padding: 50px 4% 0;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .construct_list li.houseplus {
    padding: 30px 4% 30px;
  }
}
#equipment .struct_wrap .struct_box .construct_list li.houseplus .name {
  text-align: left;
  font-size: 22px;
  color: #d76a49;
  letter-spacing: 0;
  line-height: 1.1301827909;
  margin: 1.3em 0 0.8em;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .construct_list li.houseplus .name {
    font-size: clamp(10px, 4.266666656vw, 22px);
  }
}
#equipment .struct_wrap .struct_box .construct_list li.w3 {
  width: 33.3333333333%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .construct_list li.w3 {
    width: 100%;
  }
}
#equipment .struct_wrap .struct_box .construct_list li.w3 figure {
  width: 90%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .construct_list li.w3 figure {
    width: 100%;
  }
}
#equipment .struct_wrap .struct_box .construct_list li p.name {
  font-size: 15px;
  color: #000003;
  text-align: center;
  margin: 1.4em 0 0.3em;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .construct_list li p.name {
    font-size: clamp(10px, 3.333333325vw, 15px);
  }
}
#equipment .struct_wrap .struct_box .construct_list li p.txt {
  font-size: 14px;
  line-height: 1.5384615385;
  color: #000003;
  text-align: justify;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .construct_list li p.txt {
    font-size: clamp(10px, 3.199999992vw, 14px);
  }
}
#equipment .struct_wrap .struct_box .construct_list li p.com-note {
  color: #231815;
}
#equipment .struct_wrap .struct_box .construct_list .com-note {
  bottom: -20px;
  right: -10px;
}
#equipment .struct_wrap-2 {
  padding-bottom: 60px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap-2 {
    padding-bottom: 30px;
  }
}
#equipment .struct_wrap-2 .struct_cnt {
  background-color: #fff;
}
#equipment .struct_wrap-2 .struct_box {
  background-color: transparent;
  padding: 58px 5.1%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap-2 .struct_box {
    padding-top: 5vw;
  }
}
#equipment .struct_wrap-2 .struct_box .insurance {
  padding-right: 0 !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap-2 .struct_box .insurance {
    padding-right: 3% !important;
  }
}
#equipment .struct_wrap-2 .struct_box .insurance .img {
  width: 62%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap-2 .struct_box .insurance .img {
    width: 100%;
  }
}
#equipment .struct_wrap-2 .struct_box .insurance .txt {
  width: 32%;
  line-height: 1.3846153846 !important;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap-2 .struct_box .insurance .txt {
    margin-top: 1em;
    width: 100%;
  }
}
#equipment .zeheco_wrap {
  background-image: url(../img/equipment/zeh_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 7.5% 0 10.1%;
}
#equipment .zeheco_wrap .zeheco {
  background-color: #fff;
  padding: 7.2% 10.9% 7.1%;
  color: #231815;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco {
    padding: 7.2% 7% 7.1%;
  }
}
#equipment .zeheco_wrap .zeheco_lead {
  max-width: 732px;
  margin: 0 auto;
}
#equipment .zeheco_wrap .zeheco_ttl {
  font-size: 42px;
  line-height: 1.1904761905;
  text-align: center;
  width: fit-content;
  padding: 0.1em 1.6em 0.2em;
  letter-spacing: 0.16em;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  margin: 1em auto 0;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_ttl {
    font-size: clamp(10px, 6.933333316vw, 42px);
  }
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_ttl {
    width: 90%;
    padding: 0.1em 0.5em 0.2em;
  }
}
#equipment .zeheco_wrap .zeheco_sub {
  font-size: 25px;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-align: center;
  margin-top: 1.4em;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_sub {
    font-size: clamp(10px, 4.666666655vw, 25px);
  }
}
#equipment .zeheco_wrap .zeheco_sub2 {
  font-size: 14px;
  line-height: 1.2142857143;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 1.5em;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_sub2 {
    font-size: clamp(10px, 3.199999992vw, 14px);
  }
}
#equipment .zeheco_wrap .zeheco_txtBox {
  display: flex;
  align-items: center;
  margin-top: 7.6%;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_txtBox {
    flex-wrap: wrap;
  }
}
#equipment .zeheco_wrap .zeheco_txtBox .ttl {
  margin-right: 1.3%;
  flex-shrink: 0;
  font-size: 17px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_txtBox .ttl {
    font-size: clamp(10px, 3.599999991vw, 17px);
  }
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_txtBox .ttl {
    width: 100%;
    text-align: center;
    margin-right: 0;
    margin-bottom: 0.5em;
  }
}
#equipment .zeheco_wrap .zeheco_txtBox .ttl span {
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_txtBox .ttl span {
    font-size: clamp(10px, 3.333333325vw, 15px);
  }
}
#equipment .zeheco_wrap .zeheco_txtBox .desc {
  font-size: 12px;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  border-left: 2px solid currentColor;
  text-align: justify;
  padding-left: 2%;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_txtBox .desc {
    font-size: clamp(10px, 2.933333326vw, 12px);
  }
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_txtBox .desc {
    border-left: unset;
    border-top: 2px solid currentColor;
    padding-left: 0;
    padding-top: 0.5em;
  }
}
#equipment .zeheco_wrap .zeheco_txtBox .desc span {
  color: #900000;
}
#equipment .zeheco_wrap .zeheco_energy {
  margin-top: 8.3%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_energy {
    max-width: 350px;
    margin: 8.3% auto 0;
  }
}
#equipment .zeheco_wrap .zeheco_energy figure {
  width: 45%;
  position: relative;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_energy figure {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_energy figure:first-child {
    width: 100%;
    margin-bottom: 60px;
  }
}
#equipment .zeheco_wrap .zeheco_energy figure:first-child::after {
  position: absolute;
  width: 37px;
  height: 37px;
  content: "";
  background-image: url(../img/equipment/plus.svg);
  background-size: cover;
  bottom: 21.2%;
  right: -16.2%;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_energy figure:first-child::after {
    width: 30px;
    height: 30px;
    bottom: -45px;
    right: initial;
    left: 50%;
    transform: translateX(-50%);
  }
}
#equipment .zeheco_wrap .zeheco_merit {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 109px;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_merit {
    max-width: 350px;
    margin: 86px auto 0;
    row-gap: 30px;
  }
}
#equipment .zeheco_wrap .zeheco_merit::before {
  position: absolute;
  width: 58px;
  height: 23px;
  content: "";
  background-image: url(../img/equipment/arrow_down.svg);
  background-size: cover;
  left: 50%;
  transform: translateX(-50%);
  top: -69px;
}
#equipment .zeheco_wrap .zeheco_merit-item {
  width: 30.5%;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_merit-item {
    width: 100%;
  }
}
#equipment .zeheco_wrap .zeheco_merit-item .lead {
  background-color: #0a9431;
  text-align: center;
  color: #fff;
  font-size: 22px;
  line-height: 1.1818181818;
  padding: 0.2em 0 0.3em;
  position: relative;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_merit-item .lead {
    font-size: clamp(10px, 4.266666656vw, 22px);
  }
}
#equipment .zeheco_wrap .zeheco_merit-item .lead::after, #equipment .zeheco_wrap .zeheco_merit-item .lead::before {
  position: absolute;
  content: "";
  width: 100%;
  left: 0;
  height: 1px;
  background-color: #0a9431;
  top: -4px;
}
#equipment .zeheco_wrap .zeheco_merit-item .lead::after {
  top: initial;
  bottom: -4px;
}
#equipment .zeheco_wrap .zeheco_merit-item .lead span {
  font-size: 11px;
}
#equipment .zeheco_wrap .zeheco_merit-item .ttl {
  color: #000003;
  text-align: center;
  font-size: 19px;
  margin: 1.1em 0 0.6em;
  line-height: 1.2105263158;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_merit-item .ttl {
    font-size: clamp(10px, 3.866666657vw, 19px);
  }
}
#equipment .zeheco_wrap .zeheco_merit-item .desc {
  color: #231815;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .zeheco_wrap .zeheco_merit-item .desc {
    font-size: clamp(10px, 3.199999992vw, 14px);
  }
}
#equipment .zehplan_wrap {
  background-image: url(../img/equipment/zeh_bg_2.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #231815;
  padding: 7.2% 0 6%;
  position: relative;
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap {
    padding: 17.2% 0 6%;
  }
}
#equipment .zehplan_wrap .decor {
  position: absolute;
  right: 0;
  top: 0;
  width: 40.2%;
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .decor {
    width: 50%;
  }
}
#equipment .zehplan_wrap .zehplan {
  position: relative;
  z-index: 2;
}
#equipment .zehplan_wrap .zehplan_ttl {
  border-bottom: 1px solid currentColor;
  font-size: 35px;
  letter-spacing: 0;
  padding-bottom: 0.2em;
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .zehplan_ttl {
    font-size: clamp(10px, 5.999999985vw, 35px);
  }
}
#equipment .zehplan_wrap .zehplan_ttl span {
  font-size: 39px;
  margin-left: -0.5em;
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .zehplan_ttl span {
    font-size: clamp(10px, 6.533333317vw, 39px);
  }
}
#equipment .zehplan_wrap .zehplan_sub {
  font-size: 25px;
  line-height: 1.6348;
  letter-spacing: 0;
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .zehplan_sub {
    font-size: clamp(10px, 4.666666655vw, 25px);
  }
}
#equipment .zehplan_wrap .zehplan_desc {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0;
  margin-top: 0.7em;
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .zehplan_desc {
    font-size: clamp(10px, 3.066666659vw, 13px);
  }
}
#equipment .zehplan_wrap .zehplan .zehprocess {
  margin-top: 52px;
}
#equipment .zehplan_wrap .zehplan .zehprocess_lead {
  display: flex;
  align-items: center;
  column-gap: 5px;
}
#equipment .zehplan_wrap .zehplan .zehprocess_lead .txt {
  flex-shrink: 0;
  color: #231815;
  font-size: 21px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .zehplan .zehprocess_lead .txt {
    font-size: clamp(10px, 4.133333323vw, 21px);
  }
}
#equipment .zehplan_wrap .zehplan .zehprocess_lead .line {
  height: 1px;
  flex-grow: 1;
  background: #231815;
}
#equipment .zehplan_wrap .zehplan .zehprocess_img {
  margin-top: 20px;
}
#equipment .zehplan_wrap .zehplan .zehprocess_img figure {
  min-width: 650px;
  padding-bottom: 20px;
}
#equipment .zehplan_wrap .zehplan .zehprocess_txt {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 24px;
}
#equipment .zehplan_wrap .zehplan .zehprocess_ttl {
  font-size: 23px;
  line-height: 1.2608695652;
  letter-spacing: 0.08em;
  color: #fff;
  background: #005e15;
  width: 38.8%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 0.5em;
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .zehplan .zehprocess_ttl {
    font-size: clamp(10px, 4.399999989vw, 23px);
  }
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .zehplan .zehprocess_ttl {
    width: 100%;
  }
}
#equipment .zehplan_wrap .zehplan .zehprocess_desc {
  font-size: 14px;
  line-height: 1.5260273973;
  text-align: justify;
  letter-spacing: -0.04em;
  color: #231815;
  width: 60%;
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .zehplan .zehprocess_desc {
    font-size: clamp(10px, 3.199999992vw, 14px);
  }
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .zehplan .zehprocess_desc {
    width: 100%;
    margin-top: 20px;
  }
}
#equipment .zehplan_wrap .zehplan .zehprocess_desc span {
  background: linear-gradient(transparent 60%, #faed00 60%);
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .zehprocess_img_wrap {
    margin-right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 768px) {
  #equipment .zehplan_wrap .zehprocess_img_wrap .zehprocess_img {
    width: 150%;
  }
}
#equipment .zehbels_wrap {
  background-image: url(../img/equipment/zeh_bels_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 5.2% 0 4.4%;
}
@media screen and (max-width: 768px) {
  #equipment .zehbels_wrap {
    padding: 8% 0 7%;
  }
}
#equipment .zehbels_wrap .zehbels {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#equipment .zehbels_wrap .zehbels .box1 {
  width: 46.9%;
}
#equipment .zehbels_wrap .zehbels .box1 figure {
  width: 85%;
  margin: 0 auto 30px;
}
#equipment .zehbels_wrap .zehbels .box1 .p1 {
  color: #231815;
  font-size: 19px;
  line-height: 1.1989795918;
  letter-spacing: 0.16em;
  text-align: center;
  background: #f0e1b2;
  padding: 0.5em 0;
}
@media screen and (max-width: 768px) {
  #equipment .zehbels_wrap .zehbels .box1 .p1 {
    font-size: clamp(10px, 3.866666657vw, 19px);
  }
}
#equipment .zehbels_wrap .zehbels .box1 .p2 {
  font-size: 13px;
  line-height: 1.5076923077;
  letter-spacing: 0;
  color: #fff;
  text-align: justify;
  margin-top: 0.9em;
}
@media screen and (max-width: 768px) {
  #equipment .zehbels_wrap .zehbels .box1 .p2 {
    font-size: clamp(10px, 3.066666659vw, 13px);
  }
}
@media screen and (max-width: 768px) {
  #equipment .zehbels_wrap .zehbels .box1 {
    width: 100%;
  }
}
#equipment .zehbels_wrap .zehbels .box2 {
  width: 47.4%;
}
@media screen and (max-width: 768px) {
  #equipment .zehbels_wrap .zehbels .box2 {
    width: 100%;
    margin-top: 30px;
  }
}
#equipment .zehbels_wrap .zehbels .box2 figure {
  width: 83.5%;
  margin: 0 auto 10px;
}
#equipment .zehbels_wrap .zehbels .box2 .txtBox {
  background: #f0e1b2;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  padding: 10px;
}
#equipment .zehbels_wrap .zehbels .box2 .txtBox p {
  color: #231815;
}
#equipment .zehbels_wrap .zehbels .box2 .txtBox .p1 {
  font-size: 15px;
  line-height: 1.4;
  text-align: center;
  flex-shrink: 0;
  padding-right: 5px;
  width: 95px;
}
#equipment .zehbels_wrap .zehbels .box2 .txtBox .p2 {
  font-size: 11px;
  padding-left: 8px;
  line-height: 1.6036363636;
  letter-spacing: 0;
  border-left: 1px solid currentColor;
}
#equipment .zehbels_wrap .zehbels .box2 .txtBox .p2 img {
  width: 25px;
}
#equipment .zehbels_wrap .zehbels .box2 .txtBox + .txtBox {
  margin-top: 5px;
}
#equipment .ecoequip_wrap {
  background-image: url(../img/equipment/zeh_bg_3.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 3.5% 0 5%;
}
@media screen and (max-width: 768px) {
  #equipment .ecoequip_wrap {
    padding: 7% 0 10%;
  }
}
#equipment .ecoequip_wrap .ecoequip .ttl_box {
  color: #231815;
  font-size: 21px;
  letter-spacing: 0.1em;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #equipment .ecoequip_wrap .ecoequip .ttl_box {
    font-size: clamp(10px, 4.133333323vw, 21px);
  }
}
#equipment .ecoequip_wrap .ecoequip .ecoequip_list {
  margin: 18px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 10px;
  row-gap: 20px;
}
@media screen and (max-width: 768px) {
  #equipment .ecoequip_wrap .ecoequip .ecoequip_list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3%;
  }
}
#equipment .ecoequip_wrap .ecoequip .ecoequip_item {
  text-align: center;
  color: #231815;
}
@media screen and (max-width: 768px) {
  #equipment .ecoequip_wrap .ecoequip .ecoequip_item .com-cap {
    display: none;
  }
}
#equipment .ecoequip_wrap .ecoequip .ecoequip_item .desc {
  margin-top: 0.7em;
  font-size: 17px;
  line-height: 1.4705882353;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .ecoequip_wrap .ecoequip .ecoequip_item .desc {
    font-size: clamp(10px, 3.599999991vw, 17px);
  }
}
#equipment .ecoequip_wrap .ecoequip .ecoequip_item .desc span {
  font-size: 12px;
}
#equipment .media_wrap .media_ttl {
  background: url(../img/equipment/media_mainbg.webp) center center/cover no-repeat;
  padding: 4% 0 4%;
  position: relative;
  height: 420px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
@media screen and (max-width: 768px) {
  #equipment .media_wrap .media_ttl {
    padding: 10% 0 10%;
    height: 310px;
  }
}
#equipment .media_wrap .main_box {
  text-align: left;
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  #equipment .media_wrap .main_box {
    max-width: 90%;
  }
}
#equipment .media_wrap .main_ttl {
  width: 100%;
  font-size: clamp(40px, 4vw, 54px);
  letter-spacing: 0.1em;
  font-family: "Imbue", serif;
  margin-top: 5rem;
  line-height: 1.1666666667;
}
#equipment .media_wrap .main_sub {
  width: 100%;
  font-size: clamp(20px, 3vw, 28px);
  letter-spacing: 0.1em;
}
#equipment .media_wrap .cont-jio {
  border: #000 1px solid;
  padding: 20px;
  margin: 60px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}
@media screen and (max-width: 768px) {
  #equipment .media_wrap .cont-jio {
    grid-template-columns: 1fr;
  }
}
#equipment .media_wrap .cont-jio .ttl {
  font-size: 21px;
  line-height: 30px;
  text-align: center;
  font-weight: 500;
  margin-bottom: 15px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .media_wrap .cont-jio .ttl {
    font-size: 19px;
  }
}
#equipment .media_wrap .media_cont .cont-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #equipment .media_wrap .media_cont .cont-row {
    grid-template-columns: 1fr;
  }
}
#equipment .media_wrap .media_cont .cont-row-01 {
  display: grid;
  grid-template-columns: 3.5fr 6.5fr;
  gap: 15px;
}
#equipment .media_wrap .media_cont .media_t1 {
  font-size: 18px;
  border-bottom: 1px solid #000;
  padding-bottom: 4px;
  margin-bottom: 20px;
  font-weight: 600;
}
#equipment .media_wrap .media_cont .media_desc {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: normal;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap {
    padding: 1rem 0 0;
    color: #000;
  }
}
#equipment .smart_wrap .amenities_ttl {
  background: url(../img/equipment/bg_amenities_main.webp) center center/cover no-repeat;
  padding: 4% 0 4%;
  position: relative;
  height: 420px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .amenities_ttl {
    padding: 10% 0 10%;
    height: 410px;
  }
}
#equipment .smart_wrap .main_box {
  text-align: left;
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
  color: #fff;
  display: flex;
  gap: 30px;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .main_box {
    max-width: 90%;
  }
}
#equipment .smart_wrap .main_ttl {
  width: 100%;
  font-size: clamp(40px, 4vw, 54px);
  letter-spacing: 0.1em;
  font-family: "Imbue", serif;
  line-height: 1.1666666667;
}
#equipment .smart_wrap .main_sub {
  width: 100%;
  font-size: clamp(20px, 3vw, 28px);
  letter-spacing: 0.1em;
}
#equipment .smart_wrap .main_desc {
  width: 100%;
  font-size: clamp(14px, 2vw, 16px);
  letter-spacing: 0.1em;
  line-height: 1.875;
}
#equipment .smart_wrap .amenities_multi {
  display: grid;
  grid-template-columns: 6.1fr 3.9fr;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .amenities_multi {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
#equipment .smart_wrap .amenities_multi .amenities-ttl {
  background-color: #231815;
  color: #fff;
  padding: 0 16px 3px;
  font-size: 24px;
  line-height: 37px;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
  font-weight: 600;
}
#equipment .smart_wrap .amenities_multi .amenities-desc {
  font-size: 14px;
  line-height: 19px;
  letter-spacing: 0px;
  font-family: sans-serif;
  padding: 0 25px 0 15px;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .amenities_multi .amenities-desc {
    padding: 0;
  }
}
#equipment .smart_wrap .smart_box {
  position: relative;
}
#equipment .smart_wrap .main_ttl {
  width: 100%;
  font-size: clamp(40px, 4vw, 54px);
  font-weight: 200;
  letter-spacing: 0.2em;
  color: #fff;
}
#equipment .smart_wrap .main_ttl_iot {
  color: #000;
  text-align: center;
  font-family: "Shippori Mincho", "Noto Serif JP", "Cormorant Garamond", serif;
  font-size: clamp(28px, 2vw, 31px);
  margin-top: 0;
  margin-bottom: 2.5%;
}
#equipment .smart_wrap .main_ttl_iot .txt-lrg {
  font-size: 48px;
  line-height: 1;
}
#equipment .smart_wrap .smart_main_wrap {
  position: relative;
  margin: 2rem 0 0;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .smart_main_wrap {
    margin: 3rem 0 0;
  }
}
#equipment .smart_wrap .smart_main_wrap .main_img1 {
  position: relative;
  left: 0;
  bottom: 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .smart_main_wrap .main_img1 {
    position: relative;
    width: 100%;
  }
}
#equipment .smart_wrap .smart_main_wrap .main_img1 img {
  height: 390px;
  object-fit: cover;
}
@media screen and (max-width: 1401px) {
  #equipment .smart_wrap .smart_main_wrap .main_img1 img {
    height: auto;
  }
}
#equipment .smart_wrap .smart_main_wrap .txt_box {
  position: absolute;
  top: 0px;
  left: 0px;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .smart_main_wrap .txt_box {
    position: relative;
    top: initial;
    left: initial;
    margin-top: 10px;
  }
}
#equipment .smart_wrap .smart_main_wrap .txt_box .img {
  width: 220px;
  height: auto;
  margin-top: 30px;
}
#equipment .smart_wrap .smart_main_wrap .txt_box .ttl {
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 600;
  line-height: 46px;
  letter-spacing: 0.2em;
  margin-bottom: 10px;
  color: #ffffff;
}
#equipment .smart_wrap .smart_main_wrap .txt_box .ttl span {
  font-size: 36px;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .smart_main_wrap .txt_box .ttl {
    margin-bottom: 2vw;
    letter-spacing: 0.1em;
    text-align: center;
    padding-right: 16px;
  }
  #equipment .smart_wrap .smart_main_wrap .txt_box .ttl span {
    font-size: 2.2rem;
  }
}
#equipment .smart_wrap .smart_main_wrap .txt_box .lead {
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 28px;
  color: #fff;
}
#equipment .smart_wrap .smart_cont1_box {
  width: 100%;
  display: grid;
  flex-wrap: wrap;
  justify-content: space-between;
  grid-auto-columns: 3.6fr 6.1fr;
  grid-auto-flow: column;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .smart_cont1_box {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
}
#equipment .smart_wrap .smart_cont1_box .smart_cont1 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  gap: 20px;
  font-family: sans-serif;
}
#equipment .smart_wrap .smart_cont1_box .smart_cont1.remocon {
  gap: 15px;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .smart_cont1_box .smart_cont1 {
    width: 100%;
    margin-bottom: 6vw;
  }
}
#equipment .smart_wrap .smart_cont1_box .smart_cont1 .ttl {
  font-size: clamp(17px, 3vw, 22px);
  letter-spacing: 0.2em;
  width: 100%;
  height: 40px;
  margin-bottom: 10px;
  padding-block: 5px;
  text-align: center;
  background-color: #241A04;
  color: #fff;
}
#equipment .smart_wrap .smart_cont1_box .smart_cont1 .ttl.remocon {
  margin-bottom: 0px;
  display: initial;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .smart_cont1_box .smart_cont1 .ttl {
    letter-spacing: 0.2em;
  }
}
#equipment .smart_wrap .smart_cont1_box .smart_cont1 .voice_img01 {
  position: absolute;
  width: 28%;
  bottom: 22px;
  right: 23%;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .smart_cont1_box .smart_cont1 .voice_img01 {
    bottom: 42px;
    right: 4%;
  }
}
#equipment .smart_wrap .smart_cont1_box .smart_cont1 .voice_img02 {
  position: absolute;
  width: 27%;
  bottom: 68px;
  right: 5%;
  transform: translateX(5%);
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .smart_cont1_box .smart_cont1 .voice_img02 {
    right: 0;
    bottom: 88px;
    transform: translateX(0%);
  }
}
#equipment .smart_wrap .smart_cont1_box .smart_cont1 .txt {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .smart_cont1_box .smart_cont1 .txt {
    width: 100%;
  }
}
#equipment .smart_wrap .smart_cont1_box .smart_cont1 .note {
  width: 100%;
}
#equipment .smart_wrap .smart_cont1_box .smart_cont1 .batch {
  width: 80px;
  position: absolute;
  top: -10px;
  left: -24px;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .smart_cont1_box .smart_cont1 .batch {
    left: -5px;
  }
}
#equipment .smart_wrap .remocon {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .remocon {
    width: 100%;
  }
}
#equipment .smart_wrap .remocon .remocon_head {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
#equipment .smart_wrap .remocon .remocon_head .ttl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: unset;
}
#equipment .smart_wrap .remocon .remocon_head img {
  height: 100%;
  object-fit: cover;
}
#equipment .smart_wrap .remocon .txt {
  font-size: 1.2rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .remocon .txt {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #equipment .smart_wrap .remocon .remocon_img01 {
    position: relative;
    width: 100%;
    margin-top: 4vw;
  }
}
#equipment .smart_cont2_box {
  padding-top: 26px;
}
#equipment .smart_cont2_box .smart_con2 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#equipment .smart_cont2_box .smart_con2 .img01 {
  width: 28%;
}
@media screen and (max-width: 768px) {
  #equipment .smart_cont2_box .smart_con2 .img01 {
    width: 100%;
  }
}
#equipment .smart_cont2_box .smart_con2 p {
  width: 20%;
  font-size: 14px;
  letter-spacing: normal;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #equipment .smart_cont2_box .smart_con2 p {
    width: 100%;
    margin-top: 4vw;
  }
}
#equipment .smart_cont2_box .smart_con2 .img02 {
  width: 48%;
}
@media screen and (max-width: 768px) {
  #equipment .smart_cont2_box .smart_con2 .img02 {
    width: 100%;
    margin-top: 4vw;
  }
}
#equipment .smart_cont2_box .ttl {
  font-size: clamp(17px, 3vw, 22px);
  font-weight: 600;
  text-align: left;
  padding: 0.6rem 0;
  text-indent: 1rem;
}
@media screen and (max-width: 768px) {
  #equipment .smart_cont2_box .ttl {
    padding: 0.4rem 0;
  }
}
#equipment .smart_cont2_box .lead {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1rem;
  margin: 20px 0;
}
@media screen and (max-width: 768px) {
  #equipment .smart_cont2_box .lead {
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
  }
}
#equipment .smart_cont3_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin: 5rem 0 0;
  border: 1px solid #241A04;
}
#equipment .smart_cont3_box .smart-ttl {
  width: 100%;
  font-size: clamp(18px, 3vw, 28px);
  text-align: left;
  padding: 0.4rem 0 0.4rem 1rem;
  background-color: #241A04;
  color: #fff;
}
#equipment .smart_cont3_box .multi_fgbb {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 25px;
  padding: 23px;
  align-items: center;
  font-size: 14px;
  line-height: 19px;
}
@media screen and (max-width: 768px) {
  #equipment .smart_cont3_box .multi_fgbb {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 5px;
  }
}
#equipment .smart_cont3_box .multi_fgbb .multi_txt {
  color: #241A04;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .smart_cont3_box {
    padding: 0 0 3rem;
    margin: 4rem 0 0;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  #equipment .smart_cont3_box {
    margin: 1rem 0 0;
  }
}
@media screen and (max-width: 768px) {
  #equipment .smart_cont3_box .smart-ttl {
    font-size: 1.7rem;
    padding: 0 0 0 1rem;
    margin: 0 0 1.8rem;
  }
  #equipment .smart_cont3_box .multi-1 {
    width: 100%;
    margin: 0 1rem;
  }
  #equipment .smart_cont3_box .multi-1 .logo-txt {
    font-size: 1.6rem;
    font-weight: 600;
    margin: 0.4rem 0 0;
    letter-spacing: 0;
  }
  #equipment .smart_cont3_box .multi-1 .multi-1-img {
    width: 52%;
    position: relative;
  }
  #equipment .smart_cont3_box .multi-2 {
    width: 100%;
    margin: 1.8rem 1rem 0;
  }
  #equipment .smart_cont3_box .multi-2 .p1 {
    font-size: 10px;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  #equipment .smart_cont3_box .multi-2 .p1 {
    font-family: "Noto Sans JP";
  }
}
@media screen and (max-width: 768px) {
  #equipment .smart_cont3_box .multi-2 .p2 {
    font-size: 13px;
    padding: 0.5rem 0 0;
    margin: 0.5rem 0 0;
    text-align: center;
  }
  #equipment .smart_cont3_box .multi-3-img {
    width: 100%;
    margin: 1.8rem 1rem 0;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  #equipment .smart_cont3_box .multi-3-img {
    margin: 0;
  }
}
#equipment .note-box {
  margin: 0.5rem 0 4rem;
}
@media screen and (max-width: 768px) {
  #equipment .note-box {
    margin: 1rem 0 1rem;
  }
}
#equipment .smart_note {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  color: #000;
  text-align: right;
}
@media screen and (max-width: 768px) {
  #equipment .smart_note {
    text-align: left;
  }
}
#equipment .smart_cont_media {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  #equipment .smart_cont_media {
    grid-template-columns: 1fr;
  }
}
#equipment .smart_cont_media p {
  font-size: 14px;
  line-height: 19px;
  font-family: Arial, Helvetica, sans-serif;
  letter-spacing: 0;
}
#equipment .luup_wrap {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #equipment .luup_wrap {
    margin: 44px 0;
  }
}
#equipment .luup_wrap .amenities_ttl {
  background: url(../img/equipment/bg_amenities_main.webp) center center/cover no-repeat;
  padding: 4% 0 4%;
  position: relative;
  height: 420px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #equipment .luup_wrap .amenities_ttl {
    padding: 10% 0 10%;
    height: 410px;
  }
}
#equipment .luup_wrap .main_box {
  text-align: left;
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
  color: #fff;
  display: flex;
  gap: 30px;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  #equipment .luup_wrap .main_box {
    max-width: 90%;
  }
}
#equipment .luup_wrap .main_ttl {
  width: 100%;
  font-size: clamp(40px, 4vw, 54px);
  letter-spacing: 0.1em;
  font-family: "Imbue", serif;
  line-height: 1.1666666667;
}
#equipment .luup_wrap .main_sub {
  width: 100%;
  font-size: clamp(20px, 3vw, 28px);
  letter-spacing: 0.1em;
}
#equipment .luup_wrap .main_desc {
  width: 100%;
  font-size: clamp(14px, 2vw, 16px);
  letter-spacing: 0.1em;
  line-height: 1.875;
}
#equipment .luup_wrap .amenities_multi {
  display: grid;
  grid-template-columns: 6.1fr 3.9fr;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  #equipment .luup_wrap .amenities_multi {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
#equipment .luup_wrap .amenities_multi .amenities-ttl {
  background-color: #231815;
  color: #fff;
  padding: 0 16px 3px;
  font-size: 24px;
  line-height: 37px;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
  font-weight: 600;
}
#equipment .luup_wrap .amenities_multi .amenities-desc {
  font-size: 14px;
  line-height: 19px;
  letter-spacing: 0px;
  font-family: sans-serif;
  padding: 0 25px 0 15px;
}
@media screen and (max-width: 768px) {
  #equipment .luup_wrap .amenities_multi .amenities-desc {
    padding: 0;
  }
}
#equipment .luup_wrap .smart_cont_media {
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  gap: 5px;
}
@media screen and (max-width: 768px) {
  #equipment .luup_wrap .smart_cont_media {
    grid-template-columns: 0.5fr 1fr;
    gap: 15px;
  }
}
#equipment .luup_wrap .luup_head_wrap {
  display: grid;
  grid-template-columns: 9fr 2fr;
  padding-bottom: 22px;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  #equipment .luup_wrap .luup_head_wrap {
    grid-template-columns: 1fr;
  }
}
#equipment .luup_wrap .luup_ttl_wrap {
  display: grid;
  grid-template-columns: 1fr 2fr;
  align-items: center;
  gap: 16px;
}
#equipment .luup_wrap .luup_catch {
  font-size: clamp(14px, 3vw, 18px);
  font-family: "VDL-V7Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#equipment .luup_wrap .luup_lead {
  font-size: clamp(20px, 3vw, 22px);
  font-family: "Six Hands", sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #equipment .luup_wrap .luup02 {
    width: 100%;
    margin-left: auto;
    position: relative;
    top: 8vw;
  }
}
#equipment .luup_wrap .luup_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 27px 20px;
}
@media screen and (max-width: 768px) {
  #equipment .luup_wrap .luup_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
#equipment .luup_wrap .luup_item:last-of-type {
  grid-area: 1/3/3/4;
}

/* ============================================================
   中野江古田 設備仕様（Figma準拠）
   ============================================================ */
#equipment {
  /* ヒーローは他の下層ページと共通の白ウォッシュ */
  /* リード文（Figma: 34px / 行送り46 / 字送り14%） */
  /* Figma実測: リード文の下80px / セクション間60px */
  /* セクション見出し（Figma: 36px / 字送り20% ＋ 下罫線） */
  /* 大判写真＋右カラム */
  /* 下段3点 */
  /* 設備1点（写真＋名称＋説明） */
}
#equipment .main_img {
  position: relative;
  height: 320px;
  overflow: hidden;
  /* SPはr79と同じく画像（750×300）の比率にまかせる */
}
@media screen and (max-width: 768px) {
  #equipment .main_img {
    height: auto;
  }
}
#equipment .main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#equipment .main_img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #040404;
  mix-blend-mode: color;
}
#equipment .main_img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(253, 253, 253, 0.75);
}
#equipment .com-main_txt {
  color: #1a1a1a;
}
#equipment .equip_wrap {
  background: #fff;
  padding: 40px 0 0;
}
#equipment .equip_lead {
  font-size: clamp(20px, 2.3611111111vw, 34px);
  line-height: 1.3529411765;
  letter-spacing: 0.14em;
  color: #000;
  /* Figma のテキスト幅は1003pxで1行。1000pxのコンテンツ幅では折り返すため固定する */
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  #equipment .equip_lead {
    font-size: 4.6vw;
    letter-spacing: 0.08em;
    white-space: normal;
  }
}
#equipment .equip_sec {
  margin-top: clamp(30px, 4.1666666667vw, 60px);
}
#equipment .equip_lead + .equip_sec {
  margin-top: clamp(40px, 5.5555555556vw, 80px);
}
#equipment .equip_sec_ttl {
  padding-bottom: 7px;
  border-bottom: 1px solid #231815;
  font-size: clamp(22px, 2.5vw, 36px);
  font-weight: 500;
  line-height: 0.8333333333;
  letter-spacing: 0.2em;
  color: #231815;
}
@media screen and (max-width: 768px) {
  #equipment .equip_sec_ttl {
    font-size: 5.4vw;
  }
}
#equipment .equip_sec_main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 3.2%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_sec_main {
    display: block;
  }
}
#equipment .equip_main_img {
  width: 65.2%;
  margin: 0;
}
#equipment .equip_main_img img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #equipment .equip_main_img {
    width: 100%;
  }
}
#equipment .equip_col {
  display: flex;
  flex-direction: column;
  /* 縦方向の gap は % だとブロックサイズ基準で 0 になるため px で指定 */
  gap: clamp(10px, 1.3888888889vw, 20px);
  width: 30.5%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_col {
    width: 100%;
    margin-top: 6vw;
    gap: 6vw;
  }
}
#equipment .equip_row {
  display: flex;
  justify-content: space-between;
  margin-top: 4%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_row {
    flex-wrap: wrap;
    gap: 6vw;
    margin-top: 6vw;
  }
}
#equipment .equip_row .equip_item {
  width: 30.5%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_row .equip_item {
    width: 100%;
  }
}
#equipment .equip_item .equip_item_img {
  margin: 0;
}
#equipment .equip_item .equip_item_img img {
  display: block;
  width: 100%;
  height: auto;
}
#equipment .equip_item .equip_item_ttl {
  margin-top: clamp(3px, 0.4166666667vw, 6px);
  font-size: clamp(15px, 1.5277777778vw, 22px);
  line-height: 2.0909090909;
  letter-spacing: 0;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 768px) {
  #equipment .equip_item .equip_item_ttl {
    font-size: 4vw;
  }
}
#equipment .equip_item .equip_item_txt {
  font-size: clamp(12px, 1.1111111111vw, 16px);
  line-height: 1.5;
  letter-spacing: 0;
  color: #000;
}
@media screen and (max-width: 768px) {
  #equipment .equip_item .equip_item_txt {
    font-size: 3.4vw;
  }
}

/* ----- SANITARY / LAVATORY（左右2カラム） ----- */
#equipment .equip_duo {
  display: flex;
  justify-content: space-between;
  margin-top: clamp(30px, 4.1666666667vw, 60px);
}
@media screen and (max-width: 768px) {
  #equipment .equip_duo {
    display: block;
  }
}
#equipment .equip_half {
  width: 48.3%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_half {
    width: 100%;
  }
  #equipment .equip_half + .equip_half {
    margin-top: 10vw;
  }
}
#equipment .equip_half_body {
  display: flex;
  justify-content: space-between;
  margin-top: 5.7971014493%;
}
#equipment .equip_half_img {
  width: 57.9710144928%;
  margin: 0;
}
#equipment .equip_half_img img {
  display: block;
  width: 100%;
  height: auto;
}
#equipment .equip_half_col {
  width: 37.0600414079%;
}
#equipment .equip_sub_img {
  margin: 0;
}
#equipment .equip_sub_img img {
  display: block;
  width: 100%;
  height: auto;
}
#equipment .equip_sub {
  /* 温水洗浄便座ブロックの上に入る区切り線 */
}
#equipment .equip_sub + .equip_sub {
  margin-top: clamp(6px, 0.8333333333vw, 12px);
}
#equipment .equip_sub-line {
  margin-top: clamp(8px, 1.25vw, 18px);
  padding-top: clamp(8px, 1.25vw, 18px);
  border-top: 1px solid #231815;
}
#equipment .equip_sub_ttl {
  font-size: clamp(12px, 1.1805555556vw, 17px);
  line-height: 2.7058823529;
  letter-spacing: 0;
  text-align: center;
  color: #000;
  /* 「シングルレバーシャワー水栓」は13文字で179px枠に約3px収まらないため、
     Figma同様1行に収まるよう僅かに詰める */
}
#equipment .equip_sub_ttl-sm {
  font-size: clamp(11px, 0.9722222222vw, 14px);
  line-height: 2.2857142857;
  letter-spacing: -0.02em;
}
#equipment .equip_sub_ttl-two {
  line-height: 1.4117647059;
}
@media screen and (max-width: 768px) {
  #equipment .equip_sub_ttl {
    font-size: 3.8vw;
  }
}
#equipment .equip_sub_txt {
  font-size: clamp(11px, 0.9722222222vw, 14px);
  line-height: 1.4285714286;
  letter-spacing: 0;
  color: #000;
}
@media screen and (max-width: 768px) {
  #equipment .equip_sub_txt {
    font-size: 3.2vw;
  }
}

/* ----- LET’S SMART LIFE（Figma: 1440×1591 / 背景 #241A04） ----- */
#equipment {
  /* 白背景セクションの最後から30px空けてダークブラウン帯が始まる */
  /* 見出し（54px / 行送り60 / 字送り20%） */
  /* メインビジュアル＋重ねテキスト */
  /* 音声で家電を操作／スマホを家電のリモコンに */
  /* 吹き出し・機器一覧は写真の高さ基準で配置（写真は幅480×高さ229） */
  /* 外出先からでも家電が操作可能 */
  /* 例えばこんな時に */
  /* MULTIMEDIA */
}
#equipment .equip_wrap {
  padding-bottom: clamp(15px, 2.0833333333vw, 30px);
}
#equipment .equip_smart {
  padding: clamp(30px, 4.1666666667vw, 60px) 0;
  background: #241A04;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart {
    padding: 10vw 0;
  }
}
#equipment .equip_smart_head_ttl {
  font-size: clamp(26px, 3.75vw, 54px);
  font-weight: 600;
  line-height: 1.1111111111;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_head_ttl {
    font-size: 6.4vw;
  }
}
#equipment .equip_smart_main {
  position: relative;
  margin-top: clamp(15px, 2.0833333333vw, 30px);
  /* 重ねテキストの文字サイズをビューポートではなく画像（＝コンテンツ）幅基準にし、
     幅が縮んでも写真と文字の比率が変わらないようにする */
  container-type: inline-size;
}
#equipment .equip_smart_main_img {
  margin: 0;
}
#equipment .equip_smart_main_img img {
  display: block;
  width: 100%;
  height: auto;
}
#equipment .equip_smart_main_txt {
  position: absolute;
  top: 2.1739130435%;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_main_txt {
    position: static;
    margin-top: 5vw;
  }
}
#equipment .equip_smart_main_ttl {
  /* Figma: 1000px幅のときに34px。cqw非対応ブラウザ用にvw指定を先に置く */
  font-size: clamp(18px, 2.3611111111vw, 34px);
  font-size: 3.4cqw;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_main_ttl {
    font-size: 5vw;
  }
}
#equipment .equip_smart_main_lead {
  margin-top: 0.7%;
  /* Figma: 1000px幅のときに14px。cqw非対応ブラウザ用にvw指定を先に置く */
  font-size: clamp(10px, 0.9722222222vw, 14px);
  font-size: 1.4cqw;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_main_lead {
    margin-top: 3vw;
    font-size: 3.4vw;
  }
}
#equipment .equip_smart_row {
  display: flex;
  justify-content: space-between;
  margin-top: clamp(15px, 2.0833333333vw, 30px);
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_row {
    display: block;
    margin-top: 8vw;
  }
}
#equipment .equip_smart_col {
  position: relative;
  width: 48%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_col {
    width: 100%;
  }
  #equipment .equip_smart_col + .equip_smart_col {
    margin-top: 12vw;
  }
}
#equipment .equip_smart_badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 17.0833333333%;
  margin: 0;
}
#equipment .equip_smart_badge img {
  display: block;
  width: 100%;
  height: auto;
}
#equipment .equip_smart_ttl {
  margin: 2.7083333333% 0 0 22.5%;
  font-size: clamp(14px, 1.5277777778vw, 22px);
  font-weight: 600;
  line-height: 0.9090909091;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_ttl {
    font-size: 4.6vw;
  }
}
#equipment .equip_smart_col-remocon .equip_smart_badge {
  left: -1.4583333333%;
}
#equipment .equip_smart_col-remocon .equip_smart_ttl {
  margin: 2.0833333333% 0 0 19.375%;
}
#equipment .equip_smart_col-remocon .equip_smart_visual {
  margin-top: 3.9583333333%;
}
#equipment .equip_smart_col-remocon .equip_smart_txt {
  width: 39.5833333333%;
  margin-top: 1.4583333333%;
  /* SPでは機器一覧が写真下にはみ出すため、その分を空けて全幅に戻す */
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_col-remocon .equip_smart_txt {
    width: 100%;
    margin-top: 23.9583333333%;
  }
}
#equipment .equip_smart_visual {
  position: relative;
  margin-top: 3.3333333333%;
}
#equipment .equip_smart_photo {
  margin: 0;
}
#equipment .equip_smart_photo img {
  display: block;
  width: 100%;
  height: auto;
}
#equipment .equip_smart_bubble {
  position: absolute;
  display: block;
  height: auto;
}
#equipment .equip_smart_bubble-01 {
  top: 80.3493449782%;
  left: 74.5833333333%;
  width: 27.5%;
}
#equipment .equip_smart_bubble-02 {
  top: 102.1834061135%;
  left: 54.5833333333%;
  width: 27.2916666667%;
}
#equipment .equip_smart_appli {
  position: absolute;
  top: 102.6200873362%;
  left: 42.7083333333%;
  display: block;
  width: 57.0833333333%;
  height: auto;
}
#equipment .equip_smart_note {
  position: absolute;
  top: 134.4978165939%;
  left: 55%;
  width: 45%;
  font-size: clamp(7px, 0.5555555556vw, 8px);
  line-height: 2.75;
  letter-spacing: 0;
  /* SPは写真幅が縮むぶん文字を読める大きさに戻す（位置は写真基準のまま） */
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_note {
    font-size: 2.6vw;
    line-height: 1.75;
  }
}
#equipment .equip_smart_txt {
  width: 54.5833333333%;
  margin-top: 2.2916666667%;
  font-size: clamp(10px, 0.9027777778vw, 13px);
  line-height: 1.6153846154;
  letter-spacing: 0;
  /* SPは吹き出し・注釈が写真下にはみ出すため、その分を空けて全幅に戻す */
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_txt {
    width: 100%;
    margin-top: 31.25%;
    font-size: 3.2vw;
  }
}
#equipment .equip_smart_out {
  margin-top: 3.1%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_out {
    margin-top: 10vw;
  }
}
#equipment .equip_smart_band {
  padding: 0 0 3px 2.1%;
  background: #AE8755;
  font-size: clamp(15px, 1.6666666667vw, 24px);
  font-weight: 700;
  line-height: 1.5416666667;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_band {
    font-size: 4.4vw;
  }
}
#equipment .equip_smart_band_lead {
  margin: 1% 0 0 2.1%;
  font-size: clamp(11px, 1.25vw, 18px);
  font-weight: 500;
  line-height: 2.0555555556;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_band_lead {
    margin-left: 0;
    font-size: 3.4vw;
    line-height: 1.5555555556;
  }
}
#equipment .equip_smart_out_body {
  display: flex;
  align-items: flex-start;
  margin-top: 2.6%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_out_body {
    display: block;
    margin-top: 6vw;
  }
}
#equipment .equip_smart_out_img {
  width: 31.1%;
  margin: 0;
}
#equipment .equip_smart_out_img img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_out_img {
    width: 100%;
  }
}
#equipment .equip_smart_out_txt {
  width: 16.7%;
  margin-left: 1%;
  font-size: clamp(10px, 0.9722222222vw, 14px);
  font-weight: 500;
  line-height: 1.5714285714;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_out_txt {
    width: 100%;
    margin: 4vw 0 0;
    font-size: 3.4vw;
  }
}
#equipment .equip_smart_case {
  width: 48.6%;
  margin-left: 2.6%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_case {
    width: 100%;
    margin: 6vw 0 0;
  }
}
#equipment .equip_smart_case_top {
  display: flex;
  align-items: flex-start;
}
#equipment .equip_smart_case_label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34.9794238683%;
  aspect-ratio: 170/96;
  border: 1px solid #fff;
  font-size: clamp(10px, 0.9722222222vw, 14px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_case_label {
    font-size: 3.2vw;
  }
}
#equipment .equip_smart_case_list {
  width: 59.670781893%;
  margin-left: 5.3497942387%;
}
#equipment .equip_smart_case_list li {
  /* Figmaの罫線は0.25pt黒＝ダークブラウン地では見えないため、
     同じ位置に視認できる白の細罫を敷く */
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  font-size: clamp(10px, 0.9722222222vw, 14px);
  font-weight: 500;
  line-height: 2.2142857143;
  letter-spacing: 0;
}
#equipment .equip_smart_case_list li::before {
  content: "■";
  margin-right: 0.4em;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_case_list li {
    font-size: 3.2vw;
  }
}
#equipment .equip_smart_case_band {
  margin-top: 4.1152263374%;
  padding: 2px 0 3px;
  background: #AE8755;
  font-size: clamp(11px, 1.1111111111vw, 16px);
  font-weight: 700;
  line-height: 1.9375;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_case_band {
    font-size: 3.4vw;
  }
}
#equipment .equip_smart_case_btn {
  display: flex;
  justify-content: space-between;
  margin-top: 2.2633744856%;
}
#equipment .equip_smart_case_btn li {
  width: 47.3251028807%;
  background: #636065;
  font-size: clamp(10px, 0.9722222222vw, 14px);
  font-weight: 500;
  line-height: 2.1428571429;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_case_btn li {
    font-size: 3.2vw;
  }
}
#equipment .equip_smart_multi {
  margin-top: 2.1%;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_multi {
    margin-top: 8vw;
  }
}
#equipment .equip_smart_multi_ttl {
  padding: 0 0 3px 0.5%;
  background: #AE8755;
  font-size: clamp(17px, 1.9444444444vw, 28px);
  font-weight: 600;
  line-height: 1.3214285714;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_multi_ttl {
    font-size: 5vw;
  }
}
#equipment .equip_smart_multi_body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.3% 3.1%;
  background: #99999a;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_multi_body {
    display: block;
    padding: 5vw;
  }
}
#equipment .equip_smart_multi_logo {
  width: 29.6375266525%;
  margin: 0;
}
#equipment .equip_smart_multi_logo img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_multi_logo {
    width: 70%;
    margin: 0 auto;
  }
}
#equipment .equip_smart_multi_txt {
  width: 29.8507462687%;
  font-size: clamp(10px, 0.9722222222vw, 14px);
  line-height: 1.3571428571;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_multi_txt {
    width: 100%;
    margin-top: 4vw;
    font-size: 3.4vw;
    line-height: 1.7142857143;
  }
}
#equipment .equip_smart_multi_img {
  width: 35.1812366738%;
  margin: 0;
}
#equipment .equip_smart_multi_img img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_multi_img {
    width: 100%;
    margin-top: 4vw;
  }
}
#equipment .equip_smart_multi_note {
  font-size: clamp(10px, 0.9722222222vw, 14px);
  font-weight: 600;
  line-height: 1.5714285714;
  letter-spacing: 0;
  text-align: right;
}
@media screen and (max-width: 768px) {
  #equipment .equip_smart_multi_note {
    font-size: 3vw;
  }
}

/* ----- SECURITY 本文をFigma実値に合わせる -----
   継承元（r84）は 13px / 行送り1.5 / 字送り0.07em だが、
   中野江古田のFigmaは 13px / 行送り22px / 字送り0。
   FreeiDブロック内の .merit-wrap（16px / 行送り24px）は対象外にするため
   .security_bg の直下の .merit-wrap だけに限定して上書きする。 */
#equipment .security_wrap .security_bg > .merit-wrap .merit_box .desc {
  line-height: 1.6923076923;
  letter-spacing: 0;
}

/* ----- LUXURY AMENITIES / LUUP / FACILITIES をFigma実値に合わせる -----
   構造・基本スタイルは r84（LUUP）・r82（FACILITIES）を踏襲し、
   中野江古田のFigmaと差があるジオメトリだけを上書きする。 */
#equipment {
  /* Figma: FACILITIES帯は上57px・下30px */
}
#equipment .luup_wrap {
  /* Figma: LUUPブロックは 420..1172（下余白61px） */
  margin-bottom: 4.2361111111%;
  /* Figma: ロゴ行は幅940pxで、右端にキックボード（146px幅） */
  /* Figma: LUUPロゴ 230px ＋ 余白16px の位置からキャッチコピー */
  /* Figma: 写真306px×2＋マップ341px、列間22/20px・行間29px */
}
#equipment .luup_wrap .luup_head_wrap {
  grid-template-columns: 79.4% 14.6%;
  margin-top: clamp(30px, 4.1666666667vw, 60px);
}
@media screen and (max-width: 768px) {
  #equipment .luup_wrap .luup_head_wrap {
    grid-template-columns: 1fr;
    margin-top: 8vw;
  }
}
#equipment .luup_wrap .luup_ttl_wrap {
  grid-template-columns: 28.9672544081% 1fr;
}
#equipment .luup_wrap .luup_list {
  grid-template-columns: 30.6% 30.6% 1fr;
  gap: 2.9% 2.1%;
}
@media screen and (max-width: 768px) {
  #equipment .luup_wrap .luup_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
#equipment .fasility_wrap {
  padding: 3.9583333333% 0 2.0833333333%;
}
@media screen and (max-width: 768px) {
  #equipment .fasility_wrap {
    padding: 10vw 0 8vw;
  }
}

/* ----- SECURITY（ALSOK・防犯設備）をFigma実値に合わせる -----
   構造・基本スタイルは r82 を踏襲し、中野江古田のFigmaと差がある箇所だけ上書きする。 */
#equipment .security_wrap .secu_list_wrap {
  /* Figma: 帯の地色はパステルグリーンではなくベージュ #F9F6E7、上下142px/143px */
  background: #F9F6E7;
  padding: 9.8611111111% 0;
  /* Figma: 左485px・右484px（間30px） */
  /* Figma: 見出しは18px、罫線の下は10px */
  /* Figma: 上段ブロックの下は30px */
  /* Figma: 320px×3列・列間20px／行間40px */
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap {
    padding: 10vw 0;
  }
}
#equipment .security_wrap .secu_list_wrap .alsok_box-1 {
  width: 48.5%;
  /* Figma: ALSOKロゴ(125px)とテキストは横並び */
  /* Figma: ALSOKロゴ行の下は23px */
}
#equipment .security_wrap .secu_list_wrap .alsok_box-1 .tbox {
  flex-direction: row;
  gap: 4.7422680412%;
  align-items: flex-start;
}
#equipment .security_wrap .secu_list_wrap .alsok_box-1 .tbox img {
  width: 25.7731958763%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box-1 .tbox {
    flex-direction: column;
    gap: 3vw;
  }
  #equipment .security_wrap .secu_list_wrap .alsok_box-1 .tbox img {
    width: 35%;
  }
}
#equipment .security_wrap .secu_list_wrap .alsok_box-1 .alsok_map {
  margin-top: 4.7422680412%;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box-1 {
    width: 100%;
  }
}
#equipment .security_wrap .secu_list_wrap .alsok_box-2 {
  width: 48.4%;
  /* Figma: カメラ写真143px＋余白10px */
  /* Figma: 配置図は左端から全幅 */
}
#equipment .security_wrap .secu_list_wrap .alsok_box-2 .tbox_2 .img_box {
  gap: 2.0661157025%;
}
#equipment .security_wrap .secu_list_wrap .alsok_box-2 .tbox_2 .img_box .img {
  width: 29.5454545455%;
}
#equipment .security_wrap .secu_list_wrap .alsok_box-2 .alsok_map,
#equipment .security_wrap .secu_list_wrap .alsok_box-2 .tbox_2_map {
  width: 100%;
  margin: 2.0661157025% 0 0;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .alsok_box-2 {
    width: 100%;
  }
}
#equipment .security_wrap .secu_list_wrap .alsok_box .secu_t1 {
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.2222222222;
  margin-bottom: 10px;
}
#equipment .security_wrap .secu_list_wrap .secu_list_box li {
  margin-bottom: 3%;
}
#equipment .security_wrap .secu_list_wrap .secu_item_box {
  gap: 4% 2%;
}
#equipment .security_wrap .secu_list_wrap .secu_item_box .txt {
  letter-spacing: -0.02em;
  line-height: 1.4285714286;
}
#equipment .security_wrap .secu_list_wrap .secu_item_box figure {
  position: relative;
}
#equipment .security_wrap .secu_list_wrap .secu_item_box figure img {
  display: block;
  width: 100%;
  height: auto;
}
#equipment .security_wrap .secu_list_wrap .secu_item_box .com-cap {
  position: absolute;
  right: 4px;
  bottom: 2px;
  color: #fff;
  font-size: 12px;
  letter-spacing: -0.04em;
}
@media screen and (max-width: 768px) {
  #equipment .security_wrap .secu_list_wrap .secu_item_box {
    gap: 6vw 4vw;
  }
}

/* ----- STRUCTURE をFigma実値に合わせる -----
   構造・基本スタイルは r81 / r82 を踏襲し、差分だけ上書きする。 */
#equipment .struct_wrap {
  /* r83の系譜で失われていた背景画像を復帰（Figma: コンクリート調テクスチャ） */
}
#equipment .struct_wrap .struct_ttl {
  background: url(../img/equipment/struct_mainbg.webp) center center/cover no-repeat;
  height: 420px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_ttl {
    height: 62vw;
  }
}
#equipment .struct_wrap .main_ttl {
  margin-top: 0;
}
#equipment .struct_bg {
  background: url(../img/equipment/struct_bg.webp) center top/cover no-repeat;
  /* Figma: 見出し帯の下40px、最下部453px */
  padding-bottom: 4.1666666667%;
}
#equipment .struct_wrap .struct_box {
  /* Figma: リード文の上50px */
  padding-top: 5%;
  /* Figma: 検査見出しはゴールド #D38A00（22px / 字送り10%） */
  /* Figma: 下段は319px×3列（列間20px・行間40px相当） */
}
#equipment .struct_wrap .struct_box .survey_list li {
  /* Figma: 左478px・右483px、行間30px */
}
#equipment .struct_wrap .struct_box .survey_list li .name {
  /* 過去物件（r81/r82）同様に固定22px */
  background-color: #D38A00;
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 1.6363636364;
  padding: 7px 0;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .survey_list li .name {
    font-size: 20px;
  }
}
#equipment .struct_wrap .struct_box .survey_list li .txt {
  /* 過去物件同様に固定16px */
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0;
  /* Figma: 本文枠は3行分固定（カード高さを揃えるため） */
  min-height: 90px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .survey_list li .txt {
    min-height: 0;
  }
}
#equipment .struct_wrap .struct_box .survey_list li.w48 {
  width: 47.9%;
  margin-bottom: 3%;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .survey_list li.w48 {
    width: 100%;
  }
}
#equipment .struct_wrap .struct_box .struct_list {
  /* Figma: 耐震構造〜壁式構造ブロックの下20px */
  /* 壁式構造の図版。r81は60%幅だったが、Figmaは列幅いっぱい（318×225）で
     壁式構造の見出しと上端が揃う */
  /* JIO保険ブロックも同じ1カラム幅に揃える */
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 {
  margin-bottom: 2%;
}
#equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li figure.struct_00 {
  width: 100%;
  margin: 0;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list .struct_grid_1 li figure.struct_00 {
    width: 90%;
    margin: 0 auto;
  }
}
#equipment .struct_wrap .struct_box .struct_list > li {
  width: 31.9%;
  margin-bottom: 4%;
  /* 本文（font-size:16px / line-height:28 / letter-spacing:-0.05em）は
     継承元 .struct_list li .txt をそのまま使うため、ここでは上書きしない */
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list > li {
    width: 100%;
  }
}
#equipment .struct_wrap .struct_box .struct_list > li .name {
  /* Figma: 見出し枠は70px（罫線まで）。
     文字サイズは過去物件（r81/r82）同様にPCは固定22px。
     狭い画面で3行になる見出しがはみ出さないよう min-height にする */
  height: auto;
  min-height: 70px;
  font-size: 22px;
  letter-spacing: 0.1em;
}
#equipment .struct_wrap .struct_box .struct_list > li .name.two-lines {
  line-height: 1.25;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list > li .name {
    height: auto;
    font-size: 20px;
  }
}
#equipment .struct_wrap .struct_box .struct_list > li.w48.insurance {
  width: 31.9%;
  /* Figma: 枠線は4px・ネイビー#09387B（内側揃え）、内側余白30px */
  border: 4px solid #09387b;
  padding: 30px;
  /* Figma: ロゴは272px幅。左右パディング（30px）を少しはみ出して
     枠内（311px）の中央に置かれている */
  /* Figma: 保険の説明文は14px */
}
#equipment .struct_wrap .struct_box .struct_list > li.w48.insurance figure.w80 {
  width: 108.3665338645%;
  margin-left: -4.1832669323%;
}
#equipment .struct_wrap .struct_box .struct_list > li.w48.insurance .txt_insurance_desc {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  #equipment .struct_wrap .struct_box .struct_list > li.w48.insurance {
    width: 100%;
    padding: 5vw;
  }
  #equipment .struct_wrap .struct_box .struct_list > li.w48.insurance figure.w80 {
    width: 100%;
    margin-left: 0;
  }
}

/* Scss Document */
#outline .main,
#accessmap .main {
  width: 100%;
  position: relative;
}
#outline .main .main_txt,
#accessmap .main .main_txt {
  color: #fff;
  font-size: 36px;
  letter-spacing: 1rem;
  text-align: center;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  #outline .main .main_txt,
  #accessmap .main .main_txt {
    font-size: 7vw;
  }
}
#outline .main .com-note,
#accessmap .main .com-note {
  color: #fff;
}
#outline .main_bg,
#accessmap .main_bg {
  width: 100%;
  max-height: 500px;
}
@media screen and (max-width: 768px) {
  #outline .main_bg,
  #accessmap .main_bg {
    width: 100%;
    max-height: 400px;
  }
}
#outline .main_bg::before,
#accessmap .main_bg::before {
  display: none;
}
#outline .sec1,
#accessmap .sec1 {
  padding: 0 0 50px;
}
/* outline
*******************************************/
#outline {
  font-family: "Shippori Mincho", "Noto Serif JP", "Cormorant Garamond", serif;
}
#outline h2 {
  padding: 60px 40px;
  font-size: 32px;
  line-height: 0.9375;
  color: #1a1a1a;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #outline h2 {
    font-size: 5.4vw;
    padding: 10vw 6vw;
  }
}
#outline .sec1 {
  padding: 0;
}
#outline .outline_cont {
  box-sizing: border-box;
  text-align: center;
  padding: 0 0 80px;
  margin: 0 auto 0;
}
#outline .outline_cont h3 {
  color: #241A04;
  margin-bottom: 40px;
  margin-top: 20px;
  font-size: 22px;
}
#outline .outline_table {
  max-width: 1000px;
  margin: 0 auto;
  border: 1px solid #231815;
  padding: 33px 40px 19px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #outline .outline_table {
    padding: 5vw 5vw 4vw;
  }
}
#outline .outline_table_tr {
  display: flex;
  flex-wrap: nowrap;
  padding: 9px 0 10px;
  border-bottom: 1px solid #231815;
  font-size: 16px;
  line-height: 1.875;
  text-align: left;
  letter-spacing: 0;
  color: #1a1a1a;
}
@media screen and (max-width: 768px) {
  #outline .outline_table_tr {
    font-size: 12px;
  }
}
#outline .outline_table_tr:first-of-type {
  padding-top: 0;
}
#outline .outline_table_tr-last {
  border-bottom: none;
  padding-bottom: 0;
}
#outline .outline_table_tr p:nth-of-type(1) {
  width: 32.7173913043%;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  #outline .outline_table_tr p:nth-of-type(1) {
    width: 34%;
    padding-right: 3%;
  }
}
#outline .outline_table_tr p:nth-of-type(2) {
  width: 67.2826086957%;
}
@media screen and (max-width: 768px) {
  #outline .outline_table_tr p:nth-of-type(2) {
    width: 66%;
  }
}

/* accessmap
*******************************************/
#accessmap .main_img,
#outline .main_img {
  position: relative;
  height: 320px;
  overflow: hidden;
  /* SPはr79と同じく画像（750×300）の比率にまかせる */
}
@media screen and (max-width: 768px) {
  #accessmap .main_img,
  #outline .main_img {
    height: auto;
  }
}
#accessmap .main_img img,
#outline .main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#accessmap .main_img::before,
#outline .main_img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #040404;
  mix-blend-mode: color;
}
#accessmap .main_img::after,
#outline .main_img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(253, 253, 253, 0.75);
}
#accessmap .com-main_txt,
#outline .com-main_txt {
  color: #1a1a1a;
}

#accessmap {
  font-family: "Shippori Mincho", "Noto Serif JP", "Cormorant Garamond", serif;
  /* 現地案内図セクション（Figma: 背景 #F9F6E7 / 上103px・下93px） */
}
#accessmap .sec1 {
  background: #F9F6E7;
  padding: 103px 0 93px;
}
@media screen and (max-width: 768px) {
  #accessmap .sec1 {
    padding: 12vw 0 14vw;
  }
}
#accessmap h2 {
  padding: 0 40px;
  font-size: 32px;
  line-height: 0.9375;
  letter-spacing: 0.1em;
  color: #1a1a1a;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #accessmap h2 {
    font-size: 5.4vw;
  }
}
#accessmap .accessmap_cont {
  max-width: 1240px;
  box-sizing: border-box;
  text-align: center;
  padding: 45px 0 0;
  margin-bottom: 0;
}
#accessmap .accessmap_cont .map {
  max-width: 1000px;
  margin: 0 auto 40px;
  display: block;
}
@media print {
  #accessmap .accessmap_cont .map {
    /* max-width: 700px;
       width: 60%;　/*通常*/
    max-width: 1600px; /*r70のみ要望*/
    width: 100%; /*r70のみ要望*/
    margin: 0 auto 20px;
  }
}
#accessmap .accessmap_btn {
  display: flex;
  justify-content: center;
  gap: 62px;
  max-width: 450px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #accessmap .accessmap_btn {
    gap: 4vw;
    max-width: 100%;
  }
}
#accessmap .accessmap_btn li {
  width: 194px;
}
@media screen and (max-width: 768px) {
  #accessmap .accessmap_btn li {
    width: 44%;
  }
}
#accessmap .accessmap_btn li a {
  width: 100%;
  height: 40px;
  background: #241A04;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #accessmap .accessmap_btn li a {
    height: 11vw;
    font-size: 3.4vw;
  }
}
#accessmap .accessmap_btn li a.print_btn {
  background: #241A04;
}
#accessmap .accessmap_btn li a img {
  width: 20px;
  height: auto;
  margin-right: 10px;
}

@media print {
  #type .sec1 {
    padding: 20px 0 0;
  }
  #accessmap h2 {
    padding: 20px auto;
  }
  #accessmap .accessmap_cont {
    padding: 0;
  }
  #accessmap .map {
    width: 100%;
    margin: 0 auto;
  }
}
/*# sourceMappingURL=maps/style.css.map */
