/* ------------------------
 *   Foundation/Google Fonts
 * -------------------------------- */
/* ------------------------
 *   Foundation/Font Face
 * -------------------------------- */
/* ------------------------
 *   Foundation/Base
 * -------------------------------- */
/* Cumulative Layout Shift optimization */
/* for Tablet */
@media (min-width: 750px) {
  :root {
    --rv: calc(100vw / 110);
  }
}
/* for PC (Scaling) */
/* for PC (Fixing) */
@media (min-width: 1100px) {
  :root {
    --rv: 10px;
  }
}
/* for PC (High resolution) */
@media (min-width: 1920px) {
  :root {
    --rv: calc(100vw / 192);
  }
}
/* for Mobile */
@media (max-width: 750px) {
  :root {
    --rv: calc(100vw / 50);
  }
}
body {
  margin: 0;
}

*[class*=-m-],
*[class*=-m-]::before,
*[class*=-m-]::after {
  border-style: solid;
  border-width: 0;
  box-sizing: border-box;
}

*[class*=-m-] {
  position: relative;
  margin: 0;
  padding: 0;
}

*[class*=-m-] > picture {
  display: flex;
}

ul[class*=-m-],
ol[class*=-m-] {
  list-style: none;
}

a[class*=-m-] {
  text-decoration: none;
}

*[class*=-m-][class*=control] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* End of base */
/* ------------------------
 *   Object/Component/Fade
 * -------------------------------- */
.is-m-hide {
  opacity: 0;
  transition: opacity 1s;
}

.c-m-fade-in--left {
  transform: translate(calc(5 * var(--rv)), 0) scale(1) rotate(0);
  transition: opacity 1s, transform 1s;
}
.c-m-fade-in--right {
  transform: translate(calc(-15 * var(--rv)), 0) scale(1) rotate(0);
  transition: opacity 1s, transform 1s ease-out;
}
.c-m-fade-in--down {
  transform: translate(0, calc(-5 * var(--rv))) scale(1) rotate(0);
  transition: opacity 1s, transform 1s;
}
.c-m-fade-in--up {
  transform: translate(0, calc(5 * var(--rv))) scale(1) rotate(0);
  transition: opacity 1s, transform 1s;
}

.c-m-fade-zoom--in {
  transform: translate(0, 0) scale(0) rotate(0);
  transform-origin: center;
  transition: opacity 1s, transform 1s;
}
.c-m-fade-zoom--out {
  transform: translate(0, 0) scale(2) rotate(0);
  transform-origin: center;
  transition: opacity 1s, transform 1s;
}

.c-m-fade-rotate--left {
  transform: translate(0, 0) scale(1) rotateZ(360deg);
  transform-origin: center;
  transition: opacity 1s, transform 1s;
}
.c-m-fade-rotate--right {
  transform: translate(0, 0) scale(1) rotateZ(-360deg);
  transform-origin: center;
  transition: opacity 1s, transform 1s;
}
.c-m-fade-rotate--in {
  transform: translate(0, 0) scale(0) rotateZ(360deg);
  transition: opacity 1s ease-in-out, transform 1s ease-in-out;
}
.c-m-fade-rotate--out {
  transform: translate(0, 0) scale(2) rotateZ(-360deg);
  transition: opacity 1s ease-in-out, transform 1s ease-in-out;
}
.c-m-fade-rotate--x {
  transform: translate(0, 0) scale(1) rotateX(180deg);
  transform-origin: center;
  transition: opacity 1s, transform 1s;
}
.c-m-fade-rotate--y {
  transform: translate(0, 0) scale(1) rotateY(180deg);
  transform-origin: center;
  transition: opacity 1s, transform 1s;
}

.c-m-fade-delay01 {
  transition-delay: 0.25s;
}

.c-m-fade-delay02 {
  transition-delay: 0.5s;
}

.c-m-fade-delay03 {
  transition-delay: 0.75s;
}

.c-m-fade-delay04 {
  transition-delay: 1s;
}

.is-m-show {
  opacity: 1;
  transform: translate(0, 0) scale(1) rotate(0);
}

@media (max-width: 750px) {
  .c-m-fade-delay01 {
    transition-delay: 0s;
  }
  .c-m-fade-delay02 {
    transition-delay: 0s;
  }
  .c-m-fade-delay03 {
    transition-delay: 0s;
  }
  .c-m-fade-delay04 {
    transition-delay: 0s;
  }
}
/* ------------------------
 *   Object/Component/Inner
 * -------------------------------- */
.c-m-inner {
  max-width: calc(192 * var(--rv));
  margin: 0 auto;
}
.c-m-inner__content {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  min-width: calc(110 * var(--rv));
  max-width: calc(110 * var(--rv));
  margin: 0 auto;
}
.c-m-inner__content--expand {
  min-width: 100%;
  max-width: 100%;
}
.c-m-inner--wide {
  max-width: 100vw;
}

@media (max-width: 0px) {
  .c-m-inner {
    max-width: 100vw;
  }
  .c-m-inner__content {
    min-width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 750px) {
  .c-m-inner {
    max-width: 100vw;
  }
  .c-m-inner__content {
    min-width: 100%;
    max-width: 100%;
  }
}
/* ------------------------
 *   Object/Component/Card
 * -------------------------------- */
.c-m-card {
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: calc(37 * var(--rv));
}

/* ------------------------
 *   Object/Component/Menu
 * -------------------------------- */
.c-m-menu,
.c-m-menu__body {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 100%;
}

.c-m-menu__input {
  display: none;
}

.c-m-menu__label {
  display: none;
  justify-content: center;
  align-items: center;
  width: calc(6 * var(--rv));
  height: calc(6 * var(--rv));
  z-index: 20;
}

.c-m-menu__label span,
.c-m-menu__label span::before,
.c-m-menu__label span::after {
  background-color: #ffffff;
  border-radius: calc(0.25 * var(--rv));
  content: "";
  position: absolute;
  top: calc(50% - calc(0.25 * var(--rv)));
  left: calc(0.5 * var(--rv));
  width: calc(5 * var(--rv));
  height: calc(0.5 * var(--rv));
}

.c-m-menu__label span {
  transition: background 0.15s;
}

.c-m-menu__label span::before {
  top: calc(1.4 * var(--rv));
  left: 0;
  transition: transform 0.3s;
}

.c-m-menu__label span::after {
  top: auto;
  left: 0;
  bottom: calc(1.4 * var(--rv));
  transition: transform 0.3s;
}

.c-m-menu__input:checked ~ .c-m-menu__label {
  position: fixed;
  top: calc(0.5 * var(--rv));
  right: calc(4 * var(--rv));
}

.c-m-menu__input:checked ~ .c-m-menu__label span {
  background-color: transparent;
}

.c-m-menu__input:checked ~ .c-m-menu__label span::before {
  top: 0;
  left: 0;
  transform: rotate(45deg);
}

.c-m-menu__input:checked ~ .c-m-menu__label span::after {
  left: 0;
  bottom: 0;
  transform: rotate(-45deg);
}

.c-m-menu__input:checked ~ .c-m-menu__list {
  transform: translateX(0vw);
}

.c-m-menu__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
}

@media (max-width: 750px) {
  .c-m-menu__body {
    justify-content: center;
    width: calc(12 * var(--rv));
    height: calc(12 * var(--rv));
  }
  .c-m-menu__label {
    display: flex;
  }
  .c-m-menu__list {
    background-color: #262626;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 60vw;
    padding: calc(12 * var(--rv)) calc(3 * var(--rv));
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateX(-105vw);
    transition: transform 0.5s;
    z-index: 10;
  }
  .c-m-menu__list li {
    width: 100%;
    margin-left: 0;
    margin-bottom: calc(2 * var(--rv));
  }
}
/* ------------------------
 *   Object/Component/Breadcrumb
 * -------------------------------- */
.c-m-breadcrumb {
  display: flex;
}

/* ------------------------
 *   Object/Utility/Browser
 * -------------------------------- */
.u-m-browser-ie {
  position: relative;
}

.u-m-browser-edge {
  position: relative;
}

.u-m-browser-chrome {
  position: relative;
}

.u-m-browser-firefox {
  position: relative;
}

.u-m-browser-safari {
  position: relative;
}

/* ------------------------
 *   Object/Utility/Only
 * -------------------------------- */
.u-m-only-pc {
  display: block;
}

.u-m-only-sp {
  display: none;
}

.u-m-only-pc--flex {
  display: flex;
}

.u-m-only-sp--flex {
  display: none;
}

.u-m-only-pc--inline {
  display: inline;
}

.u-m-only-sp--inline {
  display: none;
}

.u-m-only-pc--inline-block {
  display: inline-block;
}

.u-m-only-sp--inline-block {
  display: none;
}

.u-m-only-pc--inline-flex {
  display: inline-flex;
}

.u-m-only-sp--inline-flex {
  display: none;
}

@media (max-width: 750px) {
  .u-m-nobr {
    display: none; /* Disable line breaks. And wrap the content. */
  }
  .u-m-only-pc {
    display: none;
  }
  .u-m-only-sp {
    display: block;
  }
  .u-m-only-pc--flex {
    display: none;
  }
  .u-m-only-sp--flex {
    display: flex;
  }
  .u-m-only-pc--inline {
    display: none;
  }
  .u-m-only-sp--inline {
    display: inline;
  }
  .u-m-only-pc--inline-block {
    display: none;
  }
  .u-m-only-sp--inline-block {
    display: inline-block;
  }
  .u-m-only-pc--inline-flex {
    display: none;
  }
  .u-m-only-sp--inline-flex {
    display: inline-flex;
  }
}
/* ------------------------
 *   Object/Utility/Platform
 * -------------------------------- */
.u-m-platform-windows {
  position: relative;
}

.u-m-platform-android {
  position: relative;
}

.u-m-platform-ios {
  position: relative;
}

.u-m-platform-macintosh {
  position: relative;
}

/* ------------------------
 *   Object/Project/index
 * -------------------------------- */
.p-m-index-fv {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  background-image: url(../img/index/fv_back@2x.webp);
  background-position: top;
  background-repeat: no-repeat;
  background-size: calc(140 * var(--rv));
  min-height: calc(79.8 * var(--rv));
}
.p-m-index-fv__top {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-fv__teng {
  display: flex;
}
.p-m-index-fv__teng img {
  width: calc(41.1 * var(--rv));
  height: auto;
  object-fit: contain;
}

.p-m-index-about {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.p-m-index-about__top {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-about__h2 {
  color: #613824;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(4.7 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-about__bottom {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-about__h3 {
  color: #000000;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(2.5 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-about__p01 {
  color: #242424;
  font-family: "Meiryo", "Noto Sans JP", sans-serif;
  font-size: calc(1.8 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}

.p-m-index-business {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  background-image: url(../img/index/business_back.webp);
  background-position: top;
  background-repeat: no-repeat;
  background-size: calc(140 * var(--rv));
  min-height: calc(140 * var(--rv));
}
.p-m-index-business__top {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-business__h2 {
  color: #ffffff;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(4.7 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-business__bottom {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-business__h3 {
  color: #ffffff;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(2 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-business__p01 {
  color: #ffffff;
  font-family: "Meiryo", "Noto Sans JP", sans-serif;
  font-size: calc(1.8 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}

.p-m-index-gallery {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.p-m-index-gallery__top {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-gallery__picture {
  display: flex;
}
.p-m-index-gallery__picture img {
  width: calc(35.2 * var(--rv));
  height: auto;
  object-fit: contain;
}

.p-m-index-works {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  background-image: url(../img/index/works_back@2x.webp);
  background-position: top;
  background-repeat: no-repeat;
  background-size: calc(140 * var(--rv));
  min-height: calc(70.5 * var(--rv));
}
.p-m-index-works__top {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-works__h2 {
  color: #ffffff;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(4.7 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-works__p01 {
  color: #ffffff;
  font-family: "Meiryo", "Noto Sans JP", sans-serif;
  font-size: calc(1.8 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-works__bottom {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-works__h3 {
  color: #613824;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(1.8 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-works__picture {
  display: flex;
}
.p-m-index-works__picture img {
  width: calc(37.1 * var(--rv));
  height: auto;
  object-fit: contain;
}
.p-m-index-works__p02 {
  color: #242424;
  font-family: "Meiryo", "Noto Sans JP", sans-serif;
  font-size: calc(1.4 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}

.p-m-index-representative {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.p-m-index-representative__top {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-representative__h2 {
  color: #613824;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(4.7 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-representative__bottom {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-representative__h3 {
  color: #000000;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(2 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-representative__p01 {
  color: #242424;
  font-family: "Meiryo", "Noto Sans JP", sans-serif;
  font-size: calc(1.8 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-representative__mizuhokato {
  display: flex;
}
.p-m-index-representative__mizuhokato img {
  width: calc(33.7 * var(--rv));
  height: auto;
  object-fit: contain;
}

.p-m-index-access {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.p-m-index-access__top {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-access__h2 {
  color: #ffffff;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(4.7 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-access__bottom {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-index-access__p01 {
  color: #ffffff;
  font-family: "Meiryo", "Noto Sans JP", sans-serif;
  font-size: calc(1.8 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-index-access__address {
  color: #ffffff;
  font-family: "Meiryo", "Noto Sans JP", sans-serif;
  font-size: calc(1.8 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}

/* Add */
.p-m-index-fv {
  background-position: center;
  background-size: cover;
  min-height: calc(72.8 * var(--rv));
}
.p-m-index-fv__top {
  justify-content: center;
  align-items: center;
  min-height: calc(72.8 * var(--rv));
}
.p-m-index-fv__teng {
  top: calc(-0.8 * var(--rv));
  left: calc(3.8 * var(--rv));
}

.p-m-index-about {
  padding-top: calc(10 * var(--rv));
  padding-bottom: calc(10 * var(--rv));
  background-color: #b79e8a;
}
.p-m-index-about__top {
  align-items: center;
  padding-bottom: calc(2.8 * var(--rv));
}
.p-m-index-about__bottom {
  align-items: center;
}
.p-m-index-about__window {
  background-color: #ffffff;
  margin-bottom: calc(1 * var(--rv));
  padding: calc(6 * var(--rv));
  padding-bottom: calc(3 * var(--rv));
  width: calc(64 * var(--rv));
}
.p-m-index-about__h3 {
  letter-spacing: calc(0.25 * var(--rv));
  text-align: center;
  margin-bottom: calc(1.5 * var(--rv));
}
.p-m-index-about__p01 {
  text-align: center;
  margin-bottom: calc(4 * var(--rv));
  min-height: calc(6 * var(--rv));
}

.p-m-index-business {
  padding-top: calc(28 * var(--rv));
  padding-bottom: calc(28 * var(--rv));
  background-position: left bottom;
  background-size: cover;
}
.p-m-index-business__top {
  align-items: center;
  padding-bottom: calc(4 * var(--rv));
}
.p-m-index-business__bottom {
  align-items: center;
}
.p-m-index-business__p01 {
  text-align: center;
  margin-bottom: calc(3.7 * var(--rv));
  line-height: 1.7;
}
.p-m-index-business__window {
  background-color: #262626;
  padding: calc(7 * var(--rv));
  padding-bottom: calc(5 * var(--rv));
  width: calc(64 * var(--rv));
}
.p-m-index-business__h3 {
  text-align: center;
  margin-bottom: calc(0.5 * var(--rv));
}

.p-m-index-gallery__top {
  flex-direction: row;
}
.p-m-index-gallery__picture {
  width: 25%;
  height: 50%;
  transition: opacity 1s;
}
.p-m-index-gallery__picture img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.p-m-index-gallery__picture:hover {
  opacity: 0.3;
}

.p-m-index-works {
  padding-top: calc(10 * var(--rv));
  padding-bottom: calc(5 * var(--rv));
  background-position: center;
  background-size: cover;
  background-image: none;
  background-color: #b79e8a;
}
.p-m-index-works__top {
  align-items: center;
  padding-bottom: calc(4.5 * var(--rv));
}
.p-m-index-works__bottom {
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  padding-left: 0;
  padding-right: 0;
  max-width: calc(116 * var(--rv));
  margin: 0 auto;
}
.p-m-index-works__card {
  width: 32%;
  margin-bottom: calc(5 * var(--rv));
}
.p-m-index-works__h3 {
  text-align: center;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: calc(2 * var(--rv)) 0;
  min-height: calc(7.5 * var(--rv));
}
.p-m-index-works__h2 {
  color: #613824;
}
.p-m-index-works__p01 {
  color: #613824;
}
.p-m-index-works__picture img {
  width: 100%;
}
.p-m-index-works__p02 {
  line-height: 1.42;
  letter-spacing: -0.01em;
  padding-left: calc(2 * var(--rv));
  padding-right: calc(1 * var(--rv));
  padding-bottom: calc(3 * var(--rv));
  width: 100%;
}
.p-m-index-works__p02--small {
  font-size: calc(1.2 * var(--rv));
  letter-spacing: -0.02em;
  line-height: 1.73;
}
.p-m-index-works__link {
  text-decoration: none;
  transition: opacity 0.3s;
}
.p-m-index-works__link:hover {
  opacity: 0.7;
}

.p-m-index-representative {
  padding-top: calc(9 * var(--rv));
  padding-bottom: calc(12 * var(--rv));
  background-color: #e8e8e8;
}
.p-m-index-representative__top {
  align-items: center;
  padding-bottom: calc(6.5 * var(--rv));
}
.p-m-index-representative__bottom {
  flex-direction: row;
  justify-content: flex-end;
}
.p-m-index-representative__h3 {
  margin-bottom: calc(1.5 * var(--rv));
  line-height: 1.3;
}
.p-m-index-representative__p01 {
  line-height: 1.4;
}
.p-m-index-representative__window {
  min-height: calc(27.2 * var(--rv));
  padding-top: calc(0.8 * var(--rv));
  padding-left: calc(6 * var(--rv));
  padding-right: calc(1 * var(--rv));
  width: calc(69 * var(--rv));
}

.p-m-index-access {
  padding-top: calc(8.5 * var(--rv));
  padding-bottom: calc(15 * var(--rv));
  background-color: #262626;
}
.p-m-index-access__top {
  align-items: center;
  padding-bottom: calc(5 * var(--rv));
}
.p-m-index-access__bottom {
  flex-direction: row;
  justify-content: flex-end;
}
.p-m-index-access__bottom iframe {
  width: calc(43.6 * var(--rv));
  height: calc(34.5 * var(--rv));
}
.p-m-index-access__window {
  padding-left: calc(6 * var(--rv));
  padding-right: calc(1 * var(--rv));
  width: calc(60 * var(--rv));
}
.p-m-index-access__address {
  font-style: normal;
  margin-bottom: calc(5 * var(--rv));
}

@media (max-width: 1420px) {
  .p-m-index-business {
    background-position: center;
  }
}
@media (max-width: 750px) {
  .p-m-index-fv {
    position: relative;
  }
  .p-m-index-about {
    position: relative;
  }
  .p-m-index-about__window {
    padding: calc(3 * var(--rv));
    padding-top: calc(6 * var(--rv));
    width: calc(44 * var(--rv));
  }
  .p-m-index-business {
    position: relative;
    background-image: url(../img/index/business_back_sp.webp);
    background-position: center;
    background-size: 120vw calc(174 * var(--rv));
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(174 * var(--rv));
    padding-top: calc(10 * var(--rv));
    padding-bottom: 0;
  }
  .p-m-index-business__window {
    padding: calc(3 * var(--rv));
    padding-top: calc(7 * var(--rv));
    width: calc(44 * var(--rv));
  }
  .p-m-index-gallery {
    position: relative;
  }
  .p-m-index-gallery__picture {
    width: 50%;
    height: auto;
  }
  .p-m-index-gallery__picture img {
    height: calc(18.5 * var(--rv));
  }
  .p-m-index-works {
    position: relative;
  }
  .p-m-index-works__card {
    width: 100%;
    margin-left: calc(3 * var(--rv));
    margin-right: calc(3 * var(--rv));
    margin-bottom: calc(3 * var(--rv));
  }
  .p-m-index-works__h3 {
    font-size: calc(2 * var(--rv));
  }
  .p-m-index-works__p02 {
    font-size: calc(1.8 * var(--rv));
    padding-right: calc(2 * var(--rv));
  }
  .p-m-index-works__p02 {
    font-size: calc(1.4 * var(--rv));
  }
  .p-m-index-representative {
    position: relative;
  }
  .p-m-index-representative__h3 {
    font-size: calc(3 * var(--rv));
    text-align: center;
  }
  .p-m-index-representative__mizuhokato {
    margin-bottom: calc(3 * var(--rv));
  }
  .p-m-index-representative__bottom {
    justify-content: center;
  }
  .p-m-index-representative__p01 {
    line-height: 1.75;
  }
  .p-m-index-representative__window {
    padding-left: calc(3 * var(--rv));
    padding-right: calc(3 * var(--rv));
    width: 100%;
  }
  .p-m-index-access {
    position: relative;
  }
  .p-m-index-access__bottom {
    justify-content: center;
  }
  .p-m-index-access__window {
    padding-top: calc(3 * var(--rv));
    padding-left: calc(3 * var(--rv));
    padding-right: calc(3 * var(--rv));
    width: 100%;
  }
}
/* ------------------------
 *   Object/Project/contact
 * -------------------------------- */
.p-m-contact-fv {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  background-image: url(../img/contact/fv_back@2x.webp);
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: calc(62 * var(--rv));
}
.p-m-contact-fv__top {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-contact-fv__h2 {
  color: #ffffff;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(5.5 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}

.p-m-contact-breadcrumb {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.p-m-contact-breadcrumb__top {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-contact-breadcrumb__li {
  color: #9d5456;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(1.8 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}

.p-m-contact-content {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.p-m-contact-content__top {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.p-m-contact-content__label {
  color: #000000;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(2.5 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-contact-content__label .aux01 {
  color: #9d5456;
  font-family: "FOT-TsukuARdGothic Std", "Noto Sans JP", sans-serif;
  font-size: calc(2.1 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-contact-content__submit {
  color: #ffffff;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(2.5 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-contact-content__input {
  color: #707070;
  font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: calc(1.8 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-contact-content__content {
  color: #000000;
  font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: calc(1.8 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-contact-content__text {
  color: #000000;
  font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: calc(1.8 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.p-m-contact-content__confirmation {
  color: #000000;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(2.5 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}

/* Add */
.p-m-contact-fv {
  min-height: calc(54.7 * var(--rv));
}
.p-m-contact-fv__top {
  justify-content: center;
  align-items: center;
  min-height: calc(54.7 * var(--rv));
}
.p-m-contact-fv__h2 {
  top: calc(-2 * var(--rv));
}

.p-m-contact-breadcrumb {
  padding-top: calc(3 * var(--rv));
  padding-bottom: calc(3 * var(--rv));
  background-color: #b79e8a;
}
.p-m-contact-breadcrumb__top {
  align-items: flex-end;
  padding-left: calc(2 * var(--rv));
  padding-right: calc(2 * var(--rv));
}
.p-m-contact-breadcrumb__li:nth-child(2) {
  margin-left: calc(5 * var(--rv));
}
.p-m-contact-breadcrumb__li:nth-child(2)::before {
  content: ">";
  position: absolute;
  top: 0;
  left: calc(-3 * var(--rv));
  font-size: 120%;
}
.p-m-contact-breadcrumb__li a {
  text-decoration: none;
  color: #000000;
  line-height: 1.7;
}
.p-m-contact-breadcrumb__li a:hover {
  text-decoration: underline;
}

.p-m-contact-content {
  padding-top: calc(12 * var(--rv));
  padding-bottom: calc(14 * var(--rv));
  background-color: #b79e8a;
}
.p-m-contact-content__top {
  padding-left: calc(8.5 * var(--rv));
  padding-right: calc(8.5 * var(--rv));
}
.p-m-contact-content__input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  background-color: #ffffff;
  border: calc(0.1 * var(--rv)) solid #707070;
  border-radius: 0;
  padding: calc(1 * var(--rv)) calc(2 * var(--rv));
  margin-bottom: calc(4 * var(--rv));
  color: #000000;
  width: 100%;
  height: calc(5.5 * var(--rv));
}
.p-m-contact-content__top form {
  text-align: center;
  width: 100%;
}
.p-m-contact-content__wrap::before {
  border-top: calc(0.2 * var(--rv)) solid #707070;
  border-right: calc(0.2 * var(--rv)) solid #707070;
  content: "";
  position: absolute;
  top: calc(50% - calc(1.5 * var(--rv)));
  right: calc(4 * var(--rv));
  transform: rotate(135deg);
  z-index: 1;
  width: calc(2 * var(--rv));
  height: calc(2 * var(--rv));
}
.p-m-contact-content__label {
  display: block;
  text-align: left;
  margin-bottom: calc(1.2 * var(--rv));
}
.p-m-contact-content__content {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  background-color: #ffffff;
  border: calc(0.1 * var(--rv)) solid #707070;
  padding: calc(1 * var(--rv)) calc(2 * var(--rv));
  margin-bottom: calc(7.5 * var(--rv));
  width: 100%;
  height: calc(27 * var(--rv));
}
.p-m-contact-content__submit {
  background-color: #242424;
  border-radius: calc(1.6 * var(--rv));
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
  width: calc(24 * var(--rv));
  height: calc(5.2 * var(--rv));
  margin: calc(1 * var(--rv));
}
.p-m-contact-content__submit:hover {
  background-color: #ffffff;
  color: #242424;
}
.p-m-contact-content__input::placeholder {
  color: #707070;
}
.p-m-contact-content__text {
  text-align: left;
  white-space: normal;
  width: 100%;
  margin: 0 calc(2 * var(--rv));
  margin-top: calc(3 * var(--rv));
  margin-bottom: calc(5 * var(--rv));
}
.p-m-contact-content__confirmation {
  text-align: center;
  white-space: normal;
  width: 100%;
  margin-bottom: calc(6 * var(--rv));
}

@media (max-width: 750px) {
  .p-m-contact-fv {
    position: relative;
  }
  .p-m-contact-breadcrumb {
    position: relative;
    margin-bottom: calc(-0.1 * var(--rv));
  }
  .p-m-contact-content {
    position: relative;
    padding-top: calc(6 * var(--rv));
    padding-bottom: calc(7 * var(--rv));
  }
  .p-m-contact-content__top {
    padding-left: 0;
    padding-right: 0;
  }
  .p-m-contact-content__input {
    padding-right: calc(6 * var(--rv));
    margin-bottom: calc(2 * var(--rv));
    white-space: nowrap;
  }
  .p-m-contact-content__top form {
    width: auto;
    padding-left: calc(3 * var(--rv));
    padding-right: calc(3 * var(--rv));
  }
  .p-m-contact-content__wrap::before {
    right: calc(2 * var(--rv));
  }
}
/* ------------------------
 *   Layout/Footer
 * -------------------------------- */
.l-m-footer {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.l-m-footer__top {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.l-m-footer__logo {
  display: flex;
}
.l-m-footer__logo img {
  width: calc(30 * var(--rv));
  height: auto;
  object-fit: contain;
}
.l-m-footer__bottom {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.l-m-footer__copyright {
  color: #ffffff;
  font-family: "Meiryo", "Noto Sans JP", sans-serif;
  font-size: calc(1.6 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.l-m-footer__li {
  color: #ffffff;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(2.5 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}

/* Add */
.l-m-footer__top {
  justify-content: center;
  align-items: center;
  min-height: calc(57.8 * var(--rv));
}
.l-m-footer__bottom {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding-left: calc(4.5 * var(--rv));
  padding-right: calc(1.5 * var(--rv));
  min-height: calc(4.2 * var(--rv));
}
.l-m-footer__back01 {
  background-image: url(../img/index/footer_back@2x.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: calc(57.8 * var(--rv));
}
.l-m-footer__back02 {
  background-color: #262626;
}
.l-m-footer__logo {
  top: calc(2 * var(--rv));
}
.l-m-footer__li {
  margin-left: calc(5.2 * var(--rv));
}
.l-m-footer__li a {
  text-decoration: none;
  color: inherit;
}
.l-m-footer__li a:hover {
  text-decoration: underline;
}

@media (max-width: 750px) {
  .l-m-footer {
    position: relative;
  }
  .l-m-footer__bottom {
    justify-content: center;
  }
  .l-m-footer nav {
    display: none;
  }
}
.l-m-footer-pagetop {
  display: none;
  position: fixed;
  left: calc(3 * var(--rv));
  bottom: calc(2 * var(--rv));
  z-index: 8;
}

.l-m-footer-pagetop img {
  width: calc(5 * var(--rv));
  height: auto;
  object-fit: contain;
}

/* ------------------------
 *   Layout/Header
 * -------------------------------- */
.l-m-header {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.l-m-header--fixed {
  position: fixed;
  top: 0;
  left: 0;
}
.l-m-header__left {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.l-m-header__logo {
  display: flex;
}
.l-m-header__logo img {
  width: calc(17.9 * var(--rv));
  height: auto;
  object-fit: contain;
}
.l-m-header__li {
  color: #ffffff;
  font-family: "DM Serif Display", "Zen Antique", "Noto Sans JP", sans-serif;
  font-size: calc(2.5 * var(--rv));
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}

/* Add */
.l-m-header {
  background-color: #262626;
}
.l-m-header__left {
  justify-content: center;
  max-width: 30%;
  padding-left: calc(4.5 * var(--rv));
  height: calc(7 * var(--rv));
}
.l-m-header__right {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  max-width: 70%;
  padding-left: 0;
  padding-right: calc(1 * var(--rv));
  width: 100%;
  height: calc(7 * var(--rv));
}
.l-m-header__li {
  margin-left: calc(5.2 * var(--rv));
}
.l-m-header__li a {
  text-decoration: none;
  color: inherit;
}
.l-m-header__li a:hover {
  text-decoration: underline;
}

@media (max-width: 750px) {
  .l-m-header {
    position: relative;
  }
}
/* ------------------------
 *   Layout/Main
 * -------------------------------- */
.l-m-main {
  position: relative;
  margin: 0;
  padding: 0;
}

/*# sourceMappingURL=style.css.map */


