@charset "UTF-8";
figure {
  margin: 0;
}

body {
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  -webkit-font-smoothing: antialiased;
}

:root {
  --margin-component: 1em;
  --margin-layout: clamp(80px, calc(80vw*100/375), 160px);
  --padding-overall: max(calc(32vw*100/375), 32px);
  --padding-vertical: 80px;
  --width-overall: 1230px;
  --width-menu: 300px;
  --width-rmenu: 250px;
  --width-entry: 1000px;
  --width-header-col2: 250px;
  --width-header-col2_topmenu-child: 250px;
  --width-sub: 1400px;
}

@media (min-width: 1025px) {
  :root {
    --padding-vertical: min(calc(160vw*100/1440), 160px);
  }
}
#wrap {
  opacity: 0;
  visibility: hidden;
}
#wrap::before {
  background-color: rgba(10, 27, 57, 0.48);
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: 0.3s ease;
  pointer-events: none;
  z-index: 2;
}

[data-loading=loaded] #wrap {
  opacity: 1;
  visibility: visible;
}

#wrap:has(.topmenu_ul .haschild:hover)::before {
  opacity: 1;
}

[data-column=col1][data-main=wide] #main section {
  padding: var(--padding-vertical) var(--padding-overall);
  margin-top: 0;
  margin-bottom: 0;
}

[data-column=col1][data-main=wide][data-page=entry] #main section {
  padding-top: 56px;
}

#main-header > * {
  margin-top: 32px;
}

@media (min-width: 1025px) {
  #main-header > * {
    margin-top: 56px;
  }
}
section {
  position: relative;
}

.l-section {
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.l-section__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.l-section__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.l-section__body {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.l-section__lead {
  color: var(--clr-main);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
}

.l-section__text > p + p {
  margin-top: 1em;
}

@media (min-width: 1025px) {
  .l-section__inner {
    gap: 88px;
  }
  .l-section__content {
    gap: 40px;
  }
  .l-section__lead {
    font-size: 4rem;
  }
}
#logo-wrap {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 0 0 0 16px;
  height: 66px;
  position: relative;
  z-index: 100;
}

#logo {
  margin: auto 0;
}
#logo img {
  max-width: 419px;
}

#spmenu-btn {
  background-color: var(--clr-main);
  width: 72px;
  height: 66px;
}
#spmenu-btn::before, #spmenu-btn::after,
#spmenu-btn span::before {
  border-bottom-color: #fff;
}

#spmenu {
  padding-top: 98px;
  padding-left: 32px;
  padding-right: 32px;
}

#header-wrap,
#header-menu {
  gap: 40px;
}

#topmenu {
  font-weight: 700;
  line-height: 1.5;
}

.topmenu_ul .haschild > span::after {
  background-color: var(--clr-main);
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%20fill%3D%22none%22%20viewBox%3D%220%200%2017%2010%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.75%22%20d%3D%22m15.619.619-7.5%207.5-7.5-7.5%22%2F%3E%3C%2Fsvg%3E") no-repeat center/17px auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%20fill%3D%22none%22%20viewBox%3D%220%200%2017%2010%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.75%22%20d%3D%22m15.619.619-7.5%207.5-7.5-7.5%22%2F%3E%3C%2Fsvg%3E") no-repeat center/17px auto;
}

@media (max-width: 1024px) {
  #logo img {
    max-height: 40px;
  }
  html[data-spmenu=true] #logo-wrap {
    box-shadow: 0 1px 0 var(--clr-border);
  }
  #topmenu {
    font-size: 1.8rem;
  }
  #topmenu .topmenu_ul > li {
    border-bottom-width: 1px;
  }
  #topmenu .haschild.show .child {
    padding-top: 8px;
    padding-bottom: 32px;
    opacity: 1;
  }
  #topmenu .child {
    padding-left: 16px;
  }
  #topmenu .child a {
    font-size: 1.6rem;
  }
  .topmenu_ul .haschild > span::after {
    width: 32px;
  }
}
@media (min-width: 1025px) {
  #logo {
    height: 104px;
  }
  #logo.logo-horizon img {
    width: 100%;
    max-height: none;
  }
  #header {
    position: relative;
    z-index: 2;
  }
  [data-header]:not([data-header=fixed]) #logo.logo-horizon {
    align-self: center;
  }
  [data-header=""] #header-menu,
  [data-header=row2] #header-menu,
  [data-header=row2-lead] #header-menu,
  [data-header=row2-center] #header-menu,
  [data-header=fixed] #header-menu {
    flex-shrink: 0;
  }
  [data-header=""] #topmenu,
  [data-header=row2] #topmenu,
  [data-header=row2-lead] #topmenu,
  [data-header=row2-center] #topmenu,
  [data-header=fixed] #topmenu {
    align-items: normal;
  }
  [data-header=""] #header .container,
  [data-header=row2] #header .container,
  [data-header=row2-lead] #header .container,
  [data-header=row2-center] #header .container,
  [data-header=fixed] #header .container {
    gap: 0 min(2.7777777778vw, 40px);
    padding-left: min(2.7777777778vw, 40px);
    padding-right: 0;
    align-items: normal;
    flex-wrap: nowrap;
  }
  [data-header=""] .topmenu_ul,
  [data-header=row2] .topmenu_ul,
  [data-header=row2-lead] .topmenu_ul,
  [data-header=row2-center] .topmenu_ul,
  [data-header=fixed] .topmenu_ul {
    flex-wrap: nowrap;
  }
  [data-header=""] #space7,
  [data-header=row2] #space7,
  [data-header=row2-lead] #space7,
  [data-header=row2-center] #space7,
  [data-header=fixed] #space7 {
    flex-shrink: 0;
  }
  #topmenu {
    font-size: 1.6rem;
  }
  #topmenu .topmenu_ul > li {
    border-bottom-width: 0;
  }
  #topmenu .topmenu_ul > li:last-child {
    margin-right: 0;
  }
  .topmenu_ul .haschild {
    position: static;
  }
  [data-header=""] .topmenu_ul > li:not(:last-child),
  [data-header=row2] .topmenu_ul > li:not(:last-child),
  [data-header=row2-lead] .topmenu_ul > li:not(:last-child),
  [data-header=row2-center] .topmenu_ul > li:not(:last-child),
  [data-header=fixed] .topmenu_ul > li:not(:last-child) {
    margin-right: 2.7777777778vw;
  }
  [data-header=""] .topmenu_ul .haschild:hover > ul, [data-header=""] .topmenu_ul .haschild.show:hover > ul,
  [data-header=row2] .topmenu_ul .haschild:hover > ul,
  [data-header=row2] .topmenu_ul .haschild.show:hover > ul,
  [data-header=row2-lead] .topmenu_ul .haschild:hover > ul,
  [data-header=row2-lead] .topmenu_ul .haschild.show:hover > ul,
  [data-header=row2-center] .topmenu_ul .haschild:hover > ul,
  [data-header=row2-center] .topmenu_ul .haschild.show:hover > ul,
  [data-header=fixed] .topmenu_ul .haschild:hover > ul,
  [data-header=fixed] .topmenu_ul .haschild.show:hover > ul {
    top: 0;
  }
  [data-header=""] .topmenu_ul .haschild:hover > .child, [data-header=""] .topmenu_ul .haschild.show:hover > .child,
  [data-header=row2] .topmenu_ul .haschild:hover > .child,
  [data-header=row2] .topmenu_ul .haschild.show:hover > .child,
  [data-header=row2-lead] .topmenu_ul .haschild:hover > .child,
  [data-header=row2-lead] .topmenu_ul .haschild.show:hover > .child,
  [data-header=row2-center] .topmenu_ul .haschild:hover > .child,
  [data-header=row2-center] .topmenu_ul .haschild.show:hover > .child,
  [data-header=fixed] .topmenu_ul .haschild:hover > .child,
  [data-header=fixed] .topmenu_ul .haschild.show:hover > .child {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transition: 0.3s ease;
    top: 104px;
  }
  [data-header=""] .topmenu_ul .haschild:hover > span::after,
  [data-header=row2] .topmenu_ul .haschild:hover > span::after,
  [data-header=row2-lead] .topmenu_ul .haschild:hover > span::after,
  [data-header=row2-center] .topmenu_ul .haschild:hover > span::after,
  [data-header=fixed] .topmenu_ul .haschild:hover > span::after {
    opacity: 0.5;
  }
  [data-header=""] .topmenu_ul .haschild > span::after,
  [data-header=row2] .topmenu_ul .haschild > span::after,
  [data-header=row2-lead] .topmenu_ul .haschild > span::after,
  [data-header=row2-center] .topmenu_ul .haschild > span::after,
  [data-header=fixed] .topmenu_ul .haschild > span::after {
    background-color: var(--clr-header-fixed-txt, var(--clr-main));
    -webkit-mask-size: 13px auto;
    mask-size: 13px auto;
    width: 13px;
    transition: opacity 0.2s;
  }
  [data-header=""] .topmenu_ul .child,
  [data-header=row2] .topmenu_ul .child,
  [data-header=row2-lead] .topmenu_ul .child,
  [data-header=row2-center] .topmenu_ul .child,
  [data-header=fixed] .topmenu_ul .child {
    box-shadow: 0 -1px 0 var(--clr-border);
    padding: 48px;
    top: 104px;
    left: 0;
    min-width: auto;
    width: 100vw;
    display: flex;
    justify-content: center;
    gap: 5.5555555556vw;
  }
  [data-header=""] .topmenu_ul .child a,
  [data-header=row2] .topmenu_ul .child a,
  [data-header=row2-lead] .topmenu_ul .child a,
  [data-header=row2-center] .topmenu_ul .child a,
  [data-header=fixed] .topmenu_ul .child a {
    padding: 0;
    text-align: left;
  }
}
@media (max-width: 1024px) {
  :not(html[data-spmenu=true]) [data-header=fixed]:not([data-headerimg-img-sp=false]) #header:not(.fix) #logo img {
    display: none;
  }
}
@media (max-width: 1024px) {
  :not(html[data-spmenu=true]) [data-header=fixed]:not([data-headerimg-img-sp=false]) #header:not(.fix) #logo a::before {
    background-image: url(img/logo_w.png);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    aspect-ratio: 812/112;
    width: 100%;
    height: 100%;
    max-height: 56px;
  }
}
@media (min-width: 1025px) {
  :not(html[data-spmenu=true]) [data-header=fixed]:not([data-headerimg-img=false]) #header:not(.fix) #logo img {
    display: none;
  }
}
@media (min-width: 1025px) {
  :not(html[data-spmenu=true]) [data-header=fixed]:not([data-headerimg-img=false]) #header:not(.fix) #logo a::before {
    background-image: url(img/logo_w.png);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    aspect-ratio: 812/112;
    width: 100%;
    height: 100%;
    max-height: 56px;
  }
}
@media (min-width: 1025px) {
  [data-header=fixed]:not([data-headerimg-img=false]) #header {
    z-index: 2;
  }
}
#main {
  position: relative;
}

#footer .inner {
  padding: 80px max(6.4vw, 24px);
  gap: 64px;
  max-width: var(--width-sub);
}

#footer-menu {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 1.8rem;
  font-weight: 500;
  order: -1;
  padding-bottom: 64px;
}

.footer-menu_ul {
  display: block;
  column-count: 2;
  column-gap: 40px;
}
.footer-menu_ul > li {
  margin-bottom: 64px;
  break-inside: avoid;
}
.footer-menu_ul .child li {
  margin: 20px 0;
}
.footer-menu_ul .child li a {
  font-size: 1.4rem;
}

.l-footer__bottom {
  display: flex;
  flex-direction: column;
  gap: 64px;
}

.l-footer__company {
  display: flex;
  flex-direction: column;
  gap: 40px;
  font-style: normal;
}

.l-footer__logo-mark {
  max-width: 327px;
  width: 100%;
}

.l-footer__offices {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.l-footer__office {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.l-footer__office-name {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}

.l-footer__office-address {
  font-size: 1.3rem;
  line-height: 1.5;
}

.l-footer__policy {
  color: inherit;
  text-decoration: none;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1;
}

#copy {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  text-align: left;
}

@media (min-width: 1025px) {
  #footer .inner {
    padding: 180px var(--padding-overall) 240px;
    gap: 80px;
  }
  #footer-menu {
    padding-bottom: 80px;
  }
  .footer-menu_ul {
    column-count: 5;
    column-gap: clamp(64px, 6.243902439vw, 160px);
    width: fit-content;
  }
  .footer-menu_ul > li {
    margin-bottom: 48px;
  }
  .footer-menu_ul > li:nth-child(4) {
    margin-bottom: 100%;
  }
  .footer-menu_ul > li:nth-child(6) {
    margin-bottom: 200%;
  }
  .l-footer__bottom {
    gap: 80px;
  }
  .l-footer__company {
    flex-direction: row;
    justify-content: space-between;
    gap: min(5.5555555556vw, 80px);
  }
  .l-footer__logo-mark {
    max-width: 419px;
  }
  .l-footer__offices {
    flex-direction: row;
    gap: clamp(40px, 2.7777777778vw, 80px);
  }
  .l-footer__policy {
    align-self: flex-end;
  }
  #copy {
    margin-top: -80px;
    transform: translateY(-100%);
    width: fit-content;
  }
}
@media (hover: hover) {
  .l-footer__policy:hover {
    text-decoration: underline;
  }
}
@media (min-width: 1440px) {
  [data-page=top] .headerimg-img img {
    height: 86vh;
    min-height: 800px;
  }
}
[data-page=category] .headerimg-img {
  display: none;
}

[data-page=entry] .headerimg-img {
  display: none;
}

@media (min-width: 1025px) {
  [data-page=entry] #main-header {
    display: flex;
    flex-direction: column;
  }
  [data-page=entry] #main-header #headerimg {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: var(--width-entry);
  }
  [data-page=entry] #main-header #siteNavi {
    order: -1;
  }
}
[data-page=pages] {
  --width-entry: 1200px;
}

@media screen and (max-width: 1024px) {
  .pc-only {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .sp-only {
    display: none;
  }
}
@media screen and (min-width: 481px) {
  .headerimg-title .sp-only {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .sp-only-center {
    text-align: center;
  }
}
@media screen and (min-width: 1025px) {
  .pc-only-center {
    text-align: center;
  }
}
.is-hidden {
  display: none !important;
}

.c-border-radius {
  border-radius: 6px;
  overflow: hidden;
}

@media (min-width: 1025px) {
  .c-border-radius {
    border-radius: 8px;
  }
}
[data-page=top][data-headerimg-type=header]:not([data-headerimg-img-sp=false]):not([data-headerimg-title-sp=under]) .headerimg-title {
  font-weight: 700;
  letter-spacing: 0.2em;
  display: flex;
  flex-direction: column;
}

.p-hero__title-en {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.06em;
  display: block;
}

@media (max-width: 480px) {
  [data-page=top][data-headerimg-type=header]:not([data-headerimg-img-sp=false]):not([data-headerimg-title-sp=under]) .headerimg-title {
    font-size: 9.6vw;
    line-height: 1.4;
    gap: 2.1333333333vw;
  }
  [data-page=top][data-headerimg-type=header][data-headerimg-img-sp=true]:not([data-headerimg-title-sp=under]) .headerimg-inner {
    justify-content: flex-end;
    padding: 6.4vw;
  }
  [data-page=top] .p-hero__title-en {
    font-size: 3.7333333333vw;
  }
}
@media (min-width: 481px) {
  [data-page=top][data-headerimg-title=left][data-headerimg-type=header] .headerimg-txt {
    width: auto;
  }
  [data-page=top][data-headerimg-type=header]:not([data-headerimg-img-sp=false]):not([data-headerimg-title-sp=under]) .headerimg-title {
    font-size: 4.1666666667vw;
    line-height: 1.5;
    gap: 1.1111111111vw;
  }
  [data-page=top][data-headerimg-type=header][data-headerimg-img-sp=true]:not([data-headerimg-title-sp=under]) .headerimg-inner {
    padding: 3.8888888889vw;
    justify-content: flex-end;
    align-items: flex-start;
  }
  [data-page=top] .p-hero__title-en {
    font-size: 2.2222222222vw;
  }
  [data-page=top] .pc-only {
    display: none;
  }
}
@media (min-width: 1025px) {
  [data-page=top][data-headerimg-type=header][data-headerimg-img-sp=true]:not([data-headerimg-title-sp=under]) .headerimg-inner {
    align-items: flex-end;
  }
}
@media (min-width: 1440px) {
  [data-page=top][data-headerimg-type=header]:not([data-headerimg-img-sp=false]):not([data-headerimg-title-sp=under]) .headerimg-title {
    font-size: min(4.1666666667vw, 80px);
  }
  [data-page=top] .p-hero__title-en {
    font-size: min(2.2222222222vw, 42px);
  }
}
.headerimg-txt {
  gap: 16px;
}

.headerimg-subtitle {
  color: var(--clr-main);
  font-family: "Montserrat", sans-serif;
  font-size: 5rem;
  font-weight: 500;
  line-height: 1;
  text-transform: capitalize;
}

.headerimg-title {
  font-size: 1.6rem;
  line-height: 1;
}

@media (min-width: 1025px) {
  .headerimg-subtitle {
    font-size: min(6.1111111111vw, 8.8rem);
  }
  .headerimg-title {
    font-size: 2.4rem;
  }
}
[data-page=entry] #headerimg .headerimg-txt .date {
  color: #333;
  position: relative;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
}
[data-page=entry] #headerimg .headerimg-txt .date::before {
  content: "";
  position: absolute;
  top: 0.2142857143em;
  left: -16px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--clr-accent);
}
[data-page=entry] .headerimg-title {
  color: var(--clr-main);
  font-size: 2.6rem;
  line-height: 1.5;
}

@media (min-width: 1025px) {
  [data-main-header=header] .headerimg-txt {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
#headerimg {
  gap: 32px;
}

[data-page=pages][data-headerimg-type=""] #headerimg {
  margin-left: calc(var(--padding-overall) * -1);
  margin-right: calc(var(--padding-overall) * -1);
}
[data-page=pages][data-headerimg-type=""] .headerimg-img {
  order: 1;
}
[data-page=pages][data-headerimg-type=""] .headerimg-img .img-header {
  height: var(--h-hdr-sp, 140%);
}
[data-page=pages][data-headerimg-type=""] .headerimg-img.is-none {
  display: none;
}
[data-page=pages][data-headerimg-type=""] .headerimg-img img {
  aspect-ratio: 375/260;
}
[data-page=pages][data-headerimg-type=""] .headerimg-txt {
  padding-left: clamp(32px, 8.5333333333vw, 96px);
  padding-right: clamp(32px, 8.5333333333vw, 96px);
}
[data-page=pages][data-headerimg-type=""] #header-view {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
[data-page=pages][data-headerimg-type=""] #header-view img {
  height: 140% !important;
}

@media (min-width: 1025px) {
  #headerimg {
    gap: 80px;
  }
  :is([data-page=pages], [data-page=category])[data-headerimg-type=""] .headerimg-img img {
    aspect-ratio: 1440/540;
  }
  :is([data-page=pages], [data-page=category])[data-headerimg-type=""] .headerimg-txt {
    grid-template-columns: 1fr auto;
  }
  :is([data-page=pages], [data-page=category])[data-headerimg-type=""] .headerimg-subtitle {
    grid-row: 1;
    grid-column: 1;
  }
  :is([data-page=pages], [data-page=category])[data-headerimg-type=""] .headerimg-title {
    grid-row: 2;
    grid-column: 1;
  }
  :is([data-page=pages], [data-page=category])[data-headerimg-type=""] .headerimg-txt #siteNavi {
    grid-row: 2;
    grid-column: 2;
    align-self: end;
  }
}
h2 {
  overflow: visible;
  margin-bottom: 40px;
}

[data-column=col1][data-main=wide] h2:not([class*=topic]) {
  text-align: left;
  margin-bottom: clamp(40px, 10.6666666667vw, 88px);
}

[data-column=col1][data-main=wide][data-page=entry] h2:not([class*=topic]) {
  border-bottom: 1px solid var(--clr-border);
  font-size: clamp(2.4rem, 6.4vw, 2.8rem);
  padding-bottom: 0.85715em;
  text-align: left;
  margin-bottom: 1.5em;
}

[data-page=entry] h3:not([class*=topic]) {
  border-left: 2px solid var(--clr-accent);
  font-size: clamp(2rem, 5.3333333333vw, 2.4rem);
  padding-left: 0.6em;
  padding-bottom: 0;
}
[data-page=entry] h4:not([class*=topic]) {
  font-size: clamp(1.8rem, 4.8vw, 2.2rem);
}
.blogarea {
  margin: 0 auto;
  max-width: var(--width-entry);
  width: 100%;
}
.blogarea .title {
  display: none;
}

.bloglist {
  gap: 32px;
}

.blog {
  border-bottom: 1px solid var(--clr-border);
  padding: 32px 0;
}
.blog:first-child {
  border-top: 1px solid var(--clr-border);
}

@media (min-width: 1025px) {
  .blog {
    padding-bottom: 32px;
  }
  .blog:not(:first-child) {
    padding-top: 32px;
  }
}
.blog-thumb {
  display: none;
}

.blog-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

@media (min-width: 1025px) {
  .blog-body {
    flex-direction: row;
    align-items: center;
    gap: 32px;
  }
}
.blog-info {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.blog-info .date {
  order: -1;
}
.blog-info .cat {
  display: none;
}

@media (min-width: 1025px) {
  .blog-info {
    gap: 32px;
  }
}
.blog-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  line-height: 1.5;
}
.blog-title a {
  color: #333;
}
.blog-title a:hover {
  text-decoration: none;
}

@media (min-width: 1025px) {
  .blog .blog-title {
    -webkit-line-clamp: 1;
  }
}
.blog-desc {
  display: none;
}

.blog-more {
  display: none;
}

.date {
  color: var(--clr-main);
  font-family: "Montserrat", sans-serif;
  font-size: 1.4rem;
  line-height: 1;
  opacity: 1;
  position: relative;
  flex-shrink: 0;
}

#pagetop {
  display: none;
}

#pagetop {
  bottom: 0;
  right: 0;
}
#pagetop a {
  border-radius: 0;
  width: 56px;
  height: 56px;
}
#pagetop a::before {
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213%22%20height%3D%2214%22%20fill%3D%22none%22%20viewBox%3D%220%200%2013%2014%22%3E%3Cpath%20stroke%3D%22%23fff%22%20stroke-width%3D%221.4%22%20d%3D%22m.495%206.99%206-6%206%206M6.495%201.99v12%22%2F%3E%3C%2Fsvg%3E") no-repeat center/17px auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213%22%20height%3D%2214%22%20fill%3D%22none%22%20viewBox%3D%220%200%2013%2014%22%3E%3Cpath%20stroke%3D%22%23fff%22%20stroke-width%3D%221.4%22%20d%3D%22m.495%206.99%206-6%206%206M6.495%201.99v12%22%2F%3E%3C%2Fsvg%3E") no-repeat center/17px auto;
}

#siteNavi {
  display: none;
}

@media (min-width: 1025px) {
  #siteNavi {
    display: block;
    background-color: transparent;
    padding: 0;
  }
  #siteNavi ul {
    color: inherit;
    font-size: 1.2rem;
    margin: 0;
    padding: 0;
    max-width: none;
  }
  #siteNavi ul li:not(:last-child)::after {
    background-color: #333;
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227%22%20height%3D%2211%22%20fill%3D%22none%22%20viewBox%3D%220%200%207%2011%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22m.866%2010.893-.866-.5L6%200l.866.5z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/7px auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227%22%20height%3D%2211%22%20fill%3D%22none%22%20viewBox%3D%220%200%207%2011%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22m.866%2010.893-.866-.5L6%200l.866.5z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/7px auto;
    margin: 0 24px;
  }
  #main-header > #siteNavi {
    display: flex;
    justify-content: flex-end;
    padding: 0 0 24px;
  }
}
#pagelist {
  margin-top: -40px;
}

.pagelist_ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  line-height: 1;
}

.pnav:not(.prev):not(.next) {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Montserrat", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  height: 24px;
}
.pnav:not(.prev):not(.next) a {
  color: #333;
  text-decoration: none;
  opacity: 0.4;
}
.pnav:not(.prev):not(.next).current {
  color: var(--clr-main);
}
.pnav.prev a, .pnav.next a {
  background-color: var(--clr-base);
  font-size: 1.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 49px;
  height: 28px;
  border-radius: 49px;
  opacity: 1;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  position: relative;
}
.pnav.prev a::after, .pnav.next a::after {
  background-color: var(--clr-main);
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2213%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2013%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.4%22%20d%3D%22m7%20.495%206%206-6%206M12%206.495H0%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2213%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2013%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.4%22%20d%3D%22m7%20.495%206%206-6%206M12%206.495H0%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  content: "";
  display: block;
  width: 11px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pnav.prev a::after {
  transform: translate(-50%, -50%) scaleX(-1);
}

@media (hover: hover) {
  .pnav:not(.prev):not(.next) a {
    transition: 0.2s;
  }
  .pnav:not(.prev):not(.next) a:hover {
    opacity: 1;
  }
  .pnav.prev a, .pnav.next a {
    transition: 0.3s ease;
  }
  .pnav.prev a:hover, .pnav.next a:hover {
    background-color: var(--clr-main);
    color: #fff;
  }
  .pnav.prev a:hover::after, .pnav.next a:hover::after {
    background-color: #fff;
  }
}
ul:not([id]):not([class]),
ol:not([id]):not([class]) {
  padding-left: 1.2em;
}
ul:not([id]):not([class]) li,
ol:not([id]):not([class]) li {
  margin-top: 0;
  margin-bottom: 0;
}
ul:not([id]):not([class]) li:not(:last-child),
ol:not([id]):not([class]) li:not(:last-child) {
  margin-bottom: 0.5em;
}
ul:not([id]):not([class]) li::marker,
ol:not([id]):not([class]) li::marker {
  color: var(--clr-main);
  font-weight: 700;
}

:is(dir, menu, ol, ul) ul {
  list-style-type: disc;
}

.list-none {
  line-height: 1.5;
}
.list-none li:not(:last-child) {
  margin-bottom: 0.5em;
}

.c-category__list {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

@media (min-width: 1025px) {
  .c-category {
    padding: 0 min(2.7777777778vw, 40px);
  }
  .c-category__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px 56px;
  }
}
.c-contact-info__card {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 24px;
  width: 100%;
}
.c-contact-info__card::after {
  background-color: var(--clr-border);
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  order: -1;
}

.c-contact-info__section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.c-contact-info__section:first-child {
  order: -1;
}

.c-contact-info__title {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin: 0;
}

.c-contact-info__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.c-contact-info__number {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 11.2px;
}

.c-contact-info__tel,
.c-contact-info__fax {
  color: var(--clr-main);
  font-family: "Montserrat", sans-serif;
  font-size: 3.08rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 11.2px;
}
.c-contact-info__tel::before,
.c-contact-info__fax::before {
  background-color: var(--clr-main);
  content: "";
  display: block;
}

.c-contact-info__tel::before {
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20fill%3D%22none%22%20viewBox%3D%220%200%2028%2028%22%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20fill%3D%22%230a3b87%22%20d%3D%22m22.63%2017.642%204.741%203.89c.6.491.837%201.261.418%201.994-.566.988-1.014%202.161-1.754%203.038-1.85%202.191-6.583%201.55-9.533.222C9.804%2023.76%204.33%2018.29%201.26%2011.616.196%209.308-.233%206.973.122%204.52.512%201.806%202.265%201.41%204.201.307%205.218-.273%205.959.004%206.636.83l3.66%204.463c.459.563.244%201.362-.178%201.795L8.804%208.434c-.347.355-.595.933-.314%201.458%202.198%204.112%205.5%207.402%209.607%209.615.44.237%201.088.085%201.373-.219%201.01-1.084%202.158-2.468%203.164-1.643z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h28.004v28H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20fill%3D%22none%22%20viewBox%3D%220%200%2028%2028%22%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20fill%3D%22%230a3b87%22%20d%3D%22m22.63%2017.642%204.741%203.89c.6.491.837%201.261.418%201.994-.566.988-1.014%202.161-1.754%203.038-1.85%202.191-6.583%201.55-9.533.222C9.804%2023.76%204.33%2018.29%201.26%2011.616.196%209.308-.233%206.973.122%204.52.512%201.806%202.265%201.41%204.201.307%205.218-.273%205.959.004%206.636.83l3.66%204.463c.459.563.244%201.362-.178%201.795L8.804%208.434c-.347.355-.595.933-.314%201.458%202.198%204.112%205.5%207.402%209.607%209.615.44.237%201.088.085%201.373-.219%201.01-1.084%202.158-2.468%203.164-1.643z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h28.004v28H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 28px;
  height: 28px;
}

.c-contact-info__fax::before {
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2228%22%20fill%3D%22none%22%20viewBox%3D%220%200%2032%2028%22%3E%3Cg%20fill%3D%22%230a3b87%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M1.354%208.545c.482-.023.941-.007%201.404-.006l.013%2013.476c0%201.203%201.055%202.267%202.246%202.3l4.744.013c.548.001%201.051-.25%201.45-.592.56-.481.822-1.15.821-1.883v-13.1a.274.274%200%200%201%20.275-.217l1.743-.002V.328c0-.194.13-.328.328-.328h14.08c.177%200%20.27.168.27.328v8.206l1.27.007c.755.005%201.333.625%201.363%201.376l-.005%2016.733c0%20.693-.632%201.35-1.334%201.35l-28.677-.001C.555%2027.999%200%2027.25%200%2026.517L.004%209.915a1.42%201.42%200%200%201%201.35-1.37m26.526-.011V.85H14.898v7.684zm.462%206.546.001-3.35h-13.85l-.005%203.35zm-10.34%203.315L18%2016.604h-3.52l.002%201.792zm5.149%200-.002-1.79-3.509-.001-.002%201.792zm5.152%200-.001-1.791h-3.52l.002%201.793zM18%2021.26v-1.867h-3.52v1.868zm5.15%200-.002-1.867h-3.513l.003%201.867zm5.152%200v-1.867h-3.52v1.867zm-10.3%202.874L18%2022.26l-3.521.004.003%201.87zm5.148.001-.002-1.871-3.512-.003v1.875zm5.152%200v-1.873l-3.519.002-.001%201.872z%22%2F%3E%3Cpath%20d%3D%22M10.796%2021.553c-.055.76-.671%201.39-1.432%201.391l-3.869.003c-.758%200-1.453-.628-1.453-1.41L4.038%207.134c0-.79.642-1.456%201.434-1.457l3.962-.004c.808.09%201.363.718%201.363%201.516zM26.46%205.413h-9.746l-.001-.905h9.745zM21.629%203.327l-4.916.001-.001-.903h4.913z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h31.361v28H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2228%22%20fill%3D%22none%22%20viewBox%3D%220%200%2032%2028%22%3E%3Cg%20fill%3D%22%230a3b87%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M1.354%208.545c.482-.023.941-.007%201.404-.006l.013%2013.476c0%201.203%201.055%202.267%202.246%202.3l4.744.013c.548.001%201.051-.25%201.45-.592.56-.481.822-1.15.821-1.883v-13.1a.274.274%200%200%201%20.275-.217l1.743-.002V.328c0-.194.13-.328.328-.328h14.08c.177%200%20.27.168.27.328v8.206l1.27.007c.755.005%201.333.625%201.363%201.376l-.005%2016.733c0%20.693-.632%201.35-1.334%201.35l-28.677-.001C.555%2027.999%200%2027.25%200%2026.517L.004%209.915a1.42%201.42%200%200%201%201.35-1.37m26.526-.011V.85H14.898v7.684zm.462%206.546.001-3.35h-13.85l-.005%203.35zm-10.34%203.315L18%2016.604h-3.52l.002%201.792zm5.149%200-.002-1.79-3.509-.001-.002%201.792zm5.152%200-.001-1.791h-3.52l.002%201.793zM18%2021.26v-1.867h-3.52v1.868zm5.15%200-.002-1.867h-3.513l.003%201.867zm5.152%200v-1.867h-3.52v1.867zm-10.3%202.874L18%2022.26l-3.521.004.003%201.87zm5.148.001-.002-1.871-3.512-.003v1.875zm5.152%200v-1.873l-3.519.002-.001%201.872z%22%2F%3E%3Cpath%20d%3D%22M10.796%2021.553c-.055.76-.671%201.39-1.432%201.391l-3.869.003c-.758%200-1.453-.628-1.453-1.41L4.038%207.134c0-.79.642-1.456%201.434-1.457l3.962-.004c.808.09%201.363.718%201.363%201.516zM26.46%205.413h-9.746l-.001-.905h9.745zM21.629%203.327l-4.916.001-.001-.903h4.913z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h31.361v28H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 32px;
  height: 28px;
}

.c-contact-info__hours {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1;
}

@media (min-width: 1025px) {
  .c-contact-info__card {
    gap: 40px;
    padding: 56px;
  }
  .c-contact-info__section {
    flex-direction: row;
    gap: min(6.243902439vw, 120px);
  }
  .c-contact-info__title {
    font-size: 2.2rem;
    justify-content: center;
    width: 12em;
  }
  .c-contact-info__number {
    gap: 16px;
  }
  .c-contact-info__tel,
  .c-contact-info__fax {
    font-size: 4.4rem;
    gap: 16px;
  }
  .c-contact-info__tel::before {
    width: 40px;
    height: 40px;
  }
  .c-contact-info__fax::before {
    width: 44px;
    height: 40px;
  }
  .c-contact-info__hours {
    font-size: 1.3rem;
  }
}
.form {
  gap: 40px 0;
}

.form .desc {
  margin-bottom: 16px;
}

.form .item {
  gap: 16px 0;
}

.form .item_t {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.form .item_t span {
  background-color: var(--clr-accent);
  border-radius: 4px;
  font-size: 11px;
  padding: 6px 8px;
  top: 0;
}

.contact-form .form input[type=submit] {
  background-color: var(--clr-main);
  border-radius: 8px;
  box-shadow: none;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 1.6em 0;
  line-height: 1;
  max-width: 400px;
}

.form .item-list {
  gap: 24px;
}
.form .item-list + div {
  display: contents;
}

.form input[type=text], .form input[type=email], .form input[type=tel], .form select {
  line-height: 3.5em;
  height: 3.5em;
}

.form input[type=text], .form input[type=email], .form input[type=tel], .form textarea, .form select {
  background-color: var(--clr-base);
  box-shadow: none;
  border: none;
  border-radius: 4px;
}

.hide.del[style*="display: inline"] {
  padding-bottom: 16px;
  display: block !important;
}

.hide[style*="display: block"] + .form .desc {
  display: none;
}

div.hide[style*="display: block"] {
  margin-bottom: 40px;
}

#contact-form h4:not([class*=topic]) {
  font-size: clamp(2.4rem, 6.4vw, 3rem);
  margin-top: 0;
  text-align: center;
}

#contact-form .contact-btnbox {
  gap: 16px;
}
#contact-form .contact-btn {
  margin: 0;
}

.form input[type=radio]:checked + label span::before {
  border-color: var(--clr-accent);
}

.form input[type=radio] + label span::after {
  background-color: var(--clr-accent);
}

@media (min-width: 1025px) {
  .form .desc {
    margin-bottom: 48px;
    text-align: left;
  }
  .contact-form .form .item {
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
  }
  .contact-form .form .item_t {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 24%;
    position: relative;
    padding-top: 0.75em;
  }
  .contact-form .form .item_d {
    flex-grow: 1;
  }
}
.c-company-navi .c-section-heading__title02-en,
.c-company-navi .c-section-heading__title02-jp {
  color: #fff;
}
.c-company-navi .c-section-heading__title02-en::before {
  background-color: #fff;
}

.c-company-navi__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-company-navi__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.c-company-navi__link {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 100px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  padding: 17px 0;
  text-decoration: none;
}

@media (min-width: 1025px) {
  .c-company-navi {
    margin: 0 auto;
    max-width: var(--width-sub);
  }
  .c-company-navi__inner {
    flex-direction: row;
    gap: min(11.1111111111vw, 160px);
  }
  .c-company-navi__list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px 32px;
    flex-grow: 1;
  }
  .c-company-navi__link {
    font-size: 1.7rem;
    padding: 24px 0;
  }
}
@media (hover: hover) {
  .c-company-navi__link {
    transition: 0.3s ease;
  }
  .c-company-navi__link:hover {
    background-color: #fff;
    color: var(--clr-main);
  }
}
table {
  margin-bottom: 0;
  border-color: var(--clr-border);
  line-height: 1.5;
}
table th, table td {
  padding: 32px;
}

.table-02 tbody tr > * {
  border-color: var(--clr-border) !important;
}
.table-02 th, .table-02 td {
  text-align: left;
  padding-left: 0;
}
.table-02 td {
  padding-right: 0;
}

@media screen and (max-width: 600px) {
  .table-custom table, .table-custom tbody, .table-custom tr, .table-custom th, .table-custom td {
    display: block;
  }
  .table-custom th {
    border-bottom: none;
    padding-right: 0;
    padding-bottom: 0;
  }
  .table-custom td {
    border-top: none;
    padding-top: 16px;
  }
}
.c-history-timeline {
  display: flex;
  flex-direction: column;
}

.c-history-timeline__item {
  display: flex;
  gap: 16px;
}

.c-history-timeline__marker {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  width: 12px;
}
.c-history-timeline__marker::before {
  background-color: var(--clr-border);
  content: "";
  flex-shrink: 0;
  width: 1px;
  height: 14px;
}

.c-history-timeline__item:first-child .c-history-timeline__marker::before {
  opacity: 0;
}

.c-history-timeline__dot {
  background-color: var(--clr-main);
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.c-history-timeline__line {
  background-color: var(--clr-border);
  flex: 1;
  width: 1px;
  min-height: 0;
}

.c-history-timeline__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  padding-top: 5px;
  padding-bottom: 48px;
}

.c-history-timeline__item:last-child .c-history-timeline__body {
  padding-bottom: 0;
}

.c-history-timeline__year {
  color: var(--clr-main);
  font-family: "Montserrat", sans-serif;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1;
}

.c-history-timeline__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-history-timeline__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-history-timeline__photo {
  width: 100%;
  aspect-ratio: 283/192;
}

.c-history-timeline__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 1025px) {
  .c-history-timeline__marker::before {
    height: 18px;
  }
  .c-history-timeline__body {
    flex-direction: row;
    gap: 88px;
  }
  .c-history-timeline__year {
    font-size: 3.6rem;
    width: 100px;
  }
  .c-history-timeline__content {
    gap: 40px;
  }
  .c-history-timeline__photo {
    aspect-ratio: 420/268;
    max-width: 420px;
  }
}
.c-base-access {
  background-color: var(--clr-base);
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 24px;
}

.c-base-access__body {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-base-access__block {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-base-access__heading {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--clr-main);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.c-base-access__text ul:not([id]):not([class]),
.c-base-access__text ol:not([id]):not([class]) {
  margin-top: 0;
  margin-bottom: 0;
}

.icon-train::before {
  background-color: var(--clr-main);
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22none%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cg%20fill%3D%22%230a3b87%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M8.234%2022.658c-.927.003-1.82-.347-2.44-1.075-.473-.555-.975-1.248-.977-2.036L4.805%205.68c.26-2.026%201.89-3.409%203.903-3.309l2.338.02c.073.691.579%201.435%201.335%201.436l5.957.007c.844%200%201.434-.602%201.535-1.449.552-.04%201.078-.045%201.626-.038s1.078-.03%201.62.068a3.8%203.8%200%200%201%202.623%201.898c.206.371.395.798.395%201.25l-.01%2013.724c0%20.915-.405%201.796-1.055%202.387-.514.467-1.217.94-1.95.943l-13.596.038-1.294.005zm6.697-7.59-.002-8.494-6.393-.003c-.393%200-.708.13-1.017.34-.116.21-.19.413-.213.66l.007%206.337c0%20.59.508%201.152%201.109%201.153zm8.698-2.434-.015-5.061c.01-.586-.428-1.005-1.012-1.005l-6.576.007v8.494l6.443-.01c.624%200%201.13-.5%201.173-1.088.032-.452-.01-.86-.012-1.336zM8.255%2019.399c.146.77.812%201.194%201.519%201.137a1.43%201.43%200%200%200%201.31-1.257c.093-.684-.346-1.354-1.036-1.563a1.45%201.45%200%200%200-1.691.737c-.137.267-.164.62-.102.946m14.287.292a1.386%201.386%200%200%200-.519-1.797%201.436%201.436%200%200%200-1.85.277c-.583.664-.433%201.691.3%202.143.735.45%201.678.196%202.07-.624zM24.958%2029.953c-.593-.579-.883-1.381-1.436-1.964l-16.152.005-1.123%201.608a2%202%200%200%201-.33.368L4.401%2030c-.137.003-.334-.116-.374-.226-.055-.147-.019-.32.045-.478l1.15-1.48%203.269-4.25%2013.58-.003c.28%200%20.459.063.59.306l3.425%204.414.832%201.109c.056.075.056.303.017.387-.046.093-.23.21-.361.208l-1.616-.032zm-2.389-3.188c-.24-.396-.444-.648-.692-.961l-.837-1.062H9.943c-.545.672-1.087%201.29-1.592%202.033l13.707.004c.2.024.311.024.511-.014%22%2F%3E%3Cpath%20d%3D%22m18.443%202.86-5.84.007c-.2%200-.403-.057-.508-.177-.117-.135-.143-.336-.15-.532-.024-.635-.106-1.242.088-1.867.053-.172.435-.283.636-.283L18.299%200c.422%200%20.71.287.71.705v1.574c0%20.308-.197.582-.566.582%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h30v30H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22none%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cg%20fill%3D%22%230a3b87%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M8.234%2022.658c-.927.003-1.82-.347-2.44-1.075-.473-.555-.975-1.248-.977-2.036L4.805%205.68c.26-2.026%201.89-3.409%203.903-3.309l2.338.02c.073.691.579%201.435%201.335%201.436l5.957.007c.844%200%201.434-.602%201.535-1.449.552-.04%201.078-.045%201.626-.038s1.078-.03%201.62.068a3.8%203.8%200%200%201%202.623%201.898c.206.371.395.798.395%201.25l-.01%2013.724c0%20.915-.405%201.796-1.055%202.387-.514.467-1.217.94-1.95.943l-13.596.038-1.294.005zm6.697-7.59-.002-8.494-6.393-.003c-.393%200-.708.13-1.017.34-.116.21-.19.413-.213.66l.007%206.337c0%20.59.508%201.152%201.109%201.153zm8.698-2.434-.015-5.061c.01-.586-.428-1.005-1.012-1.005l-6.576.007v8.494l6.443-.01c.624%200%201.13-.5%201.173-1.088.032-.452-.01-.86-.012-1.336zM8.255%2019.399c.146.77.812%201.194%201.519%201.137a1.43%201.43%200%200%200%201.31-1.257c.093-.684-.346-1.354-1.036-1.563a1.45%201.45%200%200%200-1.691.737c-.137.267-.164.62-.102.946m14.287.292a1.386%201.386%200%200%200-.519-1.797%201.436%201.436%200%200%200-1.85.277c-.583.664-.433%201.691.3%202.143.735.45%201.678.196%202.07-.624zM24.958%2029.953c-.593-.579-.883-1.381-1.436-1.964l-16.152.005-1.123%201.608a2%202%200%200%201-.33.368L4.401%2030c-.137.003-.334-.116-.374-.226-.055-.147-.019-.32.045-.478l1.15-1.48%203.269-4.25%2013.58-.003c.28%200%20.459.063.59.306l3.425%204.414.832%201.109c.056.075.056.303.017.387-.046.093-.23.21-.361.208l-1.616-.032zm-2.389-3.188c-.24-.396-.444-.648-.692-.961l-.837-1.062H9.943c-.545.672-1.087%201.29-1.592%202.033l13.707.004c.2.024.311.024.511-.014%22%2F%3E%3Cpath%20d%3D%22m18.443%202.86-5.84.007c-.2%200-.403-.057-.508-.177-.117-.135-.143-.336-.15-.532-.024-.635-.106-1.242.088-1.867.053-.172.435-.283.636-.283L18.299%200c.422%200%20.71.287.71.705v1.574c0%20.308-.197.582-.566.582%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h30v30H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  content: "";
  display: block;
  width: 30px;
  height: 30px;
}

.icon-car::before {
  background-color: var(--clr-main);
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22none%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cpath%20fill%3D%22%230a3b87%22%20d%3D%22m18.864%2022.795-11.383.008c-.284%200-.431.265-.423.496.015.482-.08.944-.418%201.284-.287.291-.694.376-1.102.394-.72.032-1.414.029-2.136.004-.664-.02-1.227-.51-1.23-1.208l-.017-3.068-.016-1.109c-.012-.937-.002-1.85.05-2.777.083-1.466.079-2.105.867-3.453.474-.811-1.274-.327-1.797-.82-.288-.271-.27-.648-.248-1.01.029-.47.336-.864.837-.864h1.267c.305.002.503.188.61.448l.207.508c.241-.146.289-.347.405-.577a74%2074%200%200%200%201.69-3.603c.538-1.223%201.663-2.014%203.011-2.183.592-.074%201.172-.08%201.772-.106l1.344-.056.674-.033a62%2062%200%200%201%206.074.01l.83.064%201.253.116.827.11c.794.104%201.545.55%201.902%201.298l1.695%203.543c.24.503.436%201.005.84%201.445.082-.324.136-.623.248-.859.36-.151.7-.234%201.068-.228l.461.008c.432.007.885.167%201.092.563.14.266.116.565.083.839-.053.443-.286.754-.764.802l-1.395.142a.36.36%200%200%200-.019.317c.307.534.54%201.054.664%201.66.083.406.21.842.212%201.279l.017%207.563c0%20.668-.466%201.232-1.154%201.233l-2.4.004c-.43%200-.855-.174-1.059-.545-.178-.325-.209-.687-.229-1.055-.015-.29-.21-.576-.538-.577l-3.67-.007zm5.202-11.107-1.979-3.89c-.233-.457-.88-.486-1.528-.547l-1.207-.111-.778-.063-.668-.038-.617-.02-3.999.005-1.356.036-.828.035-.72.048c-1.377.094-1.989-.02-2.59%201.2L6.12%2011.743a.4.4%200%200%200-.023.178c.008.039.126.106.165.106h17.754a.32.32%200%200%200%20.048-.34zM7.358%2018.355c.665-.143%201.174-.744%201.132-1.386a1.47%201.47%200%200%200-.86-1.238c-.62-.278-1.304-.325-1.99-.314-.866.015-1.568.81-1.404%201.64.197%201%201.074%201.482%202.018%201.343.356-.052.733.035%201.104-.045m17.619-.123c.54-.091%201.022-.569%201.05-1.117.015-.304-.126-.644-.262-.885-.346-.614-.973-.868-1.638-.759l-1.162.19c-.71.117-1.352.85-1.224%201.608.153.905%201.081%201.331%201.907%201.191l1.329-.227m-6.403.134c.417%200%201.197-.596%201.013-1.173-.04-.126-.181-.358-.368-.358l-8.47.02c-.338%200-.417.575-.288.79.24.4.648.732%201.148.732l6.964-.01%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22none%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cpath%20fill%3D%22%230a3b87%22%20d%3D%22m18.864%2022.795-11.383.008c-.284%200-.431.265-.423.496.015.482-.08.944-.418%201.284-.287.291-.694.376-1.102.394-.72.032-1.414.029-2.136.004-.664-.02-1.227-.51-1.23-1.208l-.017-3.068-.016-1.109c-.012-.937-.002-1.85.05-2.777.083-1.466.079-2.105.867-3.453.474-.811-1.274-.327-1.797-.82-.288-.271-.27-.648-.248-1.01.029-.47.336-.864.837-.864h1.267c.305.002.503.188.61.448l.207.508c.241-.146.289-.347.405-.577a74%2074%200%200%200%201.69-3.603c.538-1.223%201.663-2.014%203.011-2.183.592-.074%201.172-.08%201.772-.106l1.344-.056.674-.033a62%2062%200%200%201%206.074.01l.83.064%201.253.116.827.11c.794.104%201.545.55%201.902%201.298l1.695%203.543c.24.503.436%201.005.84%201.445.082-.324.136-.623.248-.859.36-.151.7-.234%201.068-.228l.461.008c.432.007.885.167%201.092.563.14.266.116.565.083.839-.053.443-.286.754-.764.802l-1.395.142a.36.36%200%200%200-.019.317c.307.534.54%201.054.664%201.66.083.406.21.842.212%201.279l.017%207.563c0%20.668-.466%201.232-1.154%201.233l-2.4.004c-.43%200-.855-.174-1.059-.545-.178-.325-.209-.687-.229-1.055-.015-.29-.21-.576-.538-.577l-3.67-.007zm5.202-11.107-1.979-3.89c-.233-.457-.88-.486-1.528-.547l-1.207-.111-.778-.063-.668-.038-.617-.02-3.999.005-1.356.036-.828.035-.72.048c-1.377.094-1.989-.02-2.59%201.2L6.12%2011.743a.4.4%200%200%200-.023.178c.008.039.126.106.165.106h17.754a.32.32%200%200%200%20.048-.34zM7.358%2018.355c.665-.143%201.174-.744%201.132-1.386a1.47%201.47%200%200%200-.86-1.238c-.62-.278-1.304-.325-1.99-.314-.866.015-1.568.81-1.404%201.64.197%201%201.074%201.482%202.018%201.343.356-.052.733.035%201.104-.045m17.619-.123c.54-.091%201.022-.569%201.05-1.117.015-.304-.126-.644-.262-.885-.346-.614-.973-.868-1.638-.759l-1.162.19c-.71.117-1.352.85-1.224%201.608.153.905%201.081%201.331%201.907%201.191l1.329-.227m-6.403.134c.417%200%201.197-.596%201.013-1.173-.04-.126-.181-.358-.368-.358l-8.47.02c-.338%200-.417.575-.288.79.24.4.648.732%201.148.732l6.964-.01%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  content: "";
  display: block;
  width: 30px;
  height: 30px;
}

.c-base-access__parking {
  width: 100%;
  aspect-ratio: 311/260;
}
.c-base-access__parking iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.c-base-access__route-text {
  margin: 0;
}

@media (min-width: 1025px) {
  .c-base-access {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 80px;
    padding: 56px;
  }
  .c-base-access__text {
    font-size: 1.4rem;
  }
  .c-base-access__parking {
    aspect-ratio: 388/342;
    width: 388px;
  }
  .c-base-access__route {
    display: flex;
    gap: 1em;
  }
  .c-base-access__route-title {
    min-width: 88px;
  }
}
.c-interview-card {
  position: relative;
  display: block;
  aspect-ratio: 311/212;
  overflow: hidden;
  text-decoration: none;
}

.c-interview-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 19%;
}

.c-interview-card__gradient {
  background: linear-gradient(to bottom, rgba(0, 62, 157, 0), #003E9D);
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 50%;
  pointer-events: none;
}

.c-interview-card__body {
  position: absolute;
  right: 20px;
  bottom: 20px;
  left: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
}

.c-interview-card__info {
  color: #fff;
  font-weight: 700;
  line-height: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-interview-card__meta {
  font-size: 1rem;
  opacity: 0.8;
}

.c-interview-card__name {
  font-size: 1.8rem;
}

@media (min-width: 1025px) {
  .c-interview-card {
    aspect-ratio: 300/380;
  }
  .c-interview-card__meta {
    font-size: 1.2rem;
  }
  .c-interview-card__name {
    font-size: 2.2rem;
  }
}
@media (hover: hover) {
  .c-interview-card__image {
    transition: 0.3s ease;
  }
  .c-interview-card__gradient {
    transition: 0.3s ease;
  }
  .c-interview-card .c-button__icon {
    transition: 0.3s ease;
  }
  .c-interview-card:hover .c-interview-card__image {
    transform: scale(1.08);
  }
  .c-interview-card:hover .c-interview-card__gradient {
    opacity: 0.24;
  }
  .c-interview-card:hover .c-button__icon {
    background-color: #fff;
  }
  .c-interview-card:hover .c-button__icon::before {
    background-color: var(--clr-main);
  }
}
.c-section-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.c-section-heading__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  overflow: visible;
  margin: 0;
}

.c-section-heading__title-jp {
  color: #333;
  position: relative;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}
.c-section-heading__title-jp::before {
  content: "";
  position: absolute;
  top: 0.2142857143em;
  left: -16px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--clr-accent);
}

.c-section-heading__title-en {
  font-family: "Montserrat", sans-serif;
  font-size: 5rem;
  font-weight: 500;
  line-height: 1;
  text-transform: capitalize;
  color: var(--clr-main);
}

@media (min-width: 1025px) {
  .c-section-heading {
    gap: 40px;
  }
  .c-section-heading__title-jp {
    font-size: 1.6rem;
  }
  .c-section-heading__title-en {
    font-size: 8rem;
  }
  .c-section-heading.c-section-heading__row {
    flex-direction: row;
    align-items: flex-end;
    gap: 120px;
  }
  .c-section-heading.c-section-heading__row .c-section-heading__title {
    flex-shrink: 0;
  }
}
.c-section-heading__title02 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  overflow: visible;
  margin: 0;
}

.c-section-heading__title02-en {
  color: #333;
  font-family: "Montserrat", sans-serif;
  position: relative;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}
.c-section-heading__title02-en::before {
  content: "";
  position: absolute;
  top: 0.2142857143em;
  left: -16px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--clr-accent);
}

.c-section-heading__title02-jp {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-transform: capitalize;
  color: var(--clr-main);
}

@media (min-width: 1025px) {
  .c-section-heading__title02-en {
    font-size: 1.6rem;
  }
  .c-section-heading__title02-en::before {
    top: 0.1875em;
  }
  .c-section-heading__title02-jp {
    font-size: 3.2rem;
  }
}
.c-button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  background-color: var(--clr-base);
  border-radius: 3em;
  color: var(--clr-main);
  display: inline-flex;
  align-items: center;
  gap: 1em;
  padding: 1.5em 3em;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  max-width: fit-content;
  transition: opacity 0.3s;
}
.c-button::after {
  background-color: var(--clr-main);
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2213%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2013%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.4%22%20d%3D%22m7%20.495%206%206-6%206M12%206.495H0%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2213%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2013%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.4%22%20d%3D%22m7%20.495%206%206-6%206M12%206.495H0%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  content: "";
  display: block;
  width: 0.8125em;
  height: 0.75em;
}
.c-button.is-white {
  background-color: #fff;
}
.c-button.is-white02 {
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
}
.c-button.is-white02::after {
  background-color: #fff;
}

.c-button--align-end {
  align-self: flex-end;
}

.c-button__download::after {
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2223%22%20fill%3D%22none%22%20viewBox%3D%220%200%2028%2023%22%3E%3Cpath%20fill%3D%22%230a3b87%22%20d%3D%22M2.857.66C3.207.006%204.06.038%204.701.008c3.39-.106%207.065.93%209.216%203.71C16.331.616%2020.62-.36%2024.36.116c1.095.118.895%201.36.886%202.146.854.147%202.21-.238%202.667.671-.018%204.748.008%209.494.006%2014.242.012%201.169.198%202.37-.032%203.518-.135.08-.406.238-.545.318-3.727-.15-7.474-.148-11.186.274-.933.082-1.413%201.13-2.338%201.248-.774-.233-1.21-1.057-1.99-1.272-3.715-.377-7.456-.332-11.183-.294-.344-.135-.713-.442-.633-.857.062-5.69-.003-11.383.015-17.074.341-1.139%201.922-.52%202.814-.738.009-.545-.13-1.101.018-1.637zm1.317.678c-.186.534-.057%201.122-.068%201.681.082%204.507-.027%209.017.088%2013.52%203.288-.329%206.882.557%209.073%203.177-.041-4.872.091-9.743-.03-14.612-1.78-3.089-5.743-4.225-9.063-3.766m13.37%201.028c-1.41.812-3.144%202.078-2.952%203.9.044%204.534-.006%209.073.023%2013.607.115-.348.389-.589.595-.875%202.302-2.17%205.623-2.65%208.661-2.485-.003-.509.012-1.018%200-1.524.073-4.557.095-9.117.012-13.67-2.128-.348-4.39.137-6.338%201.047M1.368%203.602c-.085%205.316-.006%2010.665-.009%2015.99%203.4.186%206.856-.068%2010.244.469-2.134-2.523-5.796-2.211-8.772-1.97-.02-4.851.123-9.715-.062-14.563a59%2059%200%200%200-1.401.074M25.2%203.493c-.023%204.854.009%209.709-.058%2014.56-2.567-.118-5.385-.439-7.71.936-.404.32-1.048.547-1.09%201.139%201.087-.318%202.235-.353%203.36-.45%202.298-.054%204.6-.039%206.9-.024-.004-5.363.056-10.736-.097-16.097q-.65-.046-1.304-.065z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2223%22%20fill%3D%22none%22%20viewBox%3D%220%200%2028%2023%22%3E%3Cpath%20fill%3D%22%230a3b87%22%20d%3D%22M2.857.66C3.207.006%204.06.038%204.701.008c3.39-.106%207.065.93%209.216%203.71C16.331.616%2020.62-.36%2024.36.116c1.095.118.895%201.36.886%202.146.854.147%202.21-.238%202.667.671-.018%204.748.008%209.494.006%2014.242.012%201.169.198%202.37-.032%203.518-.135.08-.406.238-.545.318-3.727-.15-7.474-.148-11.186.274-.933.082-1.413%201.13-2.338%201.248-.774-.233-1.21-1.057-1.99-1.272-3.715-.377-7.456-.332-11.183-.294-.344-.135-.713-.442-.633-.857.062-5.69-.003-11.383.015-17.074.341-1.139%201.922-.52%202.814-.738.009-.545-.13-1.101.018-1.637zm1.317.678c-.186.534-.057%201.122-.068%201.681.082%204.507-.027%209.017.088%2013.52%203.288-.329%206.882.557%209.073%203.177-.041-4.872.091-9.743-.03-14.612-1.78-3.089-5.743-4.225-9.063-3.766m13.37%201.028c-1.41.812-3.144%202.078-2.952%203.9.044%204.534-.006%209.073.023%2013.607.115-.348.389-.589.595-.875%202.302-2.17%205.623-2.65%208.661-2.485-.003-.509.012-1.018%200-1.524.073-4.557.095-9.117.012-13.67-2.128-.348-4.39.137-6.338%201.047M1.368%203.602c-.085%205.316-.006%2010.665-.009%2015.99%203.4.186%206.856-.068%2010.244.469-2.134-2.523-5.796-2.211-8.772-1.97-.02-4.851.123-9.715-.062-14.563a59%2059%200%200%200-1.401.074M25.2%203.493c-.023%204.854.009%209.709-.058%2014.56-2.567-.118-5.385-.439-7.71.936-.404.32-1.048.547-1.09%201.139%201.087-.318%202.235-.353%203.36-.45%202.298-.054%204.6-.039%206.9-.024-.004-5.363.056-10.736-.097-16.097q-.65-.046-1.304-.065z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 1.75em;
  height: 1.4375em;
}

.c-button__toggle::after {
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20viewBox%3D%220%200%2012%2012%22%3E%3Cpath%20fill%3D%22%230a3b87%22%20d%3D%22M6.7%205.3V0H5.3v5.3H0v1.4h5.3V12h1.4V6.7H12V5.3z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20viewBox%3D%220%200%2012%2012%22%3E%3Cpath%20fill%3D%22%230a3b87%22%20d%3D%22M6.7%205.3V0H5.3v5.3H0v1.4h5.3V12h1.4V6.7H12V5.3z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 0.75em;
  height: 0.75em;
}

@media (hover: hover) {
  .c-button {
    transition: 0.3s ease;
  }
  .c-button:hover {
    background-color: var(--clr-main);
    color: #fff;
  }
  .c-button:hover::after {
    background-color: #fff;
  }
  .c-button:hover.is-white {
    background-color: var(--clr-main);
  }
  .c-button:hover.is-white02 {
    background-color: #fff;
    color: var(--clr-main);
  }
  .c-button:hover.is-white02::after {
    background-color: var(--clr-main);
  }
}
.c-button__icon {
  background-color: var(--clr-base);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 49px;
  height: 28px;
  border-radius: 49px;
}
.c-button__icon::before {
  background-color: var(--clr-main);
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2213%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2013%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.4%22%20d%3D%22m7%20.495%206%206-6%206M12%206.495H0%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2213%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2013%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.4%22%20d%3D%22m7%20.495%206%206-6%206M12%206.495H0%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  content: "";
  display: block;
  width: 22.4489795918%;
  height: 35.7142857143%;
}
.c-button__icon.is-white {
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
}
.c-button__icon.is-white::before {
  background-color: #fff;
}

@media (min-width: 1025px) {
  .c-button__icon {
    width: 56px;
    height: 32px;
    border-radius: 56px;
  }
}
.c-service-card {
  position: relative;
  display: block;
  aspect-ratio: 311/212;
  overflow: hidden;
  text-decoration: none;
}

.c-service-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-service-card__gradient {
  background: linear-gradient(to bottom, rgba(0, 62, 157, 0), #003E9D);
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 50%;
  pointer-events: none;
  opacity: 0.8;
}

.c-service-card__body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
}

.c-service-card__title {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

@media (min-width: 1025px) {
  .c-service-card {
    aspect-ratio: 410/458;
  }
  .c-service-card__body {
    left: 24px;
    right: 24px;
    bottom: 24px;
  }
  .c-service-card__title {
    font-size: 2.6rem;
  }
}
@media (hover: hover) {
  .c-service-card__image {
    transition: 0.3s ease;
  }
  .c-service-card__gradient {
    transition: 0.3s ease;
  }
  .c-service-card .c-button__icon {
    transition: 0.3s ease;
  }
  .c-service-card:hover .c-service-card__image {
    transform: scale(1.08);
  }
  .c-service-card:hover .c-service-card__gradient {
    opacity: 0.24;
  }
  .c-service-card:hover .c-button__icon {
    background-color: #fff;
  }
  .c-service-card:hover .c-button__icon::before {
    background-color: var(--clr-main);
  }
}
.c-product-card {
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-decoration: none;
}

.c-product-card__media {
  aspect-ratio: 311/212;
  overflow: hidden;
}

.c-product-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-product-card__body {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.c-product-card__title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  margin: 0;
}

@media (min-width: 1025px) {
  .c-product-card {
    gap: 24px;
  }
  .c-product-card__media {
    aspect-ratio: 532/358;
    height: auto;
  }
  .c-product-card__title {
    font-size: 2.2rem;
  }
}
@media (hover: hover) {
  .c-product-card__image {
    transition: 0.3s ease;
  }
  .c-product-card .c-button__icon {
    transition: 0.3s ease;
  }
  .c-product-card__title {
    transition: 0.3s ease;
  }
  .c-product-card:hover .c-product-card__image {
    transform: scale(1.08);
  }
  .c-product-card:hover .c-button__icon {
    background-color: var(--clr-main);
  }
  .c-product-card:hover .c-button__icon::before {
    background-color: #fff;
  }
  .c-product-card:hover .c-product-card__title {
    color: var(--clr-main);
  }
}
.c-cta-card {
  position: relative;
  display: block;
  width: 100%;
  max-height: 460px;
  aspect-ratio: 375/320;
  overflow: hidden;
  text-decoration: none;
}

.c-cta-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: soft-light;
}

.c-cta-card__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to left, rgba(10, 59, 135, 0), #0a3b87);
  pointer-events: none;
}

.c-cta-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 48px 32px;
  height: 100%;
}

.c-cta-card .c-section-heading__title-jp,
.c-cta-card .c-section-heading__title-en,
.c-cta-card .c-section-heading__lead {
  color: #fff;
}
.c-cta-card .c-section-heading__title-jp::before {
  background-color: #fff;
}
.c-cta-card .c-button__icon {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 1;
  width: 72px;
  height: 40px;
}
.c-cta-card .c-button__icon::before {
  width: 13px;
  height: 12px;
}

@media (min-width: 1025px) {
  .c-cta-card {
    aspect-ratio: auto;
    max-height: none;
    height: clamp(460px, 44.8780487805vw, 520px);
  }
  .c-cta-card__image {
    object-position: center 30%;
  }
  .c-cta-card__content {
    gap: 32px;
    padding: 64px;
  }
  .c-cta-card .c-button__icon {
    right: 32px;
    bottom: 32px;
  }
}
@media (hover: hover) {
  .c-cta-card__image,
  .c-cta-card__gradient {
    transition: 0.3s ease;
  }
  .c-cta-card .c-button__icon {
    transition: 0.3s ease;
  }
  .c-cta-card:hover .c-cta-card__image {
    transform: scale(1.08);
  }
  .c-cta-card:hover .c-cta-card__gradient {
    opacity: 0;
  }
  .c-cta-card:hover .c-button__icon {
    background-color: #fff;
  }
  .c-cta-card:hover .c-button__icon::before {
    background-color: var(--clr-main);
  }
}
.c-menu-action {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-menu-action__link {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 70px;
  padding: 24px 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  position: relative;
  text-decoration: none;
}
.c-menu-action__link::before {
  background-color: #fff;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.c-menu-action__link--recruit {
  background-color: var(--clr-main);
}
.c-menu-action__link--recruit::before {
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2223%22%20fill%3D%22none%22%20viewBox%3D%220%200%2028%2023%22%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m10.331%2019.528-.003-6.281.597-.465L22.194%204.31%207.366%2011.201.238%208.127c-.122-.11-.219-.233-.236-.341-.015-.097.09-.305.204-.376L27.598.006c.133-.037.314.122.36.212.06.116.053.273%200%20.434l-7.15%2020.98c-.074.218-.296.668-.6.483l-6.37-5.702-2.826%203.247a.53.53%200%200%201-.348.138c-.1-.006-.332-.124-.332-.27%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h28v22.157H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2223%22%20fill%3D%22none%22%20viewBox%3D%220%200%2028%2023%22%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m10.331%2019.528-.003-6.281.597-.465L22.194%204.31%207.366%2011.201.238%208.127c-.122-.11-.219-.233-.236-.341-.015-.097.09-.305.204-.376L27.598.006c.133-.037.314.122.36.212.06.116.053.273%200%20.434l-7.15%2020.98c-.074.218-.296.668-.6.483l-6.37-5.702-2.826%203.247a.53.53%200%200%201-.348.138c-.1-.006-.332-.124-.332-.27%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h28v22.157H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 28px;
  height: 23px;
  right: 24px;
}
.c-menu-action__link--contact {
  background-color: var(--clr-accent);
}
.c-menu-action__link--contact::before {
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2217%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2017%22%3E%3Cg%20fill%3D%22%23fff%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M12.41%209.486%2022.59.24A2.46%202.46%200%200%200%2021.531%200H2.469c-.38%200-.74.086-1.06.24L11.59%209.485a.607.607%200%200%200%20.82%200%22%2F%3E%3Cpath%20d%3D%22M13.516%2010.705a2.25%202.25%200%200%201-3.032%200L.242%201.402A2.46%202.46%200%200%200%200%202.47v11.898a2.47%202.47%200%200%200%202.469%202.468H21.53A2.47%202.47%200%200%200%2024%2014.366V2.47a2.46%202.46%200%200%200-.242-1.067z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h24v16.835H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2217%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2017%22%3E%3Cg%20fill%3D%22%23fff%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M12.41%209.486%2022.59.24A2.46%202.46%200%200%200%2021.531%200H2.469c-.38%200-.74.086-1.06.24L11.59%209.485a.607.607%200%200%200%20.82%200%22%2F%3E%3Cpath%20d%3D%22M13.516%2010.705a2.25%202.25%200%200%201-3.032%200L.242%201.402A2.46%202.46%200%200%200%200%202.47v11.898a2.47%202.47%200%200%200%202.469%202.468H21.53A2.47%202.47%200%200%200%2024%2014.366V2.47a2.46%202.46%200%200%200-.242-1.067z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h24v16.835H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 24px;
  height: 17px;
  right: 26px;
}

@media (min-width: 1025px) {
  .c-menu-action {
    flex-direction: row;
    gap: 0;
  }
  .c-menu-action__link {
    min-width: min(11.1111111111vw, 184px);
    min-height: 104px;
    padding: 0;
    font-size: 1.6rem;
    flex-direction: column;
    gap: 16px;
  }
  .c-menu-action__link::before {
    position: static;
    transform: none;
  }
}
@media (hover: hover) {
  .c-menu-action__link {
    transition: 0.3s ease;
  }
  .c-menu-action__link:hover {
    opacity: 0.8;
  }
}
@media (min-width: 1025px) {
  .child-ul {
    display: flex;
    gap: 1.6666666667vw;
  }
  #topmenu .child-ul a {
    opacity: 1;
  }
  .c-menu__sub {
    order: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
}
.c-menu-heading {
  display: none;
}

@media (min-width: 1025px) {
  .haschild span .c-menu-heading {
    display: block;
  }
  .haschild span .c-menu-heading__en {
    display: none;
  }
  .child .c-menu-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    overflow: visible;
    margin: 0;
  }
  .child .c-menu-heading__en {
    color: #333;
    font-family: "Montserrat", sans-serif;
    position: relative;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
  }
  .child .c-menu-heading__en::before {
    content: "";
    position: absolute;
    top: 0.2142857143em;
    left: -16px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--clr-accent);
  }
  .child .c-menu-heading__jp {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    text-transform: capitalize;
    color: var(--clr-main);
  }
}
.c-menu-card .c-button__icon {
  display: none;
}

.c-menu-card__media {
  display: none;
}

.c-menu-card__sub .c-button__icon {
  display: none;
}

@media (min-width: 1025px) {
  .c-menu-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-decoration: none;
  }
  .c-menu-card__media {
    border-radius: 4px;
    display: block;
    width: 11.1111111111vw;
    aspect-ratio: 160/106;
    overflow: hidden;
  }
  .c-menu-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .c-menu-card__body {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .c-menu-card__body .c-button__icon {
    display: flex;
    width: 28px;
    height: 16px;
  }
  .c-menu-card__title {
    font-size: clamp(1.3rem, 1.2682926829vw, 1.4rem);
    font-weight: 700;
    line-height: 1;
  }
  .c-menu-card__sub {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .c-menu-card__sub .c-button__icon {
    display: flex;
    width: 28px;
    height: 16px;
  }
}
@media (hover: hover) {
  .c-menu-card__image {
    transition: 0.3s ease;
  }
  .c-menu-card .c-button__icon {
    transition: 0.3s ease;
  }
  .c-menu-card__title {
    transition: 0.3s ease;
  }
  .c-menu-card:hover .c-menu-card__image {
    transform: scale(1.08);
  }
  .c-menu-card:hover .c-button__icon {
    background-color: var(--clr-main);
  }
  .c-menu-card:hover .c-button__icon::before {
    background-color: #fff;
  }
  .c-menu-card:hover .c-menu-card__title {
    color: var(--clr-main);
  }
  .c-menu-card__sub .c-button__icon {
    transition: 0.3s ease;
  }
  .c-menu-card__sub:hover .c-button__icon {
    background-color: var(--clr-main);
  }
  .c-menu-card__sub:hover .c-button__icon::before {
    background-color: #fff;
  }
  .c-menu-card__sub:hover .c-menu-card__title {
    color: var(--clr-main);
  }
}
.c-page-index {
  display: none;
}

@media (min-width: 1025px) {
  .c-page-index {
    display: block;
    position: absolute;
    top: min(16.6666666667vw, 240px);
    right: min(6.1111111111vw, 88px);
    padding: 0 !important;
    margin: 0 !important;
    transition: 0.2s;
  }
  .c-page-index.is-active {
    position: fixed;
  }
  .c-page-index.is-false {
    opacity: 0;
  }
  .c-page-index__list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    overflow: visible;
  }
  .c-page-index__item {
    line-height: 1;
  }
  .c-page-index__link {
    color: inherit;
    font-size: 1.4rem;
    font-weight: 700;
    text-decoration: none;
    position: relative;
    opacity: 0.4;
    transition: 0.2s;
  }
  .c-page-index__link::before {
    content: "";
    position: absolute;
    top: 0.2142857143em;
    left: -16px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--clr-accent);
    opacity: 0;
    transition: 0.2s;
  }
  .c-page-index__item.is-active .c-page-index__link {
    opacity: 1;
  }
  .c-page-index__item.is-active .c-page-index__link::before {
    opacity: 1;
  }
}
[data-toggle*=toggle].is-toggle {
  display: none;
}

[data-toggle-target*=toggle]:not(.is-toggle) {
  display: contents;
}
[data-toggle-target*=toggle]:not(.is-toggle) * {
  visibility: hidden !important;
  overflow: hidden !important;
  opacity: 0 !important;
  line-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  height: 0 !important;
  border-width: 0 !important;
}
[data-toggle-target*=toggle] {
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
[data-toggle-target*=toggle] * {
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.scroll-table .scroll-area,
.scroll-table[data-scroll-direction=vertical] .scroll-area {
  overflow: visible;
  max-height: none;
  padding: 0;
}

.l-loading {
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-property: opacity, visibility;
}

[data-loading=loaded] .l-loading {
  opacity: 0;
  visibility: hidden;
}

@media (min-width: 1025px) {
  [data-effect*=on] {
    opacity: 0;
  }
  [data-effect*=on][data-effect*=left] {
    transform: translateX(30px);
  }
  [data-effect*=on][data-effect*=right] {
    transform: translateX(-30px);
  }
  [data-effect*=on][data-effect*=top] {
    transform: translateY(30px);
  }
  [data-effect*=on][data-effect*=bottom] {
    transform: translateY(-30px);
  }
  [data-effect*=on][data-effect*=bounce] {
    transform-origin: bottom;
    transform: translateY(10px) scale(0.95);
  }
  [data-loading=loaded] [data-effect*=on][data-effect*=show] {
    opacity: 1;
    transition-property: opacity;
    transition-duration: 0.6s;
    transition-timing-function: ease;
    transition-delay: 0.15s;
  }
  [data-loading=loaded] [data-effect*=on][data-effect*=show][data-effect*=left], [data-loading=loaded] [data-effect*=on][data-effect*=show][data-effect*=right], [data-loading=loaded] [data-effect*=on][data-effect*=show][data-effect*=top], [data-loading=loaded] [data-effect*=on][data-effect*=show][data-effect*=bottom], [data-loading=loaded] [data-effect*=on][data-effect*=show][data-effect*=bounce] {
    transform: none;
    transition-property: opacity, transform;
  }
  [data-loading=loaded] [data-effect*=on][data-effect*=show][data-effect*=bounce] {
    transition-timing-function: cubic-bezier(0.68, -0.52, 0.33, 1.6);
  }
  [data-loading=loaded] [data-effect*=on][data-effect*=show][data-effect*=delay] {
    transition-delay: 0.3s;
  }
  [data-loading=loaded] [data-effect*=on][data-effect*=show][data-effect*=delay2] {
    transition-delay: 0.45s;
  }
  [data-loading=loaded] [data-effect*=on][data-effect*=show][data-effect*=delay3] {
    transition-delay: 0.6s;
  }
}
[data-page=top][data-column=col1][data-main=wide] #main section#text4-section {
  padding-top: 0;
  padding-bottom: 0;
}

.p-top__about__gallery {
  position: relative;
  height: 107.2vw;
  margin: 0 calc(var(--padding-overall) * -1);
}

.p-top__about__gallery-image {
  position: absolute;
  object-fit: cover;
}
.p-top__about__gallery-image--1 {
  top: 0;
  left: 0;
  width: 59.4666666667vw;
  height: auto;
  aspect-ratio: 390/534;
}
.p-top__about__gallery-image--2 {
  right: 13.3333333333vw;
  bottom: 0;
  width: 41.0666666667vw;
  height: auto;
  aspect-ratio: 270/306;
}
.p-top__about__gallery-image--3 {
  top: 25.8666666667vw;
  right: 0;
  width: 34.1333333333vw;
  height: auto;
  aspect-ratio: 224/168;
}

@media (min-width: 1025px) {
  .p-top__about {
    flex-direction: row;
    gap: 120px;
  }
  .p-top__about .l-section__body {
    padding-left: 1.6666666667vw;
  }
  .p-top__about .c-button--align-end {
    align-self: auto;
  }
  .p-top__about__gallery {
    width: min(43.4027777778vw, 790px);
    height: auto;
    aspect-ratio: 625/646;
    margin: 0;
    flex-shrink: 0;
    align-self: center;
  }
  .p-top__about__gallery-image {
    position: absolute;
    object-fit: cover;
  }
  .p-top__about__gallery-image--1 {
    width: 62.4%;
  }
  .p-top__about__gallery-image--2 {
    right: 9.12%;
    bottom: -8.96%;
    width: 43.2%;
  }
  .p-top__about__gallery-image--3 {
    top: 27.2%;
    right: -4.96%;
    width: 35.84%;
  }
}
.p-top__services-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media (min-width: 1025px) {
  .p-top__services-list {
    flex-direction: row;
    gap: 24px;
  }
  .p-top__services-item {
    flex-grow: 1;
  }
}
.p-top__products-list {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

@media (min-width: 1025px) {
  .p-top__products-list {
    flex-direction: row;
    gap: 48px;
  }
  .p-top__products-item {
    flex-grow: 1;
  }
}
.p-top__recruit {
  color: inherit;
  text-decoration: none;
}

.p-top__recruit__visual {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.p-top__recruit__media {
  aspect-ratio: 311/212;
  overflow: hidden;
  position: relative;
}

.p-top__recruit__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-top__recruit__catch {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: -48px -24px 0 -24px;
  position: relative;
  z-index: 1;
}

.p-top__recruit__catch-line {
  background-color: var(--clr-main);
  color: #fff;
  display: inline-block;
  align-self: flex-start;
  padding: 4px 12px;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
}

@media (max-width: 1024px) {
  .p-top__recruit .c-section-heading {
    display: contents;
  }
  .p-top__recruit .l-section__body {
    margin-top: -16px;
    order: 1;
  }
}
@media (min-width: 1025px) {
  .p-top__recruit {
    flex-direction: row;
    gap: min(6.1111111111vw, 88px);
    justify-content: space-between;
    position: relative;
  }
  .p-top__recruit .c-section-heading {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px 32px;
    align-self: flex-start;
    min-width: 420px;
  }
  .p-top__recruit .c-section-heading__title {
    display: contents;
  }
  .p-top__recruit .c-section-heading__title-jp {
    grid-row: 1;
    grid-column: 1;
  }
  .p-top__recruit .c-section-heading__title-en {
    grid-row: 2;
    grid-column: 1;
  }
  .p-top__recruit .l-section__body {
    display: contents;
  }
  .p-top__recruit .l-section__text {
    grid-row: 3;
    grid-column: 1/3;
    margin-top: 24px;
  }
  .p-top__recruit .c-button {
    grid-row: 2;
    grid-column: 2;
    overflow: hidden;
    text-indent: 200%;
    white-space: nowrap;
    width: 86px;
    height: 48px;
    padding: 0;
    position: relative;
    align-self: center;
  }
  .p-top__recruit .c-button::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1em;
    height: 0.9375em;
  }
  .p-top__recruit__visual {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex-grow: 1;
  }
  .p-top__recruit__media {
    aspect-ratio: 820/624;
    min-height: 420px;
  }
  .p-top__recruit__catch {
    gap: 0.5555555556vw;
    margin: 0;
    position: absolute;
    left: 0;
    bottom: 3.1219512195vw;
  }
  .p-top__recruit__catch-line {
    padding: 0.6944444444vw 1.6666666667vw;
    font-size: 3.0555555556vw;
  }
}
@media (hover: hover) {
  .p-top__recruit:hover .c-button {
    background-color: var(--clr-main);
    color: rgb(255, 255, 255);
  }
  .p-top__recruit:hover .c-button::after {
    background-color: #fff;
  }
}
.p-top__news .c-section-heading {
  display: contents;
}
.p-top__news .c-button {
  order: 1;
  margin-top: 16px;
}
.p-top__news .blogarea {
  max-width: none;
}

@media (min-width: 1025px) {
  .p-top__news .c-section-heading {
    display: flex;
    gap: 64px;
  }
  .p-top__news .c-button {
    margin-top: 0;
    align-self: flex-start;
  }
  .p-top__news .c-section-heading {
    flex-shrink: 0;
  }
  .p-top__news .l-section__content {
    flex-direction: row;
    gap: 160px;
  }
}
.p-cta {
  background-color: var(--clr-main);
}

.p-cta__list {
  display: flex;
  flex-direction: column;
}
.p-cta__list::after {
  background-color: rgba(255, 255, 255, 0.32);
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  order: -1;
}

.p-cta__item:first-child {
  order: -1;
}

@media (min-width: 1025px) {
  .p-cta__list {
    flex-direction: row;
  }
  .p-cta__list::after {
    width: 1px;
    height: auto;
  }
  .p-cta__item {
    flex-grow: 1;
  }
}
.p-message {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.p-message__photo {
  aspect-ratio: 311/310;
  overflow: hidden;
}

.p-message__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-message__signature {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 18px;
}

.p-message__role {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1;
}

.p-message__name {
  font-size: 2.7rem;
  font-weight: 700;
  line-height: 1;
}

@media (min-width: 1025px) {
  .p-message {
    gap: 80px;
  }
  .p-message__photo {
    aspect-ratio: 1200/640;
  }
  .p-message__image {
    object-position: center top;
  }
  .p-message__signature {
    gap: 24px;
  }
  .p-message__role {
    font-size: 1.8rem;
  }
  .p-message__name {
    font-size: 3.6rem;
  }
}
.p-philosophy__section {
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.p-philosophy__body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.p-philosophy__content {
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.p-philosophy__inner {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.p-philosophy__heading-group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-philosophy__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-philosophy__heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-philosophy__num {
  color: #848484;
  font-family: "Montserrat", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
}

.c-philosophy__title {
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

@media (min-width: 1025px) {
  .c-philosophy__title {
    font-size: 2.4rem;
  }
}
.p-philosophy__photo-purpose {
  aspect-ratio: 375/260;
  margin: 0 calc((100vw - 100%) / 2 * -1);
  margin-bottom: calc(var(--padding-vertical) * -1);
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-philosophy__photo-purpose .p-philosophy__image {
  height: 140%;
  object-position: 30%;
}

@media (min-width: 1025px) {
  .p-philosophy__photo-purpose {
    height: 560px;
  }
}
.p-philosophy__photo-mission {
  width: 100%;
  aspect-ratio: 311/212;
  overflow: hidden;
}

.p-philosophy__mission-items {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.p-philosophy__mission-item {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-philosophy__mission-item:not(:last-child) {
  padding-bottom: 32px;
  border-bottom: 1px solid var(--clr-border);
}

@media (min-width: 1025px) {
  .p-philosophy__photo-mission {
    aspect-ratio: auto;
  }
  .p-philosophy__mission-items {
    gap: 40px;
  }
  .p-philosophy__mission-item {
    flex-direction: row;
    gap: 80px;
  }
  .p-philosophy__mission-item:not(:last-child) {
    padding-bottom: 40px;
  }
  .p-philosophy__mission-item .c-philosophy__heading {
    min-width: 280px;
    flex-shrink: 0;
  }
  .p-philosophy__mission-item .l-section__text {
    font-size: 1.4rem;
  }
}
.p-philosophy__vision-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.c-philosophy__vision-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.c-philosophy__vision-card__icon-wrap {
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 142px;
  height: 142px;
  border-radius: 50%;
}

.c-philosophy__vision-card__icon {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-philosophy__vision-card__text {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
}

@media (min-width: 1025px) {
  .p-philosophy__vision-grid {
    gap: 40px;
  }
  .c-philosophy__vision-card {
    gap: 24px;
  }
  .c-philosophy__vision-card__icon-wrap {
    width: 280px;
    height: 280px;
  }
  .c-philosophy__vision-card__text {
    font-size: 2.4rem;
    text-align: center;
  }
}
.p-philosophy__value-item::after {
  background-color: #BFC3C9;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2224%22%20fill%3D%22none%22%20viewBox%3D%220%200%2010%2024%22%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22M6%200v17H4V0z%22%2F%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22M5%2024%20.67%2016.5h8.66z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2224%22%20fill%3D%22none%22%20viewBox%3D%220%200%2010%2024%22%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22M6%200v17H4V0z%22%2F%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22M5%2024%20.67%2016.5h8.66z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  content: "";
  display: block;
  width: 10px;
  height: 24px;
  margin: 0 auto;
}

.p-philosophy__value-card {
  background-color: var(--clr-base);
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
}

@media (max-width: 1024px) {
  .p-philosophy__value-list {
    overflow: visible;
  }
  .p-philosophy__value-list::after {
    color: var(--clr-main);
    font-family: "Montserrat", sans-serif;
    content: "Challenge Cycle";
    display: block;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;
    padding: 12px 0 0;
    text-align: center;
  }
}
@media (min-width: 1025px) {
  .p-philosophy__value-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 40px;
  }
  .p-philosophy__value-item {
    position: relative;
  }
  .p-philosophy__value-item::after {
    margin: 0;
    position: absolute;
  }
  .p-philosophy__value-item:nth-child(1) {
    grid-row: 1;
    grid-column: 1;
  }
  .p-philosophy__value-item:nth-child(1)::after {
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%229%22%20fill%3D%22none%22%20viewBox%3D%220%200%2040%209%22%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22m40%204.33-7.5%204.33V5.33H0v-2h32.5V0z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%229%22%20fill%3D%22none%22%20viewBox%3D%220%200%2040%209%22%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22m40%204.33-7.5%204.33V5.33H0v-2h32.5V0z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
    width: 40px;
    height: 9px;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
  }
  .p-philosophy__value-item:nth-child(2) {
    grid-row: 1;
    grid-column: 2;
  }
  .p-philosophy__value-item:nth-child(2)::after {
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%2240%22%20fill%3D%22none%22%20viewBox%3D%220%200%209%2040%22%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22M4.33%2040%200%2032.5h3.33V0h2v32.5h3.33z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%2240%22%20fill%3D%22none%22%20viewBox%3D%220%200%209%2040%22%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22M4.33%2040%200%2032.5h3.33V0h2v32.5h3.33z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
    width: 9px;
    height: 40px;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-philosophy__value-item:nth-child(3) {
    grid-row: 2;
    grid-column: 2;
  }
  .p-philosophy__value-item:nth-child(3)::after {
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%229%22%20fill%3D%22none%22%20viewBox%3D%220%200%2040%209%22%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22m0%204.33%207.5%204.33V5.33H40v-2H7.5V0z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%229%22%20fill%3D%22none%22%20viewBox%3D%220%200%2040%209%22%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22m0%204.33%207.5%204.33V5.33H40v-2H7.5V0z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
    width: 40px;
    height: 9px;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
  }
  .p-philosophy__value-item:nth-child(4) {
    grid-row: 2;
    grid-column: 1;
  }
  .p-philosophy__value-item:nth-child(4)::after {
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%2240%22%20fill%3D%22none%22%20viewBox%3D%220%200%209%2040%22%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22M4.33%200%200%207.5h3.33V40h2V7.5h3.33z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%2240%22%20fill%3D%22none%22%20viewBox%3D%220%200%209%2040%22%3E%3Cpath%20fill%3D%22%23bfc3c9%22%20d%3D%22M4.33%200%200%207.5h3.33V40h2V7.5h3.33z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
    width: 9px;
    height: 40px;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-philosophy__value-card {
    padding: 40px;
    height: 100%;
  }
  .p-philosophy__value-card .l-section__text {
    font-size: 1.4rem;
  }
}
.p-bases {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

#main > section:not(:nth-last-of-type(-n + 2)) .p-bases {
  margin-bottom: calc(var(--padding-vertical) * -1);
}

.p-bases__main {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.p-bases__photo {
  aspect-ratio: 311/332;
}

.p-bases__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-bases__map {
  width: 100%;
  aspect-ratio: 311/260;
}
.p-bases__map iframe {
  width: 100%;
  height: 100%;
  border: none;
}

@media (min-width: 1025px) {
  .p-bases .table-custom {
    width: 100%;
  }
  .p-bases .table-custom table, .p-bases .table-custom tbody, .p-bases .table-custom tr, .p-bases .table-custom th, .p-bases .table-custom td {
    display: block;
  }
  .p-bases .table-custom th {
    border-bottom: none;
    padding-right: 0;
    padding-bottom: 0;
  }
  .p-bases .table-custom td {
    border-top: none;
    padding-top: 16px;
  }
  .p-bases__main {
    flex-direction: row;
  }
  .p-bases__photo {
    aspect-ratio: 552/590;
    width: 55.2%;
    flex-shrink: 0;
  }
  .p-bases__map {
    aspect-ratio: 1000/468;
  }
}
#main > section:not(:last-child) .p-services {
  margin-bottom: calc(var(--padding-vertical) * -1);
}

.p-services__heading {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.p-services__slider div[class^=slider-type] {
  margin-bottom: 0;
}
.p-services__slider [class^=slider-type] .slick-slider {
  grid-template-columns: 1fr max-content max-content;
  gap: 16px 8px;
  overflow: visible;
}
.p-services__slider .slick-list {
  grid-row: 1/2;
  grid-column: 1/4;
  overflow: visible;
}
.p-services__slider .slick-slide {
  border-radius: 6px;
  overflow: hidden;
}
.p-services__slider .slick-slide:not(:last-child) {
  margin-right: 16px;
}
.p-services__slider .slick-slide img {
  width: calc(100vw - var(--padding-overall) * 2);
  aspect-ratio: 311/212;
  object-fit: cover;
}
.p-services__slider ul.slick-dots {
  display: none !important;
}
.p-services__slider .slick-arrow {
  background-color: var(--clr-base);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 49px;
  height: 28px;
  border-radius: 49px;
  transform: none;
  position: relative;
  top: 0;
  left: 0;
  opacity: 1;
}
.p-services__slider .slick-arrow::before {
  background-color: var(--clr-main);
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2213%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2013%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.4%22%20d%3D%22m7%20.495%206%206-6%206M12%206.495H0%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2213%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2013%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.4%22%20d%3D%22m7%20.495%206%206-6%206M12%206.495H0%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  content: "";
  display: block;
  width: 22.4489795918%;
  height: 35.7142857143%;
  margin: auto;
}
.p-services__slider .slick-arrow.slick-disabled::before {
  background-color: #c7c7c7;
}
.p-services__slider .slick-prev {
  grid-row: 2/3;
  grid-column: 2/3;
  margin-left: auto;
}
.p-services__slider .slick-next {
  grid-row: 2/3;
  grid-column: 3/4;
}

.slick-progress {
  grid-row: 2/3;
  grid-column: 1/2;
  align-self: center;
  width: 100%;
  height: 1px;
  background: var(--clr-border);
  overflow: hidden;
}

.slick-progress__bar {
  width: 0;
  height: 100%;
  background: var(--clr-main);
  transition: width 0.3s ease;
}

@media (hover: hover) {
  .p-services__slider .slick-arrow {
    transition: 0.3s ease;
  }
  .p-services__slider .slick-arrow:not(.slick-disabled):hover {
    background-color: var(--clr-main);
    color: #fff;
  }
  .p-services__slider .slick-arrow:not(.slick-disabled):hover::before {
    background-color: #fff;
  }
}
@media (min-width: 1025px) {
  .p-services__heading {
    flex-direction: row;
    gap: 80px;
  }
  .p-services__heading .c-section-heading__title02 {
    width: 46%;
    flex-shrink: 0;
  }
  .p-services__slider [class^=slider-type] .slick-slider {
    gap: 48px 8px;
  }
  .p-services__slider .slick-slide {
    border-radius: 8px;
  }
  .p-services__slider .slick-slide:not(:last-child) {
    margin-right: 32px;
  }
  .p-services__slider .slick-slide img {
    width: 800px;
    height: 468px;
  }
  .p-services__slider .slick-arrow {
    width: 72px;
    height: 44px;
    border-radius: 72px;
  }
}
.p-services__sub-list {
  counter-reset: p-services__list;
  display: flex;
  flex-direction: column;
  gap: 32px;
  overflow: visible;
}

.p-services__sub-item {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.p-services__sub-heading {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-services__sub-title {
  color: var(--clr-main);
  font-size: clamp(2rem, 5.3333333333vw, 2.8rem);
  gap: 0.4285714286em;
  margin: 0;
}
.p-services__sub-title::before {
  counter-increment: p-services__list;
  content: counter(p-services__list, decimal-leading-zero);
  color: var(--clr-accent);
  font-family: "Montserrat", sans-serif;
  font-size: 1.1428571429em;
}

.p-services__sub-list .p-services__slider .slick-list {
  margin-right: -16px;
}
.p-services__sub-list .p-services__slider .slick-slide img {
  width: 100%;
}

@media (min-width: 1025px) {
  .p-services__sub-list {
    flex-direction: row;
    gap: 64px;
  }
  .p-services__sub-item {
    gap: 48px;
    flex: 1;
  }
  .p-services__sub-heading {
    gap: 24px;
    margin-bottom: auto;
  }
  .p-services__sub-list .p-services__slider [class^=slider-type] .slick-slider {
    overflow: hidden;
  }
  .p-services__sub-list .p-services__slider .slick-list {
    margin-right: -32px;
  }
  .p-services__sub-list .p-services__slider .slick-slide img {
    width: 100%;
    height: 308px;
  }
}
.p-product__list {
  display: flex;
  flex-direction: column;
  gap: 64px;
}

.p-product__item {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.p-product__item:not(:last-child) {
  border-bottom: 1px solid var(--clr-border);
  padding-bottom: 64px;
}

@media (min-width: 1025px) {
  .p-product__list {
    gap: 80px;
  }
  .p-product__item {
    flex-direction: row;
    gap: 80px;
  }
  .p-product__item:not(:last-child) {
    padding-bottom: 80px;
  }
  .p-product__item .p-product__slider {
    width: 42.4%;
    flex-shrink: 0;
  }
}
.p-product__sub-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 16px !important;
}

.p-product__sub-item {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-product__sub-box {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.p-product__sub-heading {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-product__sub-title {
  color: var(--clr-main);
  margin: 0;
}

.p-product__sub-stit {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

@media (min-width: 1025px) {
  .p-product__sub-list {
    gap: 56px;
  }
  .p-product__sub-item {
    gap: 24px;
  }
}
.p-product__notice {
  background-color: var(--clr-base);
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
}

.p-product__notice-heading {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-product__notice-title {
  color: var(--clr-main);
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

.p-product__panels {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.p-product__panel {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
}

.p-product__panel-title {
  border-bottom: 1px solid var(--clr-base);
  color: var(--clr-main);
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  padding-bottom: 24px;
}

.p-product__subitem {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-product__subitem-heading {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-product__subtitle {
  color: var(--clr-main);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

@media (min-width: 1025px) {
  .p-product__notice {
    gap: 40px;
    padding: 56px;
  }
  .p-product__notice-title {
    font-size: 2.4rem;
  }
  .p-product__panels {
    gap: 40px;
  }
  .p-product__panel {
    gap: 40px;
    padding: 56px;
  }
  .p-product__panel-title {
    font-size: 2.4rem;
    padding-bottom: 40px;
  }
  .p-product__subitem {
    flex-direction: row;
    gap: 56px;
  }
  .p-product__subtitle {
    font-size: 2rem;
  }
}
.p-product__slider div[class^=slider-type] {
  margin-bottom: 0;
}
.p-product__slider [class^=slider-type] .slick-slider {
  grid-template-columns: 1fr max-content 1fr;
  gap: 16px 24px;
}
.p-product__slider .slick-list {
  grid-row: 1/2;
  grid-column: 1/4;
  border-radius: 6px;
}
.p-product__slider .slick-slide {
  aspect-ratio: 311/212;
  overflow: hidden;
}
.p-product__slider .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-product__slider ul.slick-dots {
  grid-row: 2/3;
  grid-column: 2/3;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.p-product__slider ul.slick-dots li {
  width: 6px;
  height: 6px;
  margin: 0;
}
.p-product__slider ul.slick-dots button {
  width: 6px;
  height: 6px;
  padding: 0;
}
.p-product__slider ul.slick-dots button::before {
  background-color: var(--clr-main);
  position: static;
  display: block;
  width: 6px;
  height: 6px;
  opacity: 0.16;
}
.p-product__slider ul.slick-dots .slick-active button::before {
  opacity: 1;
}
.p-product__slider .slick-dots:has(li:only-child) {
  display: none;
}
.p-product__slider .slick-arrow {
  background-color: var(--clr-base);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 49px;
  height: 28px;
  border-radius: 49px;
  transform: none;
  position: relative;
  top: 0;
  left: 0;
  opacity: 1;
}
.p-product__slider .slick-arrow::before {
  background-color: var(--clr-main);
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2213%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2013%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.4%22%20d%3D%22m7%20.495%206%206-6%206M12%206.495H0%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2213%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2013%22%3E%3Cpath%20stroke%3D%22%230a3b87%22%20stroke-width%3D%221.4%22%20d%3D%22m7%20.495%206%206-6%206M12%206.495H0%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  content: "";
  display: block;
  width: 22.4489795918%;
  height: 35.7142857143%;
  margin: auto;
}
.p-product__slider .slick-arrow.slick-disabled::before {
  background-color: #c7c7c7;
}
.p-product__slider .slick-prev {
  grid-row: 2/3;
  grid-column: 1/2;
  margin-left: auto;
}
.p-product__slider .slick-next {
  grid-row: 2/3;
  grid-column: 3/4;
}

@media (hover: hover) {
  .p-product__slider .slick-arrow {
    transition: 0.3s ease;
  }
  .p-product__slider .slick-arrow:not(.slick-disabled):hover {
    background-color: var(--clr-main);
    color: #fff;
  }
  .p-product__slider .slick-arrow:not(.slick-disabled):hover::before {
    background-color: #fff;
  }
}
.p-recruit-hero {
  background-color: #062e6c;
  color: #ffffff;
  position: relative;
  background-color: #062e6c;
  margin: -80px calc(var(--padding-overall) * -1) 0;
  padding: 49.6vw var(--padding-overall) calc(33.3333333333vw + 80px);
  position: relative;
  overflow: hidden;
}

.p-recruit-hero__header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 170.6666666667vw;
  overflow: hidden;
  pointer-events: none;
}
.p-recruit-hero__header img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.p-recruit-hero__header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to left, rgba(6, 46, 108, 0.25), rgba(6, 46, 108, 0.6));
  pointer-events: none;
}
.p-recruit-hero__header::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(6, 46, 108, 0) 38%, rgb(6, 46, 108));
  pointer-events: none;
}

.p-recruit-hero__symbol-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 170.6666666667vw;
  pointer-events: none;
}

.p-recruit-hero__symbol {
  position: absolute;
  top: calc(65.8666666667vw + 205px);
  right: -20vw;
  pointer-events: none;
  opacity: 0.12;
  mix-blend-mode: screen;
  width: 115.7333333333vw;
}
.p-recruit-hero__symbol img {
  width: 100%;
  max-width: none;
  height: auto;
}

.p-recruit-hero__content {
  display: flex;
  flex-direction: column;
  gap: 64px;
  position: relative;
}

.p-recruit-hero__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4.2666666667vw;
  overflow: visible;
  margin: 0;
}

.p-recruit-hero__title-en {
  font-family: "Montserrat", sans-serif;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1;
  text-transform: capitalize;
}

.p-recruit-hero__title-jp {
  font-size: 8.5333333333vw;
  font-weight: 700;
  line-height: 1.5;
}

.p-recruit-hero__message {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2.5;
}
.p-recruit-hero__message p + p {
  margin-top: 1em;
}

@media (min-width: 1025px) {
  .p-recruit-hero {
    margin: calc(min(11.1111111111vw, 160px) * -1) calc(var(--padding-overall) * -1) 0;
    padding: 40vh var(--padding-overall) 22.2222222222vw;
  }
  .p-recruit-hero__header {
    height: 75vw;
  }
  .p-recruit-hero__symbol-wrap {
    height: 75vw;
  }
  .p-recruit-hero__symbol {
    top: 47.7083333333vw;
    left: calc(50% + 242px);
    right: auto;
    transform: translateX(-50%);
    width: 1450px;
  }
  .p-recruit-hero__content {
    gap: min(8.3333333333vw, 120px);
  }
  .p-recruit-hero__title {
    gap: min(1.6666666667vw, 24px);
  }
  .p-recruit-hero__title-en {
    font-size: min(1.25vw, 18px);
  }
  .p-recruit-hero__title-jp {
    font-size: min(5vw, 72px);
  }
  .p-recruit-hero__message {
    font-size: 1.8rem;
    line-height: 3;
  }
}
.p-recruit-hero__loop {
  margin: -33.3333333333vw calc(var(--padding-overall) * -1) -80px;
  overflow: hidden;
  position: relative;
  pointer-events: none;
}

.p-recruit-hero__loop-list {
  display: flex;
  align-items: center;
  width: max-content;
  animation: sliderLoop 56s linear infinite;
  animation-play-state: paused;
}
.p-recruit-hero__loop-list.is-active {
  animation-play-state: running;
}

.p-recruit-hero__loop-item {
  flex: 0 0 auto;
  margin: 0 0 0 4.2666666667vw;
}
.p-recruit-hero__loop-item:nth-child(odd) {
  width: 56.5333333333vw;
  height: auto;
  aspect-ratio: 212/250;
}
.p-recruit-hero__loop-item:nth-child(even) {
  width: 84vw;
  height: auto;
  aspect-ratio: 315/212;
}
.p-recruit-hero__loop-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes sliderLoop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@media (min-width: 1025px) {
  .p-recruit-hero__loop {
    margin-top: calc(min(13.8888888889vw, 200px) * -1);
  }
  .p-recruit-hero__loop-item {
    margin: 0 0 0 32px;
  }
  .p-recruit-hero__loop-item:nth-child(odd) {
    width: min(23.6111111111vw, 340px);
    aspect-ratio: 340/400;
  }
  .p-recruit-hero__loop-item:nth-child(even) {
    width: min(35vw, 504px);
    aspect-ratio: 504/338;
  }
}
.p-recruit__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-recruit__company .p-recruit__media {
  margin-left: calc(var(--padding-overall) * -1);
  margin-right: calc(var(--padding-overall) * -0.5);
}

@media (min-width: 1025px) {
  .p-recruit__company {
    flex-direction: row;
    gap: min(6.1111111111vw, 88px);
    align-items: center;
    margin: 0 calc(var(--padding-overall) * -1);
  }
  .p-recruit__company .p-recruit__media {
    margin: 0;
    width: 51.3888888889%;
    flex-shrink: 0;
  }
  .p-recruit__company .l-section__content {
    width: 34.7222222222%;
  }
  .p-recruit__company .c-button {
    align-self: flex-start;
  }
}
.p-recruit__work .p-recruit__media {
  margin-left: calc(var(--padding-overall) * -0.5);
  margin-right: calc(var(--padding-overall) * -1);
}

@media (min-width: 1025px) {
  .p-recruit__work {
    flex-direction: row;
    gap: min(6.1111111111vw, 88px);
    justify-content: flex-end;
    align-items: center;
    margin: 0 calc(var(--padding-overall) * -1);
  }
  .p-recruit__work .p-recruit__media {
    order: 1;
    margin: 0;
    width: 51.3888888889%;
    flex-shrink: 0;
  }
  .p-recruit__work .l-section__content {
    width: 34.7222222222%;
  }
  .p-recruit__work .c-button {
    align-self: flex-start;
  }
}
.p-recruit__person-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

@media (min-width: 1025px) {
  .p-recruit__person-list {
    flex-direction: row;
    gap: min(1.6666666667vw, 24px);
    margin: 0 -40px !important;
  }
}
.p-interview-hero {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: -80px calc(var(--padding-overall) * -1);
  position: relative;
  aspect-ratio: 375/480;
}

.p-interview-hero__media {
  position: absolute;
  inset: 0;
}

.p-interview-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.p-interview-hero__gradient {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 50%;
  background: linear-gradient(180deg, rgba(10, 59, 135, 0) 0%, #0A3B87 100%);
  pointer-events: none;
}

.p-interview-hero__content {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667vw;
  padding: 8.5333333333vw 6.4vw;
  position: relative;
}

.p-interview-hero__catch {
  font-feature-settings: "palt";
  color: var(--clr-main);
  font-size: 5.8666666667vw;
  font-weight: 700;
  line-height: 2.4;
}

.p-interview-hero__catch-text {
  background-color: #fff;
  padding: 2.4vw 2.1333333333vw;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.p-interview-hero__profile {
  color: #fff;
  font-weight: 700;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4.2666666667vw;
}

.p-interview-hero__meta {
  font-size: 3.2vw;
  opacity: 0.8;
}

.p-interview-hero__name {
  font-size: 6.4vw;
}

@media (min-width: 1025px) {
  .p-interview-hero {
    margin: calc(min(11.1111111111vw, 160px) * -1) calc(var(--padding-overall) * -1);
    height: auto;
    aspect-ratio: auto;
    min-height: 700px;
    height: 76vh;
  }
  .p-interview-hero__content {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 56px 44px;
    position: relative;
  }
  .p-interview-hero__catch {
    font-size: 44px;
    line-height: 2.3;
  }
  .p-interview-hero__catch-text {
    padding: 16px 24px;
  }
  .p-interview-hero__profile {
    gap: 24px;
  }
  .p-interview-hero__meta {
    font-size: 18px;
  }
  .p-interview-hero__name {
    font-size: 30px;
  }
}
.p-interview__qa-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.p-interview__qa {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.p-interview__qa-image-wrap {
  aspect-ratio: 311/212;
  overflow: hidden;
}

.p-interview__qa-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-interview__qa-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-interview__question {
  color: var(--clr-main);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-interview__qa--message {
  gap: 40px;
  padding: 0;
  margin-left: calc(var(--padding-overall) * -1);
  margin-right: calc(var(--padding-overall) * -1);
}
.p-interview__qa--message .p-interview__qa-image-wrap {
  aspect-ratio: 375/260;
}
.p-interview__qa--message .p-interview__qa-content {
  padding: 0 var(--padding-overall);
}

@media (min-width: 1025px) {
  .p-interview__qa-list {
    gap: 16px;
  }
  .p-interview__qa {
    flex-direction: row;
    gap: min(5.5555555556vw, 80px);
  }
  .p-interview__qa-image-wrap {
    aspect-ratio: 486/320;
    width: 40%;
    order: 1;
    flex-shrink: 0;
    align-self: flex-start;
  }
  .p-interview__qa-image {
    object-position: center 30%;
  }
  .p-interview__qa-content {
    gap: 24px;
  }
  .p-interview__question {
    font-size: 2.4rem;
  }
  .p-interview__qa--message {
    flex-direction: column;
    gap: 80px;
    padding: 0;
    margin-top: 64px;
    margin-left: 0;
    margin-right: 0;
  }
  .p-interview__qa--message .p-interview__qa-image-wrap {
    border-radius: 8px;
    width: 100%;
    height: 520px;
    order: -1;
  }
  .p-interview__qa--message .p-interview__qa-content {
    display: flex;
    flex-direction: row;
    gap: min(8.3333333333vw, 120px);
    padding: 0;
  }
  .p-interview__qa--message .p-interview__question {
    flex-shrink: 0;
  }
}
.p-interview-oneday .c-section-heading__title-jp,
.p-interview-oneday .c-section-heading__title-en {
  color: #fff;
}
.p-interview-oneday .c-section-heading__title-jp::before {
  background-color: #fff;
}
.p-interview-oneday .l-section__inner {
  position: relative;
}

.p-interview-oneday__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 280px;
  opacity: 0.24;
  pointer-events: none;
}
.p-interview-oneday__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 59, 135, 0) 0%, #0a3b87 80%);
}

.p-interview-oneday__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

.p-interview-oneday__timeline {
  color: white;
}

.p-interview-oneday__item {
  display: grid;
  grid-template-columns: auto 50px 1fr;
  column-gap: 16px;
}

.p-interview-oneday__track {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 12px;
}
.p-interview-oneday__track::before {
  background-color: #fff;
  content: "";
  flex-shrink: 0;
  width: 2px;
  height: 8px;
  opacity: 0.24;
}

.p-interview-oneday__item:first-child .p-interview-oneday__track::before {
  opacity: 0;
}

.p-interview-oneday__track-line {
  background-color: #fff;
  flex: 1;
  width: 2px;
  min-height: 0;
  opacity: 0.24;
}

.p-interview-oneday__track-dot {
  background-color: #fff;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.p-interview-oneday__time {
  font-family: "Montserrat", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  padding-top: 5px;
}

.p-interview-oneday__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 40px;
}
.p-interview-oneday__body ul:not([id]):not([class]) {
  margin: 0;
}
.p-interview-oneday__body ul:not([id]):not([class]) li {
  font-size: 1.2rem;
}
.p-interview-oneday__body ul:not([id]):not([class]) li::marker {
  color: #fff;
}

.p-interview-oneday__title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-interview-oneday__item:last-child .p-interview-oneday__body {
  padding-bottom: 0;
}

@media (min-width: 1025px) {
  .p-interview-oneday__bg {
    left: auto;
    right: 0;
    width: 63.8888888889vw;
    height: 100%;
  }
  .p-interview-oneday__bg::after {
    background: linear-gradient(to left, rgba(10, 59, 135, 0) 0%, #0a3b87 80%);
  }
  .p-interview-oneday__timeline {
    column-count: 2;
    gap: 5.5555555556vw;
    width: fit-content;
    margin: 0 auto !important;
  }
  .p-interview-oneday__item {
    grid-template-columns: auto 60px 1fr;
    column-gap: 32px;
    break-inside: avoid;
  }
  .p-interview-oneday__time {
    font-size: 1.8rem;
  }
  .p-interview-oneday__body ul:not([id]):not([class]) li {
    font-size: 1.4rem;
  }
  .p-interview-oneday__title {
    font-size: 1.8rem;
  }
}
.p-interview-others__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

@media (min-width: 1025px) {
  .p-interview-others__list {
    flex-direction: row;
  }
}
.p-policy__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.p-policy__list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.p-policy__section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.p-policy__heading {
  color: var(--clr-main);
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.7;
}

.p-policy__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.p-policy__date {
  text-align: right;
}

@media (min-width: 1025px) {
  .p-policy__list {
    gap: 48px;
  }
  .p-policy__heading {
    font-size: 1.8rem;
  }
}