@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville&family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@400;500&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: inherit;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

img {
  vertical-align: bottom;
  font-size: 0;
  line-height: 0;
}

*, *:before, *:after {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

input[type=button],
input[type=submit],
textarea {
  border-radius: 0;
  -webkit-appearance: none;
}

select {
  border-radius: 0;
}

a,
input,
label {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

:root {
  --color-white-00: #FFF;
  --color-white-100: #FFFEFD;
  --color-white-op15: rgba(255, 255, 255, 0.15);
  --color-white-op10: rgba(255, 255, 255, 0.1);
  --color-blue-120: #09253E;
  --color-blue-100: #40667B;
  --color-blue-op85: rgba(64, 102, 123, 0.85);
  --color-blue-op50: rgba(64, 102, 123, 0.5);
  --color-blue-op40: rgba(64, 102, 123, 0.4);
  --color-blue-op30: rgba(64, 102, 123, 0.3);
  --color-blue-op10: rgba(64, 102, 123, 0.1);
  --color-yellow-100: #F7C677;
  --color-cream-100: #F3EEE8;
  --color-cream-op50: rgba(243, 238, 232, 0.5);
  --color-gray-100: #DEDEDE;
  --color-gray-50: #F0F0F0;
  --color-red-100: #FF4E4E;
  --font-jp: "Noto Sans JP", sans-serif;
  --font-min: "Shippori Mincho", serif;
  --font-en: "Libre Baskerville", serif;
  --dur: 0.4s;
  --z-header: 1000;
  --z-loading: 2000;
}

@keyframes loopX {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  font-size: 1.6rem;
  background-color: var(--color-white-100);
  font-family: var(--font-jp);
  font-weight: 400;
  color: var(--color-blue-120);
  line-height: 1.8;
}
body img {
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  block-size: 100%;
}

@media screen and (max-width: 767px) {
  html .pc {
    display: none !important;
  }
  html .sp {
    display: block !important;
  }
  html * {
    -webkit-overflow-scrolling: touch;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
}
@media screen and (max-width: 1032px) {
  html .sp {
    display: none;
  }
}
@media screen and (min-width: 1033px) {
  html .sp {
    display: none !important;
  }
}
.c-container {
  max-inline-size: 1400px;
  padding-inline: 40px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .c-container {
    max-inline-size: 100%;
    padding-inline: 20px;
  }
}
.c-container.-xs {
  max-inline-size: 1000px;
  padding-inline: 20px;
}
.c-container.-s {
  max-inline-size: 1200px;
}

.c-grad {
  position: absolute;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(64, 102, 123, 0.3) 100%);
  bottom: 0;
  left: 0;
  inline-size: 100%;
  z-index: 2;
}
.c-grad.-top {
  top: 0;
  transform: rotate(180deg);
}

.c-title-jp {
  font-family: var(--font-min);
  font-weight: 500;
  font-size: 3.2rem;
  margin-block-end: 40px;
}
@media screen and (max-width: 767px) {
  .c-title-jp {
    font-size: 2.4rem;
    margin-block-end: 20px;
  }
}
.c-title-jp.-l {
  font-size: 4rem;
}
@media screen and (max-width: 1032px) {
  .c-title-jp.-l {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .c-title-jp.-l {
    font-size: 2.6rem;
  }
}
.c-title-jp.-daken {
  color: var(--color-white-00);
}
.c-title-jp.-center {
  text-align: center;
  margin-inline: auto;
}
.c-title-jp.-blue {
  color: var(--color-blue-100);
}
.c-title-en {
  font-size: 100px;
  font-family: var(--font-en);
  line-height: 1;
  display: block;
}
@media screen and (max-width: 1032px) {
  .c-title-en {
    font-size: 70px;
  }
}
@media screen and (max-width: 767px) {
  .c-title-en {
    font-size: 40px;
  }
}
.c-title-en.-l {
  font-size: 120px;
}
@media screen and (max-width: 1032px) {
  .c-title-en.-l {
    font-size: 60px;
  }
}
.c-title-en.-outline {
  -webkit-text-stroke: 1px var(--color-blue-op30);
  color: transparent;
}
.c-title-en.-outline.-daken {
  -webkit-text-stroke: 1px var(--color-white-00);
}
.c-title-en.-daken {
  color: var(--color-white-op10);
}
.c-title-en.-cream {
  color: var(--color-cream-op50);
}
.c-title-en.-center {
  text-align: center;
  margin-inline: auto;
}

.c-button-primary {
  inline-size: 200px;
  block-size: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: solid 1px var(--color-gray-100);
  transition: border-color var(--dur);
}
.c-button-primary .c-icon {
  transition: right var(--dur);
}
@media (any-hover: hover) {
  .c-button-primary:hover {
    border-color: var(--color-blue-120);
  }
  .c-button-primary:hover .c-icon {
    right: 15px;
  }
}
.c-button-primary.-l {
  inline-size: 447px;
  block-size: 80px;
  justify-content: flex-start;
  padding-inline-start: 20px;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media screen and (max-width: 767px) {
  .c-button-primary.-l {
    inline-size: 100%;
  }
}
.c-button-primary.-l .text {
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-button-primary.-l .text {
    font-size: 1.5rem;
  }
}
.c-button-primary.-center {
  margin-inline: auto;
}

.c-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.u-radius {
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .u-radius {
    border-radius: 3px;
  }
}

.u-yellow-border {
  font-family: var(--font-min);
  position: relative;
  padding-inline-start: 1.8em;
}
@media screen and (max-width: 767px) {
  .u-yellow-border {
    padding-inline-start: 1.5em;
  }
}
.u-yellow-border::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  inline-size: 1.2em;
  background-color: var(--color-yellow-100);
  block-size: 2px;
}
@media screen and (max-width: 767px) {
  .u-yellow-border::before {
    inline-size: 1em;
  }
}

.u-header-height {
  padding-block-start: 80px;
}
@media screen and (max-width: 767px) {
  .u-header-height {
    padding-block-start: 68px;
  }
}

.menu-trigger {
  position: relative;
  width: 30px;
  height: 30px;
  z-index: 3;
  border: none;
  background: none;
  cursor: pointer;
}
.menu-trigger span {
  width: 30px;
  height: 2px;
  position: absolute;
  transition: background-color calc(var(--dur) / 2);
  background-color: var(--color-blue-120);
  display: block;
  top: 5px;
  right: 0;
  transform: translateY(-50%);
}
.menu-trigger span:before {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  top: 10px;
  transform: rotate(0);
  transition: transform var(--dur);
  background-color: var(--color-blue-120);
  left: 0;
}
.menu-trigger span:after {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  top: 20px;
  transform: rotate(0);
  transition: transform var(--dur);
  background-color: var(--color-blue-120);
  left: 0;
}

.menu-show .l-header__nav {
  opacity: 1;
  background-color: var(--color-white-100);
  visibility: visible;
}
.menu-show .menu-trigger span {
  background: transparent;
}
.menu-show .menu-trigger span:before {
  transform: rotate(45deg);
}
.menu-show .menu-trigger span:after {
  transform: rotate(-45deg);
  top: 10px;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-header);
  inline-size: 100%;
  background-color: var(--color-white-100);
}
.l-header__inner {
  inline-size: calc(100% - 40px);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 10px;
}
.l-header__logo {
  inline-size: 116px;
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    inline-size: 90px;
  }
  .l-header__logo img {
    inline-size: 100%;
  }
}
.l-header__nav {
  display: flex;
  align-items: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
  transition: opacity var(--dur) ease, visibility var(--dur) ease, background-color var(--dur) ease;
}
@media screen and (max-width: 767px) {
  .l-header__nav {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-block-start: 100px;
    padding-inline: 20px;
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    overscroll-behavior: contain;
  }
  .l-header__nav .c-button-primary {
    inline-size: 90%;
    block-size: 70px;
    display: flex !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 374px) {
  .l-header__nav .c-button-primary {
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .l-header__nav .c-button-primary.form {
    background-color: var(--color-blue-100);
  }
  .l-header__nav .c-button-primary.form .text {
    color: var(--color-white-00);
  }
  .l-header__nav .c-button-primary .text {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 374px) {
  .l-header__nav .c-button-primary .c-icon {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-header__nav .name {
    margin-block-start: 40px;
  }
  .l-header__nav .name figure {
    display: flex;
    justify-content: center;
  }
  .l-header__nav .name p {
    font-size: 1.2rem;
    margin-block-start: 0.5em;
    font-weight: normal;
    font-family: var(--font-min);
  }
  .l-header__nav .copy {
    font-size: 1.1rem;
    color: var(--color-blue-op40);
    margin-block-start: 40px;
    font-family: var(--font-en);
  }
}
.l-header__nav a {
  font-size: 1.5rem;
  font-weight: 500;
  position: relative;
}
.l-header__nav a::after {
  content: "";
  display: block;
  block-size: 1px;
  background-color: var(--color-blue-120);
  inline-size: 0;
  transition: inline-size var(--dur);
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (any-hover: hover) {
  .l-header__nav a:hover::after {
    inline-size: 100%;
  }
}
.l-header__nav .contact-button {
  background-color: var(--color-yellow-100);
  color: var(--color-white-00);
  padding: 0.5em 1.5em;
  transition: background-color var(--dur);
}
@media (any-hover: hover) {
  .l-header__nav .contact-button:hover {
    background-color: var(--color-blue-100);
  }
}
.l-header__nav .contact-button:after {
  display: none;
}

.p-index_kv {
  block-size: 100svh;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1032px) {
  .p-index_kv {
    block-size: 70svh;
  }
}
@media screen and (max-width: 767px) {
  .p-index_kv {
    block-size: 100svh;
  }
}
.p-index_kv .c-grad {
  block-size: 50%;
}
@media screen and (max-width: 767px) {
  .p-index_kv .c-grad {
    display: none;
  }
}
.p-index_kv__inner {
  position: relative;
  block-size: 100%;
}
.p-index_kv__slider-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  block-size: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-index_kv__slider-wrap {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
}
.p-index_kv__slider-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-blue-op10);
  z-index: 1;
}
.p-index_kv__left, .p-index_kv__right {
  block-size: 100%;
}
.p-index_kv__left .swiper, .p-index_kv__right .swiper {
  block-size: 100%;
}
.p-index_kv__left .swiper-slide img, .p-index_kv__right .swiper-slide img {
  block-size: 100%;
  inline-size: 100%;
}
.p-index_kv__catch {
  color: var(--color-white-00);
  font-size: 5rem;
  position: absolute;
  left: 5%;
  bottom: 12%;
  z-index: 10;
  font-family: var(--font-min);
  font-weight: 400;
}
@media screen and (max-width: 1032px) {
  .p-index_kv__catch {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-index_kv__catch {
    font-size: 3rem;
    bottom: auto;
    top: 25vh;
  }
}

.p-index_concept {
  padding-block: 160px;
  position: relative;
}
@media screen and (max-width: 1032px) {
  .p-index_concept {
    padding-block-start: 100px;
    padding-block-end: 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-index_concept {
    padding-block: 80px;
    padding-block-end: 50px;
  }
}
.p-index_concept .c-grad {
  block-size: 50%;
  z-index: -1;
}
.p-index_concept__inner {
  display: grid;
  grid-template-columns: 570fr 633fr;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 190px;
       column-gap: 190px;
}
@media screen and (max-width: 1032px) {
  .p-index_concept__inner {
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-index_concept__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-index_concept__inner figure {
    block-size: 320px;
  }
}
.p-index_concept__inner figure img {
  inline-size: 100%;
}
.p-index_concept__text-area {
  position: relative;
}
.p-index_concept__text-area .c-title-jp {
  margin-block-end: 30px;
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-index_concept__text-area .c-title-jp {
    font-size: 2rem;
    margin-block-start: 40px;
  }
}
.p-index_concept__text-area .c-title-en {
  position: absolute;
  left: -17%;
  top: -22%;
}
@media screen and (max-width: 1032px) {
  .p-index_concept__text-area .c-title-en {
    top: -9%;
  }
}
@media screen and (max-width: 767px) {
  .p-index_concept__text-area .c-title-en {
    left: 0;
    top: 0;
  }
}
.p-index_concept__text-area .description {
  margin-block-end: 30px;
}
@media screen and (max-width: 767px) {
  .p-index_concept__text-area .c-button-primary {
    margin-inline: auto;
  }
}

.p-index_business {
  position: relative;
  padding-block: 120px 100px;
}
@media screen and (max-width: 1032px) {
  .p-index_business {
    padding-block: 80px 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-index_business {
    padding-block-start: 60px;
  }
}
.p-index_business .c-title-en {
  transform: translateY(30%);
  display: block;
}
.p-index_business__description {
  color: var(--color-white-100);
}
.p-index_business__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 70px;
  margin-block: 60px 70px;
}
@media screen and (max-width: 1032px) {
  .p-index_business__list {
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-index_business__list {
    grid-template-columns: minmax(0, 1fr);
    margin-block: 40px 50px;
  }
}
.p-index_business__list li h3 {
  margin-block: 40px 0.8em;
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .p-index_business__list li h3 {
    margin-block: 20px;
  }
}
.p-index_business__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  inline-size: 100%;
  block-size: 38%;
}
.p-index_business__bg img {
  inline-size: 100%;
}
@media screen and (max-width: 1032px) {
  .p-index_business__bg {
    block-size: 35%;
  }
  .p-index_business__bg img {
    block-size: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-index_business__bg {
    block-size: 23%;
  }
}
.p-index_business__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-blue-op85);
  z-index: 1;
}

.p-index_gallery {
  margin-block-end: 120px;
  overflow: hidden;
}
@media screen and (max-width: 1032px) {
  .p-index_gallery {
    margin-block-end: 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-index_gallery {
    margin-block-end: 60px;
  }
}
.p-index_gallery__inner {
  display: flex;
  align-items: center;
  -moz-column-gap: 60px;
       column-gap: 60px;
}
.p-index_gallery__inner figure {
  aspect-ratio: 3556/928;
  block-size: 464px;
  animation-duration: 60s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-name: loopX;
  animation-timing-function: linear;
}
@media screen and (max-width: 1032px) {
  .p-index_gallery__inner figure {
    block-size: 350px;
  }
}
@media screen and (max-width: 767px) {
  .p-index_gallery__inner figure {
    block-size: 250px;
  }
}
.p-index_gallery__inner figure img {
  inline-size: 100%;
  block-size: 100%;
}

.p-index_about .c-title-en {
  transform: translateY(30%);
}
.p-index_about table {
  inline-size: 100%;
  max-inline-size: 1000px;
}
.p-index_about table tr {
  border-block-end: solid 1px var(--color-gray-50);
  display: grid;
  grid-template-columns: 224px minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .p-index_about table tr {
    grid-template-columns: minmax(0, 1fr);
  }
}
.p-index_about table tr th,
.p-index_about table tr td {
  padding-block: 2em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-index_about table tr th,
  .p-index_about table tr td {
    padding-block: 1em;
  }
}
.p-index_about table tr th {
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-index_about table tr th {
    padding-block-end: 0;
  }
}

.c-lower_contact {
  aspect-ratio: 1600/600;
  position: relative;
  margin-block-start: 120px;
  display: grid;
  place-content: center;
}
@media screen and (max-width: 1032px) {
  .c-lower_contact {
    padding-block: 80px;
  }
}
@media screen and (max-width: 767px) {
  .c-lower_contact {
    padding-block: 60px;
    margin-block-start: 60px;
    display: block;
  }
}
.c-lower_contact .c-grad {
  block-size: 100%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(64, 102, 123, 0.7) 100%);
}
.c-lower_contact__inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 1032px) {
  .c-lower_contact__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
}
.c-lower_contact__text-area * {
  color: var(--color-white-00);
}
.c-lower_contact__text-area .description {
  margin-block-start: 30px;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-lower_contact__text-area .description {
    font-size: 1.6rem;
  }
}
.c-lower_contact__title {
  display: flex;
  -moz-column-gap: 1em;
       column-gap: 1em;
}
@media screen and (max-width: 767px) {
  .c-lower_contact__title {
    flex-direction: column;
    row-gap: 0.5em;
    justify-content: flex-start;
  }
}
.c-lower_contact__title .c-title-en {
  font-size: 8rem;
}
@media screen and (max-width: 767px) {
  .c-lower_contact__title .c-title-en {
    font-size: 4.2rem;
  }
}
.c-lower_contact__title h2 {
  margin-block-end: 0;
  align-self: flex-end;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .c-lower_contact__title h2 {
    align-self: flex-start;
  }
}
.c-lower_contact__buttons {
  justify-self: self-end;
  display: grid;
  row-gap: 30px;
}
@media screen and (max-width: 767px) {
  .c-lower_contact__buttons {
    inline-size: 100%;
  }
}
@media screen and (max-width: 767px) {
  .c-lower_contact__buttons a {
    inline-size: 100%;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1032px) {
  .c-lower_contact__buttons a {
    justify-self: self-start;
  }
}
@media (any-hover: hover) {
  .c-lower_contact__buttons a:hover .icon {
    transform: scale(1.08);
  }
  .c-lower_contact__buttons a:hover .text::after {
    inline-size: 100%;
  }
}
.c-lower_contact__buttons a.line {
  background-color: var(--color-white-00);
  --theme-color: var(--color-blue-120);
}
.c-lower_contact__buttons a.form {
  color: var(--color-white-00);
  background-color: var(--color-white-op15);
  --theme-color: var(--color-white-00);
}
.c-lower_contact__buttons a .icon {
  transition: transform var(--dur);
}
.c-lower_contact__buttons a .text {
  position: relative;
}
.c-lower_contact__buttons a .text::after {
  content: "";
  display: block;
  block-size: 1px;
  background-color: var(--theme-color);
  inline-size: 0;
  transition: inline-size var(--dur);
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 374px) {
  .c-lower_contact__buttons a .c-icon {
    display: none;
  }
}
.c-lower_contact__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.c-lower_contact__bg img {
  block-size: 100%;
  inline-size: 100%;
}
.c-lower_contact__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-blue-op40);
  z-index: 1;
}

.c-lower_kv__inner {
  padding-block: 100px 140px;
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 60px;
       column-gap: 60px;
}
@media screen and (max-width: 1032px) {
  .c-lower_kv__inner {
    padding-block: 80px 100px;
  }
}
@media screen and (max-width: 767px) {
  .c-lower_kv__inner {
    padding-block: 50px 80px;
    flex-direction: column;
    row-gap: 10px;
  }
}
.c-lower_kv__inner .c-title-jp {
  margin-block-start: -50px;
}
@media screen and (max-width: 1032px) {
  .c-lower_kv__inner .c-title-jp {
    margin-block-start: -30px;
  }
}
.c-lower_kv__inner figure {
  overflow: hidden;
  inline-size: 600px;
  block-size: 300px;
  aspect-ratio: 2/1;
}
@media screen and (max-width: 767px) {
  .c-lower_kv__inner figure {
    inline-size: 100%;
    block-size: auto;
  }
}
.c-lower_kv__inner figure img {
  inline-size: 100%;
  block-size: 100%;
}
@media screen and (max-width: 1032px) {
  .c-lower_kv__inner figure {
    block-size: 250px;
  }
}
@media screen and (max-width: 767px) {
  .c-lower_kv__inner figure {
    block-size: 200px;
  }
}

.p-business_business__anchor {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
@media screen and (max-width: 1032px) {
  .p-business_business__anchor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .p-business_business__anchor {
    grid-template-columns: minmax(0, 1fr);
  }
}
.p-business_business__anchor a {
  display: grid;
  place-items: center;
  padding: 1em;
  border: solid 1px var(--color-gray-100);
  font-weight: 500;
  font-size: 1.5rem;
  outline: solid 1px transparent;
  transition: border-color var(--dur), outline var(--dur);
}
@media (any-hover: hover) {
  .p-business_business__anchor a:hover {
    border-color: var(--color-blue-120);
    outline: solid 1px var(--color-blue-120);
  }
}
.p-business_business__list {
  margin-block-start: 100px;
  display: grid;
  row-gap: 120px;
  grid-template-columns: minmax(0, 200px) minmax(0, 1fr) minmax(0, 200px);
}
@media screen and (max-width: 1032px) {
  .p-business_business__list {
    grid-template-columns: minmax(0, 40px) minmax(0, 1fr) minmax(0, 40px);
  }
}
@media screen and (max-width: 767px) {
  .p-business_business__list {
    margin-block-start: 50px;
    display: block;
    padding-inline: 20px;
  }
}
.p-business_business__list li {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  -moz-column-gap: 90px;
       column-gap: 90px;
  grid-column: 1/3;
}
@media screen and (max-width: 1032px) {
  .p-business_business__list li {
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-business_business__list li {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 20px;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .p-business_business__list li:not(:last-child) {
    margin-block-end: 40px;
  }
}
.p-business_business__list li:nth-child(even) {
  grid-column: 2/4;
}
.p-business_business__list li:nth-child(even) figure {
  grid-column: 2/3;
  border-radius: 5px 0 0 5px;
}
@media screen and (max-width: 767px) {
  .p-business_business__list li:nth-child(even) figure {
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
.p-business_business__list li:nth-child(even) .text-area {
  grid-column: 1/2;
  grid-row: 1/2;
}
@media screen and (max-width: 767px) {
  .p-business_business__list li:nth-child(even) .text-area {
    grid-column: 1/3;
    grid-row: 2/3;
  }
}
.p-business_business__list li figure {
  border-radius: 0 5px 5px 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-business_business__list li figure {
    block-size: 200px;
    border-radius: 3px;
  }
}
.p-business_business__list li figure img {
  inline-size: 100%;
  block-size: 100%;
}
.p-business_business__list li h3 {
  margin-block-end: 20px;
  font-size: 2.6rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-business_business__list li h3 {
    font-size: 2rem;
  }
}
.p-business_business__list li .description {
  padding-block-end: 20px;
  margin-block-end: 20px;
  border-block-end: solid 1px var(--color-cream-100);
}
.p-business_business__list li .list {
  line-height: 2.2;
}

.p-career_wrapper {
  display: grid;
  row-gap: 160px;
}
@media screen and (max-width: 1032px) {
  .p-career_wrapper {
    row-gap: 100px;
  }
}
@media screen and (max-width: 767px) {
  .p-career_wrapper {
    row-gap: 80px;
  }
}
.p-career_body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  -moz-column-gap: 130px;
       column-gap: 130px;
  align-items: start;
}
@media screen and (max-width: 1032px) {
  .p-career_body {
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-career_body {
    grid-template-columns: minmax(0, 1fr);
  }
}
.p-career_body figure {
  position: sticky;
  top: 120px;
  block-size: 400px;
}
@media screen and (max-width: 1032px) {
  .p-career_body figure {
    inline-size: 220px;
    block-size: 300px;
  }
}
@media screen and (max-width: 767px) {
  .p-career_body figure {
    position: static;
    inline-size: 100%;
    block-size: 300px;
  }
  .p-career_body figure img {
    inline-size: 100%;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-career_body figure img {
    -o-object-position: center top;
       object-position: center top;
  }
}
.p-career_body__text-area {
  margin-block-start: 50px;
}
.p-career_body__text-area hgroup {
  display: flex;
  -moz-column-gap: 1.2em;
       column-gap: 1.2em;
  font-family: var(--font-min);
  align-items: flex-end;
  margin-block-end: 40px;
}
@media screen and (max-width: 767px) {
  .p-career_body__text-area hgroup {
    margin-block-end: 20px;
  }
}
.p-career_body__text-area hgroup h3 {
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 1032px) {
  .p-career_body__text-area hgroup h3 {
    font-size: 2.6rem;
  }
}
.p-career_body__text-area hgroup span {
  font-size: 1.2rem;
  color: var(--color-blue-op50);
}
.p-career_body__text-area table {
  inline-size: 100%;
}
.p-career_body__text-area table tr {
  display: grid;
  grid-template-columns: minmax(0, 155px) minmax(0, 1fr);
}
@media screen and (max-width: 1032px) {
  .p-career_body__text-area table tr {
    grid-template-columns: minmax(0, 120px) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-career_body__text-area table tr {
    grid-template-columns: minmax(0, 1fr);
  }
}
.p-career_body__text-area table tr:not(:last-child) {
  border-block-end: solid 1px var(--color-gray-50);
}
.p-career_body__text-area table tr th,
.p-career_body__text-area table tr td {
  padding-block: 30px;
}
.p-career_body__text-area table tr th {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-career_body__text-area table tr th {
    padding-block-end: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-career_body__text-area table tr td {
    padding-block-start: 0;
  }
}
.p-career_body__text-area .career-list {
  display: grid;
  row-gap: 10px;
  margin-block-start: 30px;
}
.p-career_body__text-area .career-list li {
  border: solid 1px var(--color-blue-op30);
  padding: 25px;
}
.p-career_body__text-area .career-list li h4 {
  padding-block-end: 20px;
  margin-block-end: 20px;
  border-block-end: 1px solid var(--color-blue-op30);
  font-weight: 500;
}

.p-contact_form__head {
  background-color: var(--color-blue-op10);
  padding-block: 60px;
}
@media screen and (max-width: 1032px) {
  .p-contact_form__head {
    margin-inline: 20px;
  }
}
.p-contact_form__head * {
  text-align: center;
}
.p-contact_form__head h3 {
  font-size: 2rem;
  font-weight: 500;
  margin-block-end: 10px;
}
.p-contact_form__wrap {
  max-inline-size: 700px;
  margin-inline: auto;
  margin-block-start: 60px;
  padding-inline: 40px;
}
@media screen and (max-width: 767px) {
  .p-contact_form__wrap {
    padding-inline: 20px;
  }
}
.p-contact_form__wrap form .-required {
  color: var(--color-white-00);
  font-size: 1.1rem;
  background-color: var(--color-red-100);
  line-height: 1;
  padding: 0.4em 0.8em;
  border-radius: calc(infinity * 1px);
  font-weight: 500;
}
.p-contact_form__wrap form .-optional {
  color: var(--color-white-00);
  font-size: 1.1rem;
  background-color: var(--color-blue-120);
  line-height: 1;
  padding: 0.4em 0.8em;
  border-radius: calc(infinity * 1px);
  font-weight: 500;
}
.p-contact_form__wrap form table tr {
  display: grid;
  grid-template-columns: minmax(0, 250px) minmax(0, 1fr);
  -moz-column-gap: 2em;
       column-gap: 2em;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-contact_form__wrap form table tr {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 10px;
  }
}
.p-contact_form__wrap form table tr:not(:last-child) {
  padding-block-end: 30px;
}
.p-contact_form__wrap form table tr th {
  text-align: left;
  display: flex;
  align-items: center;
  -moz-column-gap: 1em;
       column-gap: 1em;
}
.p-contact_form__wrap form table tr td input,
.p-contact_form__wrap form table tr td textarea {
  padding: 1em 0.5em;
}
@media screen and (max-width: 767px) {
  .p-contact_form__wrap form table tr td .w-100 {
    inline-size: 100%;
  }
}
.p-contact_form__wrap form table tr td.address {
  display: grid;
  row-gap: 10px;
}
.p-contact_form__wrap form .form__privacy {
  margin-block-start: 40px;
  font-size: 1.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
}
@media screen and (max-width: 767px) {
  .p-contact_form__wrap form .form__privacy {
    flex-direction: column-reverse;
    row-gap: 10px;
  }
}
.p-contact_form__wrap form .form__privacy a {
  text-decoration: underline;
}
.p-contact_form__wrap form .form__btn {
  display: flex;
  justify-content: center;
  margin-block-start: 60px;
}
.p-contact_form__wrap form .form__btn input {
  background-color: var(--color-yellow-100);
  font-size: 1.8rem;
  color: var(--color-white-00);
  border: none;
  border-radius: 3px;
  font-weight: 500;
  transition: background-color var(--dur);
  cursor: pointer;
}
@media (any-hover: hover) {
  .p-contact_form__wrap form .form__btn input:hover {
    background-color: var(--color-blue-100);
  }
}

.p-thanks_section {
  padding-inline: 20px;
}
.p-thanks_section__inner {
  max-inline-size: 900px;
  margin-inline: auto;
  padding-block: 140px 60px;
}
@media screen and (max-width: 1032px) {
  .p-thanks_section__inner {
    padding-block: 80px 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-thanks_section__inner {
    padding-block-start: 60px;
  }
}
.p-thanks_section__inner h2 {
  text-align: center;
  font-size: 3rem;
  font-family: var(--font-min);
  margin-block-end: 40px;
  border-block-end: solid 1px var(--color-blue-op30);
  padding-block-end: 30px;
  font-weight: 400;
}
@media screen and (max-width: 1032px) {
  .p-thanks_section__inner h2 {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-thanks_section__inner h2 {
    font-size: 2rem;
  }
}
.p-thanks_section__inner .description {
  text-align: center;
  margin-block-end: 60px;
}
.p-thanks_section__inner .description .caution {
  margin-block-start: 20px;
  display: block;
}

.p-privacy_kv .c-title-en {
  font-size: 90px;
}
@media screen and (max-width: 1032px) {
  .p-privacy_kv .c-title-en {
    font-size: 60px;
  }
}
.p-privacy_privacy__inner {
  display: grid;
  row-gap: 100px;
}
@media screen and (max-width: 767px) {
  .p-privacy_privacy__inner {
    row-gap: 80px;
  }
}
.p-privacy_privacy__lead-block {
  margin-block-end: 40px;
}
.p-privacy_privacy__lead-block .title {
  font-size: 2.4rem;
  border-block-end: solid 1px var(--color-blue-op30);
  padding-block-end: 20px;
  margin-block-end: 20px;
  font-weight: 500;
  font-family: var(--font-min);
  text-align: center;
}
.p-privacy_privacy__block:not(:first-child) {
  margin-block-start: 30px;
}
.p-privacy_privacy__block h4 {
  font-weight: 500;
  font-size: 1.8rem;
  margin-block-end: 10px;
}

.l-footer {
  padding-block: 130px 50px;
}
@media screen and (max-width: 1032px) {
  .l-footer {
    padding-block: 80px 30px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-block-start: 60px;
  }
}
.l-footer__inner {
  display: grid;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .l-footer__inner {
    padding-inline: 20px;
  }
}
.l-footer__nav {
  display: flex;
  -moz-column-gap: 2em;
       column-gap: 2em;
  margin-block-end: 60px;
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    flex-direction: column;
    row-gap: 1em;
    margin-block-end: 30px;
    align-items: center;
  }
}
.l-footer__nav li a {
  font-weight: 500;
  position: relative;
}
@media (any-hover: hover) {
  .l-footer__nav li a:hover::after {
    inline-size: 100%;
  }
}
.l-footer__nav li a::after {
  content: "";
  display: block;
  block-size: 1px;
  background-color: var(--color-blue-120);
  inline-size: 0;
  transition: inline-size var(--dur);
  position: absolute;
  bottom: -3px;
  left: 0;
}
.l-footer__middle {
  display: grid;
  place-items: center;
  row-gap: 10px;
  margin-block-end: 50px;
}
.l-footer__logo {
  inline-size: 142px;
}
.l-footer__logo img {
  inline-size: 100%;
}
.l-footer__name {
  font-size: 1.4rem;
  font-weight: normal;
  font-family: var(--font-min);
}
@media screen and (max-width: 767px) {
  .l-footer__name {
    font-size: 1.3rem;
  }
}
.l-footer__catch {
  font-size: 32px;
  color: var(--color-blue-100);
  font-family: var(--font-min);
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .l-footer__catch {
    font-size: 20px;
  }
}
.l-footer small {
  color: var(--color-blue-op40);
  font-family: var(--font-en);
  font-size: 1.1rem;
  margin-block-start: 100px;
}
@media screen and (max-width: 767px) {
  .l-footer small {
    margin-block-start: 60px;
  }
}

.js-target.-base {
  opacity: 0;
  translate: 0 10%;
  transition: opacity var(--dur) ease, translate calc(var(--dur) * 1.5) ease;
}
.js-target.-base.is-active {
  opacity: 1;
  translate: 0;
}

.c-anim_opacity {
  opacity: 0;
  filter: blur(5px);
  transition: opacity calc(var(--dur) * 1.5) ease, filter calc(var(--dur) * 2) ease;
}
.c-anim_opacity.is-active {
  opacity: 1;
  filter: blur(0);
}

.c-anim_list > * {
  opacity: 0;
  translate: 0 5%;
  transition: opacity var(--dur) ease, translate calc(var(--dur) * 1.5) ease;
}
.c-anim_list > *:nth-child(1) {
  transition-delay: calc(0 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(2) {
  transition-delay: calc(1 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(3) {
  transition-delay: calc(2 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(4) {
  transition-delay: calc(3 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(5) {
  transition-delay: calc(4 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(6) {
  transition-delay: calc(5 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(7) {
  transition-delay: calc(6 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(8) {
  transition-delay: calc(7 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(9) {
  transition-delay: calc(8 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(10) {
  transition-delay: calc(9 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(11) {
  transition-delay: calc(10 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(12) {
  transition-delay: calc(11 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(13) {
  transition-delay: calc(12 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(14) {
  transition-delay: calc(13 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(15) {
  transition-delay: calc(14 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(16) {
  transition-delay: calc(15 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(17) {
  transition-delay: calc(16 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(18) {
  transition-delay: calc(17 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(19) {
  transition-delay: calc(18 * var(--dur) / 2);
}
.c-anim_list > *:nth-child(20) {
  transition-delay: calc(19 * var(--dur) / 2);
}
.c-anim_list.is-active > * {
  scale: 1;
  opacity: 1;
  translate: 0;
}

.c-anim_img-blur {
  overflow: hidden;
  opacity: 0;
  filter: blur(5px);
  transition: opacity calc(var(--dur) * 1.5) ease, filter calc(var(--dur) * 4) ease;
}
.c-anim_img-blur img {
  scale: 1.1;
  transition: scale calc(var(--dur) * 6) ease;
}
.c-anim_img-blur.is-active {
  opacity: 1;
  filter: blur(0);
}
.c-anim_img-blur.is-active img {
  scale: 1;
}/*# sourceMappingURL=style.css.map */