@charset "UTF-8";
:root{
  --inner-sm:939px;
  --inner:1013px;
  --padding-inline:30px;
  --padding-inline-sm:30px;
}
:root{
  --font-family-base:"Shippori Mincho", "Noto Serif JP", serif;
  --font-family-en:"Cormorant Garamond", "Shippori Mincho", serif;
}

:root{
  --font-weight-light:300;
  --font-weight-regular:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;
  --font-weight-extrabold:800;
  --font-weight-black:900;
}

:root{
  --black:#000;
  --white:#fff;
  --text-black:#111;
  --body-bg:#F4F2ED;
  --main-orange:#DF651F;
  --main-brown:#7A6A56;
  --main-green:#577849;
  --main-beige:#EEE8DA;
  --text-gray:#7D7D7D;
  --placeholder-gray:#999;
  --placeholder-gray-light:#C6C6C6;
  --disabled-gray:#D9D9D9;
  --brown-light:#b5a586;
  --error-red:#E20F0F;
  --cta-green:#2BA85A;
  --status-green:#12A62F;
  --link-blue:#0000ee;
}

:root{
  --z-index-header:100;
  --z-index-to-top:200;
  --z-index-drawer:1000;
  --z-index-hamburger:10000;
  --z-index-modal:100000;
}

:root{
  --cq-ref-mobile:390;
  --cq-ref:1230;
  --cq-ref-2:1336;
  --fluid-basis-mobile:(100vw - 320px) / (375 - 320);
  --fluid-basis:(100vw - 768px) / (1366 - 768);
  --fluid-basis-2:(100vw - 1366px) / (1800 - 1366);
}

:root{
  --duration-short:0.2s;
  --duration-base:0.3s;
  --duration-long:0.5s;
  --duration-extra-long:0.7s;
  --ease-smooth-bounce:cubic-bezier(.48, .07, .33, .79);
}

body{
  background-color:var(--body-bg);
  color:var(--text-black);
  font-family:var(--font-family-base);
  overflow-x:clip;
}

.u-desktop{
  display:none;
}

.u-desktop-inline{
  display:none;
}

.u-mobile-inline{
  display:inline;
}
html{
  font-size:16px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
       text-size-adjust:100%;
  scroll-behavior:smooth;
}

body{
  word-wrap:anywhere;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-break:strict;
  line-height:1.5;
  margin:0;
  overflow-wrap:anywhere;
  text-rendering:optimizeLegibility;
  word-break:normal;
}

ul,
ol,
button,
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
time,
small{
  margin:0;
  padding:0;
}

ul,
ol{
  list-style:none;
}

a:not([class]){
  -webkit-text-decoration-skip:ink;
          text-decoration-skip-ink:auto;
}

a,
span,
button{
  display:inline-block;
}

small,
time,
figure{
  border:0;
  font:inherit;
  font-size:100%;
  vertical-align:baseline;
}

address{
  font-style:normal;
}

img{
  display:block;
  max-width:100%;
  width:100%;
}

article > * + *{
  margin-top:1em;
}

input,
button,
textarea,
select{
  font:inherit;
}

input,
button,
select,
textarea{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background:transparent;
  border:none;
  border-radius:0;
  outline:none;
}

textarea{
  resize:vertical;
}

input[type=checkbox],
input[type=radio]{
  border:0;
  clip-path:polygon(0 0, 0 0, 0 0, 0 0);
  height:1px;
  margin:-1px;
  padding:0;
  position:absolute;
  width:1px;
}

input[type=submit],
input[type=button],
label,
button,
select{
  cursor:pointer;
}

a{
  -webkit-text-decoration:none;
  color:inherit;
  text-decoration:none;
  transition:0.3s;
}

button{
  color:inherit;
}
a{
  -webkit-tap-highlight-color:transparent;
}

button{
  -webkit-tap-highlight-color:transparent;
}
.js-fade-in{
  opacity:0;
  transition:opacity 1s ease-in-out;
  will-change:opacity;
}

.js-fade-in.is-active{
  opacity:1;
}
.js-mv-fade-in{
  opacity:0;
  transform:scale(0.995);
  transform-origin:center center;
  transition:opacity 1.2s cubic-bezier(0.36, 0.13, 0.62, 0.86) 0.3s, transform 1.2s cubic-bezier(0.36, 0.13, 0.62, 0.86) 0.3s;
  will-change:opacity, transform;
}

.js-mv-fade-in.is-active{
  opacity:1;
  transform:scale(1);
}
.js-mv-fade-in--no-scale,
.js-mv-fade-in--no-scale.is-active{
  transform:none;
}

.js-fade-in-scale{
  opacity:0;
  scale:0.99;
  transition:opacity 1s ease-in-out, scale 1s ease-in-out;
  will-change:opacity, scale;
}

.js-fade-in-scale.is-active{
  opacity:1;
  scale:1;
}
.js-fade-up{
  opacity:0;
  transition:opacity 1s ease-in-out, translate 1s ease-in-out;
  translate:0 0.3125rem;
  will-change:opacity, translate;
}
.js-fade-up.is-active{
  opacity:1;
  translate:0 0;
}

.js-fade-up-fast{
  opacity:0;
  transition:opacity 1s ease-in-out, translate 1s ease-in-out;
  translate:0 0.3125rem;
  will-change:opacity, translate;
}
.js-fade-up-fast.is-active{
  opacity:1;
  translate:0 0;
}
.js-slide-left{
  opacity:0;
  transition:opacity 1s ease-in-out, translate 1s ease-in-out;
  translate:-0.3125rem 0;
  will-change:opacity, translate;
}
.js-slide-left.is-active{
  opacity:1;
  translate:0 0;
}
.js-slide-right{
  opacity:0;
  transition:opacity 1s ease-in-out, translate 1s ease-in-out;
  translate:0.3125rem 0;
  will-change:opacity, translate;
}
.js-slide-right.is-active{
  opacity:1;
  translate:0 0;
}

.js-slide-right-fast{
  opacity:0;
  transition:opacity 1s ease-in-out, translate 1s ease-in-out;
  translate:0.3125rem 0;
  will-change:opacity, translate;
}

.js-slide-right-fast.is-active{
  opacity:1;
  translate:0 0;
}
.js-company-sdgs-about .company-sdgs__about-title,
.js-company-sdgs-about .company-sdgs__about-subtitle,
.js-company-sdgs-about .company-sdgs__about-body,
.js-company-sdgs-about .company-sdgs__about-caption,
.js-company-sdgs-about .company-sdgs__about-button{
  opacity:0;
  transition:opacity 1s ease-in-out, translate 1s ease-in-out;
  translate:0.3125rem 0;
  will-change:opacity, translate;
}
.js-company-sdgs-about .company-sdgs__about-img-wrap{
  overflow:hidden;
}
.js-company-sdgs-about .company-sdgs__about-img{
  opacity:0;
  scale:1.01;
  transition:scale 1.2s ease-in-out, opacity 1.2s ease-in-out;
  will-change:scale, opacity;
}
.js-company-sdgs-about .company-sdgs__about-subtitle{
  transition-delay:0.2s;
}
.js-company-sdgs-about .company-sdgs__about-body{
  transition-delay:0.3s;
}
.js-company-sdgs-about .company-sdgs__about-img{
  transition-delay:0.5s;
}
.js-company-sdgs-about .company-sdgs__about-caption{
  transition-delay:0.7s;
}
.js-company-sdgs-about .company-sdgs__about-button{
  transition-delay:0.9s;
}
.js-company-sdgs-about.is-active .company-sdgs__about-title,
.js-company-sdgs-about.is-active .company-sdgs__about-subtitle,
.js-company-sdgs-about.is-active .company-sdgs__about-body,
.js-company-sdgs-about.is-active .company-sdgs__about-caption,
.js-company-sdgs-about.is-active .company-sdgs__about-button{
  opacity:1;
  translate:0 0;
}
.js-company-sdgs-about.is-active .company-sdgs__about-img{
  opacity:1;
  scale:1;
}
.js-company-craftsman-block .company-craftsman__block-img-wrap{
  overflow:hidden;
}
.js-company-craftsman-block .company-craftsman__block-imgs > .company-craftsman__block-img,
.js-company-craftsman-block .company-craftsman__block-imgs > .company-craftsman__block-img-wrap img{
  opacity:0;
  scale:1.05;
  transition:scale 1.2s ease-in-out, opacity 1.2s ease-in-out;
  will-change:scale, opacity;
}
.js-company-craftsman-block .company-craftsman__block-source{
  opacity:0;
  transition:opacity 1.2s ease-in-out;
  transition-delay:0.3s;
  will-change:opacity;
}
.js-company-craftsman-block .company-craftsman__block-imgs > :nth-child(2),
.js-company-craftsman-block .company-craftsman__block-imgs > :nth-child(2) img{
  transition-delay:0.3s;
}
.js-company-craftsman-block .company-craftsman__block-body{
  opacity:0;
  transition:opacity 1s ease-in-out, translate 1s ease-in-out;
  transition-delay:0.6s;
  translate:0.3125rem 0;
  will-change:opacity, translate;
}
.js-company-craftsman-block.is-active .company-craftsman__block-imgs > .company-craftsman__block-img,
.js-company-craftsman-block.is-active .company-craftsman__block-imgs > .company-craftsman__block-img-wrap img{
  opacity:1;
  scale:1;
}
.js-company-craftsman-block.is-active .company-craftsman__block-source{
  opacity:1;
}
.js-company-craftsman-block.is-active .company-craftsman__block-body{
  opacity:1;
  translate:0 0;
}
.js-company-craftsman-intro .company-craftsman__intro-img-wrap{
  overflow:hidden;
}
.js-company-craftsman-intro .company-craftsman__intro-img-wrap img{
  opacity:0;
  scale:1.05;
  transition:scale 1.2s ease-in-out, opacity 1.2s ease-in-out;
  will-change:scale, opacity;
}
.js-company-craftsman-intro .company-craftsman__intro-title,
.js-company-craftsman-intro .company-craftsman__intro-body{
  opacity:0;
  transition:opacity 1s ease-in-out, translate 1s ease-in-out;
  translate:0.3125rem 0;
  will-change:opacity, translate;
}
.js-company-craftsman-intro .company-craftsman__intro-img-wrap img{
  transition-delay:0s;
}
.js-company-craftsman-intro .company-craftsman__intro-title{
  transition-delay:0.4s;
}
.js-company-craftsman-intro .company-craftsman__intro-body{
  transition-delay:0.6s;
}
.js-company-craftsman-intro.is-active .company-craftsman__intro-img-wrap img{
  opacity:1;
  scale:1;
}
.js-company-craftsman-intro.is-active .company-craftsman__intro-title,
.js-company-craftsman-intro.is-active .company-craftsman__intro-body{
  opacity:1;
  translate:0 0;
}
.js-house-building-detail-body > .house-building-detail__subtitle,
.js-house-building-detail-body > .house-building-detail__lead,
.js-house-building-detail-body > .house-building-detail__text-wrap{
  opacity:0;
  transition:opacity 1s ease-in-out, translate 1s ease-in-out;
  translate:0.3125rem 0;
  will-change:opacity, translate;
}
.js-house-building-detail-body > .house-building-detail__subtitle + .house-building-detail__lead{
  transition-delay:0.2s;
}
.js-house-building-detail-body > .house-building-detail__subtitle + .house-building-detail__text-wrap{
  transition-delay:0.2s;
}
.js-house-building-detail-body > .house-building-detail__lead + .house-building-detail__text-wrap{
  transition-delay:0.3s;
}
.js-house-building-detail-body.is-active > .house-building-detail__subtitle,
.js-house-building-detail-body.is-active > .house-building-detail__lead,
.js-house-building-detail-body.is-active > .house-building-detail__text-wrap{
  opacity:1;
  translate:0 0;
}
.js-requirement-block .house-building-detail__requirement-tag,
.js-requirement-block .house-building-detail__requirement-text{
  opacity:0;
  transition:opacity 1s ease-in-out, translate 1s ease-in-out;
  translate:0.3125rem 0;
  will-change:opacity, translate;
}
.js-requirement-block .house-building-detail__requirement-text{
  transition-delay:0.2s;
}
.js-requirement-block.is-active .house-building-detail__requirement-tag,
.js-requirement-block.is-active .house-building-detail__requirement-text{
  opacity:1;
  translate:0 0;
}
.js-performance-block .house-building-detail__performance-icon,
.js-performance-block .house-building-detail__performance-label,
.js-performance-block .house-building-detail__performance-grade,
.js-performance-block .house-building-detail__performance-text{
  opacity:0;
  transition:opacity 1s ease-in-out, translate 1s ease-in-out;
  translate:0.3125rem 0;
  will-change:opacity, translate;
}
.js-performance-block .house-building-detail__performance-label{
  transition-delay:0.2s;
}
.js-performance-block .house-building-detail__performance-grade{
  transition-delay:0.3s;
}
.js-performance-block .house-building-detail__performance-text{
  transition-delay:0.5s;
}
.js-performance-block.is-active .house-building-detail__performance-icon,
.js-performance-block.is-active .house-building-detail__performance-label,
.js-performance-block.is-active .house-building-detail__performance-grade,
.js-performance-block.is-active .house-building-detail__performance-text{
  opacity:1;
  translate:0 0;
}

.js-scaleImg{
  overflow:hidden;
}
.js-scaleImg img{
  opacity:0;
  scale:1.05;
  transition:scale 1.2s ease-in-out, opacity 1.2s ease-in-out;
  will-change:scale, opacity;
}
.js-scaleImg.is-active img{
  opacity:1;
  scale:1;
}

.js-scaleImg-fast{
  overflow:hidden;
}
.js-scaleImg-fast img{
  opacity:0;
  scale:1.05;
  transition:scale 1.2s ease-in-out, opacity 1.2s ease-in-out;
  will-change:scale, opacity;
}
.js-scaleImg-fast.is-active img{
  opacity:1;
  scale:1;
}
.js-text-split-move span{
  display:inline-block;
  opacity:0;
  transform:scale(1.25) translate(8px, 4px);
  transition:opacity 1s ease, transform 1s ease;
  transition-delay:calc(0.2s + var(--index) * 0.1s);
  will-change:opacity, transform;
}

.js-text-split-move.is-active span{
  opacity:1;
  transform:scale(1) translate(0);
}
.js-text-wrap p{
  opacity:0;
  scale:0.99;
  transition:opacity 1s ease-in-out, scale 1s ease-in-out;
  will-change:opacity, scale;
}

.js-text-wrap.is-active p{
  opacity:1;
  scale:1;
}

.js-text-wrap.is-active p + p{
  transition-delay:0.4s;
}
.js-feature-block .feature-block__title-en span{
  display:inline-block;
  margin:0.04em;
  opacity:0;
  transform:scale(1.25) translate(8px, 4px);
  transition:opacity 1s ease, transform 1s ease;
  transition-delay:calc(0.2s + var(--index) * 0.1s);
  will-change:opacity, transform;
}

.js-feature-block .feature-block__title-ja span{
  display:inline-block;
  margin:0.04em;
  opacity:0;
  transform:scale(1.25) translate(8px, 4px);
  transition:opacity 1s ease, transform 1s ease;
  transition-delay:calc(0.2s + var(--index) * 0.1s);
  will-change:opacity, transform;
}

.js-feature-block.is-active .feature-block__title-en span{
  opacity:1;
  transform:scale(1) translate(0);
}

.js-feature-block.is-active .feature-block__title-ja span{
  opacity:1;
  transform:scale(1) translate(0);
}

.js-feature-block .feature-block__list .feature-block__list-item{
  opacity:0;
  transition:opacity 1.1s ease-in-out;
  transition-delay:0.4s;
  will-change:opacity;
}

.js-feature-block.is-active .feature-block__list .feature-block__list-item{
  opacity:1;
}

.js-feature-block .feature-block__list .feature-block__list-item:nth-child(2){
  transition-delay:0.6s;
}

.js-feature-block .feature-block__list .feature-block__list-item:nth-child(3){
  transition-delay:0.8s;
}

:root{
  --delay-1:0.1s;
  --delay-2:0.2s;
  --delay-3:0.3s;
  --delay-4:0.4s;
  --delay-5:0.5s;
  --delay-6:0.6s;
  --delay-7:0.7s;
  --delay-8:0.8s;
  --delay-9:0.9s;
  --delay-10:1.0s;
}

.--delay-1{
  transition-delay:var(--delay-1);
}

.--delay-2{
  transition-delay:var(--delay-2);
}

.--delay-3{
  transition-delay:var(--delay-3);
}

.--delay-4{
  transition-delay:var(--delay-4);
}

.--delay-5{
  transition-delay:var(--delay-5);
}

.--delay-6{
  transition-delay:var(--delay-6);
}

.--delay-7{
  transition-delay:var(--delay-7);
}

.--delay-8{
  transition-delay:var(--delay-8);
}

.--delay-9{
  transition-delay:var(--delay-9);
}

.--delay-10{
  transition-delay:var(--delay-10);
}
.back-to-index{
  display:inline-block;
  font-size:1.4375rem;
  font-weight:var(--font-weight-regular);
  line-height:1.45;
  padding-bottom:0.5rem;
  position:relative;
  text-align:center;
}

.back-to-index::before{
  background-color:var(--text-black);
  bottom:0;
  content:"";
  height:1px;
  left:0;
  margin-inline:auto;
  max-width:9.375rem;
  position:absolute;
  right:0;
}

.back-to-index::after{
  aspect-ratio:1/1;
  background-color:var(--text-black);
  border-radius:calc(infinity * 1px);
  bottom:calc(-0.0625rem);
  content:"";
  left:calc(50% - 4.6875rem);
  position:absolute;
  transition:left 0.3s ease-in-out;
  width:0.1875rem;
  will-change:left;
}

.category-filter{
  --category-filter-accent:var(--main-brown);
  display:flex;
  flex-direction:column;
  gap:0.625rem;
}

.category-filter--orange{
  --category-filter-accent:var(--main-orange);
}

.category-filter__label{
  font-size:1rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.15em;
  text-align:center;
}

.category-filter__list{
  display:flex;
  flex-direction:column;
  gap:0.625rem;
}

.category-filter__link{
  align-items:center;
  background-color:var(--body-bg);
  border:1px solid var(--category-filter-accent);
  color:var(--category-filter-accent);
  display:flex;
  font-size:1.125rem;
  font-weight:var(--font-weight-regular);
  justify-content:center;
  letter-spacing:0.1em;
  padding:0.0625rem 0.75rem;
  transition:background-color var(--duration-base), color var(--duration-base);
}
.category-filter__link--current{
  background-color:var(--category-filter-accent);
  color:var(--white);
}
.cta-banner{
  display:grid;
  grid-template-columns:211fr 151fr;
  width:100%;
}

.cta-banner__text{
  align-items:center;
  background-color:var(--white);
  display:flex;
  justify-content:center;
  padding:0.625rem;
}

.cta-banner__title{
  color:var(--text-black);
  display:block;
  font-family:var(--font-family-base);
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:1.48125;
  text-align:center;
}

.cta-banner__media{
  overflow:hidden;
  position:relative;
}

.cta-banner__img{
  aspect-ratio:151/121;
  height:100%;
  object-fit:cover;
  transition:transform var(--duration-long) ease;
  will-change:transform;
}

.view-more.cta-banner__view-more{
  bottom:0.625rem;
  left:50%;
  position:absolute;
  transform:translateX(-50%);
}

.feature-block__heading{
  padding-left:1.125rem;
}

.feature-block__title-en{
  color:var(--text-black);
  display:block;
  font-family:var(--font-family-base);
  font-size:1.5625rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.1em;
  line-height:1.46;
}

.feature-block__title-ja{
  color:var(--text-black);
  display:block;
  font-family:var(--font-family-base);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  line-height:1.74;
}

.feature-block__list{
  display:grid;
  gap:0.3125rem;
  grid-template-columns:repeat(3, 1fr);
  margin-inline:auto;
  margin-top:1.3125rem;
}

.feature-block__list-item{
  min-width:0;
}

.feature-block__link{
  display:flex;
  flex-direction:column;
  height:100%;
}

.feature-block__label{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:0.9375rem;
  font-weight:var(--font-weight-semibold);
}

.feature-block__img-wrap{
  margin-top:auto;
  overflow:hidden;
}

.feature-block__img{
  aspect-ratio:218/329;
  height:100%;
  object-fit:cover;
  transition:transform var(--duration-long) ease;
  will-change:transform;
}

.floating-banner{
  bottom:1.875rem;
  display:flex;
  opacity:0;
  pointer-events:none;
  position:fixed;
  transition:opacity var(--duration-base) ease-in-out, visibility var(--duration-base) ease-in-out;
  visibility:hidden;
  width:88%;
  will-change:opacity, visibility;
  z-index:90;
}

.floating-banner.is-visible{
  opacity:1;
  pointer-events:auto;
  visibility:visible;
}

.floating-banner__link{
  align-items:center;
  display:flex;
  font-family:var(--font-family-base);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  justify-content:center;
  line-height:1;
  transition:opacity var(--duration-base) ease;
}
.floating-banner__link--contact{
  background-color:var(--white);
  color:var(--text-black);
  flex:193;
  letter-spacing:0.1em;
  padding:1.3125rem 0.625rem;
}

.floating-banner__link--events{
  background-color:var(--main-orange);
  color:var(--white);
  flex:127;
  letter-spacing:0.15em;
  padding:1.3125rem 0.8125rem;
}

.footer{
  background-color:var(--body-bg);
  padding-block:3.125rem 4rem;
  width:100%;
}

.footer__inner{
  display:grid;
  grid-template-areas:"logo" "nav" "addresses" "privacy" "copyright";
  grid-template-columns:1fr;
  margin:0 auto;
  max-width:calc(var(--inner) + 3.75rem);
  padding:0 1.875rem;
  width:100%;
}

.footer__logo-link{
  align-items:center;
  display:inline-flex;
  grid-area:logo;
  justify-self:start;
}

.footer__logo{
  align-items:center;
  display:inline-flex;
  font-size:0;
  line-height:1;
}

.footer__logo-img{
  height:auto;
  width:7.8125rem;
}

.footer__nav{
  grid-area:nav;
  width:100%;
}

.footer__nav-list{
  grid-row-gap:1.125rem;
  display:grid;
  grid-auto-flow:column;
  grid-template-columns:1fr 1fr;
  grid-template-rows:repeat(5, auto);
  row-gap:1.125rem;
}

.footer__nav-item{
  line-height:1;
  text-align:left;
}

.footer__nav-link{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.15em;
  line-height:1;
  transition:color var(--duration-base) ease;
}
.footer__addresses{
  display:flex;
  flex-direction:column;
  gap:1.75rem;
  grid-area:addresses;
}

.footer__address{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:0.8125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.05em;
  line-height:1.5625rem;
}

.footer__address--main{
  grid-area:main;
}

.footer__address--hanare{
  grid-area:hanare;
}

.footer__address--archive{
  grid-area:archive;
}

.footer__address--factory{
  grid-area:factory;
}

.footer__privacy{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  grid-area:privacy;
  justify-self:center;
  line-height:1;
  margin-top:2.3125rem;
  min-width:5.5625rem;
  padding-bottom:0.75rem;
  position:relative;
  text-align:center;
}

.footer__privacy::before{
  background-color:var(--text-black);
  bottom:0;
  content:"";
  height:1px;
  left:50%;
  position:absolute;
  translate:-50% 0;
  width:100%;
  width:5.5625rem;
}

.footer__privacy::after{
  aspect-ratio:1/1;
  background-color:var(--text-black);
  border-radius:calc(infinity * 1px);
  bottom:-1px;
  content:"";
  left:0.1875rem;
  position:absolute;
  transition:left 0.3s ease-in-out;
  width:0.1875rem;
  will-change:left;
}
.footer__copyright{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:0.8125rem;
  font-weight:var(--font-weight-regular);
  grid-area:copyright;
  letter-spacing:0.1em;
  line-height:1;
  margin-top:2.1875rem;
  text-align:center;
}

.footer-cta-wrap{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:4.5625rem;
  margin-inline:auto;
  max-width:calc(var(--inner) + var(--padding-inline-sm) * 2);
  padding-bottom:2.375rem;
  padding-inline:var(--padding-inline-sm);
}

.footer-cta{
  margin-inline:auto;
}

.header{
  background-color:var(--body-bg);
  left:0;
  position:fixed;
  top:0;
  transition:background-color var(--duration-base) ease;
  width:100%;
  z-index:var(--z-index-hamburger);
}

.header--overlay{
  background-color:transparent;
}

.header__inner{
  align-items:center;
  display:flex;
  height:3.875rem;
  justify-content:space-between;
  padding-inline:1.25rem 2.03125rem;
  width:100%;
}

.header__logo-link{
  align-items:center;
  display:inline-flex;
}

.header__logo{
  align-items:center;
  display:inline-flex;
  font-size:0;
  line-height:1;
  position:relative;
}

.header__logo-img{
  height:auto;
  width:5.9375rem;
}

.header__logo-img--default,
.header__logo-img--white{
  transition:opacity var(--duration-base) ease;
}

.header__logo-img--white{
  left:0;
  position:absolute;
  top:0;
}

.header--overlay .header__logo-img--default{
  opacity:0;
}

.header--overlay .header__logo-img--white{
  opacity:1;
}

.header--overlay.is-scrolled .header__logo-img--default,
body.is-drawer-open .header--overlay .header__logo-img--default{
  opacity:1;
}

.header--overlay.is-scrolled .header__logo-img--white,
body.is-drawer-open .header--overlay .header__logo-img--white{
  opacity:0;
}

.header__nav{
  display:none;
}

.header__nav-list{
  align-items:center;
  display:flex;
  gap:1.75rem;
  margin-left:1.25rem;
}

.header__nav-item{
  line-height:1;
}

.header__nav-link{
  background-image:linear-gradient(currentColor, currentColor);
  background-position:bottom right;
  background-repeat:no-repeat;
  background-size:0 1px;
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:clamp(0.5625rem, 1400 / var(--cq-ref) * 1cqi, 0.875rem);
  font-weight:var(--font-weight-medium);
  letter-spacing:0.15em;
  line-height:1;
  padding-bottom:0.4375rem;
  transition:color var(--duration-base) ease, background-size 0.3s cubic-bezier(0.65, 0, 0.35, 1);
  width:fit-content;
}

.header--overlay .header__nav-link{
  color:var(--white);
}

.header--overlay.is-scrolled .header__nav-link{
  color:var(--text-black);
}

.header__nav-link.is-current{
  background-position:bottom left;
  background-size:100% 1px;
}

.header__actions{
  align-items:center;
  display:flex;
  gap:0.875rem;
}

.header__search-button{
  align-items:center;
  color:var(--text-black);
  display:inline-flex;
  height:2.25rem;
  justify-content:center;
  transition:color var(--duration-base) ease, opacity var(--duration-base) ease;
  width:2.25rem;
}

.header--overlay .header__search-button{
  color:var(--white);
}

.header--overlay.is-scrolled .header__search-button{
  color:var(--text-black);
}
body.is-drawer-open .header__search-button{
  display:none;
}

.header__search-icon{
  display:block;
  height:1.25rem;
  width:1.25rem;
}

.header__hamburger{
  height:2.25rem;
  position:relative;
  width:2.25rem;
}

.header__hamburger-bar{
  background-color:var(--text-black);
  display:block;
  height:0.0625rem;
  left:50%;
  position:absolute;
  transform:translateX(-50%);
  transition:top var(--duration-base) ease, transform var(--duration-base) ease, background-color var(--duration-base) ease;
  width:2.21875rem;
}

.header__hamburger-bar:nth-child(1){
  top:calc(50% - 0.3125rem);
}

.header__hamburger-bar:nth-child(2){
  top:calc(50% + 0.3125rem);
}

.header--overlay .header__hamburger-bar{
  background-color:var(--white);
}

.header--overlay.is-scrolled .header__hamburger-bar{
  background-color:var(--text-black);
}

.header__hamburger[aria-expanded=true] .header__hamburger-bar{
  background-color:var(--text-black);
  top:50%;
}

.header__hamburger[aria-expanded=true] .header__hamburger-bar:nth-child(1){
  transform:translate(-50%, -50%) rotate(45deg);
}

.header__hamburger[aria-expanded=true] .header__hamburger-bar:nth-child(2){
  transform:translate(-50%, -50%) rotate(-45deg);
}

.drawer{
  background-color:var(--body-bg);
  height:100vh;
  height:100dvh;
  opacity:0;
  overflow-y:auto;
  padding:7.375rem 1.875rem 2.5rem;
  pointer-events:none;
  position:fixed;
  right:0;
  top:0;
  transition:opacity var(--duration-base) ease, visibility var(--duration-base) ease;
  visibility:hidden;
  width:100%;
  z-index:var(--z-index-drawer);
}

.drawer.is-open{
  opacity:1;
  pointer-events:auto;
  visibility:visible;
}

.drawer__nav{
  width:100%;
}

.drawer__nav-list{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1.875rem;
}

.drawer__nav-item{
  line-height:1;
  opacity:0;
  transform:translateY(0.625rem);
  transition:opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
  will-change:opacity, transform;
}

.drawer.is-open .drawer__nav-item{
  opacity:1;
  transform:translateY(0);
}

.drawer.is-open .drawer__nav-item:nth-child(1){
  transition-delay:0.1s;
}

.drawer.is-open .drawer__nav-item:nth-child(2){
  transition-delay:0.2s;
}

.drawer.is-open .drawer__nav-item:nth-child(3){
  transition-delay:0.3s;
}

.drawer.is-open .drawer__nav-item:nth-child(4){
  transition-delay:0.4s;
}

.drawer.is-open .drawer__nav-item:nth-child(5){
  transition-delay:0.5s;
}

.drawer.is-open .drawer__nav-item:nth-child(6){
  transition-delay:0.6s;
}

.drawer.is-open .drawer__nav-item:nth-child(7){
  transition-delay:0.7s;
}

.drawer.is-open .drawer__nav-item:nth-child(8){
  transition-delay:0.8s;
}

.drawer.is-open .drawer__nav-item:nth-child(9){
  transition-delay:0.9s;
}

.drawer.is-open .drawer__nav-item:nth-child(10){
  transition-delay:1s;
}

.drawer__nav-link{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.15em;
  line-height:1;
  position:relative;
}

.drawer__nav-link.is-current::after{
  background-color:var(--text-black);
  bottom:-0.3125rem;
  content:"";
  height:1px;
  left:50%;
  position:absolute;
  transform:translateX(-50%);
  width:90%;
}

.header.is-search-open .header__nav{
  display:none;
}

.page-title{
  align-items:flex-start;
  display:flex;
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  gap:0.625rem;
  letter-spacing:0.1em;
  line-height:2.25;
}
.page-title::before{
  background-color:var(--text-black);
  content:"";
  flex-shrink:0;
  height:1px;
  margin-top:calc(0.5lh - 0.5px);
  width:2.4375rem;
}

.pagination{
  --pagination-accent:var(--main-brown);
  -moz-column-gap:0.8125rem;
  align-items:center;
       column-gap:0.8125rem;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  row-gap:0.9375rem;
}

.pagination--orange{
  --pagination-accent:var(--main-orange);
}

.pagination .page-link,
.pagination .current-page{
  align-items:center;
  color:var(--pagination-accent);
  display:flex;
  font-size:0.9375rem;
  font-weight:var(--font-weight-bold);
  height:2.5rem;
  justify-content:center;
  letter-spacing:0.05em;
  line-height:1.2;
  transition:background-color var(--duration-base) ease, color var(--duration-base) ease;
  width:2.5rem;
}

.pagination .current-page{
  background-color:var(--pagination-accent);
  color:var(--white);
}

.pagination .dots{
  color:var(--pagination-accent);
  font-size:1.25rem;
  font-weight:var(--font-weight-bold);
  line-height:1;
}

.pagination .prev,
.pagination .next{
  align-items:center;
  color:var(--pagination-accent);
  display:flex;
  font-family:"Noto Sans", "Helvetica Neue", Arial, sans-serif;
  font-size:0.875rem;
  font-weight:var(--font-weight-bold);
  height:2.5rem;
  justify-content:center;
  letter-spacing:0.05em;
  line-height:1.2;
  text-align:center;
  transition:transform var(--duration-base) ease;
  width:2.5rem;
}

.post-list{
  --post-list-accent:var(--main-brown);
  display:flex;
  flex-direction:column;
  gap:1.1875rem;
}

.post-list--orange{
  --post-list-accent:var(--main-orange);
}

.post-list__link{
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}

.post-list__badge{
  align-items:center;
  background-color:var(--post-list-accent);
  border:1px solid var(--post-list-accent);
  color:var(--white);
  display:inline-flex;
  flex-shrink:0;
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  height:1.5rem;
  justify-content:center;
  min-width:6.8125rem;
  padding-inline:0.75rem;
  width:fit-content;
}

.post-list__badge--outline{
  background-color:transparent;
  color:var(--post-list-accent);
}

.post-list__body{
  display:flex;
  gap:0.625rem;
}

.post-list__date{
  flex-shrink:0;
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.05em;
}

.post-list__title{
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  display:-webkit-box;
  font-size:1.125rem;
  font-weight:var(--font-weight-regular);
  overflow:hidden;
  transition:color var(--duration-base);
}
.post-nav{
  display:grid;
  gap:3.125rem;
  grid-template-columns:1fr;
}

.post-nav__item--prev,
.post-nav__item--next{
  align-items:center;
  display:grid;
}

.post-nav__item--prev{
  gap:1.0625rem;
  grid-template-columns:3.125rem auto;
}

.post-nav__item--next{
  gap:1.0625rem;
  grid-template-columns:auto 3.125rem;
  margin-left:auto;
  text-align:right;
}

.post-nav__item--empty{
  display:block;
}

.post-nav__title{
  font-size:1.0625rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.1em;
  line-height:1.875;
  transition:color var(--duration-base) ease;
  will-change:color;
}
.post-nav__item--next .post-nav__title{
  line-height:2;
}

.post-nav__arrow{
  -webkit-mask-image:url("../images/common/pagination-arrow.svg");
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  aspect-ratio:17/4;
  background-color:var(--main-brown);
  height:auto;
  margin-top:-0.25rem;
  mask-image:url("../images/common/pagination-arrow.svg");
  mask-repeat:no-repeat;
  mask-size:contain;
  transition:transform var(--duration-base) ease;
  width:3.125rem;
  will-change:transform;
}

.post-nav__arrow--prev{
  transform:scaleX(-1);
}
.search-box{
  align-items:center;
  background-color:var(--white);
  display:flex;
  gap:1.25rem;
  left:50%;
  opacity:0;
  padding:0.5rem 1.25rem;
  pointer-events:none;
  position:absolute;
  top:3.75rem;
  transform:translateX(-50%);
  transition:opacity var(--duration-base) ease, visibility var(--duration-base) ease;
  visibility:hidden;
  width:calc(100% - 0.9375rem);
}

.search-box.is-open{
  opacity:1;
  pointer-events:auto;
  visibility:visible;
}

.search-box__form{
  align-items:center;
  display:flex;
  flex:1;
  gap:1.125rem;
  min-width:0;
}

.search-box__input{
  color:var(--text-black);
  flex:1;
  font-family:var(--font-family-base);
  font-size:0.875rem;
  letter-spacing:0.1em;
  min-width:0;
}

.search-box__input::-moz-placeholder{
  color:var(--placeholder-gray);
}

.search-box__input::placeholder{
  color:var(--placeholder-gray);
}

.search-box__divider{
  background-color:var(--text-gray);
  flex-shrink:0;
  height:1.875rem;
  width:1px;
}

.search-box__submit{
  color:var(--text-black);
  flex-shrink:0;
  font-family:var(--font-family-base);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  transition:opacity var(--duration-base) ease;
  will-change:opacity;
}
.search-box__close{
  align-items:center;
  display:flex;
  flex-direction:column;
  flex-shrink:0;
  transition:opacity var(--duration-base) ease;
  will-change:opacity;
}
.search-box__close-icon{
  height:1.125rem;
  position:relative;
  width:1.125rem;
}

.search-box__close-icon::before,
.search-box__close-icon::after{
  background-color:var(--text-black);
  content:"";
  height:1px;
  left:50%;
  position:absolute;
  top:50%;
  width:1.25rem;
}

.search-box__close-icon::before{
  transform:translate(-50%, -50%) rotate(45deg);
}

.search-box__close-icon::after{
  transform:translate(-50%, -50%) rotate(-45deg);
}

.search-box__close-text{
  color:var(--text-black);
  font-family:var(--font-family-en);
  font-size:0.625rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.05em;
  line-height:1;
}

.thumb-slider{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
}

.thumb-slider__main{
  position:relative;
  width:100%;
}

.thumb-slider__main-list{
  aspect-ratio:var(--thumb-slider-aspect, 887/505);
  overflow:hidden;
  position:relative;
  width:100%;
}

.thumb-slider__main-img{
  height:100%;
  inset:0;
  object-fit:cover;
  opacity:0;
  position:absolute;
  transition:opacity var(--duration-long) ease;
  width:100%;
}

.thumb-slider__main-img.is-active{
  opacity:1;
}

.thumb-slider__arrow{
  align-items:center;
  background-color:rgba(255, 255, 255, 0.7);
  border:none;
  border-radius:calc(infinity * 1px);
  box-shadow:0 0.125rem 0.5rem rgba(0, 0, 0, 0.2);
  display:flex;
  height:2.125rem;
  justify-content:center;
  padding:0;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  transition:opacity var(--duration-base) ease;
  width:2.125rem;
}

.thumb-slider__arrow-img{
  height:auto;
  width:1.125rem;
}

.thumb-slider__arrow--prev{
  left:0.75rem;
}

.thumb-slider__arrow--next{
  right:0.75rem;
}

.thumb-slider__thumbs{
  grid-column-gap:0.4375rem;
  -moz-column-gap:0.4375rem;
  grid-row-gap:0.4375rem;
       column-gap:0.4375rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  padding-inline:3.125rem;
  row-gap:0.4375rem;
}

.thumb-slider__thumb{
  display:block;
  overflow:hidden;
  padding:0;
  transition:filter var(--duration-base) ease;
  width:100%;
  will-change:filter;
}

.thumb-slider__thumb-img{
  aspect-ratio:var(--thumb-slider-thumb-aspect, 122/71);
  height:auto;
  object-fit:cover;
}

.to-top{
  align-items:stretch;
  bottom:6.75rem;
  display:flex;
  gap:0.125rem;
  opacity:0;
  padding-right:0.25rem;
  pointer-events:none;
  position:fixed;
  right:1.125rem;
  transition:opacity var(--duration-base) ease-in-out, visibility var(--duration-base) ease-in-out;
  visibility:hidden;
  will-change:opacity, visibility;
  z-index:var(--z-index-to-top);
}

.to-top.is-visible{
  opacity:1;
  pointer-events:auto;
  visibility:visible;
}

.to-top__text{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:1.875;
  padding-inline:0.3125rem;
  writing-mode:vertical-rl;
}

.to-top::after{
  background-image:linear-gradient(var(--text-black), var(--text-black));
  background-position:left bottom;
  background-repeat:no-repeat;
  background-size:1px 100%;
  content:"";
  width:1px;
}
@keyframes to-top-line{
  0%{
    background-position:left top;
    background-size:1px 100%;
  }
  45%{
    background-position:left top;
    background-size:1px 0;
  }
  45.01%{
    background-position:left bottom;
    background-size:1px 0;
  }
  100%{
    background-position:left bottom;
    background-size:1px 100%;
  }
}
.top-link{
  background-color:var(--main-beige);
  display:inline-block;
  font-size:1.25rem;
  font-weight:var(--font-weight-regular);
  line-height:1.5;
  padding:0.5rem 3.625rem 1.75rem;
  position:relative;
  text-align:center;
  width:12.8125rem;
}

.top-link::before{
  background-color:var(--text-black);
  bottom:1.375rem;
  content:"";
  height:1px;
  left:3.625rem;
  position:absolute;
  right:3.625rem;
}

.top-link::after{
  aspect-ratio:1/1;
  background-color:var(--text-black);
  border-radius:calc(infinity * 1px);
  bottom:calc(1.375rem - 1px);
  content:"";
  left:3.625rem;
  position:absolute;
  transition:left 0.3s ease-in-out;
  width:0.1875rem;
  will-change:left;
}

.view-more{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  min-width:5.5625rem;
  padding-bottom:0.75rem;
  position:relative;
  text-align:center;
}

.view-more::before{
  background-color:var(--text-black);
  bottom:0;
  content:"";
  height:1px;
  left:0;
  position:absolute;
  right:0;
  width:100%;
}

.view-more::after{
  aspect-ratio:1/1;
  background-color:var(--text-black);
  border-radius:calc(infinity * 1px);
  bottom:-1px;
  content:"";
  left:0;
  position:absolute;
  transition:left 0.3s ease-in-out;
  width:0.1875rem;
  will-change:left;
}

.view-more--white{
  color:var(--white);
}

.view-more--white::before{
  background-color:var(--white);
}

.view-more--white::after{
  background-color:var(--white);
}

.inner{
  margin-left:auto;
  margin-right:auto;
  max-width:534px;
  padding-left:17px;
  padding-right:17px;
  width:100%;
}
.awards{
  background-color:var(--body-bg);
  margin-top:3.875rem;
  padding-block:2.1875rem 6.5rem;
}
.awards__title{
  padding-inline:1.25rem;
}
.awards__inner{
  margin-inline:auto;
  margin-top:2.1875rem;
  max-width:33rem;
}
.awards__inner h2{
  font-size:1.6875rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.awards__inner h3{
  font-size:1.5rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.awards__inner h4{
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.awards__inner h5{
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.awards__inner p{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:1.25rem;
}
.awards__inner a{
  -webkit-text-decoration:underline currentColor;
  color:var(--link-blue);
  font-size:1.0625rem;
  line-height:2;
  margin-top:1.25rem;
  text-decoration:underline;
          text-decoration:underline currentColor;
  transition:opacity 0.3s ease;
}
.awards__inner a:hover{
  opacity:0.7;
}
.awards__inner ul{
  margin-top:1.25rem;
}
.awards__inner ul li{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:2;
  padding-left:1.25rem;
}
.awards__inner ul li::before{
  background-color:currentColor;
  border-radius:50%;
  content:"";
  display:inline-block;
  height:0.3125rem;
  margin-right:0.1875rem;
  margin-right:0.4375rem;
  position:relative;
  top:-0.375rem;
  width:0.3125rem;
}
.awards__inner ol{
  counter-reset:number;
  margin-top:1.25rem;
}
.awards__inner ol li{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:2;
  padding-left:1.75rem;
}
.awards__inner ol li::before{
  color:currentColor;
  content:counter(number) ".";
  counter-increment:number;
  display:inline-block;
  line-height:1;
  margin-right:0.125rem;
}
.awards__inner figure{
  margin-top:1.25rem;
}

.blogs-archive{
  margin-top:3.875rem;
  padding-block:2.1875rem 6.5rem;
}

.blogs-archive__title{
  padding-inline:1.25rem;
}

.blogs-archive__inner{
  margin-inline:auto;
  margin-top:2.1875rem;
  max-width:34.375rem;
  padding-inline:1.5625rem;
}

.blogs-archive__list{
  margin-top:3.125rem;
}

.blogs-archive__pagination{
  display:flex;
  justify-content:center;
  margin-top:3.4375rem;
}

.blogs-archive__empty{
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:3.125rem;
  text-align:center;
}

.blogs-archive__banner{
  margin-top:3.125rem;
}

.blogs-archive-banner{
  display:grid;
  grid-template-columns:204fr 158fr;
}

.blogs-archive-banner__media{
  overflow:hidden;
  position:relative;
}

.blogs-archive-banner__img{
  aspect-ratio:204/121;
  height:auto;
  object-fit:cover;
  transition:transform var(--duration-long) ease;
  will-change:transform;
}

.blogs-archive-banner__body{
  align-items:center;
  background-color:var(--white);
  display:flex;
  justify-content:center;
  padding:0.625rem;
}

.blogs-archive-banner__text{
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.1em;
  line-height:1.8;
  text-align:center;
}

.view-more.blogs-archive-banner__view-more{
  bottom:0.875rem;
  left:1.5rem;
  position:absolute;
}

.blogs-single{
  margin-top:6.0625rem;
  padding-bottom:4.0625rem;
}

.blogs-single__page-title{
  padding-inline:1.25rem;
}

.blogs-single__inner{
  margin-inline:auto;
  margin-top:2.1875rem;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.blogs-single__header{
  align-items:flex-end;
  display:flex;
  flex-wrap:wrap;
  gap:0.8125rem 1.125rem;
}

.blogs-single__title{
  font-size:1.3125rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.05em;
  line-height:2.222;
  width:100%;
}

.blogs-single__badge{
  align-items:center;
  background-color:var(--main-brown);
  color:var(--white);
  display:flex;
  flex-shrink:0;
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  justify-content:center;
  letter-spacing:0.05em;
  min-width:5.1875rem;
  padding:0.3125rem 1rem;
  white-space:nowrap;
}

.blogs-single__date{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:2.143;
}

.blogs-single__thumb{
  margin-inline:-0.875rem;
  margin-top:1.5625rem;
}

.blogs-single__thumb-img{
  aspect-ratio:390/256;
  height:auto;
  object-fit:cover;
}

.blogs-single__content{
  margin-top:1.5625rem;
}
.blogs-single__content h2{
  font-size:1.6875rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.blogs-single__content h3{
  font-size:1.5rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.blogs-single__content h4{
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.blogs-single__content h5{
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.blogs-single__content p{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:1.25rem;
}
.blogs-single__content a{
  -webkit-text-decoration:underline currentColor;
  color:var(--link-blue);
  font-size:1.0625rem;
  line-height:2;
  margin-top:1.25rem;
  text-decoration:underline;
          text-decoration:underline currentColor;
  transition:opacity 0.3s ease;
}
.blogs-single__content a:hover{
  opacity:0.7;
}
.blogs-single__content ul{
  margin-top:1.25rem;
}
.blogs-single__content ul li{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:2;
  padding-left:1.25rem;
  text-indent:-1.125rem;
}
.blogs-single__content ul li::before{
  background-color:currentColor;
  border-radius:50%;
  content:"";
  display:inline-block;
  height:0.3125rem;
  margin-right:0.1875rem;
  margin-right:0.4375rem;
  position:relative;
  top:-0.375rem;
  width:0.3125rem;
}
.blogs-single__content ol{
  counter-reset:number;
  margin-top:1.25rem;
}
.blogs-single__content ol li{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:2;
  padding-left:1.75rem;
  text-indent:-0.75rem;
}
.blogs-single__content ol li::before{
  color:currentColor;
  content:counter(number) ".";
  counter-increment:number;
  display:inline-block;
  line-height:1;
  margin-right:0.125rem;
}
.blogs-single__content figure{
  margin-top:1.25rem;
}

.blogs-single__nav{
  margin-top:3.125rem;
}

.company-access{
  margin-top:2.8125rem;
}

.company-access__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.company-access__heading{
  font-size:1.6875rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  text-align:center;
}

.company-access__list{
  display:flex;
  flex-direction:column;
  gap:2.8125rem;
  margin-top:1.6875rem;
}

.company-access__item{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
}

.company-access__map{
  aspect-ratio:467/342;
  width:100%;
}

.company-access__map iframe{
  border:0;
  display:block;
  height:100%;
  width:100%;
}

.company-access__info{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.company-access__link{
  -webkit-text-decoration:underline;
  -webkit-text-decoration-skip-ink:none;
  text-decoration:underline;
          text-decoration-skip-ink:none;
  text-underline-position:from-font;
}

.company-craftsman{
  background-color:var(--main-beige);
  margin-top:5.3125rem;
  padding-block:4.6875rem 4.375rem;
}

.company-craftsman__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:0.625rem;
}

.company-craftsman__heading{
  font-size:1.5625rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  text-align:center;
}

.company-craftsman__intro{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
  margin-top:2.3125rem;
}

.company-craftsman__intro-text{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
}

.company-craftsman__intro-title{
  font-size:1.5625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.company-craftsman__intro-body{
  display:flex;
  flex-direction:column;
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  gap:1.875rem;
  line-height:2;
}

.company-craftsman__intro-img{
  aspect-ratio:480/360;
  height:auto;
  object-fit:cover;
  width:100%;
}

.company-craftsman__list{
  display:flex;
  flex-direction:column;
  gap:3.4375rem;
  margin-top:3.4375rem;
}

.company-craftsman__block{
  background-color:var(--body-bg);
  padding-block:2.5625rem 3.3125rem;
  padding-inline:0.9375rem;
}

.company-craftsman__block-title{
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.9444444444;
  text-align:center;
}

.company-craftsman__block-body{
  display:flex;
  flex-direction:column;
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  gap:1.875rem;
  line-height:2;
}

.company-craftsman__block--workshop .company-craftsman__block-content{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
  margin-top:1.5625rem;
}
.company-craftsman__block--workshop .company-craftsman__block-imgs{
  display:flex;
  flex-direction:column;
  gap:0.875rem;
}
.company-craftsman__block--workshop .company-craftsman__block-img{
  aspect-ratio:338/234;
  height:auto;
  object-fit:cover;
  width:100%;
}
.company-craftsman__block--non-housing .company-craftsman__block-content{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
  margin-top:1.5625rem;
}
.company-craftsman__block--non-housing .company-craftsman__block-imgs{
  display:flex;
  flex-direction:column;
  gap:0.875rem;
}
.company-craftsman__block--non-housing .company-craftsman__block-img{
  aspect-ratio:338/234;
  height:auto;
  object-fit:cover;
  width:100%;
}
.company-craftsman__block--non-housing .company-craftsman__block-img-wrap{
  display:flex;
  flex-direction:column;
  gap:0.125rem;
}
.company-craftsman__block--non-housing .company-craftsman__block-source{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.company-craftsman__bullets{
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:1.875rem;
  text-indent:hanging 1em;
}

.company-craftsman__block--emergency{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1.75rem;
  padding-block:2.5625rem 3.1875rem;
}
.company-craftsman__block--emergency .company-craftsman__block-body{
  align-self:stretch;
}

.company-craftsman__highlight{
  align-items:center;
  background-color:var(--white);
  border-bottom:1px solid var(--main-orange);
  display:flex;
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  justify-content:center;
  line-height:1.875;
  padding:0.25rem 1.125rem;
  text-align:center;
}

.company-craftsman__block--bcp{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1.75rem;
  padding-block:2.5625rem 3.75rem;
}
.company-craftsman__block--bcp .company-craftsman__block-body{
  align-self:stretch;
  text-align:left;
}

.company-craftsman__cards{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  min-width:14.875rem;
}

.company-craftsman__card{
  align-items:center;
  background-color:var(--white);
  border-bottom:1px solid var(--main-orange);
  display:flex;
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  justify-content:center;
  line-height:1.875;
  min-height:4.875rem;
  min-width:14.875rem;
  padding:0.4375rem 0.75rem;
  text-align:center;
}

.company-facilities{
  margin-top:4.5625rem;
}

.company-facilities__heading{
  font-size:1.6875rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  text-align:center;
}

.company-facilities__list{
  display:flex;
  flex-direction:column;
  gap:3.75rem;
  margin-top:0.9375rem;
}

.company-facilities__block--beige{
  background-color:var(--main-beige);
  padding-block:3.25rem 4.1875rem;
}

.company-facilities__block-inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.company-facilities__title{
  font-size:1.5rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.9444444444;
  text-align:center;
}

.company-facilities__lead{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:0.875rem;
  text-align:center;
}

.company-facilities__slider{
  --thumb-slider-aspect:318 / 195;
  --thumb-slider-thumb-aspect:129 / 71;
  margin-top:2.5625rem;
}

.company-facilities__body{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:1.625rem;
}

.company-history{
  margin-top:3.5rem;
}

.company-history__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline);
}

.company-history__heading{
  font-size:1.6875rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  text-align:center;
}

.company-history__list{
  display:flex;
  flex-direction:column;
  gap:0.9375rem;
  margin-top:1.5625rem;
}

.company-history__item{
  display:grid;
  gap:0.9375rem;
  grid-template-columns:6.25rem 1fr;
}

.company-history__date{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.05em;
  line-height:1.7948717949;
  padding-top:0.3125rem;
}

.company-history__desc{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2.3333333333;
}

.company-message{
  margin-top:4.5625rem;
}

.company-message__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.company-message__heading{
  font-size:1.6875rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  text-align:center;
}

.company-message__block{
  margin-top:1.5625rem;
}

.company-message__photo{
  aspect-ratio:363/323;
  height:auto;
  object-fit:cover;
  width:100%;
}

.company-message__body{
  margin-top:1.5625rem;
}

.company-message__title{
  color:var(--main-green);
  font-size:1.25rem;
  font-weight:var(--font-weight-medium);
  line-height:1.9444444444;
}

.company-message__text{
  display:flex;
  flex-direction:column;
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  gap:1.875rem;
  line-height:2;
  margin-top:1.5625rem;
}

.company-message__signature{
  align-items:center;
  display:flex;
  justify-content:space-between;
  margin-top:1.5625rem;
}

.company-message__signature-text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.company-message__signature-img{
  height:auto;
  width:11.0625rem;
}

.company-mv{
  margin-top:3.875rem;
}

.company-mv__caption{
  margin-inline:auto;
  padding-inline:0.1875rem;
  padding-top:2.1875rem;
}

.company-mv__heading{
  font-size:1.6875rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:2.1875rem;
  text-align:center;
}

.company-mv__lead{
  font-size:1.1875rem;
  font-weight:var(--font-weight-medium);
  line-height:1.9444444444;
  margin-top:2.375rem;
  text-align:center;
}

.company-profile{
  margin-top:2.375rem;
}

.company-profile__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.company-profile__list{
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}

.company-profile__item{
  display:grid;
  gap:0.3125rem;
}

.company-profile__label{
  background-color:var(--main-beige);
  font-size:1.0625rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.05em;
  line-height:1.448;
  padding:1rem;
  text-align:center;
}

.company-profile__value{
  background-color:var(--main-beige);
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.05em;
  line-height:1.448;
  padding:1rem 2.5rem;
}

.company-profile__value--list{
  display:flex;
  flex-direction:column;
  gap:0.625rem;
}

.company-profile__certs{
  display:flex;
  flex-direction:column;
}

.company-profile__cert{
  text-indent:hanging 1em;
}
.company-profile__cert::before{
  content:"・";
}

.company-profile__logos{
  align-items:flex-end;
  display:flex;
  gap:0.625rem;
}

.company-profile__logo{
  height:auto;
  object-fit:contain;
}

.company-profile__logo--01{
  aspect-ratio:100/112;
  width:4.875rem;
}

.company-profile__logo--02{
  aspect-ratio:254/113;
  width:12.3125rem;
}

.company-profile__link{
  -webkit-text-decoration:underline;
  -webkit-text-decoration-skip-ink:none;
  text-decoration:underline;
          text-decoration-skip-ink:none;
  text-underline-position:from-font;
}

.company-responsibility{
  margin-top:3.5rem;
}

.company-responsibility__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:1.125rem;
}

.company-responsibility__heading{
  font-size:1.6875rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  text-align:center;
}

.company-responsibility__body{
  display:flex;
  flex-direction:column;
  gap:1.875rem;
  margin-top:1.5625rem;
}

.company-responsibility__body-text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.company-sdgs{
  margin-top:3.5625rem;
  padding-bottom:3.625rem;
}

.company-sdgs__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.company-sdgs__title-block{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:0.375rem;
}

.company-sdgs__title-icon{
  height:auto;
  width:3.5625rem;
}

.company-sdgs__heading{
  font-size:1.5625rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  text-align:center;
}

.company-sdgs__lead{
  display:flex;
  flex-direction:column;
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  gap:1.875rem;
  line-height:2;
  margin-top:1.25rem;
}

.company-sdgs__logos{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1.125rem;
  margin-top:2.125rem;
}

.company-sdgs__logo{
  height:auto;
}

.company-sdgs__logo--01{
  width:14.8125rem;
}

.company-sdgs__logo--02{
  width:20.875rem;
}

.company-sdgs__commitments{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  margin-top:4.1875rem;
}

.company-sdgs__commitments-title{
  font-size:1.5625rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  text-align:center;
}

.company-sdgs__commitments-list{
  display:flex;
  flex-direction:column;
  gap:0.625rem;
}

.company-sdgs__commitment{
  align-items:center;
  background-color:var(--main-beige);
  display:flex;
  flex-direction:column;
  gap:0.9375rem;
  justify-content:center;
  padding:1.375rem 1.125rem;
}

.company-sdgs__commitment-num{
  font-size:2.125rem;
  font-weight:var(--font-weight-semibold);
  line-height:1;
}

.company-sdgs__commitment-text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.851875;
  text-align:center;
}

.company-sdgs__commitment-img{
  aspect-ratio:250/164;
  height:auto;
  object-fit:cover;
  width:15.625rem;
}

.company-sdgs__about{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  margin-top:5.125rem;
}

.company-sdgs__about-text{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.company-sdgs__about-title{
  font-size:1.6875rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
}

.company-sdgs__about-block{
  display:flex;
  flex-direction:column;
  gap:1.625rem;
}

.company-sdgs__about-subtitle{
  font-size:1.3125rem;
  font-weight:var(--font-weight-medium);
  line-height:1.9444444444;
}

.company-sdgs__about-body{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:2.3333333333;
}

.company-sdgs__about-media{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

.company-sdgs__about-img{
  aspect-ratio:363/178;
  height:auto;
  object-fit:cover;
  width:100%;
}

.company-sdgs__about-caption{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:1.6666666667;
}

.company-sdgs__about-caption-link{
  -webkit-text-decoration:underline;
  -webkit-text-decoration-skip-ink:none;
  text-decoration:underline;
          text-decoration-skip-ink:none;
  text-underline-position:from-font;
  will-change:opacity;
}

.company-sdgs__about-button{
  align-items:center;
  background-color:var(--main-brown);
  border:1px solid var(--main-brown);
  color:var(--white);
  display:flex;
  font-size:1rem;
  font-weight:var(--font-weight-bold);
  height:4.0625rem;
  justify-content:center;
  letter-spacing:0.05em;
  line-height:1.4375;
  margin-inline:auto;
  text-align:center;
  width:16.25rem;
}
.contact-form--confirm .contact-form__list{
  gap:2.8125rem;
}
.contact-confirm__lead{
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  line-height:2.3333333333;
  text-align:left;
}
.contact-confirm__value{
  display:flex;
  flex-direction:column;
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  gap:0.25rem;
  letter-spacing:0.1em;
  line-height:1.448;
  word-break:break-word;
}

.contact-confirm__value--message{
  font-weight:var(--font-weight-regular);
  line-height:1.6666666667;
}

.contact-confirm__sub-value{
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:1.448;
}
.contact-confirm__choices{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

.contact-confirm__choice{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}

.contact-confirm__choice-label{
  align-items:center;
  display:inline-flex;
  gap:0.375rem;
  width:fit-content;
}

.contact-confirm__radio{
  background-color:var(--main-orange);
  border:1px solid var(--black);
  border-radius:calc(infinity * 1px);
  flex-shrink:0;
  height:1.0625rem;
  width:1.0625rem;
}

.contact-confirm__choice-text{
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.1em;
  line-height:1.448;
}
.contact-form{
  background-color:var(--body-bg);
  margin-top:3.875rem;
  padding-block:2.1875rem 3.1875rem;
}

.contact-form__title{
  padding-inline:1.25rem;
}

.contact-form__inner{
  margin-inline:auto;
  margin-top:2.1875rem;
  max-width:33rem;
  padding-inline:var(--padding-inline);
}
.contact-form__intro{
  display:flex;
  flex-direction:column;
  font-size:1.125rem;
  font-weight:var(--font-weight-regular);
  gap:1.75rem;
  line-height:2.18;
}

.contact-form__intro-notes{
  color:var(--error-red);
  display:flex;
  flex-direction:column;
  font-size:1.0625rem;
  font-weight:var(--font-weight-semibold);
  line-height:2.18;
}
.contact-form__heading{
  font-size:1.5625rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.8125rem;
  text-align:center;
}
.contact-form__panel{
  background-color:var(--main-beige);
  margin-top:1rem;
  padding:2.4375rem 0.9375rem 4.875rem;
}

.contact-form__note{
  align-items:center;
  display:flex;
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  gap:0.5rem;
  letter-spacing:0.05em;
  line-height:2.5;
}

.contact-form__form{
  margin-top:0.5625rem;
}
.contact-form__required-badge{
  align-items:center;
  background-color:transparent;
  border:1px solid var(--main-orange);
  border-radius:0.1875rem;
  color:var(--main-orange);
  display:inline-flex;
  flex-shrink:0;
  font-family:"Shippori Mincho", serif;
  font-size:0.875rem;
  font-weight:var(--font-weight-bold);
  justify-content:center;
  letter-spacing:0;
  line-height:1;
  min-height:1.1875rem;
  min-width:2.1875rem;
  padding-block:0.125rem;
}
.contact-form__list{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
}

.contact-form__item{
  display:grid;
  gap:0.5rem;
}
.contact-form__label{
  align-items:center;
  display:flex;
  font-size:1.125rem;
  font-weight:var(--font-weight-bold);
  gap:0.5rem;
  height:fit-content;
  letter-spacing:0.1em;
  line-height:1.448;
}

.contact-form__label--column{
  align-items:flex-start;
  flex-direction:column;
  gap:0.375rem;
}

.contact-form__label-note{
  font-family:"Noto Sans JP", sans-serif;
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:normal;
  line-height:1.2;
}
.contact-form__input{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}

.contact-form__input input[type=text],
.contact-form__input input[type=tel],
.contact-form__input input[type=email]{
  background-color:var(--white);
  border-radius:0.3125rem;
  font-size:1.125rem;
  font-weight:var(--font-weight-regular);
  height:3.125rem;
  letter-spacing:0.1em;
  line-height:1.448;
  padding:0.875rem;
  width:100%;
}
.contact-form__input input[type=text]::-moz-placeholder, .contact-form__input input[type=tel]::-moz-placeholder, .contact-form__input input[type=email]::-moz-placeholder{
  color:var(--placeholder-gray-light);
}
.contact-form__input input[type=text]::placeholder,
.contact-form__input input[type=tel]::placeholder,
.contact-form__input input[type=email]::placeholder{
  color:var(--placeholder-gray-light);
}
.contact-form__note-text{
  color:var(--text-black);
  font-size:1.125rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.1em;
  margin-left:0.3125rem;
}
.contact-form__postal{
  align-items:center;
  display:flex;
  gap:1.0625rem;
}

.contact-form__postal-mark{
  font-size:0.9375rem;
}

.contact-form__item--address #address{
  margin-top:1.3125rem;
}

.contact-form__note-text--postal{
  margin-left:2.1875rem;
}
.contact-form__choices{
  display:flex;
  flex-direction:column;
  gap:0.9375rem;
}

.contact-form__choice{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}

.contact-form__choice-label{
  align-items:center;
  cursor:pointer;
  display:inline-flex;
  gap:0.375rem;
  margin-left:0.375rem;
  width:fit-content;
}

.contact-form__choice-text{
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.1em;
  line-height:1.448;
}
.contact-form__checkbox-input{
  clip:rect(0 0 0 0);
  border:0;
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  white-space:nowrap;
  width:1px;
}

.contact-form__checkbox{
  aspect-ratio:1/1;
  border:1px solid var(--black);
  border-radius:calc(infinity * 1px);
  flex-shrink:0;
  width:1.1875rem;
}

.contact-form__checkbox-input:checked + .contact-form__checkbox{
  background-color:var(--main-orange);
}

.contact-form__checkbox-input:focus-visible + .contact-form__checkbox{
  outline:0.125rem solid var(--main-orange);
  outline-offset:0.125rem;
}
.contact-form__textarea{
  background-color:var(--white);
  border-radius:0.3125rem;
  font-size:1.125rem;
  font-weight:var(--font-weight-regular);
  height:14.375rem;
  letter-spacing:0.1em;
  padding:0.875rem 1.5rem;
  width:100%;
}
.contact-form__textarea::-moz-placeholder{
  color:var(--placeholder-gray);
}
.contact-form__textarea::placeholder{
  color:var(--placeholder-gray);
}
.contact-form__agreement{
  align-items:center;
  display:flex;
  flex-direction:column;
  margin-top:2.5rem;
}

.contact-form__agreement-label{
  align-items:center;
  cursor:pointer;
  display:inline-flex;
  gap:0.875rem;
}

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

.contact-form__agreement-box{
  aspect-ratio:1/1;
  border:1px solid var(--black);
  border-radius:0.03125rem;
  flex-shrink:0;
  position:relative;
  width:1.0625rem;
}

.contact-form__agreement-input:checked + .contact-form__agreement-box::after{
  border-bottom:0.125rem solid var(--black);
  border-left:0.125rem solid var(--black);
  content:"";
  height:0.375rem;
  inset:0;
  margin:auto;
  position:absolute;
  transform:translateY(-15%) rotate(-45deg);
  width:0.6875rem;
}

.contact-form__agreement-input:focus-visible + .contact-form__agreement-box{
  outline:0.125rem solid var(--main-orange);
  outline-offset:0.125rem;
}

.contact-form__agreement-text{
  color:var(--black);
  font-family:"Shippori Mincho", serif;
  font-size:1.0625rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.05em;
  line-height:2.5;
}

.contact-form__agreement-link{
  -webkit-text-decoration:underline;
  text-decoration:underline;
  text-underline-offset:0.1875rem;
  transition:opacity var(--duration-base) ease;
}
.contact-form__submit{
  display:flex;
  justify-content:center;
  margin-top:1.5rem;
}

.contact-form__submit-btn{
  background-color:transparent;
  border-bottom:1px solid var(--black);
  cursor:pointer;
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  height:4.625rem;
  letter-spacing:1.28em;
  line-height:1.09;
  padding:0;
  text-align:center;
  text-indent:1.28em;
  transition:color var(--duration-base) ease, border-color var(--duration-base) ease;
  width:17.5625rem;
}
input:user-invalid,
textarea:user-invalid{
  border:1px solid var(--error-red);
}
.contact-form__item--address .contact-form__input:has(#address:user-invalid) #postal-code{
  border:1px solid var(--error-red);
}

.error-message{
  color:var(--error-red);
  display:none;
  font-size:1rem;
  margin-top:0.25rem;
}
.contact-form__input:has(:user-invalid) > .error-message,
.contact-form__agreement:has(:user-invalid) > .error-message{
  display:block;
}
.contact-thanks{
  margin-top:3.875rem;
  padding-block:2.1875rem 7.8125rem;
}

.contact-thanks__title{
  padding-inline:1.25rem;
}

.contact-thanks__inner{
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}
.contact-thanks__message{
  font-size:1.125rem;
  font-weight:var(--font-weight-regular);
  line-height:2.3333333333;
  text-align:left;
}

.contact-thanks__message + .contact-thanks__message{
  margin-top:2.1875rem;
}
.event-reservation__highlight-note{
  color:var(--main-orange);
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.448;
}
.contact-form__item--address .event-reservation__highlight-note{
  margin-left:2.5rem;
}
.contact-form--reservation input[readonly]{
  cursor:default;
}

.events-archive{
  margin-top:3.875rem;
  padding-block:2.1875rem 6.5rem;
}

.events-archive__title{
  padding-inline:1.25rem;
}

.events-archive__inner{
  margin-inline:auto;
  margin-top:2.1875rem;
  max-width:34.375rem;
  padding-inline:1.5625rem;
}

.events-archive__list{
  margin-top:3.125rem;
}

.events-archive__pagination{
  display:flex;
  justify-content:center;
  margin-top:3.4375rem;
}

.events-archive__empty{
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:3.125rem;
  text-align:center;
}
.events-detail{
  margin-top:3.875rem;
  padding-bottom:5rem;
  padding-top:2.1875rem;
}

.events-detail__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}
.events-detail__heading{
  align-items:flex-start;
  display:flex;
  flex-direction:column;
  gap:0.8125rem;
  margin-inline:auto;
  margin-top:2.1875rem;
  max-width:52.25rem;
}

.events-detail__title{
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.05em;
  line-height:2.2222222222;
}

.events-detail__category{
  align-items:center;
  background-color:var(--main-orange);
  color:var(--white);
  display:inline-flex;
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  justify-content:center;
  letter-spacing:0.05em;
  line-height:1.45;
  padding:0.3125rem 1.25rem;
}

.events-detail__event-date{
  font-size:1rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.1em;
  line-height:2.1;
}
.events-detail__eyecatch{
  margin-inline:calc(50% - 50vw);
  margin-top:0.875rem;
  width:100vw;
}

.events-detail__eyecatch-img{
  aspect-ratio:887/580;
  height:auto;
  object-fit:cover;
  width:100%;
}
.events-detail__intro{
  margin-inline:auto;
  margin-top:1.0625rem;
  max-width:47.5rem;
  padding-bottom:3.5625rem;
  padding-inline:0.25rem;
}

.events-detail__intro-title{
  font-size:1.3125rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.6666666667;
}

.events-detail__intro-info{
  font-size:1.0625rem;
  font-weight:var(--font-weight-semibold);
  line-height:2;
  margin-top:1.0625rem;
  white-space:pre-line;
}
.events-detail__highlight{
  margin-inline:auto;
  margin-top:1.75rem;
  max-width:47.5rem;
  padding-inline:0.25rem;
}

.events-detail__highlight-title{
  font-size:1.375rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.05em;
  line-height:1.875;
  text-align:center;
}

.events-detail__highlight-body{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:1.25rem;
  white-space:pre-line;
}
.events-detail__highlight-extra{
  margin-inline:auto;
  margin-top:2.1875rem;
  max-width:47.5rem;
  padding-inline:0.25rem;
}
.events-detail__highlight-extra h2{
  font-size:1.5625rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.events-detail__highlight-extra h3{
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.events-detail__highlight-extra h4{
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.events-detail__highlight-extra h5{
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.events-detail__highlight-extra p{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:1.25rem;
}
.events-detail__highlight-extra a{
  -webkit-text-decoration:underline currentColor;
  color:var(--link-blue);
  font-size:1.0625rem;
  line-height:2;
  margin-top:1.25rem;
  text-decoration:underline;
          text-decoration:underline currentColor;
  transition:opacity 0.3s ease;
}
.events-detail__highlight-extra a:hover{
  opacity:0.7;
}
.events-detail__highlight-extra ul{
  margin-top:1.25rem;
}
.events-detail__highlight-extra ul li{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:2;
  padding-left:1.25rem;
  text-indent:-1.125rem;
}
.events-detail__highlight-extra ul li:not(:first-of-type),
.events-detail__highlight-extra ol li:not(:first-of-type){
  margin-top:1.25rem;
}
.events-detail__highlight-extra ul li::before{
  background-color:currentColor;
  border-radius:50%;
  content:"";
  display:inline-block;
  height:0.3125rem;
  margin-right:0.1875rem;
  margin-right:0.4375rem;
  position:relative;
  top:-0.375rem;
  width:0.3125rem;
}
.events-detail__highlight-extra ol{
  counter-reset:number;
  margin-top:1.25rem;
}
.events-detail__highlight-extra ol li{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:2;
  padding-left:1.75rem;
  text-indent:-0.75rem;
}
.events-detail__highlight-extra ol li::before{
  color:currentColor;
  content:counter(number) ".";
  counter-increment:number;
  display:inline-block;
  line-height:1;
  margin-right:0.125rem;
}
.events-detail__highlight-extra figure{
  margin-top:1.25rem;
}

.events-detail__highlight-extra strong{
  font-weight:var(--font-weight-bold);
}
.events-detail__slider{
  --thumb-slider-aspect:318 / 195;
  --thumb-slider-thumb-aspect:128 / 71;
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:55.75rem;
}

.events-detail__slider .thumb-slider{
  gap:1.5625rem;
}
.events-detail__divider{
  background-color:var(--main-brown);
  border:none;
  height:1px;
  margin:0;
  margin-inline:auto;
  max-width:51.1875rem;
  width:100%;
}
.events-detail__highlight + .events-detail__divider{
  margin-top:3.5625rem;
}
.events-detail__overview{
  margin-inline:auto;
  margin-top:2.5625rem;
  max-width:47.5rem;
  padding-bottom:3.5625rem;
  padding-inline:0.25rem;
}

.events-detail__overview-title{
  font-size:1.0625rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.05em;
  line-height:2;
}

.events-detail__overview-list{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:0.4375rem;
}
.events-detail__welcome{
  display:flex;
  flex-direction:column;
  gap:1.1875rem;
  margin-inline:auto;
  margin-top:1.75rem;
  max-width:47.5rem;
  padding-bottom:2.1875rem;
  padding-inline:0.25rem;
}

.events-detail__welcome-text{
  display:flex;
  flex-direction:column;
  gap:0.9375rem;
}

.events-detail__welcome-title{
  font-size:1.0625rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.05em;
  line-height:1.875;
  text-align:center;
}

.events-detail__welcome-body{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}
.events-detail__welcome-body{
}
.events-detail__welcome-body p{
  margin:0;
}
.events-detail__welcome-body a{
  -webkit-text-decoration:underline;
  -webkit-text-decoration-skip-ink:none;
  text-decoration:underline;
          text-decoration-skip-ink:none;
  text-underline-offset:0.1875rem;
  transition:opacity var(--duration-base) ease;
}

.events-detail__welcome-link{
  -webkit-text-decoration:underline;
  -webkit-text-decoration-skip-ink:none;
  text-decoration:underline;
          text-decoration-skip-ink:none;
  text-underline-offset:0.1875rem;
  transition:opacity var(--duration-base) ease;
}

.events-detail__welcome-img{
  aspect-ratio:350/240;
  height:auto;
  object-fit:cover;
  width:100%;
}
.events-detail__notice{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  margin-inline:auto;
  margin-top:1.8125rem;
  max-width:47.5rem;
  padding-bottom:1.6875rem;
  padding-inline:0.25rem;
}

.events-detail__notice-title{
  font-size:1.3125rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.05em;
  line-height:1.6666666667;
  text-align:center;
}

.events-detail__notice-list{
  display:flex;
  flex-direction:column;
  gap:1.4375rem;
}

.events-detail__notice-main{
  font-size:1.0625rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8666666667;
}

.events-detail__notice-sub{
  color:var(--error-red);
  font-size:1.0625rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8666666667;
}
.events-detail__reserve-cta{
  display:flex;
  justify-content:center;
  margin-top:2.1875rem;
}

.events-detail__reserve-cta-button{
  align-items:center;
  background-color:var(--cta-green);
  border-radius:0.375rem;
  color:var(--white);
  display:inline-flex;
  font-size:1.125rem;
  font-weight:var(--font-weight-bold);
  height:4rem;
  justify-content:center;
  letter-spacing:0.05em;
  padding:0 1.5rem;
  transition:opacity var(--duration-base) ease;
  width:17.5rem;
}
.events-detail__reservation{
  display:flex;
  flex-direction:column;
  gap:0.625rem;
  margin-inline:auto;
  margin-top:2.1875rem;
  max-width:50.875rem;
  padding-bottom:2.1875rem;
}

.events-detail__slot{
  grid-column-gap:1.4375rem;
  -moz-column-gap:1.4375rem;
  grid-row-gap:0.375rem;
  align-items:center;
  background-color:var(--main-beige);
       column-gap:1.4375rem;
  display:grid;
  grid-template-areas:"date icon" "button button";
  grid-template-columns:1fr auto;
  padding:0.6875rem 1.5625rem;
  row-gap:0.375rem;
}

.events-detail__slot-date{
  font-family:"Noto Sans JP", sans-serif;
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  grid-area:date;
  letter-spacing:0.05em;
  line-height:2;
}

.events-detail__slot--full .events-detail__slot-date{
  -webkit-text-decoration:line-through;
  text-decoration:line-through;
  text-decoration-thickness:1px;
}

.events-detail__slot-status{
  font-family:"Noto Sans JP", sans-serif;
  font-size:1.125rem;
  font-weight:900;
  grid-area:icon;
  letter-spacing:0.05em;
  line-height:1.6666666667;
}
.events-detail__slot-status--available, .events-detail__slot-status--limited{
  color:var(--status-green);
}
.events-detail__slot-status--full{
  color:var(--error-red);
}

.events-detail__slot-button{
  align-items:center;
  background-color:var(--status-green);
  border-radius:0.125rem;
  color:var(--white);
  display:inline-flex;
  font-size:0.9375rem;
  font-weight:var(--font-weight-bold);
  grid-area:button;
  height:2.125rem;
  justify-content:center;
  justify-self:center;
  letter-spacing:0.2em;
  line-height:1;
  padding-block:0.0625rem 0.1875rem;
  padding-inline:1rem 1.0625rem;
  transition:opacity var(--duration-base) ease;
  white-space:nowrap;
  width:7.9375rem;
}
.events-detail__slot-button--disabled{
  background-color:var(--disabled-gray);
  pointer-events:none;
}
.events-detail__slot-button-text{
  margin-right:-0.2em;
}
.events-detail__nav{
  display:flex;
  flex-direction:column;
  gap:3.1875rem;
  margin-inline:auto;
  margin-top:3.125rem;
  max-width:55.75rem;
}

.events-detail__nav-item--prev{
  align-self:center;
}

.events-detail__nav-item--next{
  align-self:center;
}

.events-detail__nav-link{
  align-items:flex-start;
  display:flex;
  gap:1.0625rem;
}
.events-detail__nav-arrow{
  align-items:center;
  display:inline-flex;
  flex-shrink:0;
  margin-top:6rem;
  width:3.125rem;
}

.events-detail__nav-arrow-img{
  height:auto;
  transition:transform var(--duration-base) ease;
  width:100%;
}

.events-detail__nav-card{
  display:flex;
  flex-direction:column;
  flex-shrink:0;
  width:15.3125rem;
}

.events-detail__nav-media{
  overflow:hidden;
  width:15.3125rem;
}

.events-detail__nav-img{
  aspect-ratio:245/156;
  height:auto;
  object-fit:cover;
  transition:transform var(--duration-long) ease;
  width:15.3125rem;
  will-change:transform;
}

.events-detail__nav-body{
  background-color:var(--white);
  display:flex;
  flex-direction:column;
  gap:0.125rem;
  padding:0.625rem 1.125rem 0.9375rem;
}

.events-detail__nav-label{
  font-size:0.875rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.1em;
  line-height:2.1428571429;
}

.events-detail__nav-title{
  -webkit-box-orient:vertical;
  line-clamp:3;
  -webkit-line-clamp:3;
  display:-webkit-box;
  font-size:0.875rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.1em;
  line-height:1.7142857143;
  overflow:hidden;
}

.facility-about{
  margin-inline:auto;
  margin-top:1.5625rem;
  max-width:85.375rem;
}

.facility-about__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.facility-about__intro{
  font-size:1.0625rem;
  line-height:2.1875;
}

.facility-about__block{
  margin-top:5.3125rem;
}

.facility-about__text{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
  text-align:center;
}

.facility-about__title{
  font-size:1.6875rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.facility-about__subtitle-group{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
}

.facility-about__subtitle{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.facility-about__media{
  margin-top:1.6875rem;
}

.facility-about__img{
  aspect-ratio:363/248;
  height:auto;
  object-fit:cover;
  width:100%;
}

.facility-gallery{
  margin-top:1.5625rem;
}

.facility-gallery__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.facility-gallery__list{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
}

.facility-gallery__item{
  width:100%;
}

.facility-gallery__img{
  height:auto;
  object-fit:cover;
  width:100%;
}

.facility-gallery__img--01{
  aspect-ratio:363/478;
}

.facility-gallery__img--02{
  aspect-ratio:363/246;
}

.facility-gallery__img--03{
  aspect-ratio:363/229;
}

.facility-gallery__img--04{
  aspect-ratio:363/243;
}

.facility-gallery__img--05{
  aspect-ratio:363/247;
}

.facility-gallery__img--06{
  aspect-ratio:363/243;
}

.facility-gallery__img--07{
  aspect-ratio:363/242;
}

.facility-mv{
  margin-top:3.875rem;
}

.facility-mv__caption{
  margin-inline:auto;
  padding-inline:1.25rem;
  padding-top:2.1875rem;
}

.facility-mv__lead{
  font-size:1.5rem;
  font-weight:var(--font-weight-semibold);
  line-height:2.0454545455;
  margin-top:3.3125rem;
  text-align:center;
}

.facility-mv__img-wrap{
  margin-top:3.3125rem;
  width:100%;
}

.facility-mv__img{
  aspect-ratio:390/235;
  height:auto;
  object-fit:cover;
  width:100%;
}

.facility-tech{
  margin-inline:auto;
  margin-top:3.4375rem;
  max-width:85.375rem;
  padding-bottom:4.6875rem;
}

.facility-tech__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.facility-tech__media--1{
  margin-left:-0.875rem;
  width:calc(100% - 1.9375rem);
}

.facility-tech__media--2{
  margin-left:auto;
  margin-right:-0.875rem;
  margin-top:1.4375rem;
  width:calc(100% - 1.5rem);
}

.facility-tech__img{
  height:auto;
  object-fit:cover;
  width:100%;
}

.facility-tech__img--1{
  aspect-ratio:695/473;
}

.facility-tech__img--2{
  aspect-ratio:471/321;
}

.facility-tech__text{
  margin-top:1.4375rem;
}

.facility-tech__title{
  font-size:1.6875rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  text-align:center;
}

.facility-tech__body{
  display:flex;
  flex-direction:column;
  gap:1.875rem;
  margin-top:2.375rem;
}

.facility-tech__body-text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.facility-works-cta{
  margin-top:3.4375rem;
}

.facility-works-cta__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.facility-works-cta__link{
  display:grid;
  grid-template-columns:184fr 179fr;
  margin-inline:auto;
  max-width:22.6875rem;
  width:100%;
}

.facility-works-cta__media{
  overflow:hidden;
  position:relative;
}

.facility-works-cta__img{
  aspect-ratio:184/171;
  height:100%;
  object-fit:cover;
  transition:transform var(--duration-long) ease;
  width:100%;
  will-change:transform;
}

.facility-works-cta__panel{
  background-color:var(--white);
  position:relative;
}

.facility-works-cta__title{
  font-size:1.25rem;
  font-weight:var(--font-weight-medium);
  left:2.625rem;
  line-height:3;
  position:absolute;
  top:2.375rem;
}

.facility-works-cta__more{
  left:2.5rem;
  position:absolute;
  top:5.6875rem;
}

.house-building-detail{
  margin-top:4.4375rem;
  padding-bottom:6.4375rem;
}

.house-building-detail__inner{
  margin-inline:auto;
  max-width:calc(var(--inner) + var(--padding-inline-sm) * 2);
  padding-inline:var(--padding-inline-sm);
}

.house-building-detail__block{
  display:flex;
  flex-direction:column;
  gap:1.625rem;
  margin-top:3.4375rem;
  scroll-margin-top:5rem;
}

.house-building-detail__block:first-child{
  margin-top:0;
}

.house-building-detail__media{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
}

.house-building-detail__tag{
  align-items:center;
  align-self:flex-start;
  background-color:var(--main-brown);
  color:var(--white);
  display:inline-flex;
  font-family:"Noto Sans JP", sans-serif;
  font-size:1rem;
  font-weight:var(--font-weight-regular);
  justify-content:center;
  letter-spacing:0.07em;
  line-height:1.2;
  min-height:1.5rem;
  min-width:5.8125rem;
  padding:0.25rem 1.0625rem;
  text-align:center;
}

.house-building-detail__title{
  font-size:1.5625rem;
  font-weight:var(--font-weight-medium);
  line-height:1.8;
}

.house-building-detail__figure{
  overflow:hidden;
  width:100%;
}

.house-building-detail__figure--wide{
  width:100%;
}

.house-building-detail__block--stacked .house-building-detail__title + .house-building-detail__figure--wide{
  margin-top:0;
}

.house-building-detail__img{
  height:auto;
  object-fit:cover;
}

.house-building-detail__caption{
  font-size:0.75rem;
  font-weight:var(--font-weight-medium);
  line-height:2.5;
  margin-top:1.75rem;
}

.house-building-detail__subtitle{
  color:var(--main-green);
  font-size:1.4375rem;
  font-weight:var(--font-weight-medium);
  line-height:2.25;
}

.house-building-detail__text-wrap{
  display:flex;
  flex-direction:column;
  gap:1.875rem;
}

.house-building-detail__subtitle + .house-building-detail__text-wrap{
  margin-top:1.1875rem;
}

.house-building-detail__lead{
  color:var(--main-brown);
  font-size:1.25rem;
  font-weight:var(--font-weight-medium);
  line-height:2.25;
}

.house-building-detail__subtitle + .house-building-detail__lead{
  margin-top:1.1875rem;
}

.house-building-detail__lead + .house-building-detail__text-wrap{
  margin-top:1.1875rem;
}

.house-building-detail__text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.house-building-detail__back{
  display:flex;
  justify-content:center;
  margin-top:4.9375rem;
}

.house-building-detail__performance-list{
  display:flex;
  flex-direction:column;
  gap:3.3125rem;
}

.house-building-detail__performance{
  display:flex;
  flex-direction:column;
  gap:1.1875rem;
}

.house-building-detail__performance-icon{
  height:3.0625rem;
  object-fit:contain;
  width:3.0625rem;
}

.house-building-detail__performance-label{
  color:var(--main-green);
  font-size:1.5625rem;
  font-weight:var(--font-weight-medium);
  line-height:2.25;
}

.house-building-detail__performance-grade{
  font-size:1.5625rem;
  font-weight:var(--font-weight-medium);
  line-height:2.25;
}

.house-building-detail__performance-text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.house-building-detail__text-wrap + .house-building-detail__requirement-list{
  margin-top:3.375rem;
}

.house-building-detail__requirement-list{
  display:flex;
  flex-direction:column;
  gap:1.875rem;
}

.house-building-detail__requirement{
  display:flex;
  flex-direction:column;
  gap:0.4375rem;
}

.house-building-detail__requirement-tag{
  align-items:center;
  align-self:flex-start;
  background-color:var(--main-beige);
  color:var(--main-brown);
  display:inline-flex;
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  justify-content:center;
  line-height:1;
  min-height:1.6875rem;
  min-width:5.8125rem;
  padding:0.375rem 1.0625rem;
  text-align:center;
}

.house-building-detail__requirement-text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.house-building-detail__requirement-list + .house-building-detail__highlight{
  margin-top:3.4375rem;
}

.house-building-detail__highlight{
  display:flex;
  flex-direction:column;
  gap:1.1875rem;
}

.house-building-detail__material{
  background-color:var(--main-beige);
  display:flex;
  flex-direction:column;
  gap:1.875rem;
  padding:1.25rem 1.5625rem;
}

.house-building-detail__material-heading{
  color:var(--main-brown);
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.house-building-detail__material-text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.house-building-detail__material-note{
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  line-height:2.5;
}

.house-building-detail__warranty-note{
  font-size:0.6875rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:0.3125rem;
  padding-inline:0.9375rem;
}

.house-building-detail__warranty-note-link{
  -webkit-text-decoration:underline;
  -webkit-text-decoration-skip-ink:none;
  text-decoration:underline;
          text-decoration-skip-ink:none;
  transition:opacity var(--duration-base) ease;
}

.house-building-detail-mv{
  margin-top:3.875rem;
}

.house-building-detail-mv__inner{
  display:flex;
  flex-direction:column;
}

.house-building-detail-mv__img-wrap{
  display:block;
  order:1;
  overflow:hidden;
  width:100%;
}

.house-building-detail-mv__img{
  aspect-ratio:390/298;
  height:100%;
  object-fit:cover;
}

.house-building-detail-mv__caption{
  align-items:center;
  background-color:var(--main-beige);
  display:flex;
  flex-direction:column;
  height:6.3125rem;
  justify-content:center;
  margin-top:-3.1875rem;
  order:2;
  padding-bottom:0.6875rem;
  position:relative;
  width:16.625rem;
  z-index:1;
}

.house-building-detail-mv__category{
  display:block;
  width:5.6875rem;
}

.house-building-detail-mv__category--technology{
  width:8.75rem;
}

.house-building-detail-mv__category--support{
  width:6.375rem;
}

.house-building-detail-mv--warranty{
  overflow-x:clip;
}

.house-building-detail-mv--warranty .house-building-detail-mv__caption{
  margin-top:2.125rem;
}

.house-building-detail-mv__category-img{
  height:auto;
}

.house-building-detail-mv__label{
  font-size:1.25rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.05em;
  line-height:1;
  text-align:center;
}

.house-building-features{
  margin-top:3.6875rem;
  padding-bottom:4.5625rem;
}

.house-building-features__inner{
  margin-inline:auto;
  max-width:calc(var(--inner) + var(--padding-inline-sm) * 2);
  padding-inline:var(--padding-inline-sm);
}

.house-building-features__item{
  margin-top:3.4375rem;
}

.house-building-features__item:first-child{
  margin-top:0;
}

.house-building-intro{
  margin-top:2rem;
}

.house-building-intro__title{
  font-size:1.75rem;
  line-height:1.8;
  text-align:center;
}

.house-building-intro__text{
  font-size:1.125rem;
  font-weight:var(--font-weight-regular);
  line-height:2;
  margin-top:2rem;
  text-align:center;
}

.house-building-mv{
  height:auto;
  margin-top:3.875rem;
}

.house-building-mv__img{
  height:auto;
}

.house-building-toc{
  background-color:var(--main-beige);
  margin-inline:auto;
  max-width:28.125rem;
  padding:1.625rem 2.25rem 2.5625rem;
  scroll-margin-top:5rem;
}

.house-building-toc__title{
  font-family:var(--font-family-base);
  font-size:1.4375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:1.9565217391;
  text-align:center;
}

.house-building-toc__list{
  display:grid;
  gap:0.625rem;
  grid-template-columns:1fr;
  margin-top:1.0625rem;
}

.house-building-toc__item{
  display:flex;
}

.house-building-toc__link{
  align-items:center;
  background-color:var(--white);
  color:var(--text-black);
  display:flex;
  flex:1;
  gap:0.5rem;
  min-height:2.8125rem;
  padding:0.125rem 1.1875rem;
}

.house-building-toc__text{
  flex:1;
  font-family:var(--font-family-base);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  line-height:1.25;
  text-align:center;
}

.house-building-toc__link::after{
  background:url("../images/house-building/common/toc-arrow.svg") no-repeat center/contain;
  content:"";
  flex-shrink:0;
  height:0.5rem;
  transition:transform var(--duration-base) ease;
  width:0.9375rem;
}
.house-building-toc-floating{
  align-items:stretch;
  background-color:var(--main-beige);
  bottom:10.875rem;
  display:flex;
  gap:0.125rem;
  opacity:0;
  padding:0.6875rem 0.3125rem 0.6875rem 0.4375rem;
  pointer-events:none;
  position:fixed;
  right:1.125rem;
  transition:opacity var(--duration-base) ease-in-out, visibility var(--duration-base) ease-in-out;
  visibility:hidden;
  will-change:opacity, visibility;
  z-index:var(--z-index-to-top);
}

.house-building-toc-floating.is-visible{
  opacity:1;
  pointer-events:auto;
  visibility:visible;
}

.house-building-toc-floating__text{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:1.25;
  padding-inline:0.3125rem;
  writing-mode:vertical-rl;
}

.house-building-toc-floating::after{
  background-image:linear-gradient(var(--main-orange), var(--main-orange));
  background-position:left bottom;
  background-repeat:no-repeat;
  background-size:1px 100%;
  content:"";
  margin-left:0.3125rem;
  width:1px;
}
@keyframes house-building-toc-floating-line{
  0%{
    background-position:left top;
    background-size:1px 100%;
  }
  45%{
    background-position:left top;
    background-size:1px 0;
  }
  45.01%{
    background-position:left bottom;
    background-size:1px 0;
  }
  100%{
    background-position:left bottom;
    background-size:1px 100%;
  }
}
.page-404{
  margin-top:3.875rem;
  padding-block:2.1875rem 7.8125rem;
}

.page-404__title{
  padding-inline:1.25rem;
}

.page-404__inner{
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}
.page-404__message{
  font-size:1.125rem;
  font-weight:var(--font-weight-regular);
  line-height:2.3333333333;
  text-align:left;
}

.privacy-policy{
  background-color:var(--body-bg);
  margin-top:3.875rem;
  padding-block:2.1875rem 6.5rem;
}

.privacy-policy__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.privacy-policy__title{
  padding-inline:1.25rem;
}

.privacy-policy__intro{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:2.1875;
  margin-top:2.1875rem;
}

.privacy-policy__list{
  display:flex;
  flex-direction:column;
  gap:2.125rem;
  margin-top:2.125rem;
}

.privacy-policy__item{
  display:flex;
  flex-direction:column;
  gap:0;
}

.privacy-policy__item-title{
  font-size:1.0625rem;
  font-weight:var(--font-weight-semibold);
  line-height:2.1875;
}

.privacy-policy__item-body{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:2.1875;
}

.renovation-faq{
  margin-top:4.0625rem;
}

.renovation-faq__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.renovation-faq__title{
  align-items:center;
  display:flex;
  font-size:min(1.5625rem, 2500 / var(--cq-ref-mobile) * 1cqi);
  font-weight:var(--font-weight-semibold);
  gap:0;
  justify-content:center;
  line-height:1.8;
}
.renovation-faq__title::before, .renovation-faq__title::after{
  background-color:var(--text-black);
  content:"";
  display:block;
  flex-shrink:0;
  height:1px;
  width:1rem;
}

.renovation-faq__title-text{
  max-width:21.0625rem;
  text-align:center;
}

.renovation-faq__list{
  display:flex;
  flex-direction:column;
  gap:0.5625rem;
  margin-top:1.4375rem;
}

.renovation-faq__item{
  position:relative;
}

.renovation-faq__item::after{
  background-color:var(--text-black);
  bottom:0;
  content:"";
  height:1px;
  left:2.6875rem;
  pointer-events:none;
  position:absolute;
  right:0;
}
.renovation-faq__question{
  align-items:center;
  display:flex;
  gap:0.3125rem;
  text-align:left;
  width:100%;
}

.renovation-faq__badge{
  align-items:flex-start;
  background-color:var(--main-beige);
  border-radius:0.125rem;
  display:flex;
  flex-shrink:0;
  font-family:var(--font-family-base);
  font-size:1.875rem;
  font-weight:var(--font-weight-medium);
  height:2.25rem;
  justify-content:flex-start;
  line-height:1;
  padding-left:0.25rem;
  width:2.375rem;
}

.renovation-faq__badge--q{
  color:var(--main-green);
}

.renovation-faq__badge--a{
  color:var(--main-orange);
  margin-top:0.4375rem;
}

.renovation-faq__question-content{
  align-items:center;
  background-color:var(--body-bg);
  display:flex;
  flex:1;
  gap:0.625rem;
  min-width:0;
  padding:0.625rem 1.0625rem;
}

.renovation-faq__question-text{
  flex:1;
  font-size:1.125rem;
  font-weight:var(--font-weight-bold);
  line-height:1.875;
  min-width:0;
  transition:color var(--duration-base) ease;
}
.renovation-faq__icon{
  flex-shrink:0;
  height:1.125rem;
  position:relative;
  width:1.125rem;
}

.renovation-faq__icon::before,
.renovation-faq__icon::after{
  background-color:var(--text-black);
  content:"";
  height:1px;
  left:0;
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
}

.renovation-faq__icon::after{
  transform:translateY(-50%) rotate(90deg);
  transition:transform var(--duration-base) ease;
}

.renovation-faq__item.is-open .renovation-faq__icon::after{
  transform:translateY(-50%) rotate(0);
}

.renovation-faq__answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows var(--duration-base) ease;
}

.renovation-faq__item.is-open .renovation-faq__answer{
  grid-template-rows:1fr;
}

.renovation-faq__answer-inner{
  align-items:flex-start;
  display:flex;
  gap:0.3125rem;
  min-height:0;
  overflow:hidden;
}

.renovation-faq__answer-content{
  background-color:var(--body-bg);
  flex:1;
  min-width:0;
  padding:0.4375rem 2rem 1.25rem 1rem;
}

.renovation-faq__answer-text{
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  line-height:1.875;
}

.renovation-mv{
  margin-top:3.875rem;
}

.renovation-mv__caption{
  margin-inline:auto;
  padding-inline:1.25rem;
  padding-top:2.1875rem;
}

.renovation-mv__lead{
  font-size:1.5rem;
  font-weight:var(--font-weight-semibold);
  line-height:2.0454545455;
  margin-top:3.3125rem;
  text-align:center;
}

.renovation-mv__img-wrap{
  margin-top:3.1875rem;
  width:100%;
}

.renovation-mv__img{
  aspect-ratio:390/235;
  height:auto;
  object-fit:cover;
  width:100%;
}

.renovation-services{
  margin-top:4.1875rem;
}

.renovation-services__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.renovation-services__title{
  font-size:1.5625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-inline:auto;
  text-align:center;
}

.renovation-services__list{
  display:flex;
  flex-direction:column;
  gap:3.4375rem;
  margin-top:1.5625rem;
}

.renovation-services__item{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
}

.renovation-services__media{
  width:100%;
}

.renovation-services__img{
  aspect-ratio:502/335;
  height:auto;
  object-fit:cover;
}

.renovation-services__img--tall{
  aspect-ratio:502/508;
}

.renovation-services__body{
  display:flex;
  flex-direction:column;
  gap:1.0625rem;
}

.renovation-services__number{
  flex-shrink:0;
  height:2.875rem;
  object-fit:contain;
  width:4.375rem;
}

.renovation-services__caption{
  display:flex;
  flex-direction:column;
  gap:0.3125rem;
}

.renovation-services__heading{
  font-size:1.5625rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
}

.renovation-services__subtitle{
  color:var(--main-green);
  font-size:1.4375rem;
  font-weight:var(--font-weight-medium);
  line-height:2.25;
}

.renovation-services__text-wrap{
  display:flex;
  flex-direction:column;
  gap:1.875rem;
}

.renovation-services__text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
}

.renovation-showroom{
  margin-top:6rem;
  padding-bottom:5.0625rem;
}

.renovation-showroom__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.renovation-showroom__info{
  display:flex;
  flex-direction:column;
  font-weight:var(--font-weight-medium);
  gap:1.75rem;
}

.renovation-showroom__heading{
  font-size:1.6875rem;
  line-height:1.8;
}

.renovation-showroom__contact{
  font-size:1.125rem;
  line-height:2;
}

.renovation-showroom__text-wrap{
  display:flex;
  flex-direction:column;
  gap:1.875rem;
}

.renovation-showroom__text{
  font-size:1.125rem;
  line-height:2;
}

.renovation-showroom__media{
  display:flex;
  flex-direction:column;
  gap:1.5625rem;
  margin-top:1.5625rem;
}

.renovation-showroom__photo-img{
  aspect-ratio:546/371;
  height:auto;
  object-fit:cover;
}

.renovation-showroom__map{
  aspect-ratio:546/371;
  width:100%;
}

.renovation-showroom__map iframe{
  display:block;
  height:100%;
  width:100%;
}

.renovation-works{
  margin-top:3rem;
}

.renovation-works__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.renovation-works__title{
  font-size:1.4375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:2.25;
  text-align:center;
}

.renovation-works__list{
  display:grid;
  gap:0.625rem;
  grid-template-columns:1fr;
  margin-top:1.0625rem;
}

.renovation-works__item{
  overflow:hidden;
}

.renovation-works__link{
  display:block;
  height:100%;
  width:100%;
}

.renovation-works__img{
  aspect-ratio:301/200;
  height:auto;
  object-fit:cover;
  transition:transform var(--duration-long) ease;
  will-change:transform;
}

.renovation-works__more{
  display:flex;
  justify-content:center;
  margin-top:1.3125rem;
}

.renovation-works__empty{
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  padding-block:1.875rem 1.25rem;
  text-align:center;
}

.results-archive{
  margin-top:3.875rem;
  padding-bottom:4.375rem;
  padding-top:2.1875rem;
}

.results-archive__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:1.25rem;
}

.results-archive__heading{
  align-items:center;
  display:flex;
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  gap:0.625rem;
  letter-spacing:0.1em;
  line-height:2.25;
}
.results-archive__heading::before{
  background-color:var(--text-black);
  content:"";
  flex-shrink:0;
  height:1px;
  width:2.4375rem;
}

.results-archive__body{
  display:flex;
  flex-direction:column;
  gap:2.1875rem;
  margin-top:2.125rem;
}

.results-archive__filter-list{
  grid-column-gap:2rem;
  -moz-column-gap:2rem;
  grid-row-gap:0.625rem;
       column-gap:2rem;
  display:grid;
  grid-auto-flow:column;
  grid-template-columns:repeat(2, 8.625rem);
  grid-template-rows:repeat(4, auto);
  justify-content:center;
  row-gap:0.625rem;
}

.results-archive__filter-link{
  align-items:center;
  background-color:var(--body-bg);
  border:1px solid var(--main-brown);
  color:var(--main-brown);
  display:flex;
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  justify-content:center;
  letter-spacing:0.1em;
  min-height:1.5625rem;
  padding-inline:0.75rem;
  text-align:center;
  transition:background-color var(--duration-base) ease, color var(--duration-base) ease;
  white-space:nowrap;
  width:100%;
}

.results-archive__filter-link--current{
  background-color:var(--main-brown);
  color:var(--white);
}

.results-archive__results{
  width:100%;
}

.results-archive__list{
  display:grid;
  gap:1.3125rem;
  grid-template-columns:1fr;
}

.results-archive__pagination{
  display:flex;
  justify-content:center;
  margin-top:3.375rem;
}

.results-archive__empty{
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  text-align:center;
}

.results-archive__item-link{
  display:block;
  width:100%;
}

.results-archive__item-img-wrap{
  overflow:hidden;
  width:100%;
}

.results-archive__item-img{
  aspect-ratio:301/200;
  height:auto;
  object-fit:cover;
  transition:transform var(--duration-long) ease;
  will-change:transform;
}

.results-archive__item-title{
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  display:-webkit-box;
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.05em;
  line-height:2.3333333333;
  overflow:hidden;
  transition:color var(--duration-base) ease;
}

.results-detail{
  margin-top:3.875rem;
  padding-bottom:3.6875rem;
  padding-top:2.1875rem;
}

.results-detail__inner{
  margin-inline:auto;
  max-width:33rem;
  padding-inline:var(--padding-inline-sm);
}

.results-detail__page-title{
  align-items:center;
  display:flex;
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  gap:0.625rem;
  letter-spacing:0.1em;
  line-height:2.25;
}
.results-detail__page-title::before{
  background-color:var(--text-black);
  content:"";
  flex-shrink:0;
  height:1px;
  width:2.4375rem;
}

.results-detail__heading{
  align-items:flex-start;
  display:flex;
  flex-direction:column;
  gap:0.8125rem;
  margin-inline:auto;
  margin-top:1.75rem;
  max-width:52.25rem;
}

.results-detail__title{
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.05em;
  line-height:1.6;
}

.results-detail__category{
  align-items:center;
  background-color:var(--main-brown);
  color:var(--white);
  display:inline-flex;
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  justify-content:center;
  letter-spacing:0.05em;
  line-height:1.45;
  padding:0.3125rem 1rem;
}

.results-detail__slider{
  margin-inline:auto;
  margin-top:2.8125rem;
  max-width:63.25rem;
}

.results-detail__content{
  margin-inline:auto;
  margin-top:2.1875rem;
  max-width:47.5rem;
}
.results-detail__content h2{
  font-size:1.6875rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.results-detail__content h3{
  font-size:1.5rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.results-detail__content h4{
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.results-detail__content h5{
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  line-height:1.8;
  margin-top:1.25rem;
}
.results-detail__content p{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:1.25rem;
}
.results-detail__content a{
  -webkit-text-decoration:underline currentColor;
  color:var(--link-blue);
  font-size:1.0625rem;
  line-height:2;
  margin-top:1.25rem;
  text-decoration:underline;
          text-decoration:underline currentColor;
  transition:opacity 0.3s ease;
}
.results-detail__content a:hover{
  opacity:0.7;
}
.results-detail__content ul{
  margin-top:1.25rem;
}
.results-detail__content ul li{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:2;
  padding-left:1.25rem;
  text-indent:-1.125rem;
}
.results-detail__content ul li::before{
  background-color:currentColor;
  border-radius:50%;
  content:"";
  display:inline-block;
  height:0.3125rem;
  margin-right:0.1875rem;
  margin-right:0.4375rem;
  position:relative;
  top:-0.375rem;
  width:0.3125rem;
}
.results-detail__content ol{
  counter-reset:number;
  margin-top:1.25rem;
}
.results-detail__content ol li{
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  line-height:2;
  padding-left:1.75rem;
  text-indent:-0.75rem;
}
.results-detail__content ol li::before{
  color:currentColor;
  content:counter(number) ".";
  counter-increment:number;
  display:inline-block;
  line-height:1;
  margin-right:0.125rem;
}
.results-detail__content figure{
  margin-top:1.25rem;
}
.results-detail__content .results-detail__description-title{
  text-align:center;
}

.results-detail-info{
  margin-inline:auto;
  margin-top:1.5625rem;
  max-width:47.5rem;
}

.results-detail-info__title{
  word-wrap:anywhere;
  border:1px solid var(--main-brown);
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  line-height:2.25;
  overflow-wrap:anywhere;
  padding:0.4375rem 1.375rem;
  text-align:center;
  word-break:break-word;
}

.results-detail-info__text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:1.5625rem;
  white-space:pre-wrap;
}

.search-archive{
  margin-top:3.875rem;
  padding-block:2.1875rem 6.5rem;
}

.search-archive__title{
  padding-inline:1.25rem;
}

.search-archive__inner{
  margin-inline:auto;
  margin-top:2.1875rem;
  max-width:34.375rem;
  padding-inline:1.5625rem;
}

.search-archive__list{
  border-top:1px solid var(--main-brown);
  display:flex;
  flex-direction:column;
}

.search-archive__item{
  border-bottom:1px solid var(--main-brown);
}

.search-archive__link{
  display:flex;
  flex-direction:column;
  gap:0.375rem;
  padding-block:0.9375rem;
}
.search-archive__post-title{
  font-size:1.125rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.05em;
  line-height:1.6;
}

.search-archive__post-content{
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  display:-webkit-box;
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.05em;
  line-height:1.8;
  overflow:hidden;
  transition:color var(--duration-base);
}

.search-archive__pagination{
  display:flex;
  justify-content:center;
  margin-top:3.4375rem;
}

.search-archive__empty{
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  margin-top:3.125rem;
  text-align:center;
}

.mv{
  height:34.0625rem;
  overflow:hidden;
  width:100%;
}

.mv__video{
  background-color:var(--gray);
  display:block;
  height:100%;
  object-fit:cover;
  width:100%;
}

.top-blog{
  margin-top:5.75rem;
}

.top-blog__inner{
  margin-inline:auto;
  max-width:var(--inner);
}

.top-blog__content{
  background-color:var(--white);
  padding:2.8125rem 1.375rem 2.5rem;
  position:relative;
}

.top-blog__content::before{
  background-color:var(--main-brown);
  content:"";
  height:0.1875rem;
  left:1.375rem;
  position:absolute;
  top:2.5rem;
  width:5.125rem;
  z-index:1;
}

.top-blog__content::after{
  background-color:var(--brown-light);
  content:"";
  height:0.0625rem;
  left:calc(1.375rem + 3.125rem);
  position:absolute;
  top:calc(2.5rem + 0.0625rem);
  width:10.625rem;
}

.top-blog__main{
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}

.top-blog__title{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:1.4375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:1.9565217391;
}

.top-blog__list{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:0.4375rem;
}

.top-blog__empty{
  color:var(--text-black);
  flex:1;
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
}

.top-blog__item-link{
  display:flex;
  flex-direction:column;
  gap:0.125rem;
}

.top-blog__date{
  flex-shrink:0;
  font-size:1rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.05em;
}

.top-blog__item-title{
  line-clamp:3;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  display:-webkit-box;
  font-size:1.125rem;
  font-weight:var(--font-weight-regular);
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:color var(--duration-base) ease;
  white-space:normal;
}

.top-blog__links{
  display:flex;
  justify-content:flex-end;
  margin-top:1.625rem;
}

.top-cta{
  margin-top:4.75rem;
  padding-bottom:3.1875rem;
}

.top-cta__inner{
  margin-inline:auto;
  max-width:calc(var(--inner) + var(--padding-inline-sm) * 2);
  padding-inline:var(--padding-inline-sm);
}

.top-cta__list{
  display:flex;
  flex-direction:column;
  gap:2.9375rem;
}

.top-cta__item{
  flex:1;
  min-width:0;
}

.top-features{
  margin-top:5.75rem;
}

.top-features__inner{
  margin-inline:auto;
  max-width:calc(var(--inner) + var(--padding-inline-sm) * 2);
  padding-inline:var(--padding-inline-sm);
}

.top-features__item{
  margin-top:3.375rem;
}

.top-features__item:first-child{
  margin-top:0;
}

.top-info{
  margin-top:5rem;
}

.top-info__inner{
  margin-inline:auto;
  max-width:calc(var(--inner) + 1.5625rem * 2);
  padding-inline:1.5625rem;
}

.top-info__list{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

.top-info__item{
  flex:1;
  min-width:0;
}

.top-info__item-link{
  display:block;
  width:100%;
}

.top-info__title{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:1.5rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:2.25;
  text-align:center;
}

.top-info__img-wrap{
  margin-top:0.5625rem;
  overflow:hidden;
  position:relative;
}

.top-info__img{
  aspect-ratio:338/235;
  height:100%;
  object-fit:cover;
  transition:transform var(--duration-long) ease;
  will-change:transform;
}

.top-info__view-more{
  bottom:1.1875rem;
  position:absolute;
  right:1.125rem;
}

.top-intro{
  margin-top:2.125rem;
}

.top-intro__inner{
  margin-inline:auto;
  max-width:calc(var(--inner-sm) + var(--padding-inline) * 2);
  padding-inline:var(--padding-inline);
}

.top-intro__title{
  font-family:var(--font-family-base);
  font-size:1.8125rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.17em;
  line-height:1.96;
  text-align:center;
}

.top-intro__text-wrap{
  display:flex;
  flex-direction:column;
  gap:2.25rem;
  margin-top:1.5rem;
}

.top-intro__text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  line-height:2.67;
  text-align:center;
}

.top-intro__second-text{
  font-size:1.25rem;
  font-weight:var(--font-weight-medium);
  text-align:center;
}

.top-news{
  margin-top:4.25rem;
}

.top-news__inner{
  margin-inline:auto;
  max-width:var(--inner);
}

.top-news__content{
  background:var(--white);
  padding:2.1875rem 1.375rem 2.625rem 1.375rem;
}

.top-news__title{
  font-family:var(--font-family-base);
  font-size:1.625rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:1.96;
  text-align:center;
}

.top-news__list{
  display:flex;
  flex-direction:column;
  gap:0.9375rem;
  margin-top:1rem;
}

.top-news__empty{
  color:var(--text-black);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  margin-top:1rem;
}

.top-news__item-link{
  display:flex;
  gap:1.0625rem;
}

.top-news__label{
  align-items:center;
  color:var(--white);
  display:inline-flex;
  flex-shrink:0;
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  height:fit-content;
  justify-content:center;
  min-width:4.875rem;
  padding:0.0625rem 0.25rem;
}

.top-news__label--event{
  background-color:var(--main-orange);
}

.top-news__label--news{
  background-color:var(--main-brown);
}

.top-news__item-content{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.top-news__date{
  flex-shrink:0;
  font-size:1rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.05em;
}

.top-news__item-title{
  line-clamp:2;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  display:-webkit-box;
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:-0.01em;
  margin-top:0.3125rem;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:color var(--duration-base) ease;
  white-space:normal;
}

.top-news__links{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1.125rem;
  margin-top:2.375rem;
}

.top-news__link{
  font-family:var(--font-family-base);
  font-size:1.0625rem;
  font-weight:var(--font-weight-regular);
  min-width:5.5625rem;
  padding-bottom:0.5rem;
  position:relative;
  text-align:center;
}

.top-news__link::before{
  background-color:var(--text-black);
  bottom:0;
  content:"";
  height:1px;
  left:0;
  position:absolute;
  right:0;
  width:100%;
}

.top-news__link::after{
  aspect-ratio:1/1;
  background-color:var(--text-black);
  border-radius:calc(infinity * 1px);
  bottom:-1px;
  content:"";
  left:0;
  position:absolute;
  transition:left 0.3s ease-in-out;
  width:0.1875rem;
  will-change:left;
}

.top-results{
  margin-top:6.625rem;
}

.top-results__inner{
  margin-inline:auto;
  max-width:calc(var(--inner-sm) + 0.6875rem * 2);
  padding-inline:0.6875rem;
}

.top-results__title{
  font-family:var(--font-family-base);
  font-size:1.8125rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.1em;
  text-align:center;
}

.top-results__heading{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:1.5625rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:2.25;
  margin-top:4.75rem;
  text-align:center;
}

.top-results__list{
  display:grid;
  gap:0.6875rem 0.5625rem;
  grid-template-columns:repeat(2, 1fr);
  margin-inline:auto;
  margin-top:1.0625rem;
}

.top-results__item{
  overflow:hidden;
}

.top-results__item-link{
  display:block;
  height:100%;
  width:100%;
}

.top-results__item-img{
  aspect-ratio:301/200;
  height:100%;
  object-fit:cover;
  transition:transform var(--duration-long) ease;
  will-change:transform;
}

.top-results__more{
  display:flex;
  justify-content:center;
  margin-top:1.3125rem;
}

.top-results__empty{
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  line-height:2;
  padding-block:1.875rem 1.25rem;
  text-align:center;
}

.top-services{
  margin-top:6rem;
}

.top-services__inner{
  margin-inline:auto;
  max-width:calc(var(--inner) + 0.8125rem * 2);
  padding-inline:0.8125rem;
}

.top-services__list{
  display:flex;
  flex-direction:column;
  gap:1.625rem;
}

.top-services__item{
  flex:1;
  min-width:0;
}

.top-services__item-link{
  display:grid;
  grid-template-columns:213fr 149fr;
  width:100%;
}

.top-services__img-wrap{
  overflow:hidden;
}

.top-services__img{
  aspect-ratio:213/171;
  height:100%;
  object-fit:cover;
  transition:transform var(--duration-long) ease;
  will-change:transform;
}

.top-services__content{
  align-items:center;
  background-color:var(--white);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:3.5rem 0.8125rem 1.0625rem;
}

.top-services__heading{
  align-items:center;
  color:var(--text-black);
  display:flex;
  font-family:var(--font-family-base);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  height:100%;
  letter-spacing:0.1em;
  line-height:1.225;
}

.top-video{
  margin-top:5.875rem;
}

.top-video__inner{
  margin-inline:auto;
  max-width:calc(var(--inner) + 0.75rem * 2);
  padding-inline:0.75rem;
}

.top-video__link{
  display:grid;
  grid-template-columns:213fr 149fr;
  width:100%;
}

.top-video__img-wrap{
  overflow:hidden;
}

.top-video__img{
  aspect-ratio:213/171;
  height:100%;
  object-fit:cover;
  transition:transform var(--duration-long) ease;
  will-change:transform;
}

.top-video__content{
  align-items:center;
  background-color:var(--white);
  display:flex;
  justify-content:center;
  position:relative;
}

.top-video__heading{
  color:var(--text-black);
  font-family:var(--font-family-base);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.1em;
  line-height:1.225;
  text-align:center;
}

.top-video__view-more{
  bottom:1.0625rem;
  left:50%;
  position:absolute;
  transform:translateX(-50%);
  white-space:nowrap;
}

@media (min-width: 768px){
  .u-desktop{
    display:block;
  }

  .u-mobile{
    display:none;
  }

  .u-desktop-inline{
    display:inline;
  }

  .u-mobile-inline{
    display:none;
  }

  html{
    font-size:1.5794669299vw;
  }

  a[href*="tel:"]{
    -webkit-text-decoration:none;
    cursor:default;
    pointer-events:none;
    text-decoration:none;
  }

  .js-fade-up{
    translate:0 0.625rem;
  }

  .js-fade-up-fast{
    translate:0 0.625rem;
  }

  .js-slide-left{
    translate:-0.625rem 0;
  }

  .js-slide-right{
    translate:0.625rem 0;
  }

  .js-slide-right-fast{
    translate:0.625rem 0;
  }

  .js-company-sdgs-about .company-sdgs__about-title,
  .js-company-sdgs-about .company-sdgs__about-subtitle,
  .js-company-sdgs-about .company-sdgs__about-body,
  .js-company-sdgs-about .company-sdgs__about-caption,
  .js-company-sdgs-about .company-sdgs__about-button{
    translate:0.625rem 0;
  }

  .js-company-craftsman-block .company-craftsman__block-source{
    transition-delay:0.2s;
  }

  .js-company-craftsman-block .company-craftsman__block-imgs > :nth-child(2),
  .js-company-craftsman-block .company-craftsman__block-imgs > :nth-child(2) img{
    transition-delay:0.2s;
  }

  .js-company-craftsman-block .company-craftsman__block-body{
    transition-delay:0.4s;
    translate:0.625rem 0;
  }

  .js-company-craftsman-intro .company-craftsman__intro-title,
  .js-company-craftsman-intro .company-craftsman__intro-body{
    translate:0.625rem 0;
  }

  .js-company-craftsman-intro .company-craftsman__intro-title{
    transition-delay:0s;
  }

  .js-company-craftsman-intro .company-craftsman__intro-body{
    transition-delay:0.2s;
  }

  .js-company-craftsman-intro .company-craftsman__intro-img-wrap img{
    transition-delay:0.3s;
  }

  .js-house-building-detail-body > .house-building-detail__subtitle,
  .js-house-building-detail-body > .house-building-detail__lead,
  .js-house-building-detail-body > .house-building-detail__text-wrap{
    translate:0.625rem 0;
  }

  .js-requirement-block .house-building-detail__requirement-tag,
  .js-requirement-block .house-building-detail__requirement-text{
    translate:0.625rem 0;
  }

  .js-performance-block .house-building-detail__performance-icon,
  .js-performance-block .house-building-detail__performance-label,
  .js-performance-block .house-building-detail__performance-grade,
  .js-performance-block .house-building-detail__performance-text{
    translate:0.625rem 0;
  }

  .js-scaleImg.--delay-1 img{
    transition-delay:0.1s;
  }

  .js-scaleImg.--delay-2 img{
    transition-delay:0.2s;
  }

  .js-scaleImg.--delay-3 img{
    transition-delay:0.3s;
  }

  .js-scaleImg.--delay-4 img{
    transition-delay:0.4s;
  }

  .js-scaleImg.--delay-5 img{
    transition-delay:0.5s;
  }

  .js-scaleImg-fast.--delay-1 img{
    transition-delay:0.1s;
  }

  .js-scaleImg-fast.--delay-2 img{
    transition-delay:0.2s;
  }

  .js-scaleImg-fast.--delay-3 img{
    transition-delay:0.3s;
  }

  .js-scaleImg-fast.--delay-4 img{
    transition-delay:0.4s;
  }

  .js-scaleImg-fast.--delay-5 img{
    transition-delay:0.5s;
  }

  .back-to-index{
    font-size:1.25rem;
  }

  .category-filter__label{
    font-size:0.875rem;
  }

  .category-filter__list{
    flex-direction:row;
    flex-wrap:wrap;
    gap:1.625rem;
    justify-content:center;
  }

  .category-filter__link{
    font-size:1rem;
  }

  .cta-banner{
    grid-template-columns:311fr 223fr;
  }

  .cta-banner__title{
    font-size:1.4375rem;
    line-height:1.5217391304;
  }

  .cta-banner__img{
    aspect-ratio:223/179;
  }

  .top-cta__list .view-more.cta-banner__view-more{
    bottom:0.625rem;
    right:1.125rem;
  }

  .view-more.cta-banner__view-more{
    bottom:1.5rem;
    left:auto;
    right:1.8125rem;
    transform:none;
  }

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

  .feature-block__heading{
    flex-shrink:0;
    padding-left:0;
  }

  .feature-block__title-en{
    font-size:1.75rem;
    line-height:1.5625;
  }

  .feature-block__title-ja{
    font-size:0.9375rem;
    line-height:2.08;
  }

  .feature-block__list{
    gap:1.1875rem;
    margin-inline:0;
    margin-top:0;
    max-width:43.375rem;
  }

  .feature-block__label{
    font-size:1.125rem;
  }

  .feature-block__img-wrap{
    margin-top:0.5625rem;
  }

  .floating-banner{
    bottom:auto;
    flex-direction:column;
    right:0;
    top:45%;
    transform:translateY(-50%);
    width:auto;
  }

  .floating-banner__link{
    font-size:0.9375rem;
    width:3.6875rem;
    writing-mode:vertical-rl;
  }

  .floating-banner__link--contact{
    flex:none;
    letter-spacing:0.4em;
    min-height:17rem;
    padding:1rem 0.875rem;
  }

  .floating-banner__link--events{
    flex:none;
    letter-spacing:0.4em;
    min-height:9.5rem;
    padding:1rem 0.875rem;
  }

  .footer{
    padding-block:7.125rem 4.6875rem;
  }

  .footer__inner{
    -moz-column-gap:6.1875rem;
         column-gap:6.1875rem;
    grid-template-areas:"nav    logo" "nav    addresses" "nav    privacy" "copyright copyright";
    grid-template-columns:max-content 1fr;
    max-width:69.75rem;
    padding-inline:2.5rem 1.875rem;
    row-gap:1.75rem;
  }

  .footer__nav-list{
    -moz-column-gap:0;
         column-gap:0;
    grid-auto-flow:row;
    grid-template-columns:1fr;
    grid-template-rows:none;
    row-gap:0.875rem;
  }

  .footer__nav-link{
    font-size:0.875rem;
  }

  .footer__addresses{
    display:grid;
    gap:1.75rem 3.375rem;
    grid-template-areas:"main    archive" "hanare  factory";
    grid-template-columns:max-content 1fr;
  }

  .footer__privacy{
    justify-self:end;
    margin-top:0;
    margin-top:0.3125rem;
  }

  .footer__privacy::before{
    width:5.5625rem;
  }

  .footer__privacy::after{
    left:0.1875rem;
  }

  .footer__copyright{
    margin-top:1.875rem;
  }

  .footer-cta-wrap{
    gap:7.25rem;
    padding-bottom:1.75rem;
  }

  .footer-cta-wrap--sm{
    gap:6.1875rem;
  }

  .footer-cta{
    max-width:37.0625rem;
  }

  .footer-cta .cta-banner{
    grid-template-columns:311fr 282fr;
  }

  .footer-cta .cta-banner .cta-banner__media .cta-banner__img{
    aspect-ratio:282/179;
  }

  .header__inner{
    height:4.6875rem;
    padding-inline:clamp(1.25rem, 1.25rem + 55 * var(--fluid-basis), 4.6875rem) clamp(0.625rem, 0.625rem + 20 * var(--fluid-basis), 1.875rem);
    padding-top:0.625rem;
  }

  .header__logo-img{
    width:7.8125rem;
  }

  .header__search-button{
    margin-top:-0.3125rem;
  }

  .drawer__nav-list{
    gap:2.5rem;
  }

  .drawer__nav-link{
    font-size:1.125rem;
  }

  .page-title{
    font-size:1.4375rem;
    line-height:1.9565217391;
  }

  .post-list__link{
    align-items:center;
    flex-direction:row;
  }

  .post-list__badge{
    font-size:0.875rem;
  }

  .post-list__body{
    align-items:center;
    flex:1;
    gap:1.1875rem;
  }

  .post-list__title{
    -webkit-line-clamp:1;
    flex:1;
    font-size:1.0625rem;
  }

  .post-nav{
    align-items:center;
    gap:6.9375rem;
    grid-template-columns:repeat(2, 1fr);
  }

  .post-nav__item--next{
    margin-left:0;
  }

  .post-nav__title{
    font-size:1rem;
  }

  .search-box{
    top:5rem;
  }

  .thumb-slider{
    gap:1.375rem;
  }

  .thumb-slider__main{
    padding-inline:3.75rem;
  }

  .thumb-slider__arrow{
    background-color:transparent;
    border-radius:0;
    box-shadow:none;
    height:auto;
    width:2.5rem;
  }

  .thumb-slider__arrow-img{
    width:100%;
  }

  .thumb-slider__arrow--prev{
    left:0;
  }

  .thumb-slider__arrow--next{
    right:0;
  }

  .thumb-slider__thumbs{
    grid-template-columns:repeat(7, 1fr);
    justify-content:stretch;
    padding-inline:3.875rem;
  }

  .to-top{
    bottom:3.125rem;
    right:4.0625rem;
  }

  .view-more{
    font-size:0.9375rem;
    padding-bottom:0.5rem;
  }

  .view-more--large{
    font-size:1.0625rem;
    min-width:7.0625rem;
  }

  .inner{
    max-width:1073px;
    padding-left:30px;
    padding-right:30px;
  }

  .awards{
    margin-top:4.6875rem;
    padding-block:3.125rem 5.875rem;
  }

  .awards__title{
    margin-inline:auto;
    max-width:74.375rem;
  }

  .awards__inner{
    margin-top:3.125rem;
    max-width:72.75rem;
  }

  .awards__inner h2{
    font-size:1.5625rem;
  }

  .awards__inner h3{
    font-size:1.375rem;
  }

  .awards__inner h4{
    font-size:1.25rem;
  }

  .awards__inner h5{
    font-size:1.125rem;
  }

  .awards__inner p{
    font-size:0.9375rem;
  }

  .awards__inner a{
    font-size:0.9375rem;
  }

  .awards__inner ul li{
    font-size:0.9375rem;
  }

  .awards__inner ul li::before{
    height:0.3125rem;
    top:-0.15625rem;
    width:0.3125rem;
  }

  .awards__inner ol li{
    font-size:0.9375rem;
  }

  .awards__inner figure{
    margin-top:1.875rem;
  }

  .blogs-archive{
    margin-top:4.6875rem;
    padding-block:3.125rem 5.875rem;
  }

  .blogs-archive__title{
    margin-inline:auto;
    max-width:74.375rem;
  }

  .blogs-archive__inner{
    margin-top:3.125rem;
    max-width:55rem;
    padding-inline:var(--padding-inline-sm);
  }

  .blogs-archive__list{
    margin-top:4.625rem;
  }

  .blogs-archive__pagination{
    margin-top:4.8125rem;
  }

  .blogs-archive__empty{
    margin-top:4.625rem;
  }

  .blogs-archive__banner{
    margin-top:3.75rem;
  }

  .blogs-archive-banner{
    grid-template-columns:334fr 259fr;
    margin-inline:auto;
    width:37.0625rem;
  }

  .blogs-archive-banner__img{
    aspect-ratio:334/169;
  }

  .blogs-archive-banner__text{
    font-size:1.25rem;
  }

  .view-more.blogs-archive-banner__view-more{
    bottom:1.4375rem;
  }

  .blogs-single{
    margin-top:7.8125rem;
    padding-bottom:6.25rem;
  }

  .blogs-single__page-title{
    margin-inline:auto;
    max-width:74.375rem;
  }

  .blogs-single__inner{
    margin-top:3.125rem;
    max-width:59.1875rem;
  }

  .blogs-single__header{
    padding-inline:1.5625rem;
  }

  .blogs-single__title{
    font-size:1.125rem;
  }

  .blogs-single__badge{
    font-size:0.75rem;
  }

  .blogs-single__date{
    font-size:0.875rem;
  }

  .blogs-single__thumb{
    margin-inline:0;
    margin-top:1.5625rem;
  }

  .blogs-single__thumb-img{
    aspect-ratio:887/580;
  }

  .blogs-single__content{
    margin-top:2.1875rem;
    padding-inline:3.9375rem;
  }

  .blogs-single__content h2{
    font-size:1.5625rem;
  }

  .blogs-single__content h3{
    font-size:1.375rem;
  }

  .blogs-single__content h4{
    font-size:1.25rem;
  }

  .blogs-single__content h5{
    font-size:1.125rem;
  }

  .blogs-single__content p{
    font-size:0.9375rem;
  }

  .blogs-single__content a{
    font-size:0.9375rem;
  }

  .blogs-single__content ul li{
    font-size:0.9375rem;
  }

  .blogs-single__content ul li::before{
    height:0.3125rem;
    top:-0.15625rem;
    width:0.3125rem;
  }

  .blogs-single__content ol li{
    font-size:0.9375rem;
  }

  .blogs-single__content figure{
    margin-top:1.875rem;
  }

  .blogs-single__nav{
    margin-top:5.1875rem;
  }

  .company-access{
    margin-top:3.5625rem;
  }

  .company-access__inner{
    max-width:65.3125rem;
  }

  .company-access__heading{
    font-size:1.5625rem;
  }

  .company-access__list{
    flex-direction:row;
    gap:3.1875rem;
    justify-content:center;
  }

  .company-access__item{
    flex:1;
    gap:0.6875rem;
    max-width:29.1875rem;
  }

  .company-access__info{
    font-size:0.9375rem;
  }

  .company-craftsman{
    margin-top:5.1875rem;
    padding-block:4rem 5.4375rem;
  }

  .company-craftsman__inner{
    max-width:62.1875rem;
    padding-inline:var(--padding-inline-sm);
  }

  .company-craftsman__intro{
    align-items:flex-start;
    flex-direction:row-reverse;
    gap:1.3125rem;
    margin-top:5.25rem;
    max-width:calc(100vw - var(--padding-inline-sm) * 2);
    width:62.375rem;
  }

  .company-craftsman__intro-text{
    gap:1.4375rem;
    width:31.0625rem;
  }

  .company-craftsman__intro-title{
    --cq-ref:1130;
    font-size:clamp(1.5625rem, 3500 / var(--cq-ref) * 1cqi, 2.1875rem);
    line-height:1.5714285714;
  }

  .company-craftsman__intro-body{
    font-size:0.9375rem;
    width:29.25rem;
  }

  .company-craftsman__intro-img{
    flex-shrink:0;
    width:30rem;
  }

  .company-craftsman__list{
    gap:4.375rem;
    margin-top:9.0625rem;
  }

  .company-craftsman__block{
    padding-block:3.3125rem 4.9375rem;
    padding-inline:3.1875rem 3.25rem;
  }

  .company-craftsman__block-title{
    font-size:1.125rem;
  }

  .company-craftsman__block-body{
    font-size:0.9375rem;
  }

  .company-craftsman__block--workshop .company-craftsman__block-content{
    align-items:flex-start;
    flex-direction:row;
    gap:2rem;
    justify-content:center;
    margin-top:2.5rem;
  }

  .company-craftsman__block--workshop .company-craftsman__block-imgs{
    flex-shrink:0;
    gap:1.0625rem;
    width:25rem;
  }

  .company-craftsman__block--workshop .company-craftsman__block-img{
    aspect-ratio:400/277;
  }

  .company-craftsman__block--workshop .company-craftsman__block-body{
    width:25rem;
  }

  .company-craftsman__block--non-housing{
    padding-block:3.3125rem 3.0625rem;
  }

  .company-craftsman__block--non-housing .company-craftsman__block-content{
    align-items:flex-start;
    flex-direction:row;
    gap:2rem;
    justify-content:center;
    margin-top:2.5rem;
  }

  .company-craftsman__block--non-housing .company-craftsman__block-imgs{
    flex-shrink:0;
    gap:1.0625rem;
    width:25rem;
  }

  .company-craftsman__block--non-housing .company-craftsman__block-img{
    aspect-ratio:400/277;
  }

  .company-craftsman__block--non-housing .company-craftsman__block-source{
    font-size:0.9375rem;
  }

  .company-craftsman__block--non-housing .company-craftsman__block-body{
    width:25rem;
  }

  .company-craftsman__bullets{
    font-size:0.9375rem;
  }

  .company-craftsman__block--emergency{
    gap:1.5625rem;
    padding-block:3.3125rem 3.875rem;
    padding-inline:12.8125rem;
  }

  .company-craftsman__block--emergency .company-craftsman__block-body{
    align-self:auto;
    width:32.8125rem;
  }

  .company-craftsman__highlight{
    font-size:1rem;
    height:3.0625rem;
    width:29.25rem;
  }

  .company-craftsman__block--bcp{
    padding-block:3.3125rem 4.75rem;
  }

  .company-craftsman__block--bcp .company-craftsman__block-body{
    align-self:auto;
    width:32.8125rem;
  }

  .company-craftsman__cards{
    flex-direction:row;
    margin-top:0.625rem;
    width:auto;
  }

  .company-craftsman__card{
    font-size:1rem;
  }

  .company-facilities{
    margin-inline:auto;
    margin-top:5.75rem;
    max-width:81.9375rem;
    padding-inline:var(--padding-inline-sm);
  }

  .company-facilities__heading{
    font-size:1.5625rem;
  }

  .company-facilities__list{
    gap:3.9375rem;
    margin-top:2rem;
  }

  .company-facilities__block--beige{
    padding-block:3.6875rem 3.125rem;
    padding-inline:var(--padding-inline-sm);
  }

  .company-facilities__block--gallery{
    padding-block:4.875rem 3.6875rem;
  }

  .company-facilities__block-inner{
    max-width:65.75rem;
    padding-inline:0;
  }

  .company-facilities__title{
    font-size:1.125rem;
  }

  .company-facilities__lead{
    font-size:0.9375rem;
    margin-inline:auto;
    max-width:49.8125rem;
  }

  .company-facilities__slider{
    --thumb-slider-aspect:935 / 505;
  }

  .company-facilities__block:first-child .company-facilities__slider{
    margin-top:3.5625rem;
  }

  .company-facilities__body{
    font-size:0.9375rem;
    margin-inline:auto;
    margin-top:2.25rem;
    max-width:49.8125rem;
  }

  .company-history{
    margin-top:5.875rem;
  }

  .company-history__inner{
    max-width:53.5625rem;
  }

  .company-history__heading{
    font-size:1.5625rem;
  }

  .company-history__list{
    margin-top:2.375rem;
  }

  .company-history__item{
    gap:0.3125rem;
    grid-template-columns:7.9375rem 1fr;
  }

  .company-history__date{
    font-size:0.9375rem;
    line-height:2.3333333333;
    padding-top:0;
  }

  .company-history__desc{
    font-size:0.9375rem;
  }

  .company-message{
    margin-top:6.1875rem;
  }

  .company-message__inner{
    max-width:62.1875rem;
  }

  .company-message__heading{
    font-size:1.5625rem;
  }

  .company-message__block{
    grid-column-gap:2.3125rem;
    -moz-column-gap:2.3125rem;
    align-items:start;
         column-gap:2.3125rem;
    display:grid;
    grid-template-columns:542fr 356fr;
    margin-top:2.0625rem;
  }

  .company-message__photo{
    aspect-ratio:542/482;
  }

  .company-message__body{
    margin-top:0;
  }

  .company-message__title{
    font-size:1.125rem;
  }

  .company-message__text{
    font-size:0.9375rem;
    margin-top:1.3125rem;
  }

  .company-message__signature{
    gap:1.6875rem;
    margin-top:2.8125rem;
  }

  .company-message__signature-text{
    font-size:0.9375rem;
  }

  .company-mv{
    margin-top:4.6875rem;
  }

  .company-mv__caption{
    max-width:74.375rem;
    padding-inline:1.25rem;
    padding-top:3.125rem;
  }

  .company-mv__heading{
    font-size:1.5625rem;
    margin-top:4.5rem;
  }

  .company-mv__lead{
    font-size:1.125rem;
  }

  .company-profile{
    margin-top:4rem;
  }

  .company-profile__inner{
    max-width:69.5625rem;
  }

  .company-profile__item{
    grid-template-columns:14.0625rem 1fr;
  }

  .company-profile__label{
    font-size:1rem;
  }

  .company-profile__value{
    font-size:1rem;
  }

  .company-profile__logo--01{
    width:6.25rem;
  }

  .company-profile__logo--02{
    width:15.875rem;
  }

  .company-responsibility{
    margin-top:5.75rem;
  }

  .company-responsibility__inner{
    max-width:53.5625rem;
    padding-inline:var(--padding-inline);
  }

  .company-responsibility__heading{
    font-size:1.5625rem;
  }

  .company-responsibility__body{
    margin-top:2.375rem;
  }

  .company-responsibility__body-text{
    font-size:0.9375rem;
  }

  .company-sdgs{
    margin-top:4.6875rem;
    padding-bottom:8.125rem;
  }

  .company-sdgs__inner{
    max-width:61.25rem;
  }

  .company-sdgs__lead{
    font-size:0.9375rem;
    margin-inline:auto;
    width:39.4375rem;
  }

  .company-sdgs__logos{
    flex-direction:row;
    gap:0.5rem;
    justify-content:center;
    margin-top:4.375rem;
  }

  .company-sdgs__logo--01{
    width:17.8125rem;
  }

  .company-sdgs__logo--02{
    width:25rem;
  }

  .company-sdgs__commitments{
    grid-column-gap:5.125rem;
    -moz-column-gap:5.125rem;
    align-items:start;
         column-gap:5.125rem;
    display:grid;
    grid-template-columns:12.875rem 1fr;
    margin-top:7.125rem;
  }

  .company-sdgs__commitments-title{
    margin-top:2.3125rem;
    text-align:left;
  }

  .company-sdgs__commitment{
    flex-direction:row;
    gap:2.6875rem;
    padding:0.6875rem 1.125rem 0.6875rem 3.625rem;
  }

  .company-sdgs__commitment-num{
    font-size:1.851875rem;
  }

  .company-sdgs__commitment-text{
    flex-grow:1;
    font-size:1rem;
    text-align:left;
    width:14.6875rem;
  }

  .company-sdgs__commitment-img{
    aspect-ratio:217/142;
    flex-shrink:0;
    width:13.5625rem;
  }

  .company-sdgs__about{
    grid-column-gap:1.75rem;
    -moz-column-gap:1.75rem;
    grid-row-gap:1rem;
    align-items:start;
         column-gap:1.75rem;
    display:grid;
    grid-template-areas:"text media" "button media";
    grid-template-columns:16.25rem 39.5rem;
    margin-top:7.125rem;
    row-gap:1rem;
  }

  .company-sdgs__about-text{
    grid-area:text;
    padding-top:0.625rem;
  }

  .company-sdgs__about-title{
    font-size:1.5625rem;
  }

  .company-sdgs__about-subtitle{
    font-size:1.125rem;
  }

  .company-sdgs__about-body{
    font-size:0.9375rem;
  }

  .company-sdgs__about-media{
    gap:1.375rem;
    grid-area:media;
  }

  .company-sdgs__about-img{
    aspect-ratio:632/309;
  }

  .company-sdgs__about-caption{
    font-size:0.9375rem;
  }

  .company-sdgs__about-button{
    grid-area:button;
    margin-inline:0;
  }

  .contact-form--confirm .contact-form__list{
    gap:2.8125rem;
  }

  .contact-confirm__lead{
    font-size:1rem;
    line-height:2.1875;
    text-align:center;
  }

  .contact-confirm__value{
    font-size:0.9375rem;
  }

  .contact-form__item:not(.contact-form__item--inquiry) .contact-confirm__value{
    padding-top:0.875rem;
  }

  .contact-confirm__sub-value{
    font-size:0.9375rem;
  }

  .contact-confirm__choice-text{
    font-size:0.9375rem;
  }

  .contact-form{
    margin-top:4.6875rem;
    padding-block:3.125rem 5.9375rem;
  }

  .contact-form__title{
    margin-inline:auto;
    max-width:74.375rem;
  }

  .contact-form__inner{
    margin-top:3.125rem;
    max-width:69.875rem;
  }

  .contact-form__intro{
    font-size:1rem;
    line-height:1.56;
    margin-inline:auto;
    max-width:48.4375rem;
  }

  .contact-form__intro-notes{
    font-size:0.875rem;
    line-height:1.7;
  }

  .contact-form__heading{
    margin-top:3.375rem;
  }

  .contact-form__panel{
    margin-top:1.5625rem;
    padding:2.9375rem 6.5rem 6.5rem;
  }

  .contact-form__note{
    font-size:0.9375rem;
  }

  .contact-form__form{
    margin-top:2.9375rem;
  }

  .contact-form__required-badge{
    font-size:0.6875rem;
  }

  .contact-form__list{
    gap:1.21875rem;
  }

  .contact-form__item{
    -moz-column-gap:1.625rem;
         column-gap:1.625rem;
    grid-template-columns:15.625rem 1fr;
  }

  .contact-form__item--address,
  .contact-form__item--inquiry,
  .contact-form__item--message{
    align-items:start;
  }

  .contact-form__item--inquiry{
    margin-bottom:1.375rem;
  }

  .contact-form__label{
    font-size:0.9375rem;
  }

  .contact-form__item:not(.contact-form__item--inquiry) .contact-form__label{
    padding-top:0.875rem;
  }

  .contact-form__label--column{
    gap:0.25rem;
  }

  .contact-form__label--message{
    color:var(--black);
    font-family:"Shippori Mincho", serif;
    font-size:0.9375rem;
    font-weight:var(--font-weight-bold);
    letter-spacing:0.1em;
    line-height:1.6666666667;
  }

  .contact-form__label-note{
    font-size:0.75rem;
  }

  .contact-form__input input[type=text],
  .contact-form__input input[type=tel],
  .contact-form__input input[type=email]{
    font-size:0.9375rem;
    padding:0.875rem 1.5rem;
  }

  .contact-form__note-text{
    font-size:0.9375rem;
    margin-left:1.5rem;
  }

  .contact-form__postal{
    margin-left:0.5rem;
  }

  .contact-form__item--address #address{
    margin-top:1rem;
  }

  .contact-form__note-text--postal{
    margin-left:2.5rem;
  }

  .contact-form__choices{
    gap:1.25rem;
  }

  .contact-form__choice-label{
    margin-left:0.25rem;
  }

  .contact-form__choice-text{
    font-size:0.9375rem;
  }

  .contact-form__checkbox{
    width:1.0625rem;
  }

  .contact-form__textarea{
    font-size:0.9375rem;
    height:11.3125rem;
  }

  .contact-form__agreement-text{
    font-size:0.9375rem;
  }

  .contact-form__submit{
    margin-top:1.875rem;
  }

  .error-message{
    font-size:0.8125rem;
  }

  .contact-thanks{
    margin-top:4.6875rem;
    padding-block:3.125rem 9.375rem;
  }

  .contact-thanks__title{
    margin-inline:auto;
    max-width:74.375rem;
  }

  .contact-thanks__inner{
    margin-top:3.125rem;
    max-width:69.875rem;
  }

  .contact-thanks__message{
    font-size:1rem;
    line-height:2.1875;
    margin-inline:auto;
    max-width:48.4375rem;
  }

  .event-reservation__highlight-note{
    font-size:0.9375rem;
  }

  .events-archive{
    margin-top:4.6875rem;
    padding-block:3.125rem 5.875rem;
  }

  .events-archive__title{
    margin-inline:auto;
    max-width:74.375rem;
  }

  .events-archive__inner{
    margin-top:3.125rem;
    max-width:55rem;
    padding-inline:var(--padding-inline-sm);
  }

  .events-archive__list{
    margin-top:4.625rem;
  }

  .events-archive__pagination{
    margin-top:4.8125rem;
  }

  .events-archive__empty{
    margin-top:4.625rem;
  }

  .events-detail{
    margin-top:4.6875rem;
    padding-bottom:3.4375rem;
    padding-top:3.125rem;
  }

  .events-detail__inner{
    max-width:75.625rem;
  }

  .events-detail__page-title{
    margin-inline:auto;
    max-width:74.375rem;
  }

  .events-detail__heading{
    margin-top:1.75rem;
  }

  .events-detail__category{
    font-size:0.875rem;
  }

  .events-detail__event-date{
    font-size:0.875rem;
  }

  .events-detail__eyecatch{
    margin-inline:auto;
    margin-top:1.6875rem;
    max-width:55.4375rem;
    width:auto;
  }

  .events-detail__intro{
    margin-top:2.625rem;
    padding-bottom:3.6875rem;
    padding-inline:0;
  }

  .events-detail__intro-title{
    font-size:1.125rem;
  }

  .events-detail__intro-title br{
    display:none;
  }

  .events-detail__intro-info{
    font-size:0.9375rem;
    margin-top:1.375rem;
  }

  .events-detail__highlight{
    margin-top:1.3125rem;
    padding-inline:0;
  }

  .events-detail__highlight-title{
    font-size:1.125rem;
    line-height:1.6666666667;
    text-align:left;
  }

  .events-detail__highlight-body{
    font-size:0.9375rem;
    margin-top:0.5625rem;
  }

  .events-detail__highlight-extra{
    margin-top:2.1875rem;
    padding-inline:0;
  }

  .events-detail__highlight-extra h2{
    font-size:1.5625rem;
  }

  .events-detail__highlight-extra p{
    font-size:0.9375rem;
  }

  .events-detail__highlight-extra a{
    font-size:0.9375rem;
  }

  .events-detail__highlight-extra ul li{
    font-size:0.9375rem;
  }

  .events-detail__highlight-extra ul li::before{
    height:0.3125rem;
    top:-0.15625rem;
    width:0.3125rem;
  }

  .events-detail__highlight-extra ol li{
    font-size:0.9375rem;
  }

  .events-detail__highlight-extra figure{
    margin-top:1.875rem;
  }

  .events-detail__slider{
    --thumb-slider-aspect:761 / 411;
    --thumb-slider-thumb-aspect:122 / 79;
    margin-top:1.8125rem;
  }

  .events-detail__slider .thumb-slider{
    gap:0.5625rem;
  }

  .events-detail__slider .thumb-slider__main{
    padding-inline:4.0625rem;
  }

  .events-detail__slider .thumb-slider__thumbs{
    grid-template-columns:repeat(6, 1fr);
  }

  .events-detail__highlight + .events-detail__divider{
    margin-top:3.6875rem;
  }

  .events-detail__overview{
    margin-top:2.8125rem;
    padding-bottom:4.0625rem;
    padding-inline:0;
  }

  .events-detail__overview-title{
    font-size:0.9375rem;
  }

  .events-detail__overview-list{
    font-size:0.9375rem;
  }

  .events-detail__welcome{
    align-items:center;
    flex-direction:row;
    gap:2.5625rem;
    justify-content:space-between;
    margin-top:3.1875rem;
    padding-bottom:3.1875rem;
    padding-inline:0;
  }

  .events-detail__welcome-title{
    font-size:1.125rem;
    line-height:1.6666666667;
    text-align:left;
  }

  .events-detail__welcome-body{
    font-size:0.9375rem;
  }

  .events-detail__welcome-img{
    flex-shrink:0;
    width:21.875rem;
  }

  .events-detail__notice{
    gap:0.9375rem;
    margin-top:2.125rem;
    padding-bottom:2.5625rem;
    padding-inline:0;
  }

  .events-detail__notice-title{
    font-size:1.125rem;
    text-align:left;
  }

  .events-detail__notice-main{
    font-size:0.9375rem;
  }

  .events-detail__notice-sub{
    font-size:0.875rem;
    padding-left:1em;
  }

  .events-detail__reserve-cta{
    margin-top:2.8125rem;
  }

  .events-detail__reservation{
    gap:0.3125rem;
    margin-top:2.375rem;
    padding-bottom:2.1875rem;
  }

  .events-detail__slot{
    -moz-column-gap:2.1875rem;
         column-gap:2.1875rem;
    grid-template-areas:"date icon button";
    grid-template-columns:1fr 3.4375rem 4.125rem;
    height:3.1875rem;
    padding:0 1.6875rem;
    row-gap:0;
  }

  .events-detail__slot-button{
    justify-self:end;
    width:4.125rem;
  }

  .events-detail__nav{
    align-items:flex-start;
    flex-direction:row;
    gap:0;
    justify-content:space-between;
    margin-top:4.1875rem;
  }

  .events-detail__nav-item--prev{
    align-self:flex-start;
  }

  .events-detail__nav-item--next{
    align-self:auto;
  }

  .facility-about{
    margin-top:5.0625rem;
  }

  .facility-about__inner{
    max-width:none;
    padding-inline:0;
  }

  .facility-about__intro{
    font-size:1rem;
    margin-inline:auto;
    max-width:42.3125rem;
  }

  .facility-about__block{
    display:flex;
    gap:3.3125rem;
    margin-left:auto;
    margin-top:5.5rem;
    max-width:72rem;
    padding-left:1.25rem;
    padding-right:3.1875rem;
  }

  .facility-about__text{
    flex-shrink:0;
    gap:2.375rem;
    margin-top:4.3125rem;
    text-align:left;
    width:20.8125rem;
  }

  .facility-about__title{
    font-size:2.1875rem;
    line-height:1.5714285714;
  }

  .facility-about__subtitle-group{
    gap:2.375rem;
  }

  .facility-about__subtitle{
    font-size:0.9375rem;
  }

  .facility-about__media{
    flex:1;
    margin-top:0;
  }

  .facility-about__img{
    aspect-ratio:695/473;
  }

  .facility-gallery{
    margin-top:4.625rem;
  }

  .facility-gallery__inner{
    max-width:59.375rem;
  }

  .facility-gallery__list{
    gap:4.0625rem;
  }

  .facility-gallery__item--narrow{
    max-width:31.625rem;
  }

  .facility-gallery__img--01{
    aspect-ratio:506/666;
  }

  .facility-gallery__img--02{
    aspect-ratio:890/605;
  }

  .facility-gallery__img--03{
    aspect-ratio:890/563;
  }

  .facility-gallery__img--04{
    aspect-ratio:890/597;
  }

  .facility-gallery__img--05{
    aspect-ratio:890/606;
  }

  .facility-gallery__img--06{
    aspect-ratio:890/597;
  }

  .facility-gallery__img--07{
    aspect-ratio:890/593;
  }

  .facility-mv{
    margin-top:4.6875rem;
  }

  .facility-mv__caption{
    max-width:74.375rem;
    padding-top:3.125rem;
  }

  .facility-mv__lead{
    font-size:1.5625rem;
    line-height:1.8;
    margin-top:7.625rem;
  }

  .facility-mv__img-wrap{
    margin-top:4.8125rem;
  }

  .facility-mv__img{
    aspect-ratio:1366/630;
  }

  .facility-tech{
    margin-top:8rem;
    padding-bottom:6.8125rem;
  }

  .facility-tech__inner{
    grid-column-gap:3.3125rem;
    -moz-column-gap:3.3125rem;
    grid-row-gap:1.9375rem;
         column-gap:3.3125rem;
    display:grid;
    grid-template-areas:"img1 text" "img2 text";
    grid-template-columns:695fr 345fr;
    margin-left:0;
    max-width:75.0625rem;
    padding-inline:clamp(1.25rem, 1.25rem + 31 * var(--fluid-basis), 3.1875rem) 2.5rem;
    row-gap:1.9375rem;
  }

  .facility-tech__media--1{
    grid-area:img1;
    margin-left:0;
    width:100%;
  }

  .facility-tech__media--2{
    grid-area:img2;
    justify-self:end;
    margin-right:0;
    margin-top:0;
    width:29.4375rem;
  }

  .facility-tech__text{
    grid-area:text;
    margin-top:0;
    padding-top:4.3125rem;
  }

  .facility-tech__title{
    font-size:2.1875rem;
    line-height:1.5714285714;
    text-align:left;
    width:22.625rem;
  }

  .facility-tech__body{
    padding-right:0.9375rem;
  }

  .facility-tech__body-text{
    font-size:0.9375rem;
  }

  .facility-works-cta{
    margin-top:8rem;
  }

  .facility-works-cta__inner{
    max-width:52.375rem;
  }

  .facility-works-cta__link{
    grid-template-columns:394fr 384fr;
    max-width:48.625rem;
  }

  .facility-works-cta__img{
    aspect-ratio:394/234;
  }

  .facility-works-cta__title{
    left:5.6875rem;
    top:4.6875rem;
  }

  .facility-works-cta__more{
    left:5.375rem;
    top:9.5rem;
  }

  .facility-works-cta__more.view-more{
    padding-bottom:0;
  }

  .house-building-detail{
    margin-top:6.1875rem;
    padding-bottom:6.5rem;
  }

  .house-building-detail__inner{
    max-width:calc(var(--inner) + var(--padding-inline) * 2);
  }

  .house-building-detail__block{
    grid-column-gap:clamp(1.875rem, 1.875rem + 42 * var(--fluid-basis), 4.5rem);
    -moz-column-gap:clamp(1.875rem, 1.875rem + 42 * var(--fluid-basis), 4.5rem);
    grid-row-gap:0;
         column-gap:clamp(1.875rem, 1.875rem + 42 * var(--fluid-basis), 4.5rem);
    display:grid;
    grid-template-columns:487fr 454fr;
    margin-top:4.6875rem;
    row-gap:0;
  }

  .house-building-detail__media{
    gap:1.75rem;
  }

  .house-building-detail__tag{
    font-size:0.875rem;
  }

  .house-building-detail__block--stacked{
    display:block;
  }

  .house-building-detail__block--stacked .house-building-detail__title + .house-building-detail__figure--wide{
    margin-top:2.5rem;
  }

  .house-building-detail__figure--mt-narrow{
    margin-top:1.25rem;
  }

  .house-building-detail__body--mt-wide{
    margin-top:2.8125rem;
  }

  .house-building-detail__text{
    font-size:0.9375rem;
  }

  .house-building-detail__back{
    margin-top:5.9375rem;
  }

  .house-building-detail__performance-list{
    gap:4.6875rem;
  }

  .house-building-detail__performance-label{
    font-size:1.25rem;
  }

  .house-building-detail__performance-grade{
    font-size:1.25rem;
  }

  .house-building-detail__performance-text{
    font-size:0.9375rem;
  }

  .house-building-detail__text-wrap + .house-building-detail__requirement-list{
    margin-top:4.6875rem;
  }

  .house-building-detail__requirement-tag{
    font-size:0.9375rem;
  }

  .house-building-detail__requirement-text{
    font-size:0.9375rem;
  }

  .house-building-detail__requirement-list + .house-building-detail__highlight{
    margin-top:4.6875rem;
  }

  .house-building-detail__material{
    padding:0.375rem 1.0625rem;
  }

  .house-building-detail__material-heading{
    font-size:0.9375rem;
  }

  .house-building-detail__material-text{
    font-size:0.9375rem;
  }

  .house-building-detail__material-note{
    font-size:0.75rem;
  }

  .house-building-detail__warranty-note{
    font-size:0.9375rem;
    margin-top:1.75rem;
    padding-left:2.5rem;
  }

  .house-building-detail-mv{
    container-type:inline-size;
    margin-top:4.6875rem;
    padding-top:2.375rem;
  }

  .house-building-detail-mv__inner{
    align-items:end;
    display:grid;
    grid-template-columns:485fr 826fr;
    margin-inline:auto;
    max-width:74.375rem;
    padding-left:1.25rem;
  }

  .house-building-detail-mv__img-wrap{
    height:auto;
    width:calc(100% + max(0px, (100cqw - 1190px) / 2));
  }

  .house-building-detail-mv__img{
    aspect-ratio:826/486;
  }

  .house-building-detail-mv__caption{
    height:clamp(0.625rem, 31400 / var(--cq-ref-2) * 1cqi, 19.625rem);
    order:1;
    padding-bottom:1.875rem;
    width:100%;
  }

  .house-building-detail-mv__category{
    width:8.4375rem;
  }

  .house-building-detail-mv__category--technology{
    width:12.875rem;
  }

  .house-building-detail-mv__category--support{
    width:9.5rem;
  }

  .house-building-detail-mv--warranty .house-building-detail-mv__caption{
    margin-top:10.75rem;
  }

  .house-building-detail-mv--warranty .house-building-detail-mv__caption::after{
    background-color:var(--main-beige);
    content:"";
    height:100%;
    left:100%;
    pointer-events:none;
    position:absolute;
    top:0;
    width:100vw;
  }

  .house-building-detail-mv__label{
    font-size:1.375rem;
    line-height:1.45;
  }

  .house-building-features{
    margin-top:7.875rem;
    padding-bottom:8.375rem;
  }

  .house-building-features__inner{
    max-width:calc(var(--inner-sm) + var(--padding-inline) * 2);
  }

  .house-building-features__item{
    margin-top:6.1875rem;
  }

  .house-building-intro{
    margin-top:4.4375rem;
  }

  .house-building-intro__title{
    font-size:1.5625rem;
  }

  .house-building-intro__text{
    font-size:0.9375rem;
    margin-top:3.5625rem;
  }

  .house-building-mv{
    margin-top:4.6875rem;
  }

  .house-building-toc{
    max-width:58.3125rem;
    padding:2.8125rem 5.25rem;
  }

  .house-building-toc__list{
    gap:1.125rem 1.8125rem;
    grid-template-columns:repeat(3, 1fr);
  }

  .house-building-toc__link{
    min-height:4.0625rem;
    padding:0.625rem 1.1875rem;
  }

  .house-building-toc__text{
    line-height:1.4375;
  }

  .house-building-toc-floating{
    bottom:7.875rem;
    right:4.0625rem;
  }

  .page-404{
    margin-top:4.6875rem;
    padding-block:3.125rem 9.375rem;
  }

  .page-404__title{
    margin-inline:auto;
    max-width:74.375rem;
  }

  .page-404__inner{
    margin-top:3.125rem;
    max-width:69.875rem;
  }

  .page-404__message{
    font-size:1rem;
    line-height:2.1875;
    margin-inline:auto;
    max-width:48.4375rem;
  }

  .privacy-policy{
    margin-top:4.6875rem;
    padding-block:3.125rem 5.875rem;
  }

  .privacy-policy__inner{
    max-width:58.125rem;
  }

  .privacy-policy__title{
    margin-inline:auto;
    max-width:74.375rem;
  }

  .privacy-policy__intro{
    font-size:1rem;
    margin-top:3.125rem;
  }

  .privacy-policy__list{
    gap:1.25rem;
    margin-top:1.25rem;
  }

  .privacy-policy__item-title{
    font-size:1rem;
  }

  .privacy-policy__item-body{
    font-size:1rem;
  }

  .renovation-faq{
    margin-top:6.1875rem;
  }

  .renovation-faq__inner{
    max-width:61.0625rem;
  }

  .renovation-faq__title{
    font-size:1.5625rem;
    gap:0.9375rem;
  }

  .renovation-faq__title-text{
    max-width:none;
  }

  .renovation-faq__list{
    margin-top:2.9375rem;
  }

  .renovation-faq__item::after{
    left:3.5rem;
  }

  .renovation-faq__question{
    gap:1.125rem;
  }

  .renovation-faq__badge--a{
    margin-top:1rem;
  }

  .renovation-faq__question-content{
    padding:0.625rem 1.5rem 0.625rem 0.6875rem;
  }

  .renovation-faq__question-text{
    font-size:1rem;
  }

  .renovation-faq__answer-inner{
    gap:1.125rem;
  }

  .renovation-faq__answer-content{
    padding:0.9375rem 3.375rem 1.25rem 0.6875rem;
  }

  .renovation-faq__answer-text{
    font-size:1rem;
  }

  .renovation-mv{
    margin-top:4.6875rem;
  }

  .renovation-mv__caption{
    max-width:74.375rem;
    padding-top:3.125rem;
  }

  .renovation-mv__lead{
    font-size:1.5625rem;
    line-height:1.8;
    margin-top:9rem;
  }

  .renovation-mv__img-wrap{
    margin-top:6.25rem;
  }

  .renovation-mv__img{
    aspect-ratio:1366/630;
  }

  .renovation-services{
    margin-top:8.3125rem;
  }

  .renovation-services__inner{
    max-width:66.5rem;
  }

  .renovation-services__title{
    font-size:2.1875rem;
    line-height:1.5714285714;
    margin-inline:0;
    max-width:28.75rem;
    text-align:left;
  }

  .renovation-services__list{
    gap:5rem;
    margin-top:5.125rem;
  }

  .renovation-services__item{
    align-items:flex-start;
    flex-direction:row;
    gap:clamp(1.25rem, 1.25rem + 40 * var(--fluid-basis), 3.75rem);
    justify-content:center;
  }

  .renovation-services__item:nth-child(even){
    flex-direction:row-reverse;
  }

  .renovation-services__media{
    max-width:31.375rem;
  }

  .renovation-services__body{
    align-items:flex-start;
    flex-direction:row;
    gap:1.0625rem;
    padding-top:1.125rem;
  }

  .renovation-services__caption{
    flex-shrink:0;
    width:21.875rem;
  }

  .renovation-services__subtitle{
    font-size:1.25rem;
  }

  .renovation-services__text{
    font-size:0.9375rem;
  }

  .renovation-showroom{
    margin-top:8.8125rem;
    padding-bottom:6.1875rem;
  }

  .renovation-showroom__inner{
    align-items:flex-start;
    display:flex;
    gap:3.9375rem;
    max-width:65.125rem;
  }

  .renovation-showroom__info{
    flex-shrink:0;
    width:23.3125rem;
  }

  .renovation-showroom__heading{
    font-size:1.5625rem;
  }

  .renovation-showroom__contact{
    font-size:0.9375rem;
  }

  .renovation-showroom__text{
    font-size:0.9375rem;
  }

  .renovation-showroom__media{
    flex-shrink:0;
    gap:2.0625rem;
    margin-top:0;
    width:34.125rem;
  }

  .renovation-works{
    margin-top:6.25rem;
  }

  .renovation-works__inner{
    max-width:62.4375rem;
  }

  .renovation-works__title{
    font-size:1.4375rem;
    line-height:1.9565217391;
  }

  .renovation-works__list{
    -moz-column-gap:1.125rem;
         column-gap:1.125rem;
    grid-template-columns:repeat(3, 1fr);
    row-gap:0;
  }

  .renovation-works__empty{
    font-size:1rem;
  }

  .results-archive{
    margin-top:4.6875rem;
    padding-bottom:6.1875rem;
    padding-top:3.125rem;
  }

  .results-archive__inner{
    max-width:76.1875rem;
    padding-inline:var(--padding-inline-sm);
  }

  .results-archive__heading{
    font-size:1.4375rem;
    line-height:1.9565217391;
  }

  .results-archive__body{
    align-items:flex-start;
    flex-direction:row;
    gap:5.25rem;
  }

  .results-archive__filter{
    flex-shrink:0;
    width:8rem;
  }

  .results-archive__filter-list{
    gap:0.625rem;
    grid-auto-flow:row;
    grid-template-columns:8rem;
    grid-template-rows:none;
    justify-content:flex-start;
  }

  .results-archive__results{
    flex:1;
  }

  .results-archive__list{
    -moz-column-gap:1.375rem;
         column-gap:1.375rem;
    grid-template-columns:repeat(3, 1fr);
    row-gap:1.3125rem;
  }

  .results-archive__pagination{
    justify-content:flex-start;
  }

  .results-archive__empty{
    text-align:left;
  }

  .results-archive__item-title{
    font-size:0.9375rem;
  }

  .results-detail{
    margin-top:4.6875rem;
    padding-bottom:5.5rem;
    padding-top:3.125rem;
  }

  .results-detail__inner{
    max-width:75.625rem;
  }

  .results-detail__page-title{
    font-size:1.4375rem;
    line-height:1.9565217391;
  }

  .results-detail__title{
    font-size:1.5625rem;
  }

  .results-detail__slider{
    margin-top:3.9375rem;
  }

  .results-detail__content{
    margin-top:2.8125rem;
  }

  .results-detail__content h2{
    font-size:1.5625rem;
  }

  .results-detail__content h3{
    font-size:1.375rem;
  }

  .results-detail__content h4{
    font-size:1.25rem;
  }

  .results-detail__content h5{
    font-size:1.125rem;
  }

  .results-detail__content p{
    font-size:0.9375rem;
  }

  .results-detail__content a{
    font-size:0.9375rem;
  }

  .results-detail__content ul li{
    font-size:0.9375rem;
  }

  .results-detail__content ul li::before{
    height:0.3125rem;
    top:-0.15625rem;
    width:0.3125rem;
  }

  .results-detail__content ol li{
    font-size:0.9375rem;
  }

  .results-detail__content figure{
    margin-top:1.875rem;
  }

  .results-detail-info{
    margin-top:4.125rem;
  }

  .results-detail-info__title{
    font-size:1.25rem;
    max-width:100%;
    padding:0 1.375rem;
    width:fit-content;
  }

  .results-detail-info__text{
    font-size:0.9375rem;
    margin-top:1.3125rem;
  }

  .search-archive{
    margin-top:4.6875rem;
    padding-block:3.125rem 5.875rem;
  }

  .search-archive__title{
    margin-inline:auto;
    max-width:74.375rem;
  }

  .search-archive__inner{
    margin-top:5rem;
    max-width:55rem;
    padding-inline:var(--padding-inline-sm);
  }

  .search-archive__link{
    gap:0.625rem;
    padding-block:1.25rem;
  }

  .search-archive__post-title{
    font-size:1.0625rem;
  }

  .search-archive__post-content{
    font-size:0.9375rem;
  }

  .search-archive__pagination{
    margin-top:4.8125rem;
  }

  .search-archive__empty{
    margin-top:4.625rem;
  }

  .mv{
    height:auto;
  }

  .mv__video{
    height:auto;
    object-fit:initial;
    object-fit:unset;
  }

  .top-blog{
    margin-top:8.125rem;
  }

  .top-blog__inner{
    max-width:calc(58.3125rem + var(--padding-inline) * 2);
    padding-inline:var(--padding-inline);
  }

  .top-blog__content{
    padding:3.3125rem 4.8125rem 2.1875rem;
  }

  .top-blog__content::before{
    left:4.8125rem;
    top:3rem;
  }

  .top-blog__content::after{
    left:calc(4.8125rem + 5.125rem);
    top:calc(3rem + 0.0625rem);
    width:43.5625rem;
  }

  .top-blog__main{
    flex-direction:row;
    gap:5rem;
  }

  .top-blog__title{
    flex-shrink:0;
  }

  .top-blog__list{
    gap:0.5rem;
    margin-top:0.9375rem;
    padding-inline:1.3125rem 1.625rem;
  }

  .top-blog__empty{
    margin-top:0.9375rem;
    padding-inline:1.3125rem 1.625rem;
  }

  .top-blog__item-link{
    align-items:center;
    flex-direction:row;
    gap:1.375rem;
  }

  .top-blog__date{
    font-size:1.0625rem;
  }

  .top-blog__item-title{
    line-clamp:1;
    -webkit-line-clamp:1;
    font-size:1.0625rem;
  }

  .top-blog__links{
    margin-right:1.375rem;
    margin-top:1.375rem;
  }

  .top-cta{
    margin-top:7.1875rem;
    padding-bottom:2.5rem;
  }

  .top-cta__inner{
    max-width:calc(71.875rem + var(--padding-inline) * 2);
  }

  .top-cta__list{
    flex-direction:row;
    gap:5.125rem;
  }

  .top-features{
    margin-top:7.375rem;
  }

  .top-features__inner{
    max-width:calc(var(--inner-sm) + var(--padding-inline) * 2);
  }

  .top-features__item{
    margin-top:6.1875rem;
  }

  .top-info{
    margin-top:7.5rem;
  }

  .top-info__inner{
    max-width:calc(65.875rem + var(--padding-inline) * 2);
    padding-inline:var(--padding-inline);
  }

  .top-info__list{
    flex-direction:row;
    gap:1.25rem;
  }

  .top-info__title{
    font-size:1.4375rem;
    line-height:1.9565217391;
  }

  .top-info__img-wrap{
    margin-top:1rem;
  }

  .top-intro{
    margin-top:3.8125rem;
  }

  .top-intro__title{
    font-size:1.875rem;
  }

  .top-intro__text-wrap{
    gap:3.5625rem;
    margin-top:4.0625rem;
  }

  .top-intro__text{
    font-size:0.9375rem;
  }

  .top-intro__second-text{
    font-size:1.125rem;
  }

  .top-news{
    margin-top:6.25rem;
  }

  .top-news__inner{
    max-width:calc(var(--inner-sm) + var(--padding-inline) * 2);
    padding-inline:var(--padding-inline);
  }

  .top-news__content{
    padding:2.1875rem 4.1875rem;
  }

  .top-news__title{
    font-size:1.4375rem;
  }

  .top-news__list{
    gap:0.75rem;
    margin-inline:auto;
    margin-top:0.9375rem;
    max-width:38.375rem;
  }

  .top-news__empty{
    margin-top:0.9375rem;
    text-align:center;
  }

  .top-news__label{
    font-size:0.875rem;
    height:1.5rem;
    min-width:4.875rem;
    padding:0.375rem;
  }

  .top-news__item-content{
    flex-direction:row;
    gap:1.0625rem;
    width:auto;
  }

  .top-news__date{
    font-size:1.0625rem;
  }

  .top-news__item-title{
    line-clamp:1;
    -webkit-line-clamp:1;
    font-size:1.0625rem;
    margin-top:0;
  }

  .top-news__links{
    align-items:flex-end;
    gap:1.125rem;
    margin-top:1.1875rem;
  }

  .top-results{
    margin-top:6.25rem;
  }

  .top-results__inner{
    padding-inline:var(--padding-inline);
  }

  .top-results__title{
    font-size:1.875rem;
  }

  .top-results__heading{
    font-size:1.4375rem;
    line-height:1.96;
    margin-top:6.4375rem;
  }

  .top-results__list{
    gap:1.0625rem 1.125rem;
    grid-template-columns:repeat(3, 1fr);
    margin-top:1.0625rem;
  }

  .top-results__more{
    margin-top:1.1875rem;
  }

  .top-services{
    margin-top:9.5rem;
  }

  .top-services__inner{
    max-width:74.1875rem;
    padding-inline:0.9375rem;
  }

  .top-services__list{
    flex-direction:row;
    gap:clamp(0.9375rem, 4900 / var(--cq-ref) * 1cqi, 3.0625rem);
  }

  .top-services__item-link{
    grid-template-columns:326fr 228fr;
  }

  .top-services__img{
    aspect-ratio:326/262;
  }

  .top-services__content{
    padding:2.5rem clamp(0.625rem, 2400 / var(--cq-ref) * 1cqi, 1.5rem) 1.625rem clamp(0.625rem, 2600 / var(--cq-ref) * 1cqi, 1.625rem);
  }

  .top-services__heading{
    font-size:clamp(0.8125rem, 2300 / var(--cq-ref) * 1cqi, 1.4375rem);
    line-height:1.304;
  }

  .top-services__view-more{
    align-self:flex-end;
    font-size:0.9375rem;
    min-width:5.5625rem;
    padding-bottom:0.75rem;
  }

  .top-video{
    margin-top:9.375rem;
  }

  .top-video__inner{
    max-width:calc(58.3125rem + var(--padding-inline) * 2);
    padding-inline:var(--padding-inline);
  }

  .top-video__link{
    grid-template-columns:625fr 308fr;
  }

  .top-video__img{
    aspect-ratio:625/405;
  }

  .top-video__heading{
    font-size:1.4375rem;
    line-height:1.96;
    margin-top:-0.9375rem;
  }

  .top-video__view-more{
    bottom:2.3125rem;
    left:auto;
    right:2.8125rem;
    transform:none;
  }
}

@media (min-width: 1013px){
  html{
    font-size:16px;
  }
}

@media (min-width: 1024px){
  .header__nav{
    display:block;
    margin-left:auto;
  }

  .header__actions{
    margin-left:1rem;
  }

  .header__hamburger{
    display:none;
  }

  .drawer{
    display:none;
  }

  .search-box{
    left:auto;
    right:calc(clamp(0.625rem, 0.625rem + 20 * var(--fluid-basis), 1.875rem) + 3.4375rem);
    top:50%;
    transform:translateY(-50%);
    width:26.375rem;
  }
}

@media (max-width: 768px){
  .--delay-1,
  .--delay-2,
  .--delay-3,
  .--delay-4,
  .--delay-5,
  .--delay-6,
  .--delay-7,
  .--delay-8,
  .--delay-9,
  .--delay-10{
    transition-delay:0s;
  }
}

@media (max-width: 767px){
  :root{
    --padding-inline:17px;
    --padding-inline-sm:14px;
    --inner-sm:500px;
    --inner:500px;
  }

  .view-more.cta-banner__view-more{
    font-size:0.9375rem;
    padding-bottom:0.5rem;
  }

  .feature-block__title-ja{
    margin-top:0.125rem;
  }

  .feature-block__link{
    gap:0.125rem;
  }

  .floating-banner{
    left:50%;
    max-width:25rem;
    translate:-50% 0;
  }

  .footer__nav{
    margin-top:2.8125rem;
  }

  .footer__addresses{
    margin-top:2.375rem;
  }

  .post-nav__item--prev .post-nav__title{
    padding-right:1.125rem;
  }

  .post-nav__item--next .post-nav__title{
    padding-left:1.125rem;
  }

  .thumb-slider__main{
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    touch-action:pan-y;
    width:100vw;
  }

  .view-more--large-sp{
    font-size:1.0625rem;
    min-width:7.0625rem;
  }

  .company-craftsman__intro-text{
    padding-inline:0.5625rem;
  }

  .company-craftsman__intro-img{
    padding-inline:0.5625rem;
  }

  .company-facilities__lead{
    padding-inline:0.25rem;
  }

  .company-facilities__lead--left{
    text-align:left;
  }

  .company-facilities__body{
    padding-inline:0.25rem;
  }

  .company-message__text{
    padding-inline:0.25rem;
  }

  .company-message__signature{
    padding-inline:0.25rem;
  }

  .company-mv__title{
    padding-left:1.0625rem;
  }

  .company-sdgs__lead{
    padding-inline:0.25rem;
  }

  .company-sdgs__commitments-list{
    padding-inline:0.625rem;
  }

  .company-sdgs__about-text{
    padding-inline:1.5625rem;
  }

  .company-sdgs__about-button{
    margin-top:2.1875rem;
  }

  .contact-form__panel{
    margin-inline:calc(50% - 50cqi);
    padding-inline:calc(50cqi - 50%);
  }

  .contact-form__input-date{
    display:flex;
    flex-direction:column;
    gap:0.25rem;
  }

  .facility-tech__body{
    padding-inline:0.5rem;
  }

  .facility-works-cta__more{
    font-size:0.9375rem;
    padding-bottom:0.5rem;
  }

  .house-building-detail__subtitle{
    padding-inline:0.1875rem;
  }

  .house-building-detail__text-wrap{
    padding-inline:0.1875rem;
  }

  .house-building-detail__subtitle + .house-building-detail__lead{
    padding-inline:0.1875rem;
  }

  .house-building-detail__text-wrap + .house-building-detail__requirement-list{
    padding-inline:0.25rem;
  }

  .house-building-detail--long-life-housing .house-building-detail__inner{
    max-width:calc(var(--inner-sm) + 0.4375rem * 2);
    padding-inline:0.4375rem;
  }

  .house-building-detail--long-life-housing .house-building-detail__block:not(:last-child){
    padding-inline:0.375rem;
  }

  .house-building-detail--long-life-housing .house-building-detail__block:last-child .house-building-detail__subtitle, .house-building-detail--long-life-housing .house-building-detail__block:last-child .house-building-detail__text{
    padding-inline:0.625rem;
  }

  .house-building-detail--long-life-housing .house-building-detail__performance{
    padding-inline:0.25rem;
  }

  .house-building-detail--warranty{
    margin-top:3.3125rem;
  }

  .renovation-services__body{
    padding-inline:0.375rem;
  }

  .renovation-showroom__text-wrap{
    padding-right:0.625rem;
  }

  .renovation-works__list{
    padding-inline:2.8125rem;
  }

  .results-archive__results{
    padding-inline:1.5rem;
  }

  .results-detail-info__title-kana{
    display:block;
  }

  .top-blog__links{
    margin-right:1.4375rem;
  }

  .top-blog__link{
    padding-bottom:0.5rem;
  }

  .top-info__view-more{
    padding-bottom:0.5rem;
  }

  .top-services__item-link .view-more{
    font-size:0.9375rem;
  }

  .top-services__heading{
    margin-bottom:0.6875rem;
  }
}

@media (max-width: 390px){
  html{
    font-size:4.1025641026vw;
  }
}

@media (any-hover: hover){
  a:hover{
    cursor:pointer;
  }

  .back-to-index:hover::after{
    left:calc(50% + 4.6875rem - 0.1875rem);
  }

  .category-filter__link:not(.category-filter__link--current):hover{
    background-color:var(--category-filter-accent);
    color:var(--white);
  }

  .cta-banner:hover .cta-banner__img{
    transform:scale(1.05);
  }

  .cta-banner:hover .cta-banner__view-more::after{
    left:100%;
  }

  .feature-block__link:hover .feature-block__img{
    transform:scale(1.05);
  }

  .floating-banner__link:hover{
    opacity:0.7;
  }

  .footer__nav-link:hover{
    color:var(--main-orange);
  }

  .footer__privacy:hover::after{
    left:calc(100% - 0.375rem);
  }

  .header__nav-link:hover{
    background-position:bottom left;
    background-size:100% 1px;
  }

  .header__search-button:hover{
    opacity:0.7;
  }

  .pagination .page-link:hover{
    background-color:var(--pagination-accent);
    color:var(--white);
  }

  .pagination .prev:hover{
    transform:translateX(-3px);
  }

  .pagination .next:hover{
    transform:translateX(3px);
  }

  .post-list__link:hover .post-list__title{
    color:var(--main-orange);
  }

  .post-nav__item--prev:hover .post-nav__arrow--prev{
    transform:scaleX(-1) translateX(0.25rem);
  }

  .post-nav__item--next:hover .post-nav__arrow--next{
    transform:translateX(0.25rem);
  }

  .post-nav__item:hover .post-nav__title{
    color:var(--main-orange);
  }

  .search-box__submit:hover{
    opacity:0.7;
  }

  .search-box__close:hover{
    opacity:0.7;
  }

  .thumb-slider__arrow:hover{
    opacity:0.6;
  }

  .thumb-slider__thumb:hover{
    filter:brightness(1.2);
  }

  .to-top:hover::after{
    animation:to-top-line 0.6s cubic-bezier(0.65, 0, 0.35, 1);
  }

  .top-link:hover::after{
    left:calc(100% - 3.625rem);
  }

  .view-more:hover::after{
    left:100%;
  }

  .blogs-archive-banner:hover .blogs-archive-banner__img{
    transform:scale(1.05);
  }

  .blogs-archive-banner:hover .blogs-archive-banner__view-more::after{
    left:100%;
  }

  .company-access__link:hover{
    opacity:0.6;
  }

  .company-profile__link:hover{
    opacity:0.6;
  }

  .company-sdgs__about-caption-link:hover{
    opacity:0.6;
  }

  .company-sdgs__about-button:hover{
    background-color:var(--body-bg);
    color:var(--main-brown);
  }

  .contact-form__agreement-link:hover{
    opacity:0.6;
  }

  .contact-form__submit-btn:hover{
    border-bottom-color:var(--main-orange);
    color:var(--main-orange);
  }

  .events-detail__welcome-body a:hover{
    opacity:0.6;
  }

  .events-detail__welcome-link:hover{
    opacity:0.6;
  }

  .events-detail__reserve-cta-button:hover{
    opacity:0.85;
  }

  .events-detail__slot-button:not(.events-detail__slot-button--disabled):hover{
    opacity:0.7;
  }

  .events-detail__nav-link:hover .events-detail__nav-img{
    transform:scale(1.05);
  }

  .events-detail__nav-item--prev .events-detail__nav-link:hover .events-detail__nav-arrow-img{
    transform:translateX(-0.3125rem);
  }

  .events-detail__nav-item--next .events-detail__nav-link:hover .events-detail__nav-arrow-img{
    transform:translateX(0.3125rem);
  }

  .facility-works-cta__link:hover .facility-works-cta__img{
    transform:scale(1.05);
  }

  .facility-works-cta__link:hover .facility-works-cta__more::after{
    left:100%;
  }

  .house-building-detail__warranty-note-link:hover{
    opacity:0.7;
  }

  .house-building-toc__link:hover::after{
    transform:translateY(0.25rem);
  }

  .house-building-toc-floating:hover::after{
    animation:house-building-toc-floating-line 0.6s cubic-bezier(0.65, 0, 0.35, 1);
  }

  .renovation-faq__question:hover .renovation-faq__question-text{
    color:var(--main-green);
  }

  .renovation-works__link:hover .renovation-works__img{
    transform:scale(1.05);
  }

  .results-archive__filter-link:hover{
    background-color:var(--main-brown);
    color:var(--white);
  }

  .results-archive__item-link:hover .results-archive__item-img{
    transform:scale(1.05);
  }

  .results-archive__item-link:hover .results-archive__item-title{
    color:var(--main-orange);
  }

  .search-archive__link:hover .search-archive__post-content{
    color:var(--main-orange);
  }

  .top-blog__item-link:hover .top-blog__item-title{
    color:var(--main-orange);
  }

  .top-info__item-link:hover .top-info__img{
    transform:scale(1.05);
  }

  .top-info__item-link:hover .view-more::after{
    left:100%;
  }

  .top-news__item-link:hover .top-news__item-title{
    color:var(--main-orange);
  }

  .top-news__link:hover::after{
    left:100%;
  }

  .top-results__item-link:hover .top-results__item-img{
    transform:scale(1.05);
  }

  .top-services__item-link:hover .top-services__img{
    transform:scale(1.05);
  }

  .top-services__item-link:hover .view-more::after{
    left:100%;
  }

  .top-video__link:hover .top-video__img{
    transform:scale(1.05);
  }

  .top-video__link:hover .view-more::after{
    left:100%;
  }
}