@import "https://fonts.googleapis.com/css2?family=Rubik:wght@500&display=swap"; /*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
blockquote,
body,
dd,
dl,
dt,
fieldset,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
html,
iframe,
legend,
li,
ol,
p,
pre,
textarea,
ul {
  margin: 0;
  padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 400;
}
ul {
  list-style: none;
}
button,
input,
select {
  margin: 0;
}
html {
  box-sizing: border-box;
}
*,
:after,
:before {
  box-sizing: inherit;
}
img,
video {
  height: auto;
  max-width: 100%;
}
iframe {
  border: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
*,
:after,
:before {
  box-sizing: border-box;
}
html {
  min-height: 100vh;
  font-size: 62.5%;
}
body,
html {
  width: 100%;
}
body {
  font-family: 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium,
    游ゴシック, Yu Gothic, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN,
    Hiragino Sans, Meiryo, sans-serif;
  letter-spacing: 0.7px;
  position: relative;
  min-height: 100%;
  overflow-x: hidden;
  color: #444;
  word-wrap: break-word;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}
a {
  color: currentColor;
  text-decoration: none;
}
button,
input,
select,
textarea {
  outline: none;
  background: transparent;
  padding: 0;
  border: none;
  border-radius: 0;
  font: inherit;
  color: currentColor;
  text-align: left;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
textarea {
  resize: vertical;
}
input[type="checkbox"],
input[type="radio"] {
  display: none;
}
button,
input[type="button"],
input[type="submit"],
label,
select {
  cursor: pointer;
}
select::-ms-expand {
  display: none;
}
img,
video {
  display: block;
  width: 100%;
}
svg {
  overflow: visible;
}
.scroll-locked {
  position: fixed;
  left: 0;
  overflow-y: scroll;
}
.br:before {
  content: "\a";
  white-space: pre;
}
.br--md:before {
  content: "";
  white-space: normal;
}
.inline-block {
  display: inline-block;
}
.none-sp {
  display: none;
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10000;
  transition: 1.2s ease-in-out;
}
.header-logo {
  display: none;
}
.header-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  background: #444;
  display: grid;
  place-items: center;
  transition: 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: -100000;
  pointer-events: none;
  -webkit-clip-path: inset(100% 0 0 0);
  clip-path: inset(100% 0 0 0);
}
.header-nav a {
  color: #fff;
}
.header-nav.is-open {
  z-index: 100000;
  pointer-events: all;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
}
.header-nav__list {
  font-size: clamp(
    1.3333333333rem,
    calc(
      1.6rem + (min(var(--vw, 1vw), var(--svh, 1vh)) * 100 - 384px) *
        0.0416666667
    ),
    2.4rem
  );
  display: block;
  text-align: center;
  padding: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 24/768 * 100, 18px) 0;
  position: relative;
}
.header-nav__list span {
  display: block;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.header-nav-close {
  display: grid;
  place-items: center;
  width: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 104/768 * 100, 78px);
  height: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 104/768 * 100, 78px);
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 20/768 * 100, 15px);
  right: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 20/768 * 100, 15px);
  z-index: 1;
}
.header-nav-close__item {
  display: block;
  width: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 32/768 * 100, 24px);
  height: 1px;
  background: #444;
}
.header-nav-close__item:first-child {
  transform: rotate(45deg);
}
.header-nav-close__item:nth-child(2) {
  transform: rotate(-45deg);
}
.header-nav-contact {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 80/768 * 100, 60px);
}
.header-nav-contact__icon {
  width: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 52/768 * 100, 39px);
  height: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 52/768 * 100, 39px);
  background: #fff;
  display: grid;
  place-items: center;
  border-radius: 50%;
  margin-right: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 16/768 * 100, 12px);
}
.header-nav-contact__icon img {
  width: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 28/768 * 100, 21px);
}
.header-nav-contact__txt {
  border-bottom: 1px solid #fff;
  font-size: clamp(
    1.3333333333rem,
    calc(
      1.6rem + (min(var(--vw, 1vw), var(--svh, 1vh)) * 100 - 384px) *
        0.0416666667
    ),
    2.4rem
  );
}
.header-contact {
  position: fixed;
  top: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 140/768 * 100, 105px);
  right: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 20/768 * 100, 15px);
}
.header-contact span {
  position: relative;
  z-index: 1;
}
.header-contact__icon {
  width: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 104/768 * 100, 78px);
  height: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 104/768 * 100, 78px);
  background: #df2d28;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.header-contact__icon img {
  width: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 40/768 * 100, 30px);
}
.header-contact__icon--md {
  display: none;
}
.header-contact__txt {
  display: none;
}
.header-toggle {
  display: grid;
  place-items: center;
  width: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 104/768 * 100, 78px);
  height: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 104/768 * 100, 78px);
  background-color: #444;
  border-radius: 50%;
  position: fixed;
  top: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 20/768 * 100, 15px);
  right: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 20/768 * 100, 15px);
}
.header-toggle__item {
  width: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 32/768 * 100, 24px);
  height: 1px;
  border-radius: 3px;
  background: #fff;
  display: block;
}
.header-toggle__item:nth-child(2) {
  margin: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 6/768 * 100, 4.5px) 0;
}
.footer {
  background: #444;
  padding: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 120/768 * 100, 90px) 0;
  margin: 0 calc(50% - var(--vw, 1vw) * 50);
}
.footer a {
  color: #fff;
}
.footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer__logo {
  width: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 280/768 * 100, 210px);
  order: 2;
  margin-top: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 80/768 * 100, 60px);
}
.footer__main {
  order: 1;
}
.footer-nav {
  text-align: center;
}
.footer-nav__list {
  font-size: clamp(
    1.3333333333rem,
    calc(
      1.6rem + (min(var(--vw, 1vw), var(--svh, 1vh)) * 100 - 384px) *
        0.0416666667
    ),
    2.4rem
  );
  color: #fff;
  padding: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 24/768 * 100, 18px) 0;
  display: block;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  position: relative;
}
.footer-nav__list span {
  display: block;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.footer-contact {
  display: flex;
  align-items: center;
  margin-top: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 80/768 * 100, 60px);
}
.footer-contact span {
  position: relative;
  z-index: 1;
}
.footer-contact__icon {
  width: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 52/768 * 100, 39px);
  height: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 52/768 * 100, 39px);
  margin: 0 min(min(var(--vw, 1vw), var(--svh, 1vh)) * 16/768 * 100, 12px) 0 0;
  background-color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.footer-contact__icon img {
  width: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 28/768 * 100, 21px);
}
.footer-contact__txt {
  font-size: clamp(
    1.3333333333rem,
    calc(
      1.6rem + (min(var(--vw, 1vw), var(--svh, 1vh)) * 100 - 384px) *
        0.0416666667
    ),
    2.4rem
  );
  color: #fff;
  border-bottom: 1px solid #fff;
  position: relative;
}
.footer-copy {
  font-size: clamp(
    0.8333333333rem,
    calc(
      1rem + (min(var(--vw, 1vw), var(--svh, 1vh)) * 100 - 384px) * 0.0260416667
    ),
    1.5rem
  );
  color: #fff;
  font-family: Rubik, sans-serif;
}
.footer-copy--sp {
  order: 3;
  margin-top: min(min(var(--vw, 1vw), var(--svh, 1vh)) * 80/768 * 100, 60px);
}
.footer-copy--md {
  display: none;
}
.container {
  display: flex;
  justify-content: center;
  padding: 0 calc(min(var(--vw, 1vw), var(--svh, 1vh)) * 20 / 768 * 100);
}
.container__inner {
  width: 100%;
  max-width: 819px;
}
.bg__img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  z-index: -100;
  -o-object-fit: cover;
  object-fit: cover;
}
.txt {
  font-size: clamp(
    1rem,
    calc(
      1.2rem + (min(var(--vw, 1vw), var(--svh, 1vh)) * 100 - 384px) * 0.03125
    ),
    1.8rem
  );
  line-height: 2;
}
.txt:before {
  margin-top: -0.5em;
}
.txt:after,
.txt:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.txt:after {
  margin-bottom: -0.5em;
}
@media screen and (min-width: 1020px) {
  .br--sp:before {
    content: "";
    white-space: normal;
  }
  .br--md:before {
    content: "\a";
    white-space: pre;
  }
  .none-sp {
    display: block;
  }
  .none-md {
    display: none;
  }
  .header {
    padding: min(var(--vw, 1vw) * 40/1360 * 100, 50px)
      min(var(--vw, 1vw) * 40/1360 * 100, 50px)
      min(var(--vw, 1vw) * 24/1360 * 100, 30px);
  }
  .header.is-scroll {
    background: #fff;
    padding: min(var(--vw, 1vw) * 18/1360 * 100, 22.5px)
      min(var(--vw, 1vw) * 40/1360 * 100, 50px)
      min(var(--vw, 1vw) * 24/1360 * 100, 30px);
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.05);
  }
  .header.is-scroll .header-logo {
    opacity: 1;
  }
  .header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header-logo {
    display: block;
    opacity: 0;
    width: min(var(--vw, 1vw) * 278/1360 * 100, 347.5px);
    transition: 1.2s ease-in-out 0.3s;
  }
  .header-nav {
    display: block;
    position: relative;
    height: auto;
    margin-top: min(var(--vw, 1vw) * 16/1360 * 100, 20px);
    background: none;
    pointer-events: all;
    z-index: 100000;
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
  .header-nav a {
    color: #444;
  }
  .header-nav__inner {
    display: flex;
    justify-content: flex-end;
    gap: min(var(--vw, 1vw) * 16/1360 * 100, 20px);
  }
  .header-nav__list {
    font-size: min(
      calc(1.4rem + 1.75 * (var(--vw, 1vw) * 100 - 1360px) / 340),
      1.575rem
    );
    font-weight: 700;
    padding: 0;
    overflow: hidden;
  }
  .header-nav__list:before {
    content: attr(data-txt);
    position: absolute;
    top: 0;
    left: 0;
    color: #df2d28;
    transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 1;
    transform: translateY(-100%);
  }
  .header-nav__list:hover:before {
    transform: translateY(0);
  }
  .header-nav__list:hover span {
    transform: translateY(100%);
  }
  .header-nav-close {
    display: none;
  }
  .header-nav-contact {
    display: none;
  }
  .header-contact {
    position: relative;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    font-weight: 700;
    justify-content: flex-end;
    width: -moz-max-content;
    width: max-content;
    margin: 0 0 0 auto;
  }
  .header-contact:hover .header-contact__icon {
    transform: scale(1.4);
  }
  .header-contact:hover .header-contact__txt {
    color: #fff;
  }
  .header-contact:hover .header-contact__txt:after {
    height: 100%;
  }
  .header-contact__icon {
    margin-right: min(var(--vw, 1vw) * 8/1360 * 100, 10px);
    width: min(var(--vw, 1vw) * 26/1360 * 100, 32.5px);
    height: min(var(--vw, 1vw) * 26/1360 * 100, 32.5px);
    background-color: #ffdde1;
    transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .header-contact__icon img {
    width: min(var(--vw, 1vw) * 14/1360 * 100, 17.5px);
  }
  .header-contact__icon--md {
    display: grid;
  }
  .header-contact__icon--sp {
    display: none;
  }
  .header-contact__txt {
    color: #df2d28;
    border-bottom: 1px solid #df2d28;
    font-size: min(
      calc(1.4rem + 1.75 * (var(--vw, 1vw) * 100 - 1360px) / 340),
      1.575rem
    );
    position: relative;
  }
  .header-contact__txt,
  .header-contact__txt:after {
    display: block;
    transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .header-contact__txt:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #df2d28;
    position: absolute;
    left: 0;
    bottom: -1px;
    z-index: -1;
  }
  .header-toggle {
    display: none;
  }
  .footer {
    padding: min(var(--vw, 1vw) * 80/1360 * 100, 100px)
      min(var(--vw, 1vw) * 96/1360 * 100, 120px);
  }
  .footer__inner {
    flex-direction: row;
    justify-content: space-between;
  }
  .footer__logo {
    width: min(var(--vw, 1vw) * 200/1360 * 100, 250px);
    order: 1;
    margin-top: 0;
  }
  .footer__main {
    order: 2;
    text-align: right;
  }
  .footer-nav {
    display: flex;
    gap: min(var(--vw, 1vw) * 20/1360 * 100, 25px);
  }
  .footer-nav__list {
    font-size: min(
      calc(1.4rem + 1.75 * (var(--vw, 1vw) * 100 - 1360px) / 340),
      1.575rem
    );
    padding: 0;
    overflow: hidden;
  }
  .footer-nav__list:before {
    content: attr(data-txt);
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 1;
    transform: translateY(-100%);
  }
  .footer-nav__list:hover:before {
    transform: translateY(0);
  }
  .footer-nav__list:hover span {
    transform: translateY(100%);
  }
  .footer-contact {
    width: -moz-max-content;
    width: max-content;
    margin: min(var(--vw, 1vw) * 40/1360 * 100, 50px) 0 0 auto;
    justify-content: flex-end;
  }
  .footer-contact:hover .footer-contact__icon {
    transform: scale(1.4);
  }
  .footer-contact:hover .footer-contact__txt {
    color: #444;
  }
  .footer-contact:hover .footer-contact__txt:after {
    height: 100%;
  }
  .footer-contact__icon {
    width: min(var(--vw, 1vw) * 26/1360 * 100, 32.5px);
    height: min(var(--vw, 1vw) * 26/1360 * 100, 32.5px);
    transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .footer-contact__icon img {
    width: min(var(--vw, 1vw) * 14/1360 * 100, 17.5px);
  }
  .footer-contact__txt {
    font-size: min(
      calc(1.4rem + 1.75 * (var(--vw, 1vw) * 100 - 1360px) / 340),
      1.575rem
    );
  }
  .footer-contact__txt,
  .footer-contact__txt:after {
    display: block;
    transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .footer-contact__txt:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: -1px;
    z-index: 0;
  }
  .footer-copy {
    font-size: min(
      calc(1.3rem + 1.625 * (var(--vw, 1vw) * 100 - 1360px) / 340),
      1.4625rem
    );
  }
  .footer-copy--sp {
    display: none;
  }
  .footer-copy--md {
    display: block;
    margin-top: min(var(--vw, 1vw) * 40/1360 * 100, 50px);
  }
  .container__inner {
    max-width: 1200px;
  }
  .txt {
    font-size: min(
      calc(1.4rem + 1.75 * (var(--vw, 1vw) * 100 - 1360px) / 340),
      1.575rem
    );
  }
  .txt:before {
    margin-top: -0.25em;
  }
  .txt:after {
    margin-bottom: -0.25em;
  }
}
