@charset "UTF-8";
#opa {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  animation: fadeOut 2s ease-out forwards;
  animation-delay: 2s;
}

.opa-logo {
  opacity: 0;
  transform: scale(0.9);
  animation: fadeInZoom 1.5s ease-out forwards;
  width: 15.3846153846%;
}
.opa-logo .txt {
  font-size: 1.7em;
  margin-top: 1em;
  text-align: right;
}

@keyframes fadeInZoom {
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes fadeOut {
  to {
    opacity: 0;
    visibility: hidden;
  }
}
a[target=_blank] .external-icon {
  position: relative;
}
a[target=_blank] .external-icon::after {
  content: "";
  height: 1em;
  width: 1em;
  background-image: url(../img/common/i-open-new_gr.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: -1.3em;
  transition: all 0.3s ease-in-out;
}
a[target=_blank]:hover .external-icon::after {
  background-image: url(../img/common/i-open-new.svg);
}

.txt {
  margin-bottom: 1.3em;
}
.txt:last-child {
  margin-bottom: 0;
}

.tx-lead {
  margin-bottom: 1.3em;
}
.tx-lead:last-child {
  margin-bottom: 0;
}

.tx-indent {
  text-indent: -1.3em;
  padding-left: 1.3em;
}

.btn-round {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  display: inline-flex;
  justify-content: inherit;
  height: 3.7em;
  border-radius: 0.1em;
  padding-left: 2.2em;
  padding-right: 4.8em;
  border: 1px solid #d92027;
  background-color: #fff;
  color: #d92027;
  position: relative;
}
.btn-round::before, .btn-round::after {
  content: "";
  width: 1.3em;
  height: 1px;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 1.3em;
  transition: 0.3s ease-in-out;
}
.btn-round::before {
  background-color: #d92027;
}
.btn-round::after {
  background-color: #fff;
  right: 3.7em;
  opacity: 0;
}
.btn-round:visited {
  color: #d92027;
}
.btn-round:hover {
  background-color: #d92027;
  color: #fff;
}
.btn-round:hover::before {
  right: -1, 3em;
  opacity: 0;
}
.btn-round:hover::after {
  right: 1.3em;
  opacity: 1;
}

.btn-rev {
  background-color: #d92027;
  color: #fff;
}
.btn-rev:visited {
  color: #fff;
}
.btn-rev:hover {
  color: #fff;
  background-color: #212121;
  border-color: #212121;
}
.btn-rev::before {
  background-image: url(../img/common/i-arw-wh.svg);
}
.btn-rev::after {
  content: "";
  background-image: url(../img/common/i-arw-red.svg);
}

.btn-line {
  position: relative;
  color: #d92027;
  padding-right: 2em;
}
.btn-line::before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: #d92027;
  position: absolute;
  bottom: -0.2em;
  left: 0;
}
.btn-line:hover {
  color: #d92027;
}
.btn-line:visited {
  color: #d92027;
}
.btn-line:hover {
  color: #212121;
  border-color: #111;
}
.btn-line::before {
  content: "";
  width: 2em;
  height: 2em;
  background-image: url(../img/common/i-arw-red.svg);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0em;
  right: 0;
  z-index: 0;
  transition: all 0.5s;
}
.btn-line::after {
  content: "";
  width: 2em;
  height: 2em;
  background-image: url(../img/common/i-arw-bk.svg);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0em;
  right: 2em;
  z-index: 0;
  transition: all 0.5s;
  opacity: 0;
}
.btn-line:hover::before {
  right: -1em;
  opacity: 0;
}
.btn-line:hover::after {
  right: 0;
  opacity: 1;
}

.btn-uline {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  height: 3.7em;
  min-width: 9em;
  color: #212121;
  border-bottom: 1px solid #707070;
  position: relative;
}
.btn-uline::before {
  content: "";
  width: 0;
  height: 2px;
  background-color: #d92027;
  position: absolute;
  left: 0;
  bottom: -1px;
}
.btn-uline:visited {
  color: #212121;
}
.btn-uline:hover {
  color: #d92027;
}
.btn-uline:hover::before {
  width: 100%;
}

.anc-cir {
  position: relative;
  display: flex;
  height: 2em;
  align-items: center;
  line-height: 1;
  width: 100%;
  padding-left: 1px;
  padding-right: 1.7em;
}
.anc-cir::before {
  content: "";
  width: 20px;
  height: 20px;
  border: 1px solid #d92027;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  transition: all 0.2s ease-in-out;
}
.anc-cir::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 1px solid;
  border-color: #d92027 #d92027 transparent transparent;
  transform: rotate(45deg);
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 8px;
  transition: all 0.2s ease-in-out;
}
.anc-cir:hover {
  color: #d92027;
}
.anc-cir:hover::before {
  border-width: 5px;
}
.anc-cir:hover::after {
  opacity: 0;
  width: 1px;
  height: 1px;
  background-color: #fff;
}

.anc-line {
  position: relative;
}
.anc-line::before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: #2B3F73;
  position: absolute;
  bottom: -0.25em;
  left: 0;
}
.anc-line:visited {
  color: #212121;
}
.anc-line:hover {
  color: #d92027;
}
.anc-line:hover::before {
  background-color: #d92027;
}
.anc-line[target=_blank] {
  padding-right: 1.7em;
}

.btn-arw {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  display: inline-flex;
  height: 5.7rem;
  width: 5.7em;
  background-color: #132939;
  color: #fff;
  border-radius: 3em;
  font-weight: 500;
  position: relative;
  padding: 0 2.2em;
}
@media (max-width: 1380px) {
  .btn-arw {
    min-width: 13em;
  }
}
@media (max-width: 520px) {
  .btn-arw {
    height: 3.7rem;
  }
}
.btn-arw::before {
  content: "";
  height: 1.7em;
  width: 1.7em;
  border: 2px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(45deg);
  transition: all 0.3s ease-in;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
.btn-arw::after {
  content: "";
  height: 1.7em;
  width: 1.7em;
  border: 2px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(45deg);
  transition: all 0.3s ease-in;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  right: 2em;
  opacity: 0;
}
.btn-arw:visited {
  color: #fff;
}
.btn-arw:hover {
  border-color: #F2F3F6;
  background-color: #fff;
  color: #fff;
}
.btn-arw:hover::before {
  right: -1em;
  opacity: 0;
}
.btn-arw:hover::after {
  border-color: #fff #fff transparent transparent;
  opacity: 1;
}

._arw {
  display: inline-flex;
  position: relative;
  padding-right: 2.9em;
}
._arw::before {
  content: "";
  height: 1.7em;
  width: 1.7em;
  border: 2px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(45deg);
  transition: all 0.3s ease-in;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  height: 0.5rem;
  width: 0.5rem;
  right: calc(1em + 1px);
}
._arw::after {
  content: "";
  height: 1.7em;
  width: 1.7em;
  border: 2px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(45deg);
  transition: all 0.3s ease-in;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  right: 2em;
  opacity: 0;
}
._arw:hover::before {
  right: -1em;
  opacity: 0;
}
._arw:hover::after {
  border-color: #eee #eee transparent transparent;
  right: calc(1em + 1px);
  opacity: 1;
}

.wrap-menu {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 840px) {
  .wrap-menu {
    display: none;
  }
}
.wrap-menu-blk {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 840px) {
  .wrap-menu-blk {
    display: block;
    height: 100%;
    overflow-y: scroll;
  }
}
.wrap-menu .btn-contact {
  padding: 0.9em 1em;
}
@media (max-width: 840px) {
  .wrap-menu .btn-contact {
    display: none;
  }
}
.wrap-menu .btn-contact a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  height: 100%;
  background-color: #132939;
  color: #fff;
  padding: 0 1.3em;
  border-radius: 0.5em;
}
.wrap-menu .btn-contact a:hover {
  background-color: #d92027;
}
.wrap-menu a {
  font-size: 0.9em;
}

._grd {
  position: relative;
  background: transparent;
  overflow: hidden;
  cursor: pointer;
  z-index: 0;
}
._grd::before, ._grd::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
._grd::before {
  background: linear-gradient(to right, #d92027 48%, #FFD84D);
  transition: all 0.6s;
  z-index: -1;
}
._grd::after {
  background: linear-gradient(to right, #FFD84D, #d92027 48%);
  z-index: -2;
}
._grd:hover::before {
  opacity: 0;
}

.b-lp-btn ._lpsize {
  margin: 0 auto;
  aspect-ratio: 4.618/1;
  height: 6.3em;
  border-radius: 0.3em;
  color: #fff;
  padding: 0 1.7em;
}
@media (max-width: 520px) {
  .b-lp-btn ._lpsize {
    aspect-ratio: auto;
    width: 100%;
  }
}

.i-icon {
  position: relative;
}
.i-icon::after {
  content: "";
  height: 1em;
  width: 1em;
  position: absolute;
  margin: auto;
  left: -1.7em;
  top: 0;
  bottom: 0;
}
.i-icon._mail::after {
  background-image: url(../img/common/icon-mail.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.sec-mv {
  padding: 0;
  position: relative;
  height: auto;
  padding-top: 94px;
}
.sec-mv .l-mv-inner {
  position: relative;
  width: 100%;
  max-width: 1600px;
  height: 100%;
  margin: 0 auto;
}
.sec-mv .l-mv-inner .l-mv-heading {
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  margin: auto;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 10;
  left: 2.2em;
}
@media (max-width: 690px) {
  .sec-mv .l-mv-inner .l-mv-heading {
    left: 4%;
  }
}
@media (max-width: 520px) {
  .sec-mv .l-mv-inner .l-mv-heading {
    left: 8%;
  }
}
.sec-mv .l-mv-inner .l-mv-heading .ttl-mv-catch {
  font-size: 4em;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
}
@media (max-width: 840px) {
  .sec-mv .l-mv-inner .l-mv-heading .ttl-mv-catch {
    font-size: 6.2vw;
  }
}
.sec-mv .l-mv-inner .l-mv-heading .ttl-mv-catch._view--upward {
  opacity: 0;
  transition: cubic-bezier(0.215, 0.61, 0.355, 1) 1.6s;
  transform: translate(0, 3em);
  transition-delay: 0.2s;
}
@media (max-width: 1560px) {
  .sec-mv .l-mv-inner .l-mv-heading .ttl-mv-catch._view--upward {
    width: 520px;
    transform: translateX(-20px);
  }
}
@media (max-width: 690px) {
  .sec-mv .l-mv-inner .l-mv-heading .ttl-mv-catch._view--upward {
    width: 80vw;
  }
}
.sec-mv .l-mv-inner .l-mv-heading .ttl-mv-catch._view--forward {
  transition: cubic-bezier(0.215, 0.61, 0.355, 1) 1.6s;
}
.sec-mv .l-mv-inner .l-mv-heading .ttl-mv-catch._view--forward span {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  clip-path: inset(-1px 100% -1px 0);
  background-color: #fff;
}
.sec-mv .l-mv-inner .l-mv-heading .ttl-mv-catch._view--forward span::before {
  content: "";
  width: 0;
  height: 3px;
  position: absolute;
  margin: auto;
  bottom: 0;
  left: 0;
  background-color: #d92027;
  transition: cubic-bezier(0.33, 1, 0.68, 1) 0.4s;
}
.sec-mv .l-mv-inner .l-mv-heading .ttl-mv-catch._view--forward span::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #d92027;
  clip-path: inset(-1px 0);
}
.sec-mv .l-mv-inner .l-mv-heading .tx-mv-lead {
  font-size: 1.3em;
  display: inline;
}
.sec-mv.visible::after {
  width: 58%;
  opacity: 1;
}
.sec-mv.visible .l-mv-inner .l-mv-heading .ttl-mv-catch._view--upward {
  opacity: 1;
  transform: translate(0, 0);
}
.sec-mv.visible .l-mv-inner .l-mv-heading .ttl-mv-catch._view--forward {
  transition: cubic-bezier(0.215, 0.61, 0.355, 1) 1.6s;
}
.sec-mv.visible .l-mv-inner .l-mv-heading .ttl-mv-catch._view--forward span {
  transition: clip-path 0.4s cubic-bezier(0.33, 1, 0.68, 1);
  clip-path: inset(-1px 0);
}
.sec-mv.visible .l-mv-inner .l-mv-heading .ttl-mv-catch._view--forward span::before {
  width: 100%;
  transition-delay: 1.2s;
}
.sec-mv.visible .l-mv-inner .l-mv-heading .ttl-mv-catch._view--forward span::after {
  transition: clip-path 0.5s 0.3s cubic-bezier(0.32, 0, 0.67, 0);
  transition-delay: 0.3s, 0.3s;
  clip-path: inset(0 0 0 100%);
}

img.img-move,
img.img-scale {
  display: inline-block;
  max-width: 120%;
}

.swiper-slide-prev .img-move,
.swiper-slide-active .img-move,
.swiper-slide-duplicate-active .img-move {
  animation-name: scrollAnimeImg;
  animation-duration: 120s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-play-state: running;
}

@keyframes scrollAnimeImg {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.swiper-slide .img-scale {
  transform: scale(1.1);
  transition: transform 8s ease;
}

.swiper-slide-prev .img-scale,
.swiper-slide-active .img-scale,
.swiper-slide-duplicate-active .img-scale {
  transform: scale(1);
}

.scroll-unit {
  position: absolute;
  top: -9em;
  left: 1em;
  z-index: 10;
}
@media (max-width: 1560px) {
  .scroll-unit {
    top: auto;
    bottom: 0;
    left: 0;
  }
}

.scrollbar-text {
  display: inline-block;
  padding: 10px 10px 110px;
  color: #fff;
  font-size: 0.8em;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  writing-mode: vertical-lr;
}

.scrollbar {
  position: absolute;
  left: 1em;
  bottom: 1px;
}

.scrollbar::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 1px;
  height: 100px;
  background: #fff;
  animation: liner 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes liner {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  30% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.gradient__title {
  animation: AnimationTitle 8s ease infinite;
  background: linear-gradient(160deg, #3A3D59 0%, #d92027 50%, #d92027 70%, #FFD84D 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.gradient__bg {
  animation: AnimationTitle 8s ease infinite;
  background: linear-gradient(160deg, #3A3D59 0%, #d92027 30%, #d92027 70%, #FFD84D 100%);
  background-size: 200% 100%;
  color: #fff;
}

@keyframes AnimationTitle {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.bg-round {
  position: relative;
}
.bg-round::before {
  content: "";
  width: 92.3076923077%;
  height: 100%;
  background: radial-gradient(circle at 20% 15%, rgba(43, 63, 115, 0.1), transparent 50%), radial-gradient(circle at 85% 25%, rgba(255, 255, 255, 0.55), transparent 55%), radial-gradient(circle at 75% 80%, rgba(43, 63, 115, 0.16), transparent 60%), radial-gradient(circle at 85% 25%, rgba(255, 255, 255, 0.55), transparent 65%), radial-gradient(circle at 20% 15%, rgba(255, 255, 255, 0.9), transparent 70%);
  background-size: 160% 160%;
  animation: gradientMove 18s ease infinite;
  border-radius: 0.3em;
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}
@media (max-width: 1380px) {
  .bg-round::before {
    width: 98%;
  }
}
@media (max-width: 690px) {
  .bg-round::before {
    width: 100%;
    border-radius: 0;
  }
}

@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.ttl-en {
  position: relative;
  color: #808080;
  display: inline-block;
  line-height: 1;
  margin-bottom: 2.9em;
}
@media (max-width: 840px) {
  .ttl-en {
    margin-bottom: 2.9vw;
  }
}
@media (max-width: 690px) {
  .ttl-en {
    margin-bottom: 3.7vw;
  }
}

.sec-ttl {
  font-size: 2.2em;
  font-weight: 700;
  margin-bottom: 2.2em;
}
@media (max-width: 960px) {
  .sec-ttl {
    font-size: 3.7vw;
    margin-bottom: 3.7vw;
  }
}
@media (max-width: 690px) {
  .sec-ttl {
    font-size: 4.8vw;
    margin-bottom: 0.5em;
  }
}
@media (max-width: 520px) {
  .sec-ttl {
    font-size: 4.8vw;
    margin-bottom: 4.8vw;
  }
}

.blk-ttl {
  font-size: 1.7em;
  font-weight: 700;
  margin-bottom: 1.7em;
  margin-bottom: 1.7em;
}
@media (max-width: 690px) {
  .blk-ttl {
    font-size: 3.7vw;
  }
}
@media (max-width: 520px) {
  .blk-ttl {
    font-size: 4.2vw;
  }
}

.card-ttl {
  font-size: 1.7em;
  font-weight: 700;
  margin-bottom: 1.7em;
}
@media (max-width: 690px) {
  .card-ttl {
    font-size: 3.7vw;
  }
}
@media (max-width: 520px) {
  .card-ttl {
    font-size: 4.2vw;
  }
}

.sub-ttl {
  color: #be1a20;
  font-size: 1.3em;
  font-weight: 700;
  margin-bottom: 1.3em;
}
@media (max-width: 690px) {
  .sub-ttl {
    font-size: 3.7vw;
  }
}
@media (max-width: 520px) {
  .sub-ttl {
    font-size: 4.2vw;
  }
}

.ttl {
  font-size: clamp(12px, 1.36vw, 16px);
  font-weight: 500;
  margin-bottom: 1.3em;
}

.tx-ttl {
  font-size: 1.3em;
  font-weight: 700;
  margin-bottom: 1.7em;
}

.l-ttl-line {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin-bottom: 2.2em;
}
.l-ttl-line .sec-ttl,
.l-ttl-line .ttl {
  margin-bottom: 0;
  margin-left: 0.75em;
}
.l-ttl-line p {
  margin-bottom: 0;
  margin-right: 1.3em;
}

.l-ttl + .tx-lead {
  margin-bottom: 3.7em;
}
.l-ttl._inline {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin-bottom: 2.2em;
}
@media (max-width: 1180px) {
  .l-ttl._inline {
    display: block;
  }
}
.l-ttl._inline .sec-ttl,
.l-ttl._inline .ttl {
  margin-bottom: 0;
  margin-right: 0.75em;
}
@media (max-width: 1180px) {
  .l-ttl._inline .sec-ttl,
  .l-ttl._inline .ttl {
    margin-bottom: 3.7vw;
  }
}
@media (max-width: 520px) {
  .l-ttl._inline .sec-ttl,
  .l-ttl._inline .ttl {
    margin-bottom: 4.8vw;
    margin-right: 0;
  }
}
.l-ttl._inline p {
  margin-bottom: 0;
}
.l-ttl._inline._flat {
  align-items: center;
  line-height: 1.4;
}

.l-blk-ttl {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin-bottom: 2.9em;
}
@media (max-width: 840px) {
  .l-blk-ttl {
    margin-bottom: 1.7em;
  }
}
.l-blk-ttl .blk-ttl {
  padding-left: 0.8em;
  margin-bottom: 0;
  margin-right: 1em;
}
.l-blk-ttl .blk-ttl::before {
  height: 120%;
  width: 2px;
  top: -12%;
  bottom: 0;
}
.l-blk-ttl .subttl-en {
  color: rgba(217, 32, 39, 0.8);
}

.entry-header {
  padding-top: 8em;
  padding-bottom: 5em;
  position: relative;
}
@media (max-width: 840px) {
  .entry-header {
    padding-bottom: 5em;
  }
}
@media (max-width: 690px) {
  .entry-header {
    padding-bottom: 2em;
  }
}
@media (max-width: 520px) {
  .entry-header {
    padding-bottom: 0;
  }
}
.entry-header .entry-title,
.entry-header .page-title {
  position: relative;
  font-size: 3.7em;
  font-weight: 700;
  margin-bottom: 1.3rem;
}
@media (max-width: 840px) {
  .entry-header .entry-title,
  .entry-header .page-title {
    font-size: 4.8vw;
  }
}
@media (max-width: 520px) {
  .entry-header .entry-title,
  .entry-header .page-title {
    font-size: 6.3vw;
  }
}
.entry-header .l-ttl {
  position: relative;
  margin-bottom: 3.7em;
}
.entry-header .l-ttl .ttl-en {
  padding-left: 2px;
}
.entry-header .l-ttl .ttl-en::before {
  content: none;
}
.entry-header .l-ttl._inline {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
}
@media (max-width: 690px) {
  .entry-header .l-ttl._inline {
    flex-direction: column;
  }
}
.entry-header .l-ttl._inline .entry-title,
.entry-header .l-ttl._inline .page-title {
  margin-bottom: 0;
  margin-right: 1.3rem;
}
@media (max-width: 690px) {
  .entry-header .l-ttl._inline .entry-title,
  .entry-header .l-ttl._inline .page-title {
    margin-bottom: 2.9vw;
    margin-right: 0;
  }
}
.entry-header .l-ttl._inline .ttl-en {
  padding-left: 0;
  margin-bottom: 0;
}
@media (max-width: 690px) {
  .entry-header .l-ttl._inline .ttl-en {
    padding-left: 3px;
  }
}
.entry-header .l-ttl._inline .txt {
  margin-bottom: 0;
}
.entry-header + .tx-lead {
  margin-bottom: 0;
}

.wrap-tb {
  margin: 0 auto 3em;
}
@media (max-width: 1180px) {
  .wrap-tb {
    width: 100%;
  }
}

.tb {
  width: 100%;
}

.tb-line th, .tb-line td {
  vertical-align: middle;
  border-bottom: 1px solid #c0c0c0;
}

.l-top--feature {
  background-color: #fdeaea;
}
.l-top--feature .l-row {
  margin: 0 -3em;
}
@media (max-width: 960px) {
  .l-top--feature .l-row {
    margin: 0 -1em;
  }
}
.l-top--feature .l-row .l-col {
  padding: 0 3em;
}
@media (max-width: 960px) {
  .l-top--feature .l-row .l-col {
    padding: 0 1em;
  }
}
.l-top--feature .l-row .l-col-inner {
  position: relative;
  height: 100%;
}
.l-top--feature .l-row .l-col-inner::before {
  content: "";
  width: 61.5384615385%;
  height: calc(100% + 1.3em);
  background-color: #fff;
  border-radius: 0.3em;
  position: absolute;
  margin: auto;
  top: 1.3em;
  right: 0;
  z-index: 0;
}
.l-top--feature .l-ttl {
  position: relative;
  text-align: left;
  z-index: 1;
}
.l-top--feature .l-image {
  position: relative;
  z-index: 0;
}
.l-top--feature .l-image figure {
  position: relative;
  margin-right: 6em;
}
.l-top--feature .btn {
  width: 41.4%;
  position: absolute;
  margin: auto;
  right: 3em;
  bottom: -8%;
}
.l-top--feature .txt {
  position: relative;
  z-index: 1;
  padding: 0 0.25em;
  margin-top: 3.7em;
}

.l-top--about {
  padding-bottom: 4em;
}

.l-top--about,
.l-methods {
  position: relative;
  background-color: #F2F3F6;
  background-color: #fdeaea;
}
.l-top--about::before,
.l-methods::before {
  content: "";
  height: 160vh;
  width: 240%;
  background: linear-gradient(to right, #d92027 0%, #b0171b 25%, #ff4d4d 50%, #b0171b 75%, #d92027 100%);
  border-radius: 50%;
  position: absolute;
  margin: auto -70%;
  left: 0;
  right: 0;
  top: 16vw;
}
.l-top--about [class^=blk-],
.l-methods [class^=blk-] {
  position: relative;
}
.l-top--about [class^=blk-] .l-col-inner,
.l-methods [class^=blk-] .l-col-inner {
  position: relative;
  background-color: #fff;
  padding: 2.9em;
  border-radius: 0.2em;
  height: 100%;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 840px) {
  .l-top--about [class^=blk-] .l-col-inner,
  .l-methods [class^=blk-] .l-col-inner {
    padding: 2.2em;
  }
}
@media (max-width: 690px) {
  .l-top--about [class^=blk-] .l-col-inner,
  .l-methods [class^=blk-] .l-col-inner {
    padding: 1.7em;
  }
}
.l-top--about [class^=blk-] .l-col-inner::before,
.l-methods [class^=blk-] .l-col-inner::before {
  content: "";
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  width: calc(100% + 2.6em);
  height: auto;
  aspect-ratio: 7/5;
  position: relative;
  margin: 0 -1.3em;
  top: -3.7em;
}
@media (max-width: 690px) {
  .l-top--about [class^=blk-] .l-col-inner::before,
  .l-methods [class^=blk-] .l-col-inner::before {
    width: 58%;
    margin: 0 auto;
    top: -1em;
  }
}
.l-top--about [class^=blk-] .l-col-inner .l-ttl .ttl,
.l-methods [class^=blk-] .l-col-inner .l-ttl .ttl {
  margin-bottom: 1rem;
}
.l-top--about [class^=blk-] .l-col-inner .l-ttl .ttl::before,
.l-methods [class^=blk-] .l-col-inner .l-ttl .ttl::before {
  content: none;
}
.l-top--about [class^=blk-] .wrap-anc,
.l-methods [class^=blk-] .wrap-anc {
  background-color: #fff;
}
.l-top--about [class^=blk-] .wrap-anc:hover .l-col-inner,
.l-methods [class^=blk-] .wrap-anc:hover .l-col-inner {
  background-color: #f2f3f6;
}
.l-top--about .blk-data .l-col-inner::before,
.l-methods .blk-data .l-col-inner::before {
  background-image: url(../img/top/i-blk-data.png);
}
.l-top--about .blk-job .l-col-inner::before,
.l-methods .blk-job .l-col-inner::before {
  background-image: url(../img/top/i-blk-job.png);
}
.l-top--about .blk-team .l-col-inner::before,
.l-methods .blk-team .l-col-inner::before {
  background-image: url(../img/top/l-blk-team.png);
}
@media (max-width: 960px) {
  .l-top--about .l-row,
  .l-methods .l-row {
    margin: 0 -1em;
  }
}
.l-top--about .l-row .l-col,
.l-methods .l-row .l-col {
  padding: 0 2.2em;
}
@media (max-width: 960px) {
  .l-top--about .l-row .l-col,
  .l-methods .l-row .l-col {
    padding: 0 1em;
  }
}
.l-top--about .l-ttl,
.l-methods .l-ttl {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.l-top--about .l-ttl .btn,
.l-methods .l-ttl .btn {
  border: none;
  background: none;
  padding: 0;
  min-width: auto;
  width: 3.7em;
  position: absolute;
  margin: auto;
  right: -3.7em;
  top: 0;
  bottom: 0;
}
.l-top--about .l-ttl .btn::before,
.l-methods .l-ttl .btn::before {
  right: auto;
}

.l-top--faq {
  background-color: #F2F3F6;
  padding-top: 0;
}
.l-top--faq .inner {
  position: relative;
  background-color: #fff;
  border-radius: 0.2em;
  padding: 4.8em 0;
  z-index: 1;
}

.anc {
  margin-top: -5em;
  padding-top: 5em;
}

.blk-faq {
  padding: 2em 5em;
}
@media (max-width: 1180px) {
  .blk-faq {
    padding: 3em 4em;
  }
}
@media (max-width: 960px) {
  .blk-faq {
    padding: 3em;
  }
}
@media (max-width: 840px) {
  .blk-faq {
    padding: 2em;
  }
}
@media (max-width: 690px) {
  .blk-faq {
    padding: 1em;
  }
}

.wrap-qa {
  position: relative;
  bottom: -1px;
}
.wrap-qa:last-of-type {
  border-bottom: 1px solid #212121;
}

.acc {
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  transition: all 0.3s ease-in;
  border-top: 1px solid #212121;
}
.acc:hover {
  background-color: #F2F3F6;
}
.acc .tx-q {
  display: flex;
  align-items: center;
  min-height: 4.8em;
  position: relative;
  padding: 0.5em 3em 0.5em 3.7em;
}
@media (max-width: 690px) {
  .acc .tx-q {
    padding-left: 3.5em;
  }
}
.acc .tx-q::before {
  content: "Q";
  font-size: 1.3em;
  font-weight: 700;
  position: absolute;
  margin: auto;
  left: 1em;
  top: 50%;
  transform: translateY(-50%);
  color: #d92027;
}
@media (max-width: 690px) {
  .acc .tx-q::before {
    left: 1em;
  }
}
.acc .symbol {
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  margin: auto;
  right: 1em;
  top: 0;
  bottom: 0;
}
@media (max-width: 690px) {
  .acc .symbol {
    right: 1em;
  }
}
.acc .symbol span {
  display: block;
  background-color: #000;
  width: 100%;
  height: 1px;
  transition: all 0.4s ease;
}
.acc .symbol span:nth-of-type(1) {
  transform: translateX(15px);
}
.acc .symbol span:nth-of-type(2) {
  transform: rotate(-90deg);
}
.acc.active {
  background-color: #212121;
  color: #fff;
}
.acc.active .symbol span {
  background-color: #fff;
}
.acc.active .symbol span:nth-of-type(2) {
  transform: rotate(0deg);
}
.acc.active .tx-q::before {
  color: #fff;
}

.panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background-color: #fff;
}
.panel .tx-ans {
  display: flex;
  align-items: center;
  min-height: 3.7em;
  position: relative;
  padding: 1.7em 3em 1.7em 3.7em;
  border: 1px solid #212121;
  margin-bottom: -1px;
}
@media (max-width: 690px) {
  .panel .tx-ans {
    padding-left: 3.5em;
    padding-right: 1em;
  }
}
.panel .tx-ans::before {
  content: "A";
  font-size: 1.3em;
  font-weight: 600;
  position: absolute;
  margin: auto;
  left: 1em;
  top: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #d92027;
}
@media (max-width: 690px) {
  .panel .tx-ans::before {
    left: 1em;
  }
}

.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}

.modal-content {
  position: relative;
  background-color: white;
  margin: 5% auto;
  padding: 0;
  width: 90%;
  max-width: 1200px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.modal-content iframe {
  width: 100%;
  height: 80vh;
}

.close {
  position: absolute;
  top: 8px;
  right: 16px;
  font-size: 28px;
  font-size: 4.8em;
  line-height: 1;
  cursor: pointer;
}

/* モーダルオーバーレイの初期状態は非表示 */
/* モーダル全体の共通設定 */
.site-header .main-navigation .menu .menu-item .md-modal {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  height: 3.7em;
  padding: 0 2.9em 0 1.7em;
  min-width: 7.4em;
  color: #fff;
  background-color: #d92027;
  border-radius: 0.3em;
  position: relative;
  letter-spacing: 0.06em;
}
@media (max-width: 840px) {
  .site-header .main-navigation .menu .menu-item .md-modal {
    display: none;
    width: 100%;
    border: none;
  }
}
.site-header .main-navigation .menu .menu-item .md-modal:visited {
  color: #fff;
}
.site-header .main-navigation .menu .menu-item .md-modal:hover {
  color: #fff;
  background-color: #111;
}
.site-header .main-navigation .menu .menu-item .md-modal::before {
  content: "";
  width: 2em;
  height: 2em;
  background: none;
  background-image: url(../img/common/i-arw-wh.svg);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0em;
  right: 1em;
  z-index: 0;
  transition: all 0.5s;
}
.site-header .main-navigation .menu .menu-item .md-modal::after {
  content: "";
  width: 2em;
  height: 2em;
  background-image: url(../img/common/i-arw-red.svg);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0em;
  right: 2em;
  z-index: 0;
  transition: all 0.5s;
  opacity: 0;
}
.site-header .main-navigation .menu .menu-item .md-modal:hover::before {
  width: 2em;
  right: -1em;
  opacity: 0;
}
.site-header .main-navigation .menu .menu-item .md-modal:hover::after {
  right: 1em;
  opacity: 1;
}

.md-container {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  align-items: center;
  justify-content: center;
}

/* 背景オーバーレイ */
.md-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

/* モーダル本体 */
.md-contents {
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background: #fff;
  width: 90%;
  max-width: 800px;
  padding: 2.9em 2.2em;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  animation: fadeIn 0.3s ease-out;
  text-align: center;
}
.md-contents .txt {
  margin-bottom: 1.3em;
}

/* 閉じるボタン */
.md-close {
  position: absolute;
  top: 0;
  right: 16px;
  background: none;
  border: none;
  font-size: 3em;
  color: #333;
  cursor: pointer;
  line-height: 1;
}

/* フェードインアニメーション */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* スマホ対応 */
.sp-entry {
  display: none;
}
@media (max-width: 840px) {
  .sp-entry {
    display: block;
    width: 90%;
    padding: 2.9em;
    position: fixed;
    margin: auto;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
  }
}
@media (max-width: 690px) {
  .sp-entry {
    width: 100%;
    padding: 1.3em 2.9em;
  }
}
.sp-entry .wrap-btn {
  display: flex;
  justify-content: center;
}
.sp-entry .sp-entry-btn {
  width: 33.33%;
  margin-bottom: 1.7em;
}
@media (max-width: 690px) {
  .sp-entry .sp-entry-btn {
    width: 50%;
  }
}
.sp-entry .sp-entry-btn a {
  display: block;
}
.sp-entry .sp-entry-btn a img {
  width: 90%;
}

@media (max-width: 480px) {
  .md-contents {
    padding: 1.5em;
    font-size: 0.95em;
  }
}
.l-text {
  position: relative;
}
.l-text .l-sideline {
  position: relative;
}
.l-text .l-sideline .l-ttl {
  margin-top: 10%;
}
@media (max-width: 690px) {
  .l-text .l-sideline .l-ttl {
    margin-top: 0;
  }
}
.l-text .l-sideline > .txt {
  margin-top: 2.2em;
}
.l-text .blk-content {
  padding: 2.9em 0 2.9em 3.7em;
  border-radius: 2.2em;
  width: 120%;
  position: relative;
  top: inherit;
  right: 20%;
  z-index: 0;
}
@media (max-width: 1180px) {
  .l-text .blk-content {
    padding-bottom: 0;
  }
}
@media (max-width: 840px) {
  .l-text .blk-content {
    width: calc(100% + 20vw);
    right: 20vw;
  }
}
@media (max-width: 690px) {
  .l-text .blk-content {
    width: 100%;
    right: auto;
    padding: 0 2.2em;
  }
}
.l-text .blk-content::before {
  content: "";
  width: 30%;
  height: 100%;
  border-radius: 0.4em;
  background-color: #F2F3F6;
  position: absolute;
  left: -5%;
  top: 0;
  z-index: -1;
  transform: skewX(-36deg);
}
.l-text .blk-content .blk-ttl {
  font-size: 1.7em;
  font-weight: 600;
  margin-bottom: 1.3em;
}
@media (max-width: 690px) {
  .l-text .blk-content .blk-ttl {
    font-size: 1.3em;
  }
}
@media (max-width: 690px) {
  .l-text .blk-content .blk-ttl br {
    display: none;
  }
}

._od .l-text .blk-content::before {
  left: auto;
  right: 0;
  transform: skewX(36deg);
}

/* 棒グラフ3
/*------------------------------------
  bar graph
------------------------------------*/
.chart {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  margin: auto;
}

.bar-container {
  background: #ddd;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  height: 40px;
}

.show .bar {
  background: #4fc5b5;
  height: 100%;
  width: 0%;
  color: white;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 10px;
  font-weight: bold;
  border-radius: 4px;
  transition: width 1.5s ease-out;
}

.title {
  margin-bottom: 5px;
  font-weight: bold;
}

[class^=d-image_] .l-col-inner {
  position: relative;
}
[class^=d-image_] .l-col-inner::before {
  content: "";
  height: 82%;
  width: 92%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
}

@media (max-width: 690px) {
  .d-image_01 {
    display: none;
  }
}
.d-image_01 .l-col-inner {
  box-shadow: none;
}
.d-image_01 .l-col-inner::before {
  background-image: url(../img/data/data-man.png);
  right: 0;
}

@media (max-width: 690px) {
  .d-image_02 {
    display: none;
  }
}
.d-image_02 .l-col-inner {
  box-shadow: none;
}
.d-image_02 .l-col-inner::before {
  background-image: url(../img/data/data-woman.png);
  left: 0;
}

.percent-wrap {
  position: relative;
  height: 100%;
}
.percent-wrap .ttl-percent {
  position: absolute;
  bottom: 0;
  right: 0;
}
.percent-wrap._childcare::before {
  content: "";
  height: 60%;
  width: 50%;
  background-image: url(../img/data/i-data-childcare.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.d-ratio_20,
.d-average_age,
.d-ratio_graduate {
  position: relative;
}
.d-ratio_20::after,
.d-average_age::after,
.d-ratio_graduate::after {
  content: "";
  height: 70%;
  width: 70%;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
}

.d-ratio_20::after {
  background-image: url(../img/data/i-data_20.svg);
}

.d-average_age::after {
  background-image: url(../img/data/i-data_all.svg);
}

.d-ratio_graduate::after {
  background-image: url(../img/data/i-data_gr.svg);
}

.percent-wrap-w {
  height: 50%;
  position: relative;
}
.percent-wrap-w._upper::before, .percent-wrap-w._lower::before {
  content: "";
  height: 100%;
  width: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
}
.percent-wrap-w._upper .ttl,
.percent-wrap-w._upper .ttl-percent {
  text-align: left;
}
.percent-wrap-w._upper::before {
  background-image: url(../img/data/i-data-working.svg);
  right: 0;
}
.percent-wrap-w._lower .ttl,
.percent-wrap-w._lower .ttl-percent {
  text-align: right;
}
.percent-wrap-w._lower::before {
  background-image: url(../img/data/i-data-vacation.svg);
  left: 0;
}

.l-job {
  position: relative;
}
@media (max-width: 690px) {
  .l-job .l-job-inner figure {
    width: 77%;
    margin: 0 auto;
  }
}
@media (max-width: 690px) {
  .l-job .l-job-inner .l-text {
    margin-bottom: 0;
  }
}
.l-job._last-set {
  padding-bottom: 16em;
}
@media (max-width: 960px) {
  .l-job._last-set {
    padding-bottom: 16vw;
  }
}
.l-job ._od .blk-content {
  right: auto;
  left: 0;
  padding-right: 3.7em;
  padding-left: 0;
}
@media (max-width: 690px) {
  .l-job ._od .blk-content {
    padding: 0 2.2em;
  }
}
.l-job ._od .blk-content::before {
  left: auto;
  right: 0;
}

.l-message {
  position: relative;
}
.l-message::before {
  content: "";
  height: 160vh;
  width: 240%;
  background-color: #fdeaea;
  border-radius: 50%;
  position: absolute;
  margin: auto -70%;
  left: 0;
  right: 0;
  top: 18vw;
  transform: none;
  z-index: -1;
}
.l-message .area-message {
  margin-bottom: 2.2em;
}
.l-message .area-message .l-col-inner {
  position: relative;
}
.l-message .area-message figure {
  margin-bottom: 2.2em;
  width: 62%;
  position: relative;
}
.l-message .area-message figure::before {
  content: "";
  width: 3.7em;
  height: 3.7em;
  position: absolute;
  margin: auto;
  top: 60%;
  right: 0;
  left: 0;
  background-color: #d92027;
  border-radius: 100%;
  opacity: 0.8;
}
.l-message .area-message figure::after {
  content: "";
  position: absolute;
  top: calc(68% - 0.6em);
  left: calc(50% - 0.375em);
  width: 1.2em;
  height: 1.2rem;
  background-color: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.l-message .area-message figure img {
  border-radius: 50%;
}
.l-message .area-message .l-text {
  width: 58%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
}
.l-message .area-message .l-text .l-ttl .ttl::before {
  content: none;
}

.l-entry {
  padding-top: 0;
  position: relative;
}
.l-entry::before {
  content: "";
  height: 160vh;
  width: 240%;
  background: linear-gradient(to right, #d92027 0%, #b0171b 25%, #ff4d4d 50%, #b0171b 75%, #d92027 100%);
  border-radius: 50%;
  position: absolute;
  margin: auto -70%;
  left: 0;
  right: 0;
  top: -5vw;
}
@media (max-width: 1180px) {
  .l-entry::before {
    border-radius: 0;
  }
}
.l-entry .entry-area {
  margin-top: 0;
}
.l-entry .entry-area .entry-line ul {
  display: flex;
  margin: 0 -1em;
}
@media (max-width: 520px) {
  .l-entry .entry-area .entry-line ul {
    display: flex;
  }
}
.l-entry .entry-area .entry-line ul li {
  width: 33.33%;
  padding: 0 1em;
}
@media (max-width: 1180px) {
  .l-entry .entry-area .entry-line ul li {
    width: 50%;
  }
}
.l-entry .entry-area .entry-line ul li:last-of-type {
  margin-right: 0;
}
@media (max-width: 520px) {
  .l-entry .entry-area .entry-line ul li:last-of-type {
    margin: 0 auto;
  }
}
.l-entry .entry-area .entry-line ul li a {
  display: block;
  height: 60px;
}
.l-entry .entry-area .entry-line ul li img {
  display: block;
  width: 100%;
}

.lower-inner {
  width: 84.6153846154%;
  margin: 5em auto 8em;
  background-color: rgb(235.9727272727, 237.4363636364, 241.8272727273);
  padding: 6.3em 8.2em;
  line-height: 2.2;
  border-radius: 0.3em;
}
@media (max-width: 1380px) {
  .lower-inner {
    width: 100%;
    padding: 2.9em 3.7em;
  }
}
@media (max-width: 520px) {
  .lower-inner {
    padding: 1.7em 2.2em;
  }
}

.l-privacy .od-list {
  list-style: decimal;
  margin: 2.2em;
}

.site-footer {
  background-color: #212121;
}
.site-footer .footer-main-navigation {
  margin-bottom: 2.2em;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media (max-width: 690px) {
  .site-footer .footer-main-navigation {
    margin-top: 1.7em;
    width: 100%;
    border-top: 1px solid rgba(192, 192, 192, 0.5);
  }
}
.site-footer .footer-main-navigation .menu {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 690px) {
  .site-footer .footer-main-navigation .menu li {
    width: 50%;
  }
}
@media (max-width: 690px) {
  .site-footer .footer-main-navigation #fooer-menu a {
    border-top: none;
    border-bottom: 1px solid rgba(192, 192, 192, 0.5);
  }
}
.site-footer .footer-main-navigation #fooer-menu a:hover {
  color: #d92027;
}
.site-footer .entry-line ul {
  justify-content: flex-end;
}

@keyframes zoomInAnime {
  from {
    transform: scale(1.16);
  }
  to {
    transform: scale(1);
  }
}
/* img.videoThumb のスタイル定義 */
img.videoThumb {
  cursor: pointer; /* マウスカーソルが画像の上に来たときに、ポインターに変更する */
  width: 100%;
}

/* img.videoThumb のホバー時のスタイル定義 */
img.videoThumb:hover {
  opacity: 0.8; /* マウスオーバー時に画像の透明度を80%に設定 */
}

/* .modalContent のスタイル定義 */
.modalContent {
  background-color: #fefefe; /* 背景色を設定 */
  margin: 15% auto; /* 上下のマージンを15%、左右のマージンを自動に設定 */
  padding: 0; /* パディングを設定 */
  border: 1px solid #888; /* 境界線の色と太さを設定 */
  animation: fadeIn 0.7s ease 0s 1 normal; /* アニメーションの名前、時間、タイミング関数、遅延時間、反復回数、方向を設定 */
  position: relative; /* 位置を設定 */
  width: 100%; /* 幅を100%に設定 */
  aspect-ratio: 16/9; /* アスペクト比を16:9に設定 */
  max-width: 800px; /* 最大幅を600pxに設定 */
}

/* .modalContent iframe のスタイル定義 */
.modalContent iframe {
  position: absolute; /* 絶対位置を設定 */
  margin: auto;
  width: 100%; /* 幅を100%に設定 */
  height: 100%; /* 高さを100%に設定 */
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

/* button.closeBtn のスタイル定義 */
button.closeBtn {
  display: inline-block; /* ディスプレイプロパティをinline-blockに設定 */
  vertical-align: middle; /* 垂直方向の配置を中央に設定 */
  color: #FFF; /* 文字色を白に設定 */
  line-height: 1; /* 行の高さを1に設定 */
  width: 1.6rem; /* 幅を1.6remに設定 */
  height: 0.2rem; /* 高さを0.2remに設定 */
  background: currentColor; /* 背景色を現在の文字色に設定 */
  border-radius: 0.1rem; /* ボーダーの角を丸める */
  position: absolute; /* 絶対位置を設定 */
  transform: rotate(45deg); /* 要素を45度回転させる */
  border: none; /* ボーダーをなくす */
  right: -35px; /* 右から-35pxの位置に配置 */
  top: 7px; /* 上から7pxの位置に配置 */
  opacity: 0.6; /* 透明度を60%に設定 */
  transition: 0.2s ease-in-out; /* 0.2秒間でプロパティを変更し、変更の速度が先頭と末尾でゆっくりとなるように設定 */
}

/* button.closeBtn:before のスタイル定義 */
button.closeBtn:before {
  content: ""; /* 内容を空に設定 */
  position: absolute; /* 絶対位置を設定 */
  top: 0; /* 上から0の位置に配置 */
  left: 0; /* 左から0の位置に配置 */
  width: 100%; /* 幅を100%に設定 */
  height: 100%; /* 高さを100%に設定 */
  background: inherit; /* 背景色を親要素から継承 */
  border-radius: inherit; /* ボーダーの角を親要素から継承 */
  transform: rotate(90deg); /* 要素を90度回転させる */
}

/* button.closeBtn のホバー時のスタイル定義 */
button.closeBtn:hover {
  opacity: 1; /* マウスオーバー時に透明度を100%に設定 */
}

/* fadeIn アニメーションの定義 */
@keyframes fadeIn {
  0% {
    opacity: 0; /* 開始時点での透明度を0%に設定 */
    transform: translateY(30px); /* 開始時点での要素の位置をY軸方向に30px下に移動 */
  }
  100% {
    opacity: 1; /* 終了時点での透明度を100%に設定 */
  }
}
/* fadeOut アニメーションの定義 */
@keyframes fadeOut {
  0% {
    opacity: 1; /* 開始時点での透明度を100%に設定 */
  }
  100% {
    opacity: 0; /* 終了時点での透明度を0%に設定 */
    transform: translateY(60px); /* 終了時点での要素の位置をY軸方向に60px下に移動 */
  }
}
.wrap-smform {
  padding: 3.7em;
  width: 84.6153846154%;
  margin: 2.9em auto 0;
  background-color: rgb(235.9727272727, 237.4363636364, 241.8272727273);
}
@media (max-width: 690px) {
  .wrap-smform {
    padding: 1.7em;
    width: 100%;
  }
}

.tx-upper-form {
  margin: 0 7.6923076923%;
  margin-bottom: 2.9em;
}
.tx-upper-form .btn {
  margin: 1em auto;
}

.tx-lower-form {
  margin: 0 15.3846153846%;
  margin-top: 2.9em;
}
@media (max-width: 690px) {
  .tx-lower-form {
    margin: 0 1em;
    margin-top: 2.9em;
  }
}

.tx-ast {
  padding-left: 1.3em;
  position: relative;
}
.tx-ast::before {
  content: "※";
  position: absolute;
  left: 0;
}

.smf-form--business .smf-item {
  border: none;
}
.smf-form--business .smf-item__col--label {
  background: none;
  border: none;
}

.smf-action {
  display: flex;
  justify-content: center;
}
.smf-action button.smf-button-control__control[data-action=confirm],
.smf-action button.smf-button-control__control[data-action=complete],
.smf-action button.smf-button-control__control[data-action=back] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  height: 3.7em;
  padding: 0 2.9em 0 1.7em;
  min-width: 7.4em;
  border: 1px solid #d92027;
  color: #fff;
  background-color: #d92027;
  background-image: none;
  border-radius: 0.3em;
  position: relative;
}
.smf-action button.smf-button-control__control[data-action=confirm]:visited,
.smf-action button.smf-button-control__control[data-action=complete]:visited,
.smf-action button.smf-button-control__control[data-action=back]:visited {
  color: #fff;
}
.smf-action button.smf-button-control__control[data-action=confirm]:hover,
.smf-action button.smf-button-control__control[data-action=complete]:hover,
.smf-action button.smf-button-control__control[data-action=back]:hover {
  background-color: #212121;
  border-color: #212121;
}
.smf-action button.smf-button-control__control[data-action=confirm]::before,
.smf-action button.smf-button-control__control[data-action=complete]::before,
.smf-action button.smf-button-control__control[data-action=back]::before {
  content: "";
  width: 2em;
  height: 2em;
  background-image: url(../img/common/i-arw-wh.svg);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0em;
  right: 0.5em;
  z-index: 0;
  transition: all 0.5s;
}
.smf-action button.smf-button-control__control[data-action=confirm]::after,
.smf-action button.smf-button-control__control[data-action=complete]::after,
.smf-action button.smf-button-control__control[data-action=back]::after {
  content: "";
  width: 2em;
  height: 2em;
  background-image: url(../img/common/i-arw-red.svg);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0em;
  right: 2em;
  z-index: 0;
  transition: all 0.5s;
  opacity: 0;
}
.smf-action button.smf-button-control__control[data-action=confirm]:hover::before,
.smf-action button.smf-button-control__control[data-action=complete]:hover::before,
.smf-action button.smf-button-control__control[data-action=back]:hover::before {
  right: -1em;
  opacity: 0;
}
.smf-action button.smf-button-control__control[data-action=confirm]:hover::after,
.smf-action button.smf-button-control__control[data-action=complete]:hover::after,
.smf-action button.smf-button-control__control[data-action=back]:hover::after {
  right: 0.5em;
  opacity: 1;
}
.smf-action button.smf-button-control__control[data-action=back] {
  border-color: #212121;
  background-color: #212121;
  padding: 0 1.7em 0 2.9em;
  color: #fff;
}
.smf-action button.smf-button-control__control[data-action=back]::before {
  right: inherit;
  left: 0.5em;
  transform: rotate(180deg);
}
.smf-action button.smf-button-control__control[data-action=back]::after {
  right: inherit;
  left: 2em;
  transform: rotate(180deg);
}
.smf-action button.smf-button-control__control[data-action=back]:hover::before {
  right: inherit;
  left: -1em;
}
.smf-action button.smf-button-control__control[data-action=back]:hover::after {
  right: inherit;
  left: 0.5em;
}

.smf-form--business .smf-item__col--label {
  border: none;
  padding: 1.3em;
}
@media (max-width: 690px) {
  .smf-form--business .smf-item__col--label {
    padding: 0;
  }
}
@media (max-width: 690px) {
  .smf-form--business .smf-item__col--label .smf-item__label {
    display: inline-block;
  }
}
@media (max-width: 690px) {
  .smf-form--business .smf-item__col--label .smf-item__description {
    display: inline-block;
    font-size: 0.8em;
  }
}
.smf-form--business .smf-item__col--controls {
  padding: 1.3em;
}
@media (max-width: 690px) {
  .smf-form--business .smf-item__col--controls {
    padding: 0;
    margin-bottom: 1em;
  }
}

@media (max-width: 520px) {
  .smf-form .smf-radio-buttons-control--horizontal .smf-radio-buttons-control__control > .smf-label {
    display: block;
  }
}

.smf-form .smf-text-control__control {
  min-width: 60%;
}
@media (max-width: 520px) {
  .smf-form .smf-text-control__control {
    width: 100%;
  }
}

.smf-item__controls:has(div[data-validations=required]),
.smf-item__controls:has(input[data-validations=required]),
.smf-item__controls:has(input[data-validations="email required"]),
.smf-item__controls:has(textarea[data-validations=required]) {
  position: relative;
}
.smf-item__controls:has(div[data-validations=required])::before,
.smf-item__controls:has(input[data-validations=required])::before,
.smf-item__controls:has(input[data-validations="email required"])::before,
.smf-item__controls:has(textarea[data-validations=required])::before {
  content: "必須";
  font-size: 0.7em;
  display: inline-block;
  background-color: #d92027;
  color: #fff;
  padding: 3px 4px;
  line-height: 1;
  position: absolute;
  left: -4.7em;
  top: 5px;
}
@media (max-width: 690px) {
  .smf-item__controls:has(div[data-validations=required])::before,
  .smf-item__controls:has(input[data-validations=required])::before,
  .smf-item__controls:has(input[data-validations="email required"])::before,
  .smf-item__controls:has(textarea[data-validations=required])::before {
    left: auto;
    right: 0.5em;
    top: -2.2em;
  }
}

.dl-form {
  display: flex;
  flex-wrap: wrap;
}
.dl-form dt {
  width: 15em;
  margin-bottom: 0.5em;
  padding-top: 0.75em;
}
@media (max-width: 690px) {
  .dl-form dt {
    display: block;
    width: 100%;
  }
}
.dl-form dt.i-must {
  position: relative;
}
.dl-form dt.i-must::before {
  content: "必須";
  font-size: 0.7em;
  display: inline-block;
  background-color: #d92027;
  color: #fff;
  padding: 3px 4px;
  line-height: 1;
  position: absolute;
  right: 1.7em;
  top: 1.4em;
}
.dl-form dd {
  width: calc(100% - 15em);
  margin-bottom: 2em;
}
@media (max-width: 690px) {
  .dl-form dd {
    display: block;
    width: 100%;
  }
}
.dl-form._conf dt {
  padding-top: 0;
}
@media (max-width: 690px) {
  .dl-form._conf dd {
    background-color: #fff;
    padding: 0.75em;
    border-radius: 0.2em;
    color: #999;
  }
}
@media (max-width: 690px) {
  .dl-form._flat {
    margin-top: 3em;
  }
}
.dl-form._flat dt {
  width: 17em;
  padding-top: 0;
  padding-right: 3em;
  margin-bottom: 1em;
}
.dl-form._flat dd {
  width: calc(100% - 17em);
}
.dl-form._flat dd .wpcf7-list-item {
  margin: 0 1em 0.75em 0;
}
.dl-form._flat dd .wpcf7-textarea {
  height: 10em;
}
@media (max-width: 690px) {
  .dl-form._flat dt, .dl-form._flat dd {
    display: block;
    width: 100%;
  }
}

.wrap-form {
  padding: 5em;
  background-color: #F2F3F6;
  margin: 3em auto;
  width: 1100px;
  max-width: 90%;
  border-radius: 0.3em;
}
@media (max-width: 690px) {
  .wrap-form {
    padding: 1em;
    margin: 0;
    max-width: 100%;
  }
}
.wrap-form .udline {
  display: inline-block;
  position: relative;
}
.wrap-form .udline::before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: #d92027;
  position: absolute;
  bottom: 0;
  transition: all 0.3s ease-in-out;
}
.wrap-form .udline:hover {
  color: #d92027;
}
.wrap-form .udline:hover::before {
  width: 0;
}
.wrap-form .l-row {
  margin-bottom: 2em;
}
.wrap-form .txt {
  text-align: center;
}
@media (max-width: 690px) {
  .wrap-form .txt {
    text-align: left;
  }
}

.apply-list .wpcf7-list-item {
  width: 33%;
  padding: 0.25em 1.3em 0.25em 0;
  margin: 0;
}
@media (max-width: 1380px) {
  .apply-list .wpcf7-list-item {
    width: 50%;
  }
}
@media (max-width: 520px) {
  .apply-list .wpcf7-list-item {
    width: 100%;
  }
}

.wrap-dl {
  text-align: center;
  padding: 3em 0;
}

.wrap-btn {
  position: relative;
}
.wrap-btn::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(../img/i-arw-btn.png);
  background-position: center;
  background-size: contain;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 3em;
  z-index: 1;
}
@media (max-width: 690px) {
  .wrap-btn::after {
    width: 3vw;
    height: 3vw;
    right: 1.3em;
  }
}
.wrap-btn::before {
  content: "";
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border: 1px solid #fff;
  border-radius: 0.2em;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
@media (max-width: 690px) {
  .wrap-btn::before {
    width: calc(100% - 1.6vw);
    height: calc(100% - 1.6vw);
    border-radius: 0.3em;
  }
}

.l-sec-ttl {
  position: relative;
  margin-bottom: 5em;
  margin-top: 6em;
}
.l-sec-ttl:first-of-type {
  margin-top: 0;
}
@media (max-width: 520px) {
  .l-sec-ttl {
    margin-bottom: 8vw;
    margin-top: 8vw;
  }
}
.l-sec-ttl .ttl {
  font-size: 2.1em;
  margin-bottom: 0;
  letter-spacing: 0.08em;
}
@media (max-width: 960px) {
  .l-sec-ttl .ttl {
    font-size: 1.7em;
  }
}
@media (max-width: 520px) {
  .l-sec-ttl .ttl {
    font-size: 4.8vw;
  }
}
.l-sec-ttl .ttl .tx-acc {
  display: inline-block;
}
.l-sec-ttl .ttl img {
  vertical-align: bottom;
  height: 1.8em;
}
.l-sec-ttl + .tx-lead {
  line-height: 2;
  margin-bottom: 5em;
}
@media (max-width: 690px) {
  .l-sec-ttl + .tx-lead {
    margin-bottom: 2em;
  }
}

.anc-inn {
  display: flex;
  flex-wrap: wrap;
  margin-left: -1.5em;
  margin-right: -1.5em;
}
@media (max-width: 690px) {
  .anc-inn {
    margin-left: 0;
    margin-right: 0;
  }
}
.anc-inn .l-col {
  padding-left: 1.5em;
  padding-right: 1.5em;
}
@media (max-width: 840px) {
  .anc-inn .l-col {
    width: 50% !important;
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
}
.anc-inn .l-col .btn-uline {
  justify-content: flex-start;
  width: 100%;
  text-align: left;
}
.anc-inn .l-col .btn-uline .anc-cir {
  display: flex;
  width: 100%;
}
.anc-inn .l-col .btn-uline .anc-cir::before {
  right: 0;
}
.anc-inn .l-col .btn-uline .anc-cir::after {
  transform: rotate(135deg);
  top: -2px;
  right: 7px;
}

.sec-page-intro {
  padding-top: 8em;
}
@media (max-width: 960px) {
  .sec-page-intro {
    padding-top: 6em;
  }
}
@media (max-width: 840px) {
  .sec-page-intro {
    padding-top: 5em;
  }
}
@media (max-width: 690px) {
  .sec-page-intro {
    padding-top: 4em;
  }
}
.sec-page-intro .content {
  position: relative;
}
@media (max-width: 690px) {
  .sec-page-intro .l-row .l-col {
    margin-bottom: 0;
  }
}
.sec-page-intro .ttl {
  font-size: 1.7em;
  margin-bottom: 1.7em;
}
@media (max-width: 690px) {
  .sec-page-intro .ttl {
    font-size: 1.3em;
  }
}

.ttl-cnt {
  font-size: 1.7em;
  margin-bottom: 2.2em;
  text-align: center;
}
@media (max-width: 690px) {
  .ttl-cnt {
    font-size: 1.3em;
  }
}
.ttl-cnt span {
  position: relative;
  display: inherit;
}
.ttl-cnt span::before {
  content: "";
  height: 3px;
  width: 1.3em;
  background-color: #d92027;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  bottom: -1em;
  border-radius: 2px;
}

.ttl-info,
.lower-sct-ttl {
  font-size: 1.7em;
  margin-bottom: 2.9em;
  text-align: left;
  position: relative;
}
@media (max-width: 690px) {
  .ttl-info,
  .lower-sct-ttl {
    font-size: 1.3em;
    margin-bottom: 2.2em;
  }
}
.ttl-info::before,
.lower-sct-ttl::before {
  content: "";
  width: 2em;
  height: 100%;
  height: 3px;
  background: #d92027;
  position: absolute;
  left: 0;
  bottom: -1em;
}
.ttl-info::after,
.lower-sct-ttl::after {
  content: "";
  width: 5px;
  height: 5px;
  background: #d92027;
  border-radius: 3px;
  position: absolute;
  left: calc(2em + 5px);
  bottom: calc((1em + 1px) * -1);
}

.ttl-info {
  margin-bottom: 2.2em;
}

[class^=corner-] {
  display: block;
  width: 1em;
  height: 1em;
  position: absolute;
  overflow: hidden;
}
[class^=corner-]::before {
  display: block;
  content: "";
  width: 200%;
  height: 200%;
  position: absolute;
  top: 0px;
  left: 0px;
  background: transparent;
  border-radius: 12%;
  box-shadow: -1em 1em 0 0 red;
  transform: translate(0, -50%);
}

.bg-ttl {
  position: relative;
}
.bg-ttl .corner-lt {
  left: 0;
  top: -1em;
}
.bg-ttl .corner-lt::before {
  box-shadow: -1em 1em 0 0 #fff;
}
.bg-ttl .corner-rb {
  right: -1em;
  bottom: 0;
}
.bg-ttl .corner-rb::before {
  box-shadow: -1em 1em 0 0 #fff;
}

.sec-program .wrap-image {
  position: relative;
}
.sec-program .bg-ttl {
  background-color: #fff;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2.2em 2.9em 0 0;
  border-radius: 0 0.2em 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
}
.sec-program .bg-ttl .ttl-course {
  margin-bottom: 0;
}

.ul-btn-faq .l-col {
  margin-bottom: 2em;
}
.ul-btn-faq a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background-color: #f2f2f2;
  height: 6em;
  padding-left: 5em;
  position: relative;
}
.ul-btn-faq a::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  background-color: #000;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 2.2em;
}
.ul-btn-faq a span {
  position: relative;
}
.ul-btn-faq a span::before, .ul-btn-faq a span::after {
  content: "";
  width: 1.7em;
  height: 1.7em;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: -3em;
}
.ul-btn-faq a span::before {
  background-color: #F2F3F6;
  border-radius: 50%;
}
.ul-btn-faq a span::after {
  content: "Q";
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  color: #fff;
}

.l-flow {
  padding-top: 0em;
}
.l-flow._subsidy {
  padding-top: 2em;
}

.blk-flow-anc {
  margin-bottom: 6em;
}
@media (max-width: 840px) {
  .blk-flow-anc {
    margin-bottom: 3em;
  }
}
.blk-flow-anc .ul-flow {
  display: flex;
  justify-content: center;
}
@media (max-width: 840px) {
  .blk-flow-anc .ul-flow {
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
  }
}
@media (max-width: 690px) {
  .blk-flow-anc .ul-flow {
    flex-wrap: wrap;
    width: 96%;
  }
}
.blk-flow-anc .ul-flow li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 25%;
  height: 4.8em;
  background-color: #d92027;
  color: #fff;
  padding: 0 1.3em 0 1.7em;
  clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0 100%, 0 0);
}
@media (max-width: 840px) {
  .blk-flow-anc .ul-flow li {
    width: 50%;
    margin-bottom: 1em;
  }
}
@media (max-width: 690px) {
  .blk-flow-anc .ul-flow li {
    padding: 0 1.5em 0 1em;
    line-height: 1.4;
  }
}
.blk-flow-anc .ttl-step {
  color: #fff;
}
@media (max-width: 690px) {
  .blk-flow-anc .ttl-step {
    line-height: 1.4;
  }
}
.blk-flow-anc .i-step {
  margin: 0 1em 0 0;
}
@media (max-width: 690px) {
  .blk-flow-anc .i-step {
    margin-right: 0.5em;
  }
}
.blk-flow-anc .i-step ._min {
  background: #d92027;
}

.ul-flow._twoline {
  flex-wrap: wrap;
  width: 975px;
  max-width: 100%;
  margin: 0 auto;
}
.ul-flow._twoline li {
  width: 33.33%;
  margin-bottom: 1em;
}
@media (max-width: 520px) {
  .ul-flow._twoline li {
    width: 50%;
  }
}

.blk-contact {
  text-align: center;
}
.blk-contact ._inner {
  text-align: left;
  width: 84.6153846154%;
  max-width: 90%;
  margin: 0 auto;
  background-image: url(../img/bg/bg-guidance.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 6em;
  border-radius: 1.3em;
}
.blk-contact .txt {
  margin-bottom: 2em;
}
.blk-contact .dl-blk-contact {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2em;
}
.blk-contact .dl-blk-contact dt {
  width: 23%;
  display: flex;
  align-items: center;
  font-size: 1.3em;
}
.blk-contact .dl-blk-contact dd {
  width: 77%;
  display: flex;
  align-items: center;
}
.blk-contact .dl-blk-contact dd .btn-line {
  justify-content: flex-start;
}
.blk-contact .dl-blk-contact dd .btn-line .btn:first-of-type {
  margin-right: 1.7em;
}

.s-upside {
  padding-top: 12em;
}
@media (max-width: 840px) {
  .s-upside {
    padding-top: 20vw;
  }
}

.l-lead {
  margin-bottom: 3em;
  text-align: center;
}
.l-lead .ttl {
  line-height: 1.6;
}

.inn {
  max-width: 100%;
  margin: 0 auto;
  padding: 5em;
  background-color: #fff;
  line-height: 2;
}
@media (max-width: 840px) {
  .inn {
    padding: 3em;
  }
}
@media (max-width: 690px) {
  .inn {
    padding: 2em;
  }
}
@media (max-width: 520px) {
  .inn {
    padding: 1.3em;
  }
}

.wrap-arc .l-col {
  margin-top: 2em;
  margin-bottom: 2em;
}
.wrap-arc .l-col-inner {
  position: relative;
  z-index: 0;
}
.wrap-arc .l-col-inner::before {
  content: "";
  width: 0;
  height: auto;
  aspect-ratio: 1/1;
  background-color: rgba(255, 255, 255, 0.8);
  position: absolute;
  left: -2em;
  top: -2em;
  z-index: -1;
  transition: all 0.5s ease-in-out;
}
@media (max-width: 960px) {
  .wrap-arc .l-col-inner::before {
    left: 1em;
    top: -1em;
  }
}
.wrap-arc .l-col-inner.is-active::before {
  width: 28%;
}
.wrap-arc .l-col-inner .subttl {
  font-size: 1.3em;
  margin-bottom: 1.3em;
  color: #d92027;
}

.l-form {
  padding: 8em 0 9.5em;
}
@media (max-width: 690px) {
  .l-form {
    padding-bottom: 14vw;
  }
}
.l-form .sec-ttl {
  margin-bottom: 7.25em;
}
@media (max-width: 690px) {
  .l-form .sec-ttl {
    margin-bottom: 12vw;
  }
}
.l-form .sec-ttl .ttl {
  font-size: 2.7em;
}
@media (max-width: 520px) {
  .l-form .sec-ttl .ttl {
    font-size: 6.8vw;
  }
}
.l-form-inner {
  background-color: rgb(255, 255, 255);
  margin: 0 auto;
  padding: 4.5em 6.15em 6.5em;
  border-radius: 1.8em;
}
@media (max-width: 1180px) {
  .l-form-inner {
    padding: 5vw 8vw;
  }
}
@media (max-width: 690px) {
  .l-form-inner {
    padding: 6vw 5vw;
    border-radius: 1em;
  }
}
.l-form-inner a {
  text-decoration: underline;
}
.l-form-inner a:hover {
  text-decoration: none;
}
.l-form .dl-form {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2.75em;
}
@media (max-width: 690px) {
  .l-form .dl-form {
    margin-bottom: 1.3em;
  }
}
.l-form .dl-form dt {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  line-height: 1.4;
  text-align: left;
  position: relative;
  width: 34.5%;
  justify-content: flex-start;
  padding-right: 3.5em;
}
@media (max-width: 690px) {
  .l-form .dl-form dt {
    width: 100%;
    height: auto;
    margin-bottom: 0;
  }
}
.l-form .dl-form dt.i-must::after {
  content: "必須";
  display: inline-block;
  font-size: 0.7em;
  background-color: #212121;
  color: #fff;
  border-radius: 3px;
  line-height: 1;
  padding: 0.5em 0.75em;
  position: absolute;
  margin: auto;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 690px) {
  .l-form .dl-form dt.i-must::after {
    font-size: 2vw;
    padding: 0.25em 0.5em;
    position: relative;
    margin: 0 0 0 1em;
    right: auto;
    top: auto;
    transform: none;
  }
}
.l-form .dl-form dt.dt-uper {
  align-items: flex-start;
}
.l-form .dl-form dt.dt-uper .tx-dt {
  transform: translateY(1.6em);
}
@media (max-width: 690px) {
  .l-form .dl-form dt.dt-uper .tx-dt {
    transform: none;
  }
}
.l-form .dl-form dd {
  width: 65%;
  padding-left: 0.5em;
  padding: 1em 0.5em;
}
.l-form .dl-form dd.h-area {
  height: auto;
}
@media (max-width: 690px) {
  .l-form .dl-form dd {
    width: 100%;
    margin-bottom: 0.5em;
    padding-left: 0;
    padding-right: 0;
  }
}
.l-form .dl-form dd input[type=text],
.l-form .dl-form dd input[type=tel],
.l-form .dl-form dd input[type=email],
.l-form .dl-form dd select,
.l-form .dl-form dd textarea {
  border: none;
  border-radius: 0.5em;
  background-color: #f7f7f7;
  height: 3.36em;
  padding: 0 1.3em;
}
.l-form .dl-form dd textarea {
  height: auto;
  padding: 1em 1.3em;
}
.l-form .dl-form dd select {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
.l-form .dl-form dd input[type=text],
.l-form .dl-form dd input[type=tel],
.l-form .dl-form dd input[type=email],
.l-form .dl-form dd select.slc-course {
  width: 100%;
}
.l-form .dl-form dd .l-line {
  position: relative;
}
.l-form .dl-form dd select.slc-year {
  width: 8em;
  margin-right: 0.75em;
  text-align: center;
}
.l-form .dl-form dd select.slc-year + .error {
  position: absolute;
  left: 0;
}
.l-form .dl-form dd select.slc-month {
  width: 6em;
  text-align: center;
}
.l-form .dl-form dd select.slc-month + .error {
  position: absolute;
  left: 0;
}
.l-form .dl-form dd input[type=text].inp-tel {
  width: 8em;
  text-align: center;
}
@media (max-width: 690px) {
  .l-form .dl-form dd input[type=text].inp-tel {
    width: 6em;
  }
}
.l-form .dl-form dd input[type=text].rec-age {
  width: 5em;
  text-align: center;
}
@media (max-width: 690px) {
  .l-form .dl-form dd input[type=text].rec-age {
    width: 4em;
  }
}
.l-form .dl-form dd input[type=checkbox] {
  width: 1.8em;
  height: 1.8em;
  margin-right: 1em;
}
.l-form .dl-form dd .select-wrap {
  position: relative;
}
.l-form .dl-form dd .select-wrap::after {
  content: "";
  width: 0.6em;
  height: 0.6em;
  border: solid #ccc;
  border-width: 0 1px 1px 0;
  transform: rotate(45deg);
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 1.3em;
}
.l-form .dl-form dd .select-wrap select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.l-form .dl-form dd textarea {
  height: 10em;
  margin: 0.5em 0;
}
.l-form .dl-form dd .mwform-checkbox-field {
  display: inline-block;
}
.l-form .dl-form dd .error {
  white-space: nowrap;
  letter-spacing: 0.06em;
  font-size: 0.9em;
}
.l-form .dl-form dd .tx-count {
  text-align: right;
}
.l-form .btn {
  width: 400px;
  max-width: 100%;
  margin: 2em auto 0;
  font-size: 1.125em;
  height: 2.9em;
}
@media (max-width: 840px) {
  .l-form .btn {
    width: 50vw;
  }
}
@media (max-width: 690px) {
  .l-form .btn {
    font-size: 3.7vw;
  }
}
.l-form .btn-back {
  width: 5em;
  background-color: #212121;
  color: #fff;
}
.l-form .wpcf7-list-item {
  margin: 0;
}
.l-form .wpcf7-list-item input[type=checkbox],
.l-form .wpcf7-list-item input[type=radio] {
  width: 1.3rem;
  height: 1.3rem;
}

.btn-line {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-top: 2.2em;
}
.btn-line._p-confirm .btn {
  margin: 2em 0.5em 0;
}

.site-footer-inner {
  position: relative;
  background-color: rgba(238, 238, 238, 0.95);
  padding: 2.25em 0;
  color: #fff;
}
@media (max-width: 690px) {
  .site-footer-inner {
    padding: 1.25em 0 1em;
  }
}
.site-footer-inner .l-btn {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 690px) {
  .site-footer-inner .l-btn {
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    padding: 0;
    margin: 0;
  }
}
.site-footer-inner .l-btn-blk {
  width: 48%;
  max-width: 336px;
}
@media (max-width: 960px) {
  .site-footer-inner .l-btn-blk {
    width: 47%;
  }
}
@media (max-width: 690px) {
  .site-footer-inner .l-btn-blk {
    width: 50%;
    max-width: none;
  }
}
@media (max-width: 690px) {
  .site-footer-inner .l-btn-blk.sa.sa--up_01, .site-footer-inner .l-btn-blk.sa.sa--up_02 {
    opacity: 1;
    transform: none;
  }
}
.site-footer-inner .l-btn-blk a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  color: #fff;
  font-size: 2.1em;
  font-weight: bold;
  height: 3.2em;
  border-radius: 0.8em;
  letter-spacing: normal;
}
@media (max-width: 960px) {
  .site-footer-inner .l-btn-blk a {
    font-size: 1.7em;
  }
}
@media (max-width: 840px) {
  .site-footer-inner .l-btn-blk a {
    font-size: 1.5em;
  }
}
@media (max-width: 690px) {
  .site-footer-inner .l-btn-blk a {
    font-size: 3.7vw;
    border-radius: 0;
  }
}
.site-footer-inner .l-btn-blk._contact a::before {
  background: linear-gradient(to right, #F2F3F6, #d92027);
}
.site-footer-inner .l-btn-blk._contact a::after {
  background: linear-gradient(to right, #d92027, #F2F3F6);
}
.site-footer-inner .l-row {
  justify-content: space-between;
}
.site-footer-inner .l-row .l-col {
  margin-bottom: 0;
}
.site-footer-inner .l-row .l-tel {
  width: 44%;
  padding-top: 1.5em;
}
@media (max-width: 960px) {
  .site-footer-inner .l-row .l-tel {
    width: 50%;
  }
}
@media (max-width: 690px) {
  .site-footer-inner .l-row .l-tel {
    width: 100%;
    padding-top: 0;
    text-align: center;
  }
}
.site-footer-inner .l-row .l-tel-num {
  width: 84%;
  margin-bottom: 0.3em;
}
@media (max-width: 690px) {
  .site-footer-inner .l-row .l-tel-num {
    width: 77%;
    margin-left: auto;
    margin-right: auto;
  }
}
.site-footer-inner .l-row .l-btn {
  width: 56%;
}
@media (max-width: 960px) {
  .site-footer-inner .l-row .l-btn {
    width: 50%;
  }
}
@media (max-width: 690px) {
  .site-footer-inner .l-row .l-btn {
    width: 100%;
    z-index: 1;
  }
}

.site-info {
  color: #dfdfdf;
}
.site-info .logo {
  margin-bottom: 1.7em;
}
.site-info .logo img {
  width: 190px;
}
.site-info .l-row {
  justify-content: space-between;
}
@media (max-width: 520px) {
  .site-info .l-row {
    margin-left: 0;
    margin-right: 0;
  }
}
@media (max-width: 520px) {
  .site-info .l-row .l-col {
    padding-left: 0;
    padding-right: 0;
  }
}
.site-info .l-row .site-info--company {
  width: 40%;
}
@media (max-width: 690px) {
  .site-info .l-row .site-info--company {
    width: 100%;
  }
}
.site-info .l-row .site-info--company a {
  color: #fff;
}
@media (max-width: 1180px) {
  .site-info .l-row .site-info--company .is-tab {
    display: block;
  }
}
.site-info .l-row .site-info--menu {
  width: 60%;
}
@media (max-width: 690px) {
  .site-info .l-row .site-info--menu {
    width: 100%;
    padding-top: 0;
  }
}
@media (max-width: 520px) {
  .site-info .l-row .site-info--menu {
    display: block;
    margin-bottom: 0;
  }
}
.site-info .l-row .site-info--menu .menu-footer-container ul {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(6, auto);
}
@media (max-width: 690px) {
  .site-info .l-row .site-info--menu .menu-footer-container ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    text-align: left;
  }
}
.site-info .l-row .site-info--menu .menu-footer-container ul li a {
  font-size: 0.86em;
  color: #dfdfdf;
  position: relative;
  display: block;
  padding: 0.25em 1em 0.25em 1em;
  white-space: nowrap;
}
.site-info .l-row .site-info--menu .menu-footer-container ul li a:visited {
  color: #dfdfdf;
}
.site-info .l-row .site-info--menu .menu-footer-container ul li a:hover {
  color: #d92027;
}
@media (max-width: 520px) {
  .site-info .l-row .site-info--menu .menu-footer-container ul li a {
    padding: 1em;
    border-top: 1px solid rgba(33, 33, 33, 0.3);
  }
}
.site-info .l-row .site-info--menu .menu-footer-container ul li a::before {
  content: "";
  width: 0.3em;
  height: 0.5em;
  background: #F2F3F6;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  position: absolute;
  margin: auto;
  left: 0;
  top: 0;
  bottom: 0;
}
@media (max-width: 520px) {
  .site-info .l-row .site-info--menu .menu-footer-container ul li a::before {
    left: auto;
    right: 1em;
  }
}
@media (max-width: 690px) {
  .site-info .l-row .site-info--menu .menu-footer-container ul li {
    width: 50%;
  }
}
.site-info-logo {
  margin-bottom: 1em;
}
.site-info-logo img {
  height: 2.5em;
}
.site-info .txt {
  font-size: 0.7em;
  color: #fff;
  margin-bottom: 0.5em;
}
@media (max-width: 690px) {
  .site-info .txt {
    font-size: 1em;
  }
}
.site-info .tx-copy {
  font-size: 0.7em;
  color: #fff;
  text-align: right;
}
@media (max-width: 690px) {
  .site-info .tx-copy {
    text-align: center;
    margin: 2em 0;
  }
}

.site-info--privacy {
  display: flex;
  align-items: flex-end;
}
@media (max-width: 690px) {
  .site-info--privacy {
    align-items: flex-start;
    justify-content: center;
  }
}
@media (max-width: 520px) {
  .site-info--privacy .menu-privacy-container {
    width: 100%;
  }
}
.site-info--privacy ul {
  display: flex;
  margin-left: -1em;
}
@media (max-width: 690px) {
  .site-info--privacy ul li {
    width: 50%;
    text-align: left;
  }
}
.site-info--privacy ul a {
  display: block;
  color: #212121;
  padding: 0 1em;
  position: relative;
  font-size: 0.86em;
  color: #dfdfdf;
}
.site-info--privacy ul a:hover {
  color: #d92027;
}
.site-info--privacy ul a br {
  display: none;
}
@media (max-width: 520px) {
  .site-info--privacy ul a br {
    display: block;
  }
}
@media (max-width: 520px) {
  .site-info--privacy ul a {
    border-top: 1px solid rgba(33, 33, 33, 0.3);
  }
  .site-info--privacy ul a::before {
    content: "";
    width: 0.5em;
    height: 0.7em;
    background: #d92027;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    bottom: 0;
  }
}
@media (max-width: 690px) {
  .site-info--privacy .menu-privacy-container ul {
    justify-content: center;
  }
}
@media (max-width: 690px) {
  .site-info--privacy .menu-privacy-container ul li {
    width: auto;
  }
}

.site-info-lower {
  border-top: 1px solid rgba(255, 255, 255, 0.5019607843);
  padding-top: 1.7em;
  margin-top: 1.7em;
}
@media (max-width: 690px) {
  .site-info-lower {
    padding: 0;
    margin: 0;
    border: none;
  }
}
.site-info-lower .l-row {
  align-items: center;
}

.l-emp {
  min-height: 80vh;
  padding-top: 12em;
}
.l-emp .page-title {
  font-size: 4.8em;
  margin-bottom: 1em;
}

.wrap-content {
  background-color: #fff;
  padding: 6em;
}
@media (max-width: 960px) {
  .wrap-content {
    padding: 3em;
  }
}
@media (max-width: 690px) {
  .wrap-content {
    padding: 2em;
  }
}
@media (max-width: 520px) {
  .wrap-content {
    padding: 1em;
  }
}

.error-404 {
  min-height: 50vh;
}

.error404 .ttl {
  margin-top: 2em;
}

.wrap-policy {
  width: 76.9230769231%;
  margin: 0 auto 4em;
  padding: 4em 0;
  position: relative;
}
@media (max-width: 690px) {
  .wrap-policy {
    width: 100%;
    padding: 1em;
  }
}
.wrap-policy::before {
  content: "";
  width: calc(100% + 12em);
  height: 100%;
  background-color: #F2F3F6;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: -6em;
  z-index: -1;
}
.wrap-policy ol,
.wrap-policy dl,
.wrap-policy p {
  margin-bottom: 1.3em;
}
.wrap-policy .blk-rgt {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
.wrap-policy .tb-no {
  width: -moz-fit-content;
  width: fit-content;
}
.wrap-policy .tb-no th {
  padding: 0 2em 0 0;
}
.wrap-policy .tb-no td {
  padding: 0;
}
.wrap-policy .subttl {
  font-size: 1.3em;
}

.ol-dcl {
  list-style: decimal;
  padding-left: 2.1em;
}

.dl-tb {
  display: flex;
  flex-wrap: wrap;
  margin-left: 1.1em;
}
@media (max-width: 690px) {
  .dl-tb {
    display: block;
    margin-left: 0;
  }
}
.dl-tb dt {
  width: 10em;
}
@media (max-width: 690px) {
  .dl-tb dt {
    width: 100%;
    margin-bottom: 1em;
  }
}
.dl-tb dd {
  width: calc(100% - 10em);
  margin-bottom: 0.5em;
}
@media (max-width: 690px) {
  .dl-tb dd {
    width: 100%;
    margin-bottom: 1em;
  }
}

.scl-view {
  position: relative;
  display: inline-block;
}
.scl-view .is-mttl--top {
  transition: clip-path 0.8s cubic-bezier(0, 0.85, 0.09, 0.09);
  clip-path: polygon(0 0, -100% 0, -100% 100%, 0 100%);
  position: absolute;
  color: #132939;
  top: 0;
  left: 0;
  display: block;
  letter-spacing: 0.02em;
}
.scl-view .is-mttl--bottom {
  color: #d0d0d0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  letter-spacing: 0.02em;
}
.scl-view.is-active .is-mttl--top {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.scl-view.is-active .is-mttl--bottom {
  opacity: 1;
  transform: translateZ(0);
}

.scl-view {
  position: inherit;
  display: block;
}
.scl-view .bg-wrap {
  display: block;
  overflow: hidden;
  opacity: 0;
}
.scl-view .bg-wrap .view {
  display: block;
  opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition: 2.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.scl-view.is-active .bg-wrap {
  opacity: 1;
}
.scl-view.is-active .bg-wrap .view {
  opacity: 1;
  transform: matrix(1, 0, 0, 1, 0, 0);
}/*# sourceMappingURL=style-plus.css.map */