@charset "UTF-8";
/* commonParts
---------------------------------------------------- */
.__inner {
  width: 99.375rem;
  margin: 0 auto;
}
@media screen and (max-width: 991px) {
  .__inner {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 767px) {
  .__inner {
    width: calc(100% - 36px);
  }
}
.__inner.__medium {
  width: 82.5rem;
}
@media screen and (max-width: 1199px) {
  .__inner.__medium {
    width: 99.375rem;
  }
}
@media screen and (max-width: 991px) {
  .__inner.__medium {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 767px) {
  .__inner.__medium {
    width: calc(100% - 36px);
  }
}

.__liststyle li {
  display: flex;
  align-items: baseline;
}
.__liststyle li::before {
  content: "\f111";
  display: block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 0.3em;
  flex-shrink: 0;
}
.__liststyle.__note li::before {
  content: "※";
}

a.__txtlink {
  color: #333;
  display: inline;
  text-decoration: underline;
  opacity: 1;
  transition: all 0.2s ease;
}
a.__txtlink:hover {
  opacity: 0.6;
}

.__anchor-point {
  position: absolute;
}

.sec-ttl {
  text-align: center;
  margin-bottom: 3em;
}
.sec-ttl span.__en {
  font-size: 1.125em;
  margin-right: 1em;
  margin-left: -1em;
}
.sec-ttl span.__jp {
  font-size: 2rem;
}
@media screen and (max-width: 1199px) {
  .sec-ttl span.__jp {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 767px) {
  .sec-ttl span.__jp {
    font-size: 1.375em;
  }
}
.sec-ttl p {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .sec-ttl p {
    text-align: start;
  }
}

.__fadeIn {
  opacity: 0;
  transform: translateY(10px);
  transition: 1.6s cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s;
}
.__fadeIn.__delay00 {
  transition-delay: 0s;
}
.__fadeIn.__delay02 {
  transition-delay: 0.8s;
}
.__fadeIn.__inview {
  opacity: 1;
  transform: translateY(0);
}

.__txtAnimation .char {
  display: inline-block;
  margin-right: 0.2em;
  opacity: 0;
  transform: rotateX(65deg) scale(1.3) translateY(-40px);
  will-change: transform;
  transition: 1.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.__txtAnimation.__inview .char {
  opacity: 1;
  transform: none;
}
.__txtAnimation.__inview .char:nth-of-type(1) {
  transition-delay: 0.2s;
}
.__txtAnimation.__inview .char:nth-of-type(2) {
  transition-delay: 0.3s;
}
.__txtAnimation.__inview .char:nth-of-type(3) {
  transition-delay: 0.4s;
}
.__txtAnimation.__inview .char:nth-of-type(4) {
  transition-delay: 0.5s;
}
.__txtAnimation.__inview .char:nth-of-type(5) {
  transition-delay: 0.6s;
}
.__txtAnimation.__inview .char:nth-of-type(6) {
  transition-delay: 0.7s;
}
.__txtAnimation.__inview .char:nth-of-type(7) {
  transition-delay: 0.8s;
}
.__txtAnimation.__inview .char:nth-of-type(8) {
  transition-delay: 0.9s;
}
.__txtAnimation.__inview .char:nth-of-type(9) {
  transition-delay: 1s;
}
.__txtAnimation.__inview .char:nth-of-type(10) {
  transition-delay: 1.1s;
}
.__txtAnimation.__inview .char:nth-of-type(11) {
  transition-delay: 1.2s;
}
.__txtAnimation.__inview .char:nth-of-type(12) {
  transition-delay: 1.3s;
}
.__txtAnimation.__inview .char:nth-of-type(13) {
  transition-delay: 1.4s;
}
.__txtAnimation.__inview .char:nth-of-type(14) {
  transition-delay: 1.5s;
}
.__txtAnimation.__inview .char:nth-of-type(15) {
  transition-delay: 1.6s;
}
.__txtAnimation.__inview .char:nth-of-type(16) {
  transition-delay: 1.7s;
}
.__txtAnimation.__inview .char:nth-of-type(17) {
  transition-delay: 1.8s;
}
.__txtAnimation.__inview .char:nth-of-type(18) {
  transition-delay: 1.9s;
}
.__txtAnimation.__inview .char:nth-of-type(19) {
  transition-delay: 2s;
}
.__txtAnimation.__inview .char:nth-of-type(20) {
  transition-delay: 2.1s;
}
.__txtAnimation.__inview .char:nth-of-type(21) {
  transition-delay: 2.2s;
}
.__txtAnimation.__inview .char:nth-of-type(22) {
  transition-delay: 2.3s;
}
.__txtAnimation.__inview .char:nth-of-type(23) {
  transition-delay: 2.4s;
}
.__txtAnimation.__inview .char:nth-of-type(24) {
  transition-delay: 2.5s;
}
.__txtAnimation.__inview .char:nth-of-type(25) {
  transition-delay: 2.6s;
}
.__txtAnimation.__inview .char:nth-of-type(26) {
  transition-delay: 2.7s;
}
.__txtAnimation.__inview .char:nth-of-type(27) {
  transition-delay: 2.8s;
}
.__txtAnimation.__inview .char:nth-of-type(28) {
  transition-delay: 2.9s;
}
.__txtAnimation.__inview .char:nth-of-type(29) {
  transition-delay: 3s;
}
.__txtAnimation.__inview .char:nth-of-type(30) {
  transition-delay: 3.1s;
}
.__txtAnimation.__inview .char:nth-of-type(31) {
  transition-delay: 3.2s;
}
.__txtAnimation.__inview .char:nth-of-type(32) {
  transition-delay: 3.3s;
}
.__txtAnimation.__inview .char:nth-of-type(33) {
  transition-delay: 3.4s;
}
.__txtAnimation.__inview .char:nth-of-type(34) {
  transition-delay: 3.5s;
}
.__txtAnimation.__inview .char:nth-of-type(35) {
  transition-delay: 3.6s;
}
.__txtAnimation.__inview .char:nth-of-type(36) {
  transition-delay: 3.7s;
}
.__txtAnimation.__inview .char:nth-of-type(37) {
  transition-delay: 3.8s;
}
.__txtAnimation.__inview .char:nth-of-type(38) {
  transition-delay: 3.9s;
}
.__txtAnimation.__inview .char:nth-of-type(39) {
  transition-delay: 4s;
}
.__txtAnimation.__inview .char:nth-of-type(40) {
  transition-delay: 4.1s;
}
.__txtAnimation.__inview .char:nth-of-type(41) {
  transition-delay: 4.2s;
}
.__txtAnimation.__inview .char:nth-of-type(42) {
  transition-delay: 4.3s;
}
.__txtAnimation.__inview .char:nth-of-type(43) {
  transition-delay: 4.4s;
}
.__txtAnimation.__inview .char:nth-of-type(44) {
  transition-delay: 4.5s;
}
.__txtAnimation.__inview .char:nth-of-type(45) {
  transition-delay: 4.6s;
}
.__txtAnimation.__inview .char:nth-of-type(46) {
  transition-delay: 4.7s;
}
.__txtAnimation.__inview .char:nth-of-type(47) {
  transition-delay: 4.8s;
}
.__txtAnimation.__inview .char:nth-of-type(48) {
  transition-delay: 4.9s;
}
.__txtAnimation.__inview .char:nth-of-type(49) {
  transition-delay: 5s;
}
.__txtAnimation.__inview .char:nth-of-type(50) {
  transition-delay: 5.1s;
}
.__txtAnimation.__inview .char:nth-of-type(51) {
  transition-delay: 5.2s;
}
.__txtAnimation.__inview .char:nth-of-type(52) {
  transition-delay: 5.3s;
}
.__txtAnimation.__inview .char:nth-of-type(53) {
  transition-delay: 5.4s;
}
.__txtAnimation.__inview .char:nth-of-type(54) {
  transition-delay: 5.5s;
}
.__txtAnimation.__inview .char:nth-of-type(55) {
  transition-delay: 5.6s;
}
.__txtAnimation.__inview .char:nth-of-type(56) {
  transition-delay: 5.7s;
}
.__txtAnimation.__inview .char:nth-of-type(57) {
  transition-delay: 5.8s;
}
.__txtAnimation.__inview .char:nth-of-type(58) {
  transition-delay: 5.9s;
}
.__txtAnimation.__inview .char:nth-of-type(59) {
  transition-delay: 6s;
}
.__txtAnimation.__inview .char:nth-of-type(60) {
  transition-delay: 6.1s;
}
.__txtAnimation.__inview .char:nth-of-type(61) {
  transition-delay: 6.2s;
}
.__txtAnimation.__inview .char:nth-of-type(62) {
  transition-delay: 6.3s;
}
.__txtAnimation.__inview .char:nth-of-type(63) {
  transition-delay: 6.4s;
}
.__txtAnimation.__inview .char:nth-of-type(64) {
  transition-delay: 6.5s;
}
.__txtAnimation.__inview .char:nth-of-type(65) {
  transition-delay: 6.6s;
}
.__txtAnimation.__inview .char:nth-of-type(66) {
  transition-delay: 6.7s;
}
.__txtAnimation.__inview .char:nth-of-type(67) {
  transition-delay: 6.8s;
}
.__txtAnimation.__inview .char:nth-of-type(68) {
  transition-delay: 6.9s;
}
.__txtAnimation.__inview .char:nth-of-type(69) {
  transition-delay: 7s;
}
.__txtAnimation.__inview .char:nth-of-type(70) {
  transition-delay: 7.1s;
}
.__txtAnimation.__inview .char:nth-of-type(71) {
  transition-delay: 7.2s;
}
.__txtAnimation.__inview .char:nth-of-type(72) {
  transition-delay: 7.3s;
}
.__txtAnimation.__inview .char:nth-of-type(73) {
  transition-delay: 7.4s;
}
.__txtAnimation.__inview .char:nth-of-type(74) {
  transition-delay: 7.5s;
}
.__txtAnimation.__inview .char:nth-of-type(75) {
  transition-delay: 7.6s;
}
.__txtAnimation.__inview .char:nth-of-type(76) {
  transition-delay: 7.7s;
}
.__txtAnimation.__inview .char:nth-of-type(77) {
  transition-delay: 7.8s;
}
.__txtAnimation.__inview .char:nth-of-type(78) {
  transition-delay: 7.9s;
}
.__txtAnimation.__inview .char:nth-of-type(79) {
  transition-delay: 8s;
}
.__txtAnimation.__inview .char:nth-of-type(80) {
  transition-delay: 8.1s;
}
.__txtAnimation.__inview .char:nth-of-type(81) {
  transition-delay: 8.2s;
}
.__txtAnimation.__inview .char:nth-of-type(82) {
  transition-delay: 8.3s;
}
.__txtAnimation.__inview .char:nth-of-type(83) {
  transition-delay: 8.4s;
}
.__txtAnimation.__inview .char:nth-of-type(84) {
  transition-delay: 8.5s;
}
.__txtAnimation.__inview .char:nth-of-type(85) {
  transition-delay: 8.6s;
}
.__txtAnimation.__inview .char:nth-of-type(86) {
  transition-delay: 8.7s;
}
.__txtAnimation.__inview .char:nth-of-type(87) {
  transition-delay: 8.8s;
}
.__txtAnimation.__inview .char:nth-of-type(88) {
  transition-delay: 8.9s;
}
.__txtAnimation.__inview .char:nth-of-type(89) {
  transition-delay: 9s;
}
.__txtAnimation.__inview .char:nth-of-type(90) {
  transition-delay: 9.1s;
}
.__txtAnimation.__inview .char:nth-of-type(91) {
  transition-delay: 9.2s;
}
.__txtAnimation.__inview .char:nth-of-type(92) {
  transition-delay: 9.3s;
}
.__txtAnimation.__inview .char:nth-of-type(93) {
  transition-delay: 9.4s;
}
.__txtAnimation.__inview .char:nth-of-type(94) {
  transition-delay: 9.5s;
}
.__txtAnimation.__inview .char:nth-of-type(95) {
  transition-delay: 9.6s;
}
.__txtAnimation.__inview .char:nth-of-type(96) {
  transition-delay: 9.7s;
}
.__txtAnimation.__inview .char:nth-of-type(97) {
  transition-delay: 9.8s;
}
.__txtAnimation.__inview .char:nth-of-type(98) {
  transition-delay: 9.9s;
}
.__txtAnimation.__inview .char:nth-of-type(99) {
  transition-delay: 10s;
}
.__txtAnimation.__inview .char:nth-of-type(100) {
  transition-delay: 10.1s;
}

.__borderAnimation {
  width: 100%;
  height: 1px;
  background-color: #ccc;
  transform-origin: left top;
  transform: scaleX(0);
  transition: transform 1s ease 0.2s;
}
.__borderAnimation.__inview {
  transform: scaleX(1);
}

a .__border-animation {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
a .__border-animation::before {
  content: "";
  display: block;
  background-color: #999;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform-origin: right top;
  transform: scaleX(0);
  transition: transform 0.48s ease;
}
a .__border-animation span.__txt {
  font-size: 0.95em;
}
a:hover .__border-animation::before {
  transform: scaleX(1);
  transform-origin: left top;
}

/* header
---------------------------------------------------- */
header {
  position: fixed;
  z-index: 99;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
header .header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: max(5.625rem, 80px);
  padding: 0 1.25rem;
}
@media screen and (max-width: 1599px) {
  header .header-inner {
    padding: 0 1.875rem;
  }
}
@media screen and (max-width: 1199px) {
  header .header-inner {
    height: 80px;
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  header .header-inner {
    height: 60px;
    padding: 0 16px;
  }
}
header .__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(30, 30, 30, 0.8);
  opacity: 0;
  visibility: hidden;
  transition: all 0.36s ease;
}
header .__overlay.__open {
  opacity: 1;
  visibility: visible;
}
header .header-logo {
  width: 380px;
}
@media screen and (max-width: 1599px) {
  header .header-logo {
    width: 342px;
  }
}
@media screen and (max-width: 1199px) {
  header .header-logo {
    width: 285px;
  }
}
@media screen and (max-width: 767px) {
  header .header-logo {
    width: min(70vw, 247px);
  }
}
header .header-logo img {
  width: 100%;
  height: auto;
}
header .header-content {
  display: flex;
  align-items: center;
}
header .language-btn {
  margin-right: 3em;
}
@media screen and (max-width: 1199px) {
  header .language-btn {
    margin-right: 2em;
  }
}
header .language-btn a {
  background-color: #eee;
}
header .language-btn a .__border-animation {
  padding: 0 0.4em;
}
header .language-btn a span.__txt {
  font-size: 1em;
}
@media screen and (max-width: 767px) {
  header .language-btn.__header {
    display: none;
  }
}
header .language-btn.__hm {
  width: -moz-fit-content;
  width: fit-content;
  opacity: 0.7;
  margin-top: 4em;
}
header .language-btn.__hm a {
  background-color: #fff;
}
header .nav-btn {
  position: relative;
  z-index: 99;
  width: 40px;
  height: 40px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  header .nav-btn {
    width: min(8vw, 36px);
  }
}
header .nav-btn span {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  width: 100%;
  height: 1px;
  background-color: #666;
  transition: all 0.36s ease;
}
header .nav-btn span:nth-of-type(1) {
  margin-top: -6px;
}
header .nav-btn span:nth-of-type(3) {
  margin-top: 6px;
}
header .nav-btn.__open span {
  transition: margin-top 0.24s ease, transform 0.24s 0.24s ease, background-color 0.24s ease;
}
header .nav-btn.__open span:nth-of-type(1) {
  margin-top: 0;
  transform: translateY(-50%) rotate(20deg);
}
header .nav-btn.__open span:nth-of-type(2) {
  opacity: 0;
}
header .nav-btn.__open span:nth-of-type(3) {
  margin-top: 0;
  transform: translateY(-50%) rotate(-20deg);
}
header .header-menu {
  background-color: #eee;
  width: -moz-fit-content;
  width: fit-content;
  height: 100vh;
  padding-top: 100px;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(100%);
  transition: all 0.48s ease;
}
header .header-menu .header-menu-inner {
  padding-left: 2em;
  padding-right: 4em;
  opacity: 0;
  transition: all 0.48s ease;
}
header .header-menu.__open {
  transform: translateX(0);
}
header .header-menu.__open .header-menu-inner {
  opacity: 1;
  transition: all 0.48s 0.4s ease;
}
header .header-menu nav ul li a {
  font-size: 0.95em;
  margin: 2em 0;
  opacity: 0.7;
  transition: all 0.4s ease;
}
header .header-menu nav ul li a:hover {
  opacity: 1;
}
header .header-menu nav ul li:last-of-type a {
  margin-right: 0;
}
header .header-menu nav ul li.__current a::before {
  transform: scaleX(1);
}

#pagetop {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 100px;
}
#pagetop a {
  padding: 0.4em 0;
}
@media screen and (max-width: 767px) {
  #pagetop a {
    font-size: min(4vw, 1em);
  }
}
#pagetop i {
  font-size: 0.75em;
  margin-left: 1em;
}

footer {
  color: #fff;
  background-image: url(../images/footer-bgimg.jpg);
  background-size: cover;
  padding: 1em 0;
}
@media screen and (max-width: 767px) {
  footer > .__content-wrap {
    padding-top: 72px;
    padding-bottom: 100px;
  }
}
footer .footer-logo {
  width: 480px;
}
@media screen and (max-width: 1599px) {
  footer .footer-logo {
    width: 432px;
  }
}
@media screen and (max-width: 1199px) {
  footer .footer-logo {
    width: 360px;
  }
}
@media screen and (max-width: 767px) {
  footer .footer-logo {
    width: min(90vw, 312px);
  }
}
footer .footer-logo img {
  width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
}
footer .footer-info {
  margin-top: 2em;
}
@media screen and (max-width: 991px) {
  footer .footer-info {
    width: 100%;
    margin-top: 3em;
  }
}
footer .footer-info p a {
  display: inline;
}
footer .footer-info dl {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  footer .footer-info dl {
    margin-top: 2em;
  }
}
footer .footer-info dl dt {
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  footer .footer-info dl dt {
    margin-bottom: 0.6em;
  }
}
footer .footer-info dl dt::before {
  content: "⚫︎";
  margin-right: 0.3em;
}
footer .copyright {
  width: 100%;
  text-align: end;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  footer .copyright {
    padding-top: 90px;
  }
}
footer .copyright p {
  font-size: 12px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  footer .copyright p {
    font-size: 10px;
  }
}/*# sourceMappingURL=common.css.map */