@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
/* =====================

base

===================== */
* {
  min-height: 0.01px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: 0;
}

/* ========= メールアドレススパム対策 ========= */
.domain::before {
  content: "@";
}

body {
  font-family: var(--ffm);
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  font-family: var(--ffg);
  font-size: clamp(1.6rem, 1.4571428571rem + 0.4464285714vw, 1.8rem);
  font-weight: 500;
  color: var(--txt);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt"; /* 文字づめ */
  background-color: var(--bg);
}

button,
textarea,
select {
  /* デフォルトスタイルをリセット */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* font-familyを継承しないので、継承させる */
  font-family: inherit;
  /* iOSの角丸をリセット */
  border-radius: 0;
  /* box-size */
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 文字の大きさ iOSでズームさせないために16px以上を指定 */
  font-size: 2.4rem;
  /* 文字色を親から継承 */
  color: inherit;
  border: none;
  border-radius: 0;
  outline: none;
}

/* リンク下線を非表示位にする箇所 */
.main-nav li > a,
#footer-nav a {
  text-decoration: none !important;
}

.submit-btn {
  display: inline-block;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
  padding: 0.55em 1.5em;
  background: var(--key);
  color: #ffffff;
  line-height: 1em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border: 1px solid var(--key);
}
.submit-btn:hover, .submit-btn:active {
  color: var(--key);
  background: #fff;
}

/* ページローディング */
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 5000;
}

.loader,
.loader::after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

.loader {
  margin: 60px auto;
  font-size: 10px;
  position: absolute;
  top: calc(50% - 120px);
  left: calc(50% - 50px);
  text-indent: -9999em;
  border-top: 1.1em solid rgba(146, 146, 146, 0.2);
  border-right: 1.1em solid rgba(146, 146, 146, 0.2);
  border-bottom: 1.1em solid rgba(146, 146, 146, 0.2);
  border-left: 1.1em solid #929292;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
#frloader {
  background-color: #fff;
  width: 100vw;
  height: 100vh;
  display: grid;
  place-content: center;
  position: absolute;
  z-index: 500;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}
#frloader .floader,
#frloader .floader:before,
#frloader .floader:after {
  background: #c9c9c9;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}
#frloader .floader {
  color: #c9c9c9;
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
#frloader .floader:before,
#frloader .floader:after {
  position: absolute;
  top: 0;
  content: "";
}
#frloader .floader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
#frloader .floader:after {
  left: 1.5em;
}

@-webkit-keyframes load1 {
  0%, 80%, 100% {
    -webkit-box-shadow: 0 0;
            box-shadow: 0 0;
    height: 4em;
  }
  40% {
    -webkit-box-shadow: 0 -2em;
            box-shadow: 0 -2em;
    height: 5em;
  }
}
@keyframes load1 {
  0%, 80%, 100% {
    -webkit-box-shadow: 0 0;
            box-shadow: 0 0;
    height: 4em;
  }
  40% {
    -webkit-box-shadow: 0 -2em;
            box-shadow: 0 -2em;
    height: 5em;
  }
}
/* =====================

header

===================== */
.mobile-logo {
  display: none;
}

/* ========================

header
トップページ

======================== */
header {
  background-color: #fff;
}

#index {
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
}
#index header {
  width: 100%;
  height: clamp(32rem, -6.9565217391rem + 50.7246376812vw, 60rem);
  position: relative;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}
#index header .h1-kc {
  font-size: clamp(4rem, 2.6666666667rem + 1.7361111111vw, 6rem);
  font-weight: 500;
  width: calc(100% - 3rem);
  position: absolute;
  top: calc(50% - 3.8333333333rem);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  color: #fff;
  text-align: center;
  margin-block: var(--leading-trim);
  line-height: 1.3;
}
#index header .h1-kc span {
  display: inline-block;
}
@media screen and (max-width: 1320px) {
  #index header .h1-kc {
    top: calc(50% - 2.90404vw);
  }
}
@media screen and (max-width: 768px) {
  #index header .h1-kc {
    top: 50%;
    font-size: clamp(2.4rem, 1.5428571429rem + 2.6785714286vw, 3.6rem);
  }
}
@media screen and (max-width: 500px) {
  #index header .h1-kc {
    top: calc(50% + 3rem);
  }
}
@media screen and (max-width: 768px) {
  #index header {
    height: auto;
  }
}
#index * a {
  text-decoration: none;
}

/* =====================

下層ヘッダー

===================== */
#bis main header,
#office main header,
#greeting main header {
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
}
#bis main header .page-header_container,
#office main header .page-header_container,
#greeting main header .page-header_container {
  width: 100%;
  min-height: 27rem;
  overflow: hidden;
  position: relative;
  padding: 0;
  display: grid;
  place-items: center;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  #bis main header .page-header_container,
  #office main header .page-header_container,
  #greeting main header .page-header_container {
    min-height: 20rem;
  }
}
#bis main header .page-header_container .h1-p_title,
#office main header .page-header_container .h1-p_title,
#greeting main header .page-header_container .h1-p_title {
  position: absolute;
  top: calc(50% + clamp(1.5rem, 0.8043478261rem + 0.9057971014vw, 2rem));
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-block: auto;
  text-align: center;
  line-height: 1.3;
  z-index: 5;
}
#bis main header .page-header_container .h1-p_title .j,
#office main header .page-header_container .h1-p_title .j,
#greeting main header .page-header_container .h1-p_title .j {
  display: block;
  font-family: var(--ffg);
  font-size: clamp(2.4rem, 1.1142857143rem + 4.0178571429vw, 4.2rem);
  color: #fff;
  margin-inline: auto;
  font-weight: 500;
}
#bis main header .page-header_container .h1-p_title .e,
#office main header .page-header_container .h1-p_title .e,
#greeting main header .page-header_container .h1-p_title .e {
  display: block;
  font-family: var(--ffr);
  font-size: clamp(1rem, 0.8571428571rem + 0.4464285714vw, 1.2rem);
  color: #fff;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  #bis main header .page-header_container .h1-p_title,
  #office main header .page-header_container .h1-p_title,
  #greeting main header .page-header_container .h1-p_title {
    bottom: initial;
    top: 12rem;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
#bis main header .page-header_container::after,
#office main header .page-header_container::after,
#greeting main header .page-header_container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  mix-blend-mode: hard-light;
  z-index: 4;
}
#bis main header .page-header_container::before,
#office main header .page-header_container::before,
#greeting main header .page-header_container::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0.2rem;
  height: 4.6rem;
  background-color: var(--bg);
  z-index: 5;
}
@media screen and (max-width: 768px) {
  #bis main header .page-header_container::before,
  #office main header .page-header_container::before,
  #greeting main header .page-header_container::before {
    height: 3rem;
  }
}

#bis .page-header_container {
  background: url(../img/header-bis_pc.jpg) center center no-repeat;
}

#office .page-header_container {
  background: url(../img/header-office_pc.jpg) right center no-repeat;
}

#greeting .page-header_container {
  background: url(../img/header-greeting_pc.jpg) center center no-repeat;
}

.swiper {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  overflow: hidden;
}
.swiper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .swiper {
    position: relative;
    margin-top: 6rem;
    height: clamp(14.6rem, 2.1714285714rem + 38.8392857143vw, 32rem);
  }
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: auto;
}

.swiper-slide {
  position: relative;
  width: 100%;
  height: auto;
}
.swiper-slide img {
  max-width: initial;
  width: 100%;
  height: clamp(32rem, -7.0780399274rem + 50.8166969147vw, 60rem);
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .swiper-slide img {
    height: clamp(14.6rem, 2.1714285714rem + 38.8392857143vw, 32rem);
    -o-object-fit: cover;
       object-fit: cover;
  }
}

/* =====================

グローバルナビ

===================== */
.no-scroll {
  /* when modal active */
  -ms-touch-action: none;
      touch-action: none;
  -webkit-overflow-scrolling: none;
  overflow: hidden;
  /* Other browsers */
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

.header-top {
  width: min(100%, 192rem);
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 10;
  padding: clamp(1.5rem, 0.8043478261rem + 0.9057971014vw, 2rem) clamp(1.5rem, -1.5rem + 3.90625vw, 6rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1920px) {
  .header-top {
    width: 100%;
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@media screen and (max-width: 768px) {
  .header-top {
    background-color: #fff;
    width: 100%;
    height: 6rem;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    -webkit-box-shadow: 0px 0px 12px 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 0px 12px 10px rgba(0, 0, 0, 0.1);
  }
}
.header-top a {
  text-decoration: none !important;
}
.header-top a .h-logo {
  font-size: clamp(1.6rem, 0rem + 2.0833333333vw, 4rem);
  color: #fff;
}
@media screen and (max-width: 768px) {
  .header-top a .h-logo {
    color: var(--txt);
    font-size: clamp(1.4rem, 0.1142857143rem + 4.0178571429vw, 3.2rem);
  }
}
.header-top .h-tel_wrapper * {
  color: #fff;
}
.header-top .h-tel_wrapper p {
  font-weight: 500;
  font-size: clamp(1rem, 0.6rem + 0.5208333333vw, 1.6rem);
  text-align: center;
  margin-block: var(--leading-trim);
}
.header-top .h-tel_wrapper .telnum {
  font-weight: 700;
  font-size: clamp(1.4rem, 0.6rem + 1.0416666667vw, 2.6rem);
  margin-block: var(--leading-trim);
}
.header-top .h-tel_wrapper .telnum span {
  margin-right: 0.25em;
}
.header-top .h-tel_wrapper .telnum a {
  font-size: clamp(1.8rem, 0.6666666667rem + 1.4756944444vw, 3.5rem);
}
@media screen and (max-width: 768px) {
  .header-top .h-tel_wrapper {
    display: none;
  }
}
.header-top nav#mainnav .main-nav {
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(1.8rem, -1.3333333333rem + 4.0798611111vw, 6.5rem);
  list-style: none;
  letter-spacing: 0;
  padding: 0;
  margin: 0;
}
.header-top nav#mainnav .main-nav li {
  position: relative;
}
.header-top nav#mainnav .main-nav li::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1.5rem;
  width: 100%;
  height: 0.2rem;
  background-color: #fff;
  opacity: 0;
  -webkit-transition: bottom 0.2s ease;
  transition: bottom 0.2s ease;
}
.header-top nav#mainnav .main-nav li:hover::after {
  bottom: -1rem;
  opacity: 1;
  -webkit-transition: bottom 0.2s ease;
  transition: bottom 0.2s ease;
}
.header-top nav#mainnav .main-nav li.current::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1rem;
  width: 100%;
  height: 0.2rem;
  background-color: #fff;
}
.header-top nav#mainnav .main-nav li.current::after {
  display: none;
}
.header-top nav#mainnav .main-nav li a {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  font-weight: 500;
  color: #fff;
  position: relative;
}
.header-top nav#mainnav .main-nav li a .j {
  display: block;
  text-align: center;
  font-size: clamp(1.2rem, 0.6666666667rem + 0.6944444444vw, 2rem);
  margin-bottom: 0.35rem;
}
.header-top nav#mainnav .main-nav li a .e {
  display: block;
  text-align: center;
  font-size: clamp(0.7rem, 0.3666666667rem + 0.4340277778vw, 1.2rem);
  margin-block: var(--leading-trim);
}
@media screen and (max-width: 768px) {
  .header-top nav#mainnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: fixed;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 100%;
    height: 100vh;
    left: 0;
    top: 6rem;
    right: 0;
    bottom: 0;
    z-index: -1;
    background-color: var(--key);
    -webkit-transform: none;
            transform: none;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    overflow: auto;
  }
  .header-top nav#mainnav .main-nav {
    position: absolute;
    -webkit-margin-before: 7rem;
            margin-block-start: 7rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: clamp(3rem, 1.9285714286rem + 3.3482142857vw, 4.5rem);
    height: 100rem;
  }
  .header-top nav#mainnav .main-nav li {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .header-top nav#mainnav .main-nav li a {
    display: block;
    width: 100%;
    text-align: center;
    font-weight: 500;
    color: #fff;
  }
  .header-top nav#mainnav .main-nav li a .j {
    font-size: clamp(1.8rem, 1.0857142857rem + 2.2321428571vw, 2.8rem);
  }
  .header-top nav#mainnav .main-nav li a .e {
    font-size: clamp(1.2rem, 0.9142857143rem + 0.8928571429vw, 1.6rem);
  }
  .header-top nav#mainnav .main-nav li:last-child {
    display: none;
  }
  .header-top nav#mainnav.open {
    opacity: 1;
    visibility: visible;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
}

.mobile-btn,
.h-tel-btn,
.h-mail-btn {
  display: none;
}

@media screen and (max-width: 768px) {
  .mobile-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-tel-btn,
  .h-mail-btn {
    display: grid;
    place-items: center;
  }
}
.mobile-btn {
  position: fixed;
  top: 0;
  right: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 6rem;
  height: 6rem;
  background-color: var(--key);
  cursor: pointer;
  z-index: 50;
}
.mobile-btn .mobile-btn_burger {
  position: absolute;
  width: 2rem;
  height: 0.2rem;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #fff;
}
.mobile-btn .mobile-btn_burger::before, .mobile-btn .mobile-btn_burger::after {
  content: "";
  position: absolute;
  width: 2rem;
  height: 0.2rem;
  background-color: #fff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.mobile-btn .mobile-btn_burger::before {
  -webkit-transform: translateY(-0.8rem);
          transform: translateY(-0.8rem);
}
.mobile-btn .mobile-btn_burger::after {
  -webkit-transform: translateY(0.8rem);
          transform: translateY(0.8rem);
}
.mobile-btn.on .mobile-btn_burger {
  background-color: transparent;
}
.mobile-btn.on .mobile-btn_burger::before {
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-transform: rotate(-45deg) translate(0, 0);
  transform: rotate(-45deg) translate(0, 0);
}
.mobile-btn.on .mobile-btn_burger::after {
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: rotate(45deg) translate(0, 0);
  transform: rotate(45deg) translate(0, 0);
}

.h-tel-btn {
  width: 6rem;
  height: 6rem;
  position: fixed;
  top: 0;
  right: 12rem;
  background-color: var(--key_l);
}
.h-tel-btn img {
  aspect-ratio: 7/16;
  width: 1.4rem;
  height: auto;
}

.h-mail-btn {
  width: 6rem;
  height: 6rem;
  position: fixed;
  top: 0;
  right: 6rem;
  background-color: #799dce;
}
.h-mail-btn img {
  aspect-ratio: 29/19;
  width: 2.9rem;
  height: auto;
}

/* =================================================

トップページ

================================================= */
#home .thumbs-img {
  width: min(calc(100% - 3rem), 132rem);
  margin-inline: auto;
  margin-top: -11.5rem;
  margin-bottom: clamp(1rem, -0.4rem + 4.375vw, 8rem);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1320px) {
  #home .thumbs-img {
    margin-top: -8.71212vw;
  }
}
@media screen and (max-width: 500px) {
  #home .thumbs-img {
    margin-top: 0;
    width: min(100%, 132rem);
  }
}
#home #index-bis {
  padding-top: 2rem;
  background: url(../img/nishimura.svg) center top no-repeat;
  background-size: clamp(31rem, -1rem + 100vw, 131rem) auto;
}
#home #index-bis .h2-index {
  font-size: clamp(2.2rem, 1.8rem + 1.25vw, 4.2rem);
  font-weight: 600;
  color: var(--key);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
#home #index-bis .h2-index::after {
  content: "";
  display: block;
  width: clamp(2.4rem, 2.08rem + 1vw, 4rem);
  margin-top: 0.6rem;
  margin-bottom: 3rem;
  height: 0.2rem;
  background-color: var(--key);
  margin-inline: auto;
}
#home #index-bis .h3-index {
  line-height: 1.3;
  padding: 0 1.5rem;
  text-align: center;
  margin-bottom: clamp(2.4rem, 1.68rem + 2.25vw, 6rem);
}
#home #index-bis .h3-index span {
  display: inline-block;
  font-family: var(--ffg);
  font-size: clamp(1.8rem, 1.68rem + 0.375vw, 2.4rem);
}
#home #index-bis .bis_wrapper {
  padding: clamp(4rem, 1.824rem + 6.8vw, 10.8rem) 0;
  background-color: var(--key_l);
}
#home #index-bis .bis__wrapper {
  list-style: none;
  padding: 0;
  width: min(calc(100% - 3rem),132rem);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(4.4rem, 2.4916030534rem + 5.0890585242vw, 6.4rem) clamp(1rem, -0.3358778626rem + 3.5623409669vw, 2.4rem);
  counter-reset: number 0;
  margin-bottom: clamp(3.5rem, 1rem + 7.8125vw, 7rem);
}
#home #index-bis .bis__wrapper li {
  background-color: #fff;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 clamp(16.5rem, 6.2222222222rem + 27.4074074074vw, 42.4rem);
          flex: 0 1 clamp(16.5rem, 6.2222222222rem + 27.4074074074vw, 42.4rem);
  height: clamp(23rem, 11.358778626rem + 31.0432569975vw, 35.2rem);
  border-left: 0.2rem solid #ccc;
  border-bottom-right-radius: 3rem;
  padding: clamp(6rem, 3.1374045802rem + 7.6335877863vw, 9rem) clamp(1rem, -0.9083969466rem + 5.0890585242vw, 3rem) 1rem;
  position: relative;
}
#home #index-bis .bis__wrapper li p {
  font-size: clamp(1.6rem, 1.0285714286rem + 1.7857142857vw, 2.4rem);
  letter-spacing: 0;
  font-weight: 700;
  line-height: 1.3;
}
#home #index-bis .bis__wrapper li p span {
  display: inline-block;
}
#home #index-bis .bis__wrapper li img {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#home #index-bis .bis__wrapper li::before {
  counter-increment: number;
  content: counter(number, decimal-leading-zero);
  font-family: var(--ffr);
  font-size: clamp(6rem, 4.848rem + 3.6vw, 9.6rem);
  font-weight: 400;
  color: var(--key);
  position: absolute;
  top: 0;
  left: clamp(1rem, 0.36rem + 2vw, 3rem);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#home #index-bis .bis__wrapper li::after {
  content: "";
  position: absolute;
  top: clamp(4rem, 3.52rem + 1.5vw, 5.5rem);
  width: 4rem;
  height: 0.2rem;
  background-color: var(--key);
}
#home #index-bis .bis__wrapper li:first-child img {
  aspect-ratio: 265/164;
  width: clamp(12.4rem, 7.888rem + 14.1vw, 26.5rem);
  height: auto;
}
#home #index-bis .bis__wrapper li:nth-child(2) img {
  aspect-ratio: 262/175;
  width: clamp(13.7rem, 9.7rem + 12.5vw, 26.2rem);
  height: auto;
}
#home #index-bis .bis__wrapper li:nth-child(3) img {
  aspect-ratio: 250/157;
  width: clamp(13.8rem, 10.216rem + 11.2vw, 25rem);
  height: auto;
}
#home #index-bis .bis__wrapper li:nth-child(4) img {
  aspect-ratio: 321/145;
  width: clamp(14rem, 8.208rem + 18.1vw, 32.1rem);
  height: auto;
}
#home #index-bis .bis__wrapper li:nth-child(5) img {
  aspect-ratio: 134/186;
  width: clamp(8.3rem, 6.668rem + 5.1vw, 13.4rem);
  height: auto;
}
#home #index-bis .bis__wrapper li:nth-child(6) img {
  aspect-ratio: 171/183;
  width: clamp(10.1rem, 7.86rem + 7vw, 17.1rem);
  height: auto;
}

/* =====================

Go Topボタン

===================== */
a.page-top {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  z-index: 5;
  padding: 0;
  width: 6rem;
  height: 6rem;
  position: fixed;
  bottom: 2rem;
  right: 1rem;
  background-color: #fff;
  border: 0.1rem solid var(--bcr);
  border-radius: 50%;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
a.page-top .go-arrow {
  width: 1.2rem;
  height: 1.2rem;
  border-top: 0.2rem solid var(--txt);
  border-right: 0.2rem solid var(--txt);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: translateY(0.3rem) rotate(-45deg);
          transform: translateY(0.3rem) rotate(-45deg);
}
a.page-top:hover, a.page-top:active {
  border-color: var(--txt);
  background-color: #fff;
}
@media screen and (max-width: 834px) and (max-height: 1280px) {
  a.page-top {
    bottom: 12rem;
  }
}

/* =====================

footer

===================== */
#footer {
  width: 100%;
  background: var(--key);
  color: #fff;
}
#footer a {
  color: #fff;
  text-decoration: none;
}
#footer a:hover {
  text-decoration: none !important;
}
#footer .f-contact {
  width: min(calc(100% - 3rem), 87.2rem);
  border-radius: 1rem;
  margin-inline: auto;
  background-color: var(--key_l);
  padding: 4.2rem 3rem clamp(2rem, -14.2461538462rem + 21.1538461538vw, 4.2rem);
  -webkit-transform: translateY(-4.2rem);
          transform: translateY(-4.2rem);
  text-align: center;
}
#footer .f-contact p {
  font-size: clamp(1.8rem, 1.4268656716rem + 0.7462686567vw, 2rem);
  font-weight: 700;
  color: var(--txt);
  margin-block: 0 clamp(2rem, -12.7692307692rem + 19.2307692308vw, 4rem);
}
#footer .f-contact .btn_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  padding: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem clamp(1.6rem, -10.2153846154rem + 15.3846153846vw, 3.2rem);
  width: min(100%, 87.2rem);
  margin-inline: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
#footer .f-contact .btn_wrapper .f-tel_btn,
#footer .f-contact .btn_wrapper .f-mail_btn {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 34rem;
          flex: 1 1 34rem;
  width: min(100%, 34rem);
}
#footer .f-contact .btn_wrapper .f-tel_btn a,
#footer .f-contact .btn_wrapper .f-mail_btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fff;
  border-radius: 0.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.5rem clamp(1.4rem, -8.9384615385rem + 13.4615384615vw, 2.8rem);
  font-family: var(--ffg);
  font-weight: 700;
  color: var(--key);
}
#footer .f-contact .btn_wrapper .f-tel_btn {
  font-size: 3.3rem;
}
#footer .f-contact .btn_wrapper .f-tel_btn a::before {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  width: 4.8rem;
  height: auto;
  margin-right: 1rem;
  background: url(../img/icon-tel.png) center center no-repeat;
  background-size: contain;
}
#footer .f-contact .btn_wrapper .f-mail_btn {
  font-size: 2rem;
}
#footer .f-contact .btn_wrapper .f-mail_btn a::before {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  width: 4.8rem;
  height: auto;
  margin-right: 1rem;
  background: url(../img/icon-mail.png) center center no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  #footer .f-contact {
    display: none;
  }
}
#footer .footer_wrapper {
  width: min(100%, 87.2rem);
  margin-top: -1.5rem;
  margin-inline: auto;
  padding-bottom: 7rem;
}
#footer .footer_wrapper .f-menus_wrapper {
  display: block;
  text-align: center;
  width: 100%;
}
#footer .footer_wrapper .f-menus_wrapper nav ul.f-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem clamp(3rem, -2.376344086rem + 10.752688172vw, 7rem);
  padding-block: 0 clamp(5rem, -2.3846153846rem + 9.6153846154vw, 6rem);
}
@media screen and (max-width: 768px) {
  #footer .footer_wrapper .f-menus_wrapper nav ul.f-nav {
    padding-block: clamp(4rem, 3.2857142857rem + 2.2321428571vw, 5rem) clamp(4rem, 3.2857142857rem + 2.2321428571vw, 5rem);
  }
}
#footer .footer_wrapper .f-menus_wrapper nav ul.f-nav li {
  position: relative;
}
#footer .footer_wrapper .f-menus_wrapper nav ul.f-nav li::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1.5rem;
  width: 100%;
  height: 0.2rem;
  background-color: #fff;
  opacity: 0;
  -webkit-transition: bottom 0.2s ease;
  transition: bottom 0.2s ease;
}
#footer .footer_wrapper .f-menus_wrapper nav ul.f-nav li:hover::after {
  bottom: -1rem;
  opacity: 1;
  -webkit-transition: bottom 0.2s ease;
  transition: bottom 0.2s ease;
}
#footer .footer_wrapper .f-menus_wrapper nav ul.f-nav li.current::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1rem;
  width: 100%;
  height: 0.2rem;
  background-color: #fff;
}
#footer .footer_wrapper .f-menus_wrapper nav ul.f-nav li.current::after {
  display: none;
}
#footer .footer_wrapper .f-menus_wrapper nav ul.f-nav li a {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  font-weight: 500;
  color: #fff;
  position: relative;
}
#footer .footer_wrapper .f-menus_wrapper nav ul.f-nav li a .j {
  display: block;
  text-align: center;
  font-size: clamp(1.8rem, 0.3230769231rem + 1.9230769231vw, 2rem);
  margin-bottom: 0.5rem;
}
#footer .footer_wrapper .f-menus_wrapper nav ul.f-nav li a .e {
  display: block;
  text-align: center;
  font-size: clamp(1rem, -0.4769230769rem + 1.9230769231vw, 1.2rem);
  margin-block: var(--leading-trim);
}
@media screen and (max-width: 768px) {
  #footer .footer_wrapper .f-menus_wrapper nav ul.f-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #footer .footer_wrapper .f-menus_wrapper nav ul.f-nav li {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  #footer .footer_wrapper .f-menus_wrapper nav ul.f-nav li a .j {
    font-size: 2rem;
  }
  #footer .footer_wrapper .f-menus_wrapper nav ul.f-nav li a .e {
    font-size: 1.2rem;
  }
}
#footer .f-info_wrapper {
  display: block;
  text-align: center;
}
#footer .f-info_wrapper a.f-logo h1 {
  font-size: clamp(3rem, 2.2857142857rem + 2.2321428571vw, 4rem);
  font-weight: 700;
  margin-bottom: 1rem;
}
#footer address {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-style: normal;
  margin-bottom: 0;
}
#footer address * {
  letter-spacing: 0;
}
#footer address p {
  margin: 0;
  line-height: 1.3;
}
#footer address p span {
  display: inline-block;
  white-space: nowrap;
}
#footer address > p:first-child {
  margin-bottom: 1rem;
}
#footer address .tels_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  #footer address .tels_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #footer address .tels_wrapper .slash {
    display: none;
  }
}
#footer address .tels_wrapper p {
  margin-block: var(--leading-trim);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-bottom: 0.15em;
}
#footer address .slash {
  font-size: 3rem;
  margin-inline: 0.2em;
}
#footer address .tel {
  letter-spacing: 0;
  font-weight: 700;
}
#footer address .tel small {
  font-size: 2rem;
  margin-right: 0.2em;
}
#footer address .tel a {
  font-size: 3rem;
}
#footer address .tel .number {
  font-size: 3rem;
}
#footer address .copyright {
  font-family: var(--ffg);
  font-weight: 400;
  letter-spacing: 0;
  margin-block: 2.5rem;
}

#bis #footer,
#office #footer,
#greeting #footer {
  margin-top: clamp(5rem, 1.4285714286rem + 11.1607142857vw, 10rem);
}

/* ===============

下層ページ

=============== */
/* ===============

業務案内
BUSINESS INFORMATION

=============== */
.p-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1.8rem, 1.2285714286rem + 1.7857142857vw, 2.6rem);
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  margin-inline: auto;
}
.p-title span {
  display: inline-block;
}

#bis p span {
  display: inline-block;
}
#bis #biss > .container {
  padding-top: clamp(3rem, -0.5714285714rem + 11.1607142857vw, 8rem);
}
#bis .bis_wrapper {
  width: 100%;
  height: auto;
  border-radius: 1.5rem;
  background-color: var(--key_l);
  margin-block: clamp(5rem, 3.8571428571rem + 3.5714285714vw, 6.6rem);
  padding: 0 clamp(1.5rem, 0.4285714286rem + 3.3482142857vw, 3rem) clamp(4rem, 2.5714285714rem + 4.4642857143vw, 6rem);
}
#bis .h2-title {
  font-size: clamp(2rem, 1.2857142857rem + 2.2321428571vw, 3rem);
  font-weight: 500;
  color: var(--key);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-block: var(--leading-trim);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#bis .h2-title::after {
  content: "";
  display: block;
  width: clamp(3rem, 2.2857142857rem + 2.2321428571vw, 4rem);
  margin-top: 0.8rem;
  margin-bottom: clamp(1rem, -0.4285714286rem + 4.4642857143vw, 3rem);
  height: 0.2rem;
  background-color: var(--key);
  margin-inline: auto;
}
#bis .bis__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
#bis .bis__wrapper li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  border-radius: 0.6rem;
  border: 0.1rem solid var(--key);
  padding: clamp(1.2rem, 0.3428571429rem + 2.6785714286vw, 2.4rem);
}
#bis .bis__wrapper li p {
  font-size: clamp(1.6rem, 1.3142857143rem + 0.8928571429vw, 2rem);
  font-weight: 700;
  color: var(--key);
  line-height: 1.3;
  text-align: center;
  margin-bottom: 0 !important;
}
#bis .bis__wrapper li p span {
  display: inline-block;
}
#bis #bis01 .bis__wrapper {
  gap: clamp(1rem, 0.8rem + 0.625vw, 2rem);
}
#bis #bis01 .bis__wrapper li {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 clamp(16.35rem, 12.1rem + 13.28125vw, 37.6rem);
          flex: 1 1 clamp(16.35rem, 12.1rem + 13.28125vw, 37.6rem);
}
#bis #bis03 .bis__wrapper {
  gap: clamp(1rem, 0.8rem + 0.625vw, 2rem);
}
#bis #bis03 .bis__wrapper li {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 clamp(18.8rem, 15.04rem + 11.75vw, 37.6rem);
          flex: 1 1 clamp(18.8rem, 15.04rem + 11.75vw, 37.6rem);
}
#bis #bis02 .bis__wrapper,
#bis #bis04 .bis__wrapper {
  gap: clamp(1.2rem, 0.96rem + 0.75vw, 2.4rem);
}
#bis #bis02 .bis__wrapper li,
#bis #bis04 .bis__wrapper li {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 clamp(14.3rem, 5.72rem + 26.8125vw, 57.2rem);
          flex: 1 1 clamp(14.3rem, 5.72rem + 26.8125vw, 57.2rem);
}
#bis #bis04 .bis_wrapper {
  margin-block: clamp(5rem, 3.8571428571rem + 3.5714285714vw, 6.6rem) clamp(3rem, 2.2857142857rem + 2.2321428571vw, 4rem);
}

/* ===============

事業所概要
OFFICE SUMMARY

=============== */
#office #place > .container {
  padding-block: clamp(3rem, -0.5714285714rem + 11.1607142857vw, 8rem);
  background: url(../img/wagara.svg) top right no-repeat;
  background-size: cover;
}
#office #place .place_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  gap: 2rem clamp(3rem, -2.5652173913rem + 7.2463768116vw, 7rem);
}
#office #place .place_wrapper .photo {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 clamp(20.6rem, 6.8666666667rem + 17.8819444444vw, 41.2rem);
          flex: 1 1 clamp(20.6rem, 6.8666666667rem + 17.8819444444vw, 41.2rem);
  text-align: center;
  margin-inline: auto;
}
#office #place .place_wrapper .photo img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  #office #place .place_wrapper .photo {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    width: min(calc(100% - 3rem), 36rem);
    margin-inline: auto;
  }
}
#office #place .place_wrapper .history {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 clamp(26.2rem, 8.7333333333rem + 22.7430555556vw, 52.4rem);
          flex: 1 1 clamp(26.2rem, 8.7333333333rem + 22.7430555556vw, 52.4rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#office #place .place_wrapper .history p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 2.154;
  font-family: var(--ffm);
  font-size: clamp(1.8rem, 1.2666666667rem + 0.6944444444vw, 2.6rem);
  font-weight: 900;
  margin-bottom: clamp(3rem, 2.4rem + 1.875vw, 6rem);
}
#office #place .place_wrapper .history p span {
  display: contents;
}
#office #place .place_wrapper .history .sashie {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  #office #place .place_wrapper .history {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    width: min(calc(100% - 3rem), 60rem);
  }
  #office #place .place_wrapper .history p {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    margin-inline: auto;
  }
  #office #place .place_wrapper .history p span {
    display: inline-block;
  }
  #office #place .place_wrapper .history p br.pcbr {
    display: none;
  }
}
#office #infos {
  width: 100%;
  background-color: #fff;
  padding-block: clamp(3rem, 2.2857142857rem + 2.2321428571vw, 4rem);
}
#office #infos .container .infos_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  gap: 3rem 4rem;
}
#office #infos .container .infos_wrapper dl {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 clamp(28rem, 9.3333333333rem + 24.3055555556vw, 56rem);
          flex: 1 1 clamp(28rem, 9.3333333333rem + 24.3055555556vw, 56rem);
}
#office #infos .container .infos_wrapper dl dt span {
  padding-left: 2rem;
  position: relative;
}
#office #infos .container .infos_wrapper dl dt span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 0.4rem;
  height: 1em;
  background-color: #2a63b1;
}
#office #infos .container .infos_wrapper dl dd {
  text-align: left;
}
#office #infos .container .infos_wrapper dl dd span {
  display: inline-block;
}
#office #infos .container .infos_wrapper dl dd span small {
  font-size: clamp(1.2rem, 0.9142857143rem + 0.8928571429vw, 1.6rem);
  margin-right: 0.25em;
}
@media screen and (max-width: 500px) {
  #office #infos .container .infos_wrapper dl dt {
    background-color: var(--key_l);
  }
}
#office #infos .container .infos_wrapper .map {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 clamp(30rem, 2rem + 36.4583333333vw, 72rem);
          flex: 1 1 clamp(30rem, 2rem + 36.4583333333vw, 72rem);
}
#office #infos .container .infos_wrapper .map iframe {
  aspect-ratio: 36/25;
}

/* ===============

代表者挨拶
GREETING

=============== */
#greeting #greeting-top {
  padding-top: clamp(3rem, -6.328358209rem + 18.6567164179vw, 8rem);
}
#greeting #greeting-top > .container {
  width: min(calc(100% - clamp(3rem, -31.2260869565rem + 44.5652173913vw, 27.6rem)), 110rem);
  border-radius: 1rem;
  background-color: #fff;
  padding: clamp(1.5rem, 0.4285714286rem + 3.3482142857vw, 3rem) clamp(1rem, -1.1428571429rem + 6.6964285714vw, 4rem);
}
#greeting #greeting-top > .container p {
  font-size: clamp(1.6rem, 1.3142857143rem + 0.8928571429vw, 2rem);
  font-weight: 600;
  margin-bottom: 0.75em;
  color: var(--txt);
}
#greeting #greeting-top > .container p .strong {
  display: inline-block;
  font-size: clamp(1.8rem, 1.3714285714rem + 1.3392857143vw, 2.4rem);
  color: var(--key);
  font-weight: 700;
}
#greeting #greeting-top > .container p.sign {
  display: block;
  text-align: right;
}
#greeting .infos {
  margin-block: 2em 0;
  text-align: right;
}
#greeting .infos .position {
  font-weight: 700;
  color: var(--key);
}
#greeting .infos .tax-ac-number {
  margin-bottom: 0.5rem;
}
#greeting .infos .name {
  font-weight: 600;
}
#greeting .infos .name span.jp {
  display: block;
  font-size: clamp(1.8rem, 1.2285714286rem + 1.7857142857vw, 2.6rem);
  color: var(--key);
  line-height: 1.2;
  margin-bottom: 0.1em;
}
#greeting .infos .name span.jp > span {
  display: inline-block;
  font-weight: 700;
}
#greeting .infos .name span.jp > span.small {
  line-height: 1.2;
  font-size: clamp(1.2rem, 0.7714285714rem + 1.3392857143vw, 1.8rem);
}
#greeting .infos .name span.eng {
  font-family: var(--ffr);
  font-size: clamp(1.4rem, 1.1142857143rem + 0.8928571429vw, 1.8rem);
}

/* =====================

Not Found

===================== */
#notfound .notfound {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 3em;
  margin-bottom: 3em;
}
#notfound .notfound h2 {
  margin: 0 auto 0.5em;
  color: #ccc;
  text-align: center;
}
#notfound .notfound p {
  text-align: center;
}