:root {
  --noto-sans-font-family: "Noto Sans JP", sans-serif;
  --yuji-font-family: "Yuji Syuku", serif;
  --figtree-font-family: "Figtree", sans-serif;
  --bebas-font-family: "Bebas Neue", sans-serif;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--noto-sans-font-family);
  font-style: normal;
  font-weight: 300;
  background-color: #F6F6F6;
  overflow-x: hidden;
}

ul,
ol {
  list-style: none;
  padding: 0;
}

a {
  text-decoration: none;
  color: #222;
  transition: 0.3s;
}

a:hover {
  color: rgba(255, 255, 255, 0.8);
  transition: 0.3s;
}

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

/* ----------------------------- body ----------------------------- */
body.home {
  background-color: #F6F6F6;
}

body.saiyo-top {
  background-color: #DEECF3;
}

body.corporate {
  background-color: #F6F6F6;
}

body.saiyo {
  background-color: #DEECF3;
}

body.news {
  background-color: #F6F6F6;
}

body.sdgs {
  background: var(--SDGs-Body, linear-gradient(180deg, #FFF 0%, #FFF 0.01%, #F3F8FF 61.46%, #D4EFFE 100%));
}

body.page-id-2892 {
  background: rgba(0, 140, 255, 0.11);
}

.fudemoji {
  font-family: var(--yuji-font-family);
  font-weight: 400;
}
.fudemoji li {
  font-size: 18px !important;
}

.bi {
  margin-left: 8px;
  vertical-align: text-top;
}

/* ----------------------------- Loading ----------------------------- */
#sato_mask {
  width: 120px;
  height: 60px;
  display: block;
  margin: 0 auto;
}

.loading {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F6F6F6;
  transition: opacity 1s;
}

.loading.hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 1s;
}

.loading-wrap {
  position: absolute;
  top: calc(50% - 29px);
  margin: auto;
  height: 58px;
}

.loading-progress {
  font-family: var(--figtree-font-family);
  font-optical-sizing: auto;
  color: rgba(15, 34, 139, 0.3764705882);
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sato_color {
  fill: #0f218b;
  stroke-width: 0;
}

.mask_color {
  fill: none;
  stroke: #F6F6F6;
  stroke-width: 26;
  stroke-miterlimit: 10;
}

/* ----------------------------- wordpress ----------------------------- */
.post-content {
  max-width: 800px;
  width: 100%;
  margin: 0 auto 40px;
  padding-bottom: 40px;
}
.post-content h3 {
  width: calc(100% - 40px);
  max-width: 800px;
  margin: 0 auto 32px;
  background-image: url(../img/bg-section-title-start-sp.svg), url(../img/bg-section-title-end-sp.svg);
  background-position: 0% top, 97% bottom;
  background-repeat: no-repeat;
  background-size: auto;
  padding: 36px 16px 16px;
  line-height: 1.6;
  color: #001840;
  text-align: center;
  font-family: var(--noto-sans-font-family);
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
}

.page-post.post-content {
  padding: 0;
  width: 100%;
  max-width: 775px;
  margin: 0 auto 120px;
}
.page-post.post-content p {
  font-size: 0.937rem;
  font-weight: 400;
  line-height: 2;
  margin-bottom: 1.5rem;
}
.page-post.post-content p.catch {
  color: #001840;
  text-align: center;
  font-family: var(--noto-sans-font-family);
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  /* 2.25rem */
  margin-bottom: 20px;
}
.page-post.post-content a {
  text-decoration: underline;
  color: #001840;
}
.page-post.post-content strong {
  font-weight: bold;
  background-color: rgba(0, 159, 233, 0.2196078431);
}
.page-post.post-content > ol, .page-post.post-content > ul {
  max-width: 800px;
  padding: 0 20px;
  width: calc(100% - 16PX);
  margin-left: 16px;
}
.page-post.post-content > ul {
  list-style: circle;
}
.page-post.post-content > ol > li > ol, .page-post.post-content > ul > li > ol, .page-post.post-content > ol > li > ul, .page-post.post-content > ul > li > ul {
  list-style-type: lower-alpha;
  max-width: 800px;
  padding: 0 0 0 16px;
  width: 100%;
}
.page-post.post-content > ol > li, .page-post.post-content > ul > li {
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-left: 1rem;
}

.alignright {
  text-align: right;
}

.page-post.post-content .contact-content p {
  color: #001840;
  font-size: 0.875rem;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #ffb900;
  border-radius: 12px;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #46b450;
  border-radius: 12px;
}

.wpcf7 .wpcf7-form-control-wrap .input-short {
  display: inline-block;
  width: 70px;
  margin-right: 4px;
}

.wpcf7 .wpcf7-form-control-wrap .input-half {
  display: inline-block;
  width: 100%;
  margin-right: 4px;
}

.wpcf7 .wpcf7-form-control-wrap {
  position: relative;
  display: inline-block;
  width: 100%;
}

.wpcf7 .wpcf7-form-control-wrap[data-name=your-birth-year],
.wpcf7 .wpcf7-form-control-wrap[data-name=your-birth-month],
.wpcf7 .wpcf7-form-control-wrap[data-name=your-birth-day],
.wpcf7 .wpcf7-form-control-wrap[data-name=your-age],
.wpcf7 .wpcf7-form-control-wrap[data-name=your-gender] {
  width: auto;
}

::-moz-placeholder {
  color: #aaa;
}

::placeholder {
  color: #aaa;
}

.wp-block-image img {
  width: 100%;
}

.grecaptcha-badge {
  visibility: hidden;
}

.wpcf7-turnstile.cf-turnstile {
  margin-left: 20px;
  margin-bottom: 20px;
}

/* ----------------------------- Other ----------------------------- */
.spbr {
  display: none;
}

@media screen and (max-width: 980px) {
  .spbr {
    display: inline-block;
  }
}
.pcbr {
  display: none;
}

@media screen and (min-width: 1100px) {
  .pcbr {
    display: inline-block;
  }
}
.satorian-post video {
  max-width: 100%;
}

.single-satorian .wp-block-image figcaption {
  font-size: 0.812rem;
  color: #222;
  font-weight: 400;
  margin-top: 24px;
}

.figure-caption {
  display: block;
  text-align: center;
  font-size: 0.75rem;
  color: #3d4145;
  font-weight: 400;
  margin-top: 12px;
}

.movie video {
  width: 100%;
  vertical-align: bottom;
  filter: drop-shadow(0px 0px #000);
}

.h100 video {
  width: 100%;
  height: 100svh;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  vertical-align: bottom;
  filter: drop-shadow(0px 0px #000);
}

.movie-pc {
  display: none;
}

.btn-sp {
  display: inline-block;
}

.home-movie-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  min-height: 40svh;
  padding: 20px 20px 30px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.home-movie-bottom .btn-important-wrap {
  position: static;
  padding-bottom: 16px;
}
.home-movie-bottom .top-news {
  position: static;
}

.btn-important-wrap {
  width: 100%;
  position: absolute;
  bottom: 150px;
  text-align: center;
  z-index: 10;
}

.movie-sp .btn-important-wrap {
  bottom: 60px;
}

.home .movie-sp .btn-important-wrap {
  bottom: 220px;
}

.btn-important {
  display: inline-block;
  text-align: center;
  border-radius: 1.5rem;
  border: 2px solid #FFF;
  background: #00A0E9;
  padding: 0.75rem 1.4rem 0.75rem 1.68rem;
  color: #fff;
  position: relative;
  font-weight: 500;
  transition: 0.3s;
  margin: 40px 20px 0;
}

.btn-important:hover,
.btn-important:active {
  color: #00A0E9;
  background-color: #fff;
  border: 2px solid #00A0E9;
  transition: 0.3s;
}
.btn-important:hover::after,
.btn-important:active::after {
  background: url(../img/uiw_swap-right-mizuiro.svg) center right/cover no-repeat;
}

.btn-important::before {
  content: "";
  display: inline-block;
  width: calc(100% + 24px);
  height: calc(100% + 24px);
  border-radius: 34px;
  border: 2px solid #FFF;
  position: absolute;
  left: -12px;
  top: -12px;
  z-index: 10;
}

.btn-important::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../img/uiw_swap-right.svg) center right/cover no-repeat;
  margin-left: 20px;
  line-height: 1;
  position: relative;
  top: 2px;
}

@keyframes btn-line-animation {
  0% {
    border: 2px solid #FFF;
    opacity: 1;
  }
  100% {
    border: 3px solid #FFF;
    opacity: 0.4;
    box-shadow: 0px 0px 16px #fff;
  }
}
.btn-important-whiteline-wrap {
  width: 100%;
  text-align: center;
  position: absolute;
  bottom: -110px;
}

.btn-important-whiteline-satorian-wrap {
  width: 100%;
  text-align: center;
  padding: 120px 0 0;
}

.btn-important-whiteline {
  display: inline-block;
  border-radius: 1.5rem;
  border: 2px solid #FFF;
  background: inherit;
  padding: 0.75rem 1.4rem 0.75rem 1.88rem;
  color: #fff;
  position: relative;
  font-weight: 500;
  margin-top: 40px;
}

.btn-important-whiteline:hover,
.btn-important-whiteline:active {
  border: 2px solid #00A0E9;
  color: #00A0E9;
  background-color: #fff;
  transition: 0.3s;
}
.btn-important-whiteline:hover::after,
.btn-important-whiteline:active::after {
  background: url(../img/uiw_swap-right-mizuiro.svg) center right/cover no-repeat;
}

.btn-important-whiteline::before {
  content: "";
  display: inline-block;
  width: calc(100% + 24px);
  height: calc(100% + 24px);
  border-radius: 34px;
  border: 2px solid #FFF;
  position: absolute;
  left: -12px;
  top: -12px;
  z-index: 10;
}

.btn-important-whiteline::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../img/uiw_swap-right.svg) center right/cover no-repeat;
  margin-left: 20px;
  line-height: 1;
  position: relative;
  top: 2px;
}

.br-sp {
  display: inline;
}

.br-pc {
  display: none;
}

.br-dt {
  display: none;
}

.btn-whiteline-wrap,
.btn-mizuiroline-wrap {
  text-align: center;
  margin: 20px 20px 60px;
}

.btn-whiteline-satorian-wrap {
  text-align: center;
  margin: 80px 20px 0;
}
.btn-whiteline-satorian-wrap .btn-whiteline-return::after {
  display: none;
}
.btn-whiteline-satorian-wrap .btn-whiteline-return::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 9px;
  background: url(../img/icon-arrow-left-white.svg) center left/cover no-repeat;
  margin-right: 20px;
  line-height: 1;
  position: relative;
  top: 2px;
  left: 0;
  transition: 0.3s;
}
.btn-whiteline-satorian-wrap .btn-whiteline-return {
  border-radius: 1.5rem;
  border: 2px solid #fff;
  background: inherit;
  padding: 0.75rem 1.88rem 0.75rem 1.88rem;
  color: #fff;
  position: relative;
  font-weight: 500;
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
}
.btn-whiteline-satorian-wrap .btn-whiteline-return:hover::before {
  left: -4px;
  transition: 0.3s;
}

.btn-whiteline {
  border-radius: 1.5rem;
  border: 2px solid #FFF;
  background: inherit;
  padding: 0.75rem 1.4rem 0.75rem 1.88rem;
  color: #fff;
  position: relative;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
}

.btn-whiteline:hover,
.btn-whiteline:active {
  background: #fff;
  color: #01589A;
  transition: 0.3s;
}
.btn-whiteline:hover::after,
.btn-whiteline:active::after {
  background: url(../img/icon-blue-arrow-right.svg) center right/cover no-repeat;
}

.btn-whiteline::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 9px;
  background: url(../img/icon-arrow-right.svg) center right/cover no-repeat;
  margin-left: 20px;
  line-height: 1;
  position: relative;
  top: 2px;
}

.btn-whiteline-return::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 9px;
  background: url(../img/icon-arrow-left-white.svg) center left/cover no-repeat;
  margin-right: 20px;
  line-height: 1;
  position: relative;
  top: 2px;
}

.btn-mizuiroline {
  border-radius: 1.5rem;
  border: 2px solid #00A0E9;
  background: inherit;
  padding: 0.75rem 1.4rem 0.75rem 1.88rem;
  color: #00A0E9;
  position: relative;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
}
.btn-mizuiroline a {
  color: #00A0E9;
  display: inline-block;
}
.btn-mizuiroline a:hover {
  color: #fff;
}
.btn-mizuiroline:hover, .btn-mizuiroline:active {
  background-color: #00A0E9;
  color: #fff;
}
.btn-mizuiroline:hover a, .btn-mizuiroline:active a {
  color: #fff;
}
.btn-mizuiroline:hover::after, .btn-mizuiroline:active::after {
  background: url(../img/icon-arrow-right.svg) center right/cover no-repeat;
}

.btn-mizuiroline::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 9px;
  background: url(../img/icon-mizuiro-arrow-right.svg) center right/cover no-repeat;
  margin-left: 20px;
  line-height: 1;
  position: relative;
  top: 2px;
}

.btn-blueline-wrap {
  margin: 72px auto 200px;
  text-align: center;
}

.btn-blueline {
  border-radius: 1.5rem;
  border: 2px solid #00589a;
  background: inherit;
  padding: 0.75rem 1.4rem 0.75rem 1.88rem;
  color: #00589a;
  position: relative;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
}
.btn-blueline:hover {
  color: #00589a;
}

.btn-blueline::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 9px;
  background: url(../img/icon-blue-arrow-right.svg) center right/cover no-repeat;
  margin-left: 20px;
  line-height: 1;
  position: relative;
  top: 2px;
}

.btn-blueline-return {
  border-radius: 1.5rem;
  border: 2px solid #00589a;
  background: inherit;
  padding: 0.75rem 1.4rem 0.75rem 1.88rem;
  color: #00589a;
  position: relative;
  font-weight: 500;
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  transition: 0.3s;
}
.btn-blueline-return:hover {
  opacity: 0.8;
  color: #00589a;
}

.btn-blueline-return::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 9px;
  background: url(../img/icon-blue-arrow-left.svg) center left/cover no-repeat;
  margin-right: 20px;
  line-height: 1;
  position: relative;
  top: 2px;
}

.title-bebas {
  color: #FFF;
  font-family: var(--bebas-font-family);
  font-size: 3rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.title-bebas-sub {
  display: block;
  color: #001840;
  font-family: var(--noto-sans-font-family);
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}

.title-bg-en {
  color: #FFF;
  font-family: "Noto Sans JP";
  font-size: 28px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  margin-bottom: 60px;
}

.table-non-colored {
  margin: 30px auto;
}
.table-non-colored th,
.table-non-colored td {
  border: 1px solid #333;
  font-size: 1rem;
}
.table-non-colored th {
  text-align: center;
  padding: 1.5rem 1rem;
}
.table-non-colored td {
  font-weight: 700;
}
.table-non-colored td .supplement {
  font-weight: 400;
}
.table-non-colored td {
  padding: 1.5rem 1.5rem;
}

.page-header {
  width: 100%;
  height: 212px;
  padding: 64px 16px 64px;
  background-color: #00589A;
  background-image: url(../img/bg_line_anim.svg);
  background-size: 990px auto;
  background-position: -60px 90px;
  background-repeat: no-repeat;
}
.page-header .page-title {
  padding: 0 10px;
}
.page-header .title-bebas {
  font-size: 3rem;
}
.page-header .title-bebas-sub {
  color: #FFF;
}

.saiyo .page-header,
.post-type-archive-satorian .page-header,
.single-satorian .page-header {
  background-color: #00a0e9;
  background-image: url(../img/bg_line_anim.svg);
  background-size: 990px auto;
  background-position: 93% -8px;
}

.news .page-header {
  background-color: #00589A;
}

.page-main {
  padding: 64px 0;
  margin-bottom: 60px;
}
.page-main ol {
  max-width: calc(100% - 80px);
  margin: 0 auto;
  list-style-type: decimal;
  list-style-position: outside;
  margin: 1rem auto 1rem auto;
}
.page-main ol li {
  margin-bottom: 8px;
}
.page-main table,
.page-main .wp-block-table table {
  border-collapse: collapse;
  max-width: 1020px;
  width: calc(100% - 20px);
  margin: 0 auto 60px;
  display: block;
}
.page-main tbody,
.page-main .wp-block-table tbody {
  display: block;
}
.page-main tr,
.page-main .wp-block-table tr {
  display: block;
  margin-bottom: 20px;
}
.page-main td,
.page-main .wp-block-table td,
.page-main .wp-block-table td:not(:first-child) {
  display: block;
  padding: 16px;
  border: 1px solid #00589A;
  background: #FFF;
  color: #454545;
  font-family: var(--noto-sans-font-family);
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8;
  width: 100%;
}
.page-main td ol,
.page-main .wp-block-table td ol,
.page-main .wp-block-table td:not(:first-child) ol {
  margin: 1rem 0 1rem 20px;
  max-width: 100%;
}
.page-main th,
.page-main .wp-block-table th,
.page-main .wp-block-table td:first-child {
  display: block;
  padding: 16px;
  border-top: 1px solid #00589A;
  border-right: 1px solid #00589A;
  border-left: 1px solid #00589A;
  border-bottom: none;
  background: rgba(172, 219, 245, 0.26);
  color: #001840;
  text-align: center;
  font-family: var(--noto-sans-font-family);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  width: 100%;
}
.page-main > section > p {
  margin-bottom: 24px;
}
.page-main .page-title,
.page-main .section-title {
  display: block;
  background: #FFF;
  box-shadow: 0 4px 2px 0 rgba(0, 70, 123, 0.2);
  width: 100%;
  margin: 0 auto 32px;
  padding: 24px 28px;
  color: #001840;
  text-align: center;
  font-family: var(--noto-sans-font-family);
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 50px;
  line-height: 1.4;
}
.page-main .page-section-title {
  width: 100%;
  margin: 0 auto 32px;
  background-image: url(../img/bg-section-title-end-sp.svg);
  background-position: 97% bottom;
  background-repeat: no-repeat;
  background-size: auto;
  padding: 42px 28px 20px;
  color: #001840;
  text-align: center;
  font-family: var(--noto-sans-font-family);
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 50px;
}
.page-main p {
  padding: 0 20px;
  line-height: 1.75;
  max-width: 800px;
  margin: 0 auto 1rem;
  color: #222;
  font-family: var(--noto-sans-font-family);
  font-size: 1rem;
  font-weight: 400;
  line-height: 200%;
}
.page-main .img-wrap-1100 {
  width: 100%;
  max-width: 1100px;
  height: 100%;
  margin: 50px auto;
}
.page-main .img-wrap-1100 img {
  -o-object-fit: cover;
     object-fit: cover;
  padding: 0 24px;
}
.page-main .img-wrap-800 {
  width: 100%;
  max-width: 800px;
  height: 100%;
  margin: 50px auto;
}
.page-main .img-wrap-800 img {
  -o-object-fit: cover;
     object-fit: cover;
  padding: 0 24px;
}
.page-main .img-wrap-480 {
  width: 100%;
  max-width: 480px;
  height: 100%;
  margin: 50px auto;
}
.page-main .img-wrap-480 img {
  -o-object-fit: cover;
     object-fit: cover;
  padding: 0 8px;
}
.page-main .video-wrap {
  display: none;
}
.page-main .video-wrap-sp {
  text-align: center;
  display: block;
  padding: 0;
}
.page-main video {
  max-width: 100%;
  filter: drop-shadow(0px 0px #000);
}

.btn-prev-next-wrap {
  width: 100%;
  max-width: 800px;
  margin: -80px auto 220px;
  text-align: center;
}

.btn-to-page {
  display: inline-block;
  min-width: 320px;
  padding: 46px 24px;
  color: #fff;
}

.btn-to-page-en {
  color: #FFF;
  font-family: var(--bebas-font-family);
  font-size: 3rem;
  font-weight: 400;
  display: block;
  text-align: left;
  line-height: 1;
  margin-bottom: 10px;
}

.btn-to-page-ja {
  color: #FFF;
  font-family: var(--noto-sans-font-family);
  font-size: 1rem;
  font-weight: 700;
  display: block;
  line-height: 1;
}

.btn-next-contents {
  background: url(../img/bg-next-contents.svg) left center no-repeat;
}
.btn-next-contents .btn-to-page-en {
  text-align: left;
}
.btn-next-contents .btn-to-page-ja {
  text-align: left;
}
.btn-next-contents .btn-to-page-ja::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 9px;
  background: url(../img/icon-arrow-right.svg) center right/cover no-repeat;
  margin-left: 20px;
  line-height: 1;
  position: relative;
  top: -1px;
}

.btn-prev-contents {
  background: url(../img/bg-prev-contents.svg) left center no-repeat;
}
.btn-prev-contents .btn-to-page-en {
  text-align: right;
}
.btn-prev-contents .btn-to-page-ja {
  text-align: right;
}
.btn-prev-contents .btn-to-page-ja::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 9px;
  background: url(../img/icon-arrow-left.svg) center left/cover no-repeat;
  margin-right: 20px;
  line-height: 1;
  position: relative;
  top: -1px;
}

.page-main td .cell-text,
.page-main .wp-block-table td .cell-text,
.page-main .wp-block-table td:not(:first-child) .cell-text {
  display: inline-block;
  min-width: 9em;
}

.corporate .wp-block-image .alignright {
  float: right;
  margin: 0.5em 1em 0.5em 1em;
}

.corporate .wp-block-image .alignleft {
  float: left;
  margin: 0.5em 1em 0.5em 1em;
}

.image-right-full {
  width: 50% !important;
  float: right;
}

.image-left-full {
  width: 50% !important;
  float: left;
}

@media screen and (min-width: 700px) {
  .image-right-full {
    width: 280px !important;
    float: right;
  }
  .image-left-full {
    width: 280px !important;
    float: left;
  }
  .movie-sp {
    display: none;
  }
  .movie-pc {
    display: block;
  }
  .br-sp {
    display: none;
  }
  .br-pc {
    display: inline;
  }
  .br-dt {
    display: none;
  }
  .btn-important-wrap {
    max-width: 400px;
    width: auto;
    right: 0;
    display: inline-flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-end;
    bottom: 56px;
  }
  .btn-important {
    margin-left: 30px;
  }
  .btn-important-whiteline-satorian-wrap {
    max-width: 320px;
    right: 0;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin: 0 auto;
  }
  .page-header {
    width: 100%;
    padding: 64px 34px 64px;
    background-image: url(../img/bg_line_anim_rv.svg);
    background-size: 990px auto;
    background-position: -60px 70px;
  }
  .page-header .title-bebas {
    font-size: 4rem;
  }
  .page-header .title-bebas-sub {
    color: #FFF;
  }
  .page-main table,
  .page-main .wp-block-table table {
    display: table;
    border-collapse: collapse;
    max-width: 1020px;
    width: calc(100% - 60px);
    margin: 0 auto 100px;
  }
  .page-main tbody,
  .page-main .wp-block-table tbody {
    display: table-row-group;
  }
  .page-main tr,
  .page-main .wp-block-table tr {
    display: table-row;
    margin-bottom: initial;
  }
  .page-main td,
  .page-main .wp-block-table td,
  .page-main .wp-block-table td:not(:first-child) {
    display: table-cell;
    padding: 20px;
    border: 1px solid #00589A;
    background: #FFF;
    color: #454545;
    font-family: var(--noto-sans-font-family);
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.8;
  }
  .page-main td ol,
  .page-main .wp-block-table td ol,
  .page-main .wp-block-table td:not(:first-child) ol {
    margin: 1rem 0 1rem 20px;
    max-width: 100%;
  }
  .page-main th,
  .page-main .wp-block-table th,
  .page-main .wp-block-table td:first-child {
    display: table-cell;
    padding: 20px;
    border-top: 1px solid #00589A;
    border-bottom: 1px solid #00589A;
    border-left: 1px solid #00589A;
    background: rgba(172, 219, 245, 0.26);
    color: #001840;
    text-align: center;
    font-family: var(--noto-sans-font-family);
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    width: 30%;
  }
  .page-main .video-wrap {
    display: block;
    text-align: center;
  }
  .page-main .video-wrap-sp {
    display: none;
  }
  .page-main .img-wrap-1100 {
    width: auto;
    max-width: 1100px;
    height: 60%;
    margin: 50px auto;
  }
  .page-main .img-wrap-1100 img {
    -o-object-fit: cover;
       object-fit: cover;
    padding: 0 24px;
  }
  .page-main .img-wrap-800 {
    width: auto;
    max-width: min(800px, 80%);
    height: 50%;
    margin: 50px auto;
  }
  .page-main .img-wrap-800 img {
    -o-object-fit: cover;
       object-fit: cover;
    padding: 0 24px;
  }
  .page-main .img-wrap-640 {
    width: auto;
    max-width: 640px;
    height: 50%;
    margin: 50px auto;
  }
  .page-main .img-wrap-640 img {
    -o-object-fit: cover;
       object-fit: cover;
    padding: 0;
  }
  .page-main .img-wrap-480 {
    width: 100%;
    max-width: 610px;
    height: 100%;
    margin: 50px auto;
  }
  .page-main .img-wrap-480 img {
    -o-object-fit: cover;
       object-fit: cover;
    padding: 0;
  }
  .page-main .img-wrap-200 {
    margin-top: 0px;
  }
  .page-main .img-wrap-200 .figure {
    width: 100%;
    max-width: 300px;
    height: 100%;
    max-height: 240px;
    margin: 50px auto;
  }
  .page-main .img-wrap-200 img {
    -o-object-fit: cover;
       object-fit: cover;
    padding: 0;
  }
  .page-main video {
    max-width: 100%;
  }
  .page-main ol {
    width: calc(100% - 80px);
    max-width: 730px;
  }
  .page-post.post-content {
    padding: 0;
    width: calc(100% - 40px);
    max-width: 800px;
    margin: 0 auto 120px;
  }
  .page-post.post-content p {
    font-size: 0.937rem;
    font-weight: 400;
    line-height: 2;
  }
  .page-post.post-content strong {
    font-weight: bold;
    background-color: rgba(0, 159, 233, 0.2196078431);
  }
  .page-post.post-content > ol, .page-post.post-content > ul {
    max-width: 800px;
    padding: 0 20px;
    width: calc(100% - 40px);
  }
  .page-post.post-content > ol > li > ol, .page-post.post-content > ol > li > ul, .page-post.post-content > ul > li > ol, .page-post.post-content > ul > li > ul {
    list-style-type: lower-alpha;
    max-width: 800px;
    padding: 0 0 0 16px;
    width: 100%;
  }
  .page-post.post-content > ol > li, .page-post.post-content > ul > li {
    margin-bottom: 1rem;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.8;
  }
  .page-post.post-content h3 {
    max-width: 800px;
    margin: 30px auto 20px;
    background-image: url(../img/bg-section-title-start.svg), url(../img/bg-section-title-end.svg);
    background-position: right top, left bottom;
    background-repeat: no-repeat;
    background-size: contain;
    padding: 50px 28px 20px;
    color: #001840;
    text-align: center;
    font-family: var(--noto-sans-font-family);
    font-size: 1.25rem;
    font-weight: 700;
  }
  .page-post.post-content a {
    text-decoration: underline;
    color: #001840;
  }
  .page-post.post-content a:hover {
    color: #001840;
    text-decoration: none;
  }
}
@media screen and (min-width: 1100px) {
  .br-dt {
    display: inline;
  }
  .btn-important-wrap {
    text-align: right;
  }
  .page-header {
    width: 100%;
    height: 270px;
    padding: 64px 4% 64px;
    display: flex;
    justify-content: space-between;
    background-image: url(../img/bg_line_anim.svg);
    background-size: 1440px auto;
    background-position: 360px 83%;
  }
  .page-header .page-title {
    padding: 10px 0;
  }
  .page-header .title-bebas {
    font-size: 4rem;
    width: 100%;
    display: flex;
    align-items: center;
  }
  .page-header .title-bebas-sub {
    color: #FFF;
    font-weight: 700;
    text-align: left;
  }
  .page-header .mainvisual {
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 74%;
    max-height: 88vh;
  }
  .page-header .mainvisual img {
    width: auto;
    height: auto;
    max-height: 100%;
  }
  .saiyo .page-header,
  .post-type-archive-satorian .page-header,
  .single-satorian .page-header {
    background-color: #00a0e9;
    background-image: url(../img/bg_line_anim.svg);
    background-size: 1330px auto;
    background-position: 400px 16%;
  }
  .page-main {
    padding: 90px 0;
  }
  .page-main .page-title {
    background: #FFF;
    box-shadow: 0 4px 2px 0 rgba(0, 70, 123, 0.2);
    padding: 10px 108px 8px;
    min-height: 44px;
    text-align: center;
    font-size: 2rem;
    margin-bottom: 78px;
  }
  .page-main .page-section-title {
    max-width: 800px;
    margin: 0 auto 32px;
    background-image: url(../img/bg-section-title-end.svg);
    background-position: left bottom;
    background-repeat: no-repeat;
    padding: 50px 28px 20px;
    color: #001840;
    text-align: center;
    font-family: var(--noto-sans-font-family);
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 50px;
  }
  .page-main .img-wrap-1100 {
    width: 100%;
    max-width: 1100px;
    height: auto;
    margin: 50px auto;
  }
  .page-main .img-wrap-1100 img {
    -o-object-fit: cover;
       object-fit: cover;
    padding: 0x;
  }
  .page-main .img-wrap-800 {
    width: 100%;
    max-width: 800px;
    height: auto;
    margin: 50px auto;
  }
  .page-main .img-wrap-800 img {
    -o-object-fit: cover;
       object-fit: cover;
    padding: 0;
  }
  .page-main video {
    max-width: 100%;
  }
  .page-main .page-main ol {
    max-width: 730px;
  }
  .page-post.post-content p.catch {
    font-size: 1.5rem;
  }
  .page-post.post-content h3 {
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }
}
/* ----------------------------- Header ----------------------------- */
.offcanvas-body {
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding: 10px 20px 10px;
}
.offcanvas-body::-webkit-scrollbar {
  display: none;
}

.header {
  position: fixed;
  top: 0;
  z-index: 999;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.12rem;
}
.header a {
  color: #fff;
  filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.2));
}

.logo {
  width: 240px;
}
.logo h1 {
  margin-bottom: 0;
}

@media screen and (max-width: 1099px) {
  .navigation {
    display: none;
  }
  .navigation-sp {
    visibility: hidden;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out, visibility 0.3s ease-in-out;
    right: 0;
    left: auto;
    width: 100%;
    max-width: 500px;
    height: calc(100svh - 20px);
    overflow-y: auto;
    border-radius: 0 0 20px 20px;
    background: #00467B;
  }
  .navigation-sp[data-type=business] {
    background: #00467B;
  }
  .navigation-sp[data-type=recruitment] {
    background: #00A0E9;
  }
  .navigation-sp[data-type=recruitment] .nav-sp-sublist li.current-menu-item .nav-link,
  .navigation-sp[data-type=recruitment] .nav-sp-sublist li.current-menu-ancestor .nav-link {
    background: #00A0E9;
  }
  .navigation-sp[data-type=recruitment] .nav-sp-feature {
    background: rgba(0, 24, 64, 0.14);
  }
  .navigation-sp[data-type=recruitment] .nav-sp-sublist li.current-menu-item .nav-link.nav-sp-feature__card {
    background: inherit;
  }
  .navigation-sp.show {
    visibility: visible;
    transform: translateX(0);
  }
  .navigation-sp .nav-link:focus,
  .navigation-sp .nav-link:hover {
    color: #fff;
  }
  .navigation-sp .offcanvas-header {
    justify-content: space-between;
    align-items: center;
    padding: 24px 20px 20px 20px;
  }
  .navigation-sp .nav-sp-logo {
    width: 240px;
  }
  .navigation-sp .nav-sp-tabs {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    margin-bottom: 16px;
  }
  .navigation-sp .nav-sp-tab {
    color: #FFF;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    font-family: Inter;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    border: none;
    background: none;
    padding: 6px 15px;
  }
  .navigation-sp .nav-sp-tab.is-active,
  .navigation-sp .nav-sp-tab.is-current {
    border-radius: 16px;
    border: 1px solid #FFF;
    background: #1B196E;
    display: flex;
    padding: 6px 14px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    color: #FFF;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
  }
  .navigation-sp .nav-sp-breadcrumb {
    border-radius: 20px;
    background: rgba(0, 24, 64, 0.2);
    display: flex;
    padding: 6px 16px 8px;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
    line-height: 1;
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    margin-bottom: 16px;
  }
  .navigation-sp .nav-sp-breadcrumb a {
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
  }
  .navigation-sp .nav-sp-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
    gap: 5px 0;
  }
  .navigation-sp .nav-sp-breadcrumb__item {
    margin: 0 0 0 0;
  }
  .navigation-sp .nav-sp-breadcrumb__item:not(:first-child)::before {
    content: "/";
    margin: 0 8px;
  }
  .navigation-sp .nav-sp-breadcrumb__item br {
    display: none;
  }
  .navigation-sp .btn-close {
    background: transparent url(../img/btn-close.svg) center/21px auto no-repeat;
    opacity: 1;
  }
  .navigation-sp .btn-check:focus + .btn,
  .navigation-sp .btn:focus {
    outline: 0;
    box-shadow: none;
  }
  .navigation-sp .nav-parent > .nav-item {
    display: inline-block;
    width: 100%;
    margin: 10px 0;
  }
  .navigation-sp .nav-parent > .nav-item > .nav-link {
    border-radius: 24px;
    background: #0F0D53;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9375rem;
    font-weight: 700;
    padding: 0.75rem 1rem;
    position: relative;
  }
  .navigation-sp .nav-parent > .nav-item.no-bg > .nav-link {
    background: inherit;
    text-align: center;
    text-decoration: underline;
    font-size: 0.875rem;
    font-weight: 400;
  }
  .navigation-sp .nav-parent > .nav-item.no-bg > .nav-link img {
    max-height: 1.5rem;
  }
  .navigation-sp .nav-parent > .nav-item.has-child > .nav-link::after, .navigation-sp .nav-parent > .nav-item.menu-item-has-children > .nav-link::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 5px;
    position: absolute;
    right: 20px;
    top: calc(50% - 2.5px);
    background: url(../img/icon-down.svg) center/contain no-repeat;
  }
  .navigation-sp .nav-parent > .nav-item > .nav-child > .nav-item > .nav-link,
  .navigation-sp .nav-parent > .nav-item > .sub-menu > .nav-item > .nav-link {
    border-radius: 24px;
    border: 1px solid #FFF;
    margin: 20px 0;
    position: relative;
    color: #FFF;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 400;
  }
  .navigation-sp .nav-parent > .nav-item > .nav-child > .nav-item > .nav-link ~ .nav-child > .nav-item, .navigation-sp .nav-parent > .nav-item > .nav-child > .nav-item > .nav-link ~ .sub-menu > .nav-item,
  .navigation-sp .nav-parent > .nav-item > .sub-menu > .nav-item > .nav-link ~ .nav-child > .nav-item,
  .navigation-sp .nav-parent > .nav-item > .sub-menu > .nav-item > .nav-link ~ .sub-menu > .nav-item {
    display: inline-block;
    margin-right: 16px;
    margin-bottom: 16px;
  }
  .navigation-sp .nav-parent > .nav-item > .nav-child > .nav-item > .nav-link ~ .nav-child > .nav-item .nav-link, .navigation-sp .nav-parent > .nav-item > .nav-child > .nav-item > .nav-link ~ .sub-menu > .nav-item .nav-link,
  .navigation-sp .nav-parent > .nav-item > .sub-menu > .nav-item > .nav-link ~ .nav-child > .nav-item .nav-link,
  .navigation-sp .nav-parent > .nav-item > .sub-menu > .nav-item > .nav-link ~ .sub-menu > .nav-item .nav-link {
    border-radius: 24px;
    border: 1px solid #FFF;
    display: inline-block;
    width: auto;
    font-size: 0.8125rem;
    font-style: normal;
    font-weight: 400;
  }
  .navigation-sp .nav-parent > .nav-item > .nav-child > .nav-item.has-child > .nav-link::after, .navigation-sp .nav-parent > .nav-item > .nav-child > .nav-item.menu-item-has-children > .nav-link::after,
  .navigation-sp .nav-parent > .nav-item > .sub-menu > .nav-item.has-child > .nav-link::after,
  .navigation-sp .nav-parent > .nav-item > .sub-menu > .nav-item.menu-item-has-children > .nav-link::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 5px;
    position: absolute;
    right: 20px;
    top: calc(50% - 2.5px);
    background: url(../img/icon-down.svg) center/contain no-repeat;
  }
  .btn-menu {
    content: "";
    display: block;
    width: 32px;
    height: 28px;
    background: url("../img/ri_menu-3-fill.svg") right center/100% auto no-repeat;
    filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.2));
  }
}
@media screen and (min-width: 700px) {
  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.12rem;
  }
  .header a {
    color: #fff;
    text-decoration: none;
    filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.2));
  }
}
@media screen and (min-width: 1100px) {
  .header {
    padding: 0 0 1rem 3%;
  }
  .logo {
    width: 260px;
    position: relative;
    z-index: 10;
  }
  .navigation-sp {
    display: none;
  }
  .navigation {
    position: relative;
    z-index: 10;
    display: block;
    min-width: clamp(800px, 55%, 1200px);
    padding: 18px 3% 18px 56px;
  }
  .navigation .nav-link:focus,
  .navigation .nav-link:hover {
    color: #fff;
  }
  .navigation .nav-parent > .nav-item {
    display: block;
    width: 20%;
    text-align: center;
  }
  .navigation .nav-parent > .nav-item img {
    max-height: 1.5rem;
  }
  .navigation .nav-parent > .nav-item.no-pc {
    display: none;
  }
  .navigation .nav-parent > .nav-item > .nav-link {
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.0392156863), -1px -1px 0 rgba(0, 0, 0, 0.0392156863), -1px 1px 0 rgba(0, 0, 0, 0.0392156863), 1px -1px 0 rgba(0, 0, 0, 0.0392156863), 0px 1px 0 rgba(0, 0, 0, 0.0392156863), -1px 0 rgba(0, 0, 0, 0.0392156863), -1px 0 0 rgba(0, 0, 0, 0.0392156863), 1px 0 0 rgba(0, 0, 0, 0.0392156863), 1px 1px 4px rgba(0, 0, 0, 0.3);
  }
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link, .navigation .nav-parent > .nav-item > .sub-menu, .navigation .nav-parent > .nav-item > .nav-child {
    display: flex;
    justify-content: space-around;
    position: absolute;
    top: -100vh;
    right: 0;
    z-index: 30;
    min-width: clamp(1080px, 55%, 1385px);
    padding: 90px 24px 32px;
    transition: 0.3s;
  }
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item, .navigation .nav-parent > .nav-item > .nav-child > .nav-item {
    display: inline-block;
    margin: 0 4px;
  }
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item > .nav-link, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item > .nav-link, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item > .nav-link, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item > .nav-link, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item > .nav-link, .navigation .nav-parent > .nav-item > .nav-child > .nav-item > .nav-link {
    display: inline-block;
    border-radius: 1.5rem;
    background: var(--F6F6F6, #F6F6F6);
    padding: 0.7rem 1.25rem 0.7rem 1.25rem;
    color: #0F0D53;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
  }
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item > .nav-link.active, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item > .nav-link.active, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item > .nav-link.active, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item > .nav-link.active, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item > .nav-link.active, .navigation .nav-parent > .nav-item > .nav-child > .nav-item > .nav-link.active {
    min-width: 230px;
  }
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item > .nav-link:hover, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item > .nav-link:hover, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item > .nav-link:hover, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item > .nav-link:hover, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item > .nav-link:hover, .navigation .nav-parent > .nav-item > .nav-child > .nav-item > .nav-link:hover {
    font-weight: 600;
  }
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item .nav-child .nav-link, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item .nav-child .nav-link, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item .nav-child .nav-link, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item .nav-child .nav-link, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item > .sub-menu > .nav-item .nav-child .nav-link, .navigation .nav-parent > .nav-item > .nav-child > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item > .nav-child > .nav-item .nav-child .nav-link {
    display: inline-block;
    margin-right: 10px;
  }
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item .nav-child .nav-link, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item .nav-child .nav-link, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item .nav-child .nav-link, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item .nav-child .nav-link, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item > .sub-menu > .nav-item .nav-child .nav-link, .navigation .nav-parent > .nav-item > .nav-child > .nav-item .sub-menu .nav-link,
  .navigation .nav-parent > .nav-item > .nav-child > .nav-item .nav-child .nav-link {
    display: inline-block;
    border-radius: 1.5rem;
    border: 1px solid var(--F6F6F6, #F6F6F6);
    text-align: center;
    font-size: 0.875rem;
    margin-top: 10px;
    min-width: 102px;
  }
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item .sub-menu .nav-link:hover, .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item .sub-menu .nav-link:active,
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item .nav-child .nav-link:hover,
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item .nav-child .nav-link:active, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item .sub-menu .nav-link:hover, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item .sub-menu .nav-link:active,
  .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item .nav-child .nav-link:hover,
  .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item .nav-child .nav-link:active, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item .sub-menu .nav-link:hover, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item .sub-menu .nav-link:active,
  .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item .nav-child .nav-link:hover,
  .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item .nav-child .nav-link:active, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item .sub-menu .nav-link:hover, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item .sub-menu .nav-link:active,
  .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item .nav-child .nav-link:hover,
  .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item .nav-child .nav-link:active, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item .sub-menu .nav-link:hover, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item .sub-menu .nav-link:active,
  .navigation .nav-parent > .nav-item > .sub-menu > .nav-item .nav-child .nav-link:hover,
  .navigation .nav-parent > .nav-item > .sub-menu > .nav-item .nav-child .nav-link:active, .navigation .nav-parent > .nav-item > .nav-child > .nav-item .sub-menu .nav-link:hover, .navigation .nav-parent > .nav-item > .nav-child > .nav-item .sub-menu .nav-link:active,
  .navigation .nav-parent > .nav-item > .nav-child > .nav-item .nav-child .nav-link:hover,
  .navigation .nav-parent > .nav-item > .nav-child > .nav-item .nav-child .nav-link:active {
    background-color: #fff;
    color: currentColor;
  }
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item.menu-item-has-children > .nav-link, .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item.has-child > .nav-link, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item.menu-item-has-children > .nav-link, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item.has-child > .nav-link, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item.menu-item-has-children > .nav-link, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item.has-child > .nav-link, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item.menu-item-has-children > .nav-link, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item.has-child > .nav-link, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item.menu-item-has-children > .nav-link, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item.has-child > .nav-link, .navigation .nav-parent > .nav-item > .nav-child > .nav-item.menu-item-has-children > .nav-link, .navigation .nav-parent > .nav-item > .nav-child > .nav-item.has-child > .nav-link {
    padding: 0.7rem 2.25rem 0.7rem 1.25rem;
  }
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item.menu-item-has-children > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item.menu-item-has-children > .nav-link.active + .nav-child, .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item.has-child > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item.has-child > .nav-link.active + .nav-child, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item.menu-item-has-children > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item.menu-item-has-children > .nav-link.active + .nav-child, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item.has-child > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item.has-child > .nav-link.active + .nav-child, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item.menu-item-has-children > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item.menu-item-has-children > .nav-link.active + .nav-child, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item.has-child > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item.has-child > .nav-link.active + .nav-child, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item.menu-item-has-children > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item.menu-item-has-children > .nav-link.active + .nav-child, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item.has-child > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item.has-child > .nav-link.active + .nav-child, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item.menu-item-has-children > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item.menu-item-has-children > .nav-link.active + .nav-child, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item.has-child > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item.has-child > .nav-link.active + .nav-child, .navigation .nav-parent > .nav-item > .nav-child > .nav-item.menu-item-has-children > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item > .nav-child > .nav-item.menu-item-has-children > .nav-link.active + .nav-child, .navigation .nav-parent > .nav-item > .nav-child > .nav-item.has-child > .nav-link.active + .sub-menu, .navigation .nav-parent > .nav-item > .nav-child > .nav-item.has-child > .nav-link.active + .nav-child {
    display: block;
  }
  .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item.menu-item-has-children > .nav-link::after, .navigation .nav-parent > .nav-item.current-menu-item > .nav-link > .nav-item.has-child > .nav-link::after, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item.menu-item-has-children > .nav-link::after, .navigation .nav-parent > .nav-item.current-menu-parent > .nav-link > .nav-item.has-child > .nav-link::after, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item.menu-item-has-children > .nav-link::after, .navigation .nav-parent > .nav-item.current-page-parent > .nav-link > .nav-item.has-child > .nav-link::after, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item.menu-item-has-children > .nav-link::after, .navigation .nav-parent > .nav-item.current-menu-ancestor > .nav-link > .nav-item.has-child > .nav-link::after, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item.menu-item-has-children > .nav-link::after, .navigation .nav-parent > .nav-item > .sub-menu > .nav-item.has-child > .nav-link::after, .navigation .nav-parent > .nav-item > .nav-child > .nav-item.menu-item-has-children > .nav-link::after, .navigation .nav-parent > .nav-item > .nav-child > .nav-item.has-child > .nav-link::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 5px;
    position: absolute;
    right: 20px;
    top: calc(50% - 2.5px);
    background: url(../img/icon-down-blue.svg) center/contain no-repeat;
  }
  .navigation .nav-parent > .nav-item > .sub-menu:hover, .navigation .nav-parent > .nav-item > .nav-child:hover {
    top: 0;
  }
  .navigation .nav-parent > .nav-item.bg-saiyo > .sub-menu, .navigation .nav-parent > .nav-item.bg-saiyo > .nav-child {
    background-color: #00A0E9;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
    box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.4);
    border-left: 1px solid rgba(188, 188, 188, 0.4);
  }
  .navigation .nav-parent > .nav-item.bg-company > .sub-menu, .navigation .nav-parent > .nav-item.bg-company > .nav-child {
    background-color: #003FA7;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
    box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.4);
    border-left: 1px solid rgba(188, 188, 188, 0.4);
  }
  .navigation .nav-link {
    position: relative;
    z-index: 80;
    font-weight: 500;
  }
  .navigation .nav-link.nav-link:hover {
    color: #fff;
  }
  .navigation .nav-link:hover ~ .sub-menu, .navigation .nav-link:hover ~ .nav-child {
    top: 0;
  }
  .btn-menu {
    display: none;
  }
  .btn-sp {
    display: none;
  }
  .single-post .navigation .nav-parent > .bg-company.nav-item > .nav-link::after,
  .single-satorian .navigation .nav-parent > .bg-saiyo.nav-item > .nav-link::after {
    content: "";
    display: block;
    width: 26px;
    height: 14px;
    background: url(../img/menu-current.svg) center/auto 100% no-repeat;
    margin-top: 4px;
    position: absolute;
    bottom: -10px;
    left: calc(50% - 13px);
  }
  .nav-pc-breadcrumb {
    border-radius: 20px;
    background: rgba(0, 24, 64, 0.2);
  }
  .nav-pc-breadcrumb__list {
    display: flex;
    padding: 8px 16px;
    align-items: flex-start;
    align-self: stretch;
    line-height: 1;
    color: rgba(255, 255, 255, 0.6);
    font-family: "Noto Sans JP";
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    margin-bottom: 16px;
  }
  .nav-pc-breadcrumb__list a {
    color: rgba(255, 255, 255, 0.6);
    font-family: "Noto Sans JP";
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
  }
  .nav-pc-breadcrumb__item {
    margin: 0 0 0 0;
  }
  .nav-pc-breadcrumb__item:not(:first-child)::before {
    content: "/";
    margin: 0 8px;
  }
  .nav-pc-breadcrumb__item br {
    display: none;
  }
  .nav-pc-pane {
    padding: 30px 2.6%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: center;
    gap: 40px 10px;
    justify-items: stretch;
    border-radius: 20px;
    background: rgba(248, 248, 248, 0.95);
    margin-bottom: 20px;
  }
  .nav-pc-feature {
    display: flex;
    padding: 30px 2.6%;
    align-items: center;
    gap: 80px;
    align-self: stretch;
    border-radius: 20px;
    background: rgba(0, 24, 64, 0.2);
  }
  .nav-pc-feature .bignavi__item-label {
    display: inline-block;
    color: #fff;
    border-bottom: 2px solid #fff;
    padding: 0 24px 10px 10px;
    font-size: 1rem;
    font-weight: 500;
    white-space: nowrap;
    position: relative;
    min-width: 115px;
  }
  .nav-pc-feature .bignavi__item-label::after {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="21" viewBox="0 0 10 21" fill="none"><path d="M1.00024 1.00024L9.00024 20.0002" stroke="%23ffffff" stroke-width="2" stroke-linecap="round" /></svg>');
    width: 6px;
    position: absolute;
    right: 4px;
    bottom: -6px;
  }
  .bignavi__sublist .nav-link.nav-pc-feature__card {
    display: flex;
    padding: 10px 16px;
    align-items: center;
    gap: 10px;
    border-radius: 16px;
    background: rgba(248, 248, 248, 0.95);
  }
  .bignavi__sublist .current-menu-item .nav-link.nav-pc-feature__card,
  .bignavi__sublist .nav-link.nav-pc-feature__card:active,
  .bignavi__sublist .nav-link.nav-pc-feature__card:hover {
    border-radius: 20px;
    background: none;
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
  }
}
/* ----------------------------- bignavi (PC mega menu) ----------------------------- */
@media screen and (max-width: 1099px) {
  .bignavi {
    display: none !important;
  }
}
@media screen and (min-width: 1100px) {
  .navigation .nav-parent {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
  }
  .navigation .nav-parent > .nav-item {
    display: block;
    width: auto;
    text-align: center;
  }
  .navigation .nav-parent > .nav-item > .nav-link {
    background: none;
    border: none;
    border-radius: 16px;
    color: #FFF;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    font-family: var(--noto-sans-font-family);
    font-size: 14px;
    font-weight: 500;
    padding: 2px 12px;
    cursor: pointer;
    white-space: nowrap;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
    position: relative;
  }
  .navigation .nav-parent > .nav-item > .nav-link.is-active, .navigation .nav-parent > .nav-item > .nav-link.is-current, .navigation .nav-parent > .nav-item > .nav-link:hover {
    border: 1px solid #FFF;
    background: #1B196E;
  }
  .navigation .nav-parent > .nav-item > .nav-link.bg-none.is-active, .navigation .nav-parent > .nav-item > .nav-link.bg-none.is-current, .navigation .nav-parent > .nav-item > .nav-link.bg-none:hover {
    border: none;
    background: none;
  }
  .bignavi {
    position: absolute;
    top: 0%;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    overflow: clip;
    z-index: 1;
    padding: 82px 20px 40px;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
    box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.4);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }
  .bignavi.is-open {
    opacity: 1;
    visibility: visible;
  }
  .bignavi--b2 {
    background-color: #003FA7;
  }
  .bignavi--r2 {
    background-color: #00A0E9;
  }
  .bignavi__item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    min-width: 140px;
  }
  .bignavi__item-label {
    display: inline-block;
    color: #0F0D53;
    border-bottom: 2px solid #00467B;
    padding: 0 24px 10px 10px;
    font-size: 1rem;
    font-weight: 500;
    white-space: nowrap;
    position: relative;
    min-width: 115px;
  }
  .bignavi__item-label::after {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="21" viewBox="0 0 10 21" fill="none"><path d="M1.00024 1.00024L9.00024 20.0002" stroke="%2300467B" stroke-width="2" stroke-linecap="round" /></svg>');
    width: 6px;
    position: absolute;
    right: 4px;
    bottom: -6px;
  }
  .bignavi__item-link {
    display: inline-block;
    border-radius: 1.5rem;
    padding: 0.5rem 1.25rem;
    font-size: 1rem;
    font-weight: 500;
    white-space: nowrap;
    text-decoration: none;
  }
  .bignavi__item-link--single {
    background: #F6F6F6;
    color: #0F0D53;
  }
  .bignavi__item-link--single:hover {
    color: #0F0D53;
    font-weight: 700;
  }
  .bignavi__sublist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .bignavi__sublist .nav-link {
    display: inline-block;
    border-radius: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.8);
    background-color: rgba(255, 255, 255, 0.88);
    color: #0F0D53;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    /* 14px */
    white-space: nowrap;
    text-decoration: none;
  }
  .bignavi__sublist .nav-link:hover {
    border: 1px solid #FFF;
    background: #00467B;
    color: #fff;
    filter: none;
  }
  .bignavi__sublist .nav-link br {
    display: none;
  }
  .bignavi__sublist .current-menu-item .nav-link,
  .bignavi__sublist .current-menu-ancestor .nav-link,
  .bignavi__sublist .current-menu-parent .nav-link {
    border-radius: 20px;
    border: 1px solid #FFF;
    background: #00467B;
    color: #fff;
    filter: none;
  }
  .bignavi__sublist .current-menu-item .nav-link:hover,
  .bignavi__sublist .current-menu-ancestor .nav-link:hover,
  .bignavi__sublist .current-menu-parent .nav-link:hover {
    background: #00467B;
    color: #fff;
  }
  .bignavi.bignavi--r2 .bignavi__item-label {
    display: inline-block;
    color: #0F0D53;
    border-bottom: 2px solid #00A0E9;
  }
  .bignavi.bignavi--r2 .bignavi__item-label::after {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="21" viewBox="0 0 10 21" fill="none"><path d="M1.00024 1.00024L9.00024 20.0002" stroke="%2300A0E9" stroke-width="2" stroke-linecap="round" /></svg>');
  }
  .bignavi.bignavi--r2 .bignavi__sublist .nav-link:hover {
    background: #00A0E9;
  }
  .bignavi.bignavi--r2 .bignavi__sublist .current-menu-item .nav-link,
  .bignavi.bignavi--r2 .bignavi__sublist .current-menu-item .nav-link:hover,
  .bignavi.bignavi--r2 .bignavi__sublist .current-menu-parent .nav-link,
  .bignavi.bignavi--r2 .bignavi__sublist .current-menu-parent .nav-link:hover,
  .bignavi.bignavi--r2 .bignavi__sublist .current-menu-ancestor .nav-link,
  .bignavi.bignavi--r2 .bignavi__sublist .current-menu-ancestor .nav-link:hover {
    background: #00A0E9;
  }
  .bignavi.bignavi--r2 .nav-pc-feature .bignavi__item-label {
    display: inline-block;
    color: #fff;
    border-bottom: 2px solid #fff;
  }
  .bignavi.bignavi--r2 .nav-pc-feature .bignavi__item-label::after {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="21" viewBox="0 0 10 21" fill="none"><path d="M1.00024 1.00024L9.00024 20.0002" stroke="%23ffffff" stroke-width="2" stroke-linecap="round" /></svg>');
  }
  .bignavi.bignavi--r2 .nav-pc-feature .bignavi__sublist .current-menu-item .nav-link {
    background: inherit;
  }
  .bignavi.bignavi--r2 .nav-pc-feature .bignavi__sublist .current-menu-item .nav-link:hover {
    background: rgba(0, 24, 64, 0.2);
  }
}
/* ----------------------------- SP accordion nav ----------------------------- */
@media screen and (max-width: 1099px) {
  .nav-sp-section {
    margin: 8px 0;
  }
  .nav-sp-section__btn {
    display: block;
    width: 100%;
    border-radius: 24px;
    background: #0F0D53;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9375rem;
    font-weight: 700;
    padding: 0.75rem 1rem;
    text-align: left;
    border: none;
    cursor: pointer;
    position: relative;
  }
  .nav-sp-section__btn::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 5px;
    position: absolute;
    right: 20px;
    top: calc(50% - 2.5px);
    background: url(../img/icon-down.svg) center/contain no-repeat;
    transition: transform 0.2s;
  }
  .nav-sp-section__btn[aria-expanded=true]::after {
    transform: rotate(180deg);
  }
  .nav-sp-section__content {
    display: none;
    padding: 8px 0 8px 8px;
  }
  .nav-sp-section__content.is-open {
    display: block;
  }
  .nav-sp-section--plain {
    text-align: center;
    padding: 8px 0;
  }
  .nav-sp-section--plain .nav-link {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
  }
  .nav-sp-section--plain .nav-link img {
    max-height: 1.5rem;
  }
  .nav-sp-pane {
    display: none;
    padding: 30px 20px 30px 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    align-self: stretch;
    border-radius: 20px;
    background: rgba(248, 248, 248, 0.95);
    margin-bottom: 16px;
  }
  .nav-sp-pane.is-active,
  .nav-sp-feature.is-active {
    display: flex;
  }
  .nav-sp-feature {
    display: flex;
    padding: 30px 20px 30px 20px;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    border-radius: 20px;
    background: rgba(0, 24, 64, 0.4);
  }
  .nav-sp-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .nav-sp-list__item {
    margin: 8px 0;
  }
  .nav-sp-list__item > .nav-link {
    border-radius: 24px;
    border: 1px solid #fff;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 400;
    padding: 0.5rem 1rem;
    display: block;
    text-align: center;
    text-decoration: none;
  }
  .nav-sp-list__item--group {
    margin-top: 12px;
  }
  .nav-sp-group {
    width: 100%;
  }
  .nav-sp-group__label {
    display: block;
    width: 100%;
    background: none;
    border: none;
    text-align: left;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0 24px 4px 4px;
    letter-spacing: 0.05em;
    cursor: pointer;
    position: relative;
  }
  .nav-sp-group__label::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 4px;
    position: absolute;
    right: 4px;
    top: calc(50% - 4px);
    background: url(../img/icon-down.svg) center/contain no-repeat;
    transition: transform 0.2s;
  }
  .nav-sp-group__label[aria-expanded=true]::after {
    transform: rotate(180deg);
  }
  .nav-sp-group__btn,
  .nav-sp-feature__btn {
    border-radius: 0 20px 20px 0;
    background: rgba(0, 70, 123, 0.2);
    display: flex;
    padding: 10px 30px 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    border: none;
    width: 100%;
    color: #001840;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    position: relative;
  }
  .nav-sp-group__btn[aria-expanded=false]::after,
  .nav-sp-feature__btn[aria-expanded=false]::after {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M13 8H8V13C8 13.2652 7.89464 13.5196 7.70711 13.7071C7.51957 13.8946 7.26522 14 7 14C6.73478 14 6.48043 13.8946 6.29289 13.7071C6.10536 13.5196 6 13.2652 6 13V8H1C0.734784 8 0.48043 7.89464 0.292893 7.70711C0.105357 7.51957 0 7.26522 0 7C0 6.73478 0.105357 6.48043 0.292893 6.29289C0.48043 6.10536 0.734784 6 1 6H6V1C6 0.734784 6.10536 0.480429 6.29289 0.292893C6.48043 0.105357 6.73478 0 7 0C7.26522 0 7.51957 0.105357 7.70711 0.292893C7.89464 0.480429 8 0.734784 8 1V6H13C13.2652 6 13.5196 6.10536 13.7071 6.29289C13.8946 6.48043 14 6.73478 14 7C14 7.26522 13.8946 7.51957 13.7071 7.70711C13.5196 7.89464 13.2652 8 13 8Z" fill="%23001840"/></svg>');
    width: 14px;
    position: absolute;
    right: 12px;
    top: calc(50% - 7px);
  }
  .nav-sp-group__btn[aria-expanded=true]::after,
  .nav-sp-feature__btn[aria-expanded=true]::after {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="2" viewBox="0 0 14 2" fill="none"><path d="M13 2H1C0.734784 2 0.48043 1.89464 0.292893 1.70711C0.105357 1.51957 0 1.26522 0 1C0 0.734784 0.105357 0.48043 0.292893 0.292893C0.48043 0.105357 0.734784 0 1 0H13C13.2652 0 13.5196 0.105357 13.7071 0.292893C13.8946 0.48043 14 0.734784 14 1C14 1.26522 13.8946 1.51957 13.7071 1.70711C13.5196 1.89464 13.2652 2 13 2Z" fill="%23001840"/></svg>');
    width: 14px;
    position: absolute;
    right: 12px;
    top: calc(50% - 12px);
  }
  .nav-sp-feature__btn {
    color: #fff;
    border-radius: 0 20px 20px 0;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%), rgba(0, 70, 123, 0.2);
  }
  .nav-sp-feature__btn[aria-expanded=false]::after {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M13 8H8V13C8 13.2652 7.89464 13.5196 7.70711 13.7071C7.51957 13.8946 7.26522 14 7 14C6.73478 14 6.48043 13.8946 6.29289 13.7071C6.10536 13.5196 6 13.2652 6 13V8H1C0.734784 8 0.48043 7.89464 0.292893 7.70711C0.105357 7.51957 0 7.26522 0 7C0 6.73478 0.105357 6.48043 0.292893 6.29289C0.48043 6.10536 0.734784 6 1 6H6V1C6 0.734784 6.10536 0.480429 6.29289 0.292893C6.48043 0.105357 6.73478 0 7 0C7.26522 0 7.51957 0.105357 7.70711 0.292893C7.89464 0.480429 8 0.734784 8 1V6H13C13.2652 6 13.5196 6.10536 13.7071 6.29289C13.8946 6.48043 14 6.73478 14 7C14 7.26522 13.8946 7.51957 13.7071 7.70711C13.5196 7.89464 13.2652 8 13 8Z" fill="%23ffffff"/></svg>');
  }
  .nav-sp-feature__btn[aria-expanded=true]::after {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="2" viewBox="0 0 14 2" fill="none"><path d="M13 2H1C0.734784 2 0.48043 1.89464 0.292893 1.70711C0.105357 1.51957 0 1.26522 0 1C0 0.734784 0.105357 0.48043 0.292893 0.292893C0.48043 0.105357 0.734784 0 1 0H13C13.2652 0 13.5196 0.105357 13.7071 0.292893C13.8946 0.48043 14 0.734784 14 1C14 1.26522 13.8946 1.51957 13.7071 1.70711C13.5196 1.89464 13.2652 2 13 2Z" fill="%23ffffff"/></svg>');
  }
  .nav-sp-sublist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.2s ease, opacity 0.2s ease;
  }
  .nav-sp-sublist.is-open {
    max-height: 600px;
    opacity: 1;
    visibility: visible;
    padding: 20px 0 4px 4px;
  }
  .nav-sp-sublist li .nav-link {
    display: flex;
    padding: 8px 16px;
    align-items: center;
    gap: 20px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    color: #0F0D53;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
  }
  .nav-sp-sublist li .nav-link br {
    display: none;
  }
  .nav-sp-sublist li.current-menu-item .nav-link,
  .nav-sp-sublist li.current-menu-ancestor .nav-link,
  .nav-sp-sublist li .nav-link:active,
  .nav-sp-sublist li .nav-link:hover,
  .nav-sp-sublist li .nav-link:focus {
    display: inline-block;
    display: flex;
    padding: 8px 16px;
    align-items: center;
    gap: 10px;
    background: #00467B;
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    filter: none;
  }
  .nav-sp-sublist li .nav-link.nav-sp-feature__card {
    display: flex;
    padding: 10px 16px;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    border-radius: 16px;
    background: rgba(248, 248, 248, 0.95);
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
    display: flex;
  }
  .nav-sp-sublist li .nav-link.nav-sp-feature__card:hover, .nav-sp-sublist li .nav-link.nav-sp-feature__card:active, .nav-sp-sublist li .nav-link.nav-sp-feature__card:focus {
    background: inherit;
    color: #FFF;
    border-color: #fff;
    border: 1px solid #fff;
  }
  .nav-sp-sublist li.current-menu-item .nav-link.nav-sp-feature__card,
  .nav-sp-sublist li .nav-link.nav-sp-feature__card:active,
  .nav-sp-sublist li .nav-link.nav-sp-feature__card:hover,
  .nav-sp-sublist li .nav-link.nav-sp-feature__card:focus {
    background: inherit;
    color: #FFF;
    border-color: #fff;
    border: 1px solid #fff;
  }
  .nav-sp-kandenko {
    margin-top: 16px;
    padding: 0 16px;
    display: flex;
    justify-content: center;
  }
  .nav-sp-kandenko .nav-link {
    display: inline-block;
  }
}
/* ----------------------------- Footer ----------------------------- */
.footer {
  color: #001840;
  filter: drop-shadow(0px 2px 2px rgba(255, 255, 255, 0.2));
  background: url(../img/bg-footer-new.svg) center calc(100% - 140px) no-repeat;
  background-size: 2050px auto;
  min-height: 127vw;
  position: relative;
  z-index: 1;
}

.footer-nav-wrap {
  display: none;
}

.address {
  color: #001840;
  filter: drop-shadow(0px 2px 2px rgba(255, 255, 255, 0.2));
  padding: 0;
  text-align: left;
  font-size: 0.8125rem;
  line-height: 1.5625rem;
}
.address .address-logo {
  width: 80px;
}

.corp-name {
  font-size: 1.125rem;
  display: block;
  line-height: normal;
}

.footer-bottom {
  position: absolute;
  bottom: 4px;
  z-index: 1;
  width: 100%;
  display: block;
  text-align: left;
  padding: 18px 16px;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  background-color: #fff;
}
.footer-bottom a {
  color: #001840;
  filter: drop-shadow(0px 2px 2px rgba(255, 255, 255, 0.2));
  text-decoration: none;
  font-size: 0.75rem;
}

.footer-menu {
  margin-bottom: 5.87rem;
}

.copyright {
  font-size: 0.875rem;
}

.hikousen {
  position: absolute;
  top: 25%;
  left: 50%;
  width: 100px;
  aspect-ratio: 100/37;
  background: url(../img/hikousen.webp) 0% 0%/contain no-repeat;
}

.back-to-top {
  position: absolute;
  bottom: 120px;
  right: 40px;
  z-index: 5;
  width: 200px;
  height: 380px;
  overflow: hidden;
  cursor: pointer;
}
.back-to-top .text-to-top {
  display: inline-block;
  position: absolute;
  top: 36%;
  right: 7%;
  z-index: 8;
}
.back-to-top span {
  display: inline-block;
  padding: 10px 10px;
  background: url(../img/bg-btn-to-top.svg) 0% 0%/100% 100% no-repeat;
  aspect-ratio: 62/38;
  color: #0F0D53;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
.back-to-top .tower {
  width: 100%;
  aspect-ratio: 776/1448;
  background-image: url("../img/to-top-tower.webp");
  background-repeat: no-repeat;
  background-position: 80% 50%;
  background-size: auto 98%;
  position: relative;
}
.back-to-top .worker-pointing {
  aspect-ratio: 362/724;
  background-image: url("../img/to-top-sprite_mamoru.webp");
  background-repeat: no-repeat;
  background-size: 600% auto;
  background-position: 0% 0;
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
}
.back-to-top .tower:hover .worker-pointing {
  animation: sprite 0.6s steps(1);
  animation-fill-mode: forwards;
}
.back-to-top .worker-pointing.active {
  display: block;
}
.back-to-top .worker-pointing.mamoru {
  background-image: url("../img/to-top-sprite_mamoru.webp");
  width: 100px;
}
.back-to-top .worker-pointing.noboru {
  background-image: url("../img/to-top-sprite_noboru.webp");
  width: 110px;
}
.back-to-top .worker-pointing.noboru2 {
  background-image: url("../img/to-top-sprite_noboru2.webp");
  width: 100px;
}

@media screen and (max-width: 1099px) {
  .worker-pointing.is-animated {
    animation: sprite 0.8s steps(1);
    animation-fill-mode: forwards;
  }
}
@keyframes sprite {
  0% {
    background-position: 0% 0;
  }
  16.666% {
    background-position: 20% 0;
  }
  33.333% {
    background-position: 40% 0;
  }
  50% {
    background-position: 60% 0;
  }
  66.666% {
    background-position: 80% 0;
  }
  83.333%, 100% {
    background-position: 100% 0;
  }
}
@media screen and (min-width: 700px) {
  .address {
    color: #001840;
    filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.2));
    display: inline-flex;
    gap: 15px;
  }
  .address p {
    margin-bottom: 0;
  }
  .address .address-logo {
    width: 100px;
  }
  .footer {
    color: #001840;
    filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.2));
    background: url(../img/bg-footer-new.svg) center bottom no-repeat;
    background-size: 180% auto;
    min-height: 63vw;
    margin-top: -60px;
  }
  .footer-bottom {
    padding-bottom: 0;
    background-color: transparent;
  }
  .footer-menu {
    margin-bottom: 0;
  }
  .footer-menu-wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 18px 10px;
  }
  .footer-menu-wrap a {
    color: #001840;
    filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.2));
  }
  .wpcf7 .wpcf7-form-control-wrap .input-short {
    display: inline-block;
    width: 70px;
    margin-right: 4px;
  }
  .wpcf7 .wpcf7-form-control-wrap .input-half {
    display: inline-block;
    width: 280px;
    margin-right: 4px;
  }
}
@media screen and (min-width: 1100px) {
  .footer {
    color: #001840;
    filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.2));
    background: url(../img/bg-footer-new.svg) 100% bottom no-repeat #F8F9F9;
    background-size: 125% auto;
    min-height: 900px;
    padding: 80px 20px 100px;
    margin-top: 20px;
  }
  .footer-nav-wrap {
    display: grid;
    gap: 30px;
    grid-template-columns: 5.2fr 4.4fr 2fr;
    max-width: 1300px;
    margin: 0 auto;
  }
  .footer-nav-area-title {
    border-radius: 20px;
    background: rgba(0, 63, 167, 0.7);
    display: flex;
    padding: 8px 16px;
    align-items: flex-start;
    gap: 10px;
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    /* 13px */
  }
  .footer-nav-item {
    padding: 0 0 20px 20px;
  }
  .footer-nav-item-label {
    color: rgba(15, 13, 83, 0.8);
    font-family: "Noto Sans JP";
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    /* 15px */
    border-bottom: 2px solid rgba(15, 33, 139, 0.7);
    padding: 10px 10px 10px 2px;
  }
  .footer-nav-area-title__recruit {
    background: rgba(0, 160, 233, 0.7);
  }
  .footer-nav-item__sublist {
    list-style-position: outside;
    list-style-type: disc;
    margin-left: 30px;
  }
  .footer-nav-item__sublist .nav-item {
    margin-bottom: 6px;
  }
  .footer-nav-item__sublist .nav-item ::marker {
    color: rgba(15, 13, 83, 0.8);
  }
  .footer-nav-area__company .footer-nav-item-wrap {
    display: grid;
    gap: 8px;
    grid-template-columns: 1.1fr 1.5fr;
  }
  .footer-nav-area__recruit .footer-nav-item-wrap {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr 1.2fr;
  }
  .footer-nav-area__feature .footer-nav-item__sublist {
    list-style: none;
    margin-left: 10px;
  }
  .footer-nav-area__feature .nav-pc-feature__card.nav-link {
    display: flex;
    align-items: center;
  }
  .footer-nav-area__feature .nav-pc-feature__card.nav-link .nav-pc-feature__img {
    flex-basis: 38%;
  }
  .footer-nav-area__feature .nav-pc-feature__card.nav-link .nav-pc-feature__title {
    padding: 6px;
    flex-basis: 62%;
  }
  .footer-nav-wrap .nav-link {
    color: #0F0D53;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    padding: 0;
    /* 14px */
  }
  .btn-important-whiteline-wrap {
    text-align: left;
    position: static;
    margin-top: 60px;
  }
  .nav-major .nav {
    width: min(880px, 100%);
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
  }
  .nav-major .nav-item {
    width: 23%;
  }
  .back-to-top {
    bottom: 60px;
    right: 2%;
  }
}
/* ----------------------------- animation ----------------------------- */
@keyframes rotate-center {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.rotate-center {
  animation: rotate-center 8s linear infinite both;
}

@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(12px);
  }
  50% {
    transform: translateY(-12px);
  }
}
@keyframes fuwafuwa-x {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-12px);
  }
}
.anime-fuwafuwa {
  animation: 3s fuwafuwa infinite;
}

/* ----------------------------- search ----------------------------- */
.search .page-main h1 {
  margin-bottom: 80px;
  text-align: center;
}

.search .page-main p {
  padding: 18px 16px 12px 16px;
}

.search .page-main .search-result {
  border-bottom: 1px dashed #ccc;
  margin-bottom: 30px;
}

.page-nav a,
.page-nav span {
  margin-right: 10px;
}

span.marker {
  display: inline;
  line-height: 1;
  border-bottom: 4px solid hsla(21, 95%, 44%, 0.2);
}/*# sourceMappingURL=common.css.map */