/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./src/scss/style.scss ***!
  \********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}
@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}

:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
body {
  background-color: var(--color-bg);
  font-family: "Zen Old Mincho", serif;
}

.wp-block-image {
  margin-left: auto;
  margin-right: auto;
}

h3.wp-block-heading {
  border-bottom: 1px solid #393939 !important;
}

.wp-block-list.is-style-has-icon-check {
  padding-left: 0;
}
.wp-block-list.is-style-has-icon-check li {
  list-style-type: none;
  position: relative;
  padding-left: 40px;
}
.wp-block-list.is-style-has-icon-check li::before {
  content: "";
  display: block;
  width: 28px;
  aspect-ratio: 1/1;
  background-image: url(../img/cmn/icon-check.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 0;
  top: 0.2em;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}
@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}

:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.l-header {
  display: none;
}

.l-footer {
  border-top: none !important;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.c-entry__header {
  position: relative;
  padding: 16px 0;
  max-width: 80vw;
}
@media only screen and (max-width: 767px) {
  .c-entry__header {
    max-width: 100%;
  }
}
.c-entry__header > * {
  position: relative;
}
.c-entry__header::before {
  content: "";
  display: block;
  width: calc(100vw + 50% - 50vw);
  height: 100%;
  position: absolute;
  top: 0;
  left: calc(50% - 50vw);
  background-color: var(--color-white);
  z-index: 0;
}
.c-entry__header .c-entry__title {
  font-size: 1.5625vw;
  position: relative;
  padding-left: 5.2083333333vw;
  padding-right: 1.25vw;
}
@media only screen and (max-width: 1023px) {
  .c-entry__header .c-entry__title {
    padding-right: 3.125vw;
    padding-left: 10.4166666667vw;
    font-size: 3.125vw;
  }
}
@media only screen and (max-width: 520px) {
  .c-entry__header .c-entry__title {
    padding-left: 8.6486486486vw;
    font-size: 4.3243243243vw;
    padding-right: 6.4864864865vw;
  }
}
.c-entry__header .c-entry__title::before {
  content: "";
  display: block;
  width: 4.1666666667vw;
  height: 1px;
  background-color: var(--color-txt);
  top: 50%;
  left: 0;
  position: absolute;
}
@media only screen and (max-width: 1023px) {
  .c-entry__header .c-entry__title::before {
    width: 7.8125vw;
  }
}
@media only screen and (max-width: 520px) {
  .c-entry__header .c-entry__title::before {
    width: 5.4054054054vw;
  }
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.c-r-heading__homelead {
  font-size: min(2.0833333333vw, 40px);
}
@media only screen and (max-width: 767px) {
  .c-r-heading__homelead {
    font-size: min(5.4054054054vw, 20px);
  }
}

.c-r-heading__homeen {
  position: relative;
  font-size: min(2.0833333333vw, 40px);
}
@media only screen and (max-width: 767px) {
  .c-r-heading__homeen {
    font-size: min(5.4054054054vw, 20px);
  }
}
.c-r-heading__homeen.has-underline {
  padding-bottom: min(5.2083333333vw, 100px);
}
.c-r-heading__homeen.has-underline::after {
  content: "";
  width: 1px;
  height: min(4.4270833333vw, 85px);
  background-color: var(--color-main);
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.c-r-icon__event {
  background-image: url(../img/cmn/icon-event.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.c-r-icon__book {
  background-image: url(../img/cmn/icon-book.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.c-r-icon__cup {
  background-image: url(../img/cmn/icon-cup.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.c-r-icon__mail {
  background-image: url(../img/cmn/icon-mail.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.c-r-icon__facebook {
  background-image: url(../img/cmn/icon-facebook-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.c-r-icon__instagram {
  background-image: url(../img/cmn/icon-instagram-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.c-r-icon__line {
  background-image: url(../img/cmn/icon-line-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
/*-----------------------------------------
[.c-r-logo] used in page list
- all
-----------------------------------------*/
.c-r-logo {
  background-image: url(../img/cmn/logo.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  aspect-ratio: 451/96;
  text-indent: 200%;
  overflow: hidden;
  display: block;
  white-space: nowrap;
}
.c-r-logo.is-shadownone {
  background-image: url(../img/cmn/logo-sn.png);
}

.c-r-logo--black {
  background-image: url(../img/cmn/logo--black.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  aspect-ratio: 327/69;
  text-indent: 200%;
  overflow: hidden;
  display: block;
  white-space: nowrap;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.c-r-tagline {
  position: absolute;
  top: 0;
  left: 120%;
  text-indent: 200%;
  font-size: 10px;
  overflow: hidden;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
/*-----------------------------------------
[btn__hamb] used in page list
- all
-----------------------------------------*/
.c-r-btn__hamb {
  width: 100px;
  aspect-ratio: 1/1;
  background-color: var(--color-main);
  border: none;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 1023px) {
  .c-r-btn__hamb {
    width: 70px;
  }
}
.c-r-btn__hamb span {
  display: block;
  width: 24px;
  height: 1px;
  background-color: var(--color-white);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, 0);
}
.c-r-btn__hamb span:nth-child(1) {
  margin-top: -8px;
}
.c-r-btn__hamb span:nth-child(3) {
  margin-top: 7px;
}
.c-r-btn__hamb.is-active span:nth-child(1) {
  transform: translate(-50%, 0) rotate(45deg);
  margin-top: 0;
}
.c-r-btn__hamb.is-active span:nth-child(2) {
  opacity: 0;
}
.c-r-btn__hamb.is-active span:nth-child(3) {
  margin-top: 0;
  transform: translate(-50%, 0) rotate(-45deg);
}

/*-----------------------------------------
[btn__rectarrow] used in page list
- all
-----------------------------------------*/
.c-r-btn__rectarrow span {
  position: relative;
  display: inline-block;
  padding-left: 16px;
}
.c-r-btn__rectarrow span::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 6px;
  aspect-ratio: 1/1;
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
  transform: translateY(-50%) rotate(-45deg);
}

/*-----------------------------------------
[.c-r-btn__leftarrow] used in page list
- home
-----------------------------------------*/
.c-r-btn__leftarrow {
  padding: 10px 10px 10px 32px;
  position: relative;
  color: var(--color-white);
  text-decoration: none;
  display: block;
  font-size: min(4.3243243243vw, 16px);
}
.c-r-btn__leftarrow::before {
  content: "";
  display: block;
  position: absolute;
  left: 16px;
  top: 50%;
  width: 6px;
  aspect-ratio: 1/1;
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
  transform: translateY(-50%) rotate(-45deg);
}
.c-r-btn__leftarrow.has-icon {
  padding-right: 56px;
}
.c-r-btn__leftarrow.has-icon i {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
}

/*-----------------------------------------
[.c-r-btn__circle] used in page list
- home
-----------------------------------------*/
.c-r-btn__circle {
  aspect-ratio: 1/1;
  background-color: #80655A;
  border-radius: 9999px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--color-white);
  font-size: min(3.2432432432vw, 12px);
  text-align: center;
  text-decoration: none;
  gap: 4px;
  padding-top: min(1.0810810811vw, 4px);
}
.c-r-btn__circle i {
  width: 24px;
  height: 24px;
  display: block;
}

/*-----------------------------------------
[.c-r-btn__whitebg] used in page list
- home
-----------------------------------------*/
.c-r-btn__whitebg {
  display: block;
  background-color: var(--color-white);
  text-align: center;
  color: var(--color-txt);
  padding: 16px;
  text-decoration: none;
}
.c-r-btn__whitebg span {
  font-size: min(3.2432432432vw, 12px);
}
.c-r-btn__whitebg p {
  font-size: min(4.8648648649vw, 18px);
}

/*-----------------------------------------
[.c-r-btn__border] used in page list
- cmn area
-----------------------------------------*/
.c-r-btn__border {
  display: inline-block;
  border: 1px solid var(--color-white);
  color: var(--color-white);
  padding: 4px 16px;
  text-decoration: none;
  border-radius: 9999px;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.c-r-btn__border.is-hover {
  background-color: var(--color-white);
  color: var(--color-main);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
/*-----------------------------------------
[.c-r-home__mv__txts] used in page list
- home
-----------------------------------------*/
.c-r-home__mv__txts {
  background-color: var(--color-bg);
  position: absolute;
  bottom: 0;
  left: 0;
  width: -moz-fit-content;
  width: fit-content;
  padding: 40px 60px;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-r-home__mv__txts {
    position: relative;
    width: 100%;
    padding-bottom: 60px;
    padding: 10.8108108108vw 10.8108108108vw;
  }
}

.c-r-home__mv__txts__ja {
  font-size: min(1.3541666667vw, 26px);
  line-height: 2.5;
  margin-bottom: 32px;
}
@media only screen and (max-width: 767px) {
  .c-r-home__mv__txts__ja {
    font-size: min(4.3243243243vw, 16px);
    margin-bottom: 24px;
  }
}

.c-r-home__mv__txts__en {
  font-size: min(1.0416666667vw, 20px);
}
@media only screen and (max-width: 767px) {
  .c-r-home__mv__txts__en {
    font-size: min(4.3243243243vw, 16px);
  }
}

/*-----------------------------------------
[.c-home__broken] used in page list
- home
-----------------------------------------*/
.c-r-home__brokenlayout__img {
  margin-right: 10%;
}
.c-r-home__brokenlayout__img.is-right {
  margin-right: 0;
  margin-left: 10%;
}

.c-r-home__brokenlayout__content {
  position: absolute;
  top: 50%;
  right: 0;
  max-width: 33.8541666667vw;
  width: 100%;
  padding: 40px 60px;
  background-color: var(--color-white);
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .c-r-home__brokenlayout__content {
    position: relative;
    transform: translateY(0);
    padding: 24px;
    max-width: 100%;
    background: none;
  }
}
.c-r-home__brokenlayout__content.is-left {
  left: 0;
  right: auto;
}
.c-r-home__brokenlayout__content.is-bottom {
  top: auto;
  bottom: 0;
  transform: translateY(0);
}

/*-----------------------------------------
[.r-c-home__lineupsp] used in page list
- home
-----------------------------------------*/
.r-c-home__lineup {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
}
@media only screen and (max-width: 767px) {
  .r-c-home__lineup {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
.r-c-home__lineup a {
  display: block;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.r-c-home__lineup a.is-hover {
  opacity: 0.6;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
/*-----------------------------------------
[.c-r-card__works] used in page list
- home
-----------------------------------------*/
.c-r-card__works {
  display: block;
  text-decoration: none;
  color: var(--color-txt);
}

.c-r-card__works__pic {
  display: block;
  aspect-ratio: 640/444;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.c-r-card__works__pic img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.is-hover .c-r-card__works__pic img {
  opacity: 0.6;
  transform: scale(1.05);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.c-r-card__works__data {
  padding: 24px 40px;
}
@media only screen and (max-width: 767px) {
  .c-r-card__works__data {
    padding: 4px 8px;
  }
}
.c-r-card__works__data dl {
  display: flex;
  align-items: flex-start;
  font-size: min(0.8333333333vw, 16px);
}
@media only screen and (max-width: 767px) {
  .c-r-card__works__data dl {
    font-size: min(2.7027027027vw, 10px);
  }
}
.c-r-card__works__data dl dt {
  font-weight: normal;
}
.c-r-card__works__data p {
  margin-top: 4px;
  margin-bottom: 24px;
  font-size: min(1.1458333333vw, 22px);
}
@media only screen and (max-width: 767px) {
  .c-r-card__works__data p {
    font-size: min(4.3243243243vw, 16px);
    line-height: 1.4;
    margin-bottom: 8px;
  }
}

/*-----------------------------------------
[.c-r-card__event] used in page list
- home
-----------------------------------------*/
.c-r-card__event {
  display: block;
  width: 100%;
  color: var(--color-txt);
  text-decoration: none;
}

.c-r-card__events__pic {
  display: block;
  aspect-ratio: 513/337;
  background-color: var(--color-bg);
  position: relative;
  margin-bottom: 16px !important;
  overflow: hidden;
}
.c-r-card__events__pic a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.c-r-card__events__pic a img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.c-r-card__events__pic a.is-hover img {
  opacity: 0.6;
  transform: scale(1.05);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.c-r-card__event__note {
  margin-top: 16px !important;
  font-size: min(0.8333333333vw, 16px);
}
@media only screen and (max-width: 767px) {
  .c-r-card__event__note {
    font-size: min(3.2432432432vw, 12px);
  }
}

.c-r-card__event__ttl {
  font-size: min(1.1458333333vw, 22px);
  margin-top: 8px !important;
  margin-bottom: 16px !important;
}
@media only screen and (max-width: 767px) {
  .c-r-card__event__ttl {
    font-size: min(4.3243243243vw, 16px);
  }
}

.c-r-card__event__categories {
  font-size: min(0.8333333333vw, 16px);
  padding-left: 0 !important;
  margin-top: 0 !important;
}
@media only screen and (max-width: 767px) {
  .c-r-card__event__categories {
    font-size: min(3.7837837838vw, 14px);
  }
}

.c-r-card__event__categories__item {
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 10px;
  border-radius: 9999px;
  border: 1px solid var(--color-txt);
  margin-left: 0 !important;
  margin-right: auto !important;
}

/*-----------------------------------------
[.c-r-card__event02] used in page list
- event02
-----------------------------------------*/
.c-r-card__event02 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(2.0833333333vw, 40px);
}
@media only screen and (max-width: 767px) {
  .c-r-card__event02 {
    grid-template-columns: 1fr;
    gap: 0 !important;
  }
}

.c-r-card__event02__categories {
  font-size: min(0.8333333333vw, 16px);
  padding-left: 0;
  list-style-type: none;
}
@media only screen and (max-width: 767px) {
  .c-r-card__event02__categories {
    font-size: min(3.7837837838vw, 14px);
    margin-bottom: 8px !important;
  }
}

.c-r-card__event02__categories__item {
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 10px;
  border-radius: 9999px;
  border: 1px solid var(--color-txt);
  margin-left: 0 !important;
  margin-right: auto !important;
}

.c-r-card__event02__ttl {
  font-size: min(1.1458333333vw, 22px);
  margin-top: min(0.8333333333vw, 16px) !important;
  line-height: 1.4;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .c-r-card__event02__ttl {
    font-size: min(4.3243243243vw, 16px);
  }
}

.c-r-card__event02__date {
  font-size: min(1.1458333333vw, 22px);
  margin-top: 8px !important;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .c-r-card__event02__date {
    font-size: min(4.3243243243vw, 16px);
  }
}

.c-r-card__event02__note {
  margin-top: 16px !important;
  font-size: min(0.8333333333vw, 16px);
}
@media only screen and (max-width: 767px) {
  .c-r-card__event02__note {
    font-size: min(3.2432432432vw, 12px);
  }
}

.c-r-card__event02__intro {
  margin-top: 16px !important;
  font-size: min(0.8333333333vw, 16px);
}
@media only screen and (max-width: 767px) {
  .c-r-card__event02__intro {
    font-size: min(3.2432432432vw, 12px);
  }
}

.c-r-card__event02__btn {
  margin-top: min(2.0833333333vw, 40px);
}
@media only screen and (max-width: 767px) {
  .c-r-card__event02__btn {
    margin-top: min(6.4864864865vw, 24px) !important;
    display: flex;
    justify-content: center;
  }
}

/*-----------------------------------------
[.c-r-card__interview] used in page list
- home
-----------------------------------------*/
.c-r-card__interview {
  display: block;
  text-decoration: none;
  color: var(--color-txt);
}

.c-r-card__interview__pic {
  display: block;
  aspect-ratio: 480/320;
  position: relative;
  overflow: hidden;
}
.c-r-card__interview__pic img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.is-hover .c-r-card__interview__pic img {
  opacity: 0.6;
  transform: scale(1.05);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.c-r-card__interview__client {
  font-size: min(0.8333333333vw, 16px);
  padding: 16px;
}
@media only screen and (max-width: 767px) {
  .c-r-card__interview__client {
    font-size: min(3.2432432432vw, 12px);
    padding: 8px;
  }
}

.c-r-card__interview__catch {
  font-size: min(1.1458333333vw, 22px);
  padding: 0 16px min(1.25vw, 24px);
}
@media only screen and (max-width: 767px) {
  .c-r-card__interview__catch {
    font-size: min(3.7837837838vw, 14px);
    padding: 0 8px min(4.3243243243vw, 16px);
    line-height: 1.4;
  }
}

/*-----------------------------------------
[.c-r-card__interviewarchive] used in page list
- interview archive(page)
-----------------------------------------*/
.c-r-card__interviewarchive {
  display: block;
  text-decoration: none;
  color: var(--color-txt);
}

.c-r-card__interviewarchive__pic {
  display: block;
  aspect-ratio: 480/320;
  position: relative;
  overflow: hidden;
}
.c-r-card__interviewarchive__pic img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.is-hover .c-r-card__interviewarchive__pic img {
  opacity: 0.6;
  transform: scale(1.05);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.c-r-card__interviewarchive__client {
  font-size: min(0.8333333333vw, 16px);
  padding: 16px 16px 8px;
}
@media only screen and (max-width: 767px) {
  .c-r-card__interviewarchive__client {
    font-size: min(3.2432432432vw, 12px);
    padding: 8px;
  }
}

.c-r-card__interviewarchive__catch {
  font-size: min(1.0416666667vw, 20px);
  padding: 0 16px min(1.25vw, 24px);
}
@media only screen and (max-width: 767px) {
  .c-r-card__interviewarchive__catch {
    font-size: min(3.7837837838vw, 14px);
    padding: 0 8px min(4.3243243243vw, 16px);
    line-height: 1.4;
  }
}

/*-----------------------------------------
[.c-r-card__architect] used in page list
- home
-----------------------------------------*/
.c-r-card__architect {
  display: block;
  text-decoration: none;
  color: var(--color-txt);
}

.c-r-card__architect__pic {
  display: block;
  aspect-ratio: 1/1;
  position: relative;
  overflow: hidden;
}
.c-r-card__architect__pic img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.is-hover .c-r-card__architect__pic img {
  opacity: 0.6;
  transform: scale(1.05);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.c-r-card__architect__en {
  font-size: min(0.8333333333vw, 16px);
  padding: 16px 16px 0;
}
@media only screen and (max-width: 767px) {
  .c-r-card__architect__en {
    font-size: min(3.2432432432vw, 12px);
    padding: 8px 8px 0;
  }
}

.c-r-card__architect__ja {
  font-size: min(1.1458333333vw, 22px);
  padding: 0 16px min(1.25vw, 24px);
}
@media only screen and (max-width: 767px) {
  .c-r-card__architect__ja {
    font-size: min(4.3243243243vw, 16px);
    padding: 0 8px min(4.3243243243vw, 16px);
    line-height: 1.4;
  }
}

.c-r-card__architect__belong {
  font-size: min(0.8333333333vw, 16px);
  padding: 0 16px;
}
@media only screen and (max-width: 767px) {
  .c-r-card__architect__belong {
    font-size: min(3.7837837838vw, 14px);
    padding: 0 8px;
  }
}

/*-----------------------------------------
[.c-r-card-company] used in page list
- footer all
-----------------------------------------*/
.c-r-card-company {
  display: block;
}

.c-r-card-company__ttl {
  font-size: 14px;
  margin-bottom: 8px;
  font-weight: normal;
}
@media only screen and (max-width: 767px) {
  .c-r-card-company__ttl {
    padding-left: 8px;
    padding-right: 8px;
  }
}

.c-r-card-company__content {
  font-size: 12px;
}
.c-r-card-company__content figure {
  width: 100%;
  aspect-ratio: 16/9;
  position: relative;
}
.c-r-card-company__content figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.c-r-card-company__content p {
  line-height: 1.6;
  padding-top: 8px;
}
@media only screen and (max-width: 767px) {
  .c-r-card-company__content p {
    padding-left: 8px;
    padding-right: 8px;
    font-size: min(2.7027027027vw, 10px);
  }
}

/*-----------------------------------------
[.c-r-card-archistaff] used in page list
- architect staff
-----------------------------------------*/
.c-r-card__archistaff {
  display: block;
  text-decoration: none;
  color: var(--color-txt);
}

.c-r-card__archistaff__pic {
  display: block;
  aspect-ratio: 1/1;
  position: relative;
  overflow: hidden;
}
.c-r-card__archistaff__pic img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.is-hover .c-r-card__archistaff__pic img {
  opacity: 0.6;
  transform: scale(1.05);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.c-r-card__archistaff__en {
  font-size: min(16px, 0.8333333333vw);
}
@media only screen and (max-width: 1023px) {
  .c-r-card__archistaff__en {
    font-size: min(12px, 1.5625vw);
  }
}
@media only screen and (max-width: 767px) {
  .c-r-card__archistaff__en {
    font-size: min(12px, 3.2432432432vw);
  }
}

.c-r-card__archistaff__ja {
  font-size: min(22px, 1.1458333333vw);
}
@media only screen and (max-width: 1023px) {
  .c-r-card__archistaff__ja {
    font-size: min(18px, 2.34375vw);
  }
}
@media only screen and (max-width: 767px) {
  .c-r-card__archistaff__ja {
    font-size: min(16px, 4.3243243243vw);
  }
}

.c-r-card__archistaff__belong {
  font-size: min(16px, 0.8333333333vw);
}
@media only screen and (max-width: 1023px) {
  .c-r-card__archistaff__belong {
    font-size: min(12px, 1.5625vw);
  }
}
@media only screen and (max-width: 767px) {
  .c-r-card__archistaff__belong {
    font-size: min(12px, 3.2432432432vw);
  }
}

/*-----------------------------------------
[.c-r-card__quality] used in page list
- home
-----------------------------------------*/
.c-r-card__quality {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  background-color: #E2D9CB;
  padding: 4.1666666667vw 2.0833333333vw;
  text-decoration: none;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
@media only screen and (max-width: 1023px) {
  .c-r-card__quality {
    padding: 5.2083333333vw 2.6041666667vw;
  }
}
@media only screen and (max-width: 767px) {
  .c-r-card__quality {
    padding: 5.4054054054vw 4.3243243243vw;
  }
}
.c-r-card__quality.is-hover {
  background-color: var(--color-main);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.c-r-card__quality__image {
  display: block;
  width: 100%;
  height: 11.4583333333vw;
  position: relative;
}
@media only screen and (max-width: 1023px) {
  .c-r-card__quality__image {
    height: 20.8333333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .c-r-card__quality__image {
    height: 27.027027027vw;
  }
}
.c-r-card__quality__image img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.c-r-card__title {
  margin-top: 1.0416666667vw;
  font-size: min(1.3541666667vw, 26px);
  color: var(--color-txt);
}
@media only screen and (max-width: 1023px) {
  .c-r-card__title {
    font-size: min(2.6041666667vw, 20px);
  }
}
@media only screen and (max-width: 767px) {
  .c-r-card__title {
    font-size: min(2.972972973vw, 11px);
  }
}

.c-r-card__en {
  font-family: var(--font-en);
  font-size: min(1.3020833333vw, 25px);
  color: #7C7C7C;
}
@media only screen and (max-width: 1023px) {
  .c-r-card__en {
    font-size: min(2.6041666667vw, 20px);
  }
}
@media only screen and (max-width: 767px) {
  .c-r-card__en {
    font-size: min(2.7027027027vw, 10px);
  }
}

/*-----------------------------------------
[.c-r-card__results] used in page list
- architect
-----------------------------------------*/
.c-r-card__results {
  text-decoration: none;
  display: block;
}
.c-r-card__results figure {
  width: 100%;
  aspect-ratio: 356/237;
  overflow: hidden;
  position: relative;
}
.c-r-card__results figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.c-r-card__results--vertical figure {
  background-color: #E2D9CB;
}
.c-r-card__results--vertical figure img {
  -o-object-fit: contain;
     object-fit: contain;
}
.c-r-card__results.is-hover figure img {
  opacity: 0.6;
  transform: scale(1.05);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.c-r-card__results p {
  color: var(--color-txt);
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.c-r-area__ttl {
  font-size: min(1.5625vw, 30px);
  margin-bottom: 40px;
  background-color: transparent !important;
  margin-bottom: min(1.25vw, 24px) !important;
}
@media only screen and (max-width: 767px) {
  .c-r-area__ttl {
    font-size: 24px;
  }
}

.c-r-area__column {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}

.c-r-area__column__btns {
  margin-left: 0 !important;
  margin-right: auto !important;
}
@media only screen and (max-width: 767px) {
  .c-r-area__column__btns {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
@media only screen and (max-width: 767px) {
  .c-entries--works {
    margin-left: 0;
    margin-right: 0;
  }
}
.c-entries--works .c-entries__item {
  padding: 0;
}

.c-entries__item--staff_category {
  flex-basis: 100%;
  max-width: 100%;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.c-entry-summary__figure {
  margin-bottom: 0;
}

.c-entry-summary--type-works .c-entry-summary__body {
  padding: 0.8rem 2.4rem 0;
}
@media only screen and (max-width: 767px) {
  .c-entry-summary--type-works .c-entry-summary__body {
    padding: 0 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-entry-summary--type-works .c-entry-summary__title {
    padding-top: 0.4rem;
    font-size: min(16px, 4.3243243243vw);
    line-height: 1.4;
  }
}

.c-entry-summary__architect {
  display: flex;
  gap: 0.8rem;
}

.c-entry-summary__meta--works {
  justify-content: flex-start;
}

.c-page-top {
  display: none;
}

.home .c-section {
  padding-bottom: 0;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-footer {
  position: relative;
  max-width: 1600px;
  width: 100%;
  margin: 5.2083333333vw auto 0;
  padding: 0 20px 40px;
}
@media only screen and (max-width: 767px) {
  .g-footer {
    padding-bottom: 80px;
  }
}
.home .g-footer {
  margin: 0 auto;
}

.g-footer__area {
  display: grid;
  grid-template: "heading heading" auto "area1 area2" auto/1fr 1fr;
  gap: 40px;
  position: relative;
  color: var(--color-white);
  padding: 64px 40px;
}
.g-footer__area > * {
  position: relative;
}
.g-footer__area::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background-color: var(--color-main);
}
@media only screen and (max-width: 767px) {
  .g-footer__area {
    grid-template: "heading" auto "area1" auto "area2" auto/1fr;
    padding: 40px 0;
    gap: 24px;
  }
}

.g-footer__contact {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  margin-bottom: 40px;
}

.g-footer__area__heading {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  text-align: center;
  grid-area: heading;
  font-size: 1.5625vw;
  font-weight: normal;
}
@media only screen and (max-width: 1023px) {
  .g-footer__area__heading {
    font-size: 3.125vw;
  }
}
@media only screen and (max-width: 520px) {
  .g-footer__area__heading {
    font-size: 3.7837837838vw;
  }
}

.g-footer__area__content {
  font-size: 0.8333333333vw;
}
.g-footer__area__content > * {
  font-size: inherit;
  font-weight: normal;
}
@media only screen and (max-width: 1023px) {
  .g-footer__area__content {
    font-size: 1.8229166667vw;
  }
}
@media only screen and (max-width: 520px) {
  .g-footer__area__content {
    font-size: 3.7837837838vw;
  }
}
.g-footer__area__content--area1 {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: area1;
}
@media only screen and (max-width: 520px) {
  .g-footer__area__content--area1 {
    margin-bottom: 24px;
  }
}
.g-footer__area__content--area2 {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: area2;
}

.g-footer__area__content__btn {
  padding-top: 24px;
}
@media only screen and (max-width: 520px) {
  .g-footer__area__content__btn {
    font-size: 3.7837837838vw;
    text-align: center;
  }
}

.g-footer__inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 40px;
}
@media only screen and (max-width: 767px) {
  .g-footer__inner {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    flex-direction: column;
  }
}

.g-footer__companies {
  flex-basis: calc(50% - 20px);
}
@media only screen and (max-width: 767px) {
  .g-footer__companies {
    flex-basis: auto;
  }
}

.g-footer__menus {
  flex-basis: calc(50% - 20px);
}
@media only screen and (max-width: 767px) {
  .g-footer__menus {
    flex-basis: auto;
  }
}

.g-footer__menus__copy {
  padding-top: 40px;
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .g-footer__menus__copy {
    text-align: center;
    display: block;
  }
}

.g-footer__menus__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 767px) {
  .g-footer__menus__inner {
    display: none;
  }
}
.g-footer__menus__inner .menu-item > button {
  display: none;
}
.g-footer__menus__inner .menu-item > a {
  text-decoration: none;
  color: var(--color-txt);
}
.g-footer__menus__inner .menu {
  padding-left: 0;
}
.g-footer__menus__inner .menu > li {
  padding-left: 16px;
  list-style-type: none;
  position: relative;
  margin-bottom: 32px;
}
.g-footer__menus__inner .menu > li::before {
  content: "";
  display: block;
  width: 2px;
  height: 2px;
  background-color: var(--color-txt);
  border-radius: 999px;
  position: absolute;
  left: 0;
  top: 16px;
}
.g-footer__menus__inner .menu > li a {
  font-size: 14px;
}
.g-footer__menus__inner .menu > li a.is-hover {
  text-decoration: underline;
}
.g-footer__menus__inner .sub-menu {
  padding-left: 0;
}
.g-footer__menus__inner .sub-menu > li {
  padding-left: 0;
  list-style-type: none;
  line-height: 1.6;
}
.g-footer__menus__inner .sub-menu > li a {
  font-size: 10px;
}
.g-footer__menus__inner .sub-menu > li a.is-hover {
  text-decoration: underline;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
/*-----------------------------------------
[.g-header] used in page list
- all
-----------------------------------------*/
.g-header {
  position: relative;
  height: 100px;
  z-index: 900;
}
.home .g-header {
  height: auto;
}
@media only screen and (max-width: 1023px) {
  .g-header {
    height: 70px;
  }
}

.g-header__inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 2vw;
  color: var(--color-white);
  text-decoration: none;
  width: 100%;
  height: 100px;
  position: fixed;
  top: 0;
  background-color: var(--color-bg);
}
@media only screen and (max-width: 1023px) {
  .g-header__inner {
    height: 70px;
    display: flex;
  }
}
.home .g-header__inner {
  top: 0;
  left: 0;
  z-index: 2;
  color: var(--color-txt);
  background-color: transparent;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.home .g-header__inner.is-show {
  background-color: var(--color-bg);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
@media only screen and (max-width: 767px) {
  .g-header__inner {
    display: none;
  }
}

.g-header__logo {
  display: block;
  width: min(300px, 15.625vw);
  margin-right: auto;
  margin-left: 2.0833333333vw;
}
@media only screen and (max-width: 1023px) {
  .g-header__logo {
    width: min(180px, 23.4375vw);
    margin-left: 2.6041666667vw;
  }
}
@media only screen and (max-width: 520px) {
  .g-header__logo {
    width: min(150px, 40.5405405405vw);
    margin-left: 5.4054054054vw;
  }
}
.home .g-header__logo {
  display: none;
}
.is-show .g-header__logo {
  display: block !important;
}

.g-header__nav {
  display: flex;
  align-items: center;
}
.g-header__nav a {
  cursor: pointer;
  color: var(--color-txt);
  text-decoration: none;
  font-size: clamp(12px, 1vw, 15px);
}
.home .g-header__nav a {
  color: var(--color-white);
}
.g-header__nav .menu-globalnav-container > ul {
  display: flex;
}
.g-header__nav .menu-globalnav-container > ul > li {
  padding-left: 2vw;
  padding-right: 2vw;
  padding-bottom: 0.5vw;
  padding-top: 0.5vw;
  position: relative;
  list-style-type: none;
  align-items: center;
  display: flex;
}
.g-header__nav .menu-globalnav-container > ul > li::after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background-color: var(--color-txt);
  border-radius: 100px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.home .g-header__nav .menu-globalnav-container > ul > li::after {
  background-color: var(--color-white);
}
.g-header__nav .menu-globalnav-container > ul > li:last-child {
  padding-right: 0;
}
.g-header__nav .menu-globalnav-container > ul > li:last-child::after {
  display: none;
}
.g-header__nav .menu-globalnav-container > ul > li.menu-item-has-children {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
}
@media only screen and (max-width: 1023px) {
  .g-header__nav .menu-globalnav-container > ul {
    display: none;
  }
}
.is-show .g-header__nav a {
  color: var(--color-txt) !important;
}
.is-show .g-header__nav li::after {
  background-color: var(--color-txt);
}
.g-header__nav .menu-item-has-children {
  position: relative;
}
.g-header__nav .menu-item-has-children > a {
  padding-left: 2vw;
  padding-right: 2vw;
  padding-bottom: 0.5vw;
  padding-top: 0.5vw;
  display: block;
}
.g-header__nav .menu-item-has-children > button {
  display: none;
}
.g-header__nav .menu-item-has-children .sub-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 0;
  display: none;
}
.g-header__nav .menu-item-has-children .sub-menu.is-open {
  display: block;
}
.g-header__nav .menu-item-has-children .sub-menu::before {
  content: "";
  display: block;
  width: 10px;
  aspect-ratio: 1/1;
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
          clip-path: polygon(0 0, 0 100%, 100% 50%);
  background-color: #AB9777;
  position: absolute;
  top: -9px;
  left: 50%;
  transform: translateX(-50%) rotate(-90deg);
}
.g-header__nav .menu-item-has-children .sub-menu li {
  list-style-type: none;
  white-space: nowrap;
  margin-top: 1px;
}
.g-header__nav .menu-item-has-children .sub-menu li a {
  display: block;
  padding: 0.8rem 1.6rem;
  background-color: rgba(171, 151, 119, 0.8);
  color: var(--color-white) !important;
}
.g-header__nav .menu-item-has-children .sub-menu li a.is-hover {
  background-color: rgba(132, 117, 92, 0.8);
}

.g-header__btn {
  display: block;
  height: 100%;
  position: relative;
}
@media only screen and (max-width: 1023px) {
  .g-header__btn {
    text-align: right;
  }
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
/*-----------------------------------------
[.g-home] used in page list
- home
-----------------------------------------*/
.g-home__mv {
  width: 100vw;
  height: 100vh;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .g-home__mv {
    height: auto;
  }
}

.g-home__mv__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .g-home__mv__inner {
    position: relative;
    aspect-ratio: 430/697;
  }
}

.g-home__mv__video {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.g-home__mv__logo {
  position: absolute;
  bottom: 80px;
  right: min(6.25vw, 120px);
  width: clamp(300px, 30vw, 450px);
}
@media only screen and (max-width: 767px) {
  .g-home__mv__logo {
    position: relative;
    right: auto;
    left: 0;
    top: 0;
    bottom: 0;
    margin-inline: auto;
    margin-top: -80px;
    margin-bottom: 40px;
  }
}

.g-home__news {
  background-color: var(--color-white);
  padding: 16px 40px;
  width: 60%;
  margin: -32px 0 0 auto;
  position: relative;
  z-index: 0;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: min(1.25vw, 24px);
}
@media only screen and (max-width: 767px) {
  .g-home__news {
    width: calc(100% - 40px);
    margin-top: 0;
    margin-inline: auto;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px;
  }
}

.g-home__news__ttl {
  font-size: min(1.25vw, 24px);
}
@media only screen and (max-width: 767px) {
  .g-home__news__ttl {
    font-size: min(5.4054054054vw, 20px);
  }
}

.g-home__news__ticket {
  display: flex;
  gap: 16px;
  font-size: min(0.9375vw, 18px);
  color: var(--color-txt);
  text-decoration: none;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .g-home__news__ticket {
    font-size: min(3.7837837838vw, 14px);
  }
}
.g-home__news__ticket.is-hover {
  text-decoration: underline;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
/*-----------------------------------------
[.g-list__works] used in page list
- home
-----------------------------------------*/
.g-list__works {
  max-width: 100vw;
}
.g-list__works ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  gap: 60px 0;
}
@media only screen and (max-width: 1023px) {
  .g-list__works ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .g-list__works ul {
    gap: 32px 0;
  }
}
.g-list__works li {
  list-style-type: none;
}
.g-list__works li.is-sponly {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .g-list__works li.is-sponly {
    display: block;
  }
}

/*-----------------------------------------
[.g-list__events] used in page list
- home
-----------------------------------------*/
.g-list__events {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(1.5625vw, 30px);
  padding-left: 40px;
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .g-list__events {
    padding-left: 0;
    padding-right: 0;
    grid-template-columns: 1fr;
    gap: 24px 0;
  }
}
.g-list__events li {
  margin-top: 0;
  list-style-type: none;
}

/*-----------------------------------------
[.g-list__interview] used in page list
- home
-----------------------------------------*/
.g-list__interview {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (max-width: 767px) {
  .g-list__interview {
    grid-template-columns: 1fr 1fr;
  }
}
.g-list__interview li {
  margin-top: 0;
  list-style-type: none;
}

/*-----------------------------------------
[.g-list__interviewarchive] used in page list
- interview archive(page)
-----------------------------------------*/
.g-list__interviewarchive {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (max-width: 767px) {
  .g-list__interviewarchive {
    grid-template-columns: 1fr;
    gap: 24px 0;
  }
}
.g-list__interviewarchive li {
  margin-top: 0;
  list-style-type: none;
}

/*-----------------------------------------
[.g-list__interview] used in page list
- home
-----------------------------------------*/
.g-list__architect {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding-left: 0;
  padding-right: 0;
}
.g-list__architect li {
  margin-top: 0;
  list-style-type: none;
}
@media only screen and (max-width: 767px) {
  .g-list__architect li {
    width: calc(100% - 40px) !important;
  }
}

/*-----------------------------------------
[.g-list__companies] used in page list
- companies
-----------------------------------------*/
.g-list__companies {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  padding-left: 0;
}
@media only screen and (max-width: 767px) {
  .g-list__companies {
    gap: 24px 1px;
  }
}
.g-list__companies li {
  margin-top: 0;
  list-style-type: none;
}

/*-----------------------------------------
[.g-list__archistaff] used in page list
- architect staff page
-----------------------------------------*/
.g-list__archistaff {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 16px;
  padding: 0;
}
@media only screen and (max-width: 1023px) {
  .g-list__archistaff {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .g-list__archistaff {
    grid-template-columns: 1fr 1fr;
    gap: 24px 8px;
  }
}
.g-list__archistaff li {
  margin-top: 0;
  list-style-type: none;
}

/*-----------------------------------------
[.g-list__quality] used in page list
- home
-----------------------------------------*/
.g-list__quality {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.g-list__quality ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  padding-left: 0;
}
@media only screen and (max-width: 767px) {
  .g-list__quality ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
.g-list__quality li {
  margin-top: 0;
  list-style-type: none;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-contact {
  background-image: url("../img/home/contact-bg.png");
  background-size: cover;
  background-position: top center;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media only screen and (max-width: 767px) {
  .g-contact {
    grid-template-columns: 1fr;
  }
}

.g-contact__nav {
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  background-color: rgba(255, 255, 255, 0.2);
}

.g-contact__txts {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--color-white);
  padding: min(7.2916666667vw, 140px) min(2.9166666667vw, 56px);
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .g-contact__txts {
    padding: min(10.8108108108vw, 40px) min(6.4864864865vw, 24px);
  }
}
.g-contact__txts > * {
  max-width: 450px;
  position: relative;
}
.g-contact__txts:before {
  content: "";
  display: block;
  position: absolute;
  width: 40%;
  height: 30%;
  background-color: #000000;
  opacity: 0.1;
  box-shadow: #000000 0px 0px 10px 150px;
  border-radius: 150% 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.7);
}

.g-contact__txts__ttl {
  font-size: min(2.0833333333vw, 40px);
}
@media only screen and (max-width: 767px) {
  .g-contact__txts__ttl {
    font-size: min(5.4054054054vw, 20px);
  }
}

.g-contact__txts__txt {
  font-size: min(0.8333333333vw, 16px);
  margin-bottom: min(1.0416666667vw, 20px);
}
@media only screen and (max-width: 767px) {
  .g-contact__txts__txt {
    font-size: min(3.2432432432vw, 12px);
  }
}

.g-contact__txts__tel {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  line-height: 1;
  gap: 10px;
}
.g-contact__txts__tel dt {
  font-size: min(0.5208333333vw, 10px);
}
@media only screen and (max-width: 767px) {
  .g-contact__txts__tel dt {
    font-size: min(2.7027027027vw, 10px);
  }
}
.g-contact__txts__tel dd {
  display: flex;
  flex-direction: column;
  gap: min(1.3513513514vw, 5px);
}
.g-contact__txts__tel dd a {
  font-size: min(2.0833333333vw, 40px);
  text-decoration: none;
  color: var(--color-white);
}
@media only screen and (max-width: 767px) {
  .g-contact__txts__tel dd a {
    font-size: min(10.8108108108vw, 40px);
  }
}
.g-contact__txts__tel dd span {
  font-size: min(0.5208333333vw, 10px);
}
@media only screen and (max-width: 767px) {
  .g-contact__txts__tel dd span {
    font-size: min(2.7027027027vw, 10px);
  }
}

.g-contact__nav {
  padding: min(7.2916666667vw, 140px) min(2.0833333333vw, 40px);
  display: grid;
  grid-template: "links links" auto "snslinks times" auto/1fr 1fr;
  row-gap: 40px;
  -moz-column-gap: 32px;
       column-gap: 32px;
}
@media only screen and (max-width: 767px) {
  .g-contact__nav {
    padding: min(10.8108108108vw, 40px) min(6.4864864865vw, 24px);
    grid-template: "links" auto "snslinks" auto "times" auto/1fr;
    row-gap: 24px;
  }
}

.g-contact__nav__links {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  padding-left: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 32px;
  grid-area: links;
}

.g-modalnav__cta > .g-contact__nav__links {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}
@media only screen and (max-width: 767px) {
  .g-contact__nav__links {
    grid-template-columns: 1fr;
    gap: 10px 0;
  }
}
.g-contact__nav__links li {
  list-style-type: none;
  border-bottom: 1px solid var(--color-white);
}
.g-contact__nav__links li a {
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.g-contact__nav__links li a.is-hover {
  opacity: 0.5;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.g-contact__nav__snslinks {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: snslinks;
  padding-left: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-self: center;
}

.g-modalnav__cta > .g-contact__nav__snslinks {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
.g-contact__nav__snslinks li {
  list-style-type: none;
}
.g-contact__nav__snslinks li a {
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.g-contact__nav__snslinks li a.is-hover {
  filter: brightness(0.8);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.g-contact__nav__times {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: times;
  align-self: center;
}

.g-modalnav__cta > .g-contact__nav__times {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}
.g-contact__nav__times a {
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.g-contact__nav__times a.is-hover {
  filter: brightness(0.8);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-footer {
  position: relative;
  max-width: 1600px;
  width: 100%;
  margin: 5.2083333333vw auto 0;
  padding: 0 20px 40px;
}
@media only screen and (max-width: 767px) {
  .g-footer {
    padding-bottom: 80px;
  }
}
.home .g-footer {
  margin: 0 auto;
}

.g-footer__area {
  display: grid;
  grid-template: "heading heading" auto "area1 area2" auto/1fr 1fr;
  gap: 40px;
  position: relative;
  color: var(--color-white);
  padding: 64px 40px;
}
.g-footer__area > * {
  position: relative;
}
.g-footer__area::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background-color: var(--color-main);
}
@media only screen and (max-width: 767px) {
  .g-footer__area {
    grid-template: "heading" auto "area1" auto "area2" auto/1fr;
    padding: 40px 0;
    gap: 24px;
  }
  .g-footer__area__heading {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .g-footer__area__content--area1 {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .g-footer__area__content--area2 {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
}

.g-footer__contact {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  margin-bottom: 40px;
}

.g-footer__area__heading {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  text-align: center;
  grid-area: heading;
  font-size: 1.5625vw;
  font-weight: normal;
}
@media only screen and (max-width: 1023px) {
  .g-footer__area__heading {
    font-size: 3.125vw;
  }
}
@media only screen and (max-width: 520px) {
  .g-footer__area__heading {
    font-size: 3.7837837838vw;
  }
}

.g-footer__area__content {
  font-size: 0.8333333333vw;
}
.g-footer__area__content > * {
  font-size: inherit;
  font-weight: normal;
}
@media only screen and (max-width: 1023px) {
  .g-footer__area__content {
    font-size: 1.8229166667vw;
  }
}
@media only screen and (max-width: 520px) {
  .g-footer__area__content {
    font-size: 3.7837837838vw;
  }
}
.g-footer__area__content--area1 {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: area1;
}
@media only screen and (max-width: 520px) {
  .g-footer__area__content--area1 {
    margin-bottom: 24px;
  }
}
.g-footer__area__content--area2 {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: area2;
}
@media only screen and (max-width: 767px){
  .g-footer__area__heading {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .g-footer__area__content--area1 {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .g-footer__area__content--area2 {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .g-footer__area__heading {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .g-footer__area__heading {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .g-footer__area__content--area1 {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .g-footer__area__content--area1 {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .g-footer__area__content--area2 {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .g-footer__area__content--area2 {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
}

.g-footer__area__content__btn {
  padding-top: 24px;
}
@media only screen and (max-width: 520px) {
  .g-footer__area__content__btn {
    font-size: 3.7837837838vw;
    text-align: center;
  }
}

.g-footer__inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 40px;
}
@media only screen and (max-width: 767px) {
  .g-footer__inner {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    flex-direction: column;
  }
}

.g-footer__companies {
  flex-basis: calc(50% - 20px);
}
@media only screen and (max-width: 767px) {
  .g-footer__companies {
    flex-basis: auto;
  }
}

.g-footer__menus {
  flex-basis: calc(50% - 20px);
}
@media only screen and (max-width: 767px) {
  .g-footer__menus {
    flex-basis: auto;
  }
}

.g-footer__menus__copy {
  padding-top: 40px;
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .g-footer__menus__copy {
    text-align: center;
    display: block;
  }
}

.g-footer__menus__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 767px) {
  .g-footer__menus__inner {
    display: none;
  }
}
.g-footer__menus__inner .menu-item > button {
  display: none;
}
.g-footer__menus__inner .menu-item > a {
  text-decoration: none;
  color: var(--color-txt);
}
.g-footer__menus__inner .menu {
  padding-left: 0;
}
.g-footer__menus__inner .menu > li {
  padding-left: 16px;
  list-style-type: none;
  position: relative;
  margin-bottom: 32px;
}
.g-footer__menus__inner .menu > li::before {
  content: "";
  display: block;
  width: 2px;
  height: 2px;
  background-color: var(--color-txt);
  border-radius: 999px;
  position: absolute;
  left: 0;
  top: 16px;
}
.g-footer__menus__inner .menu > li a {
  font-size: 14px;
}
.g-footer__menus__inner .menu > li a.is-hover {
  text-decoration: underline;
}
.g-footer__menus__inner .sub-menu {
  padding-left: 0;
}
.g-footer__menus__inner .sub-menu > li {
  padding-left: 0;
  list-style-type: none;
  line-height: 1.6;
}
.g-footer__menus__inner .sub-menu > li a {
  font-size: 10px;
}
.g-footer__menus__inner .sub-menu > li a.is-hover {
  text-decoration: underline;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-modalnav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--color-main);
  color: var(--color-white);
  z-index: 1000;
  align-items: center;
  overflow-y: scroll;
}
@media only screen and (max-width: 767px) {
  .g-modalnav {
    align-items: start;
  }
}

.g-modalnav__logo {
  width: 340px;
  aspect-ratio: 347/74;
  position: absolute;
  top: 20px;
  left: 20px;
}
@media only screen and (max-width: 767px) {
  .g-modalnav__logo {
    width: 150px;
  }
}

.g-modalnav__hambbtn {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  background-color: #80655A;
}

.g-modalnav__inner {
  width: 100%;
  display: grid;
  align-items: start;
  grid-template-columns: 1fr 60%;
  padding: 0 10%;
}
@media screen and (max-width: 1400px) {
  .g-modalnav__inner {
    padding: 0 5%;
  }
}
@media screen and (max-width: 1200px) {
  .g-modalnav__inner {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 767px) {
  .g-modalnav__inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

.g-modalnav__columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.g-modalnav__column a {
  color: var(--color-white);
}
.g-modalnav__column .menu-item > button {
  display: none;
}
.g-modalnav__column .menu-item > a {
  text-decoration: none;
}
.g-modalnav__column .menu {
  padding-left: 0;
}
.g-modalnav__column .menu > li {
  padding-left: 16px;
  list-style-type: none;
  position: relative;
  margin-bottom: 24px;
  padding-left: 32px;
}
.g-modalnav__column .menu > li::before {
  content: "";
  display: block;
  position: absolute;
  left: 16px;
  top: 20px;
  width: 6px;
  aspect-ratio: 1/1;
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
  transform: translateY(-50%) rotate(-45deg);
}
.g-modalnav__column .menu > li a {
  font-size: 20px;
}
.g-modalnav__column .menu > li a.is-hover {
  text-decoration: underline;
}
.g-modalnav__column .sub-menu {
  height: 0;
  padding-left: 0;
  overflow: hidden;
}
.g-modalnav__column .sub-menu > li {
  padding-left: 0;
  list-style-type: none;
  line-height: 1.6;
}
.g-modalnav__column .sub-menu > li a {
  font-size: max(0.625vw, 12px);
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
@media only screen and (max-width: 1023px) {
  .g-modalnav__column .sub-menu > li a {
    font-size: min(1.5625vw, 12px);
  }
}
@media only screen and (max-width: 520px) {
  .g-modalnav__column .sub-menu > li a {
    font-size: min(3.2432432432vw, 12px);
  }
}
.g-modalnav__column .sub-menu > li a.is-hover {
  opacity: 0.5;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.g-modalnav__cta {
  display: grid;
  grid-template: "links links" auto "snslinks times" auto/1fr 1fr;
  row-gap: 40px;
  -moz-column-gap: 32px;
       column-gap: 32px;
}
@media only screen and (max-width: 767px) {
  .g-modalnav__cta {
    padding: 0 0 min(10.8108108108vw, 40px);
    grid-template: "links" auto "snslinks" auto "times" auto/1fr;
    row-gap: 24px;
  }
  .g-modalnav__cta > .g-contact__nav__links {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .g-modalnav__cta > .g-contact__nav__snslinks {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .g-modalnav__cta > .g-contact__nav__times {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
}

.g-modalnav__cta__links {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  padding-left: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 32px;
  grid-area: links;
}

.g-modalnav__cta > .g-modalnav__cta__links {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}
@media only screen and (max-width: 767px) {
  .g-modalnav__cta__links {
    grid-template-columns: 1fr;
    gap: 10px 0;
  }
}
.g-modalnav__cta__links li {
  list-style-type: none;
  border-bottom: 1px solid var(--color-white);
}
.g-modalnav__cta__links li a {
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.g-modalnav__cta__links li a.is-hover {
  opacity: 0.5;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.g-modalnav__cta__snslinks {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: snslinks;
  padding-left: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-self: center;
}

.g-modalnav__cta > .g-modalnav__cta__snslinks {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
.g-modalnav__cta__snslinks li {
  list-style-type: none;
}
.g-modalnav__cta__snslinks li a {
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.g-modalnav__cta__snslinks li a.is-hover {
  filter: brightness(0.8);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.g-modalnav__cta__times {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: times;
  align-self: center;
}

.g-modalnav__cta > .g-modalnav__cta__times {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}

@media only screen and (max-width: 767px){
  .g-contact__nav__links {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .g-contact__nav__snslinks {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .g-contact__nav__times {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .g-modalnav__cta__links {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .g-modalnav__cta > .g-modalnav__cta__links {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .g-modalnav__cta__snslinks {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .g-modalnav__cta > .g-modalnav__cta__snslinks {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .g-modalnav__cta__times {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .g-modalnav__cta > .g-modalnav__cta__times {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
}
.g-modalnav__cta__times a {
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.g-modalnav__cta__times a.is-hover {
  filter: brightness(0.8);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-architect__profile {
  display: flex;
  gap: 8%;
}
@media only screen and (max-width: 767px) {
  .g-architect__profile {
    flex-direction: column-reverse;
    gap: 24px;
  }
}

.g-architect__profile__inner {
  flex-basis: 100%;
}

.g-architect__profile__img {
  flex-basis: 45%;
  flex-shrink: 0;
}
.g-architect__profile__img picture {
  position: relative;
  display: block;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.g-architect__profile__img picture img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.g-architect__profile__belong {
  color: #80655A;
  font-size: min(22px, 1.1458333333vw);
  font-weight: normal;
  font-family: var(--font-en);
  margin-bottom: min(28px, 1.4583333333vw);
}
@media only screen and (max-width: 1023px) {
  .g-architect__profile__belong {
    font-size: 2.0833333333vw;
    margin-bottom: 2.0833333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .g-architect__profile__belong {
    font-size: min(3.7837837838vw, 14px);
    margin-bottom: 3.7837837838vw;
  }
}
.g-architect__profile__belong a {
  text-decoration: none;
}
.g-architect__profile__belong a.is-hover {
  text-decoration: underline;
}

.g-architect__profile__name {
  color: #80655A;
  font-size: min(26px, 1.3541666667vw);
  font-weight: normal;
}
@media only screen and (max-width: 1023px) {
  .g-architect__profile__name {
    font-size: 2.0833333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .g-architect__profile__name {
    font-size: min(3.7837837838vw, 14px);
  }
}

.g-architect__profile__en {
  color: #80655A;
  font-size: min(22px, 1.1458333333vw);
  font-weight: normal;
  font-family: var(--font-en);
  margin-bottom: min(32px, 1.6666666667vw);
}
@media only screen and (max-width: 1023px) {
  .g-architect__profile__en {
    font-size: 2.0833333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .g-architect__profile__en {
    font-size: min(3.7837837838vw, 14px);
  }
}

.g-architect__profile__intro p {
  font-size: 16px;
}
.g-architect__profile__intro p:not(:first-child) {
  margin-top: min(26px, 1.3541666667vw);
}
@media only screen and (max-width: 767px) {
  .g-architect__profile__intro p {
    font-size: 13px;
  }
}

.g-architect__results {
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .g-architect__results {
    padding-left: 40px;
    padding-right: 40px;
  }
}

.g-architect__results__inner {
  overflow: hidden;
}

.g-architect__results__btn {
  white-space: nowrap;
  overflow: hidden;
  text-indent: 200%;
  position: relative;
  display: block;
  width: 48px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-100%, -100%);
  border: none;
  cursor: pointer;
  background-color: transparent;
  padding: 0;
}
@media only screen and (max-width: 767px) {
  .g-architect__results__btn {
    width: 32px;
    aspect-ratio: 1/1;
    transform: translate(0%, -100%);
  }
}
.g-architect__results__btn::before {
  width: 32px;
  height: 32px;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  border-left: 2px solid #80655A;
  border-bottom: 2px solid #80655A;
}
@media only screen and (max-width: 767px) {
  .g-architect__results__btn::before {
    width: 20px;
    height: 20px;
  }
}
.g-architect__results__btn--next {
  left: auto;
  right: 0;
  transform: translate(100%, -100%);
}
@media only screen and (max-width: 767px) {
  .g-architect__results__btn--next {
    transform: translate(0%, -100%);
  }
}
.g-architect__results__btn--next::before {
  transform: translate(-50%, -50%) rotate(-45deg);
  border-left: none;
  border-right: 2px solid #80655A;
  border-bottom: 2px solid #80655A;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-staff__intro {
  display: grid;
  grid-template: "profile img" auto "if img" auto "message message" auto/1fr 60%;
  gap: 40px 24px;
  padding-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  .g-staff__intro {
    grid-template: "img" auto "profile" auto "if" auto "message" auto/1fr;
    gap: 24px 0;
  }
}

.g-staff__intro__img {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 3;
  grid-area: img;
}

.g-staff__intro__profile {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: profile;
}

.g-staff__intro__if {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: if;
}

.g-staff__intro__message {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: message;
}

@media only screen and (max-width: 767px){
  .g-staff__intro__img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .g-staff__intro__profile {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .g-staff__intro__if {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .g-staff__intro__message {
    -ms-grid-row: 7;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
}

.g-staff__intro__heading {
  font-size: max(17px, 0.8854166667vw);
  font-weight: normal;
  background-color: #E2D9CB;
  padding: 10px 20px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 1023px) {
  .g-staff__intro__heading {
    font-size: max(15px, 1.953125vw);
  }
}
@media only screen and (max-width: 767px) {
  .g-staff__intro__heading {
    padding: 4px 8px;
    font-size: min(14px, 3.7837837838vw);
  }
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-archive--works {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-works-categories {
  display: grid;
  gap: 16px;
}
.single-works .g-works-categories {
  padding-top: 8rem;
  padding-bottom: 4rem;
}

.g-works-categories__ttl {
  margin-bottom: min(8px, 0.4166666667vw);
  font-family: var(--font-en);
}

.g-works-categories__list {
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.g-works-categories__list li {
  list-style-type: none;
}
.g-works-categories__list li a {
  border: 1px solid var(--color-main);
  border-radius: 9999px;
  padding: 4px 24px;
  display: inline-block;
  text-decoration: none;
  font-size: min(16px, 0.8333333333vw);
}
@media only screen and (max-width: 1023px) {
  .g-works-categories__list li a {
    font-size: min(16px, 2.0833333333vw);
  }
}
@media only screen and (max-width: 767px) {
  .g-works-categories__list li a {
    padding: 4px 8px;
    font-size: min(10px, 2.7027027027vw);
  }
}
.g-works-categories__list li a.is-hover {
  background-color: var(--color-main);
  color: var(--color-white);
}
.g-works-categories__list li a.is-current {
  background-color: var(--color-main);
  color: var(--color-white);
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-roots-slider {
  position: relative;
}
.g-roots-slider ul {
  padding-left: 0;
}
.g-roots-slider li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.g-roots-slider__main {
  margin-bottom: 0.8rem;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .g-roots-slider__main {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

@media only screen and (max-width: 767px) {
  .g-roots-slider__thumb {
    position: relative;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

.g-roots-slider__thumb__inner {
  overflow: hidden;
}

.g-roots-slider__item figure {
  width: 100%;
  aspect-ratio: 3/2;
  position: relative;
  overflow: hidden;
  background-color: var(--color-gray);
}
.g-roots-slider__item figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.g-roots-slider__item--vertical figure img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.g-roots-slider__thumb__item {
  cursor: pointer;
}
.g-roots-slider__thumb__item figure {
  background-color: var(--color-gray);
  width: 100%;
  aspect-ratio: 3/2;
  position: relative;
  overflow: hidden;
}
.swiper-slide-thumb-active .g-roots-slider__thumb__item figure {
  border: 2px solid var(--color-main);
}
.g-roots-slider__thumb__item figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.g-roots-slider__thumb__item--vertical figure img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.g-roots-slider__btn {
  width: 2.4rem;
  height: 5.6rem;
  background-color: var(--color-main);
  border: none;
  display: block !important;
  position: absolute;
  top: 50%;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .g-roots-slider__btn {
    top: 0;
    width: 24px !important;
    height: 100%;
    padding: 0;
  }
}
.g-roots-slider__btn::after {
  content: "";
  display: block;
  width: 40%;
  aspect-ratio: 1/1;
  border-right: 2px solid var(--color-white);
  border-bottom: 2px solid var(--color-white);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-65%, -50%) rotate(-45deg);
}
.g-roots-slider__btn--next {
  left: calc(100% + 1.6rem);
}
@media only screen and (max-width: 767px) {
  .g-roots-slider__btn--next {
    left: auto;
    right: 0;
    transform: translateX(50%);
  }
}
.g-roots-slider__btn--prev {
  right: calc(100% + 1.6rem);
}
.g-roots-slider__btn--prev::after {
  transform: translate(-35%, -50%) rotate(135deg);
}
@media only screen and (max-width: 767px) {
  .g-roots-slider__btn--prev {
    right: auto;
    left: 0;
    transform: translateX(-50%);
  }
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-works-info__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .g-works-info__inner {
    grid-template-columns: 1fr;
    gap: 0;
    border-top: 1px solid #393939;
  }
}

.g-works-info__block {
  display: grid;
  grid-template-columns: 40% 1fr;
  border-top: 1px solid #393939;
}
@media only screen and (max-width: 767px) {
  .g-works-info__block {
    grid-template-columns: 1fr;
    border-top: none;
  }
}

.g-works-info__title {
  background-color: var(--color-white);
  text-align: center;
  padding: 1.6rem;
  border-bottom: 1px solid #393939;
}
@media only screen and (max-width: 767px) {
  .g-works-info__title {
    text-align: left;
    padding: 0.4rem 0.8rem;
  }
}

.g-works-info__content {
  padding: 1.6rem;
  border-bottom: 1px solid #393939;
}
@media only screen and (max-width: 767px) {
  .g-works-info__content {
    padding: 0.4rem 0.8rem;
  }
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-cvbtns {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 900;
}
@media only screen and (max-width: 767px) {
  .g-cvbtns {
    width: 100%;
    display: flex;
  }
}

.g-cvbtns__item {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #666666;
  color: #ffffff;
  padding: 40px 0;
  writing-mode: vertical-lr;
  width: min(4.6875vw, 90px);
  font-size: min(1.1458333333vw, 22px);
  text-decoration: none;
  line-height: 1;
  text-align: center;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
@media only screen and (max-width: 1023px) {
  .g-cvbtns__item {
    width: min(11.71875vw, 90px);
    font-size: min(2.8645833333vw, 22px);
  }
}
@media only screen and (max-width: 767px) {
  .g-cvbtns__item {
    width: auto;
    font-size: min(4.8648648649vw, 18px);
    writing-mode: horizontal-tb;
    flex-basis: 50%;
    padding: 16px 0;
  }
}
.g-cvbtns__item--events {
  background-color: #80655A;
}
.g-cvbtns__item.is-hover {
  filter: brightness(0.8);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
.g-form__wrapper {
  background-color: #E2D9CB;
  padding: min(4.6875vw, 90px);
}
@media only screen and (max-width: 1023px) {
  .g-form__wrapper {
    padding: min(7.8125vw, 60px);
  }
}
@media only screen and (max-width: 767px) {
  .g-form__wrapper {
    padding: min(10.8108108108vw, 40px) 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
  }
}

#procs-form .g-form___ttl {
  color: #7E0000;
  font-size: min(1.3541666667vw, 26px);
  text-align: center;
  margin-bottom: 24px;
}
@media only screen and (max-width: 1023px) {
  #procs-form .g-form___ttl {
    font-size: min(2.6041666667vw, 20px);
  }
}
@media only screen and (max-width: 767px) {
  #procs-form .g-form___ttl {
    font-size: min(4.8648648649vw, 18px);
  }
}
#procs-form .g-form__note {
  font-size: min(0.8854166667vw, 17px);
  margin-bottom: 48px;
  text-align: center;
}
@media only screen and (max-width: 1023px) {
  #procs-form .g-form__note {
    font-size: min(1.8229166667vw, 14px);
  }
}
@media only screen and (max-width: 767px) {
  #procs-form .g-form__note {
    font-size: min(3.2432432432vw, 12px);
  }
}
#procs-form .g-form__eventname {
  position: relative;
  font-size: min(1.0416666667vw, 20px);
  padding-top: min(1.6666666667vw, 32px);
  text-align: center;
}
@media only screen and (max-width: 1023px) {
  #procs-form .g-form__eventname {
    font-size: min(2.0833333333vw, 16px);
    padding-top: min(3.125vw, 24px);
  }
}
@media only screen and (max-width: 767px) {
  #procs-form .g-form__eventname {
    font-size: min(3.7837837838vw, 14px);
    padding-top: min(4.3243243243vw, 16px);
  }
}
#procs-form .g-form__eventname::before {
  content: "";
  width: 100px;
  height: 1px;
  background-color: #7E0000;
  display: block;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
#procs-form .g-form__inner {
  padding-top: min(2.0833333333vw, 40px);
  padding-bottom: min(2.0833333333vw, 40px);
  display: grid;
  grid-template-columns: auto 1fr;
}
@media only screen and (max-width: 1023px) {
  #procs-form .g-form__inner {
    padding-top: min(4.1666666667vw, 32px);
    padding-bottom: min(4.1666666667vw, 32px);
  }
}
@media only screen and (max-width: 767px) {
  #procs-form .g-form__inner {
    padding-top: min(6.4864864865vw, 24px);
    padding-bottom: min(6.4864864865vw, 24px);
    grid-template-columns: 1fr;
  }
}
#procs-form .g-form__item__ttl {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  background: transparent;
  border-bottom: 1px solid #939393;
  width: auto;
  font-weight: normal;
  padding-left: 0;
  padding-right: min(1.6666666667vw, 32px);
  padding-top: min(1.6666666667vw, 32px);
}
@media only screen and (max-width: 1023px) {
  #procs-form .g-form__item__ttl {
    padding-right: min(3.125vw, 24px);
    padding-top: min(3.125vw, 24px);
  }
}
@media only screen and (max-width: 767px) {
  #procs-form .g-form__item__ttl {
    padding-right: min(4.3243243243vw, 16px);
    padding-top: min(4.3243243243vw, 16px);
    padding-left: min(4.3243243243vw, 16px);
    border-bottom: none;
    width: 100%;
  }
}
#procs-form .g-form__radios {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 16px;
}
#procs-form .g-form__radios--mb0 {
  margin-bottom: 0;
}
#procs-form .g-form__radios > span {
  margin-left: 0;
}
#procs-form .g-form__checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
#procs-form .g-form__checks > span {
  margin-left: 0;
}
#procs-form .g-form__item__content {
  padding: min(1.6666666667vw, 32px);
  width: auto;
  border-bottom: 1px solid #939393;
}
#procs-form .g-form__item__content input {
  background-color: #C3B6A9;
  border-radius: 0;
}
#procs-form .g-form__item__content input:focus {
  background-color: var(--color-white);
}
#procs-form .g-form__item__content textarea {
  border-radius: 0;
}
#procs-form .g-form__item__content select {
  background-color: #C3B6A9;
  color: var(--color-txt);
  padding: 12px 16px;
}
@media only screen and (max-width: 1023px) {
  #procs-form .g-form__item__content {
    padding: min(3.125vw, 24px);
  }
}
@media only screen and (max-width: 767px) {
  #procs-form .g-form__item__content {
    width: 100%;
    padding: 0 min(4.3243243243vw, 16px) min(4.3243243243vw, 16px);
  }
}
#procs-form .g-form__item__content__sample {
  color: #939393;
}
#procs-form .g-form__item__ttl__equired {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  top: auto;
  right: auto;
  background: #80655A;
  border-radius: 0;
  color: var(--color-white);
  padding: 1px 8px;
  line-height: 1.7;
  margin-left: 0;
}
#procs-form .g-form__item__ttl__equired.nini {
  background-color: var(--color-white);
  color: var(--color-txt);
}
#procs-form .g-form__recaptcha {
  color: #7E0000;
}
@media only screen and (max-width: 767px) {
  #procs-form .g-form__recaptcha {
    padding: 0 min(4.3243243243vw, 16px) min(4.3243243243vw, 16px);
  }
}
#procs-form .g-form__recaptcha a {
  color: #7E0000;
}
#procs-form .g-form__sendbtn {
  background-color: #80655A;
  color: var(--color-white);
  font-size: min(1.0416666667vw, 20px);
  padding: 16px 32px;
  max-width: 300px;
  width: 100%;
  margin: 40px auto 0;
  border: none;
  cursor: pointer;
}
#procs-form .g-form__sendbtn.is-hover {
  background-color: #7E0000;
}
@media only screen and (max-width: 1023px) {
  #procs-form .g-form__sendbtn {
    font-size: min(2.0833333333vw, 16px);
  }
}
@media only screen and (max-width: 767px) {
  #procs-form .g-form__sendbtn {
    max-width: 200px;
    font-size: min(3.7837837838vw, 14px);
  }
}
#procs-form .g-form__sendbtn span {
  display: inline-block;
  position: relative;
  padding-left: 16px;
}
#procs-form .g-form__sendbtn span::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  position: absolute;
  top: 50%;
  left: 0;
  transform: rotate(-45deg) translateY(-50%);
}

/*レスポンシブ用*/
:root {
  --container-width: 110.0rem;
  --side-margin: 2.4rem;
}

@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}
:root {
  --color-main: #AB9777;
  --color-bg: #F8F4EE;
  --color-txt: #393939;
  --color-white: #ffffff;
  --color-blue: #151617;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #EEE;
}

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-en: serif;
  --font-point: "Noto Sans JP", sans-serif;
  --font-point02: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
}

/*-----------------------------------------
mixins
-----------------------------------------*/
@media only screen and (max-width: 767px) {
  .g-section__media-content__inner .wp-block-media-text__content {
    padding-left: var(--_container-margin-left) !important;
    padding-right: var(--_container-margin-right) !important;
  }
}

.u-mat {
  padding: var(--margin-4l) 0;
  position: relative;
}
.u-mat > * {
  position: relative;
}
.u-mat::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media only screen and (max-width: 1023px) {
  .u-mat::before {
    margin-left: calc(var(--side-margin) * -1);
    margin-right: calc(var(--side-margin) * -1);
  }
}

.u-m__xs {
  margin: var(--margin-xs);
}

.u-m__s {
  margin: var(--margin-s);
}

.u-m__m {
  margin: var(--margin-m);
}

.u-m__l {
  margin: var(--margin-l);
}

.u-m__2l {
  margin: var(--margin-2l);
}

.u-m__3l {
  margin: var(--margin-3l);
}

.u-m__4l {
  margin: var(--margin-4l);
}

.u-m__5l {
  margin: var(--margin-5l);
}

.u-mt__xs {
  margin-top: var(--margin-xs);
}

.u-mt__s {
  margin-top: var(--margin-s);
}

.u-mt__m {
  margin-top: var(--margin-m);
}

.u-mt__l {
  margin-top: var(--margin-l);
}

.u-mt__2l {
  margin-top: var(--margin-2l);
}

.u-mt__3l {
  margin-top: var(--margin-3l);
}

.u-mt__4l {
  margin-top: var(--margin-4l);
}

.u-mt__5l {
  margin-top: var(--margin-5l);
}

.u-mb__xs {
  margin-bottom: var(--margin-xs);
}

.u-mb__s {
  margin-bottom: var(--margin-s);
}

.u-mb__m {
  margin-bottom: var(--margin-m);
}

.u-mb__l {
  margin-bottom: var(--margin-l);
}

.u-mb__2l {
  margin-bottom: var(--margin-2l);
}

.u-mb__3l {
  margin-bottom: var(--margin-3l);
}

.u-mb__4l {
  margin-bottom: var(--margin-4l);
}

.u-mb__5l {
  margin-bottom: var(--margin-5l);
}

.u-margin-ia {
  margin-inline: auto;
}

.u-p__xs {
  padding: var(--margin-xs);
}

.u-p__s {
  padding: var(--margin-s);
}

.u-p__m {
  padding: var(--margin-m);
}

.u-p__l {
  padding: var(--margin-l);
}

.u-p__2l {
  padding: var(--margin-2l);
}

.u-p__3l {
  padding: var(--margin-3l);
}

.u-p__4l {
  padding: var(--margin-4l);
}

.u-p__5l {
  padding: var(--margin-5l);
}

.u-pt__xs {
  padding-top: var(--margin-xs);
}

.u-pt__s {
  padding-top: var(--margin-s);
}

.u-pt__m {
  padding-top: var(--margin-m);
}

.u-pt__l {
  padding-top: var(--margin-l);
}

.u-pt__2l {
  padding-top: var(--margin-2l);
}

.u-pt__3l {
  padding-top: var(--margin-3l);
}

.u-pt__4l {
  padding-top: var(--margin-4l);
}

.u-pt__5l {
  padding-top: var(--margin-5l);
}

.u-pb__xs {
  padding-bottom: var(--margin-xs);
}

.u-pb__s {
  padding-bottom: var(--margin-s);
}

.u-pb__m {
  padding-bottom: var(--margin-m);
}

.u-pb__l {
  padding-bottom: var(--margin-l);
}

.u-pb__2l {
  padding-bottom: var(--margin-2l);
}

.u-pb__3l {
  padding-bottom: var(--margin-3l);
}

.u-pb__4l {
  padding-bottom: var(--margin-4l);
}

.u-pb__5l {
  padding-bottom: var(--margin-5l);
}

.u-fs__p10s10 {
  font-size: 10px;
}

.u-fs__p10s11 {
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s11 {
    font-size: 11px;
  }
}

.u-fs__p10s12 {
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s12 {
    font-size: 12px;
  }
}

.u-fs__p10s13 {
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s13 {
    font-size: 13px;
  }
}

.u-fs__p10s14 {
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s14 {
    font-size: 14px;
  }
}

.u-fs__p10s15 {
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s15 {
    font-size: 15px;
  }
}

.u-fs__p10s16 {
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s16 {
    font-size: 16px;
  }
}

.u-fs__p10s17 {
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s17 {
    font-size: 17px;
  }
}

.u-fs__p10s18 {
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s18 {
    font-size: 18px;
  }
}

.u-fs__p10s19 {
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s19 {
    font-size: 19px;
  }
}

.u-fs__p10s20 {
  font-size: 10px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s20 {
    font-size: 20px;
  }
}

.u-fs__p11s10 {
  font-size: 11px;
}

.u-fs__p11s11 {
  font-size: 11px;
}

.u-fs__p11s12 {
  font-size: 11px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s12 {
    font-size: 12px;
  }
}

.u-fs__p11s13 {
  font-size: 11px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s13 {
    font-size: 13px;
  }
}

.u-fs__p11s14 {
  font-size: 11px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s14 {
    font-size: 14px;
  }
}

.u-fs__p11s15 {
  font-size: 11px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s15 {
    font-size: 15px;
  }
}

.u-fs__p11s16 {
  font-size: 11px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s16 {
    font-size: 16px;
  }
}

.u-fs__p11s17 {
  font-size: 11px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s17 {
    font-size: 17px;
  }
}

.u-fs__p11s18 {
  font-size: 11px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s18 {
    font-size: 18px;
  }
}

.u-fs__p11s19 {
  font-size: 11px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s19 {
    font-size: 19px;
  }
}

.u-fs__p11s20 {
  font-size: 11px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s20 {
    font-size: 20px;
  }
}

.u-fs__p12s10 {
  font-size: 12px;
}

.u-fs__p12s11 {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s11 {
    font-size: 11px;
  }
}

.u-fs__p12s12 {
  font-size: 12px;
}

.u-fs__p12s13 {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s13 {
    font-size: 13px;
  }
}

.u-fs__p12s14 {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s14 {
    font-size: 14px;
  }
}

.u-fs__p12s15 {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s15 {
    font-size: 15px;
  }
}

.u-fs__p12s16 {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s16 {
    font-size: 16px;
  }
}

.u-fs__p12s17 {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s17 {
    font-size: 17px;
  }
}

.u-fs__p12s18 {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s18 {
    font-size: 18px;
  }
}

.u-fs__p12s19 {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s19 {
    font-size: 19px;
  }
}

.u-fs__p12s20 {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s20 {
    font-size: 20px;
  }
}

.u-fs__p13s10 {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s10 {
    font-size: 10px;
  }
}

.u-fs__p13s11 {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s11 {
    font-size: 11px;
  }
}

.u-fs__p13s12 {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s12 {
    font-size: 12px;
  }
}

.u-fs__p13s13 {
  font-size: 13px;
}

.u-fs__p13s14 {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s14 {
    font-size: 14px;
  }
}

.u-fs__p13s15 {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s15 {
    font-size: 15px;
  }
}

.u-fs__p13s16 {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s16 {
    font-size: 16px;
  }
}

.u-fs__p13s17 {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s17 {
    font-size: 17px;
  }
}

.u-fs__p13s18 {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s18 {
    font-size: 18px;
  }
}

.u-fs__p13s19 {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s19 {
    font-size: 19px;
  }
}

.u-fs__p13s20 {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s20 {
    font-size: 20px;
  }
}

.u-fs__p14s10 {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s10 {
    font-size: 10px;
  }
}

.u-fs__p14s11 {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s11 {
    font-size: 11px;
  }
}

.u-fs__p14s12 {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s12 {
    font-size: 12px;
  }
}

.u-fs__p14s13 {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s13 {
    font-size: 13px;
  }
}

.u-fs__p14s14 {
  font-size: 14px;
}

.u-fs__p14s15 {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s15 {
    font-size: 15px;
  }
}

.u-fs__p14s16 {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s16 {
    font-size: 16px;
  }
}

.u-fs__p14s17 {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s17 {
    font-size: 17px;
  }
}

.u-fs__p14s18 {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s18 {
    font-size: 18px;
  }
}

.u-fs__p14s19 {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s19 {
    font-size: 19px;
  }
}

.u-fs__p14s20 {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s20 {
    font-size: 20px;
  }
}

.u-fs__p15s10 {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s10 {
    font-size: 10px;
  }
}

.u-fs__p15s11 {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s11 {
    font-size: 11px;
  }
}

.u-fs__p15s12 {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s12 {
    font-size: 12px;
  }
}

.u-fs__p15s13 {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s13 {
    font-size: 13px;
  }
}

.u-fs__p15s14 {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s14 {
    font-size: 14px;
  }
}

.u-fs__p15s15 {
  font-size: 15px;
}

.u-fs__p15s16 {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s16 {
    font-size: 16px;
  }
}

.u-fs__p15s17 {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s17 {
    font-size: 17px;
  }
}

.u-fs__p15s18 {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s18 {
    font-size: 18px;
  }
}

.u-fs__p15s19 {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s19 {
    font-size: 19px;
  }
}

.u-fs__p15s20 {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s20 {
    font-size: 20px;
  }
}

.u-fs__p16s10 {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s10 {
    font-size: 10px;
  }
}

.u-fs__p16s11 {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s11 {
    font-size: 11px;
  }
}

.u-fs__p16s12 {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s12 {
    font-size: 12px;
  }
}

.u-fs__p16s13 {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s13 {
    font-size: 13px;
  }
}

.u-fs__p16s14 {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s14 {
    font-size: 14px;
  }
}

.u-fs__p16s15 {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s15 {
    font-size: 15px;
  }
}

.u-fs__p16s16 {
  font-size: 16px;
}

.u-fs__p16s17 {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s17 {
    font-size: 17px;
  }
}

.u-fs__p16s18 {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s18 {
    font-size: 18px;
  }
}

.u-fs__p16s19 {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s19 {
    font-size: 19px;
  }
}

.u-fs__p16s20 {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s20 {
    font-size: 20px;
  }
}

.u-fs__p17s10 {
  font-size: 17px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s10 {
    font-size: 10px;
  }
}

.u-fs__p17s11 {
  font-size: 17px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s11 {
    font-size: 11px;
  }
}

.u-fs__p17s12 {
  font-size: 17px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s12 {
    font-size: 12px;
  }
}

.u-fs__p17s13 {
  font-size: 17px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s13 {
    font-size: 13px;
  }
}

.u-fs__p17s14 {
  font-size: 17px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s14 {
    font-size: 14px;
  }
}

.u-fs__p17s15 {
  font-size: 17px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s15 {
    font-size: 15px;
  }
}

.u-fs__p17s16 {
  font-size: 17px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s16 {
    font-size: 16px;
  }
}

.u-fs__p17s17 {
  font-size: 17px;
}

.u-fs__p17s18 {
  font-size: 17px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s18 {
    font-size: 18px;
  }
}

.u-fs__p17s19 {
  font-size: 17px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s19 {
    font-size: 19px;
  }
}

.u-fs__p17s20 {
  font-size: 17px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s20 {
    font-size: 20px;
  }
}

.u-fs__p18s10 {
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s10 {
    font-size: 10px;
  }
}

.u-fs__p18s11 {
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s11 {
    font-size: 11px;
  }
}

.u-fs__p18s12 {
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s12 {
    font-size: 12px;
  }
}

.u-fs__p18s13 {
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s13 {
    font-size: 13px;
  }
}

.u-fs__p18s14 {
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s14 {
    font-size: 14px;
  }
}

.u-fs__p18s15 {
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s15 {
    font-size: 15px;
  }
}

.u-fs__p18s16 {
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s16 {
    font-size: 16px;
  }
}

.u-fs__p18s17 {
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s17 {
    font-size: 17px;
  }
}

.u-fs__p18s18 {
  font-size: 18px;
}

.u-fs__p18s19 {
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s19 {
    font-size: 19px;
  }
}

.u-fs__p18s20 {
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s20 {
    font-size: 20px;
  }
}

.u-fs__p19s10 {
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s10 {
    font-size: 10px;
  }
}

.u-fs__p19s11 {
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s11 {
    font-size: 11px;
  }
}

.u-fs__p19s12 {
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s12 {
    font-size: 12px;
  }
}

.u-fs__p19s13 {
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s13 {
    font-size: 13px;
  }
}

.u-fs__p19s14 {
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s14 {
    font-size: 14px;
  }
}

.u-fs__p19s15 {
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s15 {
    font-size: 15px;
  }
}

.u-fs__p19s16 {
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s16 {
    font-size: 16px;
  }
}

.u-fs__p19s17 {
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s17 {
    font-size: 17px;
  }
}

.u-fs__p19s18 {
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s18 {
    font-size: 18px;
  }
}

.u-fs__p19s19 {
  font-size: 19px;
}

.u-fs__p19s20 {
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s20 {
    font-size: 20px;
  }
}

.u-fs__p20s10 {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s10 {
    font-size: 10px;
  }
}

.u-fs__p20s11 {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s11 {
    font-size: 11px;
  }
}

.u-fs__p20s12 {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s12 {
    font-size: 12px;
  }
}

.u-fs__p20s13 {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s13 {
    font-size: 13px;
  }
}

.u-fs__p20s14 {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s14 {
    font-size: 14px;
  }
}

.u-fs__p20s15 {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s15 {
    font-size: 15px;
  }
}

.u-fs__p20s16 {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s16 {
    font-size: 16px;
  }
}

.u-fs__p20s17 {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s17 {
    font-size: 17px;
  }
}

.u-fs__p20s18 {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s18 {
    font-size: 18px;
  }
}

.u-fs__p20s19 {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s19 {
    font-size: 19px;
  }
}

.u-fs__p20s20 {
  font-size: 20px;
}

.u-color__blue {
  color: var(--color-main);
}

.u-color__black {
  color: var(--color-txt);
}

/*-----------------------------------------
セクションに使用
-----------------------------------------*/
.u-width__max {
  margin-left: calc(var(--_container-margin-left) * -1) !important;
  margin-right: calc(var(--_container-margin-right) * -1) !important;
  max-width: 100vw;
  width: 100vw;
}

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

br.u-br--sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  br.u-br--sp {
    display: block;
  }
}

.u-home__messagemat {
  padding-top: getpc_vw(70);
  padding-bottom: getpc_vw(70);
}
@media only screen and (max-width: 767px) {
  .u-home__messagemat {
    padding-top: getsp_vw(70);
    padding-bottom: getsp_vw(70);
  }
}

.u-home__policymat {
  padding-bottom: getpc_vw(70);
}
@media only screen and (max-width: 767px) {
  .u-home__policymat {
    padding-bottom: getsp_vw(70);
  }
}

.u-home__profilemat {
  padding-right: var(--margin-5l);
  padding-left: var(--margin-5l);
}
@media only screen and (max-width: 767px) {
  .u-home__profilemat {
    padding-right: 1.6rem;
    padding-left: 1.6rem;
  }
}

.u-home__topicsmat {
  text-align: center;
}

.u-home__sns {
  display: block;
}
@media only screen and (max-width: 767px) {
  .u-home__sns {
    display: none;
  }
}
