@charset "UTF-8";
/*----------------------------------------
	fonts
----------------------------------------*/
/*----------------------------------------
	Vars
----------------------------------------*/
/*----------------------------------------
	Reset
----------------------------------------*/
html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp, small,
strike, strong, sub, sup, tt, var, b, u, i, center,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article,
aside, canvas, details, embed, figure, figcaption, footer,
header, hgroup, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  font: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

th, td {
  text-align: left;
  vertical-align: top;
}

img {
  border: none;
  vertical-align: top;
}

/*----------------------------------------
	Colors
----------------------------------------*/
/*----------------------------------------
	Mediaquery
----------------------------------------*/
/*----------------------------------------
	fonts
----------------------------------------*/
/*----------------------------------------
	Base
----------------------------------------*/
html {
  font-size: 14px;
}
@media screen and (min-width: 769px) {
  html {
    font-size: 15px;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0;
  background-color: #011C53;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%;
}

img {
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  transition: opacity 0.4s ease;
}
a:link, a:visited {
  color: #000000;
}

a[data-rel=external]:after {
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.5em;
  background: transparent url("../image/icon-external.png") no-repeat scroll center center;
  background-size: contain;
  margin-right: 0.5em;
}

/*----------------------------------------
	Setting
----------------------------------------*/
/* font family */
/*----------------------------------------
	Layout
----------------------------------------*/
.l-limit {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .l-limit {
    box-sizing: border-box;
    max-width: 1600px;
  }
}

.l-frame {
  --max-width: 1.25px;
  width: 88.8888888889%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .l-frame {
    width: 84.375%;
    max-width: 1600px;
  }
}
@media screen and (min-width: 769px) {
  .l-frame--xs {
    width: 62.5%;
    max-width: calc(800 * var(--max-width));
  }
}
@media screen and (min-width: 769px) {
  .l-frame--md {
    width: 81.25%;
    max-width: calc(1040 * var(--max-width));
  }
}
@media screen and (min-width: 769px) {
  .l-frame--md-lg {
    width: 87.5%;
    max-width: calc(1120 * var(--max-width));
  }
}
@media screen and (min-width: 769px) {
  .l-frame--lg {
    width: 90.625%;
    max-width: calc(1160 * var(--max-width));
  }
}
.l-frame--full {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .l-frame--full {
    width: 100%;
  }
}

@media screen and (min-width: 769px) {
  .l-column {
    display: flex;
    justify-content: space-between;
  }
}
.l-column-both {
  display: flex;
  justify-content: space-between;
}
.l-column--wrap {
  flex-wrap: wrap;
}
.l-column--reverse {
  flex-direction: row-reverse;
}

/*----------------------------------------
	Header
----------------------------------------*/
:root {
  --dur-fast: .22s; /* 基本 */
}

.l-header {
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 94.4444444444%;
  padding-left: 4.7058823529%;
  background-color: #ffffff;
  border-radius: 2px;
  box-sizing: border-box;
  transition: width var(--dur-fast) ease-in 0s, top var(--dur-fast) ease-in 0s;
}
@media screen and (min-width: 769px) {
  .l-header {
    width: 90.625%;
    padding-left: 2.5862068966%;
  }
}
.l-header.is-fixed, .l-header--home {
  top: 0;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .l-header.is-fixed .l-headerMenu__item--recruit, .l-header.is-fixed .l-headerMenu__item--contact, .l-header--home .l-headerMenu__item--recruit, .l-header--home .l-headerMenu__item--contact {
    height: 60px;
  }
}
.l-header.is-fixed .l-headerButton, .l-header--home .l-headerButton {
  height: 46px;
}
@media screen and (min-width: 769px) {
  .l-header.is-fixed .l-headerButton, .l-header--home .l-headerButton {
    height: 60px;
  }
}
.l-header.is-fixed .l-navigation, .l-header--home .l-navigation {
  top: 58px;
}
@media screen and (min-width: 769px) {
  .l-header--home .l-headerMenu__item .l-navigation {
    top: 59px;
  }
}

.l-headerTitle {
  width: 122px;
}
@media screen and (min-width: 769px) {
  .l-headerTitle {
    width: 120px;
  }
}
@media screen and (min-width: 1000px) {
  .l-headerTitle {
    width: 153px;
  }
}

.l-headerWrapper {
  --gnav-background: 0;
  display: flex;
  margin-left: auto;
}
.l-headerWrapper::before {
  content: "";
  position: fixed;
  top: -39%;
  left: -39%;
  width: 100vh;
  height: 100svh;
  background-color: rgba(255, 255, 255, 0.7);
  opacity: var(--gnav-background);
  transition: opacity var(--dur-fast) ease-in 0s;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .l-headerWrapper::before {
    display: none;
  }
}

.l-headerMenu {
  display: none;
}
@media screen and (min-width: 769px) {
  .l-headerMenu {
    display: flex;
    align-items: center;
  }
}
.l-headerMenu__item {
  position: relative;
}
.l-headerMenu__item + .l-headerMenu__item {
  margin-left: max(0.78125vw, 10px);
}
@media screen and (min-width: 769px) {
  .l-headerMenu__item + .l-headerMenu__item {
    margin-left: min(1.5625vw, 20px);
  }
}
.l-headerMenu__item > a, .l-headerMenu__item > p {
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 11px;
  line-height: 15.4px;
  cursor: pointer;
  transition: color 0.36s ease-in 0s;
}
@media screen and (min-width: 769px) {
  .l-headerMenu__item > a, .l-headerMenu__item > p {
    font-size: clamp(12px, 1.09375vw, 14px);
  }
}
.l-headerMenu__item > a:hover, .l-headerMenu__item > p:hover {
  opacity: 1;
  color: #00388D;
}
.l-headerMenu__item > p {
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 4px;
}
.l-headerMenu__item > p::after {
  content: "";
  display: block;
  width: 10px;
  height: 5px;
  background: transparent url(../image/common/arrow_header.svg) no-repeat scroll center center/cover;
  transition: transform 0.28s ease-in 0s;
}
.l-headerMenu__item > p:hover::after {
  transform: rotate(180deg);
}
.l-headerMenu__item--box {
  width: 9.84375vw;
  max-width: 140px;
  height: 100%;
}
@media screen and (min-width: 1000px) {
  .l-headerMenu__item--box {
    width: 10.9375vw;
  }
}
.l-headerMenu__item--box a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .l-headerMenu__item--recruit, .l-headerMenu__item--contact {
    height: 70px;
    transition: height var(--dur-fast) ease-in 0s;
  }
}
.l-headerMenu__item--recruit {
  margin-left: 1.875vw !important;
}
@media screen and (min-width: 769px) {
  .l-headerMenu__item--recruit {
    margin-left: 1.875vw !important;
  }
}
.l-headerMenu__item--recruit a {
  background-color: #0033A2;
}
.l-headerMenu__item--contact {
  margin-left: 0 !important;
}
.l-headerMenu__item--contact a {
  background-color: #0A45C7;
}
.l-headerMenu__item.-youtube {
  width: 22px;
  margin-left: 1.875vw;
}
.l-headerMenu__item.-tiktok {
  width: 17px;
  margin-left: 1.25vw;
}
.l-headerMenu__item.-instagram {
  width: 19px;
  height: 19px;
  margin-left: 1.25vw;
}
.l-headerMenu__item.-youtube img, .l-headerMenu__item.-tiktok img, .l-headerMenu__item.-instagram img {
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}
.l-headerMenu__item .l-navigation {
  opacity: 0;
  visibility: hidden;
  display: flex;
  justify-content: center;
  gap: 0 20px;
  position: fixed;
  top: 70px;
  left: 0;
  width: 100%;
  padding: 26px 0 30px;
  transition: opacity 0.36s ease-in 0s;
  background-color: #002B71;
}
.l-headerMenu__item .l-navigation li {
  width: 18.75%;
  max-width: 240px;
}
.l-headerMenu__item .l-navigation li a {
  position: relative;
  box-sizing: border-box;
  transition: all 0.3s ease-in 0s;
  pointer-events: none;
}
.l-headerMenu__item .l-navigation li:hover a {
  opacity: 1;
}
.l-headerMenu__item .l-navigation li:hover .l-navigation__thumb picture {
  transform: scale(1.06);
}
.l-headerMenu__item .l-navigation li p::after {
  display: none;
}
.l-headerMenu__item .l-navigation__thumb {
  overflow: hidden;
}
.l-headerMenu__item .l-navigation__thumb picture {
  display: block;
  transition: transform 0.36s ease-in 0s;
}
.l-headerMenu__item .l-navigation__contents {
  display: flex;
  align-items: center;
  gap: 0 12px;
  margin-top: 10px;
}
.l-headerMenu__item .l-navigation__number {
  font-size: 12px;
  line-height: 1.5;
  color: #ffffff;
}
.l-headerMenu__item .l-navigation__heading {
  font-size: 16px;
  line-height: 1.5;
  color: #ffffff;
}

.l-headerButton {
  z-index: 9999;
  position: relative;
  display: block;
  width: 52px;
  height: 52px;
  margin-left: auto;
  background-color: #000000;
  transition: height var(--dur-fast) ease-in 0s;
}
@media screen and (min-width: 769px) {
  .l-headerButton {
    display: none;
    width: 60px;
    height: 70px;
    cursor: pointer;
  }
}
@media screen and (min-width: 1000px) {
  .l-headerButton {
    width: 70px;
    height: 70px;
  }
}
.l-headerButton span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 22px;
  height: 2px;
  background-color: #ffffff;
  transition: background-color 0.28s ease-in 0s;
}
.l-headerButton span::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -8px;
  left: 0;
  width: 22px;
  height: 2px;
  background-color: #ffffff;
  transition: all 0.28s ease-in 0s;
}
.l-headerButton span::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 8px;
  left: 0;
  width: 22px;
  height: 2px;
  background-color: #ffffff;
  transition: all 0.28s ease-in 0s;
}
.l-headerButton.is-open span {
  background-color: transparent;
}
.l-headerButton.is-open span::before {
  top: 0;
  transform: rotate(33deg);
}
.l-headerButton.is-open span::after {
  top: 0;
  transform: rotate(-33deg);
}

.l-headerGnav {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  width: 94.4444444444%;
  height: 100svh;
  padding: 70px 0 40px;
  opacity: 0;
  pointer-events: none;
  transition: width var(--dur-fast) ease-in 0s;
  overflow-y: scroll;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .l-headerGnav {
    display: none;
  }
}
.l-headerGnav__wrap {
  z-index: 1;
  position: relative;
  background-color: #002B71;
  overflow: hidden;
}
.l-headerGnav__wrap .c-figure {
  z-index: -1;
}

.l-buttons {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto 6px;
}
.l-buttons__item {
  text-align: center;
  width: 49.1176470588%;
}
.l-buttons__item a {
  display: block;
  padding: 16px 0 18px;
  color: #ffffff;
  font-size: 16px;
  line-height: 20px;
}
.l-buttons__item:nth-of-type(1) a {
  background-color: #0033A2;
}
.l-buttons__item:nth-of-type(2) a {
  background-color: #0A45C7;
}

.l-global {
  z-index: 2;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 10px 20px 50px;
}
.l-global__item {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding-right: 10px;
  border-bottom: 4px solid #ffffff;
  box-sizing: border-box;
}
.l-global__item .c-arrowInner * {
  fill: #ffffff;
}
.l-global__item > a, .l-global__item > p {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 20px 0;
  color: #ffffff;
  font-size: 15px;
}
.l-global__item > p {
  flex: 1;
}
.l-global__item > p + ul {
  display: flex;
  flex-direction: column;
  gap: 12px 0;
  width: 58.6666666667%;
  padding: 20px 0;
}
.l-global__item > p + ul li a {
  display: flex;
  justify-content: space-between;
  width: 100%;
  color: #ffffff;
  font-size: 13px;
  line-height: 19px;
}

.l-social {
  display: flex;
  gap: 0 8px;
  margin-top: 16px;
}
.l-social__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  background-color: #ffffff;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .l-social__item a {
    aspect-ratio: 1/1;
  }
}
.l-social__item.-youtube img, .l-social__item.-tiktok img, .l-social__item.-instagram img {
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}
.l-social__item.-youtube img {
  width: 22px;
}
.l-social__item.-tiktok img {
  width: 17px;
}
.l-social__item.-instagram img {
  width: 19px;
}

/*----------------------------------------
	Footer
----------------------------------------*/
.l-footer {
  z-index: 2;
  position: relative;
  background-color: #ffffff;
  padding: 40px 8.3333333333% 22px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .l-footer {
    padding: 50px 4.6875% 40px;
  }
}
@media screen and (min-width: 769px) {
  .l-footer__column {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0 20px;
  }
}

.l-footerHead {
  margin-bottom: 22px;
}
@media screen and (min-width: 769px) {
  .l-footerHead {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 20px;
  }
}
.l-footerHead__logo {
  width: 220px;
  margin: 0 auto 25px;
}
@media screen and (min-width: 769px) {
  .l-footerHead__logo {
    width: 250px;
    margin: 0;
  }
}
.l-footerHead__buttons {
  display: flex;
  flex-direction: column;
  gap: 10px 0;
}
@media screen and (min-width: 769px) {
  .l-footerHead__buttons {
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
    width: 56.8965517241%;
  }
}
.l-footerHead__buttons__item {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .l-footerHead__buttons__item {
    width: 47.8787878788%;
    max-width: initial;
    margin: 0;
  }
}
.l-footerHead__buttons__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 0 16px;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 16px;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .l-footerHead__buttons__item a {
    padding: 22px 0 24px;
    font-size: 18px;
    line-height: 20px;
  }
}
.l-footerHead__buttons__item--recruit a {
  background-color: #0033A2;
}
.l-footerHead__buttons__item--contact a {
  background-color: #0A45C7;
}

.l-footerMenu {
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .l-footerMenu {
    order: 3;
    display: grid;
    grid-template: "menu1 menu2 menu3" "menu4 menu5 menu7" "menu4 menu6 ..." "menu4 ... ...";
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 4.5454545455%;
    width: 56.8965517241%;
    margin-bottom: 0;
  }
}
.l-footerMenu__item {
  position: relative;
  display: flex;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .l-footerMenu__item {
    flex-direction: column;
  }
}
.l-footerMenu__item::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #000000;
  transition: transform 0.36s ease-in 0s;
  transform-origin: left;
}
.l-footerMenu__item > a, .l-footerMenu__item > p {
  display: block;
  padding: 18px 18px 22px 0;
  font-size: 15px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .l-footerMenu__item > a, .l-footerMenu__item > p {
    padding: 22px 20px 24px 0;
    font-size: 18px;
  }
}
.l-footerMenu__item > a {
  position: relative;
  width: 100%;
}
.l-footerMenu__item > a .c-arrowInner {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  width: 10px;
}
.l-footerMenu__item > a:hover {
  opacity: 1;
}
.l-footerMenu__item p + ul {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px 0;
  padding: 17px 0;
}
@media screen and (min-width: 769px) {
  .l-footerMenu__item p + ul {
    padding: 0 0 20px;
  }
}
.l-footerMenu__item p + ul li a {
  position: relative;
  display: block;
  width: 100%;
  font-weight: 700;
  font-size: 13px;
  line-height: 19px;
  padding-right: 22px;
  box-sizing: border-box;
}
.l-footerMenu__item p + ul li a .c-arrowInner {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  width: 10px;
}
.l-footerMenu__item p + ul li a:hover .c-arrow--out {
  transform: translateX(150%);
}
.l-footerMenu__item p + ul li a:hover .c-arrow--in {
  transform: translateX(0%);
}
.l-footerMenu__item:not(:has(> ul)):hover .c-arrow--out {
  transform: translateX(150%);
}
.l-footerMenu__item:not(:has(> ul)):hover .c-arrow--in {
  transform: translateX(0%);
}
.l-footerMenu__item:not(:has(> ul)):hover::before {
  transform: scaleX(0);
  transform-origin: right;
}
@media screen and (min-width: 769px) {
  .l-footerMenu__item:nth-of-type(1) {
    grid-area: menu1;
  }
}
@media screen and (min-width: 769px) {
  .l-footerMenu__item:nth-of-type(2) {
    grid-area: menu4;
  }
}
@media screen and (min-width: 769px) {
  .l-footerMenu__item:nth-of-type(3) {
    grid-area: menu2;
  }
}
@media screen and (min-width: 769px) {
  .l-footerMenu__item:nth-of-type(4) {
    grid-area: menu5;
  }
}
@media screen and (min-width: 769px) {
  .l-footerMenu__item:nth-of-type(5) {
    grid-area: menu6;
  }
}
@media screen and (min-width: 769px) {
  .l-footerMenu__item:nth-of-type(6) {
    grid-area: menu3;
  }
}
@media screen and (min-width: 769px) {
  .l-footerMenu__item:nth-of-type(7) {
    grid-area: menu7;
  }
}
@media screen and (min-width: 769px){
  .l-footerMenu__item:nth-of-type(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .l-footerMenu__item:nth-of-type(2) {
    -ms-grid-row: 3;
    -ms-grid-row-span: 5;
    -ms-grid-column: 1;
  }
  .l-footerMenu__item:nth-of-type(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .l-footerMenu__item:nth-of-type(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .l-footerMenu__item:nth-of-type(5) {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
  }
  .l-footerMenu__item:nth-of-type(6) {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
  .l-footerMenu__item:nth-of-type(7) {
    -ms-grid-row: 3;
    -ms-grid-column: 5;
  }
}
.l-footerMenu__item:nth-of-type(7)::before {
  display: none;
}
.l-footerMenu__item:nth-of-type(7) a {
  font-weight: 700;
  font-size: 14px;
}
@media screen and (min-width: 769px) {
  .l-footerMenu__item:nth-of-type(7) a {
    font-size: 16px;
  }
}

.l-footerInfo {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 10px 0;
}
@media screen and (min-width: 769px) {
  .l-footerInfo {
    flex: 1;
    order: 2;
    text-align: left;
    gap: 7px 0;
  }
}
.l-footerInfo__sns {
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .l-footerInfo__sns {
    margin-bottom: 26px;
  }
}
.l-footerInfo__sns__heading {
  text-align: center;
  margin-bottom: 9px;
  font-size: 15px;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .l-footerInfo__sns__heading {
    text-align: left;
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 24px;
  }
}
.l-footerInfo__sns__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
@media screen and (min-width: 769px) {
  .l-footerInfo__sns__list {
    justify-content: flex-start;
  }
}
.l-footerInfo__sns__item a {
  display: flex;
  align-items: center;
  gap: 8.8px;
  width: 134px;
  height: 46px;
  padding: 15px 16px;
  border: 1px solid #C2CDE3;
  box-sizing: border-box;
  font-size: 15px;
}
.l-footerInfo__sns__item.-youtube img {
  width: 24px;
}
.l-footerInfo__sns__item.-tiktok img {
  width: 18px;
}
.l-footerInfo__sns__item.-instagram img {
  width: 20px;
}
@media screen and (min-width: 769px) {
  .l-footerInfo__row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 15px;
    margin-bottom: -2px;
  }
}
.l-footerInfo__addr {
  margin-bottom: 10px;
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .l-footerInfo__addr {
    margin-bottom: 0;
    padding-top: 2px;
    line-height: 18px;
  }
}
.l-footerInfo__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 3px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 24px;
  color: #0033A2;
}
@media screen and (min-width: 769px) {
  .l-footerInfo__tel {
    justify-content: flex-start;
  }
}
.l-footerInfo__tel span {
  font-size: 12px;
  color: #000000;
}
.l-footerInfo__copyright {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 11px;
  line-height: 18px;
}

/*----------------------------------------
	Figure
----------------------------------------*/
.c-figure {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

[data-mask] {
  --hero-figure-mask-size: 0;
  -webkit-mask-position: center, top;
  mask-position: center, top;
  -webkit-mask-repeat: no-repeat, no-repeat;
  mask-repeat: no-repeat, no-repeat;
  -webkit-mask-size: 100% 100%, 100% calc(var(--hero-figure-mask-size) * 1%);
  mask-size: 100% 100%, 100% calc(var(--hero-figure-mask-size) * 1%);
  -webkit-mask-composite: source-in, xor;
  mask-composite: intersect;
  transition: -webkit-mask-image 0.2s ease 0s;
  transition: mask-image 0.2s ease 0s;
  transition: mask-image 0.2s ease 0s, -webkit-mask-image 0.2s ease 0s;
}

[data-mask=main01] {
  -webkit-mask-image: url(../image/common/figure_main01.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_main01.svg), linear-gradient(#000 0 0);
}

[data-mask=main02] {
  -webkit-mask-image: url(../image/common/figure_main02.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_main02.svg), linear-gradient(#000 0 0);
}

[data-mask=main03] {
  -webkit-mask-image: url(../image/common/figure_main03.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_main03.svg), linear-gradient(#000 0 0);
}

[data-mask=main04] {
  -webkit-mask-image: url(../image/common/figure_main04.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_main04.svg), linear-gradient(#000 0 0);
}

[data-mask=main05] {
  -webkit-mask-image: url(../image/common/figure_main05.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_main05.svg), linear-gradient(#000 0 0);
}

[data-mask=main06] {
  -webkit-mask-image: url(../image/common/figure_main06.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_main06.svg), linear-gradient(#000 0 0);
}

[data-mask=hero01] {
  -webkit-mask-image: url(../image/common/figure_hero01.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_hero01.svg), linear-gradient(#000 0 0);
}

[data-mask=hero02] {
  -webkit-mask-image: url(../image/common/figure_hero02.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_hero02.svg), linear-gradient(#000 0 0);
}

[data-mask=hero03] {
  -webkit-mask-image: url(../image/common/figure_hero03.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_hero03.svg), linear-gradient(#000 0 0);
}

[data-mask=hero04] {
  -webkit-mask-image: url(../image/common/figure_hero04.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_hero04.svg), linear-gradient(#000 0 0);
}

[data-mask=blue01] {
  -webkit-mask-image: url(../image/common/figure_blue01.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_blue01.svg), linear-gradient(#000 0 0);
}

[data-mask=blue02] {
  -webkit-mask-image: url(../image/common/figure_blue02.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_blue02.svg), linear-gradient(#000 0 0);
}

[data-mask=blue03] {
  -webkit-mask-image: url(../image/common/figure_blue03.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_blue03.svg), linear-gradient(#000 0 0);
}

[data-mask=blue04] {
  -webkit-mask-image: url(../image/common/figure_blue04.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_blue04.svg), linear-gradient(#000 0 0);
}

[data-mask=blue05] {
  -webkit-mask-image: url(../image/common/figure_blue05.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_blue05.svg), linear-gradient(#000 0 0);
}

[data-mask=blue06] {
  -webkit-mask-image: url(../image/common/figure_blue06.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_blue06.svg), linear-gradient(#000 0 0);
}

[data-mask=blue07] {
  -webkit-mask-image: url(../image/common/figure_blue07.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_blue07.svg), linear-gradient(#000 0 0);
}

[data-mask=dark01] {
  -webkit-mask-image: url(../image/common/figure_dark01.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_dark01.svg), linear-gradient(#000 0 0);
}

[data-mask=dark02] {
  -webkit-mask-image: url(../image/common/figure_dark02.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_dark02.svg), linear-gradient(#000 0 0);
}

[data-mask=dark03] {
  -webkit-mask-image: url(../image/common/figure_dark03.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_dark03.svg), linear-gradient(#000 0 0);
}

[data-mask=dark04] {
  -webkit-mask-image: url(../image/common/figure_dark04.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_dark04.svg), linear-gradient(#000 0 0);
}

[data-mask=dark05] {
  -webkit-mask-image: url(../image/common/figure_dark05.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_dark05.svg), linear-gradient(#000 0 0);
}

[data-mask=dark06] {
  -webkit-mask-image: url(../image/common/figure_dark06.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_dark06.svg), linear-gradient(#000 0 0);
}

[data-mask=dark07] {
  -webkit-mask-image: url(../image/common/figure_dark07.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_dark07.svg), linear-gradient(#000 0 0);
}

[data-mask=dark08] {
  -webkit-mask-image: url(../image/common/figure_dark08.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_dark08.svg), linear-gradient(#000 0 0);
}

[data-mask=yellow01] {
  -webkit-mask-image: url(../image/common/figure_yellow01.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_yellow01.svg), linear-gradient(#000 0 0);
}

[data-mask=yellow02] {
  -webkit-mask-image: url(../image/common/figure_yellow02.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_yellow02.svg), linear-gradient(#000 0 0);
}

[data-mask=yellow03] {
  -webkit-mask-image: url(../image/common/figure_yellow03.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_yellow03.svg), linear-gradient(#000 0 0);
}

[data-mask=yellow04] {
  -webkit-mask-image: url(../image/common/figure_yellow04.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_yellow04.svg), linear-gradient(#000 0 0);
}

[data-mask=yellow05] {
  -webkit-mask-image: url(../image/common/figure_yellow05.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_yellow05.svg), linear-gradient(#000 0 0);
}

[data-mask=yellow06] {
  -webkit-mask-image: url(../image/common/figure_yellow06.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_yellow06.svg), linear-gradient(#000 0 0);
}

[data-mask=yellow07] {
  -webkit-mask-image: url(../image/common/figure_yellow07.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_yellow07.svg), linear-gradient(#000 0 0);
}

[data-mask=yellow08] {
  -webkit-mask-image: url(../image/common/figure_yellow08.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/common/figure_yellow08.svg), linear-gradient(#000 0 0);
}

.c-figure-header {
  --header-figure-base-width-sp: 432;
  --header-figure-base-width-pc: 1080;
}
.c-figure-header__wrap {
  position: absolute;
  left: -34.4117647059%;
  top: 125px;
  width: calc(var(--header-figure-base-width-sp) / 340 * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-header__wrap {
    left: -5.46875%;
    top: 98px;
    width: calc(var(--header-figure-base-width-pc) / 1280 * 100%);
  }
}
.c-figure-header__wrap > img {
  display: block;
  transform: rotateX(180deg);
}
.c-figure-header__items {
  position: absolute;
}
.c-figure-header__items:nth-of-type(1) {
  top: -70px;
  left: 81%;
  width: calc(94 / var(--header-figure-base-width-sp) * 100%);
  mix-blend-mode: soft-light;
}
@media screen and (min-width: 769px) {
  .c-figure-header__items:nth-of-type(1) {
    top: -7%;
    left: 28.5%;
    width: calc(392 / var(--header-figure-base-width-pc) * 100%);
  }
}
.c-figure-header__items:nth-of-type(2) {
  bottom: -80px;
  left: 92%;
  width: calc(101 / var(--header-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-header__items:nth-of-type(2) {
    bottom: -8%;
    left: 27%;
    width: calc(280 / var(--header-figure-base-width-pc) * 100%);
  }
}

.c-figure-top-value {
  --top-value-figure-base-width-sp: 660;
  --top-value-figure-base-width-pc: 1084;
}
.c-figure-top-value__wrap {
  position: absolute;
  left: -19.4444444444%;
  top: 72px;
  width: calc(var(--top-value-figure-base-width-sp) / 360 * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-top-value__wrap {
    left: 5.625%;
    top: 98px;
    width: calc(var(--top-value-figure-base-width-pc) / 1280 * 100%);
  }
}
.c-figure-top-value__items {
  position: absolute;
}
.c-figure-top-value__items:nth-of-type(1) {
  top: -6%;
  left: 37.6%;
  width: calc(163 / var(--top-value-figure-base-width-sp) * 100%);
  mix-blend-mode: soft-light;
}
@media screen and (min-width: 769px) {
  .c-figure-top-value__items:nth-of-type(1) {
    top: -7%;
    left: 28.5%;
    width: calc(392 / var(--top-value-figure-base-width-pc) * 100%);
  }
}
.c-figure-top-value__items:nth-of-type(2) {
  bottom: -5%;
  left: 24%;
  width: calc(116 / var(--top-value-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-top-value__items:nth-of-type(2) {
    bottom: -8%;
    left: 27%;
    width: calc(280 / var(--top-value-figure-base-width-pc) * 100%);
  }
}

.c-figure-top-service {
  --top-service-figure-base-width-sp: 405;
  --top-service-figure-base-width-pc: 1144;
}
.c-figure-top-service__wrap {
  position: absolute;
  left: 5.5555555556%;
  top: 66px;
  width: calc(var(--top-service-figure-base-width-sp) / 360 * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-top-service__wrap {
    left: 19.921875%;
    top: 173px;
    width: calc(var(--top-service-figure-base-width-pc) / 1280 * 100%);
  }
}
.c-figure-top-service__wrap > img {
  display: block;
  transform: rotateX(180deg);
}
.c-figure-top-service__items {
  position: absolute;
}
.c-figure-top-service__items:nth-of-type(1) {
  top: -11%;
  left: 14%;
  width: calc(121 / var(--top-service-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-top-service__items:nth-of-type(1) {
    top: -12%;
    left: 17%;
    width: calc(267 / var(--top-service-figure-base-width-pc) * 100%);
  }
}
.c-figure-top-service__items:nth-of-type(2) {
  top: 3%;
  left: 49%;
  width: calc(140 / var(--top-service-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-top-service__items:nth-of-type(2) {
    top: 1%;
    left: 53%;
    width: calc(309 / var(--top-service-figure-base-width-pc) * 100%);
  }
}
.c-figure-top-service__items:nth-of-type(3) {
  bottom: 0%;
  left: 66%;
  width: calc(104 / var(--top-service-figure-base-width-sp) * 100%);
  transform: rotateX(180deg);
}
@media screen and (min-width: 769px) {
  .c-figure-top-service__items:nth-of-type(3) {
    bottom: 34%;
    left: 47%;
    width: calc(229 / var(--top-service-figure-base-width-pc) * 100%);
  }
}

.c-figure-top-works1 {
  --top-works1-figure-base-width-sp: 405;
  --top-works1-figure-base-width-pc: 944;
  overflow: visible;
}
.c-figure-top-works1__wrap {
  position: absolute;
  left: -26.875%;
  top: -104px;
  width: calc(var(--top-works1-figure-base-width-sp) / 320 * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-top-works1__wrap {
    left: 10.6382978723%;
    top: 80px;
    width: calc(var(--top-works1-figure-base-width-pc) / 940 * 100%);
  }
}
.c-figure-top-works1__items {
  position: absolute;
}
.c-figure-top-works1__items:nth-of-type(1) {
  top: -6%;
  left: 92%;
  width: calc(70 / var(--top-works1-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-top-works1__items:nth-of-type(1) {
    top: -5%;
    left: 89%;
    width: calc(164 / var(--top-works1-figure-base-width-pc) * 100%);
  }
}
.c-figure-top-works1__items:nth-of-type(2) {
  display: none;
}
@media screen and (min-width: 769px) {
  .c-figure-top-works1__items:nth-of-type(2) {
    display: block;
    bottom: 10%;
    left: 39%;
    width: calc(142 / var(--top-works1-figure-base-width-pc) * 100%);
    transform: rotateX(180deg);
  }
}

.c-figure-top-works2 {
  --top-works2-figure-base-width-sp: 388;
  --top-works2-figure-base-width-pc: 944;
  overflow: visible;
}
.c-figure-top-works2__wrap {
  position: absolute;
  left: -10.625%;
  top: -100px;
  width: calc(var(--top-works2-figure-base-width-sp) / 320 * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-top-works2__wrap {
    left: 14.5744680851%;
    top: 60px;
    width: calc(var(--top-works2-figure-base-width-pc) / 940 * 100%);
  }
}
.c-figure-top-works2__items {
  position: absolute;
}
.c-figure-top-works2__items:nth-of-type(1) {
  top: -5%;
  left: 89%;
  width: calc(84 / var(--top-works2-figure-base-width-sp) * 100%);
  transform: rotateX(180deg);
}
@media screen and (min-width: 769px) {
  .c-figure-top-works2__items:nth-of-type(1) {
    top: -12%;
    left: 17%;
    width: calc(196 / var(--top-works2-figure-base-width-pc) * 100%);
  }
}
.c-figure-top-works2__items:nth-of-type(2) {
  display: none;
}
@media screen and (min-width: 769px) {
  .c-figure-top-works2__items:nth-of-type(2) {
    display: block;
    bottom: -5%;
    left: 12%;
    width: calc(165 / var(--top-works2-figure-base-width-pc) * 100%);
  }
}

.c-figure-top-recruit {
  --top-recruit-figure-base-width-sp: 430;
  --top-recruit-figure-base-width-pc: 1104;
  overflow: visible;
}
.c-figure-top-recruit__wrap {
  position: absolute;
  left: -9.7222222222%;
  top: 220px;
  width: calc(var(--top-recruit-figure-base-width-sp) / 360 * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-top-recruit__wrap {
    left: 7.34375%;
    top: 60px;
    width: calc(var(--top-recruit-figure-base-width-pc) / 1280 * 100%);
  }
}
.c-figure-top-recruit__wrap > img {
  display: block;
  transform: rotateX(180deg);
}
.c-figure-top-recruit__items {
  position: absolute;
}
.c-figure-top-recruit__items:nth-of-type(1) {
  bottom: -9%;
  left: 12%;
  width: calc(125 / var(--top-recruit-figure-base-width-sp) * 100%);
  transform: rotateX(180deg);
}
@media screen and (min-width: 769px) {
  .c-figure-top-recruit__items:nth-of-type(1) {
    bottom: -11%;
    left: 11%;
    width: calc(280 / var(--top-recruit-figure-base-width-pc) * 100%);
  }
}
.c-figure-top-recruit__items:nth-of-type(2) {
  top: 16%;
  left: 69%;
  width: calc(89 / var(--top-recruit-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-top-recruit__items:nth-of-type(2) {
    top: 23%;
    left: 70%;
    width: calc(228 / var(--top-recruit-figure-base-width-pc) * 100%);
  }
}
.c-figure-top-recruit__items:nth-of-type(3) {
  bottom: -52%;
  left: 65%;
  width: calc(83 / var(--top-recruit-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-top-recruit__items:nth-of-type(3) {
    bottom: -6%;
    left: 64%;
    width: calc(212 / var(--top-recruit-figure-base-width-pc) * 100%);
  }
}
.c-figure-top-recruit__images {
  position: absolute;
}
.c-figure-top-recruit__images:nth-of-type(2) {
  top: 70px;
  left: 2%;
  width: 40%;
  aspect-ratio: 325/233;
}
@media screen and (min-width: 769px) {
  .c-figure-top-recruit__images:nth-of-type(2) {
    top: 150px;
    left: 3%;
    width: 26.5625%;
  }
}
.c-figure-top-recruit__images:nth-of-type(3) {
  top: 220px;
  right: 4%;
  width: 34.6666666667%;
  aspect-ratio: 215/155;
}
@media screen and (min-width: 769px) {
  .c-figure-top-recruit__images:nth-of-type(3) {
    top: 230px;
    right: 2%;
    width: 20.78125%;
  }
}
.c-figure-top-recruit__images:nth-of-type(4) {
  bottom: 60px;
  left: 12%;
  width: 29.3333333333%;
  aspect-ratio: 151/109;
}
@media screen and (min-width: 769px) {
  .c-figure-top-recruit__images:nth-of-type(4) {
    bottom: 120px;
    left: 11%;
    width: 19.375%;
  }
}

.c-figure-overview {
  --overview-figure-base-width-sp: 1000;
  --overview-figure-base-width-pc: 1440;
}
.c-figure-overview__wrap {
  position: absolute;
  top: 0;
  left: -88.8888888889%;
  width: calc(var(--overview-figure-base-width-sp) / 360 * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-overview__wrap {
    top: 0;
    left: 12.5%;
    width: calc(var(--overview-figure-base-width-pc) / 1280 * 100%);
  }
}
.c-figure-overview__wrap > img {
  display: block;
  opacity: 0.8;
}
.c-figure-overview__items {
  position: absolute;
  top: 0px;
  left: 52.7777777778%;
  width: 22.2222222222%;
}
@media screen and (min-width: 769px) {
  .c-figure-overview__items {
    top: -40px;
    left: 34.0625%;
    width: 11.40625%;
  }
}
.c-figure-overview--reverse .c-figure-overview__wrap {
  left: -88.8888888889%;
}
@media screen and (min-width: 769px) {
  .c-figure-overview--reverse .c-figure-overview__wrap {
    left: -21.875%;
  }
}
.c-figure-overview--reverse .c-figure-overview__wrap > img {
  transform: rotateX(180deg);
}
.c-figure-overview--reverse .c-figure-overview__items {
  top: -42px;
  left: 52.7777777778%;
  width: 33.3333333333%;
}
@media screen and (min-width: 769px) {
  .c-figure-overview--reverse .c-figure-overview__items {
    top: -84px;
    left: 76.09375%;
    width: 17.03125%;
  }
}

.c-figure-visual {
  --visual-figure-base-width-sp: 360;
  --visual-figure-base-width-pc: 1280;
}
.c-figure-visual__items {
  z-index: 0;
  position: absolute;
}
.c-figure-visual__items:nth-of-type(1) {
  top: max(14dvh, 60px);
  left: calc(117 / var(--visual-figure-base-width-sp) * 100%);
  width: calc(60 / var(--visual-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-visual__items:nth-of-type(1) {
    top: 168px;
    left: calc(237 / var(--visual-figure-base-width-pc) * 100%);
    width: calc(129 / var(--visual-figure-base-width-pc) * 100%);
  }
}
.c-figure-visual__items:nth-of-type(2) {
  top: max(24dvh, 214px);
  left: calc(-61 / var(--visual-figure-base-width-sp) * 100%);
  width: calc(102 / var(--visual-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-visual__items:nth-of-type(2) {
    top: 421px;
    left: calc(41 / var(--visual-figure-base-width-pc) * 100%);
    width: calc(218 / var(--visual-figure-base-width-pc) * 100%);
  }
}
.c-figure-visual__items:nth-of-type(3) {
  top: max(31dvh, 264px);
  left: calc(36 / var(--visual-figure-base-width-sp) * 100%);
  width: calc(94 / var(--visual-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-visual__items:nth-of-type(3) {
    top: 528px;
    left: calc(248 / var(--visual-figure-base-width-pc) * 100%);
    width: calc(200 / var(--visual-figure-base-width-pc) * 100%);
  }
}
.c-figure-visual__items:nth-of-type(4) {
  top: max(44dvh, 358px);
  right: calc(-43 / var(--visual-figure-base-width-sp) * 100%);
  width: calc(215 / var(--visual-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-visual__items:nth-of-type(4) {
    top: 580px;
    right: calc(84 / var(--visual-figure-base-width-pc) * 100%);
    width: calc(460 / var(--visual-figure-base-width-pc) * 100%);
  }
}

.c-figure-works-single {
  --works-single-figure-base-width-sp: 360;
  --works-single-figure-base-width-pc: 1280;
}
.c-figure-works-single__items {
  z-index: 0;
  position: absolute;
}
.c-figure-works-single__items:nth-of-type(1) {
  top: 130px;
  left: calc(71 / var(--works-single-figure-base-width-sp) * 100%);
  width: calc(464 / var(--works-single-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-works-single__items:nth-of-type(1) {
    top: 189px;
    left: calc(584 / var(--works-single-figure-base-width-pc) * 100%);
    width: calc(949 / var(--works-single-figure-base-width-pc) * 100%);
  }
}
.c-figure-works-single__items:nth-of-type(2) {
  top: 115px;
  left: calc(42 / var(--works-single-figure-base-width-sp) * 100%);
  width: calc(105 / var(--works-single-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-works-single__items:nth-of-type(2) {
    top: 136px;
    left: calc(488 / var(--works-single-figure-base-width-pc) * 100%);
    width: calc(216 / var(--works-single-figure-base-width-pc) * 100%);
  }
}
.c-figure-works-single__items:nth-of-type(3) {
  top: 112px;
  right: calc(-10 / var(--works-single-figure-base-width-sp) * 100%);
  width: calc(74 / var(--works-single-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-works-single__items:nth-of-type(3) {
    top: 210px;
    right: calc(50 / var(--works-single-figure-base-width-pc) * 100%);
    width: calc(143 / var(--works-single-figure-base-width-pc) * 100%);
  }
}
.c-figure-works-single__items:nth-of-type(4) {
  top: 266px;
  left: calc(138 / var(--works-single-figure-base-width-sp) * 100%);
  width: calc(106 / var(--works-single-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-works-single__items:nth-of-type(4) {
    top: 337px;
    left: calc(596 / var(--works-single-figure-base-width-pc) * 100%);
    width: calc(217 / var(--works-single-figure-base-width-pc) * 100%);
  }
}

.c-figure-visual-layer {
  --visual-layer-figure-base-width-sp: 464;
  --visual-layer-figure-base-width-pc: 950;
}
.c-figure-visual-layer__wrap {
  position: absolute;
  top: 130px;
  left: 19.4444444444%;
  width: calc(var(--visual-layer-figure-base-width-sp) / 360 * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-visual-layer__wrap {
    top: 164px;
    left: 46%;
    bottom: auto;
    width: calc(var(--visual-layer-figure-base-width-pc) / 1280 * 100%);
  }
}
.c-figure-visual-layer__wrap > img {
  display: block;
  transform: rotateX(180deg);
}
.c-figure-visual-layer__items {
  z-index: 0;
  position: absolute;
}
.c-figure-visual-layer__items:nth-of-type(1) {
  top: -5%;
  left: -7%;
  width: calc(106 / var(--visual-layer-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-visual-layer__items:nth-of-type(1) {
    top: -5%;
    left: -12%;
    width: calc(218 / var(--visual-layer-figure-base-width-pc) * 100%);
  }
}
.c-figure-visual-layer__items:nth-of-type(2) {
  top: 6%;
  left: 40%;
  width: calc(92 / var(--visual-layer-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-visual-layer__items:nth-of-type(2) {
    top: 4%;
    left: 45%;
    width: calc(223 / var(--visual-layer-figure-base-width-pc) * 100%);
  }
}

.c-figure-common-box {
  --common-box-figure-base-width-sp: 320;
  --common-box-figure-base-width-pc: 1080;
  overflow: visible;
}
.c-figure-common-box--1 .c-figure-common-box__items {
  position: absolute;
}
.c-figure-common-box--1 .c-figure-common-box__items:nth-of-type(1) {
  top: -32px;
  left: calc(40 / var(--common-box-figure-base-width-sp) * 100%);
  width: calc(84 / var(--common-box-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-box--1 .c-figure-common-box__items:nth-of-type(1) {
    top: -80px;
    left: calc(209 / var(--common-box-figure-base-width-pc) * 100%);
    width: calc(180 / var(--common-box-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-box--1 .c-figure-common-box__items:nth-of-type(2) {
  bottom: -10px;
  right: calc(-10 / var(--common-box-figure-base-width-sp) * 100%);
  width: calc(104 / var(--common-box-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-box--1 .c-figure-common-box__items:nth-of-type(2) {
    bottom: -46px;
    right: calc(-38 / var(--common-box-figure-base-width-pc) * 100%);
    width: calc(217 / var(--common-box-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-box--2 .c-figure-common-box__items {
  position: absolute;
}
.c-figure-common-box--2 .c-figure-common-box__items:nth-of-type(1) {
  bottom: -24px;
  right: calc(19 / var(--common-box-figure-base-width-sp) * 100%);
  width: calc(95 / var(--common-box-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-box--2 .c-figure-common-box__items:nth-of-type(1) {
    bottom: -53px;
    right: calc(30 / var(--common-box-figure-base-width-pc) * 100%);
    width: calc(200 / var(--common-box-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-box--3 .c-figure-common-box__items {
  position: absolute;
}
.c-figure-common-box--3 .c-figure-common-box__items:nth-of-type(1) {
  bottom: -31px;
  right: calc(27 / var(--common-box-figure-base-width-sp) * 100%);
  width: calc(80 / var(--common-box-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-box--3 .c-figure-common-box__items:nth-of-type(1) {
    bottom: -75px;
    right: calc(37 / var(--common-box-figure-base-width-pc) * 100%);
    width: calc(240 / var(--common-box-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-box--3 .c-figure-common-box__items:nth-of-type(2) {
  top: -32px;
  left: calc(-20 / var(--common-box-figure-base-width-sp) * 100%);
  width: calc(132 / var(--common-box-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-box--3 .c-figure-common-box__items:nth-of-type(2) {
    top: -88px;
    left: calc(145 / var(--common-box-figure-base-width-pc) * 100%);
    width: calc(280 / var(--common-box-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-box--4 .c-figure-common-box__items {
  position: absolute;
}
.c-figure-common-box--4 .c-figure-common-box__items:nth-of-type(1) {
  top: -30px;
  left: calc(16 / var(--common-box-figure-base-width-sp) * 100%);
  width: calc(80 / var(--common-box-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-box--4 .c-figure-common-box__items:nth-of-type(1) {
    top: -77px;
    left: calc(238 / var(--common-box-figure-base-width-pc) * 100%);
    width: calc(180 / var(--common-box-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-box--4 .c-figure-common-box__items:nth-of-type(2) {
  bottom: -46px;
  right: calc(9 / var(--common-box-figure-base-width-sp) * 100%);
  width: calc(132 / var(--common-box-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-box--4 .c-figure-common-box__items:nth-of-type(2) {
    bottom: -64px;
    right: calc(17 / var(--common-box-figure-base-width-pc) * 100%);
    width: calc(217 / var(--common-box-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-box--5 .c-figure-common-box__items {
  position: absolute;
}
.c-figure-common-box--5 .c-figure-common-box__items:nth-of-type(1) {
  top: -32px;
  left: calc(40 / var(--common-box-figure-base-width-sp) * 100%);
  width: calc(84 / var(--common-box-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-box--5 .c-figure-common-box__items:nth-of-type(1) {
    top: -70px;
    left: calc(209 / var(--common-box-figure-base-width-pc) * 100%);
    width: calc(180 / var(--common-box-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-box--5 .c-figure-common-box__items:nth-of-type(2) {
  bottom: -10px;
  right: calc(-10 / var(--common-box-figure-base-width-sp) * 100%);
  width: calc(104 / var(--common-box-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-box--5 .c-figure-common-box__items:nth-of-type(2) {
    bottom: 35px;
    right: calc(-67 / var(--common-box-figure-base-width-pc) * 100%);
    width: calc(217 / var(--common-box-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-box--6 .c-figure-common-box__items {
  position: absolute;
}
.c-figure-common-box--6 .c-figure-common-box__items:nth-of-type(1) {
  top: 0;
  left: 55.8823529412%;
  width: 23.5294117647%;
}
@media screen and (min-width: 769px) {
  .c-figure-common-box--6 .c-figure-common-box__items:nth-of-type(1) {
    top: 0;
    left: 34.0625%;
    width: 11.40625%;
  }
}
.c-figure-common-box--7 .c-figure-common-box__items {
  position: absolute;
}
.c-figure-common-box--7 .c-figure-common-box__items:nth-of-type(1) {
  top: -39px;
  left: 55.8823529412%;
  width: 35.2941176471%;
}
@media screen and (min-width: 769px) {
  .c-figure-common-box--7 .c-figure-common-box__items:nth-of-type(1) {
    top: -84;
    left: 76.09375%;
    width: 13.046875%;
  }
}

.c-figure-common-hero {
  --common-hero-figure-base-width-sp: 320;
  --common-hero-figure-base-width-pc: 610;
  overflow: visible;
}
.c-figure-common-hero .c-figure-common-hero__base:nth-of-type(1) {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -10px;
  width: calc(320 / var(--common-hero-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-hero .c-figure-common-hero__base:nth-of-type(1) {
    top: 20px;
    width: calc(610 / var(--common-hero-figure-base-width-pc) * 100%);
    min-width: 610px;
  }
}
.c-figure-common-hero .c-figure-common-hero__items {
  position: absolute;
}
.c-figure-common-hero .c-figure-common-hero__items:nth-of-type(1) {
  top: 10px;
  left: calc(-60 / var(--common-hero-figure-base-width-sp) * 100%);
  width: calc(71 / var(--common-hero-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-hero .c-figure-common-hero__items:nth-of-type(1) {
    top: 60px;
    left: calc(-175 / var(--common-hero-figure-base-width-pc) * 100%);
    width: calc(125 / var(--common-hero-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-hero .c-figure-common-hero__items:nth-of-type(2) {
  top: -13px;
  right: calc(-54 / var(--common-hero-figure-base-width-sp) * 100%);
  width: calc(114 / var(--common-hero-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-hero .c-figure-common-hero__items:nth-of-type(2) {
    top: 40px;
    right: calc(-110 / var(--common-hero-figure-base-width-pc) * 100%);
    width: calc(200 / var(--common-hero-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-hero .c-figure-common-hero__items:nth-of-type(3) {
  bottom: 20px;
  left: 0;
  width: calc(74 / var(--common-hero-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-hero .c-figure-common-hero__items:nth-of-type(3) {
    bottom: 10px;
    left: calc(6 / var(--common-hero-figure-base-width-pc) * 100%);
    width: calc(129 / var(--common-hero-figure-base-width-pc) * 100%);
  }
}
.c-figure-common-hero .c-figure-common-hero__items:nth-of-type(4) {
  top: 0;
  right: calc(-80 / var(--common-hero-figure-base-width-sp) * 100%);
  width: calc(124 / var(--common-hero-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-common-hero .c-figure-common-hero__items:nth-of-type(4) {
    top: 90px;
    right: calc(-110 / var(--common-hero-figure-base-width-pc) * 100%);
    width: calc(218 / var(--common-hero-figure-base-width-pc) * 100%);
  }
}

.c-figure-philosophy {
  --philosophy-figure-base-width-sp: 360;
  --philosophy-figure-base-width-pc: 1280;
  overflow: visible;
}
.c-figure-philosophy__items {
  position: absolute;
}
.c-figure-philosophy__items:nth-of-type(1) {
  top: 140px;
  left: calc(-27 / var(--philosophy-figure-base-width-sp) * 100%);
  width: calc(369 / var(--philosophy-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-philosophy__items:nth-of-type(1) {
    top: 296px;
    left: calc(294 / var(--philosophy-figure-base-width-pc) * 100%);
    width: calc(692 / var(--philosophy-figure-base-width-pc) * 100%);
  }
}
.c-figure-philosophy__items:nth-of-type(2) {
  top: 202px;
  left: calc(-48 / var(--philosophy-figure-base-width-sp) * 100%);
  width: calc(80 / var(--philosophy-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-philosophy__items:nth-of-type(2) {
    top: 390px;
    left: calc(255 / var(--philosophy-figure-base-width-pc) * 100%);
    width: calc(151 / var(--philosophy-figure-base-width-pc) * 100%);
  }
}
.c-figure-philosophy__items:nth-of-type(3) {
  top: 166px;
  right: calc(-48 / var(--philosophy-figure-base-width-sp) * 100%);
  width: calc(125 / var(--philosophy-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-philosophy__items:nth-of-type(3) {
    top: 310px;
    right: calc(234 / var(--philosophy-figure-base-width-pc) * 100%);
    width: calc(234 / var(--philosophy-figure-base-width-pc) * 100%);
  }
}
.c-figure-philosophy__items:nth-of-type(4) {
  top: 205px;
  right: calc(-46 / var(--philosophy-figure-base-width-sp) * 100%);
  width: calc(86 / var(--philosophy-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-philosophy__items:nth-of-type(4) {
    top: 380px;
    right: calc(224 / var(--philosophy-figure-base-width-pc) * 100%);
    width: calc(161 / var(--philosophy-figure-base-width-pc) * 100%);
  }
}

.c-figure-about {
  --about-figure-base-width-sp: 340;
  --about-figure-base-width-pc: 1160;
  overflow: visible;
}
.c-figure-about__items {
  position: absolute;
}
.c-figure-about__items:nth-of-type(1) {
  top: -11px;
  left: calc(-3 / var(--about-figure-base-width-sp) * 100%);
  width: calc(231 / var(--about-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-about__items:nth-of-type(1) {
    top: 618px;
    left: calc(-92 / var(--about-figure-base-width-pc) * 100%);
    width: calc(686 / var(--about-figure-base-width-pc) * 100%);
  }
}
.c-figure-about__items:nth-of-type(2) {
  top: -2px;
  left: calc(40 / var(--about-figure-base-width-sp) * 100%);
  width: calc(81 / var(--about-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-about__items:nth-of-type(2) {
    top: 648px;
    left: calc(40 / var(--about-figure-base-width-pc) * 100%);
    width: calc(241 / var(--about-figure-base-width-pc) * 100%);
  }
}
.c-figure-about__items:nth-of-type(3) {
  top: 87px;
  left: calc(67 / var(--about-figure-base-width-sp) * 100%);
  width: calc(59 / var(--about-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-about__items:nth-of-type(3) {
    top: 940px;
    left: calc(126 / var(--about-figure-base-width-pc) * 100%);
    width: calc(175 / var(--about-figure-base-width-pc) * 100%);
  }
}
.c-figure-about__items:nth-of-type(4) {
  top: 170px;
  left: calc(220 / var(--about-figure-base-width-sp) * 100%);
  width: calc(491 / var(--about-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-about__items:nth-of-type(4) {
    top: 620px;
    left: calc(215 / var(--about-figure-base-width-pc) * 100%);
    width: calc(1460 / var(--about-figure-base-width-pc) * 100%);
  }
}
.c-figure-about__items:nth-of-type(5) {
  top: 250px;
  left: calc(270 / var(--about-figure-base-width-sp) * 100%);
  width: calc(44 / var(--about-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-about__items:nth-of-type(5) {
    top: 600px;
    left: calc(740 / var(--about-figure-base-width-pc) * 100%);
    width: calc(132 / var(--about-figure-base-width-pc) * 100%);
  }
}
.c-figure-about__items:nth-of-type(6) {
  top: 330px;
  left: calc(220 / var(--about-figure-base-width-sp) * 100%);
  width: calc(111 / var(--about-figure-base-width-sp) * 100%);
}
@media screen and (min-width: 769px) {
  .c-figure-about__items:nth-of-type(6) {
    top: 1020px;
    left: calc(866 / var(--about-figure-base-width-pc) * 100%);
    width: calc(332 / var(--about-figure-base-width-pc) * 100%);
  }
}

.c-figure-history {
  overflow: visible;
}
.c-figure-history__items {
  position: absolute;
}
.c-figure-history__items:nth-of-type(1) {
  bottom: -26px;
  left: -31.25%;
  width: 181.25%;
}
@media screen and (min-width: 769px) {
  .c-figure-history__items:nth-of-type(1) {
    left: 5.4545454545%;
    bottom: -40px;
    width: 86.6363636364%;
  }
}
.c-figure-history__items:nth-of-type(2) {
  top: 70px;
  left: 60.9375%;
  width: 42.8125%;
}
@media screen and (min-width: 769px) {
  .c-figure-history__items:nth-of-type(2) {
    top: 90px;
    left: 53.2727272727%;
    width: 20.7272727273%;
  }
}
.c-figure-history__items:nth-of-type(3) {
  top: 152px;
  left: 3.125%;
  width: 33.4375%;
}
@media screen and (min-width: 769px) {
  .c-figure-history__items:nth-of-type(3) {
    top: 510px;
    left: 0;
    width: 16.0909090909%;
  }
}

.c-figure-timeline {
  overflow: visible;
}
.c-figure-timeline__items {
  position: absolute;
}
.c-figure-timeline__items:nth-of-type(1) {
  top: -20px;
  left: 2.7777777778%;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-figure-timeline__items:nth-of-type(1) {
    top: -80px;
    left: 5.46875%;
    width: 85.9375%;
  }
}
.c-figure-timeline__items:nth-of-type(2) {
  top: 300px;
  right: -13.8888888889%;
  width: 33.3333333333%;
}
@media screen and (min-width: 769px) {
  .c-figure-timeline__items:nth-of-type(2) {
    top: 600px;
    right: -1.09375%;
    width: 11.71875%;
  }
}
.c-figure-timeline__items:nth-of-type(3) {
  top: 420px;
  left: -8.3333333333%;
  width: 33.3333333333%;
}
@media screen and (min-width: 769px) {
  .c-figure-timeline__items:nth-of-type(3) {
    top: 800px;
    left: 1.5625%;
    width: 18.828125%;
  }
}

.c-figure-toc {
  overflow: visible;
}
.c-figure-toc__items {
  position: absolute;
}
.c-figure-toc__items:nth-of-type(1) {
  display: none;
}
@media screen and (min-width: 769px) {
  .c-figure-toc__items:nth-of-type(1) {
    display: block;
    bottom: 48px;
    left: 3.671875%;
    width: 21.171875%;
  }
}
.c-figure-toc__items:nth-of-type(2) {
  display: none;
}
@media screen and (min-width: 769px) {
  .c-figure-toc__items:nth-of-type(2) {
    display: block;
    top: 144px;
    right: 5.703125%;
    width: 9.21875%;
  }
}

/*----------------------------------------
	Component
----------------------------------------*/
a:hover {
  opacity: 0.7;
}
a:hover .c-arrow--out {
  transform: translateX(150%);
}
a:hover .c-arrow--in {
  transform: translateX(0%);
}

.loading-inner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  max-height: 1000px;
}

@media screen and (max-width: 1023px) {
  .loading-inner {
    max-height: 500px;
  }
}
@media screen and (max-width: 480px) {
  .loading-inner {
    max-height: 700px;
  }
}
#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgb(255, 255, 255);
  z-index: 1000;
  opacity: 1;
  visibility: visible;
}

.show #loading {
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-in;
  transition-delay: 2.5s;
}

.loading-img {
  position: absolute;
  top: 54%;
  left: 50%;
  max-width: 100%;
  transform: translate(-50%, -50%);
  mask-image: url(../image/common/mask.png);
  -webkit-mask-image: url(../image/common/mask.png);
  -webkit-mask-size: 50%;
  mask-size: 50%;
  mask-mode: alpha;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

@media screen and (max-width: 1023px) {
  .loading-img {
    top: 50%;
  }
}
.loading-after {
  position: absolute;
  top: 54%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  width: 732px;
  height: 495px;
  background-image: url(../image/common/loaded-ci.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 50%;
  opacity: 0;
  z-index: 10;
}

@media screen and (max-width: 1023px) {
  .loading-after {
    top: 50%;
  }
}
.show .loading-after {
  opacity: 1;
  transition: opacity 0.6s ease-in;
  transition-delay: 2s;
}

.loading-img img {
  transform: translate(-100%, 50%);
  transition: transform 1.5s ease-in;
  transition-duration: 1.5s;
  width: 732px;
}

.show .loading-img img {
  transform: translate(10%, 0);
}

@media (max-width: 767px) {
  .loading-img img {
    transition: transform 2s ease-in;
    transition-duration: 2s;
  }
}
.c-loading {
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background-color: #ffffff;
}
.c-loading__wrap {
  --mask-position: center center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50%;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-loading__wrap {
    width: 28.125%;
  }
}
.c-loading__wrap::before {
  content: "";
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-mask-image: url(../image/common/bg-mask.png);
  mask-image: url(../image/common/bg-mask.png);
  -webkit-mask-position: var(--mask-position);
  mask-position: var(--mask-position);
  -webkit-mask-size: 400% 400%;
  mask-size: 400% 400%;
  -webkit-mask-repeat: unset;
  mask-repeat: unset;
  background-color: #ffffff;
}
.c-loading__wrap__logo {
  z-index: 1;
  position: relative;
}
.c-loading__wrap__motif {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.motif {
  display: inline-block;
  width: 18px;
  aspect-ratio: 26/20;
  margin-top: 3px;
  background-color: #011C53;
  -webkit-mask-image: url(../image/common/mask01.svg);
  mask-image: url(../image/common/mask01.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  .motif {
    width: 26.6px;
    margin-top: 5px;
  }
}
.motif * {
  fill: #011C53;
}

.c-h1 {
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-h1 {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.c-page-title {
  z-index: 2;
  position: relative;
  width: -moz-max-content;
  width: max-content;
}
.c-page-title__heading {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 54px;
  line-height: 66px;
}
@media screen and (min-width: 769px) {
  .c-page-title__heading {
    font-size: 114px;
    line-height: 139px;
    letter-spacing: -0.02em;
  }
}
.c-page-title__subheading {
  display: flex;
  gap: 0 7px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 16px;
  line-height: 35px;
}
@media screen and (min-width: 769px) {
  .c-page-title__subheading {
    gap: 0 12px;
    font-size: 28px;
  }
}
.c-page-title--sm .c-page-title__heading {
  margin-bottom: 2px;
  font-size: 28px;
  line-height: 33px;
}
@media screen and (min-width: 769px) {
  .c-page-title--sm .c-page-title__heading {
    margin-bottom: 9px;
    font-size: 39px;
    line-height: 48px;
  }
}
.c-page-title--sm .c-page-title__subheading {
  gap: 0 2px;
  font-size: 12px;
  line-height: 26px;
}
@media screen and (min-width: 769px) {
  .c-page-title--sm .c-page-title__subheading {
    gap: 0 4px;
    font-size: 16px;
  }
}
.c-page-title--sm .motif {
  width: 14px;
  padding-top: 0;
}
@media screen and (min-width: 769px) {
  .c-page-title--sm .motif {
    width: 16px;
    padding-top: 4px;
  }
}
.c-page-title--sub .c-page-title__heading {
  font-size: 28px;
  line-height: 34px;
}
@media screen and (min-width: 769px) {
  .c-page-title--sub .c-page-title__heading {
    font-size: 32px;
    line-height: 40px;
  }
}
.c-page-title--sub .c-page-title__subheading {
  gap: 0 8.6px;
  font-size: 24px;
  line-height: 40px;
}
@media screen and (min-width: 769px) {
  .c-page-title--sub .c-page-title__subheading {
    gap: 0 14px;
    font-size: 42px;
    line-height: 69px;
  }
}
.c-page-title--sub .motif {
  width: 30px;
  padding-top: 0;
}
@media screen and (min-width: 769px) {
  .c-page-title--sub .motif {
    width: 37px;
    padding-top: 4px;
  }
}
.c-page-title--navi {
  margin: 0 auto;
}
.c-page-title--navi .c-page-title__heading {
  text-align: center;
  margin-bottom: 4px;
  color: #ffffff;
  font-size: 15px;
  line-height: 19px;
}
@media screen and (min-width: 769px) {
  .c-page-title--navi .c-page-title__heading {
    margin-bottom: 18px;
    font-size: 22px;
    line-height: 27px;
  }
}
.c-page-title--navi .c-page-title__subheading {
  text-align: center;
  color: #ffffff;
  gap: 0 5px;
  font-size: 18px;
}
@media screen and (min-width: 769px) {
  .c-page-title--navi .c-page-title__subheading {
    gap: 0 6px;
    font-size: 24px;
  }
}
.c-page-title--navi .motif {
  width: 20px;
  padding-top: 0;
}
@media screen and (min-width: 769px) {
  .c-page-title--navi .motif {
    width: 26px;
    margin-top: 2px;
  }
}
.c-page-title--single {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 9px;
  margin-bottom: 27px;
}
@media screen and (min-width: 769px) {
  .c-page-title--single {
    gap: 0 12px;
    margin-bottom: 43px;
  }
}
.c-page-title--single .c-page-title__heading {
  margin-bottom: 0 !important;
  font-size: 30px;
  line-height: 37px;
}
@media screen and (min-width: 769px) {
  .c-page-title--single .c-page-title__heading {
    font-size: 36px;
    line-height: 44px;
  }
}
.c-page-title--single .c-page-title__subheading {
  margin-top: 7px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 35px;
}
@media screen and (min-width: 769px) {
  .c-page-title--single .c-page-title__subheading {
    margin-top: 12px;
    font-size: 15px;
    line-height: 20px;
  }
}
.c-page-title--single .motif {
  width: 18px;
  padding-top: 0;
}
@media screen and (min-width: 769px) {
  .c-page-title--single .motif {
    width: 26px;
    margin-top: 2px;
  }
}
.c-page-title--sticky {
  --sticky-pos: 110px;
}
@media screen and (min-width: 769px) {
  .c-page-title--sticky {
    position: sticky;
    top: var(--sticky-pos);
  }
}
@media screen and (min-width: 769px) {
  .c-page-title--sticky .c-page-title__heading {
    font-size: 105px;
    line-height: 128px;
  }
}

.js-gradText {
  --color-blue: #0033A2;
  --color-white: #ffffff;
  --color-black: #000000;
  --background-position: 100%;
  --mask-position: 100%;
  position: relative;
  color: transparent;
  background: linear-gradient(90deg, var(--color-white) 20%, var(--color-blue) 30%);
  -webkit-background-clip: text;
  background-clip: text;
  background-repeat: no-repeat;
  background-size: 500% 500%;
  background-position: var(--background-position) 0%;
  -webkit-mask-image: linear-gradient(90deg, #fff 24%, transparent 33%);
  mask-image: linear-gradient(90deg, #fff 24%, transparent 33%);
  -webkit-mask-position: var(--mask-position) 0;
  mask-position: var(--mask-position) 0;
  -webkit-mask-size: 400% 400%;
  mask-size: 400% 400%;
}

.motif {
  --p1: -8%;
  --p2: -8%;
  --soft: 12%;
  --mask: -10%;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-image: linear-gradient(to right, #ffffff 0 calc(var(--p2) - var(--soft)), transparent calc(var(--p2) + var(--soft)) 100%), linear-gradient(to right, #0033A2 0 calc(var(--p1) - var(--soft)), transparent calc(var(--p1) + var(--soft)) 100%);
}

.c-page-title--white .js-gradText {
  color: transparent !important;
  background: linear-gradient(90deg, var(--color-black) 20%, var(--color-blue) 30%);
  -webkit-background-clip: text;
  background-clip: text;
  background-repeat: no-repeat;
  background-size: 500% 500%;
  background-position: var(--background-position) 0%;
  -webkit-mask-image: linear-gradient(90deg, #000 24%, transparent 33%);
  mask-image: linear-gradient(90deg, #000 24%, transparent 33%);
  -webkit-mask-position: var(--mask-position) 0;
  mask-position: var(--mask-position) 0;
}
.c-page-title--white .motif {
  background-color: #ffffff;
  background-image: linear-gradient(to right, #011C53 0 calc(var(--p2) - var(--soft)), transparent calc(var(--p2) + var(--soft)) 100%), linear-gradient(to right, #0033A2 0 calc(var(--p1) - var(--soft)), transparent calc(var(--p1) + var(--soft)) 100%);
}

.t-heroLead__head .js-gradText {
  /* 方向を90deg→180deg（= to bottom）に */
  color: transparent !important;
  background: linear-gradient(180deg, var(--color-white) 20%, var(--color-blue) 30%);
  -webkit-background-clip: text;
  background-clip: text;
  background-repeat: no-repeat;
  background-size: 500% 500%;
  background-position: 0% var(--background-position); /* ← ここ */
  -webkit-mask-image: linear-gradient(180deg, #fff 24%, transparent 33%);
  mask-image: linear-gradient(180deg, #fff 24%, transparent 33%); /* ← 方向 */
  -webkit-mask-position: 0 var(--mask-position);
  mask-position: 0 var(--mask-position); /* ← ここ */
  /* background-size / mask-size はそのままでOK */
}
.t-heroLead__head .motif {
  width: 12px;
  aspect-ratio: 12/16;
  margin-top: 0;
  margin-bottom: 4.4px;
  -webkit-mask-image: url(../image/common/mask02.svg);
  mask-image: url(../image/common/mask02.svg);
  background-color: transparent;
  background-image: linear-gradient(to bottom, #FFFFFF 0 calc(var(--p2) - var(--soft)), transparent calc(var(--p2) + var(--soft)) 100%), linear-gradient(to bottom, #0033A2 0 calc(var(--p1) - var(--soft)), transparent calc(var(--p1) + var(--soft)) 100%);
}
@media screen and (min-width: 769px) {
  .t-heroLead__head .motif {
    margin-top: 0;
    margin-bottom: 5.4px;
    margin-left: 2px;
  }
}

.c-page-label {
  text-align: center;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 32px;
  color: #ffffff;
  font-size: 22px;
  line-height: 32px;
}
@media screen and (min-width: 769px) {
  .c-page-label {
    padding-bottom: 21px;
    margin-bottom: 40px;
    font-size: 32px;
    line-height: 46px;
  }
}
.c-page-label::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -2px;
  width: 20px;
  height: 4px;
  background-color: #43BFEF;
}
@media screen and (min-width: 769px) {
  .c-page-label::before {
    width: 40px;
  }
}
.c-page-label--lg {
  font-size: 22px;
  line-height: 35px;
}
@media screen and (min-width: 769px) {
  .c-page-label--lg {
    font-size: 40px;
    line-height: 64px;
  }
}
@media screen and (min-width: 769px) {
  .c-page-label--lg::before {
    width: 60px;
    height: 6px;
  }
}
.c-page-label--black {
  color: #000000;
}

.js-wipe-in {
  clip-path: inset(0 100% 0 0);
  transition-duration: 1s;
  transition-property: clip-path;
}

.js-para-image {
  --overflow: 40px; /* 画像の背のばし */
  --top-pos: 0px; /* ベースの基準位置（任意） */
  --move: 0px; /* 動く量（JSで入れる） */
  --progress: 0px; /* 現在の移動量（JSでアニメ） */
  position: relative;
  overflow: hidden;
}
.js-para-image::before {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #003FBF;
  opacity: 0.3;
}
.js-para-image picture, .js-para-image img {
  display: block;
  width: auto;
  height: calc(100% + var(--overflow)); /* ← 可動域を変数化 */
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.js-para-image picture {
  position: absolute;
  top: calc(var(--top-pos) - var(--move)); /* ← 初期位置を “-動く量” に */
  left: 50%;
  transform: translate3d(-50%, var(--progress), 0);
}

.c-page-sentence {
  z-index: 2;
  position: relative;
}
.c-page-sentence:has(+ .c-page-list) {
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .c-page-sentence:has(+ .c-page-list) {
    margin-bottom: 59px;
  }
}
.c-page-sentence__text {
  text-align: left;
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-page-sentence__text {
    text-align: center;
    margin-bottom: 18px;
    font-size: 24px;
    line-height: 42px;
  }
}
.c-page-sentence__heading {
  text-align: center;
  margin-bottom: 40px;
  color: #ffffff;
  font-size: 36px;
}
@media screen and (min-width: 769px) {
  .c-page-sentence__heading {
    margin-bottom: 90px;
    font-size: 72px;
  }
}

.c-page-list {
  z-index: 1;
  position: relative;
  padding: 4px 20px 21px;
  background-color: #ffffff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-page-list {
    width: 79.3103448276%;
    margin: 0 auto;
    padding: 42px 59px 48px 56px;
  }
}
.c-page-list__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 9px;
  min-height: 75px;
  padding: 10px 0;
  border-bottom: 2px solid #9DB4D9;
  box-sizing: border-box;
  list-style: none;
}
@media screen and (min-width: 769px) {
  .c-page-list__item {
    gap: 0 37px;
    min-height: 96px;
    padding: 17px 0;
  }
}
@media screen and (min-width: 769px) {
  .c-page-list__item:first-of-type {
    border-top: 4px solid #ffffff;
  }
}
.c-page-list__item::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 20px;
  height: 2px;
  background-color: #002B71;
}
@media screen and (min-width: 769px) {
  .c-page-list__item::before {
    width: 41px;
  }
}
.c-page-list__item span {
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  padding-left: 4px;
  font-size: 12px;
  color: #002B71;
}
@media screen and (min-width: 769px) {
  .c-page-list__item span {
    padding: 0 9px;
    font-size: 16px;
  }
}
.c-page-list__item__word {
  font-size: 22px;
  color: #002B71;
}
@media screen and (min-width: 769px) {
  .c-page-list__item__word {
    font-size: 38px;
  }
}
.c-page-list__item__text {
  flex: 1;
  padding-left: 7px;
  font-size: 13px;
  line-height: 18px;
}
@media screen and (min-width: 769px) {
  .c-page-list__item__text {
    padding-left: 0;
    font-size: 20px;
    line-height: 30px;
  }
}

.hover-img__item {
  overflow: hidden;
}
.hover-img__item picture {
  display: block;
}
@media screen and (min-width: 769px) {
  .hover-img__item picture {
    transition: transform 0.36s ease-in 0s;
  }
}
.hover-img__wrap {
  display: block;
  overflow: hidden;
}
.hover-img__wrap > span {
  display: block;
  transform: scale(1);
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 769px) {
  .hover-img__wrap > span {
    transition: transform 0.36s ease-in 0s;
  }
}
@media screen and (min-width: 769px) {
  .hover-img:hover {
    opacity: 1;
  }
}
@media screen and (min-width: 769px) {
  .hover-img:hover .hover-img__item picture {
    transform: scale(1.06);
  }
}
@media screen and (min-width: 769px) {
  .hover-img:hover .hover-img__wrap > span {
    transform: scale(1.06);
  }
}

.c-button {
  width: 200px;
}
@media screen and (min-width: 769px) {
  .c-button {
    width: 223px;
  }
}
.c-button a {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 25px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 14px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .c-button a {
    padding-bottom: 32px;
    font-size: 18px;
  }
}
.c-button a .c-arrowInner {
  display: block;
}
.c-button a .c-arrowInner svg * {
  fill: #ffffff;
}
.c-button a:hover {
  opacity: 1;
}
.c-button a:hover .c-arrow--out {
  transform: translateX(150%);
}
.c-button a:hover .c-arrow--in {
  transform: translateX(0%);
}
.c-button a:hover::before {
  animation: border 0.5s ease-out 0s;
}
.c-button a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #ffffff;
  transition: transform 0.36s ease-in 0s;
  transform-origin: left;
}
@keyframes border {
  0% {
    transform: scaleX(1);
    transform-origin: right;
  }
  40% {
    transform: scaleX(0);
    transform-origin: right;
  }
  50% {
    transform: scaleX(0);
    transform-origin: left;
  }
  100% {
    transform: scaleX(1);
    transform-origin: left;
  }
}
.c-button--back a {
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 0 10px;
  padding-left: 7%;
}
@media screen and (min-width: 769px) {
  .c-button--back a {
    gap: 0 12px;
    padding-left: 12px;
  }
}
.c-button--back a .c-arrowInner {
  transform: rotate(180deg);
}
.c-button--black a {
  color: #000000;
}
.c-button--black a .c-arrowInner svg * {
  fill: #000000;
}
.c-button--black a::before {
  background-color: #000000;
}

.c-arrowInner {
  position: relative;
  display: block;
  overflow: hidden;
  block-size: 10px;
  width: 10px;
}
@media screen and (min-width: 769px) {
  .c-arrowInner {
    block-size: 10.51px;
    width: 12px;
  }
}
.c-arrowInner svg {
  display: block;
  transition: transform 0.36s ease-in 0s;
}
.c-arrowInner svg * {
  fill: #000000;
}
.c-arrowInner .c-arrow {
  position: absolute;
  inset: 0;
  will-change: transform, opacity;
  transition: transform 0.36s ease;
}
.c-arrowInner .c-arrow--out {
  transform: translateX(0);
}
.c-arrowInner .c-arrow--in {
  transform: translateX(-150%);
}

.c-arrowBox {
  display: flex;
  justify-content: center;
  width: 50px;
  padding: 13px 0;
  border: 1px solid #ffffff;
  background-color: transparent;
}
@media screen and (min-width: 769px) {
  .c-arrowBox {
    position: relative;
    overflow: hidden;
    width: 80px;
    padding: 22px 0;
  }
}
@media screen and (min-width: 769px) {
  .c-arrowBox::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0033a2;
    -webkit-mask-image: linear-gradient(90deg, #0033A2 24%, transparent 33%);
    mask-image: linear-gradient(90deg, #0033A2 24%, transparent 33%);
    -webkit-mask-position: 100% 0;
    mask-position: 100% 0;
    -webkit-mask-size: 400% 400%;
    mask-size: 400% 400%;
    transition: all 0.38s ease-out 0s;
  }
}
.c-arrowBox .c-arrowInner {
  position: relative;
  display: block;
  overflow: hidden;
  block-size: 10px;
  overflow: hidden;
  display: block;
  width: 10px;
}
@media screen and (min-width: 769px) {
  .c-arrowBox .c-arrowInner {
    block-size: 10.51px;
    width: 12px;
  }
}
.c-arrowBox .c-arrowInner svg {
  display: block;
  transition: transform 0.36s ease-in 0s;
}
.c-arrowBox .c-arrowInner svg * {
  fill: #ffffff;
}
.c-arrowBox .c-arrowInner .c-arrow {
  position: absolute;
  inset: 0;
  will-change: transform, opacity;
  transition: transform 0.36s ease;
}
.c-arrowBox .c-arrowInner .c-arrow--out {
  transform: translateX(0);
}
.c-arrowBox .c-arrowInner .c-arrow--in {
  transform: translateX(-150%);
}

.c-breadcrumbs {
  background-color: #E7EDF8;
  box-sizing: border-box;
  padding: 5px 5.5555555556% 8px;
}
@media screen and (min-width: 769px) {
  .c-breadcrumbs {
    padding: 5px 4.6875% 8px;
  }
}
.c-breadcrumbs ul {
  display: flex;
}
.c-breadcrumbs ul li {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  line-height: 17px;
}
.c-breadcrumbs ul li::before {
  content: ">";
  display: inline-block;
  padding: 0 8px;
  color: #B1B1B1;
}
.c-breadcrumbs ul li:first-of-type::before {
  display: none;
}

.c-divider {
  overflow: hidden;
}
.c-dividerWrap {
  display: flex;
  align-items: center;
  width: 120%;
  margin-left: -10%;
  --tile-w: calc(9vw * 1.1);
  --tile-h: calc(5.5vw * 1.9);
  --slant: calc(4vw);
  margin-top: -1px;
}
@media screen and (min-width: 769px) {
  .c-dividerWrap {
    --tile-w: 9vw;
    --tile-h: 5.5vw;
    --slant: 4vw;
    margin-top: -1px;
  }
}
.c-dividerWrap__item {
  opacity: 0;
  width: var(--tile-w);
  height: var(--tile-h);
  aspect-ratio: 1/0.5;
  clip-path: polygon(0 0, calc(100% - var(--slant)) 0, 100% 100%, var(--slant) 100%);
  transition: opacity 0.12s liner 0s;
}
.c-dividerWrap__item + .c-dividerWrap__item {
  margin-left: calc(var(--slant) * -1);
}
@media screen and (min-width: 769px) {
  .c-dividerWrap__item {
    aspect-ratio: 1/1;
  }
}
.c-dividerWrap--reverse .c-dividerWrap__item {
  clip-path: polygon(var(--slant) 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%);
}
.c-dividerWrap--reverse .c-dividerWrap__item + .c-dividerWrap__item {
  margin-left: calc(var(--slant) * -1);
}
.c-divider [data-type="0"] {
  background-color: #011C53;
}
.c-divider [data-type="1"] {
  background-color: #011C53;
}
.c-divider [data-type="2"] {
  background-color: #011C53;
}
.c-divider [data-type="3"] {
  background-color: #021E5B;
}
.c-divider [data-type="4"] {
  background-color: #012062;
}
.c-divider [data-type="5"] {
  background-color: #01216C;
}
.c-divider [data-type="6"] {
  background-color: #012675;
}
.c-divider [data-type="7"] {
  background-color: #00297E;
}
.c-divider [data-type="8"] {
  background-color: #002B87;
}
.c-divider [data-type="9"] {
  background-color: #002E91;
}
.c-divider [data-type="10"] {
  background-color: #00309C;
}

.c-divider-bottom {
  padding-bottom: calc(129.2vw + 92px);
}
@media screen and (min-width: 769px) {
  .c-divider-bottom {
    padding-bottom: calc(54.2vw + 250px);
  }
}

.c-page-hero {
  --bg-blur: 0px;
  --bg-opacity: 0;
  position: relative;
  padding: 0 0 105px;
  background-size: cover;
  background-attachment: fixed;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-page-hero {
    background-size: cover;
    padding: 0 0 120px;
  }
}
.home .c-page-hero {
  background: transparent url(../image/home/img_main.jpg) no-repeat scroll center center;
}
.c-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: transparent;
  box-sizing: border-box;
  backdrop-filter: blur(var(--bg-blur, 0px));
  -webkit-backdrop-filter: blur(var(--bg-blur, 0px));
}
.c-page-hero::before {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: var(--bg-opacity);
  pointer-events: none;
}
.c-page-heroMain {
  z-index: 2;
  position: relative;
  height: 100svh;
  margin-bottom: 54px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-page-heroMain {
    min-height: 760px;
    margin-bottom: 120px;
  }
}
.c-page-heroMain__inner {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: max(19.4902548726svh, 130px);
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-page-heroMain__inner {
    top: max(21.75svh, 174px);
  }
}
.c-page-heroMain .c-page-title {
  text-align: center;
  margin: 0 auto 50px;
}
@media screen and (min-width: 321px) {
  .c-page-heroMain .c-page-title {
    margin: 0 auto 120px;
  }
}
@media screen and (min-width: 769px) {
  .c-page-heroMain .c-page-title {
    margin: 0 auto 16px;
  }
}
.c-page-heroMain .c-page-title * {
  color: #ffffff;
}
.c-page-heroMain .c-page-title .c-page-title__heading {
  font-size: 36px;
  line-height: 44px;
}
@media screen and (min-width: 769px) {
  .c-page-heroMain .c-page-title .c-page-title__heading {
    font-size: 52px;
    line-height: 63px;
  }
}
.c-page-heroMain .c-page-title .c-page-title__subheading {
  justify-content: center;
  gap: 0 5px;
  font-size: 14px;
  line-height: 30px;
}
@media screen and (min-width: 769px) {
  .c-page-heroMain .c-page-title .c-page-title__subheading {
    gap: 0 6px;
    font-size: 15px;
    line-height: 20px;
  }
}
.c-page-heroMain .c-page-title .js-gradText {
  background-image: linear-gradient(to right, #FFFFFF 0 calc(var(--p2) - var(--soft)), transparent calc(var(--p2) + var(--soft)) 100%), linear-gradient(to right, #0033A2 0 calc(var(--p1) - var(--soft)), transparent calc(var(--p1) + var(--soft)) 100%);
}
.c-page-heroMain .c-page-title .motif {
  width: 18px;
  margin-top: 2px;
  background-color: transparent;
  background-image: linear-gradient(to right, #FFFFFF 0 calc(var(--p2) - var(--soft)), transparent calc(var(--p2) + var(--soft)) 100%), linear-gradient(to right, #0033A2 0 calc(var(--p1) - var(--soft)), transparent calc(var(--p1) + var(--soft)) 100%);
}
@media screen and (min-width: 769px) {
  .c-page-heroMain .c-page-title .motif {
    width: 18px;
    margin-top: 2px;
  }
}
.c-page-heroMain__cover {
  position: relative;
  z-index: 1;
}
.c-page-heroMain__catch {
  z-index: 1;
  position: relative;
  text-align: center;
  color: #ffffff;
  font-size: 30px;
  line-height: 54px;
  font-feature-settings: "palt";
  text-shadow: 0px 3px 30px rgba(0, 0, 0, 0.8);
}
@media screen and (min-width: 769px) {
  .c-page-heroMain__catch {
    font-size: 76px;
    line-height: 110px;
  }
}
.c-page-heroMain__catch--lg {
  font-size: 40px;
  line-height: 54px;
}
@media screen and (min-width: 769px) {
  .c-page-heroMain__catch--lg {
    font-size: 76px;
    line-height: 110px;
  }
}
.c-page-heroMain__catch::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 83.3333333333%;
  aspect-ratio: 1/1;
  background: transparent url(../image/common/bg_textback.svg) no-repeat scroll center center/cover;
}
@media screen and (min-width: 769px) {
  .c-page-heroMain__catch::before {
    width: 39.0625%;
  }
}
.c-page-heroLead {
  z-index: 2;
  position: relative;
  width: 88.8888888889%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-page-heroLead {
    width: 100%;
    margin: 0;
  }
}
.c-page-heroLead__text {
  text-align: center;
  color: #ffffff;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-page-heroLead__text {
    font-size: 22px;
    line-height: 40px;
  }
}
.c-page-heroLead__text em {
  background: linear-gradient(transparent 50%, rgba(68, 191, 239, 0.6) 50%);
}
.c-page-heroSection {
  z-index: 2;
  position: relative;
}
.c-page-heroSection .c-page-title {
  text-align: center;
  margin: 0 auto 40px;
}
@media screen and (min-width: 769px) {
  .c-page-heroSection .c-page-title {
    margin: 0 auto 45px;
  }
}
.c-page-heroSection .c-page-title * {
  color: #ffffff;
}
.c-page-heroSection .c-page-title .c-page-title__subheading {
  justify-content: center;
}
.c-page-heroSection:has(+ .c-page-sentence) {
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .c-page-heroSection:has(+ .c-page-sentence) {
    margin-bottom: 68px;
  }
}
.c-page-heroBox {
  z-index: 2;
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 22px 0;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox {
    flex-direction: row;
    justify-content: space-between;
    gap: 27px 0;
  }
}
.c-page-heroBox__item {
  text-align: center;
  padding: 10px 10px 18px;
  background-color: rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
  transform: scaleX(0);
  transform-origin: left;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__item {
    width: 31.4814814815%;
    padding: 36px 10px 48px;
  }
}
.c-page-heroBox__item *:last-of-type {
  margin-bottom: 0;
}
.c-page-heroBox__item--sm {
  width: 87.5%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__item--sm {
    width: 31.4814814815%;
    margin: 0;
    padding: 36px 10px 48px;
  }
}
.c-page-heroBox__item--full {
  position: relative;
  width: 100%;
  padding: 30px 20px 35px;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__item--full {
    text-align: left;
    display: flex;
    width: 100%;
    padding: 68px 80px 60px 60px;
  }
}
.c-page-heroBox__item--full .c-page-title {
  text-align: center;
  width: 100%;
  margin: 0 0 16px;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__item--full .c-page-title {
    text-align: left;
    width: -moz-max-content;
    width: max-content;
    margin-bottom: 0;
    padding-top: 12px;
  }
}
.c-page-heroBox__item--full .c-page-title__heading {
  position: relative;
  margin-bottom: 8px;
  padding-bottom: 10px;
  font-size: 34px;
  line-height: 36px;
  color: #000000;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__item--full .c-page-title__heading {
    margin-bottom: 14px;
    padding-bottom: 14px;
    font-size: 54px;
    line-height: 54px;
  }
}
.c-page-heroBox__item--full .c-page-title__heading::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 20px;
  height: 4px;
  background-color: #43BFEF;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__item--full .c-page-title__heading::before {
    left: 0;
    transform: translateX(0);
  }
}
.c-page-heroBox__item--full .c-page-title__subheading {
  font-size: 12px;
  line-height: 16px;
  color: #000000;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__item--full .c-page-title__subheading {
    text-align: left;
    justify-content: flex-start !important;
    font-size: 20px;
    line-height: 22px;
  }
}
.c-page-heroBox__item--full .js-gradText {
  color: transparent !important;
  background: linear-gradient(90deg, var(--color-black) 20%, var(--color-blue) 30%);
  -webkit-background-clip: text;
  background-clip: text;
  background-repeat: no-repeat;
  background-size: 500% 500%;
  background-position: var(--background-position) 0%;
  -webkit-mask-image: linear-gradient(90deg, #000 24%, transparent 33%);
  mask-image: linear-gradient(90deg, #000 24%, transparent 33%);
  -webkit-mask-position: var(--mask-position) 0;
  mask-position: var(--mask-position) 0;
}
.c-page-heroBox__item .c-page-title,
.c-page-heroBox__item .c-page-heroBox__detail,
.c-page-heroBox__item .c-page-heroBox__number,
.c-page-heroBox__item .c-page-heroBox__keyword,
.c-page-heroBox__item .c-page-heroBox__text {
  opacity: 0;
  transform: translateY(40px);
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__detail {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 78.431372549%;
    margin-left: auto;
  }
}
.c-page-heroBox__catch {
  text-align: center;
  margin-bottom: 2px;
  font-size: 12px;
  line-height: 25px;
  color: #002B71;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__catch {
    margin-bottom: 13px;
    font-size: 20px;
    line-height: 25px;
  }
}
.c-page-heroBox__heading {
  text-align: center;
  font-size: 30px;
  line-height: 42px;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__heading {
    font-size: 64px;
    line-height: 84px;
  }
}
.c-page-heroBox__heading--sm {
  font-size: 22px;
  line-height: 34px;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__heading--sm {
    font-size: 56px;
    line-height: 78px;
  }
}
.c-page-heroBox__heading--md {
  font-size: 26px;
  line-height: 38px;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__heading--md {
    font-size: 56px;
    line-height: 78px;
  }
}
.c-page-heroBox__heading:has(+ .c-page-heroBox__catch) {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #002B71;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__heading:has(+ .c-page-heroBox__catch) {
    margin-bottom: 40px;
    padding-bottom: 43px;
  }
}
.c-page-heroBox__heading:has(+ .c-page-heroBox__text) {
  margin-bottom: 14px;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__heading:has(+ .c-page-heroBox__text) {
    margin-bottom: 17px;
  }
}
.c-page-heroBox__text {
  text-align: center;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__text {
    font-size: 20px;
    line-height: 34px;
  }
}
.c-page-heroBox__text--xs {
  font-size: 13px !important;
  line-height: 23px !important;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__text--xs {
    font-size: 18px !important;
    line-height: 28px !important;
  }
}
.c-page-heroBox__text--sm {
  font-size: 14px;
  line-height: 23px;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__text--sm {
    font-size: 20px;
    line-height: 34px;
  }
}
.c-page-heroBox__number {
  position: relative;
  display: inline-block;
  margin-bottom: 8px;
  padding-bottom: 10px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__number {
    margin-bottom: 12px;
    padding-bottom: 16px;
    font-size: 18px;
  }
}
.c-page-heroBox__number::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -2px;
  width: 20px;
  height: 4px;
  background-color: #43BFEF;
}
.c-page-heroBox__keyword {
  margin-bottom: 6px;
  font-size: 26px;
  line-height: 37px;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__keyword {
    margin-bottom: 4px;
    font-size: 38px;
    line-height: 55px;
  }
}
.c-page-heroBox__text {
  color: #000000;
  font-size: 15px;
  line-height: 26px;
}
@media screen and (min-width: 769px) {
  .c-page-heroBox__text {
    font-size: 18px;
    line-height: 28px;
  }
}
.c-page-heroFigure {
  z-index: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  aspect-ratio: 610/313;
  width: 88.8888888889%;
}
@media screen and (min-width: 769px) {
  .c-page-heroFigure {
    width: 47.65625%;
  }
}

.c-page-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0);
}
.c-page-bg__inner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-size: cover;
  background-position: center;
  z-index: -1;
}
.values .c-page-bg__inner {
  background-image: -webkit-image-set(url(../image/values/webp/img_main.webp) type("image/webp"), url(../image/values/img_main.jpg) type("image/jpeg"));
  background-image: image-set(url(../image/values/webp/img_main.webp) type("image/webp"), url(../image/values/img_main.jpg) type("image/jpeg"));
  background-position: 44% center;
}
@media screen and (min-width: 769px) {
  .values .c-page-bg__inner {
    background-position: center center;
  }
}
.technology .c-page-bg__inner {
  background-image: -webkit-image-set(url(../image/technology/webp/img_main.webp) type("image/webp"), url(../image/technology/img_main.jpg) type("image/jpeg"));
  background-image: image-set(url(../image/technology/webp/img_main.webp) type("image/webp"), url(../image/technology/img_main.jpg) type("image/jpeg"));
}
.awards .c-page-bg__inner {
  background-image: -webkit-image-set(url(../image/awards/webp/img_main.webp) type("image/webp"), url(../image/awards/img_main.jpg) type("image/jpeg"));
  background-image: image-set(url(../image/awards/webp/img_main.webp) type("image/webp"), url(../image/awards/img_main.jpg) type("image/jpeg"));
}

.c-page-visual {
  position: relative;
  padding: 110px 0 0;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-page-visual {
    padding: 174px 0 100px;
  }
}
@media screen and (min-width: 769px) {
  .c-page-visualCover {
    padding: 174px 0 100px;
  }
}
.c-page-visual__wrap {
  position: relative;
  width: 94.4444444444%;
  margin-left: auto !important;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-page-visual__wrap {
    width: 90.625%;
    margin-left: auto !important;
  }
}
@media screen and (min-width: 1600px) {
  .c-page-visual__wrap {
    margin: 0 auto !important;
  }
}
.c-page-visualMain * {
  color: #ffffff;
}
.c-page-visualMain .c-page-title {
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .c-page-visualMain .c-page-title {
    margin-bottom: 12px;
  }
}
.c-page-visualMain .c-page-title * {
  color: #ffffff;
}
.c-page-visualMain .c-page-title .c-page-title__heading {
  font-size: 36px;
  line-height: 44px;
}
@media screen and (min-width: 769px) {
  .c-page-visualMain .c-page-title .c-page-title__heading {
    margin-bottom: 6px;
    font-size: 52px;
    line-height: 63px;
  }
}
.c-page-visualMain .c-page-title .c-page-title__subheading {
  gap: 0 5px;
  font-size: 14px;
  line-height: 35px;
}
@media screen and (min-width: 769px) {
  .c-page-visualMain .c-page-title .c-page-title__subheading {
    gap: 0 6px;
    font-size: 15px;
    line-height: 20px;
  }
}
.c-page-visualMain .c-page-title .js-gradText {
  background-image: linear-gradient(to right, #FFFFFF 0 calc(var(--p2) - var(--soft)), transparent calc(var(--p2) + var(--soft)) 100%), linear-gradient(to right, #0033A2 0 calc(var(--p1) - var(--soft)), transparent calc(var(--p1) + var(--soft)) 100%);
}
.c-page-visualMain .c-page-title .motif {
  width: 18px;
  margin-top: 2px;
  background-color: transparent;
  background-image: linear-gradient(to right, #FFFFFF 0 calc(var(--p2) - var(--soft)), transparent calc(var(--p2) + var(--soft)) 100%), linear-gradient(to right, #0033A2 0 calc(var(--p1) - var(--soft)), transparent calc(var(--p1) + var(--soft)) 100%);
}
@media screen and (min-width: 769px) {
  .c-page-visualMain .c-page-title .motif {
    width: 18px;
    margin-top: 2px;
  }
}
.c-page-visualMain .c-page-title--single {
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  .c-page-visualMain .c-page-title--single {
    margin-bottom: 12px;
  }
}
.c-page-visualMain__title {
  margin-bottom: 24px;
  font-size: 40px;
  line-height: 56px;
}
@media screen and (min-width: 769px) {
  .c-page-visualMain__title {
    margin-bottom: 30px;
    font-size: 80px;
    line-height: 110px;
  }
}
.c-page-visualMain__text {
  padding-right: 5.8823529412%;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-page-visualMain__text {
    font-size: 18px;
    line-height: 36px;
  }
}
.c-page-visualMain__heading {
  display: flex;
  align-items: flex-start;
  gap: 0 11px;
  margin-bottom: 15px;
  font-size: 30px;
  line-height: 42px;
}
@media screen and (min-width: 769px) {
  .c-page-visualMain__heading {
    gap: 0 15px;
    margin-bottom: 20px;
    font-size: 62px;
    line-height: 78px;
  }
}
.c-page-visualMain__heading span {
  flex: 1;
  display: inline-block;
}
.c-page-visualMain__heading.-mark::before {
  content: "";
  display: inline-block;
  width: 32px;
  aspect-ratio: 32/66;
  margin-top: 8px;
  background: transparent url(../image/common/mark01.png) no-repeat scroll center center/cover;
}
@media screen and (min-width: 769px) {
  .c-page-visualMain__heading.-mark::before {
    margin-top: 8px;
    width: 34px;
  }
}
.c-page-visualMain__state {
  display: flex;
  gap: 0 10px;
}
@media screen and (min-width: 769px) {
  .c-page-visualMain__state {
    gap: 0 16px;
  }
}
.c-page-visualMain__category {
  font-size: 14px;
  line-height: 20px;
  color: #43BFEF;
}
@media screen and (min-width: 769px) {
  .c-page-visualMain__category {
    font-size: 18px;
    line-height: 20px;
  }
}
.c-page-visualMain__list {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.c-page-visualMain__list li {
  padding: 3px 8px 4px;
  border: 1px solid #C2CDE3;
  color: #43BFEF;
  font-size: 12px;
  line-height: 17px;
}
@media screen and (min-width: 769px) {
  .c-page-visualMain__list li {
    padding: 3px 8px 4px;
  }
}
.c-page-visualMain .c-page-visualImage {
  width: 110%;
  margin: 30px 5.8823529412% 39px;
}
.c-page-visualImage {
  width: 110%;
  margin-top: 42px;
  margin-left: 5.8823529412%;
}
@media screen and (min-width: 769px) {
  .c-page-visualImage {
    width: 95.775862069%;
    max-width: 1392.5px;
    margin-top: 0;
    margin-right: -13.7931034483%;
    margin-left: auto;
  }
}
.c-page-visual--single {
  padding: 110px 0 46px;
}
@media screen and (min-width: 769px) {
  .c-page-visual--single {
    padding: 174px 0 96px;
  }
}
.c-page-visual--topics {
  padding: 110px 0 42px;
}
@media screen and (min-width: 769px) {
  .c-page-visual--topics {
    padding: 154px 0 70px;
  }
}
.c-page-visual--topics .c-page-visualMain .c-page-title {
  margin-bottom: 0;
}
.c-page-visual--topics .c-page-visualMain .c-page-title__heading {
  font-size: 36px;
  line-height: 44px;
}
@media screen and (min-width: 769px) {
  .c-page-visual--topics .c-page-visualMain .c-page-title__heading {
    margin-bottom: 12px;
    font-size: 52px;
    line-height: 63px;
  }
}
.c-page-visual--topics .c-page-visualMain .c-page-title__subheading {
  font-size: 14px;
  line-height: 35px;
}
@media screen and (min-width: 769px) {
  .c-page-visual--topics .c-page-visualMain .c-page-title__subheading {
    font-size: 15px;
    line-height: 20px;
  }
}
.c-page-visual--layer {
  padding: 120px 0 73px;
}
@media screen and (min-width: 769px) {
  .c-page-visual--layer {
    padding: 164px 0 69px;
  }
}
.c-page-visual--layer .c-page-title {
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .c-page-visual--layer .c-page-title {
    margin-bottom: 0;
  }
}
.c-page-visual--layer .c-page-title .c-page-title__heading {
  margin-bottom: 0;
  font-size: 50px;
  line-height: 54px;
}
@media screen and (min-width: 769px) {
  .c-page-visual--layer .c-page-title .c-page-title__heading {
    margin-bottom: 0;
    font-size: 90px;
    line-height: 110px;
  }
}
.c-page-visual--layer .c-page-title .c-page-title__subheading {
  gap: 0 5px;
  font-size: 14px;
  line-height: 35px;
}
@media screen and (min-width: 769px) {
  .c-page-visual--layer .c-page-title .c-page-title__subheading {
    gap: 0 6px;
    font-size: 24px;
    line-height: 35px;
  }
}
.c-page-visual--title {
  padding: 120px 0 0;
}
@media screen and (min-width: 769px) {
  .c-page-visual--title {
    padding: 180px 0 0;
  }
}
.c-page-visual--title .c-page-visualMain {
  z-index: 1;
  position: relative;
}
@media screen and (min-width: 769px) {
  .c-page-visual--title .c-page-visualMain {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    top: 44%;
  }
}
.c-page-visual--title .c-page-title {
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .c-page-visual--title .c-page-title {
    margin-bottom: 0;
  }
}
.c-page-visual--title .c-page-title .c-page-title__heading {
  margin-bottom: 0;
  font-size: 48px;
  line-height: 52px;
  text-shadow: 0px 3px 30px rgba(0, 0, 0, 0.8);
}
@media screen and (min-width: 769px) {
  .c-page-visual--title .c-page-title .c-page-title__heading {
    margin-bottom: 0;
    font-size: 112px;
    line-height: 136px;
  }
}
.c-page-visual--title .c-page-title .c-page-title__subheading {
  gap: 0 5px;
  font-size: 14px;
  line-height: 35px;
}
@media screen and (min-width: 769px) {
  .c-page-visual--title .c-page-title .c-page-title__subheading {
    gap: 0 6px;
    font-size: 24px;
    line-height: 35px;
  }
}
.c-page-visual--title .c-page-title .motif {
  width: 18px;
}
@media screen and (min-width: 769px) {
  .c-page-visual--title .c-page-title .motif {
    width: 18px;
  }
}

.c-page-table {
  padding: 58px 0 103px;
  background-color: #E9EDF4;
}
@media screen and (min-width: 769px) {
  .c-page-table {
    padding: 100px 0;
  }
}
.c-page-table__wrap tr {
  display: flex;
  padding: 16px 0;
  border-bottom: 1px solid #3E5988;
}
@media screen and (min-width: 769px) {
  .c-page-table__wrap tr {
    padding: 26px 0;
  }
}
.c-page-table__wrap tr:first-of-type {
  border-top: 1px solid #3E5988;
}
.c-page-table__wrap tr th, .c-page-table__wrap tr td {
  font-size: 15px;
  line-height: 22px;
}
@media screen and (min-width: 769px) {
  .c-page-table__wrap tr th, .c-page-table__wrap tr td {
    font-size: 18px;
    line-height: 30px;
  }
}
.c-page-table__wrap tr th {
  width: 80px;
}
@media screen and (min-width: 769px) {
  .c-page-table__wrap tr th {
    width: 180px;
  }
}
.c-page-table__wrap tr td {
  flex: 1;
}

.c-page-articles {
  position: relative;
  margin-top: 60px;
  padding: 20px 0 33px;
  background-color: #E7EDF8;
}
@media screen and (min-width: 769px) {
  .c-page-articles {
    margin-top: 90px;
    padding: 30px 0 80px;
  }
}
.c-page-articles#section {
  scroll-margin-top: 110px;
}
@media screen and (min-width: 769px) {
  .c-page-articles#section {
    scroll-margin-top: 160px;
  }
}
.c-page-articles--margin {
  margin: 0;
}
.c-page-articles__panel {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -60px;
  display: flex;
  justify-content: center;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-page-articles__panel {
    top: -90px;
  }
}
.c-page-articles__panel li {
  width: 45.2777777778%;
  font-size: 15px;
  line-height: 21px;
  transition: background-color 0.36s ease-in 0s;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .c-page-articles__panel li {
    width: 32.8125%;
    font-size: 24px;
    line-height: 35px;
  }
}
.c-page-articles__panel li a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5px 0;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  color: #ffffff;
  background-color: #0033A2;
}
@media screen and (min-width: 769px) {
  .c-page-articles__panel li a {
    gap: 10px 0;
    min-height: 90px;
  }
}
.c-page-articles__panel li .c-arrowInner {
  display: block;
  block-size: 13px;
  width: 13px;
  transform: rotate(90deg);
}
.c-page-articles__panel li .c-arrowInner svg * {
  fill: #ffffff;
}
.c-page-articles__panel li svg * {
  fill: #ffffff;
}
.c-page-articles__panel li:hover a .c-arrow--out {
  transform: translateX(150%);
}
.c-page-articles__panel li:hover a .c-arrow--in {
  transform: translateX(0%);
}
.c-page-articles__panel li.is-active a {
  color: #000000;
  background-color: #E7EDF8;
  pointer-events: none;
}
.c-page-articles__panel li.is-active svg * {
  fill: #000000;
}
.c-page-articlesList {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .c-page-articlesList {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 48px;
  }
}
@media screen and (min-width: 769px) {
  .c-page-articlesList::after {
    content: "";
    display: block;
    width: 31.6071428571%;
  }
}
.c-page-articlesItem {
  position: relative;
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .c-page-articlesItem {
    width: 31.6071428571%;
    margin-bottom: 30px;
  }
}
.c-page-articlesItem a:hover {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .c-page-articlesItem a:hover .c-page-articlesItem__thumb img {
    transform: scale(1.06);
  }
}
.c-page-articlesItem.-mark::before {
  content: "";
  z-index: 1;
  position: absolute;
  top: -6px;
  right: 6px;
  width: 32px;
  aspect-ratio: 32/66;
  background: transparent url(../image/common/mark01.png) no-repeat scroll center center/cover;
}
.c-page-articlesItem__thumb {
  aspect-ratio: 350/180;
  overflow: hidden;
}
.c-page-articlesItem__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  transition: transform 0.32s ease-in 0s;
}
.c-page-articlesItem__contents time {
  display: inline-block;
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 24px;
  color: #002B71;
}
@media screen and (min-width: 769px) {
  .c-page-articlesItem__contents time {
    margin: 10px 0 2px;
  }
}
.c-page-articlesItem__contents ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
@media screen and (min-width: 769px) {
  .c-page-articlesItem__contents ul {
    margin-top: 10px;
  }
}
.c-page-articlesItem__contents ul li {
  padding: 2px 8px 4px;
  border-radius: 3px;
  border: 1px solid #C2CDE3;
  font-size: 12px;
  line-height: 17px;
  color: #43BFEF;
}
.c-page-articlesItem__heading {
  font-size: 16px;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .c-page-articlesItem__heading {
    font-size: 16px;
    line-height: 24px;
  }
}
.c-page-articlesMore {
  position: relative;
  text-align: center;
  margin-top: 30px;
  padding: 16px 0 23px;
  font-size: 15px;
}
@media screen and (min-width: 769px) {
  .c-page-articlesMore {
    width: 72.5%;
    margin: 30px auto 0;
    padding: 16px 0 20px;
    font-size: 16px;
    cursor: pointer;
  }
}
.c-page-articlesMore::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 50%;
  height: 4px;
  background-color: #000000;
  transition: transform 0.28s ease-in 0s;
  transform-origin: right;
}
.c-page-articlesMore::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -4px;
  width: 50%;
  height: 4px;
  background-color: #000000;
  transition: transform 0.28s ease-in 0s;
  transform-origin: left;
}
.c-page-articlesMore:hover::before, .c-page-articlesMore:hover::after {
  transform: scaleX(0.025);
}
.c-page-articlesStack {
  padding: 0;
}
@media screen and (min-width: 769px) {
  .c-page-articlesStack {
    width: 71.4285714286%;
    margin: 0 auto;
    padding: 24px 0 80px;
  }
}
.c-page-articlesStack li {
  border-bottom: 1px solid #2A4069;
}
.c-page-articlesStack li a {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  padding: 21px 0 20px;
}
@media screen and (min-width: 769px) {
  .c-page-articlesStack li a {
    align-items: flex-start;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 22px 0;
  }
}
.c-page-articlesStack li time {
  display: inline-block;
  padding-top: 2px;
  font-size: 12px;
  line-height: 20px;
}
.c-page-articlesStack li span {
  display: inline-block;
  padding: 3px 8px 4px;
  color: #43BFEF;
  border: 1px solid #C2CDE3;
  font-size: 12px;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .c-page-articlesStack li span {
    padding: 3px 8px 4px;
  }
}
.c-page-articlesStack__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}
@media screen and (min-width: 769px) {
  .c-page-articlesStack__wrap {
    flex: 1;
    gap: 5px 10px;
  }
}
.c-page-articlesStack__heading {
  width: 100%;
  font-size: 16px;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .c-page-articlesStack__heading {
    width: 100%;
    font-size: 18px;
    line-height: 28px;
  }
}
.c-page-articlesStack__thumb {
  width: 50%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-page-articlesStack__thumb {
    width: 20%;
  }
}
.c-page-articlesStack__thumb picture,
.c-page-articlesStack__thumb img {
  display: block;
  aspect-ratio: 160/90;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-page-articles__inner {
  padding-top: 10px;
}
@media screen and (min-width: 769px) {
  .c-page-articles__inner {
    padding-top: 30px;
  }
}
.c-page-articles__inner *:last-of-type {
  margin-bottom: 0;
}
.c-page-articles__inner__text {
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-page-articles__inner__text {
    margin-bottom: 50px;
    font-size: 16px;
    line-height: 32px;
  }
}
.c-page-articles__inner__text a {
  text-decoration: underline;
}
.c-page-articles__inner__text a:hover {
  text-decoration: none;
}
.c-page-articles__inner__heading {
  position: relative;
  margin-bottom: 12px;
  padding-bottom: 12px;
  font-size: 20px;
  line-height: 26px;
}
@media screen and (min-width: 769px) {
  .c-page-articles__inner__heading {
    margin-bottom: 20px;
    padding-bottom: 20px;
    font-size: 26px;
    line-height: 32px;
  }
}
.c-page-articles__inner__heading::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 20px;
  height: 4px;
  background-color: #43BFEF;
}
@media screen and (min-width: 769px) {
  .c-page-articles__inner__heading::before {
    bottom: -3px;
    width: 40px;
  }
}

.c-panel__wrap {
  display: none;
  width: 88.8888888889%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-panel__wrap {
    width: 87.5%;
    max-width: 1400%;
  }
}
.c-panel__wrap.is-active {
  display: block;
}
.c-panel__wrap form {
  padding-bottom: 20px;
  border-bottom: 3px solid #000000;
}
@media screen and (min-width: 769px) {
  .c-panel__wrap form {
    padding-bottom: 30px;
  }
}
.c-panel__wrap form fieldset {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (min-width: 769px) {
  .c-panel__wrap form fieldset {
    gap: 10px;
  }
}
.c-panel__label {
  display: inline-flex;
  align-items: center;
}
.c-panel__label label {
  padding: 6px 14px 7px;
  border: 1px solid #C2CDE3;
  font-size: 12px;
  line-height: 17px;
}
@media screen and (min-width: 769px) {
  .c-panel__label label {
    padding: 6px 14px 8px;
    border-radius: 3px;
    font-size: 14px;
    line-height: 20px;
    color: #43BFEF;
    cursor: pointer;
  }
}
.c-panel__label input[type=checkbox],
.c-panel__label input[type=radio] {
  appearance: none;
  -webkit-appearance: none; /* Safari対応 */
  -moz-appearance: none; /* Firefox対応 */
  margin: 0;
  width: 0;
  height: 0;
}
.c-panel__label input[type=checkbox]:checked + label,
.c-panel__label input[type=radio]:checked + label {
  color: #ffffff;
  background-color: #43BFEF;
  border: 1px solid #43BFEF;
}

.c-single-body {
  padding: 30px 0 83px;
  background-color: #E7EDF8;
}
@media screen and (min-width: 769px) {
  .c-single-body {
    padding: 80px 0 120px;
  }
}
.c-single-body .c-button {
  margin: 40px auto 0;
}
@media screen and (min-width: 769px) {
  .c-single-body .c-button {
    margin: 60px auto 0;
  }
}
.c-single-body__column {
  display: flex;
  flex-direction: column;
  gap: 40px 0;
}
@media screen and (min-width: 769px) {
  .c-single-body__column {
    flex-direction: row;
    justify-content: space-between;
    max-width: 1120px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 769px) {
  .c-single-body__column .c-single-body__inner {
    width: 55.3571428571%;
  }
}
.c-single-body__head {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .c-single-body__head {
    gap: 14px 10px;
    margin-bottom: 50px;
  }
}
.c-single-body__head time {
  display: inline-block;
  padding-top: 2px;
  font-size: 12px;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .c-single-body__head time {
    padding-top: 6px;
    font-size: 12px;
  }
}
.c-single-body__head span {
  display: inline-block;
  padding: 3px 7px 4px;
  color: #43BFEF;
  border: 1px solid #C2CDE3;
  font-size: 12px;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .c-single-body__head span {
    margin-top: 2px;
    padding: 3px 7px 4px;
  }
}
.c-single-body__head__title {
  width: 100%;
  font-size: 24px;
  line-height: 34px;
}
@media screen and (min-width: 769px) {
  .c-single-body__head__title {
    font-size: 44px;
    line-height: 64px;
  }
}
.c-single-body__inner > * {
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner > * {
    margin-bottom: 40px;
  }
}
.c-single-body__inner p {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner p {
    font-size: 16px;
    line-height: 30px;
  }
}
.c-single-body__inner h2 {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  margin-bottom: 20px;
  padding-bottom: 12px;
  font-size: 24px;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner h2 {
    margin-bottom: 30px;
    padding-bottom: 20px;
    font-size: 28px;
  }
}
.c-single-body__inner h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 24px;
  height: 4px;
  background-color: #63C5EC;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner h2::before {
    width: 40px;
  }
}
.c-single-body__inner h3 {
  text-align: center;
  margin-bottom: 6.5px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  line-height: 22px;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner h3 {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 1.4;
  }
}
.c-single-body__inner img {
  display: block;
}
.c-single-body__inner .table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}
.c-single-body__inner table {
  margin-bottom: 40px;
  border: 0.5px solid #C4C4C4;
  border-collapse: collapse;
  border-spacing: 0;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner table {
    margin-bottom: 63px;
  }
}
.c-single-body__inner table th, .c-single-body__inner table td {
  padding: 16px 12px;
  border: 0.5px solid #C4C4C4;
  border-collapse: collapse;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
  line-height: 17px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner table th, .c-single-body__inner table td {
    padding: 19px 20px;
    font-size: 16px;
    line-height: 30px;
  }
}
.c-single-body__inner table th {
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  background-color: #F0F5FC;
}
.c-single-body__inner table td {
  background-color: #ffffff;
}
.c-single-body__inner .split2 {
  vertical-align: top;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
.c-single-body__inner .split2 > li {
  width: 48.125%;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner .split2 > li {
    width: 48.75%;
  }
}
.c-single-body__inner .wp-block-image {
  margin-bottom: 20px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner .wp-block-image {
    width: 100%;
    margin: 0 auto 43px;
  }
}
.c-single-body__inner .wp-block-image figcaption {
  text-align: center;
  margin-top: 7px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner .wp-block-image figcaption {
    margin-top: 10px;
    font-size: 16px;
    line-height: 30px;
  }
}
.c-single-body__inner .wp-block-columns {
  display: flex;
  justify-content: space-between;
  gap: 5%;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner .wp-block-columns {
    gap: 5%;
  }
}
.c-single-body__inner .wp-block-columns .wp-block-column {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-single-body__inner .wp-block-columns .wp-block-image {
    width: 100%;
  }
}
.c-single-body__sidebar {
  padding-top: 30px;
  border-top: 4px solid #000000;
}
@media screen and (min-width: 769px) {
  .c-single-body__sidebar {
    position: sticky;
    top: 100px;
    width: 39.2857142857%;
    padding-top: 0;
    border: none;
  }
}
.c-single-body__sidebar__text {
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-single-body__sidebar__text {
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 30px;
  }
}
.c-single-body__sidebar__table {
  display: block;
  padding: 40px 30px;
  background-color: #002B71;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-single-body__sidebar__table {
    padding: 30px 30px;
  }
}
.c-single-body__sidebar__table tbody {
  display: block;
  width: 100%;
}
.c-single-body__sidebar__table tr {
  display: flex;
  align-items: flex-start;
  padding: 9px 0 10px;
  border-bottom: 1px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .c-single-body__sidebar__table tr {
    padding: 9px 0 10px;
  }
}
.c-single-body__sidebar__table tr:first-of-type {
  border-top: 1px solid #ffffff;
}
.c-single-body__sidebar__table tr th, .c-single-body__sidebar__table tr td {
  color: #ffffff;
}
.c-single-body__sidebar__table tr th {
  width: 60px;
  padding-top: 6px;
  font-size: 12px;
}
.c-single-body__sidebar__table tr td {
  flex: 1;
  font-size: 15px;
  line-height: 19px;
  padding-top: 2px;
}
.c-single-body__slide-main .swiper-button-prev {
  width: 24px;
  height: 24px;
  background: transparent url(../image/common/arrow_prev_slide.svg) no-repeat scroll center center/cover;
}
.c-single-body__slide-main .swiper-button-prev::after {
  display: none;
}
.c-single-body__slide-main .swiper-button-next {
  width: 24px;
  height: 24px;
  background: transparent url(../image/common/arrow_next_slide.svg) no-repeat scroll center center/cover;
}
.c-single-body__slide-main .swiper-button-next::after {
  display: none;
}
.c-single-body__slide-thumb {
  margin-top: 13px;
}
@media screen and (min-width: 769px) {
  .c-single-body__slide-thumb {
    margin-top: 12px;
  }
}
.c-single-body__slide-thumb__item {
  position: relative;
}
.c-single-body__slide-thumb__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  transition: opacity 0.3s ease-in 0s;
}
.c-single-body__slide-thumb__item img {
  display: block;
  aspect-ratio: 136/90;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: cover;
  object-position: cover;
}
.c-single-body__slide .swiper-slide-thumb-active::before {
  opacity: 0;
}
.c-single-body__slide .swiper-button-prev,
.c-single-body__slide .swiper-button-next {
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  margin: 0;
}
@media screen and (min-width: 769px) {
  .c-single-body__slide .swiper-button-prev,
  .c-single-body__slide .swiper-button-next {
    width: 24px;
    height: 24px;
  }
}
.c-single-body__slide .swiper-button-prev::after,
.c-single-body__slide .swiper-button-next::after {
  display: none;
}
.c-single-body__slide .swiper-button-prev {
  left: 10px;
  background: transparent url(../image/common/arrow_prev_slide.svg) no-repeat scroll center center/cover;
}
.c-single-body__slide .swiper-button-next {
  right: 10px;
  background: transparent url(../image/common/arrow_next_slide.svg) no-repeat scroll center center/cover;
}

.c-toc {
  position: relative;
  padding: 80px 0 60px;
}
@media screen and (min-width: 769px) {
  .c-toc {
    padding: 110px 0 120px;
  }
}
.c-toc__wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 6.25%;
  width: 88.8888888889%;
}
@media screen and (min-width: 769px) {
  .c-toc__wrap {
    justify-content: center;
    gap: 60px 4.347826087%;
    width: 71.875%;
  }
}
.c-toc__item {
  position: relative;
  width: 46.875%;
  border-bottom: 3px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .c-toc__item {
    width: 21.7391304348%;
    min-width: 170px;
  }
}
.c-toc__thumb {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.c-toc__thumb::before {
  content: "";
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45);
}
.c-toc__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-toc__contents {
  z-index: 2;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  padding: 15px 0 10px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-toc__contents {
    padding: 24px 0 15px;
  }
}
.c-toc__contents * {
  color: #ffffff;
}
.c-toc__contents__number {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 769px) {
  .c-toc__contents__number {
    font-size: clamp(20px, 1.87vw, 24px);
    line-height: 1.2;
  }
}
.c-toc__contents__title {
  text-align: center;
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 26px;
}
@media screen and (min-width: 769px) {
  .c-toc__contents__title {
    margin-bottom: 18px;
    font-size: clamp(18px, 1.71vw, 22px);
    line-height: 1.36;
  }
}
.c-toc__contents__title span {
  text-align: center;
  display: inline-block;
  margin-top: 2px;
  margin-bottom: 3px;
  font-size: 14px;
  line-height: 16px;
}
@media screen and (min-width: 769px) {
  .c-toc__contents__title span {
    margin-top: 0;
    margin-bottom: 6px;
    font-size: 15px;
    line-height: 15px;
  }
}
.c-toc__contents .c-arrowInner {
  display: block;
  block-size: 13px;
  width: 13px;
  transform: rotate(90deg);
}
.c-toc__contents .c-arrowInner svg * {
  fill: #ffffff;
}

.c-overview .c-figure {
  overflow: visible;
}
.c-overviewWrap {
  position: relative;
  padding: 50px 0 60px;
  box-sizing: border-box;
  background-image: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}
@media screen and (min-width: 769px) {
  .c-overviewWrap {
    padding: 60px 0 64px;
  }
}
.c-overviewWrap--color1 {
  background-color: #032762;
}
.c-overviewWrap--color2 {
  background-color: #081E4B;
}
.c-overviewWrap--service1 .c-page-bg__inner {
  background-image: -webkit-image-set(url(../image/service/webp/bg01.webp) type("image/webp"), url(../image/service/bg01.jpg) type("image/jpeg"));
  background-image: image-set(url(../image/service/webp/bg01.webp) type("image/webp"), url(../image/service/bg01.jpg) type("image/jpeg"));
}
.c-overviewWrap--service2 .c-page-bg__inner {
  background-image: -webkit-image-set(url(../image/service/webp/bg02.webp) type("image/webp"), url(../image/service/bg02.jpg) type("image/jpeg"));
  background-image: image-set(url(../image/service/webp/bg02.webp) type("image/webp"), url(../image/service/bg02.jpg) type("image/jpeg"));
}
.c-overviewWrap--service3 .c-page-bg__inner {
  background-image: -webkit-image-set(url(../image/service/webp/bg03.webp) type("image/webp"), url(../image/service/bg03.jpg) type("image/jpeg"));
  background-image: image-set(url(../image/service/webp/bg03.webp) type("image/webp"), url(../image/service/bg03.jpg) type("image/jpeg"));
}
.c-overviewWrap--service4 .c-page-bg__inner {
  background-image: -webkit-image-set(url(../image/service/webp/bg04.webp) type("image/webp"), url(../image/service/bg04.jpg) type("image/jpeg"));
  background-image: image-set(url(../image/service/webp/bg04.webp) type("image/webp"), url(../image/service/bg04.jpg) type("image/jpeg"));
}
@media screen and (min-width: 769px) {
  .c-overviewWrap:nth-child(2n) .c-overviewColumn {
    flex-direction: row-reverse;
  }
}
.c-overviewWrap:nth-child(2n) .c-overviewImages__en {
  right: auto;
  left: 9.375%;
}
@media screen and (min-width: 769px) {
  .c-overviewWrap:nth-child(2n) .c-overviewImages__en {
    right: auto;
    left: 6.25%;
  }
}
.c-overviewHead {
  z-index: 1;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .c-overviewHead {
    margin-bottom: 40px;
  }
}
.c-overviewHead__number {
  display: flex;
  align-items: flex-end;
  gap: 0 12px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 70px;
  color: #ffffff;
  opacity: 0.8;
}
@media screen and (min-width: 769px) {
  .c-overviewHead__number {
    gap: 0 12px;
    font-size: 100px;
  }
}
.c-overviewHead__number::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 8px;
  background-color: #ffffff;
  transform: translateY(-10px);
  opacity: 0.8;
}
@media screen and (min-width: 769px) {
  .c-overviewHead__number::after {
    width: 36px;
    transform: translateY(-18px);
  }
}
.c-overviewHead__en {
  text-align: right;
  padding-bottom: 8px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 17px;
  line-height: 18px;
  color: #ffffff;
  opacity: 0.7;
}
@media screen and (min-width: 769px) {
  .c-overviewHead__en {
    font-size: 30px;
    line-height: 32px;
  }
}
.c-overviewHead__image {
  width: 100%;
  margin-top: 8px;
}
.c-overviewHead + .c-overviewColumn .c-overviewImages {
  margin-top: 0;
}
.c-overviewColumn {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 60px 0;
}
@media screen and (min-width: 769px) {
  .c-overviewColumn {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .c-overviewContents {
    width: 46.2962962963%;
  }
}
.c-overviewContents * {
  color: #ffffff;
}
.c-overviewContents *:last-child {
  margin-bottom: 0;
}
.c-overviewContents__number {
  display: flex;
  align-items: flex-end;
  gap: 0 15px;
  margin-bottom: 20px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 70px;
  color: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 769px) {
  .c-overviewContents__number {
    gap: 0 24px;
    margin-bottom: 32px;
    font-size: 100px;
  }
}
.c-overviewContents__number::after {
  content: "";
  display: inline-block;
  width: 60px;
  height: 8px;
  background-color: rgba(255, 255, 255, 0.8);
  transform: translateY(-10px);
}
@media screen and (min-width: 769px) {
  .c-overviewContents__number::after {
    width: 80px;
    transform: translateY(-18px);
  }
}
.c-overviewContents__heading {
  position: relative;
  padding-bottom: 22px;
  margin-bottom: 14px;
  font-size: 32px;
  line-height: 42px;
}
@media screen and (min-width: 769px) {
  .c-overviewContents__heading {
    margin-bottom: 26px;
    padding-bottom: 38px;
    font-size: 52px;
    line-height: 64px;
  }
}
.c-overviewContents__heading span {
  display: inline-block;
  font-feature-settings: "palt";
  font-size: 20px;
}
@media screen and (min-width: 769px) {
  .c-overviewContents__heading span {
    font-size: 30px;
  }
}
.c-overviewContents__heading small {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 26px;
  font-feature-settings: "palt";
}
@media screen and (min-width: 769px) {
  .c-overviewContents__heading small {
    margin-top: 12px;
    font-size: 20px;
    line-height: 1.4;
  }
}
.c-overviewContents__heading::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
  height: 6px;
  background-color: #63C5EC;
}
@media screen and (min-width: 769px) {
  .c-overviewContents__heading::before {
    left: 0;
    transform: translateX(0);
    width: 70px;
  }
}
.c-overviewContents__text {
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-overviewContents__text {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 32px;
  }
}
.c-overviewContents__list {
  display: flex;
  flex-direction: column;
  gap: 10px 0;
}
@media screen and (min-width: 769px) {
  .c-overviewContents__list {
    gap: 14px 0;
  }
}
.c-overviewContents__list li {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 0 15px;
  padding: 16px 18px 14px;
  background-color: #ffffff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-overviewContents__list li {
    gap: 0 18px;
    min-height: 88px;
    padding: 17px 24px 20px;
  }
}
.c-overviewContents__list li * {
  color: #000000;
}
.c-overviewContents__list li span {
  position: relative;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .c-overviewContents__list li span {
    margin-top: 6px;
    padding-bottom: 10px;
    font-size: 14px;
  }
}
.c-overviewContents__list li span::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8px;
  width: 12px;
  height: 3px;
  background-color: #43BFEF;
}
@media screen and (min-width: 769px) {
  .c-overviewContents__list li span::before {
    bottom: 0;
    width: 14px;
    height: 3px;
  }
}
.c-overviewContents__list li p {
  flex: 1;
  font-size: 16px;
  line-height: 22px;
  color: #011C53;
}
@media screen and (min-width: 769px) {
  .c-overviewContents__list li p {
    font-size: 20px;
    line-height: 26px;
  }
}
.c-overviewContents__list__wrap {
  display: flex;
  align-items: center;
  gap: 0 24px;
}
@media screen and (min-width: 769px) {
  .c-overviewContents__list__wrap {
    align-items: flex-start;
  }
}
.c-overviewImages {
  position: relative;
}
@media screen and (min-width: 769px) {
  .c-overviewImages {
    width: 46.2962962963%;
    margin-top: 50px;
  }
}
.c-overviewImages__en {
  z-index: 1;
  position: absolute;
  top: -20px;
  right: 9.375%;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 14px;
  line-height: 24px;
  writing-mode: vertical-rl;
  color: #ffffff;
  opacity: 0.7;
}
@media screen and (min-width: 769px) {
  .c-overviewImages__en {
    top: -50px;
    right: 6.25%;
    font-size: 30px;
    line-height: 32px;
  }
}
.c-overviewGrid {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 0;
  margin-top: 30px;
  padding-top: 20px;
  border-top: 3px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .c-overviewGrid {
    gap: 40px 0;
    margin-top: 38px;
    padding-top: 38px;
  }
}
@media screen and (min-width: 769px) {
  .c-overviewGrid::after {
    content: "";
    display: block;
    width: 30.7142857143%;
  }
}
.c-overviewGrid__item {
  position: relative;
  width: 46.875%;
}
@media screen and (min-width: 769px) {
  .c-overviewGrid__item {
    width: 30.7142857143%;
  }
}
.c-overviewGrid__item__text {
  text-align: center;
  padding: 8px 0 0;
  color: #ffffff;
  font-size: 12px;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .c-overviewGrid__item__text {
    padding: 15px 0 0;
    font-size: 18px;
    line-height: 32px;
  }
}

.c-page-navi {
  padding: 60px 0;
  background-color: #011034;
}
.c-page-navi__column {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
@media screen and (min-width: 769px) {
  .c-page-navi__column {
    flex-direction: row;
    gap: 0;
  }
}
@media screen and (min-width: 769px) {
  .c-page-navi__item {
    flex: 1 1 50%;
  }
}
.c-page-navi__item a {
  position: relative;
  display: block;
}
.c-page-navi__item a:hover {
  opacity: 1;
}
.c-page-navi__item a:hover .c-arrow--out {
  transform: translateX(150%);
}
.c-page-navi__item a:hover .c-arrow--in {
  transform: translateX(0%);
}
.c-page-navi__item a:hover .c-arrowBox::before {
  -webkit-mask-position: 0% 0%;
  mask-position: 0% 0%;
}
.c-page-navi__contents {
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  top: calc(50% - 6px);
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-page-navi__contents {
    top: calc(50% - 2px);
  }
}
.c-page-navi .c-arrowBox {
  z-index: 1;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.c-fixed-block {
  position: relative;
  padding: 60px 0;
  background-color: transparent;
  background-image: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-fixed-block {
    padding: 160px 0 100px;
  }
}
.c-fixed-block .c-page-bg__inner {
  filter: blur(6px);
}
.c-fixed-block--mission .c-page-bg__inner {
  background-image: -webkit-image-set(url(../image/philosophy/webp/bg01.webp) type("image/webp"), url(../image/philosophy/bg01.jpg) type("image/jpeg"));
  background-image: image-set(url(../image/philosophy/webp/bg01.webp) type("image/webp"), url(../image/philosophy/bg01.jpg) type("image/jpeg"));
}
.c-fixed-block--vision .c-page-bg__inner {
  background-image: -webkit-image-set(url(../image/philosophy/webp/bg02.webp) type("image/webp"), url(../image/philosophy/bg02.jpg) type("image/jpeg"));
  background-image: image-set(url(../image/philosophy/webp/bg02.webp) type("image/webp"), url(../image/philosophy/bg02.jpg) type("image/jpeg"));
}
.c-fixed-block--spirit .c-page-bg__inner {
  background-image: -webkit-image-set(url(../image/philosophy/webp/bg03.webp) type("image/webp"), url(../image/philosophy/bg03.jpg) type("image/jpeg"));
  background-image: image-set(url(../image/philosophy/webp/bg03.webp) type("image/webp"), url(../image/philosophy/bg03.jpg) type("image/jpeg"));
}
@media screen and (max-width: 768px) {
  .c-fixed-block--spirit .c-page-bg__inner {
    background-position: 26% center;
  }
}
.c-fixed-block--management .c-page-bg__inner {
  background-image: -webkit-image-set(url(../image/philosophy/webp/bg04.webp) type("image/webp"), url(../image/philosophy/bg04.jpg) type("image/jpeg"));
  background-image: image-set(url(../image/philosophy/webp/bg04.webp) type("image/webp"), url(../image/philosophy/bg04.jpg) type("image/jpeg"));
}
.c-fixed-block--message {
  background-image: none;
  background-color: rgba(42, 64, 105, 0.8);
}
.c-fixed-block--message::after {
  display: none;
}
.c-fixed-block--message .c-page-title {
  width: auto;
}
.c-fixed-block--message .c-page-title__heading {
  margin-bottom: 6px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 30px;
  line-height: 40px;
}
@media screen and (min-width: 769px) {
  .c-fixed-block--message .c-page-title__heading {
    margin-bottom: 10px;
    font-size: 36px;
    line-height: 44px;
  }
}
.c-fixed-block--message .c-page-title__subheading {
  gap: 0 6px;
  font-size: 16px;
  line-height: 25px;
}
@media screen and (min-width: 769px) {
  .c-fixed-block--message .c-page-title__subheading {
    font-size: 15px;
    line-height: 20px;
  }
}
.c-fixed-block--message .motif {
  width: 18px;
  margin-top: 3px;
}
.c-fixed-block__head {
  display: flex;
  flex-direction: column;
  gap: 12px 0;
  padding: 24px 25px 20px;
  background-color: rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-fixed-block__head {
    flex-direction: row;
    padding: 71px 60px 67px;
  }
}
.c-fixed-block__head__value {
  display: flex;
  flex-direction: column;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 22px;
  line-height: 42px;
}
@media screen and (min-width: 769px) {
  .c-fixed-block__head__value {
    width: 28.8461538462%;
    font-size: 36px;
    line-height: 42px;
  }
}
.c-fixed-block__head__value span {
  position: relative;
  display: inline-block;
  padding-top: 6px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 12px;
  line-height: 25px;
}
@media screen and (min-width: 769px) {
  .c-fixed-block__head__value span {
    padding-top: 30px;
    font-size: 16px;
    line-height: 25px;
  }
}
.c-fixed-block__head__value span::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: 20px;
  height: 4px;
  background-color: #43BFEF;
}
@media screen and (min-width: 769px) {
  .c-fixed-block__head__value span::before {
    top: 12px;
  }
}
.c-fixed-block__head__title {
  font-size: 28px;
  line-height: 40px;
}
@media screen and (min-width: 769px) {
  .c-fixed-block__head__title {
    flex: 1;
    font-size: 50px;
    line-height: 70px;
  }
}

.c-fixed-block--management {
  padding: 122px 0 152px;
}
@media screen and (min-width: 769px) {
  .c-fixed-block--management {
    padding: 276px 0 233px;
  }
}
.c-fixed-block--management .c-page-heroSection {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .c-fixed-block--management .c-page-heroBox__item--full {
    padding: 60px 30px 65px 60px;
  }
}
.c-fixed-block--management .c-page-heroBox__heading {
  font-size: 30px;
  line-height: 42px;
}
@media screen and (min-width: 769px) {
  .c-fixed-block--management .c-page-heroBox__heading {
    font-size: 59px;
    line-height: 76px;
  }
}
.c-fixed-block--management .c-page-heroBox__heading--md {
  font-size: 34px !important;
  line-height: 36px !important;
}
@media screen and (min-width: 769px) {
  .c-fixed-block--management .c-page-heroBox__heading--md {
    font-size: 48px !important;
    line-height: 48px !important;
  }
}
@media screen and (min-width: 769px) {
  .c-fixed-block--management .c-page-title__heading {
    padding-bottom: 22px;
  }
}

.c-fixed-column {
  display: flex;
  flex-direction: column;
  gap: 30px 0;
  margin-top: 60px;
}
@media screen and (min-width: 769px) {
  .c-fixed-column {
    flex-direction: row;
    gap: 0;
    margin-top: 116px;
    padding-left: 5.1724137931%;
    box-sizing: border-box;
  }
}
.c-fixed-column * {
  color: #ffffff;
}
.c-fixed-column__headline {
  display: flex;
  flex-direction: column;
  gap: 25px 0;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__headline {
    width: 42.2727272727%;
    padding-right: 20px;
    box-sizing: border-box;
  }
}
.c-fixed-column__headline__story {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 14px;
  line-height: 27px;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__headline__story {
    font-size: 20px;
    line-height: 41px;
  }
}
.c-fixed-column__headline__main {
  position: relative;
  font-size: 26px;
  line-height: 38px;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__headline__main {
    font-size: 44px;
    line-height: 64px;
  }
}
.c-fixed-column__headline__main::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 0;
  width: 20px;
  height: 4px;
  background-color: #43BFEF;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__headline__main::before {
    top: -20px;
  }
}
.c-fixed-column__text {
  font-size: 15px;
  line-height: 26px;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__text {
    flex: 1;
    font-size: 22px;
    line-height: 36px;
  }
}
.c-fixed-column__desc {
  font-size: 15px;
  line-height: 26px;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__desc {
    width: 45.4545454545%;
    padding-right: 20px;
    box-sizing: border-box;
    font-size: 22px;
    line-height: 36px;
  }
}
.c-fixed-column__list {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__list {
    flex: 1;
  }
}
.c-fixed-column__list__item {
  display: flex;
  align-items: center;
  gap: 0 15px;
  padding: 15px 0;
  border-bottom: 4px solid #ffffff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__list__item {
    gap: 0 46px;
    min-height: 90px;
    padding: 16px 0;
  }
}
@media screen and (min-width: 769px) {
  .c-fixed-column__list__item:first-of-type {
    border-top: 4px solid #ffffff;
  }
}
.c-fixed-column__list__item span {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__list__item span {
    font-size: 16px;
  }
}
.c-fixed-column__list__item__word {
  font-size: 26px;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__list__item__word {
    font-size: 38px;
  }
}
.c-fixed-column__list__item__text {
  flex: 1;
  padding-left: 3px;
  font-size: 12px;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__list__item__text {
    padding-left: 0;
    font-size: 16px;
    line-height: 28px;
  }
}
.c-fixed-column__border {
  border-bottom: 4px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .c-fixed-column__border {
    border-top: 4px solid #ffffff;
  }
}
.c-fixed-column__border:first-of-type {
  border-top: 4px solid #ffffff;
}

.c-fixed-border {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .c-fixed-border {
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
    box-sizing: border-box;
  }
}
.c-fixed-border * {
  color: #ffffff;
}
.c-fixed-border__item {
  display: flex;
  flex-direction: column;
  padding: 40px 0;
  border-bottom: 4px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .c-fixed-border__item {
    padding: 80px 0;
    border-top: 4px solid #ffffff;
    box-sizing: border-box;
  }
}
.c-fixed-border__item:first-of-type {
  border-top: 4px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .c-fixed-border__item:first-of-type {
    width: 33.1481481481%;
    padding-left: 20px;
  }
}
@media screen and (min-width: 769px) {
  .c-fixed-border__item:last-of-type {
    width: 62.962962963%;
  }
}
.c-fixed-border__item__story {
  padding-bottom: 33px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 30px;
  line-height: 40px;
}
@media screen and (min-width: 769px) {
  .c-fixed-border__item__story {
    font-size: 36px;
    line-height: 42px;
  }
}
.c-fixed-border__item__main {
  position: relative;
  font-size: 16px;
  line-height: 25px;
}
@media screen and (min-width: 769px) {
  .c-fixed-border__item__main {
    font-size: 16px;
    line-height: 25px;
  }
}
.c-fixed-border__item__main::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 0;
  width: 20px;
  height: 4px;
  background-color: #43BFEF;
}
@media screen and (min-width: 769px) {
  .c-fixed-border__item__main::before {
    top: -16px;
  }
}
.c-fixed-border__column {
  display: flex;
  flex-direction: column;
  gap: 40px 0;
}
@media screen and (min-width: 769px) {
  .c-fixed-border__column {
    flex-direction: row;
    align-items: center;
    gap: 0 9.5%;
  }
}
.c-fixed-border__heading {
  font-size: 26px;
  line-height: 38px;
}
@media screen and (min-width: 769px) {
  .c-fixed-border__heading {
    width: -moz-max-content;
    width: max-content;
    font-size: 44px;
    line-height: 64px;
  }
}
.c-fixed-border__text {
  font-size: 15px;
  line-height: 26px;
}
@media screen and (min-width: 769px) {
  .c-fixed-border__text {
    text-indent: 1em;
    font-size: 22px;
    line-height: 34px;
  }
}
.c-fixed-border__name {
  display: flex;
  flex-direction: column;
  margin-top: 28px;
  font-size: 24px;
  line-height: 25px;
}
@media screen and (min-width: 769px) {
  .c-fixed-border__name {
    margin-top: 36px;
    font-size: 29px;
    line-height: 30px;
  }
}
.c-fixed-border__name span {
  display: inline-block;
  margin-bottom: 6px;
  font-size: 13px;
  line-height: 25px;
}
@media screen and (min-width: 769px) {
  .c-fixed-border__name span {
    font-size: 15px;
  }
}

.c-form {
  margin-top: 49px;
}
@media screen and (min-width: 769px) {
  .c-form {
    margin-top: 59px;
  }
}
.c-form--thanks {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .c-form--thanks {
    margin-top: 20px;
  }
}
.c-formItem {
  padding: 20px 0;
  border-bottom: 1px solid #002B71;
}
@media screen and (min-width: 769px) {
  .c-formItem {
    display: flex;
    align-items: flex-start;
    gap: 0 10px;
    padding: 20px 0;
  }
}
.c-formItem:first-of-type {
  padding-top: 0;
}
.c-formItem__label {
  display: flex;
  align-items: flex-start;
  gap: 0 10px;
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .c-formItem__label {
    gap: 0 8px;
    width: 220px;
    margin-top: 8px;
    margin-bottom: 0;
  }
}
.c-formItem__label p {
  font-size: 15px;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .c-formItem__label p {
    font-size: 16px;
  }
}
.c-formItem__label span {
  display: block;
  width: -moz-max-content;
  width: max-content;
  margin-top: 1px;
  padding: 2px 7px 3px;
  border-radius: 3px;
  color: #ffffff;
  background-color: #C71B1B;
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .c-formItem__label span {
    margin-top: 0;
    padding: 3px 8px 4px;
  }
}
@media screen and (min-width: 769px) {
  .c-formItem__radio {
    flex: 1;
  }
}
.c-formItem__radio input {
  margin-left: 0;
}
.c-formItem__radio .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  font-size: 15px;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .c-formItem__radio .wpcf7-radio {
    flex: 1;
    gap: 8px 24px;
    font-size: 16px;
  }
}
.c-formItem__radio .wpcf7-list-item {
  margin-left: 0;
}
.c-formItem__radio input[type=radio] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #91A6C0;
  border-radius: 50%;
  background-color: #ffffff;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.c-formItem__radio input[type=radio]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #43BFEF;
  content: "";
}
@media screen and (min-width: 769px) {
  .c-formItem__input {
    flex: 1;
  }
}
.c-formItem__input br {
  display: none;
}
.c-formItem__input input {
  display: inline-block;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #91A6C1;
  border-radius: 5px;
  box-sizing: border-box;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}
@media screen and (min-width: 769px) {
  .c-formItem__input input {
    font-size: 16px;
  }
}
.c-formItem__input input::-moz-placeholder {
  color: rgba(0, 0, 0, 0.4);
}
.c-formItem__input input::placeholder {
  color: rgba(0, 0, 0, 0.4);
}
.c-formItem__input textarea {
  display: inline-block;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #91A6C1;
  border-radius: 5px;
  box-sizing: border-box;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}
@media screen and (min-width: 769px) {
  .c-formItem__input textarea {
    font-size: 16px;
  }
}
.c-formItem__input textarea::-moz-placeholder {
  color: rgba(0, 0, 0, 0.4);
}
.c-formItem__input textarea::placeholder {
  color: rgba(0, 0, 0, 0.4);
}
@media screen and (min-width: 769px) {
  .c-formItem__column {
    flex: 1;
  }
}
.c-formItem__column > p {
  display: flex;
  gap: 10px;
  width: 100%;
}
.c-formItem__column > p br {
  display: none;
}
.c-formItem__column .wpcf7-form-control-wrap {
  display: inline-block;
  width: 43.125%;
}
@media screen and (min-width: 769px) {
  .c-formItem__column .wpcf7-form-control-wrap {
    width: 31.0344827586%;
    min-width: 125px;
  }
}
.c-formItem--submit {
  padding: 40px 0;
  border-bottom: none;
}
@media screen and (min-width: 769px) {
  .c-formItem--submit {
    padding: 40px 0;
  }
}
.c-formItem--submit .c-formItem__button {
  margin: 0 auto;
}
.c-formItem--submit .c-formItem__button input {
  display: block;
  margin: 0 auto;
  padding: 15px 44px 17px;
  border: none;
  color: #ffffff;
  background-color: #0B45C6;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 16px;
  transition: opacity 0.28s ease-in 0s;
}
@media screen and (min-width: 769px) {
  .c-formItem--submit .c-formItem__button input {
    padding: 21px 65px 25px;
    cursor: pointer;
  }
}
.c-formItem--submit .c-formItem__button input:hover {
  opacity: 0.6;
}
.c-form__thanks {
  padding-bottom: 35px;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-form__thanks {
    text-align: center;
    width: -moz-max-content;
    width: max-content;
    margin: 0 auto;
    padding-bottom: 40px;
    font-size: 18px;
    line-height: 32px;
  }
}
.c-form__back {
  text-align: center;
  width: 240px;
  margin: 0 auto;
  padding: 20px 0 23px;
  background-color: #0B45C6;
  font-size: 18px;
  line-height: 20px;
}
.c-form__back a {
  color: #ffffff;
}
.c-form__info {
  text-align: center;
  margin-bottom: 30px;
  padding: 26px 0 24px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .c-form__info {
    width: 460px;
    margin: 0 auto 40px;
  }
}
.c-form__info__title {
  margin-bottom: 16px;
  font-size: 18px;
  line-height: 28px;
  color: #002B71;
}
.c-form__info__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 6px;
  margin-bottom: 8px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 26px;
}
@media screen and (min-width: 769px) {
  .c-form__info__tel {
    font-size: 30px;
  }
}
.c-form__info__tel span {
  font-size: 16px;
}
.c-form__info__time {
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .c-form__info__time {
    font-size: 15px;
  }
}

.c-pagination {
  margin-top: 40px;
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .c-pagination {
    margin-top: 0;
    margin-bottom: 0;
  }
}
.c-pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 9px;
}
@media screen and (min-width: 769px) {
  .c-pagination ul {
    gap: 0 10px;
  }
}
.c-pagination ul li {
  font-size: 14px;
}
@media screen and (min-width: 769px) {
  .c-pagination ul li {
    font-size: 16px;
  }
}
.c-pagination ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  aspect-ratio: 1/1;
  border: 1px solid #C2CDE3;
}
@media screen and (min-width: 769px) {
  .c-pagination ul li a {
    width: 40px;
  }
}
.c-pagination ul li.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  aspect-ratio: 1/1;
  background-color: #002B71;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .c-pagination ul li.is-active {
    width: 40px;
  }
}
.c-pagination ul li .dots {
  display: inline-block;
  transform: translateY(-4px);
}

.js-fadein {
  opacity: 0;
  transform: translateY(40px);
}

/*----------------------------------------
	Utility
----------------------------------------*/
.u-hidden {
  display: none;
}

@media screen and (max-width: 768px) {
  .u-hidden-sp {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .u-hidden-pc {
    display: none;
  }
}

.u-left {
  text-align: left;
}

.u-center {
  text-align: center;
}

.u-right {
  text-align: right;
}

.u-red {
  color: red;
}

.u-bg-red {
  background-color: red;
}

/* 
* 余白打ち消しクラス
*/
.u-noRadius {
  border-radius: 0 !important;
}

.u-noMargin {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.u-noMargin-top {
  margin-top: 0 !important;
}

.u-noMargin-bottom {
  margin-bottom: 0 !important;
}

.u-noPadding {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.u-noPadding-top {
  padding-top: 0 !important;
}

.u-noPadding-bottom {
  padding-bottom: 0 !important;
}

/* 
* 余白
*/
.-padding-t {
  padding-top: 10px;
}
.-padding-t.-x2 {
  padding-top: 20px;
}
.-padding-t.-x4 {
  padding-top: 40px;
}
.-padding-t.-x6 {
  padding-top: 60px;
}
.-padding-t.-x8 {
  padding-top: 80px;
}
.-padding-t.-x10 {
  padding-top: 100px;
}

.-padding-b {
  padding-bottom: 10px;
}
.-padding-b.-x2 {
  padding-bottom: 20px;
}
.-padding-b.-x4 {
  padding-bottom: 40px;
}
.-padding-b.-x6 {
  padding-bottom: 60px;
}
.-padding-b.-x8 {
  padding-bottom: 80px;
}
.-padding-b.-x10 {
  padding-bottom: 100px;
}

.-margin-t {
  margin-top: 10px;
}
.-margin-t.-x2 {
  margin-top: 20px;
}
.-margin-t.-x4 {
  margin-top: 40px;
}
.-margin-t.-x6 {
  margin-top: 60px;
}
.-margin-t.-x8 {
  margin-top: 80px;
}
.-margin-t.-x10 {
  margin-top: 100px;
}

.-margin-b {
  margin-bottom: 10px;
}
.-margin-b.-x2 {
  margin-bottom: 20px;
}
.-margin-b.-x4 {
  margin-bottom: 40px;
}
.-margin-b.-x6 {
  margin-bottom: 60px;
}
.-margin-b.-x8 {
  margin-bottom: 80px;
}
.-margin-b.-x10 {
  margin-bottom: 100px;
}

/*----------------------------------------
	Page Home
----------------------------------------*/
.t-hero {
  --bg-blur: 18px;
  --bg-opacity: 0;
  position: relative;
  overflow: hidden;
}
.t-hero::after {
  content: "";
  position: absolute;
  inset: -16px;
  padding: 16px;
  z-index: 0;
  pointer-events: none;
  background: inherit;
  background-origin: content-box;
  background-clip: content-box;
  filter: blur(var(--bg-blur, 0px));
  will-change: filter;
}
.t-hero::before {
  content: "";
  z-index: 1;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  pointer-events: none;
  opacity: var(--bg-opacity);
}
.t-heroBg {
  z-index: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  filter: blur(var(--bg-blur, 0px));
  padding-top: 46px;
}
@media screen and (min-width: 769px) {
  .t-heroBg {
    padding-top: 60px;
  }
}
.t-heroBg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
  position: absolute;
  top: 0;
  left: 0;
}
.t-heroMain {
  z-index: 2;
  position: relative;
  width: 100%;
  height: 100svh;
  margin-bottom: 100px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .t-heroMain {
    min-height: 760px;
    margin-bottom: 140px;
  }
}
.t-heroMain__text {
  z-index: 2;
  position: fixed;
  right: 8.3333333333%;
  bottom: 43px;
  display: flex;
  flex-direction: column;
  gap: 4px 0;
  width: 239px;
}
@media screen and (min-width: 769px) {
  .t-heroMain__text {
    right: 83px;
    bottom: 40px;
    left: auto;
    gap: 7px 0;
    width: 425px;
  }
}
.t-heroMain__text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: transparent url(../image/home/bg_text.svg) no-repeat scroll center center/cover;
}
.t-heroMain__text__item:nth-of-type(1) {
  opacity: 0;
  transform: translateX(40px);
  width: 216px;
}
@media screen and (min-width: 769px) {
  .t-heroMain__text__item:nth-of-type(1) {
    width: 385px;
  }
}
.t-heroMain__text__item:nth-of-type(2) {
  opacity: 0;
  transform: translateX(40px);
  width: 177px;
  margin-left: auto;
}
@media screen and (min-width: 769px) {
  .t-heroMain__text__item:nth-of-type(2) {
    width: 314px;
  }
}
.t-heroMainFigure {
  --hero-figure-base-width-sp: 282;
  --hero-figure-base-width-pc: 490;
  --hero-figure-mask-size1: 0;
  --hero-figure-mask-size2: 0;
  --hero-figure-mask-size3: 0;
  z-index: 1;
  position: fixed;
  right: 3.3333333333%;
  bottom: 54px;
  width: 292px;
}
@media screen and (min-width: 769px) {
  .t-heroMainFigure {
    right: 53px;
    bottom: 54px;
    width: 519px;
  }
}
.t-heroMainFigure > img {
  -webkit-mask-image: url(../image/home/figure_hero01.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/home/figure_hero01.svg), linear-gradient(#000 0 0);
  -webkit-mask-position: center, top;
  mask-position: center, top;
  -webkit-mask-repeat: no-repeat, no-repeat;
  mask-repeat: no-repeat, no-repeat;
  -webkit-mask-size: 100% 100%, 100% calc(var(--hero-figure-mask-size1) * 1%);
  mask-size: 100% 100%, 100% calc(var(--hero-figure-mask-size1) * 1%);
  -webkit-mask-composite: source-in, xor;
  mask-composite: intersect;
}
.t-heroMainFigure__items {
  position: absolute;
}
.t-heroMainFigure__items:nth-of-type(1) {
  top: 15px;
  left: 75px;
  width: 89px;
  -webkit-mask-image: url(../image/home/figure_hero02.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/home/figure_hero02.svg), linear-gradient(#000 0 0);
  -webkit-mask-position: center, top;
  mask-position: center, top;
  -webkit-mask-repeat: no-repeat, no-repeat;
  mask-repeat: no-repeat, no-repeat;
  -webkit-mask-size: 100% 100%, 100% calc(var(--hero-figure-mask-size2) * 1%);
  mask-size: 100% 100%, 100% calc(var(--hero-figure-mask-size2) * 1%);
  -webkit-mask-composite: source-in, xor;
  mask-composite: intersect;
}
@media screen and (min-width: 769px) {
  .t-heroMainFigure__items:nth-of-type(1) {
    top: 20px;
    left: 134px;
    width: 159px;
  }
}
.t-heroMainFigure__items:nth-of-type(2) {
  bottom: -20px;
  left: 84px;
  width: 150px;
  -webkit-mask-image: url(../image/home/figure_hero03.svg), linear-gradient(#000 0 0);
  mask-image: url(../image/home/figure_hero03.svg), linear-gradient(#000 0 0);
  -webkit-mask-position: center, top;
  mask-position: center, top;
  -webkit-mask-repeat: no-repeat, no-repeat;
  mask-repeat: no-repeat, no-repeat;
  -webkit-mask-size: 100% 100%, 100% calc(var(--hero-figure-mask-size3) * 1%);
  mask-size: 100% 100%, 100% calc(var(--hero-figure-mask-size3) * 1%);
  -webkit-mask-composite: source-in, xor;
  mask-composite: intersect;
}
@media screen and (min-width: 769px) {
  .t-heroMainFigure__items:nth-of-type(2) {
    bottom: -31px;
    left: 150px;
    width: 267px;
  }
}
.t-heroLead {
  z-index: 2;
  position: relative;
  padding-bottom: 100px;
}
@media screen and (min-width: 769px) {
  .t-heroLead {
    padding-left: 3.8461538462%;
    padding-bottom: 200px;
    box-sizing: border-box;
  }
}
.t-heroLead__column {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
@media screen and (min-width: 769px) {
  .t-heroLead__column {
    flex-direction: row-reverse;
  }
}
.t-heroLead__images {
  z-index: 0;
  display: flex;
  flex-direction: column;
  gap: 31px 0;
  position: absolute;
  top: 50px;
  right: 0;
  width: 38.125%;
}
@media screen and (min-width: 769px) {
  .t-heroLead__images {
    gap: 60px 0;
    top: 50px;
    right: 0;
    width: 29.7872340426%;
    max-width: 280px;
    min-width: 200px;
  }
}
.t-heroLead__contents {
  z-index: 1;
  position: relative;
}
@media screen and (min-width: 769px) {
  .t-heroLead__contents {
    flex: 1;
  }
}
.t-heroLead__catch {
  margin-bottom: 42px;
}
@media screen and (min-width: 769px) {
  .t-heroLead__catch {
    margin-bottom: 75px;
  }
}
.t-heroLead__catch__item:nth-of-type(1) {
  opacity: 0;
  transform: translateX(60px);
  width: 80.9375%;
  margin-bottom: 13px;
}
@media screen and (min-width: 769px) {
  .t-heroLead__catch__item:nth-of-type(1) {
    width: 64.7872340426%;
    margin-left: -5.3191489362%;
    margin-bottom: 22px;
  }
}
.t-heroLead__catch__item:nth-of-type(2) {
  opacity: 0;
  transform: translateX(60px);
  width: 59.375%;
  margin-left: 20%;
  margin-bottom: 13px;
}
@media screen and (min-width: 769px) {
  .t-heroLead__catch__item:nth-of-type(2) {
    transform: translateX(60px);
    width: 99.1489361702%;
    margin-left: 7.1276595745%;
    margin-bottom: 0;
  }
}
.t-heroLead__catch__item:nth-of-type(3) {
  opacity: 0;
  transform: translateX(60px);
  width: 59.375%;
  margin-left: 40.3125%;
}
.t-heroLead__text {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .t-heroLead__text {
    margin-bottom: 18px;
    font-size: 24px;
    line-height: 42px;
  }
}
.t-heroLead__heading {
  margin-bottom: 40px;
  color: #ffffff;
  font-size: 36px;
}
@media screen and (min-width: 769px) {
  .t-heroLead__heading {
    margin-bottom: 80px;
    font-size: 72px;
  }
}
.t-heroLead__button {
  position: relative;
}
@media screen and (min-width: 769px) {
  .t-heroLead__button {
    width: 61.6570327553%;
    max-width: 640px;
  }
}
.t-heroLead__button a {
  display: block;
}
@media screen and (min-width: 769px) {
  .t-heroLead__button a:hover {
    opacity: 1;
  }
  .t-heroLead__button a:hover .c-arrow--out {
    transform: translateX(150%);
  }
  .t-heroLead__button a:hover .c-arrow--in {
    transform: translateX(0%);
  }
  .t-heroLead__button a:hover .c-arrowBox::before {
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%;
  }
}
.t-heroLead__button__thumb {
  overflow: hidden;
}
.t-heroLead__overlay {
  display: grid;
  grid-template: "category arrow" "heading arrow";
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: auto;
  padding: 14px 0 0 0;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-heroLead__overlay {
    padding: 20px 0 0 0;
  }
}
.t-heroLead__overlay__category {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  flex: 1;
  grid-area: category;
  height: -moz-fit-content;
  height: fit-content;
  margin-bottom: 6px;
  color: rgba(255, 255, 255, 0.7);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 14px;
  line-height: 18px;
  text-shadow: 0px 3px 30px rgba(0, 0, 0, 0.8);
}
@media screen and (min-width: 769px) {
  .t-heroLead__overlay__category {
    margin-bottom: 10px;
    font-size: 24px;
    line-height: 29px;
  }
}
.t-heroLead__overlay__heading {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  flex: 1;
  grid-area: heading;
  height: -moz-fit-content;
  height: fit-content;
  color: #ffffff;
  font-size: 20px;
  text-shadow: 0px 3px 30px rgba(0, 0, 0, 0.8);
}
@media screen and (min-width: 769px) {
  .t-heroLead__overlay__heading {
    font-size: 36px;
  }
}
.t-heroLead__overlay .c-arrowBox {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 2;
  grid-area: arrow;
}

.t-section {
  z-index: 3;
  position: relative;
}
.t-section .c-divider {
  margin-top: -100vw;
}
@media screen and (min-width: 769px) {
  .t-section .c-divider {
    margin-top: -54.1vw;
  }
}
.t-section__wrap {
  background-color: #011C53;
}

.t-section-value {
  position: relative;
  padding: 80px 0 104px;
}
@media screen and (min-width: 769px) {
  .t-section-value {
    padding: 146px 0 80px;
  }
}
.t-section-value__column {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .t-section-value__column {
    justify-content: space-between;
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
  }
}
.t-section-value__column .c-page-title {
  margin-bottom: 45px;
}
@media screen and (min-width: 769px) {
  .t-section-value__column .t-stickyList {
    width: 63.8888888889%;
  }
}

.t-stickyList {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 44px;
}
@media screen and (min-width: 769px) {
  .t-stickyList {
    gap: 72px 0;
  }
}
.t-stickyList__item {
  position: sticky;
  top: var(--stick-top, 12dvh);
  will-change: opacity;
  z-index: 0;
}
@media screen and (min-width: 769px) {
  .t-stickyList__item {
    top: var(--stick-top, 15dvh);
  }
}
.t-stickyList__item a {
  position: relative;
  display: block;
}
.t-stickyList__item a:hover {
  opacity: 1;
}
.t-stickyList__item a:hover .c-arrow--out {
  transform: translateX(150%);
}
.t-stickyList__item a:hover .c-arrow--in {
  transform: translateX(0%);
}
.t-stickyList__item a:hover .c-arrowBox::before {
  -webkit-mask-position: 0% 0%;
  mask-position: 0% 0%;
}
.t-stickyList__item a:hover .t-stickyList__contents__heading em::before {
  transform: scaleX(1);
  transform-origin: left;
}
@media screen and (min-width: 769px) {
  .t-stickyList__thumb {
    width: 63.768115942%;
    margin-left: auto;
    padding-right: 6.8181818182%;
  }
}
.t-stickyList__en {
  position: absolute;
  top: -20px;
  right: 9.375%;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 14px;
  line-height: 24px;
  writing-mode: vertical-rl;
  color: #ffffff;
  opacity: 0.7;
}
@media screen and (min-width: 769px) {
  .t-stickyList__en {
    top: -20px;
    right: 15.9420289855%;
    font-size: 18px;
    line-height: 28px;
  }
}
.t-stickyList__contents {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
}
@media screen and (min-width: 769px) {
  .t-stickyList__contents {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
  }
}
.t-stickyList__contents__heading {
  display: flex;
  gap: 0 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 18px;
  line-height: 22px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-stickyList__contents__heading {
    gap: 0 36px;
    font-size: 32px;
    line-height: 51px;
  }
}
.t-stickyList__contents__heading em {
  position: relative;
}
.t-stickyList__contents__heading em::before {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ffffff;
  transition: transform 0.3s ease-in 0s;
  transform-origin: right;
  transform: scaleX(0);
}
.t-stickyList__contents__heading span {
  display: inline-block;
  padding-top: 2px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .t-stickyList__contents__heading span {
    padding-top: 2px;
    font-size: 14px;
  }
}

/* モバイルのアドレスバー伸縮に強い dvh を優先して指定（vhをフォールバック） */
@supports (top: 1dvh) {
  .t-stickyList__item {
    top: var(--stick-top, 12dvh);
  }
  @media screen and (min-width: 769px) {
    .t-stickyList__item {
      top: var(--stick-top, 15dvh);
    }
  }
}
.t-section-topics {
  position: relative;
}

.t-topicsWrap {
  z-index: 1;
  position: relative;
  width: 91.6666666667%;
  margin-left: auto;
  padding: 34px 20px 40px;
  background-color: #ffffff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-topicsWrap {
    display: flex;
    justify-content: space-between;
    gap: 0 8.8235294118%;
    width: 87.5%;
    padding: 60px 50px;
  }
}
.t-topicsWrap .c-page-title * {
  color: #000000;
}
.t-topicsWrap .c-page-title__subheading .motif * {
  fill: #062F83;
}
.t-topicsWrap__head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 32px;
}
@media screen and (min-width: 769px) {
  .t-topicsWrap__head {
    flex-direction: column;
    margin-bottom: 0;
  }
}
.t-topicsWrap__head .c-button {
  width: 100px;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .t-topicsWrap__head .c-button {
    width: 140px;
    margin-top: 0;
  }
}
.t-topicsWrap__head .c-button a {
  padding-bottom: 20px;
  color: #000000;
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .t-topicsWrap__head .c-button a {
    font-size: 16px;
  }
}
.t-topicsWrap__head .c-button a::before {
  background-color: #000000;
}
.t-topicsWrap__head .c-button .c-arrowInner svg * {
  fill: #000000;
}
.t-topicsWrap__list {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .t-topicsWrap__list {
    flex: 1;
  }
}
.t-topicsWrap__list li {
  border-bottom: 1px solid #000000;
}
.t-topicsWrap__list li:first-of-type {
  border-top: 1px solid #000000;
}
.t-topicsWrap__list li a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 10px 0 12px;
  gap: 7px 14px;
}
@media screen and (min-width: 769px) {
  .t-topicsWrap__list li a {
    flex-wrap: nowrap;
    gap: 0 10px;
    padding: 19px 0 18px;
  }
}
.t-topicsWrap__list li a time {
  display: inline-block;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .t-topicsWrap__list li a time {
    width: -moz-max-content;
    width: max-content;
    margin-right: 10px;
  }
}
.t-topicsWrap__list li a span {
  display: inline-block;
  padding: 6px 20px;
  font-size: 12px;
  color: #43BFEF;
  border: 1px solid #C2CDE3;
  border-radius: 3px;
}
@media screen and (min-width: 769px) {
  .t-topicsWrap__list li a span {
    width: -moz-max-content;
    width: max-content;
    padding: 3px 8px 4px;
  }
}
.t-topicsWrap__list li a p {
  width: 100%;
  font-size: 14px;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .t-topicsWrap__list li a p {
    flex: 1;
    width: auto;
    font-size: 16px;
    line-height: 26px;
  }
}

/* ラッパ：全スリットを内包 */
.t-z-slasher {
  position: relative;
  width: 100%;
  height: 70dvh;
  margin-top: -100px;
  overflow: hidden;
  background-color: #001236;
}
@media screen and (min-width: 769px) {
  .t-z-slasher {
    height: 100dvh;
    margin-top: -160px;
  }
}
.t-z-slasher__wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  display: flex;
  justify-content: center;
  width: -moz-max-content;
  width: max-content;
  gap: 16vw;
}
@media screen and (min-width: 769px) {
  .t-z-slasher__wrap {
    width: -moz-max-content;
    width: max-content;
    gap: 6vw;
  }
}
.t-z-slasher__row {
  width: 41.6666666667vw;
}
@media screen and (min-width: 769px) {
  .t-z-slasher__row {
    width: 15.625vw;
  }
}

.t-section-service {
  position: relative;
  padding-top: 100px;
}
@media screen and (min-width: 769px) {
  .t-section-service {
    padding-top: 247px;
  }
}
.t-section-service__column {
  margin-bottom: 41px;
}
@media screen and (min-width: 769px) {
  .t-section-service__column {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 63px;
  }
}
.t-section-service .c-button {
  display: none;
}
@media screen and (min-width: 769px) {
  .t-section-service .c-button {
    display: block;
    margin-bottom: 18px;
  }
}

.t-rowset {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 1600px;
  margin: 0 auto;
}
.t-rowset__item {
  height: 27vw;
  min-height: 180px;
  max-height: 340px;
  border-bottom: 4px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .t-rowset__item {
    height: 27vw;
    max-height: 340px;
  }
}
.t-rowset__item a {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.t-rowset__item a:hover {
  opacity: 1;
  opacity: 1;
}
.t-rowset__item a:hover .c-arrow--out {
  transform: translateX(150%);
}
.t-rowset__item a:hover .c-arrow--in {
  transform: translateX(0%);
}
.t-rowset__item a:hover .c-arrowBox::before {
  -webkit-mask-position: 0% 0%;
  mask-position: 0% 0%;
}
.t-rowset__item a:hover .t-rowset__heading em::before {
  transform: scaleX(1);
  transform-origin: left;
}
.t-rowset__bg {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.t-rowset__bg picture, .t-rowset__bg img {
  display: block;
  width: auto;
  height: 100%;
}
.t-rowset__bg::before {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
}
@media screen and (min-width: 769px) {
  .t-rowset__bg::before {
    width: 50%;
  }
}
.t-rowset__contents {
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 0 5.5555555556%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-rowset__contents {
    padding: 0 4.6875%;
  }
}
.t-rowset__contents__wrap {
  flex: 1;
}
.t-rowset__heading {
  display: flex;
  gap: 0 10px;
  margin-bottom: 6px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 20px;
  line-height: 22px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-rowset__heading {
    gap: 0 26px;
    margin-bottom: 16px;
    font-size: 36px;
    line-height: 51px;
  }
}
.t-rowset__heading em {
  position: relative;
  text-shadow: 0px 3px 30px rgba(0, 0, 0, 0.8);
}
.t-rowset__heading em::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ffffff;
  transition: transform 0.3s ease-in 0s;
  transform-origin: right;
  transform: scaleX(0);
}
.t-rowset__heading span {
  display: inline-block;
  padding-top: 2px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
  text-shadow: 0px 3px 30px rgba(0, 0, 0, 0.8);
}
@media screen and (min-width: 769px) {
  .t-rowset__heading span {
    padding-top: 2px;
    font-size: 14px;
  }
}
.t-rowset__en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 14px;
  line-height: 20px;
  color: #ffffff;
  opacity: 0.7;
  text-shadow: 0px 3px 30px rgba(0, 0, 0, 0.8);
}
@media screen and (min-width: 769px) {
  .t-rowset__en {
    font-size: 30px;
    line-height: 34px;
  }
}

.t-section-works {
  position: relative;
  padding-top: 100px;
  padding-bottom: calc(100vw + 80px);
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .t-section-works {
    padding-top: 196px;
    padding-bottom: calc(46vw + 260px);
  }
}
.t-section-works::before {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px;
  pointer-events: none;
  background: linear-gradient(to top, rgba(1, 28, 83, 0) 0%, #011c53 70.94%, #011c53 100%);
}
@media screen and (min-width: 769px) {
  .t-section-works::before {
    height: 790px;
  }
}
.t-section-works .l-frame {
  z-index: 2;
  position: relative;
}
.t-section-works .c-page-bg__inner {
  background: transparent url(../image/home/bg_works.jpg) no-repeat scroll center center/cover;
}
.t-section-works .c-page-title {
  margin-left: auto;
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .t-section-works .c-page-title {
    margin-right: -4.6875%;
  }
}
.t-section-works a {
  z-index: 2;
  position: relative;
}
.t-section-works .c-figure {
  z-index: -1;
}

.t-columnset {
  display: flex;
  flex-direction: column;
  gap: 80px 0;
}
@media screen and (min-width: 769px) {
  .t-columnset {
    gap: 186px 0;
  }
}
.t-columnset__item {
  position: relative;
}
@media screen and (min-width: 769px) {
  .t-columnset__item {
    width: 90.3846153846%;
  }
}
.t-columnset__item .c-arrowBox {
  margin-left: auto;
}
.t-columnset__item:nth-of-type(1) .t-columnset__thumb__en {
  bottom: -20px;
  left: 9.375%;
}
@media screen and (min-width: 769px) {
  .t-columnset__item:nth-of-type(1) .t-columnset__thumb__en {
    bottom: -77px;
  }
}
@media screen and (min-width: 769px) {
  .t-columnset__item:nth-of-type(2) {
    margin-left: auto;
  }
}
.t-columnset__item:nth-of-type(2) .t-columnset__thumb__en {
  top: -20px;
  right: 9.375%;
}
@media screen and (min-width: 769px) {
  .t-columnset__item:nth-of-type(2) .t-columnset__thumb__en {
    top: -77px;
  }
}
@media screen and (min-width: 769px) {
  .t-columnset__item:nth-of-type(2) a {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 769px) {
  .t-columnset__item a {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}
.t-columnset__item a:hover {
  opacity: 1;
  opacity: 1;
}
.t-columnset__item a:hover .c-arrow--out {
  transform: translateX(150%);
}
.t-columnset__item a:hover .c-arrow--in {
  transform: translateX(0%);
}
.t-columnset__item a:hover .c-arrowBox::before {
  -webkit-mask-position: 0% 0%;
  mask-position: 0% 0%;
}
.t-columnset__item a:hover .t-columnset__heading em::before {
  transform: scaleX(1);
  transform-origin: left;
}
.t-columnset__thumb {
  position: relative;
}
@media screen and (min-width: 769px) {
  .t-columnset__thumb {
    width: 53.1914893617%;
  }
}
.t-columnset__thumb__wrap {
  --progress: 0;
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.t-columnset__thumb__wrap picture, .t-columnset__thumb__wrap img {
  display: block;
  width: auto;
  height: calc(100% + 20px);
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.t-columnset__thumb__wrap picture {
  display: block;
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translate(-50%, var(--progress));
}
.t-columnset__thumb__en {
  z-index: 1;
  position: absolute;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 24px;
  line-height: 30px;
  writing-mode: vertical-rl;
  color: #ffffff;
  opacity: 0.7;
}
@media screen and (min-width: 769px) {
  .t-columnset__thumb__en {
    font-size: 52px;
    line-height: 52px;
  }
}
.t-columnset__contents {
  margin-top: 34px;
  padding-top: 20px;
  border-top: 4px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .t-columnset__contents {
    width: 38.2978723404%;
    margin-top: 0;
    margin-bottom: 30px;
    padding-top: 36px;
  }
}
.t-columnset__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.t-columnset__heading {
  flex: 1;
  display: flex;
  gap: 0 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 20px;
  line-height: 22px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-columnset__heading {
    gap: 0 27px;
    font-size: 36px;
    line-height: 36px;
  }
}
.t-columnset__heading em {
  position: relative;
}
.t-columnset__heading em::before {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ffffff;
  transition: transform 0.3s ease-in 0s;
  transform-origin: right;
  transform: scaleX(0);
}
.t-columnset__heading span {
  display: inline-block;
  padding-top: 2px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .t-columnset__heading span {
    padding-top: 2px;
    font-size: 14px;
  }
}
.t-columnset__text {
  margin: 15px 0 0;
  font-size: 16px;
  line-height: 28px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-columnset__text {
    margin: 26px 0;
    font-size: 18px;
    line-height: 34px;
  }
}

.t-section-recruit {
  position: relative;
  padding-top: 120px;
  padding-bottom: 161px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .t-section-recruit {
    padding-top: 92px;
    padding-bottom: 197px;
  }
}
.t-section-recruit .c-page-title,
.t-section-recruit .t-section-recruit__contents {
  z-index: 1;
  position: relative;
}
.t-section-recruit .c-page-title {
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
}
.t-section-recruit .c-page-title__subheading {
  justify-content: center;
}
.t-section-recruit__contents {
  margin-top: 42px;
}
@media screen and (min-width: 769px) {
  .t-section-recruit__contents {
    margin-top: 63px;
  }
}
.t-section-recruit__contents .c-button {
  margin: 0 auto;
}
.t-section-recruit__text {
  text-align: center;
  margin-bottom: 30px;
  color: #ffffff;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .t-section-recruit__text {
    margin-bottom: 44px;
    font-size: 22px;
    line-height: 38px;
  }
}

.t-section-contact {
  background: transparent url(../image/home/img_contact.jpg) no-repeat scroll 75% center/220%;
}
@media screen and (max-width: 768px) {
  .t-section-contact {
    background-size: 220% !important;
    background-position: center center;
  }
}
@media screen and (min-width: 769px) {
  .t-section-contact {
    background: transparent url(../image/home/img_contact.jpg) no-repeat scroll center center/cover;
  }
}
.t-section-contact .motif {
  background-color: transparent;
  background-image: linear-gradient(to right, #FFFFFF 0 calc(var(--p2) - var(--soft)), transparent calc(var(--p2) + var(--soft)) 100%), linear-gradient(to right, #0033A2 0 calc(var(--p1) - var(--soft)), transparent calc(var(--p1) + var(--soft)) 100%);
}
.t-section-contact a:hover {
  opacity: 1;
  opacity: 1;
}
.t-section-contact a:hover .c-arrow--out {
  transform: translateX(150%);
}
.t-section-contact a:hover .c-arrow--in {
  transform: translateX(0%);
}
.t-section-contact a:hover .c-arrowBox::before {
  -webkit-mask-position: 0% 0%;
  mask-position: 0% 0%;
}
.t-section-contact__column {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 105px 0;
}
@media screen and (min-width: 769px) {
  .t-section-contact__column {
    padding: 170px 0;
  }
}

/*----------------------------------------
	Page Philosophy
----------------------------------------*/
.philosophy .c-page-bg__inner {
  filter: blur(12px);
}

.t-parallelogram {
  width: 100%;
  height: calc(100svh - 50px);
  overflow: hidden;
  background-image: none;
}
@media screen and (min-width: 769px) {
  .t-parallelogram {
    height: 90vh;
  }
}
.t-parallelogram::after {
  display: none;
}
.t-parallelogramWrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.t-parallelogramWrap .c-page-heroMain__inner {
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.t-parallelogramWrap .c-page-title {
  width: auto;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .t-parallelogramWrap .c-page-title {
    margin-bottom: 16px;
  }
}
.t-parallelogramWrap .c-page-title__subheading {
  justify-content: center;
}
.t-parallelogramWrap .c-page-heroMain__catch {
  font-feature-settings: "palt";
}
.t-parallelogramWrap .c-page-heroMain__catch::before {
  display: none;
}
.t-parallelogram__slide {
  width: 100%;
  height: 50%;
}
@media screen and (min-width: 769px) {
  .t-parallelogram__slide {
    height: 100%;
  }
}
.t-parallelogram__slide:has(+ .t-parallelogram__slide) {
  margin-bottom: 10px;
}
.t-parallelogram__slide .swiper-wrapper {
  height: 100%;
  transition-timing-function: linear;
  display: flex;
}
.t-parallelogram__slide .swiper-slide {
  height: 100%;
  width: auto;
  flex: 0 0 auto;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.t-parallelogram__slide .swiper-slide picture,
.t-parallelogram__slide .swiper-slide img {
  display: block;
  max-height: 100%;
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.t-parallelogram__slide.is-reverse {
  transform: scaleX(-1);
}
.t-parallelogram__slide.is-reverse .swiper-slide,
.t-parallelogram__slide.is-reverse picture,
.t-parallelogram__slide.is-reverse img {
  transform: scaleX(-1);
}
.t-parallelogramTitle {
  z-index: 1;
  position: relative;
  font-size: 17.9vw;
  margin-left: -1.6vw;
  color: #ffffff;
}

.t-philosophy-lead {
  position: relative;
  margin-top: -128px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .t-philosophy-lead {
    margin-top: -250px;
  }
}
.t-philosophy-lead__title {
  z-index: 1;
  position: relative;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 17.4vw;
  margin-left: -1.6vw;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-philosophy-lead__title {
    font-size: 17.2vw;
  }
}
.t-philosophy-lead__wrap {
  padding: 90px 0 100px;
}
@media screen and (min-width: 769px) {
  .t-philosophy-lead__wrap {
    padding: 130px 0 144px;
  }
}
.t-philosophy-lead__text {
  z-index: 1;
  position: relative;
  text-align: center;
  font-size: 16px;
  line-height: 28px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-philosophy-lead__text {
    font-size: 22px;
    line-height: 40px;
  }
}
.t-philosophy-lead .c-figure-philosophy {
  z-index: 0;
}

/*----------------------------------------
	Page Values
----------------------------------------*/
.values {
  overflow: hidden;
}
.values .c-page-heroMain__inner .c-page-title {
  margin-bottom: 100px;
}
@media screen and (min-width: 769px) {
  .values .c-page-heroMain__inner .c-page-title {
    margin-bottom: 16px;
  }
}
.values .c-page-heroMain__cover {
  padding-top: 20px;
}
@media screen and (min-width: 769px) {
  .values .c-page-heroMain__cover {
    padding-top: 70px;
  }
}

/*----------------------------------------
	Page Technology
----------------------------------------*/
.technology {
  overflow: hidden;
}

.t-cassette {
  overflow: visible;
  padding: 50px 0 74px;
}
@media screen and (min-width: 769px) {
  .t-cassette {
    padding: 120px 0 64px;
  }
}
@media screen and (min-width: 769px) {
  .t-cassette .c-overviewContents {
    width: 39.6551724138%;
  }
}
.t-cassetteWrap {
  position: relative;
}
@media screen and (min-width: 769px) {
  .t-cassetteWrap {
    width: 43.1034482759%;
    margin-top: 50px;
    padding-right: 5.1724137931%;
  }
}
.t-cassetteWrap__main {
  width: 75.625%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .t-cassetteWrap__main {
    width: 100%;
  }
}
.t-cassetteWrap__row {
  position: relative;
  display: flex;
  justify-content: space-between;
}
.t-cassetteWrap__row picture {
  display: block;
}
.t-cassetteWrap__row picture:nth-of-type(1) {
  width: 45.3125%;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .t-cassetteWrap__row picture:nth-of-type(1) {
    width: 60.4%;
    margin-top: 40px;
    margin-left: -16%;
  }
}
.t-cassetteWrap__row picture:nth-of-type(2) {
  width: 48.4375%;
  margin-top: -14px;
  border: 1px solid #081E4B;
}
@media screen and (min-width: 769px) {
  .t-cassetteWrap__row picture:nth-of-type(2) {
    position: absolute;
    right: -16%;
    bottom: 60px;
    width: 64%;
  }
}
@media screen and (min-width: 769px) {
  .t-cassette:nth-child(2n) .t-cassetteWrap {
    width: 43.1034482759%;
    padding-left: 5.1724137931%;
  }
}
.t-cassette:nth-child(2n) .t-cassetteWrap__row picture:nth-of-type(2) {
  border: 1px solid #032762;
}

/*----------------------------------------
	Page About
----------------------------------------*/
.about {
  overflow: hidden;
}
.about .c-figure {
  overflow: visible;
}
.about .c-fixed-border {
  width: 88.8888888889%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .about .c-fixed-border {
    width: 84.375%;
  }
}

.t-about-main {
  padding-bottom: 56px;
}
@media screen and (min-width: 769px) {
  .t-about-main .c-page-visual__wrap {
    width: 90.625%;
  }
}
.t-about-main .c-page-title__heading {
  font-size: 36px;
  line-height: 44px;
}
@media screen and (min-width: 769px) {
  .t-about-main .c-page-title__heading {
    margin-bottom: 6px;
    font-size: 52px;
    line-height: 63px;
  }
}
.t-about-main .c-page-title__subheading {
  gap: 0 5px;
  font-size: 14px;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .t-about-main .c-page-title__subheading {
    gap: 0 6px;
    font-size: 15px;
    line-height: 20px;
  }
}
.t-about-main .motif {
  width: 18px;
}
@media screen and (min-width: 769px) {
  .t-about-main .motif {
    width: 18px;
  }
}
@media screen and (min-width: 769px) {
  .t-about-main + .c-page-visualImage {
    position: absolute;
    top: 0;
    right: 0;
  }
}
.t-about-main .c-page-title + .c-page-visualImage {
  margin: 30px 5.8823529412% 53px;
}
.t-about-main__row {
  z-index: 1;
  position: relative;
}
@media screen and (min-width: 769px) {
  .t-about-main__row {
    display: flex;
    margin-top: 54px;
  }
}
.t-about-main__heading {
  z-index: 1;
  position: relative;
  margin-bottom: 35px;
  font-size: 46px;
  line-height: 60px;
  color: #ffffff;
  text-shadow: 0px 3px 30px rgba(0, 0, 0, 0.8);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .t-about-main__heading {
    flex: 1;
    margin-bottom: 0;
    font-size: 86px;
    line-height: 120px;
  }
}
.t-about-main__lead {
  z-index: 1;
  position: relative;
  font-size: 16px;
  line-height: 28px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-about-main__lead {
    width: 52.2413793103%;
    margin-top: 660px;
    margin-left: auto;
    font-size: 28px;
    line-height: 60px;
  }
}

.t-about-table {
  padding: 60px 0;
  background-color: #E9EDF4;
}
@media screen and (min-width: 769px) {
  .t-about-table {
    padding: 100px 0;
  }
}
.t-about-table__wrap {
  width: 88.8888888889%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .t-about-table__wrap {
    display: flex;
    justify-content: space-between;
    width: 84.375%;
  }
}
.t-about-table__wrap__title {
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .t-about-table__wrap__title {
    width: 30.1851851852%;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 769px) {
  .t-about-table__main {
    width: 62.962962963%;
  }
}
.t-about-table__image {
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .t-about-table__image {
    margin-top: 42px;
  }
}
.t-about-table__image picture {
  width: 100%;
}
.t-about-table__main tr {
  position: relative;
  display: flex;
  padding: 16px 0;
  border-bottom: 2px solid #9DB4D9;
}
@media screen and (min-width: 769px) {
  .t-about-table__main tr {
    padding: 18px 0;
  }
}
.t-about-table__main tr:first-of-type {
  border-top: 2px solid #9DB4D9;
}
.t-about-table__main tr::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: 16px;
  height: 2px;
  background-color: #002B71;
}
@media screen and (min-width: 769px) {
  .t-about-table__main tr::before {
    width: 20px;
  }
}
.t-about-table__main tr th, .t-about-table__main tr td {
  font-size: 15px;
  line-height: 22px;
}
.t-about-table__main tr th {
  width: 70px;
  color: #002B71;
}
@media screen and (min-width: 769px) {
  .t-about-table__main tr th {
    width: 108px;
    padding-top: 2px;
    font-size: 15px;
    line-height: 26px;
  }
}
.t-about-table__main tr td {
  flex: 1;
}
@media screen and (min-width: 769px) {
  .t-about-table__main tr td {
    font-size: 18px;
    line-height: 30px;
  }
}
.t-about-table__main tr td a {
  position: relative;
  color: #002B71;
  text-decoration: underline;
}
@media screen and (min-width: 769px) {
  .t-about-table__main tr td a:hover {
    text-decoration: none;
  }
}
.t-about-table .c-page-title__heading {
  font-size: 26px;
  line-height: 32px;
  color: #000000;
}
@media screen and (min-width: 769px) {
  .t-about-table .c-page-title__heading {
    font-size: 36px;
    line-height: 44px;
  }
}
.t-about-table .c-page-title__subheading {
  font-size: 14px;
  line-height: 35px;
  color: #000000;
}
@media screen and (min-width: 769px) {
  .t-about-table .c-page-title__subheading {
    font-size: 15px;
    line-height: 20px;
  }
}
.t-about-table .motif {
  width: 18px;
  background-color: #011C53;
}

.t-history {
  padding: 56px 0 60px;
}
@media screen and (min-width: 769px) {
  .t-history {
    padding: 101px 0 80px;
  }
}
.t-historyMain {
  position: relative;
  width: 88.8888888889%;
  margin: 0 auto 86px;
}
@media screen and (min-width: 769px) {
  .t-historyMain {
    width: 85.9375%;
    margin: 0 auto 160px;
  }
}
.t-historyMain .c-page-title {
  margin-bottom: 53px;
}
@media screen and (min-width: 769px) {
  .t-historyMain .c-page-title {
    width: auto;
    margin-bottom: 58px;
  }
}
.t-historyMain .c-page-title__heading {
  font-size: 62px;
}
@media screen and (min-width: 769px) {
  .t-historyMain .c-page-title__heading {
    font-size: 149px;
    line-height: 166px;
  }
}
.t-historyMain .c-page-title__subheading {
  font-size: 14px;
}
@media screen and (min-width: 769px) {
  .t-historyMain .c-page-title__subheading {
    font-size: 28px;
  }
}
.t-historyMain__age {
  z-index: 2;
  position: relative;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 29px;
  color: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 769px) {
  .t-historyMain__age {
    font-size: 73px;
  }
}
.t-historyMain__age span {
  font-size: 71px;
}
@media screen and (min-width: 769px) {
  .t-historyMain__age span {
    font-size: 150px;
  }
}
.t-historyMain__text {
  z-index: 2;
  position: relative;
  text-align: center;
  margin-top: 10px;
  font-size: 16px;
  line-height: 28px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-historyMain__text {
    font-size: 22px;
    line-height: 40px;
  }
}
.t-historyMain__bg {
  z-index: 1;
  position: absolute;
  bottom: -26px;
  left: -63.4375%;
  width: 226.875%;
}
@media screen and (min-width: 769px) {
  .t-historyMain__bg {
    bottom: -40px;
    left: -5.4545454545%;
    width: 108.5454545455%;
  }
}
.t-historyMain__figure {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.t-historyTimeline {
  position: relative;
}
.t-historyTimeline + .t-historyTimeline {
  margin-top: 40px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline + .t-historyTimeline {
    margin-top: 121px;
  }
}
.t-historyTimeline__wrap {
  position: relative;
  width: 88.8888888889%;
  margin: 0 auto;
  padding: 23px 20px 0;
  background-color: #ffffff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__wrap {
    display: grid;
    grid-template: "number image" "age image" "text image";
    grid-template-columns: 47.0829068577% 48.5158648925%;
    grid-template-rows: auto auto 1fr;
    justify-content: space-between;
    width: 85.9375%;
    padding: 49px 50px 55px 72px;
  }
}
.t-historyTimeline__wrap::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 90px;
  background-color: #2A4069;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__wrap::before {
    display: none;
  }
}
.t-historyTimeline__wrap::after {
  content: "";
  z-index: 1;
  position: absolute;
  bottom: 90px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #002B71;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__wrap::after {
    display: none;
  }
}
.t-historyTimeline__number {
  display: flex;
  align-items: flex-start;
  gap: 0 10px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__number {
    align-items: center;
    gap: 0 23px;
  }
}
.t-historyTimeline__number span {
  position: relative;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
  transform: translateY(8px);
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__number span {
    font-size: 17px;
    transform: translateY(0);
  }
}
.t-historyTimeline__number span::before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 6px;
  background-color: #43BFEF;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__number span::before {
    bottom: -12px;
  }
}
.t-historyTimeline__number p {
  font-size: 23px;
  line-height: 34px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__number p {
    font-size: 50px;
    line-height: 72px;
  }
}
.t-historyTimeline__age {
  margin: 6px 0 8px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 44px;
  color: #002B71;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__age {
    margin: 8px 0 15px;
    font-size: 82px;
  }
}
.t-historyTimeline__age span {
  display: inline-block;
  margin-left: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 40px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__age span {
    font-size: 64px;
  }
}
.t-historyTimeline__text {
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__text {
    margin-bottom: 0px;
    font-size: 16px;
    line-height: 30px;
  }
}
.t-historyTimeline__image {
  z-index: 2;
  position: relative;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__image {
    grid-area: image;
  }
}
@media screen and (min-width: 769px){
  .t-historyTimeline__image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
  }
}
.t-historyTimeline__table {
  position: relative;
  display: block;
  width: 88.8888888889%;
  margin: 0 auto;
  padding: 28px 18px 40px 20px;
  background-color: #2A4069;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table {
    width: 73.203125%;
    padding: 40px 52px 60px 39px;
  }
}
.t-historyTimeline__table tr {
  position: relative;
  display: flex;
  padding-top: 10px;
  padding-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table tr {
    padding-bottom: 30px;
  }
}
.t-historyTimeline__table tr::before {
  content: "";
  position: absolute;
  top: 0;
  left: 70px;
  width: 2px;
  height: 100%;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table tr::before {
    left: 155px;
  }
}
.t-historyTimeline__table tr:last-of-type {
  padding-bottom: 0;
}
.t-historyTimeline__table tr:last-of-type::before {
  height: calc(100% + 30px);
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table tr:last-of-type::before {
    height: calc(100% + 40px);
  }
}
.t-historyTimeline__table tr:last-of-type::after {
  content: "";
  z-index: 1;
  position: absolute;
  bottom: -30px;
  left: 56px;
  width: 30px;
  height: 30px;
  background: linear-gradient(rgba(42, 65, 105, 0) 0%, #2a4169 66.5%, #2a4169 100%);
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table tr:last-of-type::after {
    bottom: -40px;
    left: 131px;
    width: 50px;
    height: 50px;
  }
}
.t-historyTimeline__table th {
  width: 70px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table th {
    width: 155px;
  }
}
.t-historyTimeline__table th .t-historyTimeline__table__age {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 24px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table th .t-historyTimeline__table__age {
    font-size: 49px;
  }
}
.t-historyTimeline__table th span {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
  color: #43BFEF;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table th span {
    font-size: 13px;
  }
}
.t-historyTimeline__table td {
  flex: 1;
  padding-left: 15px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table td {
    padding-top: 5px;
    padding-left: 24px;
  }
}
.t-historyTimeline__table td .t-historyTimeline__table__text {
  position: relative;
  font-size: 14px;
  line-height: 20px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table td .t-historyTimeline__table__text {
    font-size: 22px;
    line-height: 36px;
  }
}
.t-historyTimeline__table td .t-historyTimeline__table__text::before {
  content: "";
  position: absolute;
  top: 5px;
  left: -19px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #44BFEF;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table td .t-historyTimeline__table__text::before {
    top: 13px;
    left: -30px;
    width: 14px;
    height: 14px;
  }
}
.t-historyTimeline__table td .t-historyTimeline__table__text + .t-historyTimeline__table__text {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table td .t-historyTimeline__table__text + .t-historyTimeline__table__text {
    margin-top: 30px;
  }
}
.t-historyTimeline__table td .t-historyTimeline__table__text:has(+ .t-historyTimeline__table__images) {
  margin-bottom: 12px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table td .t-historyTimeline__table__text:has(+ .t-historyTimeline__table__images) {
    margin-bottom: 22px;
  }
}
.t-historyTimeline__table td .t-historyTimeline__table__images {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table td .t-historyTimeline__table__images {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }
}
.t-historyTimeline__table td .t-historyTimeline__table__images picture {
  display: block;
  width: 73.4375%;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table td .t-historyTimeline__table__images picture {
    width: 47.976011994%;
  }
}
.t-historyTimeline__table td .t-historyTimeline__table__images + .t-historyTimeline__table__text {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table td .t-historyTimeline__table__images + .t-historyTimeline__table__text {
    margin-top: 30px;
  }
}
.t-historyTimeline__table td .t-historyTimeline__table__images:has(+ .t-historyTimeline__inner) {
  margin-bottom: 12px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__table td .t-historyTimeline__table__images:has(+ .t-historyTimeline__inner) {
    margin-bottom: 18px;
  }
}
.t-historyTimeline__inner {
  padding: 12px;
  background-color: #ffffff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__inner {
    padding: 16px 18px;
  }
}
.t-historyTimeline__inner__title {
  position: relative;
  margin-bottom: 6px;
  padding-bottom: 6px;
  font-size: 14px;
  line-height: 26px;
  color: #002B71;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__inner__title {
    margin-bottom: 12px;
    padding-bottom: 16px;
    font-size: 22px;
    line-height: 26px;
  }
}
.t-historyTimeline__inner__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 20px;
  height: 4px;
  background-color: #44BFEF;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__inner__title::before {
    width: 24px;
    height: 6px;
  }
}
.t-historyTimeline__inner__text {
  font-size: 12px;
  line-height: 17px;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline__inner__text {
    font-size: 16px;
    line-height: 26px;
  }
}
.t-historyTimeline:first-of-type .c-figure-timeline__items:nth-of-type(1) {
  top: 60px;
  left: 2.7777777778%;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline:first-of-type .c-figure-timeline__items:nth-of-type(1) {
    top: 60px;
    left: 5.46875%;
    width: 85.9375%;
  }
}
.t-historyTimeline:first-of-type .c-figure-timeline__items:nth-of-type(2) {
  top: 380px;
  right: -13.8888888889%;
  width: 33.3333333333%;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline:first-of-type .c-figure-timeline__items:nth-of-type(2) {
    top: 740px;
    right: -1.09375%;
    width: 11.71875%;
  }
}
.t-historyTimeline:first-of-type .c-figure-timeline__items:nth-of-type(3) {
  top: 500px;
  left: -8.3333333333%;
  width: 33.3333333333%;
}
@media screen and (min-width: 769px) {
  .t-historyTimeline:first-of-type .c-figure-timeline__items:nth-of-type(3) {
    top: 940px;
    left: 1.5625%;
    width: 18.828125%;
  }
}
.t-historyMap {
  width: 88.8888888889%;
  margin: 40px auto 0;
  aspect-ratio: 320/140;
}
@media screen and (min-width: 769px) {
  .t-historyMap {
    width: 85.9375%;
    margin: 71px auto 0;
    aspect-ratio: 1100/340;
  }
}
.t-historyMap iframe {
  display: block;
  width: 100%;
  height: 100%;
}

/*----------------------------------------
	Page Service
----------------------------------------*/
.service {
  overflow: hidden;
}
.service .c-figure {
  overflow: visible;
}
.service .c-page-visual {
  overflow: visible;
}
@media screen and (min-width: 769px) {
  .service .c-page-visual {
    overflow: visible;
  }
}
@media screen and (min-width: 769px) {
  .service .c-overviewWrap:nth-child(2n) .c-overviewColumn {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 769px) {
  .service .c-overviewContents {
    width: 40.1785714286%;
  }
}
@media screen and (min-width: 769px) {
  .service .c-overviewImages {
    width: 53.5714285714%;
  }
}

/*----------------------------------------
	Page works
----------------------------------------*/
.works {
  overflow: hidden;
}
.works .c-figure {
  overflow: visible;
}
.works .c-page-visual {
  padding-bottom: 50px;
}
@media screen and (min-width: 769px) {
  .works .c-page-visualMain {
    z-index: 1;
    position: relative;
  }
}
@media screen and (min-width: 769px) {
  .works .c-page-visualImage {
    margin-top: -370px;
  }
}

.works-single .c-page-visual {
  padding-bottom: 50px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .works-single .c-page-visual {
    padding-bottom: 96px;
  }
}

.t-works-main {
  padding-bottom: 56px;
}
@media screen and (min-width: 769px) {
  .t-works-main .c-page-visual__wrap {
    width: 90.625%;
    padding-bottom: 60px;
  }
}
.t-works-main .c-page-title__heading {
  font-size: 36px;
  line-height: 44px;
}
@media screen and (min-width: 769px) {
  .t-works-main .c-page-title__heading {
    font-size: 52px;
    line-height: 63px;
  }
}
.t-works-main .c-page-title__subheading {
  gap: 0 5px;
  font-size: 14px;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .t-works-main .c-page-title__subheading {
    gap: 0 6px;
    font-size: 15px;
    line-height: 20px;
  }
}
.t-works-main .motif {
  width: 18px;
}
@media screen and (min-width: 769px) {
  .t-works-main .motif {
    width: 18px;
  }
}
.t-works-main .c-page-title + .c-page-visualImage {
  margin: 30px 5.8823529412% 53px;
}
@media screen and (min-width: 769px) {
  .t-works-main__wrap {
    display: flex;
    margin-top: 54px;
  }
}
.t-works-main__heading {
  margin-bottom: 24px;
  font-size: 40px;
  line-height: 56px;
  color: #ffffff;
  text-shadow: 0px 3px 30px rgba(0, 0, 0, 0.8);
}
@media screen and (min-width: 769px) {
  .t-works-main__heading {
    flex: 1;
    margin-bottom: 0;
    font-size: 86px;
    line-height: 120px;
  }
}
.t-works-main__lead {
  font-size: 16px;
  line-height: 28px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-works-main__lead {
    margin-top: 45px;
    font-size: 22px;
    line-height: 42px;
  }
}

.t-figure-works__items {
  z-index: 0;
  position: absolute;
}
.t-figure-works__items:nth-of-type(1) {
  display: none;
}
@media screen and (min-width: 769px) {
  .t-figure-works__items:nth-of-type(1) {
    display: block;
    bottom: 76px;
    right: 11.171875%;
    width: 24.0625%;
  }
}

/*----------------------------------------
	Page Awards
----------------------------------------*/
.awards .c-page-heroMain__catch {
  font-feature-settings: normal;
}

.t-awards-block {
  z-index: 1;
  position: relative;
  width: 88.8888888889%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .t-awards-block {
    width: 75%;
  }
}
.t-awards-block + .t-awards-block {
  margin-top: 60px;
}
@media screen and (min-width: 769px) {
  .t-awards-block + .t-awards-block {
    margin-top: 60px;
  }
}
.t-awards-block__heading {
  position: relative;
  text-align: center;
  margin-bottom: 22px;
  padding-bottom: 16px;
  font-size: 22px;
  line-height: 32px;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-awards-block__heading {
    margin-bottom: 30px;
    padding-bottom: 22px;
    font-size: 32px;
    line-height: 46px;
  }
}
.t-awards-block__heading::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 40px;
  height: 4px;
  background-color: #44BEEF;
}
@media screen and (min-width: 769px) {
  .t-awards-block__heading::before {
    width: 60px;
  }
}
.t-awards-block__wrap {
  display: flex;
  flex-direction: column;
  gap: 15px 0;
}
@media screen and (min-width: 769px) {
  .t-awards-block__wrap {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px 0;
  }
}
.t-awards-block__item {
  padding: 16px 0 20px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-awards-block__item {
    width: 48.4375%;
    padding: 30px 0 36px;
  }
}
.t-awards-block__item--full {
  padding: 31px 20px 41px;
}
@media screen and (min-width: 769px) {
  .t-awards-block__item--full {
    width: 100%;
    padding: 35px 40px 40px;
  }
}
.t-awards-block__item__type {
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
  color: #43BFEF;
}
.t-awards-block__item__type span {
  display: inline-block;
  padding: 4px 8px 6px;
  border: 2px solid #09ACD3;
}
@media screen and (min-width: 769px) {
  .t-awards-block__item__type span {
    padding: 4px 12px;
    font-size: 16px;
  }
}
.t-awards-block__item__title {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 14px 0 10px;
  font-size: 16px;
  line-height: 17px;
}
@media screen and (min-width: 769px) {
  .t-awards-block__item__title {
    text-align: center;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    margin: 15px 0 10px;
    font-size: 20px;
    line-height: 28px;
  }
}
.t-awards-block__item__title span {
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .t-awards-block__item__title span {
    font-size: 14px;
  }
}
.t-awards-block__item__catch {
  text-align: center;
  font-size: 22px;
  line-height: 26px;
  color: #00388D;
}
@media screen and (min-width: 769px) {
  .t-awards-block__item__catch {
    font-size: 34px;
    line-height: 38px;
  }
}
.t-awards-block__item__catch span {
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .t-awards-block__item__catch span {
    font-size: 18px;
    transform: translateY(-2px);
    display: inline-block;
  }
}
.t-awards-block__item__catch.-md {
  font-size: 18px;
  line-height: 1.35;
}
@media screen and (min-width: 769px) {
  .t-awards-block__item__catch.-md {
    font-size: 28px;
    line-height: 1.35;
  }
}
.t-awards-block__badge {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 8px;
  margin-bottom: 24px;
  font-size: 20px;
  line-height: 21px;
}
@media screen and (min-width: 769px) {
  .t-awards-block__badge {
    gap: 0 12px;
    margin-bottom: 37px;
    font-size: 28px;
    line-height: 28px;
  }
}
.t-awards-block__badge::before {
  content: "";
  display: inline-block;
  width: 20px;
  aspect-ratio: 20/18;
  background: transparent url(../image/awards/icon_ranking.svg) no-repeat scroll center center/cover;
}
@media screen and (min-width: 769px) {
  .t-awards-block__badge::before {
    width: 25px;
  }
}
.t-awards-block__badge::after {
  content: "";
  display: inline-block;
  width: 20px;
  aspect-ratio: 20/18;
  background: transparent url(../image/awards/icon_ranking.svg) no-repeat scroll center center/cover;
}
@media screen and (min-width: 769px) {
  .t-awards-block__badge::after {
    width: 25px;
  }
}
.t-awards-block__ranking {
  display: flex;
  flex-direction: column;
  gap: 24px 0;
}
@media screen and (min-width: 769px) {
  .t-awards-block__ranking {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .t-awards-block__outer {
    width: 31.8181818182%;
  }
}
.t-awards-block__outer__thumb {
  position: relative;
}
.t-awards-block__outer__thumb span {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 22px;
  left: 14px;
  width: 39px;
  aspect-ratio: 39/56;
  font-size: 25px;
  color: #ffffff;
  background-color: #FF085E;
}
.t-awards-block__outer__age {
  text-align: center;
  margin: 12px 0 2px;
  font-size: 12px;
  line-height: 13px;
}
.t-awards-block__outer__place {
  text-align: center;
  margin: 2px 0 2px;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .t-awards-block__outer__place {
    margin: 3px 0 4px;
    font-size: 18px;
  }
}
.t-awards-block__outer__title {
  text-align: center;
  font-size: 22px;
  line-height: 26px;
  color: #00388D;
}
@media screen and (min-width: 769px) {
  .t-awards-block__outer__title {
    line-height: 30px;
  }
}

.t-awards-table {
  padding: 47px 0 60px;
  background-color: #E9EDF4;
}
@media screen and (min-width: 769px) {
  .t-awards-table {
    padding: 87px 0 60px;
  }
}
.t-awards-table__format {
  /* td を右側で縦に積む */
}
.t-awards-table__format tr {
  display: block;
}
@media screen and (min-width: 769px) {
  .t-awards-table__format tr {
    display: flex;
  }
}
.t-awards-table__format tr + tr {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .t-awards-table__format tr + tr {
    margin-top: 20px;
  }
}
.t-awards-table__format th {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 14px 0 14px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 18px;
  background-color: #002B71;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-awards-table__format th {
    width: 75px;
  }
}
.t-awards-table__format td {
  display: block;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-awards-table__format td {
    display: block;
    flex: 1;
  }
}
.t-awards-table__format td + td {
  border-top: 2px solid rgba(157, 180, 217, 0.2);
}
.t-awards-table__wrap {
  padding: 20px 15px 30px;
}
@media screen and (min-width: 769px) {
  .t-awards-table__wrap {
    display: flex;
    gap: 0 15px;
    padding: 40px;
  }
}
.t-awards-table__wrap + .t-awards-table__wrap {
  border-top: 2px solid rgba(157, 180, 217, 0.2);
}
@media screen and (min-width: 769px) {
  .t-awards-table__wrap + .t-awards-table__wrap {
    border-top: 2px solid #9db4d9;
  }
}
.t-awards-table__contents {
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  .t-awards-table__contents {
    flex: 1;
    margin: 0;
  }
}
.t-awards-table__type {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 12px;
}
@media screen and (min-width: 769px) {
  .t-awards-table__type {
    gap: 11px;
    margin-bottom: 16px;
  }
}
.t-awards-table__type__head {
  display: inline-block;
  margin-top: 1px;
  padding: 4px 8px 4px;
  font-size: 12px;
  color: #43BFEF;
  border: 2px solid #09ACD3;
}
@media screen and (min-width: 769px) {
  .t-awards-table__type__head {
    margin-top: 0;
    padding: 6px 8px 7px;
    font-size: 16px;
  }
}
.t-awards-table__type__name {
  font-size: 16px;
  line-height: 1.6;
  color: #43BFEF;
}
@media screen and (min-width: 769px) {
  .t-awards-table__type__name {
    font-size: 20px;
  }
}
.t-awards-table__title {
  margin-bottom: 6px;
  font-size: 18px;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .t-awards-table__title {
    margin-bottom: 8px;
    font-size: 24px;
    line-height: 32px;
  }
}
.t-awards-table__title:has(+ .t-awards-table__title) {
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .t-awards-table__title:has(+ .t-awards-table__title) {
    margin-bottom: 18px;
  }
}
.t-awards-table__list {
  list-style: disc;
  padding-left: 1.4em;
}
.t-awards-table__list li {
  font-size: 14px;
  line-height: 20px;
  color: #002B71;
}
@media screen and (min-width: 769px) {
  .t-awards-table__list li {
    font-size: 16px;
    line-height: 30px;
  }
}
.t-awards-table__list li + li {
  margin-top: 2px;
}
@media screen and (min-width: 769px) {
  .t-awards-table__list li + li {
    margin-top: 8px;
  }
}
.t-awards-table__image {
  width: 79.3103448276%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .t-awards-table__image {
    width: 23.8341968912%;
    margin: 0;
  }
}