@charset "UTF-8";
/* ========================================
リセットCSS
======================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  font-size: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
div {
  overflow-wrap: break-word;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

iframe {
  max-width: 100%;
  vertical-align: middle;
}

span {
  font: inherit;
  letter-spacing: inherit;
}

ul,
ol {
  list-style: none;
}

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

address {
  font: inherit;
}

input,
button,
textarea,
select {
  color: inherit;
  font: inherit;
  vertical-align: middle;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
}

/* ========================================
変数・関数
======================================== */
:root {
  --color-base: #1A1311;
  --color-green: #00622F;
  --color-green-bg: #A7B2A4;
  --color-glay-text: #BFBFBF;
  --font-base: "IBM Plex Sans JP", sans-serif;
  --mg-pc: min(calc(56 / 1420 * 100vw), calc(56px * 1.35));
  --mg-sp: calc(15 / 375 * 100vw);
  --z-index-menu: 10;
  --z-index-menubtn: 11;
  --z-index-logo: 11;
  --z-index-app: 11;
  --z-index-homefixed: 8;
  --ratio: 1.35;
}

/* ========================================
mixin
======================================== */
/* ========================================
ベースCSS
======================================== */
body {
  min-height: 100vh;
  color: var(--color-base);
  font-family: var(--font-base);
  font-size: clamp(13px,calc(13 / 1420 * 100vw), calc(13px * var(--ratio)));
  font-weight: 400;
  line-height: 1.8461538462;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  opacity: 0;
  animation: pageFadein 2s forwards;
}

@keyframes pageFadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
*,
*::before,
*::after {
  letter-spacing: 0.04em;
}

a {
  color: inherit;
  text-decoration: none;
}

/* CLEAR-FIX */
@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

/* ========================================
モジュール・パーツ m-
======================================== */
.m-inner {
  width: min(calc(1308 / 1420 * 100vw), calc(1308px * var(--ratio)) );
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .m-inner {
    width: calc(100% - var(--mg-sp) * 2);
  }
}

.m-linkBtn-min, .m-linkBtn {
  display: flex;
  align-items: center;
  width: clamp(168px,calc(168 / 1420 * 100vw), calc(168px * var(--ratio)));
  height: clamp(60px,calc(60 / 1420 * 100vw), calc(60px * var(--ratio)));
  padding-top: 0.25em;
  padding-right: clamp(15px,calc(15 / 1420 * 100vw), calc(15px * var(--ratio)));
  border-bottom: 1px solid #000;
  line-height: 1.2;
  position: relative;
  transition: color 0.3s;
}
@media screen and (max-width: 767px) {
  .m-linkBtn-min, .m-linkBtn {
    width: 165px;
  }
}
.m-linkBtn-min::after, .m-linkBtn::after {
  content: "";
  display: block;
  width: clamp(13px,calc(13 / 1420 * 100vw), calc(13px * var(--ratio)));
  height: clamp(13px,calc(13 / 1420 * 100vw), calc(13px * var(--ratio)));
  background: url(/assets/reform/image/common/arrow.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: transform 0.3s;
}
@media (hover: hover) {
  .m-linkBtn-min:hover, .m-linkBtn:hover {
    color: var(--color-green);
  }
  .m-linkBtn-min:hover::after, .m-linkBtn:hover::after {
    transform: translateY(-50%) rotate(45deg);
    background-image: url(/assets/reform/image/common/arrow-green.svg);
  }
}

.m-linkBtn-min {
  height: clamp(36px,calc(36 / 1420 * 100vw), calc(36px * var(--ratio)));
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .m-linkBtn-min {
    width: 165px;
  }
}
.m-linkBtn-min::after {
  width: clamp(9px,calc(9 / 1420 * 100vw), calc(9px * var(--ratio)));
  height: clamp(9px,calc(9 / 1420 * 100vw), calc(9px * var(--ratio)));
  background-image: url(/assets/reform/image/common/arrow_min.svg);
}
@media (hover: hover) {
  .m-linkBtn-min:hover::after {
    background-image: url(/assets/reform/image/common/arrow_min-green.svg);
  }
}

.m-linkBack {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 clamp(18px,calc(18 / 1420 * 100vw), calc(18px * var(--ratio)));
  font-size: clamp(20px,calc(20 / 1420 * 100vw), calc(20px * var(--ratio)));
  letter-spacing: 0.02em;
}
.m-linkBack::before {
  content: "";
  display: block;
  width: clamp(17px,calc(17 / 1420 * 100vw), calc(17px * var(--ratio)));
  height: clamp(17px,calc(17 / 1420 * 100vw), calc(17px * var(--ratio)));
  background: url(/assets/reform/image/common/arrow_back.svg) center/contain no-repeat;
  transition: 0.3s;
  margin-top: -1px;
}
@media (hover: hover) {
  .m-linkBack {
    transition: color 0.3s;
  }
  .m-linkBack:hover {
    color: var(--color-green);
  }
  .m-linkBack:hover::before {
    background-image: url(/assets/reform/image/common/arrow_back-green.svg);
    transform: rotate(-45deg);
  }
}

.m-heightFull {
  height: 100vh;
}
@media (hover: hover) {
  .m-heightFull {
    height: 100vh !important;
  }
}

.m-rellaxImg {
  position: relative;
  overflow: hidden;
}
.m-rellaxImg img {
  width: 130%;
  max-width: 130%;
  position: absolute;
  top: -15%;
  left: -15%;
  pointer-events: none;
}

.m-fadeIn-bottom {
  opacity: 0;
  transform: translateY(30px);
}
.m-fadeIn-bottom.is-on {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1.4s, transform 1.4s;
}

.m-bg-green {
  background-color: var(--color-green-bg);
  color: #fff;
}
.m-bg-green a {
  color: #fff;
}

.m-secTtl {
  color: var(--color-glay-text);
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
}
.m-secTtl + .m-secCatch {
  margin-top: 0.2em;
}
@media screen and (max-width: 767px) {
  .m-secTtl + .m-secCatch {
    margin-top: 0.3em;
  }
}

.m-secCatch {
  font-size: clamp(24px , calc(36 / 1420 * 100vw), calc(36px * var(--ratio)));
  font-weight: 300;
  line-height: 1.5;
}

/* ========================================
補助的に使用 u-
======================================== */
@media screen and (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}

.u-ib {
  display: inline-block !important;
}

.u-text-center {
  text-align: center !important;
}
.u-text-left {
  text-align: left !important;
}
.u-text-right {
  text-align: right !important;
}

/* ========================================
header
======================================== */
.header_logo {
  position: fixed;
  top: clamp(25px,calc(25 / 1420 * 100vw), calc(25px * var(--ratio)));
  left: var(--mg-pc);
  z-index: var(--z-index-logo);
}
@media screen and (max-width: 767px) {
  .header_logo {
    top: 23px;
    left: var(--mg-sp);
  }
}
.header_logo a {
  display: flex;
  align-items: center;
}
.header_logo a::after {
  content: "";
  order: 2;
  display: block;
  width: clamp(1px,calc(1 / 1420 * 100vw), calc(1px * var(--ratio)));
  height: clamp(19px,calc(19 / 1420 * 100vw), calc(19px * var(--ratio)));
  margin: 0 clamp(7px,calc(7 / 1420 * 100vw), calc(7px * var(--ratio))) 0 clamp(8px,calc(8 / 1420 * 100vw), calc(8px * var(--ratio)));
  background: #000;
}
@media screen and (max-width: 767px) {
  .header_logo a::after {
    height: 15px;
    margin: 0 6px;
  }
}
.header_logo_symbol {
  width: clamp(18px,calc(18 / 1420 * 100vw), calc(18px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .header_logo_symbol {
    width: 14px;
  }
}
.header_logo_textBox {
  width: clamp(133px,calc(133 / 1420 * 100vw), calc(133px * var(--ratio)));
  margin-left: clamp(5px,calc(5 / 1420 * 100vw), calc(5px * var(--ratio)));
  overflow: hidden;
  transition: width 0.3s;
}
@media screen and (max-width: 767px) {
  .header_logo_textBox {
    width: 107px;
    margin-left: 5px;
  }
}
.is-scroll .header_logo_textBox {
  transition: width 0.3s, margin 0s 0.3s;
  width: 0;
  margin-left: 0;
}
.header_logo_textBox img {
  width: clamp(133px,calc(133 / 1420 * 100vw), calc(133px * var(--ratio)));
  max-width: none;
}
@media screen and (max-width: 767px) {
  .header_logo_textBox img {
    width: 107px;
  }
}
.header_logo_reform {
  order: 3;
  width: clamp(68px,calc(68 / 1420 * 100vw), calc(68px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .header_logo_reform {
    width: 52px;
  }
}
.header_app {
  position: fixed;
  right: var(--mg-pc);
  bottom: 27px;
  z-index: var(--z-index-app);
}
@media screen and (max-width: 767px) {
  .header_app {
    right: auto;
    left: var(--mg-sp);
    bottom: 13px;
  }
}
.header_app a {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .header_app a {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: 0.3s;
  }
}
@media screen and (max-width: 767px) {
  .header_app_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    margin-top: 12px;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 50%;
    position: relative;
  }
  .header_app_btn::before, .header_app_btn::after {
    content: "";
    display: block;
    width: 17px;
    height: 1px;
    background: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    opacity: 0;
    transition: opacity 0.3s;
  }
  .header_app_btn::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .header_app_btn::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .header_app_btn img {
    width: 22px;
    transition: opacity 0.3s;
  }
}
@media screen and (max-width: 767px) {
  .header_app.is-active .header_app_inner::before,
  .header_app.is-active a {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .header_app.is-active .header_app_btn::before, .header_app.is-active .header_app_btn::after {
    opacity: 1;
  }
  .header_app.is-active .header_app_btn img {
    opacity: 0;
  }
}
.header_app_inner {
  transition: opacity 0.3s;
}
.header_app_inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
}
@media screen and (max-width: 767px) {
  .header_app_inner::before {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: 0.3s;
  }
}
.header_app_inner.is-hide {
  opacity: 0;
}

.menuBtn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: clamp(13px,calc(13 / 1420 * 100vw), calc(13px * var(--ratio))) 0;
  line-height: 1;
  width: clamp(54px,calc(54 / 1420 * 100vw), calc(54px * var(--ratio)));
  position: fixed;
  top: 28px;
  right: var(--mg-pc);
  z-index: var(--z-index-menubtn);
}
@media screen and (max-width: 767px) {
  .menuBtn {
    gap: 10px 0;
    width: 44px;
    top: 26px;
    right: var(--mg-sp);
  }
}
.menuBtn span:not(.menuBtn_text) {
  display: block;
  width: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
  height: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
  border-radius: 50%;
  border: 1px solid #000;
  transition: transform 0.3s, opacity 0.3s, border-color 0.3s;
}
@media screen and (max-width: 767px) {
  .menuBtn span:not(.menuBtn_text) {
    width: 9px;
    height: 9px;
  }
}
.is-menuActive .menuBtn span:not(.menuBtn_text) {
  transition: transform 0.3s, opacity 0.2s 0.3s;
}
.is-menuActive .menuBtn span:not(.menuBtn_text):nth-child(1) {
  transform: translateX(350%);
}
@media screen and (max-width: 767px) {
  .is-menuActive .menuBtn span:not(.menuBtn_text):nth-child(1) {
    transform: translateX(35px);
  }
}
.is-menuActive .menuBtn span:not(.menuBtn_text):nth-child(2) {
  transform: translateX(175%);
}
@media screen and (max-width: 767px) {
  .is-menuActive .menuBtn span:not(.menuBtn_text):nth-child(2) {
    transform: translateX(17px);
  }
}
.menuBtn_text {
  display: block;
  width: 100%;
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
  position: relative;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .menuBtn_text {
    font-size: 11px;
  }
}
.is-menuActive .menuBtn_text {
  opacity: 0;
}
.menuBtn::after {
  content: "閉じる";
  display: block;
  width: 100%;
  letter-spacing: 0.02em;
  text-align: right;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .menuBtn::after {
    font-size: 11px;
  }
}
.is-menuActive .menuBtn::after {
  opacity: 1;
}
@media (hover: hover) {
  .menuBtn {
    transition: color 0.3s;
  }
  .menuBtn:hover {
    color: var(--color-green);
  }
  .menuBtn:hover span:not(.menuBtn_text) {
    border-color: var(--color-green);
  }
}

.menu {
  padding: clamp(67px,calc(67 / 1420 * 100vw), calc(67px * var(--ratio))) 3px clamp(7px,calc(7 / 1420 * 100vw), calc(7px * var(--ratio))) clamp(11px,calc(11 / 1420 * 100vw), calc(11px * var(--ratio)));
  background: rgba(255, 255, 255, 0.9);
  text-align: right;
  position: fixed;
  top: 24px;
  right: calc(var(--mg-pc) - 3px);
  z-index: var(--z-index-menu);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
@media screen and (max-width: 767px) {
  .menu {
    width: 100%;
    height: 100%;
    padding: 120px calc(17 / 375 * 100vw) 0 0;
    top: 0;
    right: 0;
  }
}
.is-menuActive .menu {
  visibility: visible;
  opacity: 1;
}
.menu li {
  opacity: 0;
  transform: translateY(10px);
  transition: 0.6s;
}
.menu li + li {
  margin-top: clamp(3px,calc(3 / 1420 * 100vw), calc(3px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .menu li + li {
    margin-top: 9px;
  }
}
.is-menuActive .menu li {
  transform: translateY(0);
  opacity: 1;
}
.is-menuActive .menu li:nth-child(1) {
  transition-delay: 0.05s;
}
.is-menuActive .menu li:nth-child(2) {
  transition-delay: 0.1s;
}
.is-menuActive .menu li:nth-child(3) {
  transition-delay: 0.15s;
}
.is-menuActive .menu li:nth-child(4) {
  transition-delay: 0.2s;
}
.is-menuActive .menu li:nth-child(5) {
  transition-delay: 0.25s;
}
.is-menuActive .menu li:nth-child(6) {
  transition-delay: 0.3s;
}
.menu a {
  display: inline-block;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .menu a {
    font-size: 18px;
  }
}
@media (hover: hover) {
  .menu a {
    transition: color 0.3s;
  }
  .menu a:hover {
    color: var(--color-green);
  }
}

/* ========================================
footer
======================================== */
.footer {
  display: grid;
  justify-content: space-between;
  grid-template-columns: auto auto;
  grid-template-rows: auto 1fr;
  gap: clamp(43px,calc(43 / 1420 * 100vw), calc(43px * var(--ratio))) 40px;
  padding-bottom: 72px;
  position: sticky;
  top: 100vh;
}
@media screen and (max-width: 767px) {
  .footer {
    display: block;
  }
}
.footer_logo {
  grid-column: 1/3;
}
.footer_logo img {
  width: clamp(208px,calc(208 / 1420 * 100vw), calc(208px * var(--ratio)));
}
.footer_navBox {
  display: flex;
  gap: 0 min(calc(107 / 1420 * 100vw), calc(107px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .footer_navBox {
    justify-content: space-between;
    gap: 0 0;
    margin-top: 43px;
  }
}
@media (hover: hover) {
  .footer_navPrimary a {
    transition: color 0.3s;
  }
  .footer_navPrimary a:hover {
    color: var(--color-green);
  }
}
.footer_navApp {
  margin-top: 5px;
  border-top: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .footer_navApp ._spMinText {
    font-size: 12px;
  }
}
@media screen and (min-width: 768px) {
  .footer_infoBox {
    padding-right: min(calc(60 / 1420 * 100vw), calc(60px * var(--ratio)) );
  }
}
@media screen and (max-width: 767px) {
  .footer_infoBox {
    margin-top: 97px;
  }
}
.footer_sns {
  display: flex;
  flex-wrap: wrap;
  gap: 0 clamp(9px,calc(9 / 1420 * 100vw), calc(9px * var(--ratio)));
  margin-top: clamp(30px,calc(30 / 1420 * 100vw), calc(30px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .footer_sns {
    margin-top: 28px;
  }
}
@media (hover: hover) {
  .footer_sns a {
    transition: opacity 0.3s;
  }
  .footer_sns a:hover {
    opacity: 0.6;
  }
}
.footer_sns ._line img {
  width: clamp(22px,calc(22 / 1420 * 100vw), calc(22px * var(--ratio)));
}
.footer_sns ._instagram img {
  width: clamp(21px,calc(21 / 1420 * 100vw), calc(21px * var(--ratio)));
}
.footer_sns ._x img {
  width: clamp(25px,calc(25 / 1420 * 100vw), calc(25px * var(--ratio)));
}

/* ========================================
メニュー
======================================== */
/* ========================================
共通で使うレイアウト l-
======================================== */
.l-main {
  padding-top: min(28.3802816901vw, 403px);
}
@media screen and (max-width: 767px) {
  .l-main {
    padding-top: 117px;
  }
}
.l-main-img {
  padding-top: min(28.7323943662vw, 408px);
}
@media screen and (max-width: 767px) {
  .l-main-img {
    padding-top: 120px;
  }
}

.l-columnList {
  display: flex;
  flex-wrap: wrap;
  gap: 64px 4.5871559633%;
}
@media screen and (max-width: 767px) {
  .l-columnList {
    gap: 82px 4.5871559633%;
  }
}
.l-columnList > li {
  width: 30.2752293578%;
}
@media screen and (max-width: 767px) {
  .l-columnList > li {
    width: 100%;
  }
}
.l-columnList a {
  display: block;
}
@media (hover: hover) {
  .l-columnList a:hover .l-columnList_img img {
    transform: scale(1.1);
  }
}
.l-columnList_img {
  padding-top: 75.7575757576%;
  position: relative;
  overflow: hidden;
}
.l-columnList_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.3s;
}
.l-columnList_head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0 15px;
  margin-top: clamp(8px,calc(8 / 1420 * 100vw), calc(8px * var(--ratio)));
  color: var(--color-glay-text);
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .l-columnList_head {
    margin-top: 8px;
  }
}
.l-columnList_time {
  display: block;
}
.l-columnList_cat {
  margin-left: auto;
}
.l-columnList_ttl {
  margin-top: clamp(2px,calc(2 / 1420 * 100vw), calc(2px * var(--ratio)));
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  font-weight: 500;
  line-height: 1.875;
}

@media screen and (min-width: 768px) {
  .l-col2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px 0;
  }
  .l-col2 > * {
    width: 47.7064220183%;
  }
}

@media screen and (min-width: 768px) {
  .l-col3 {
    display: flex;
    flex-wrap: wrap;
    gap: 62px 4.5871559633%;
  }
  .l-col3 > * {
    width: 30.2752293578%;
  }
}

.l-ttlTextBox_cont {
  padding-top: 1.9em;
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .l-ttlTextBox_cont {
    padding-top: 47px;
  }
}

.l-catList {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(10px,calc(10 / 1420 * 100vw), calc(10px * var(--ratio))) clamp(29px,calc(29 / 1420 * 100vw), calc(29px * var(--ratio)));
}
.l-catList a {
  display: inline-block;
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media (hover: hover) {
  .l-catList a {
    transition: color 0.3s;
  }
  .l-catList a:hover {
    color: var(--color-green);
  }
}

.l-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: clamp(10px,calc(10 / 1420 * 100vw), calc(10px * var(--ratio))) clamp(10px,calc(10 / 1420 * 100vw), calc(10px * var(--ratio)));
  color: #000;
  font-size: 16px;
}
.l-pagination a {
  padding: 0 2px;
  display: block;
  color: var(--color-glay-text);
}
@media (hover: hover) {
  .l-pagination a {
    transition: color 0.3s;
  }
  .l-pagination a:hover {
    color: var(--color-green);
  }
}

.l-post > *:first-child {
  margin-top: 0 !important;
}
@media screen and (max-width: 767px) {
  .l-post > *:first-child .l-post_ttl {
    margin-top: 39px;
    font-size: 24px;
  }
  .l-post > *:first-child .l-post_read {
    font-size: 20px;
  }
  .l-post > *:first-child .l-post_text {
    margin-top: 35px;
  }
}
.l-post_ttl {
  font-size: clamp(24px,calc(24 / 1420 * 100vw), calc(24px * var(--ratio)));
  line-height: 1.5;
}
@media screen and (max-width: 1024px) {
  .l-post_ttl {
    font-size: clamp(20px, 2.6075619296vw, 24px);
  }
}
.l-post_read {
  font-size: clamp(20px,calc(20 / 1420 * 100vw), calc(20px * var(--ratio)));
  font-weight: 300;
  line-height: 1.5;
}
@media screen and (max-width: 1024px) {
  .l-post_read {
    font-size: clamp(18px, 2.3468057366vw, 20px);
  }
}
.l-post_text {
  letter-spacing: 0.05em;
}
.l-post_text ._bgText {
  background-color: #C6DBC0;
}
.l-post_text a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.l-post_text ._textGreen {
  color: #0C9B11;
}
.l-post_boxImgText {
  display: flex;
  justify-content: space-between;
  margin-top: min(calc(159 / 1420 * 100vw), calc(159px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .l-post_boxImgText {
    display: block;
    margin-top: 99px;
  }
}
.l-post_boxImgText > * {
  width: 47.2049689441%;
}
@media screen and (max-width: 767px) {
  .l-post_boxImgText > * {
    width: 100%;
  }
}
.l-post_boxImgText_img img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-post_boxImgText_img.-vertical img {
    width: 86.8421052632%;
  }
}
.l-post_boxImgText_text {
  padding-left: min(calc(60 / 1420 * 100vw), calc(60px * var(--ratio)) );
}
@media screen and (max-width: 1024px) {
  .l-post_boxImgText_text {
    padding-left: 0;
  }
}
.l-post_boxImgText_text > *:first-child:not(.l-post_ttl) {
  margin-top: 0;
}
.l-post_boxImgText .l-post_ttl {
  margin-top: -0.25em;
}
@media screen and (max-width: 767px) {
  .l-post_boxImgText .l-post_ttl {
    margin-top: 49px;
  }
}
.l-post_boxImgText .l-post_read {
  margin-top: clamp(18px,calc(18 / 1420 * 100vw), calc(18px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .l-post_boxImgText .l-post_read {
    margin-top: 16px;
  }
}
.l-post_boxImgText .l-post_text {
  margin-top: clamp(33px,calc(33 / 1420 * 100vw), calc(33px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .l-post_boxImgText .l-post_text {
    margin-top: 44px;
  }
}
.l-post_boxTtl {
  margin-top: min(calc(187 / 1420 * 100vw), calc(187px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .l-post_boxTtl {
    margin-top: 96px;
  }
}
.l-post_boxTtlText {
  margin-top: min(calc(156 / 1420 * 100vw), calc(156px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .l-post_boxTtlText {
    margin-top: 83px;
  }
}
.l-post_boxTtlText .l-post_text {
  margin-top: clamp(39px,calc(39 / 1420 * 100vw), calc(39px * var(--ratio)));
  width: 47.2049689441%;
}
@media screen and (max-width: 767px) {
  .l-post_boxTtlText .l-post_text {
    width: 100%;
    margin-top: 41px;
  }
}
.l-post_boxlargeImg {
  margin-top: min(calc(146 / 1420 * 100vw), calc(146px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .l-post_boxlargeImg {
    margin-top: 100px;
  }
}
.l-post_boxlargeImg img {
  width: 100%;
}
.l-post_boxImg2 {
  display: flex;
  justify-content: space-between;
  margin-top: min(calc(144 / 1420 * 100vw), calc(144px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .l-post_boxImg2 {
    display: block;
    margin-top: 107px;
  }
}
.l-post_boxImg2 > * {
  width: 47.2049689441%;
}
@media screen and (max-width: 767px) {
  .l-post_boxImg2 > * {
    width: 100%;
  }
  .l-post_boxImg2 > * + * {
    margin-top: 27px;
  }
}
.l-post_boxImg2 img {
  width: 100%;
}

.l-form * {
  letter-spacing: 0.05em;
}
.l-form_cont {
  display: flex;
}
.l-form_cont + .l-form_cont {
  margin-top: 0.9em;
}
.l-form_cont dt {
  width: min(calc(228 / 1420 * 100vw), calc(228px * var(--ratio)) );
  font-weight: 500;
  padding-right: 30px;
}
@media screen and (max-width: 767px) {
  .l-form_cont dt {
    width: 90px;
    padding-right: 0;
  }
}
.l-form_cont dd {
  flex: 1;
  position: relative;
}
.l-form_cont.-cont .l-form_error {
  top: calc(100% + 0.3em);
}
@media screen and (max-width: 767px) {
  .l-form_cont.-cont {
    margin-top: 28px;
  }
}
.l-form input,
.l-form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  background: none;
  box-shadow: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: clamp(13px,calc(13 / 1420 * 100vw), calc(13px * var(--ratio)));
  font-weight: 400;
  line-height: inherit;
  outline: none;
}
.l-form input::-moz-placeholder, .l-form textarea::-moz-placeholder {
  color: #C9CACA;
}
.l-form input::placeholder,
.l-form textarea::placeholder {
  color: #C9CACA;
}
.l-form textarea {
  height: 136px;
  padding: 5px;
  border: 1px solid var(--color-glay-text);
  resize: vertical;
  form-sizing: content;
}
.l-form_checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 9px min(calc(43 / 1420 * 100vw), calc(43px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .l-form_checkbox {
    flex-direction: column;
  }
}
.l-form_checkbox input[type=radio],
.l-form_checkbox input[type=checkbox] {
  display: none;
}
.l-form_checkbox label {
  display: block;
  cursor: pointer;
}
.l-form_checkbox span {
  display: block;
  padding-left: 28px;
  position: relative;
}
.l-form_checkbox span::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background: var(--color-glay-text);
  border-radius: 50%;
  position: absolute;
  top: clamp(3px,calc(3 / 1420 * 100vw), calc(3px * var(--ratio)));
  left: 0;
}
.l-form_checkbox input:checked + span::before {
  background: var(--color-green);
}
.l-form_submit {
  display: flex;
  align-items: center;
  gap: 0 clamp(33px,calc(33 / 1420 * 100vw), calc(33px * var(--ratio)));
  margin-top: clamp(68px,calc(68 / 1420 * 100vw), calc(68px * var(--ratio)));
  font-size: clamp(20px,calc(20 / 1420 * 100vw), calc(20px * var(--ratio)));
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .l-form_submit {
    margin-top: 33px;
  }
}
.l-form_submit::after {
  content: "";
  display: block;
  width: clamp(17px,calc(17 / 1420 * 100vw), calc(17px * var(--ratio)));
  height: clamp(17px,calc(17 / 1420 * 100vw), calc(17px * var(--ratio)));
  background: url(/assets/reform/image/common/arrow_large.svg) center/contain no-repeat;
  transition: 0.3s;
}
@media (hover: hover) {
  .l-form_submit {
    transition: color 0.3s;
  }
  .l-form_submit:hover {
    color: #00622F;
  }
  .l-form_submit:hover::after {
    background-image: url(/assets/reform/image/common/arrow_large-green.svg);
    transform: rotate(45deg);
  }
}
.l-form_error {
  display: block;
  width: 100%;
  line-height: 1.1;
  color: #E62C2C;
  font-size: clamp(10px,calc(10 / 1420 * 100vw), calc(10px * var(--ratio)));
  position: absolute;
  top: calc(100% - 0.3em);
  left: 0;
}
.l-form_day label {
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.l-form_day label + label {
  margin-top: 10px;
}
.l-form_day input {
  width: 220px;
  height: 40px;
  border: 1px solid #333;
  text-align: center;
  background: url(/assets/reform/image/common/arrow_bottom.svg) right 10px center/12px auto no-repeat;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .l-form_day input {
    flex: 1;
    width: auto;
    max-width: 220px;
  }
}
.l-form .l-form_privacy {
  margin-top: clamp(42px,calc(42 / 1420 * 100vw), calc(42px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .l-form .l-form_privacy {
    display: block;
  }
  .l-form .l-form_privacy dt {
    width: 100%;
    margin-bottom: 10px;
  }
}
.l-form_privacyBox {
  border: 1px solid var(--color-glay-text);
  margin-top: 28px;
  padding: 20px 20px;
  height: 192px;
  overflow-y: scroll;
}

/* ========================================
トップページ home
======================================== */
.homeHeader .header_logo,
.homeHeader .header_app,
.homeHeader .menuBtn,
.homeMv_address {
  opacity: 0;
  animation: fadein 2s 1s forwards;
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.home {
  padding-bottom: 180px;
}
@media screen and (max-width: 767px) {
  .home {
    padding-bottom: 208px;
  }
}

.homeMv {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  position: relative;
  z-index: 1;
  opacity: 0;
  animation: fadein 2s 0.4s forwards;
}
.homeMv_catch {
  padding-top: 0.2em;
  font-size: max(calc(40 / 1420 * 100vw), 32px);
  font-weight: 300;
  line-height: 1.78;
}
@media screen and (max-width: 767px) {
  .homeMv_catch {
    padding-top: 0;
    font-size: min(6.6666666667vw, 25px * var(--ratio));
    line-height: 1.85;
    transform: translate(-1%, -10%);
  }
}
.homeMv_bg {
  width: max(calc(288 / 1420 * 100vw), 230.4px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -51%);
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .homeMv_bg {
    width: min(76.8vw, 288px * var(--ratio));
    transform: translate(-50%, -53.5%);
  }
}
.homeMv_address {
  line-height: 1.3846153846;
  position: absolute;
  left: var(--mg-pc);
  bottom: 23px;
}
@media screen and (max-width: 767px) {
  .homeMv_address {
    display: none;
  }
}

.homeFixed {
  position: fixed;
  left: var(--mg-pc);
  bottom: 23px;
  z-index: var(--z-index-homefixed);
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .homeFixed {
    left: auto;
    right: var(--mg-sp);
    bottom: 19px;
  }
}
.homeFixed.is-show {
  opacity: 1;
  visibility: visible;
}
.homeFixed a {
  border-top: 1px solid #000;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .homeFixed a {
    left: auto;
    right: 0;
  }
}
.homeFixed a.is-active {
  opacity: 1;
  visibility: visible;
}

.homePhilosophy {
  margin-top: clamp(64px,calc(64 / 1420 * 100vw), calc(64px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .homePhilosophy {
    margin-top: 70px;
  }
}
@media screen and (min-width: 768px) {
  .homePhilosophy_main {
    width: min(calc(1080 / 1420 * 100vw), calc(1080px * var(--ratio)) );
    margin-left: auto;
    margin-right: auto;
  }
}
.homePhilosophy_main img {
  width: 100%;
}
.homePhilosophy_about {
  margin-top: clamp(40px,calc(40 / 1420 * 100vw), calc(40px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .homePhilosophy_about {
    margin-top: 64px;
  }
}
@media screen and (min-width: 1025px) {
  .homePhilosophy_about {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .homePhilosophy_about {
    width: min(calc(1080 / 1420 * 100vw), calc(1080px * var(--ratio)) );
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 1025px) {
  .homePhilosophy_about ._head {
    width: 46%;
  }
}
.homePhilosophy_about ._ttl {
  color: var(--color-glay-text);
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
}
.homePhilosophy_about ._catch {
  margin-top: 2px;
  font-size: clamp(32px , calc(40 / 1420 * 100vw), calc(40px * var(--ratio)));
  font-weight: 300;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .homePhilosophy_about ._catch {
    margin-top: 8px;
    font-size: 24px;
  }
}
.homePhilosophy_about ._contBox {
  font-size: clamp(16px , calc(18 / 1420 * 100vw), calc(18px * var(--ratio)));
  line-height: 2;
}
@media screen and (min-width: 1025px) {
  .homePhilosophy_about ._contBox {
    width: 47.2222222222%;
  }
}
@media screen and (max-width: 1024px) {
  .homePhilosophy_about ._contBox {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .homePhilosophy_about ._contBox {
    margin-top: 62px;
  }
}
.homePhilosophy_merit {
  margin-top: clamp(76px,calc(76 / 1420 * 100vw), calc(76px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .homePhilosophy_merit {
    margin-top: 139px;
  }
}
.homePhilosophy_craftsman {
  margin-top: clamp(194px,calc(194 / 1420 * 100vw), calc(194px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .homePhilosophy_craftsman {
    margin-top: calc(89 / 375 * 100vw);
  }
  .homePhilosophy_craftsman .homePhilosophy_secCatch {
    width: 102%;
  }
}
.homePhilosophy_secTtl {
  color: var(--color-glay-text);
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
}
.homePhilosophy_secCatch {
  margin-top: 1px;
  font-size: clamp(24px , calc(32 / 1420 * 100vw), calc(32px * var(--ratio)));
  font-weight: 300;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .homePhilosophy_secCatch {
    margin-top: 1px;
    font-size: 24px;
  }
}
.homePhilosophy_cont {
  display: flex;
  gap: 0 clamp(30px,calc(30 / 1420 * 100vw), calc(30px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont {
    display: block;
  }
}
.homePhilosophy_cont ._contBox {
  width: clamp(312px,calc(312 / 1420 * 100vw), calc(312px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont ._contBox {
    margin-top: 27px;
    width: calc(255 / 375 * 100vw);
  }
}
.homePhilosophy_cont ._ttl {
  margin-top: -1px;
  color: var(--color-glay-text);
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
}
.homePhilosophy_cont ._catch {
  margin: 0.2em 0 1.2em;
  padding-bottom: 0.8em;
  border-bottom: 1px solid var(--color-base);
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  font-weight: 500;
  line-height: 1.5;
}
.homePhilosophy_cont.-merit01 {
  margin-top: min(calc(123 / 1420 * 100vw), calc(123px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit01 {
    margin-top: min(calc(88 / 375 * 100vw), 88px);
  }
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit01 ._contBox {
    margin-top: 32px;
  }
}
.homePhilosophy_cont.-merit01 ._imgBox {
  width: min(calc(738 / 1420 * 100vw), calc(738px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit01 ._imgBox {
    width: min(calc(255 / 375 * 100vw), 255px);
  }
}
.homePhilosophy_cont.-merit01 .m-rellaxImg {
  padding-top: 71.5447154472%;
}
.homePhilosophy_cont.-merit02 {
  flex-direction: row-reverse;
  margin-top: min(calc(96 / 1420 * 100vw), calc(96px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit02 {
    margin-top: calc(89 / 375 * 100vw);
  }
}
.homePhilosophy_cont.-merit02 ._ttl,
.homePhilosophy_cont.-merit02 ._catch {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit02 ._contBox {
    margin-left: auto;
  }
}
.homePhilosophy_cont.-merit02 ._imgBox {
  width: min(calc(396 / 1420 * 100vw), calc(396px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit02 ._imgBox {
    width: min(calc(165 / 375 * 100vw), 165px);
    margin-left: auto;
  }
}
.homePhilosophy_cont.-merit02 .m-rellaxImg {
  padding-top: 127.5252525253%;
}
.homePhilosophy_cont.-merit03 {
  margin-top: max(-6.8309859155vw, -97px * var(--ratio));
}
@media screen and (max-width: 1024px) {
  .homePhilosophy_cont.-merit03 {
    margin-top: min(calc(60 / 1420 * 100vw), calc(60px * var(--ratio)) );
  }
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit03 {
    margin-top: min(calc(88 / 375 * 100vw), 88px);
  }
}
.homePhilosophy_cont.-merit03 ._imgBox {
  width: min(calc(282 / 1420 * 100vw), calc(282px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit03 ._imgBox {
    width: min(calc(165 / 375 * 100vw), 165px);
  }
}
.homePhilosophy_cont.-merit03 .m-rellaxImg {
  padding-top: 127.6595744681%;
}
.homePhilosophy_cont.-merit04 {
  flex-direction: row-reverse;
  margin-top: min(calc(121 / 1420 * 100vw), calc(121px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit04 {
    margin-top: calc(89 / 375 * 100vw);
  }
}
.homePhilosophy_cont.-merit04 ._ttl,
.homePhilosophy_cont.-merit04 ._catch {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit04 ._contBox {
    margin-top: 32px;
    margin-left: auto;
  }
}
.homePhilosophy_cont.-merit04 ._imgBox {
  width: min(calc(738 / 1420 * 100vw), calc(738px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit04 ._imgBox {
    width: min(calc(255 / 375 * 100vw), 255px);
    margin-left: auto;
  }
}
.homePhilosophy_cont.-merit04 .m-rellaxImg {
  padding-top: 71.5447154472%;
}
.homePhilosophy_cont.-merit05 {
  margin-top: min(calc(142 / 1420 * 100vw), calc(142px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit05 {
    margin-top: min(calc(89 / 375 * 100vw), 89px);
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit05 ._contBox {
    margin-top: 32px;
  }
}
.homePhilosophy_cont.-merit05 ._imgBox {
  width: min(calc(396 / 1420 * 100vw), calc(396px * var(--ratio)) );
  margin-left: min(calc(114 / 1420 * 100vw), calc(114px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-merit05 ._imgBox {
    width: min(calc(255 / 375 * 100vw), 255px);
    margin-left: 0;
  }
}
.homePhilosophy_cont.-merit05 .m-rellaxImg {
  padding-top: 71.4646464646%;
}
.homePhilosophy_cont.-craftsman01 {
  flex-direction: row-reverse;
  margin-top: min(calc(125 / 1420 * 100vw), calc(125px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-craftsman01 {
    margin-top: calc(85 / 375 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-craftsman01 ._contBox {
    margin-left: auto;
  }
}
.homePhilosophy_cont.-craftsman01 ._imgBox {
  width: min(calc(396 / 1420 * 100vw), calc(396px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-craftsman01 ._imgBox {
    width: min(calc(165 / 375 * 100vw), 165px);
    margin-left: auto;
  }
}
.homePhilosophy_cont.-craftsman01 .m-rellaxImg {
  padding-top: 127.5252525253%;
}
.homePhilosophy_cont.-craftsman02 {
  margin-top: min(calc(120 / 1420 * 100vw), calc(120px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-craftsman02 {
    margin-top: min(calc(89 / 375 * 100vw), 89px);
  }
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-craftsman02 ._contBox {
    margin-top: 32px;
  }
}
.homePhilosophy_cont.-craftsman02 ._imgBox {
  width: min(calc(738 / 1420 * 100vw), calc(738px * var(--ratio)) );
  margin-left: min(calc(114 / 1420 * 100vw), calc(114px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-craftsman02 ._imgBox {
    width: min(calc(255 / 375 * 100vw), 255px);
    margin-left: 0;
  }
}
.homePhilosophy_cont.-craftsman02 .m-rellaxImg {
  padding-top: 71.5447154472%;
}
.homePhilosophy_cont.-craftsman03 {
  flex-direction: row-reverse;
  margin-top: min(calc(119 / 1420 * 100vw), calc(119px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-craftsman03 {
    margin-top: min(calc(87 / 375 * 100vw), 87px);
  }
}
.homePhilosophy_cont.-craftsman03 ._ttl,
.homePhilosophy_cont.-craftsman03 ._catch {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-craftsman03 ._contBox {
    margin-left: auto;
  }
}
.homePhilosophy_cont.-craftsman03 ._imgBox {
  width: min(calc(510 / 1420 * 100vw), calc(510px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-craftsman03 ._imgBox {
    width: min(calc(165 / 375 * 100vw), 165px);
    margin-left: auto;
  }
}
.homePhilosophy_cont.-craftsman03 .m-rellaxImg {
  padding-top: 127.2549019608%;
}
.homePhilosophy_cont.-craftsman04 {
  margin-top: max(-20.3521126761vw, -289px * var(--ratio));
}
@media screen and (max-width: 1024px) {
  .homePhilosophy_cont.-craftsman04 {
    margin-top: min(calc(60 / 1420 * 100vw), calc(60px * var(--ratio)) );
  }
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-craftsman04 {
    margin-top: min(calc(90 / 375 * 100vw), 90px);
  }
}
.homePhilosophy_cont.-craftsman04 ._imgBox {
  width: min(calc(282 / 1420 * 100vw), calc(282px * var(--ratio)) );
}
@media screen and (max-width: 767px) {
  .homePhilosophy_cont.-craftsman04 ._imgBox {
    width: min(calc(165 / 375 * 100vw), 165px);
  }
}
.homePhilosophy_cont.-craftsman04 .m-rellaxImg {
  padding-top: 127.6595744681%;
}

.homeAbout {
  width: 100%;
  margin-top: clamp(168px,calc(168 / 1420 * 100vw), calc(168px * var(--ratio)));
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .homeAbout {
    margin-top: 90px;
  }
}
.homeAbout_inner {
  padding: clamp(92px,calc(92 / 1420 * 100vw), calc(92px * var(--ratio))) 0 clamp(125px,calc(125 / 1420 * 100vw), calc(125px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .homeAbout_inner {
    padding: 92px 0 132px;
  }
}
.homeAbout_ttl {
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
  letter-spacing: 0.02em;
}
.homeAbout_catch {
  margin-top: 0.13em;
  font-size: clamp(36px,calc(36 / 1420 * 100vw), calc(36px * var(--ratio)));
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .homeAbout_catch {
    margin-top: 7px;
    font-size: 24px;
  }
}
.homeAbout_imgBoxWrap {
  width: 100%;
  height: calc(408 / 1420 * 100vw);
  margin-top: clamp(90px,calc(90 / 1420 * 100vw), calc(90px * var(--ratio)));
  position: relative;
}
@media screen and (max-width: 767px) {
  .homeAbout_imgBoxWrap {
    margin-top: 95px;
    height: calc(192 / 375 * 100vw);
  }
}
.homeAbout_imgBox {
  display: flex;
  gap: 0 min(calc(60 / 1420 * 100vw), calc(60px * var(--ratio)) );
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .homeAbout_imgBox {
    gap: 0 calc(28 / 375 * 100vw);
  }
}
.homeAbout_imgBox > li {
  width: calc(510 / 1420 * 100vw);
}
@media screen and (max-width: 767px) {
  .homeAbout_imgBox > li {
    width: calc(240 / 375 * 100vw);
  }
}
.homeAbout_imgBox > li img {
  width: 100%;
}
.homeAbout_info {
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: space-between;
  gap: 40px 60px;
  margin-top: clamp(72px,calc(72 / 1420 * 100vw), calc(72px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .homeAbout_info {
    flex-direction: column-reverse;
    gap: 0 0;
    margin-top: 67px;
  }
}
.homeAbout_linkBox {
  position: relative;
}
@media screen and (max-width: 767px) {
  .homeAbout_linkBox {
    width: 255px;
    margin-top: 149px;
    margin-right: auto;
  }
}
.homeAbout_linkBox::before {
  content: "";
  display: block;
  width: clamp(240px,calc(240 / 1420 * 100vw), calc(240px * var(--ratio)));
  height: 1px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .homeAbout_linkBox::before {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .homeAbout_linkBox:hover .m-linkBtn {
    color: rgba(255, 255, 255, 0.5);
  }
}
.homeAbout_linkBox .m-linkBtn {
  width: clamp(240px,calc(240 / 1420 * 100vw), calc(240px * var(--ratio)));
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  border-color: #fff;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .homeAbout_linkBox .m-linkBtn {
    width: 100%;
  }
}
.homeAbout_linkBox .m-linkBtn::after {
  background-image: url(/assets/reform/image/common/arrow-white.svg);
}
@media (hover: hover) {
  .homeAbout_linkBox .m-linkBtn:hover {
    color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .homeAbout_linkBox .m-linkBtn.is-active::after {
    transform: translateY(-50%) rotate(45deg);
  }
  .homeAbout_linkBox .m-linkBtn.is-opacity {
    color: rgba(255, 255, 255, 0.5);
  }
}
.homeAbout_linkBox_sub {
  width: calc(clamp(240px,calc(240 / 1420 * 100vw), calc(240px * var(--ratio))) + 30px);
}
@media screen and (max-width: 767px) {
  .homeAbout_linkBox_sub {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .homeAbout_linkBox_sub:hover .homeAbout_linkBox_subCont {
    opacity: 1;
    visibility: visible;
  }
  .homeAbout_linkBox_sub:hover .m-linkBtn {
    color: #fff;
  }
  .homeAbout_linkBox_sub:hover > .m-linkBtn::after {
    transform: translateY(-50%) rotate(45deg);
  }
}
@media screen and (min-width: 768px) {
  .homeAbout_linkBox_subCont {
    border-top: 1px solid #fff;
    position: absolute;
    top: 0;
    left: 100%;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
  }
}
@media screen and (max-width: 767px) {
  .homeAbout_linkBox_subCont {
    display: none;
  }
}
.homeAbout_desc {
  width: clamp(396px,calc(396 / 1420 * 100vw), calc(396px * var(--ratio)));
  margin-left: auto;
  margin-top: -5px;
}
@media screen and (max-width: 767px) {
  .homeAbout_desc {
    width: 100%;
    margin-top: 0;
    margin-left: 0;
  }
}

.homeColumn {
  margin-top: clamp(107px,calc(107 / 1420 * 100vw), calc(107px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .homeColumn {
    margin-top: 93px;
  }
}
.homeColumn_ttl {
  margin-bottom: clamp(30px,calc(30 / 1420 * 100vw), calc(30px * var(--ratio)));
  color: var(--color-glay-text);
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .homeColumn_ttl {
    font-size: 12px;
  }
}
.homeColumn .l-columnList {
  gap: 58px 4.5871559633%;
}
@media screen and (max-width: 767px) {
  .homeColumn .l-columnList {
    gap: 85px 4.5871559633%;
  }
}
.homeColumn .l-columnList_img {
  padding-top: 78.7878787879%;
}
@media screen and (max-width: 767px) {
  .homeColumn .l-columnList_head {
    margin-top: 21px;
  }
}

/* ========================================
トップページ philosophy
======================================== */
.philosophy {
  padding-bottom: clamp(234px,calc(234 / 1420 * 100vw), calc(234px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .philosophy {
    padding-bottom: 224px;
  }
}

.philosophyMain img {
  width: 100%;
}

.philosophyIntro {
  margin-top: clamp(157px,calc(157 / 1420 * 100vw), calc(157px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .philosophyIntro {
    margin-top: 39px;
  }
}
@media screen and (max-width: 767px) {
  .philosophyIntro .l-ttlTextBox_cont {
    padding-top: 47px;
  }
}

.philosophyWhat {
  margin-top: clamp(180px,calc(180 / 1420 * 100vw), calc(180px * var(--ratio)));
  padding-bottom: clamp(96px,calc(96 / 1420 * 100vw), calc(96px * var(--ratio)));
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .philosophyWhat {
    margin-top: 145px;
    padding-bottom: 145px;
  }
}
.philosophyWhat_sec {
  display: grid;
  grid-template-columns: clamp(282px , calc(396 / 1420 * 100vw), calc(396px * var(--ratio))) 1fr;
  gap: clamp(71px,calc(71 / 1420 * 100vw), calc(71px * var(--ratio))) 4.5871559633%;
  padding-top: clamp(2px,calc(2 / 1420 * 100vw), calc(2px * var(--ratio)));
  border-top: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .philosophyWhat_sec {
    display: block;
    position: relative;
  }
}
.philosophyWhat_sec + .philosophyWhat_sec {
  margin-top: clamp(95px,calc(95 / 1420 * 100vw), calc(95px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .philosophyWhat_sec + .philosophyWhat_sec {
    margin-top: 146px;
  }
}
.philosophyWhat_ttl {
  color: var(--color-glay-text);
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
}
.philosophyWhat_num {
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .philosophyWhat_num {
    position: absolute;
    top: 2px;
    right: 0;
  }
}
.philosophyWhat_contBox {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .philosophyWhat_contBox {
    display: block;
    margin-top: 71px;
  }
}
.philosophyWhat_contBox ._secTtl {
  margin-top: -0.2em;
  font-size: clamp(20px , calc(24 / 1420 * 100vw), calc(24px * var(--ratio)));
  font-weight: 300;
  line-height: 1.5;
}
.philosophyWhat_contBox ._desc {
  width: clamp(282px,calc(282 / 1420 * 100vw), calc(282px * var(--ratio)));
  margin-top: clamp(40px,calc(40 / 1420 * 100vw), calc(40px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .philosophyWhat_contBox ._desc {
    width: 100%;
    margin-top: 36px;
  }
}
@media screen and (max-width: 767px) {
  .philosophyWhat_imgBox {
    margin-top: 76px;
  }
}
.philosophyWhat_imgBox img {
  width: 100%;
}

.philosophyAbout {
  margin-top: clamp(192px,calc(192 / 1420 * 100vw), calc(192px * var(--ratio)));
  padding: clamp(120px,calc(120 / 1420 * 100vw), calc(120px * var(--ratio))) 0 clamp(117px,calc(117 / 1420 * 100vw), calc(117px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .philosophyAbout {
    margin-top: 144px;
    padding: 144px 0 154px;
  }
}
@media screen and (max-width: 767px) {
  .philosophyAbout_list > li + li {
    margin-top: 106px;
  }
}
@media screen and (min-width: 768px) {
  .philosophyAbout_list > li:nth-child(2) {
    transition-delay: 0.2s;
  }
  .philosophyAbout_list > li:nth-child(3) {
    transition-delay: 0.4s;
  }
}
.philosophyAbout_img img {
  width: 100%;
}
.philosophyAbout_ttl {
  margin: clamp(18px,calc(18 / 1420 * 100vw), calc(18px * var(--ratio))) 0 clamp(19px,calc(19 / 1420 * 100vw), calc(19px * var(--ratio)));
  padding-bottom: clamp(13px,calc(13 / 1420 * 100vw), calc(13px * var(--ratio)));
  border-bottom: 1px solid #fff;
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  font-weight: 500;
  line-height: 1.5;
}

.philosophyCraftsman {
  margin-top: clamp(165px,calc(165 / 1420 * 100vw), calc(165px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .philosophyCraftsman {
    margin-top: 140px;
  }
}
.philosophyCraftsman_intro ._contBox {
  padding-top: 2.1em;
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .philosophyCraftsman_intro ._contBox {
    padding-top: 56px;
    line-height: 1.875;
  }
}
@media screen and (max-width: 767px) {
  .philosophyCraftsman_intro .m-secCatch {
    margin-top: 0.15em;
  }
}
@media screen and (min-width: 768px) {
  .philosophyCraftsman_main {
    width: calc(1080 / 1420 * 100vw);
    margin: clamp(182px,calc(182 / 1420 * 100vw), calc(182px * var(--ratio))) auto 0;
  }
}
@media screen and (max-width: 767px) {
  .philosophyCraftsman_main {
    margin-top: 96px;
  }
}
.philosophyCraftsman_main img {
  width: 100%;
}
.philosophyCraftsman_list {
  margin-top: clamp(144px,calc(144 / 1420 * 100vw), calc(144px * var(--ratio)));
  gap: clamp(91px,calc(91 / 1420 * 100vw), calc(91px * var(--ratio))) 0;
}
@media screen and (max-width: 767px) {
  .philosophyCraftsman_list {
    margin-top: 156px;
  }
}
@media screen and (max-width: 767px) {
  .philosophyCraftsman_list li + li {
    margin-top: 102px;
  }
}
.philosophyCraftsman_list ._ttl {
  margin: clamp(20px,calc(20 / 1420 * 100vw), calc(20px * var(--ratio))) 0 clamp(19px,calc(19 / 1420 * 100vw), calc(19px * var(--ratio)));
  padding-bottom: clamp(13px,calc(13 / 1420 * 100vw), calc(13px * var(--ratio)));
  border-bottom: 1px solid #000;
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  font-weight: 500;
  line-height: 1.5;
}

/* ========================================
完成までの流れ flow
======================================== */
.flow {
  padding-bottom: clamp(242px,calc(242 / 1420 * 100vw), calc(242px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .flow {
    padding-bottom: 232px;
  }
}

.flowList {
  align-items: flex-start;
  margin-top: clamp(180px,calc(180 / 1420 * 100vw), calc(180px * var(--ratio)));
  border-top: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .flowList {
    margin-top: 142px;
  }
}
.flowList_pcImgBox {
  position: sticky;
  top: calc(50vh - 10vw - clamp(96px,calc(96 / 1420 * 100vw), calc(96px * var(--ratio))));
  padding-top: clamp(96px,calc(96 / 1420 * 100vw), calc(96px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .flowList_pcImgBox {
    display: none;
  }
}
.flowList_pcImgBox_inner {
  width: min(calc(396 / 1420 * 100vw), calc(396px * var(--ratio)) );
  margin: 0 auto;
}
.flowList_pcImgBox_imgBox {
  padding-top: 72.7272727273%;
  position: relative;
  overflow: hidden;
}
.flowList_pcImgBox_imgBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
  opacity: 0;
}
.flowList_pcImgBox_imgBox img.is-active {
  opacity: 1;
}
.flowList .flowList_sec {
  border-top: 1px solid #000;
}
@media screen and (min-width: 768px) {
  .flowList .flowList_sec:first-child {
    border-top: 0;
  }
}
.flowList .flowList_sec + .flowList_sec {
  margin-top: clamp(194px,calc(194 / 1420 * 100vw), calc(194px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .flowList .flowList_sec + .flowList_sec {
    margin-top: 156px;
  }
}
.flowList_num {
  padding-top: 1px;
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
}
.flowList_contTtl {
  margin-top: clamp(67px,calc(67 / 1420 * 100vw), calc(67px * var(--ratio)));
  font-size: clamp(24px,calc(24 / 1420 * 100vw), calc(24px * var(--ratio)));
  font-weight: 300;
  line-height: 1.5;
}
.flowList_contBox {
  margin-top: clamp(14px,calc(14 / 1420 * 100vw), calc(14px * var(--ratio)));
}
.flowList_contBox p {
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .flowList_contImg {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .flowList_contImg {
    margin-top: 75px;
  }
  .flowList_contImg img {
    width: 100%;
  }
}

/* ========================================
アフターサービス faq
======================================== */
.faq {
  padding-bottom: clamp(237px,calc(237 / 1420 * 100vw), calc(237px * var(--ratio)));
  counter-reset: question 0;
}
@media screen and (max-width: 767px) {
  .faq {
    padding-bottom: 232px;
  }
}

.faqCat {
  margin-top: clamp(79px,calc(79 / 1420 * 100vw), calc(79px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .faqCat {
    margin-top: 47px;
  }
}
.faqCat .l-catList {
  width: 47.7064220183%;
}
@media screen and (max-width: 767px) {
  .faqCat .l-catList {
    width: 100%;
  }
}
.faqCat + .faqSec {
  margin-top: clamp(111px,calc(111 / 1420 * 100vw), calc(111px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .faqCat + .faqSec {
    margin-top: 112px;
  }
}

.faqSec {
  margin-top: clamp(101px,calc(101 / 1420 * 100vw), calc(101px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .faqSec {
    margin-top: 141px;
  }
}
.faqSec_ttl {
  padding-bottom: clamp(40px,calc(40 / 1420 * 100vw), calc(40px * var(--ratio)));
  font-size: clamp(24px,calc(24 / 1420 * 100vw), calc(24px * var(--ratio)));
  font-weight: 300;
  line-height: 1.5;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .faqSec_ttl {
    padding-bottom: 44px;
    font-size: 20px;
  }
}
.faqSec_list > li {
  border-bottom: 1px solid #000;
  position: relative;
}
.faqSec_contHead {
  display: flex;
  align-items: center;
  padding: clamp(40px,calc(40 / 1420 * 100vw), calc(40px * var(--ratio))) 0;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .faqSec_contHead {
    display: block;
    padding: 45px 0 51px;
  }
}
@media (hover: hover) {
  .faqSec_contHead .faqSec_contTtl,
  .faqSec_contHead .faqSec_num span {
    transition: opacity 0.3s;
  }
  .faqSec_contHead:hover .faqSec_contTtl,
  .faqSec_contHead:hover .faqSec_num span {
    opacity: 0.6;
  }
  .faqSec_contHead:hover .faqSec_num::before {
    background-color: #0C9B11;
  }
}
.faqSec_num {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0 clamp(24px,calc(24 / 1420 * 100vw), calc(24px * var(--ratio)));
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
}
.faqSec_num::before {
  content: "";
  display: block;
  width: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  height: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  border-radius: 50%;
  background-color: #EBEBEB;
  transition: background 0.3s;
}
.is-active .faqSec_num::before {
  background-color: #0C9B11;
}
.faqSec_num span::after {
  margin-left: 0.3em;
  counter-increment: question 1;
  content: "0" counter(question);
}
.faqSec_contTtl {
  width: min(calc(852 / 1420 * 100vw), calc(852px * var(--ratio)) );
  padding-top: 3px;
  padding-right: min(calc(124 / 1420 * 100vw), calc(124px * var(--ratio)) );
  font-size: clamp(24px,calc(24 / 1420 * 100vw), calc(24px * var(--ratio)));
  font-weight: 300;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .faqSec_contTtl {
    width: 100%;
    padding-top: 25px;
    padding-right: 0;
    font-size: 20px;
  }
}
.faqSec_contBox {
  display: none;
  width: min(calc(852 / 1420 * 100vw), calc(852px * var(--ratio)) );
  margin-left: auto;
  padding-bottom: clamp(120px,calc(120 / 1420 * 100vw), calc(120px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .faqSec_contBox {
    width: 100%;
    margin-top: -10px;
    padding-bottom: 50px;
  }
}
.faqSec_contBox_inner {
  display: flex;
  justify-content: space-between;
  gap: 60px 0;
}
@media screen and (max-width: 767px) {
  .faqSec_contBox_inner {
    flex-direction: column;
  }
}
.faqSec_contBox_inner > * {
  width: 46.4788732394%;
}
@media screen and (max-width: 767px) {
  .faqSec_contBox_inner > * {
    width: 100%;
  }
}
.faqSec_desc {
  margin-top: -0.2em;
  letter-spacing: 0.05em;
}
.faqSec_toggle {
  width: clamp(19px,calc(19 / 1420 * 100vw), calc(19px * var(--ratio)));
  height: clamp(19px,calc(19 / 1420 * 100vw), calc(19px * var(--ratio)));
  background: url(/assets/reform/image/common/arrow_bottom.svg) center/contain no-repeat;
  position: absolute;
  right: 0;
  bottom: 50%;
  transform: translateY(50%);
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .faqSec_toggle {
    bottom: auto;
    transform: none;
    top: 47px;
  }
}
.is-active .faqSec_toggle {
  transform: rotate(180deg);
  bottom: 46px;
}

/* ========================================
コラム column
======================================== */
.column {
  padding-bottom: clamp(140px,calc(140 / 1420 * 100vw), calc(140px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .column {
    padding-bottom: 190px;
  }
}
.column .l-pagination {
  margin-top: clamp(60px,calc(60 / 1420 * 100vw), calc(60px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .column .l-pagination {
    margin-top: 80px;
  }
}

.columnPick {
  margin-top: clamp(108px,calc(108 / 1420 * 100vw), calc(108px * var(--ratio)));
  padding: clamp(92px,calc(92 / 1420 * 100vw), calc(92px * var(--ratio))) 0 clamp(116px,calc(116 / 1420 * 100vw), calc(116px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .columnPick {
    margin-top: 94px;
    padding: 91px 0 131px;
  }
}
.columnPick_ttl {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.5;
  text-align: center;
}
.columnPick_slider {
  margin-top: clamp(65px,calc(65 / 1420 * 100vw), calc(65px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .columnPick_slider {
    margin-top: 89px;
  }
}
@media screen and (min-width: 768px) {
  .columnPick .l-columnList {
    display: flex !important;
  }
}
@media screen and (max-width: 767px) {
  .columnPick .l-columnList {
    flex-wrap: nowrap;
    gap: 0 0;
  }
}
.columnPick .l-columnList * {
  color: #fff;
}
.columnPick .l-columnList_head {
  margin-top: 9px;
}
@media screen and (min-width: 768px) {
  .columnPick .splide__arrows {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .columnPick .splide__arrow {
    position: absolute;
    top: calc(132 / 375 * 100vw);
    transform: translateY(-50%);
  }
  .columnPick .splide__arrow--prev {
    left: calc(10 / 375 * 100vw);
  }
  .columnPick .splide__arrow--next {
    right: calc(10 / 375 * 100vw);
  }
}

.columnCat {
  margin-top: clamp(128px,calc(128 / 1420 * 100vw), calc(128px * var(--ratio)));
  padding-top: clamp(60px,calc(60 / 1420 * 100vw), calc(60px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .columnCat {
    margin-top: 0;
    padding-top: 77px;
  }
}
.columnCat .l-catList {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .columnCat .l-catList {
    width: 100%;
  }
}

.columnList {
  margin-top: clamp(103px,calc(103 / 1420 * 100vw), calc(103px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .columnList {
    margin-top: 87px;
  }
}

.column-detail {
  padding-bottom: clamp(183px,calc(183 / 1420 * 100vw), calc(183px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .column-detail {
    padding-bottom: 210px;
  }
}
.column-detail_cat {
  text-align: right;
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .column-detail_cat {
    text-align: left;
  }
}
.column-detail_container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0 min(calc(60 / 1420 * 100vw), calc(60px * var(--ratio)) );
  margin-top: clamp(112px,calc(112 / 1420 * 100vw), calc(112px * var(--ratio)));
  padding: clamp(96px,calc(96 / 1420 * 100vw), calc(96px * var(--ratio))) 0 clamp(183px,calc(183 / 1420 * 100vw), calc(183px * var(--ratio)));
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .column-detail_container {
    display: block;
    margin-top: 58px;
    padding: 18px 0 145px;
  }
}
.column-detail_index {
  width: clamp(140px , calc(168 / 1420 * 100vw), calc(168px * var(--ratio)));
  font-size: clamp(12px,calc(12 / 1420 * 100vw), calc(12px * var(--ratio)));
  font-weight: 500;
  line-height: 1.8333333333;
  position: sticky;
  top: clamp(80px,calc(80 / 1420 * 100vw), calc(80px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .column-detail_index {
    position: static;
    width: calc(168 / 375 * 100vw);
  }
}
.column-detail_index * {
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .column-detail_index_ttl {
    padding-top: clamp(7px,calc(7 / 1420 * 100vw), calc(7px * var(--ratio)));
    border-top: 1px solid #000;
  }
}
.column-detail_index_list {
  margin-top: clamp(44px,calc(44 / 1420 * 100vw), calc(44px * var(--ratio)));
}
.column-detail_index_list li + li {
  margin-top: 1.8333333333em;
}
.column-detail_index_list li.is-active a {
  color: var(--color-base);
}
.column-detail_index_list a {
  display: inline-block;
  color: var(--color-glay-text);
  transition: color 0.3s;
}
@media screen and (max-width: 767px) {
  .column-detail_index_list a {
    color: var(--color-base);
  }
}
.column-detail_post {
  width: clamp(966px,calc(966 / 1420 * 100vw), calc(966px * var(--ratio)));
}
@media screen and (max-width: 1420px) {
  .column-detail_post {
    flex: 1;
    max-width: 966px;
  }
}
@media screen and (max-width: 767px) {
  .column-detail_post {
    width: 100%;
    margin-top: 138px;
  }
}
.column-detail_other {
  margin-top: clamp(96px,calc(96 / 1420 * 100vw), calc(96px * var(--ratio)));
}
.column-detail_backLink {
  margin-top: 106px;
}
@media screen and (max-width: 767px) {
  .column-detail_backLink {
    margin-top: 76px;
  }
}

/* ========================================
物件情報 works
======================================== */
.works {
  padding-bottom: clamp(237px,calc(237 / 1420 * 100vw), calc(237px * var(--ratio)));
  counter-reset: question 0;
}
@media screen and (max-width: 767px) {
  .works {
    padding-bottom: 220px;
  }
}

.worksNav {
  margin-top: clamp(36px,calc(36 / 1420 * 100vw), calc(36px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .worksNav {
    margin-top: 76px;
  }
}
.worksNav li + li {
  margin-top: clamp(17px,calc(17 / 1420 * 100vw), calc(17px * var(--ratio)));
}
.worksNav a {
  display: flex;
  align-items: center;
  width: clamp(228px,calc(228 / 1420 * 100vw), calc(228px * var(--ratio)));
  padding: clamp(5px,calc(5 / 1420 * 100vw), calc(5px * var(--ratio))) clamp(30px,calc(30 / 1420 * 100vw), calc(30px * var(--ratio))) clamp(5px,calc(5 / 1420 * 100vw), calc(5px * var(--ratio))) 0;
  border-bottom: 1px solid #000;
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  font-weight: 500;
  line-height: 1.2;
  position: relative;
  transition: color 0.3s;
}
.worksNav a::after {
  content: "";
  display: block;
  width: clamp(20px,calc(20 / 1420 * 100vw), calc(20px * var(--ratio)));
  height: clamp(19px,calc(19 / 1420 * 100vw), calc(19px * var(--ratio)));
  background: url(/assets/reform/image/common/arrow_bottom.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: transform 0.3s;
}
@media (hover: hover) {
  .worksNav a:hover {
    color: var(--color-green);
  }
  .worksNav a:hover::after {
    transform: translateY(-50%);
    background-image: url(/assets/reform/image/common/arrow_bottom-green.svg);
  }
}

.worksList {
  margin-top: clamp(93px,calc(93 / 1420 * 100vw), calc(93px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .worksList {
    margin-top: 68px;
  }
}

.worksSec + .worksSec {
  margin-top: clamp(192px,calc(192 / 1420 * 100vw), calc(192px * var(--ratio)));
  padding-top: clamp(91px,calc(91 / 1420 * 100vw), calc(91px * var(--ratio)));
  border-top: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .worksSec + .worksSec {
    margin-top: 147px;
    padding-top: 92px;
  }
}
.worksSec_ttl {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .worksSec_ttl {
    font-size: 20px;
  }
}
.worksSec_info {
  width: clamp(320px,calc(320 / 1420 * 100vw), calc(320px * var(--ratio)));
  margin-top: clamp(34px,calc(34 / 1420 * 100vw), calc(34px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .worksSec_info {
    width: 100%;
    margin-top: 44px;
  }
}
.worksSec_info dl {
  display: flex;
}
.worksSec_info dt {
  width: 114px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .worksSec_info dt {
    width: 90px;
  }
}
.worksSec_info dd {
  flex: 1;
}
.worksSec_text {
  letter-spacing: 0.05em;
}
.worksSec_img img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .worksSec_img {
    margin-top: 72px;
  }
}

@media screen and (min-width: 768px) {
  .works01_text01 {
    width: min(clamp(396px,calc(396 / 1420 * 100vw), calc(396px * var(--ratio))), 100% - 360px);
    margin-top: max(calc(-144 / 1420 * 100vw), calc(-144px * var(--ratio)) );
    margin-left: max(min(calc(456 / 1420 * 100vw), calc(456px * var(--ratio)) ), 360px);
  }
}
@media screen and (max-width: 767px) {
  .works01_text01 {
    margin-top: 71px;
  }
}
@media screen and (min-width: 768px) {
  .works01_img01 {
    width: min(calc(1080 / 1420 * 100vw), calc(1080px * var(--ratio)) );
    margin: min(calc(124 / 1420 * 100vw), calc(124px * var(--ratio)) ) auto 0;
  }
}
@media screen and (max-width: 767px) {
  .works01_img01 {
    margin-top: 123px;
  }
}
@media screen and (min-width: 768px) {
  .works01_img02 {
    width: min(calc(456 / 1420 * 100vw), calc(456px * var(--ratio)) );
    margin-top: min(calc(194 / 1420 * 100vw), calc(194px * var(--ratio)) );
  }
}
@media screen and (min-width: 768px) {
  .works01_img03 {
    width: min(calc(396 / 1420 * 100vw), calc(396px * var(--ratio)) );
    margin-top: max(calc(-105 / 1420 * 100vw), calc(-105px * var(--ratio)) );
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .works01_img04 {
    width: min(calc(738 / 1420 * 100vw), calc(738px * var(--ratio)) );
    margin-top: max(calc(-166 / 1420 * 100vw), calc(-166px * var(--ratio)) );
  }
}
@media screen and (min-width: 768px) {
  .works01_img05 {
    width: min(calc(510 / 1420 * 100vw), calc(510px * var(--ratio)) );
    margin-top: min(calc(356 / 1420 * 100vw), calc(356px * var(--ratio)) );
    margin-left: min(calc(114 / 1420 * 100vw), calc(114px * var(--ratio)) );
  }
}
@media screen and (min-width: 768px) {
  .works01_img06 {
    width: min(calc(396 / 1420 * 100vw), calc(396px * var(--ratio)) );
    margin-top: max(calc(-634 / 1420 * 100vw), calc(-634px * var(--ratio)) );
    margin-left: auto;
    margin-right: min(calc(114 / 1420 * 100vw), calc(114px * var(--ratio)) );
  }
}
@media screen and (min-width: 768px) {
  .works01_img07 {
    width: min(calc(738 / 1420 * 100vw), calc(738px * var(--ratio)) );
  }
}
@media screen and (min-width: 768px) {
  .works01_box1 {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: min(calc(456 / 1420 * 100vw), calc(456px * var(--ratio)) );
  }
}
@media screen and (max-width: 1024px) {
  .works01_box1 {
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .works01_box1 {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .works01_text02 {
    width: min(calc(396 / 1420 * 100vw), calc(396px * var(--ratio)) );
    margin-bottom: -0.6em;
  }
}
@media screen and (max-width: 767px) {
  .works01_text02 {
    margin-top: 94px;
  }
}

/* ========================================
お問い合わせ conatct
======================================== */
.contact {
  padding-bottom: clamp(160px,calc(160 / 1420 * 100vw), calc(160px * var(--ratio)));
  counter-reset: question 0;
}
@media screen and (max-width: 767px) {
  .contact {
    padding-bottom: 205px;
  }
}

.contactContainer {
  display: flex;
  justify-content: space-between;
  gap: 0 60px;
  margin-top: clamp(26px,calc(26 / 1420 * 100vw), calc(26px * var(--ratio)));
}
@media screen and (max-width: 1024px) {
  .contactContainer {
    display: block;
    margin-top: 20px;
  }
}

.contactHead {
  width: clamp(396px,calc(396 / 1420 * 100vw), calc(396px * var(--ratio)));
  padding-top: 3px;
}
@media screen and (max-width: 1024px) {
  .contactHead {
    width: 100%;
  }
}
.contactHead_desc {
  margin-top: clamp(39px,calc(39 / 1420 * 100vw), calc(39px * var(--ratio)));
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .contactHead_desc {
    margin-top: 44px;
  }
}
.contactHead_info {
  margin-top: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .contactHead_info {
    margin-top: 21px;
  }
}
.contactHead_info dl {
  display: flex;
  font-size: clamp(24px,calc(24 / 1420 * 100vw), calc(24px * var(--ratio)));
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .contactHead_info dl {
    font-size: 20px;
  }
}
.contactHead_info dl * {
  letter-spacing: 0;
}
.contactHead_info dt {
  width: clamp(52px,calc(52 / 1420 * 100vw), calc(52px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .contactHead_info dt {
    width: 43px;
  }
}
.contactHead_info dd {
  flex: 1;
}

.contactForm {
  width: clamp(624px,calc(624 / 1420 * 100vw), calc(624px * var(--ratio)));
}
@media screen and (max-width: 1420px) {
  .contactForm {
    flex: 1;
    max-width: 624px;
  }
}
@media screen and (max-width: 1024px) {
  .contactForm {
    width: 100%;
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .contactForm {
    margin-top: 67px;
  }
}
.contactForm_type {
  margin-bottom: clamp(47px,calc(47 / 1420 * 100vw), calc(47px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .contactForm_type {
    margin-bottom: 85px;
  }
}
.contactForm_type.l-form_checkbox {
  gap: 12px min(calc(57 / 1420 * 100vw), calc(57px * var(--ratio)) );
}

.contact-thanks {
  padding: clamp(115px,calc(115 / 1420 * 100vw), calc(115px * var(--ratio))) 0 clamp(210px,calc(210 / 1420 * 100vw), calc(210px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .contact-thanks {
    padding-top: 146px;
  }
}
@media screen and (min-width: 768px) {
  .contact-thanks_mainTtl {
    letter-spacing: 0.02em;
  }
}
.contact-thanks_desc {
  margin-top: clamp(70px,calc(70 / 1420 * 100vw), calc(70px * var(--ratio)));
  font-size: clamp(16px,calc(16 / 1420 * 100vw), calc(16px * var(--ratio)));
  letter-spacing: 0.02em;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .contact-thanks_desc {
    margin-top: 63px;
  }
}
.contact-thanks_backLink {
  margin-top: clamp(105px,calc(105 / 1420 * 100vw), calc(105px * var(--ratio)));
}
@media screen and (max-width: 767px) {
  .contact-thanks_backLink {
    margin-top: 84px;
  }
}/*# sourceMappingURL=style.css.map */