@charset "UTF-8";
/*///////////////////////////////////////////////////
//
//            ▼ ベース設定 ▼
//
///////////////////////////////////////////////////*/
body {
  -webkit-text-size-adjust: 100%;
}

html {
  color: #222;
  font-size: 3.846vw;
  line-height: 2;
  font-family: "Noto Serif JP", serif;
  -webkit-text-size-adjust: 100%;
}

@media screen and (min-width: 420px) {
  html {
    font-size: 18px;
  }
}
a {
  color: #3C60AE;
  display: block;
}

#wrapper {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

section,
.section {
  width: 100%;
  height: auto;
  position: relative;
}

.l_container {
  width: 100%;
  padding: 0 1rem;
}

.container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.m_container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.s_container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.is_pc {
  display: none;
}

.is_hidden_tab {
  display: none;
}

.is_tab {
  display: none;
}

.objectCover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover;object-position: 50% 50%;";
}

.objectContain {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
  font-family: "object-fit: contain;object-position: 50% 50%;";
}

.point_reader {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.inertia {
  -webkit-overflow-scrolling: touch;
}

.preload * {
  transition: none;
}

/*///////////////////////////////////////////////////
//
//            ▼ アニメーション ▼
//
///////////////////////////////////////////////////*/
.fadein {
  transition: transform 0.6s, opacity 0.6s;
  transform: translate(0, 50px);
  opacity: 0;
}
.fadein.active {
  transform: translate(0, 0);
  opacity: 1;
}

@keyframes copy_en_pc {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -426.25rem 0;
  }
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.mask {
  position: relative;
}
.mask::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: #3C60AE;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
}
.mask.active::before {
  -webkit-animation: mask-anim 1.75s cubic-bezier(0.86, 0, 0.07, 1) forwards;
  animation: mask-anim 1.75s cubic-bezier(0.86, 0, 0.07, 1) forwards;
}
.mask.active img {
  animation: img-anim 1.75s linear forwards;
}

@keyframes mask-anim {
  0% {
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  51% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  100% {
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
}
@keyframes img-anim {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  51% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ 共通 ▼
//
///////////////////////////////////////////////////*/
.en {
  font-family: "Poppins", sans-serif;
}

.btn01 {
  width: 20rem;
  margin: 0 auto;
}
.btn01 a {
  font-weight: 700;
  padding: 1.5625rem 3.5625rem;
  position: relative;
  line-height: 1;
  background: linear-gradient(to right, #3C60AE, #779EF3);
  color: #fff;
  border: 2px solid #3C60AE;
  border-image: linear-gradient(to right, #3C60AE, #779EF3);
  border-image-slice: 1;
}

.btn02 {
  width: 20rem;
}
.btn02 a {
  font-weight: 700;
  padding: 1.5625rem 3.5625rem;
  position: relative;
  border: 2px solid #FFF;
  line-height: 1;
  color: #fff;
}

.section_ttl01 {
  position: relative;
}
.section_ttl01 .en {
  font-size: 5.125rem;
  font-weight: 700;
  font-style: italic;
  color: #D8DFEF;
  opacity: 0.3;
  line-height: 1;
}
.section_ttl01 .jp_group {
  position: absolute;
  bottom: -1.5rem;
  left: 0;
  line-height: 1;
}
.section_ttl01 .jp_group h2 {
  font-size: 1.375rem;
  margin: 0 0 0.625rem;
}
.section_ttl01 .jp_group span {
  font-size: 0.75rem;
}

.page_link {
  margin: 3.25rem 0;
}
.page_link figure {
  position: relative;
  box-shadow: 0.25rem 0.25rem 0.625rem rgba(0, 0, 0, 0.16);
}
.page_link .txt {
  position: absolute;
  top: 1.75rem;
  right: 2rem;
  color: #3C60AE;
  text-align: right;
}
.page_link .txt .en {
  font-size: 3.25rem;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
}
.page_link .txt h2 {
  font-size: 1.25rem;
  line-height: 1;
  margin: 0 0 0 0.5rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ ナビ ▼
//
///////////////////////////////////////////////////*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50000;
  transition: 0.3s;
}
header.active {
  background: rgb(255, 255, 255);
}
header.active .header_inner .logo .logo_w {
  opacity: 0;
}
header.active .header_inner .logo .logo_bl {
  opacity: 1;
}
header.active .header_inner .menu_open span {
  background: #3C60AE;
}
header.active .header_inner .menu_open.active span {
  background: #fff;
}
header .header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 92.3%;
  margin: 0.3125rem auto 0;
}
header .header_inner .logo {
  line-height: 1;
  width: 11.75rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
}
header .header_inner .logo a {
  width: 100%;
  position: relative;
}
header .header_inner .logo a img {
  display: block;
  width: 100%;
  height: auto;
}
header .header_inner .logo a .logo_w {
  opacity: 1;
}
header .header_inner .logo a .logo_bl {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
header .header_inner nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #3C60AE, #779EF3);
  transition: 0.3s;
  padding: 4.6875rem 0.9375rem 0 0.9375rem;
}
header .header_inner nav.active {
  right: 0;
}
header .header_inner nav ul li {
  border-bottom: solid 1px #fff;
}
header .header_inner nav ul li a {
  color: #fff;
  width: 100%;
  padding: 2rem 0 1rem;
}
header .header_inner nav ul li a .logo_w {
  opacity: 1;
}
header .header_inner nav ul li a .logo_bl {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
header .header_inner nav .phone {
  width: 88.88%;
  margin: 3rem auto 0;
  padding: 0.75rem 0;
  background: #fff;
  color: #3C60AE;
}
header .header_inner nav .phone .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
header .header_inner nav .phone .inner .num_wrap {
  display: flex;
  gap: 0.5rem;
}
header .header_inner nav .phone .inner .num_wrap .icon {
  font-size: 1.125rem;
}
header .header_inner nav .phone .inner .num_wrap .num {
  font-size: 1.125rem;
  font-weight: 700;
}
header .header_inner nav .phone .inner .small {
  font-size: 0.75rem;
  font-weight: 700;
  margin: -0.5rem 0 0;
}
header .header_inner .menu_open {
  width: 3.125rem;
  height: em(50);
  position: relative;
}
header .header_inner .menu_open span {
  position: absolute;
  top: 60%;
  left: 60%;
  background: #fff;
  width: 40%;
  height: 2px;
  transition: 0.3s;
}
header .header_inner .menu_open span:nth-of-type(1) {
  transform: translate(-50%, -50%) translateY(7px);
}
header .header_inner .menu_open span:nth-of-type(2) {
  transform: translate(-50%, -50%);
}
header .header_inner .menu_open span:nth-of-type(3) {
  transform: translate(-50%, -50%) translateY(-7px);
}
header .header_inner .menu_open.active span:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
header .header_inner .menu_open.active span:nth-of-type(2) {
  opacity: 0;
}
header .header_inner .menu_open.active span:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/*///////////////////////////////////////////////////
//
//            ▼ フッター ▼
//
///////////////////////////////////////////////////*/
footer {
  background: #364154;
  color: #fff;
  padding: 3.6875rem 0 1.5rem;
}
footer .box {
  margin: 0 0 3.9375rem;
}
footer .box .footer_logo a {
  width: 11.75rem;
  display: inline-block;
  margin: 0 0 1.3125rem;
}
footer .box .box_in .left {
  font-size: 0.9rem;
  line-height: 1;
}
footer .box .box_in .left ul li {
  margin: 0 0 0.625rem;
}
footer .box .box_in .left ul li:nth-of-type(1) {
  margin: 0 0 1rem;
}
footer .box .box_in .right {
  display: flex;
  flex-wrap: wrap;
  width: 68%;
  margin: 1.875rem 0 0;
}
footer .box .box_in .right li {
  position: relative;
  padding: 0 0 0 0.5625rem;
  margin: 0 0 0.9375rem;
  width: 50%;
  font-size: 0.9rem;
}
footer .box .box_in .right li::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 0.3125rem;
  height: 0.0625rem;
  background: #3C60AE;
}
footer .box .box_in .right li a {
  color: #fff;
}
footer .copyright p {
  font-size: 0.625rem;
  text-align: center;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ01 ▼
//
///////////////////////////////////////////////////*/
.top01 .mv {
  height: 45.875rem;
  position: relative;
  overflow: hidden;
}
.top01 .mv .swiper-slide {
  height: 45.875rem;
}
.top01 .mv .swiper-slide-active .mv_img,
.top01 .mv .swiper-slide-duplicate-active .mv_img,
.top01 .mv .swiper-slide-prev .mv_img {
  animation: zoomUp 10s linear 0s 1 normal both;
}
.top01 .mv .copy_en {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  width: 100%;
  height: 5.375rem;
}
.top01 .mv .copy_en .copy_img {
  width: 208.3125rem;
  height: 5.375rem;
  background: url(../images/top/mv_copy_en.png) 0 0/contain repeat-x;
  animation: copy_en_pc 80s linear infinite;
}
.top01 .mv .copy_jp {
  position: absolute;
  z-index: 1;
  bottom: 8%;
  left: 5%;
  width: 100%;
}
.top01 .mv .copy_jp h2 {
  font-size: 1.75rem;
  color: #fff;
  font-weight: 700;
}
.top01 .mv figure {
  position: absolute;
  z-index: 1;
  top: 12%;
  right: -3%;
  width: 60%;
}
@media screen and (min-width: 420px) {
  .top01 .mv figure {
    width: 45%;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ02 ▼
//
///////////////////////////////////////////////////*/
.top02 {
  padding: 4.375rem 0;
  position: relative;
}
.top02 .box {
  display: flex;
  flex-direction: column;
}
.top02 .box figure {
  order: 2;
  margin: 1.125rem 0 1.25rem;
  aspect-ratio: 358/390;
  overflow: hidden;
}
.top02 .box .box_in {
  display: contents;
}
.top02 .box .box_in h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #3C60AE;
  order: 1;
}
.top02 .box .box_in .txt {
  order: 2;
  margin: 0 0 1.875rem;
}
.top02 .box .box_in .txt p {
  font-size: 0.9rem;
}
.top02 .box .box_in .btn01 {
  order: 4;
}
.top02 .haguruma01 {
  position: absolute;
  z-index: -1;
  bottom: -1%;
  left: -21%;
  width: 65%;
}
.top02 .haguruma02 {
  position: absolute;
  z-index: -1;
  top: -4%;
  right: 1%;
  width: 43.4%;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ03 ▼
//
///////////////////////////////////////////////////*/
.top03 {
  background: url(../images/top/top03_bg01.webp) no-repeat 55% 20%/135%, linear-gradient(to right, #3C60AE, #779EF3);
  padding: 2.5rem 0 0;
  color: #fff;
}
@media screen and (min-width: 420px) {
  .top03 {
    background: url(../images/top/top03_bg01.webp) no-repeat 55% 15%/130%, linear-gradient(to right, #3C60AE, #779EF3);
  }
}
.top03::after {
  position: absolute;
  content: "";
  bottom: 13%;
  right: -60%;
  width: 120%;
  height: 52.75rem;
  background: url(../images/top/top03_bg02.webp) no-repeat center/contain;
}
.top03 .box01 .intro {
  margin: 3rem 0 30rem;
  font-size: 0.9rem;
}
@media screen and (min-width: 590px) {
  .top03 .box01 .intro {
    margin: 3rem 0 37.5rem;
  }
}
.top03 .box01 .txt h3 {
  font-size: 1.125rem;
  font-weight: 700;
}
.top03 .box01 .txt p {
  margin: 0 0 0.9rem;
}
.top03 .box02 {
  position: relative;
  z-index: 2;
  border-bottom: 1px solid #D8DFEF;
}
.top03 .box02::after {
  position: absolute;
  z-index: -1;
  content: "";
  bottom: -0.5%;
  left: -50%;
  width: 200%;
  height: 70%;
  background: #fff;
  border-bottom: 1px solid #D8DFEF;
}
.top03 .box02 .box_in .btn_link {
  position: relative;
  margin: 0 0 0.625rem;
}
.top03 .box02 .box_in .btn_link .txt_box {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  color: #fff;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.top03 .box02 .box_in .btn_link .txt_box h3 {
  display: inline-block;
  font-size: 1.375rem;
  margin: 0 0 -0.2rem;
}
.top03 .box02 .box_in .btn_link .txt_box .en {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.2rem;
  margin: 0 0 1rem;
}
.top03 .box02 .box_in .btn_link .txt_box p {
  display: inline-block;
  text-align: center;
  font-size: 0.9rem;
}
.top03 .box02 .btn01 {
  margin: 3.375rem auto;
  position: relative;
  z-index: 2;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ04 ▼
//
///////////////////////////////////////////////////*/
.top04 {
  margin: 3.25rem 0 3.125rem;
}
.top04 .box {
  display: flex;
  flex-direction: column-reverse;
  margin: 3.5rem 0 0;
}
.top04 .box .box_in .item_wrap {
  margin: 1.875rem 0 2.25rem;
}
.top04 .box .box_in .item_wrap .item {
  padding: 2.4rem 0 0.875rem 0;
  margin: 1.8rem 0 0;
  border-bottom: solid 1px #D8DFEF;
}
.top04 .box .box_in .item_wrap .item:nth-of-type(1) {
  position: relative;
}
.top04 .box .box_in .item_wrap .item:nth-of-type(1)::before {
  position: absolute;
  z-index: -1;
  content: "01";
  top: 0;
  left: 0;
  font-size: 5.125rem;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  color: #EBEFF7;
}
.top04 .box .box_in .item_wrap .item:nth-of-type(2) {
  position: relative;
}
.top04 .box .box_in .item_wrap .item:nth-of-type(2)::before {
  position: absolute;
  z-index: -1;
  content: "02";
  top: 0;
  left: 0;
  font-size: 5.125rem;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  color: #EBEFF7;
}
.top04 .box .box_in .item_wrap .item:nth-of-type(3) {
  position: relative;
}
.top04 .box .box_in .item_wrap .item:nth-of-type(3)::before {
  position: absolute;
  z-index: -1;
  content: "03";
  top: 0;
  left: 0;
  font-size: 5.125rem;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  color: #EBEFF7;
}
.top04 .box .box_in .item_wrap .item:nth-of-type(3) h3 {
  margin: -2rem 0 0;
}
.top04 .box .box_in .item_wrap .item:nth-of-type(4) {
  position: relative;
}
.top04 .box .box_in .item_wrap .item:nth-of-type(4)::before {
  position: absolute;
  z-index: -1;
  content: "04";
  top: 0;
  left: 0;
  font-size: 5.125rem;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  color: #EBEFF7;
}
.top04 .box .box_in .item_wrap .item h3 {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 0.25rem;
  padding: 0 0 0 1.375rem;
}
.top04 .box .box_in .item_wrap .item p {
  font-size: 0.9rem;
}
.top04 .box .box_in .item_wrap .btn01 {
  margin: 1.875rem auto 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ05 ▼
//
///////////////////////////////////////////////////*/
.top05 {
  background: url(../images/top/top05_bg01.webp);
  padding: 0 0 21.5625rem;
}
.top05::before {
  position: absolute;
  content: "";
  top: -0.5%;
  left: 0;
  width: 100%;
  height: 20%;
  background: #fff;
}
.top05 .box {
  background: #fff;
  width: 96.15%;
  margin: 0 0 0 auto;
  position: relative;
  z-index: 2;
}
.top05 .box .box_in {
  padding: 0 0 1.875rem;
}
.top05 .box .box_in .section_ttl01 {
  margin: 0 0 3.875rem;
}
.top05 .box .box_in .section_ttl01 .en {
  font-size: 3.8rem;
}
.top05 .box .box_in .section_ttl01 .jp_group {
  bottom: -2rem;
}
.top05 .box .box_in .item_wrap {
  width: 96.15%;
  margin: 0 0 0 auto;
  display: flex;
  justify-content: space-between;
  background: #fff;
  position: relative;
}
.top05 .box .box_in .item_wrap .swiper-button-prev {
  position: absolute;
  top: -3.25rem;
  right: 4.5625rem;
  width: 2.625rem;
  height: 2.625rem;
  background: url(../images/top/top05_arrowprev.webp) no-repeat center/30%;
  border: 1px solid #3C60AE;
  border-radius: 50%;
}
.top05 .box .box_in .item_wrap .swiper-button-next {
  position: absolute;
  top: -3.25rem;
  right: 0.9375rem;
  width: 2.625rem;
  height: 2.625rem;
  background: url(../images/top/top05_arrownext.webp) no-repeat center/30%;
  border: 1px solid #3C60AE;
  border-radius: 50%;
}
.top05 .box .box_in .item_wrap .swiper {
  width: 100%;
}
.top05 .box .box_in .item_wrap .swiper .swiper-container {
  width: 100%;
}
.top05 .box .box_in .item_wrap .swiper .swiper-container .swiper-wrapper {
  width: 100%;
}
.top05 .box .box_in .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide {
  width: 19.23%;
}
.top05 .box .box_in .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item {
  font-size: 0.9rem;
  color: #222;
}
.top05 .box .box_in .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item figure {
  width: 100%;
}
.top05 .box .box_in .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item .copy {
  margin: 0.75rem 0;
}
.top05 .box .box_in .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item .copy .is_splarge {
  display: none;
}
@media screen and (min-width: 420px) and (max-width: 566px) {
  .top05 .box .box_in .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item .copy .is_splarge {
    display: block;
  }
}
.top05 .box .box_in .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt_wrap {
  display: flex;
  align-items: center;
}
.top05 .box .box_in .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt_wrap span {
  background: #3C60AE;
  color: #fff;
  font-size: 0.9rem;
  padding: 0 0.8125rem;
  display: inline-block;
  margin: 0 0.625rem 0 0;
}
.top05 .box .box_in .btn01 {
  margin: 2.625rem 0.9375rem 0 auto;
  position: relative;
  z-index: 2;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ06 ▼
//
///////////////////////////////////////////////////*/
.top06 {
  margin: -20rem 0 0;
}
.top06 .section_ttl01 {
  margin: 0 0 8rem;
}
.top06 .section_ttl01 .en {
  color: #3C60AE;
  opacity: 1;
  font-size: 3.875rem;
}
.top06 .section_ttl01 .jp_group {
  bottom: -6.6rem;
}
.top06 .section_ttl01 .jp_group h2 {
  color: #fff;
}
.top06 .section_ttl01 .jp_group .btn02 {
  position: relative;
  z-index: 2;
  margin: 1.5625rem 0 0;
}
.top06 .swiper {
  width: 100%;
}
.top06 .swiper .swiper-container {
  width: 100%;
}
.top06 .swiper .swiper-container .swiper-wrapper {
  transition-timing-function: linear;
  width: 100%;
}
.top06 .swiper .swiper-container .swiper-wrapper .swiper-slide {
  width: 28.9%;
}

/*///////////////////////////////////////////////////
//
//            ▼ 代表メッセージ02 ▼
//
///////////////////////////////////////////////////*/
.message02 {
  margin: 3.5rem 0;
}
.message02 .box {
  width: 92.3%;
  margin: 0 auto;
  display: flex;
  flex-direction: column-reverse;
}
.message02 .box .left h2 {
  color: #3C60AE;
  font-size: 1.125rem;
  margin: 1.5rem 0 0.75rem;
  text-align: center;
}
.message02 .box .left h2 .block {
  display: none;
}
.message02 .box .left .txt_wrap {
  font-size: 0.9rem;
}
.message02 .box .left .txt_wrap ul li {
  margin: 0 0 0 1rem;
  list-style: disc;
}
.message02 .box .left .txt_wrap ul li::marker {
  font-size: 0.5rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 代表メッセージ03 ▼
//
///////////////////////////////////////////////////*/
.message03 .box {
  width: 92.3%;
  margin: 0 auto;
}
.message03 .right .txt {
  margin: 0 0 1.375rem;
}
.message03 .right .txt h2 {
  color: #3C60AE;
  font-size: 1.125rem;
  margin: 1.5rem 0 0.75rem;
  text-align: center;
}
.message03 .right .txt h2 .block {
  display: none;
}
.message03 .right .txt p {
  font-size: 0.9rem;
}
.message03 .right .name {
  font-size: 1rem;
  font-weight: 700;
  text-align: right;
}

/*///////////////////////////////////////////////////
//
//            ▼ 仕事を知る02 ▼
//
///////////////////////////////////////////////////*/
.job02 {
  margin: 1rem 0;
}
.job02 p {
  color: #3C60AE;
  font-weight: 900;
  text-align: center;
  padding: 4rem 0;
  background: url(../images/common/haguruma01.webp) no-repeat center/contain;
}

/*///////////////////////////////////////////////////
//
//            ▼ 仕事を知る03 ▼
//
///////////////////////////////////////////////////*/
.job03 {
  background: #EBEFF7;
  padding: 0 0 4.0625rem;
  margin: 0 0 2.375rem;
}
.job03::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 3.75rem;
  background: #fff;
}
.job03 .box .box_in {
  width: 100%;
  margin: 4.5625rem 0 0;
  position: relative;
  z-index: 2;
}
.job03 .box .box_in::before {
  position: absolute;
  z-index: -1;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0.1875rem;
  height: 100%;
  background: #3C60AE;
}
.job03 .box .box_in .item {
  background: #fff;
  padding: 2.375rem 1.5625rem;
  margin: 0 0 3.875rem;
  position: relative;
}
.job03 .box .box_in .item:last-of-type {
  margin: 0;
}
.job03 .box .box_in .item .num {
  position: absolute;
  top: -2.625rem;
  left: 0;
  right: 0;
  margin: auto;
  width: 5.3125rem;
  height: 5.3125rem;
  background: #3C60AE;
  border-radius: 50%;
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
  font-style: italic;
  text-align: center;
  line-height: 5.3125rem;
}
.job03 .box .box_in .item .flex_wrap .txt {
  margin: 0 0 1.75rem;
}
.job03 .box .box_in .item .flex_wrap .txt h3 {
  font-size: 1.125rem;
  color: #3C60AE;
  border-bottom: solid 1px #D8DFEF;
  padding: 0 0 0.5rem;
  margin: 0 0 0.75rem;
}
.job03 .box .box_in .item .flex_wrap .txt p {
  font-size: 0.9rem;
}
.job03 .box .box_in .item .flex_wrap figure {
  overflow: hidden;
  aspect-ratio: 310/211;
}

/*///////////////////////////////////////////////////
//
//            ▼ 仕事を知る04 ▼
//
///////////////////////////////////////////////////*/
.job04 .box {
  margin: 2.375rem 0 0;
}
.job04 .box figure {
  width: 100%;
  box-shadow: 0.25rem 0.25rem 0.625rem rgba(0, 0, 0, 0.16);
}

/*///////////////////////////////////////////////////
//
//            ▼ 仕事を知る05 ▼
//
///////////////////////////////////////////////////*/
.job05 .txt {
  color: #fff;
}

/*///////////////////////////////////////////////////
//
//            ▼ 働く環境を知る02 ▼
//
///////////////////////////////////////////////////*/
.about02 {
  margin: 3.5rem 0;
}
.about02 .box .box_in {
  margin: 2rem 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2.5rem 3.125%;
}
.about02 .box .box_in .item {
  border: 2px solid #3C60AE;
  padding: 1.375rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.about02 .box .box_in .item:nth-of-type(1) h3, .about02 .box .box_in .item:nth-of-type(2) h3, .about02 .box .box_in .item:nth-of-type(3) h3, .about02 .box .box_in .item:nth-of-type(4) h3, .about02 .box .box_in .item:nth-of-type(5) h3, .about02 .box .box_in .item:nth-of-type(6) h3, .about02 .box .box_in .item:nth-of-type(7) h3, .about02 .box .box_in .item:nth-of-type(8) h3, .about02 .box .box_in .item:nth-of-type(9) h3 {
  position: relative;
  width: 100%;
}
.about02 .box .box_in .item:nth-of-type(1) h3::before, .about02 .box .box_in .item:nth-of-type(2) h3::before, .about02 .box .box_in .item:nth-of-type(3) h3::before, .about02 .box .box_in .item:nth-of-type(4) h3::before, .about02 .box .box_in .item:nth-of-type(5) h3::before, .about02 .box .box_in .item:nth-of-type(6) h3::before, .about02 .box .box_in .item:nth-of-type(7) h3::before, .about02 .box .box_in .item:nth-of-type(8) h3::before, .about02 .box .box_in .item:nth-of-type(9) h3::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  content: "01";
  font-size: 6.25rem;
  line-height: 1;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: italic;
  color: #EBEFF7;
}
.about02 .box .box_in .item:nth-of-type(2) h3::before {
  content: "02";
}
.about02 .box .box_in .item:nth-of-type(3) h3::before {
  content: "03";
}
.about02 .box .box_in .item:nth-of-type(4) h3::before {
  content: "04";
}
.about02 .box .box_in .item:nth-of-type(5) h3::before {
  content: "05";
}
.about02 .box .box_in .item:nth-of-type(6) h3::before {
  content: "06";
}
.about02 .box .box_in .item:nth-of-type(7) h3::before {
  content: "07";
}
.about02 .box .box_in .item:nth-of-type(8) h3::before {
  content: "08";
}
.about02 .box .box_in .item:nth-of-type(9) h3::before {
  content: "09";
}
.about02 .box .box_in .item .h3_1l,
.about02 .box .box_in .item .h3_2l {
  font-size: 1.125rem;
  text-align: center;
  line-height: 1.5;
  padding: 3rem 0 0;
}
.about02 .box .box_in .item .h3_1l {
  padding: 4.5625rem 0 0;
}
.about02 .box .box_in .item .icon {
  margin: 1rem 0;
}
.about02 .box .box_in .item .txt {
  font-size: 0.9rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  height: auto;
}
.about02 .box .box_in .item .read,
.about02 .box .box_in .item .close {
  color: #3C60AE;
  display: inline-block;
  font-weight: 700;
  position: relative;
}
.about02 .box .box_in .item .read::after,
.about02 .box .box_in .item .close::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: -1.25rem;
  width: 0.6875rem;
  height: 0.9375rem;
  background: url(../images/about/about02_arrow01.webp) no-repeat center/contain;
}
.about02 .box .box_in .item .close::after {
  background: url(../images/about/about02_arrow02.webp) no-repeat center/contain;
}

/*///////////////////////////////////////////////////
//
//            ▼ 働く環境を知る03 ▼
//
///////////////////////////////////////////////////*/
.about03 {
  background: #EBEFF7;
  padding: 5.125rem 0 2.8125rem;
}
.about03 .section_ttl_lower .ttl_in .ttl_group .en {
  color: #fff;
}
.about03 .box_in {
  margin: 1.25rem 0;
  background: #fff;
  padding: 2.5rem 0;
}
.about03 .box_in .item_wrap {
  width: 91.67%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.about03 .box_in .item_wrap::before {
  position: absolute;
  z-index: -1;
  content: "";
  top: 0;
  bottom: 0;
  left: 8.2%;
  width: 2px;
  height: 92%;
  background: #3C60AE;
}
.about03 .box_in .item_wrap .item {
  margin: 0 0 2rem;
}
.about03 .box_in .item_wrap .item .txt_box .time {
  width: 31.12%;
  color: #fff;
  text-align: center;
}
.about03 .box_in .item_wrap .item .txt_box .time p {
  background: #3C60AE;
  padding: 0.625rem 0;
  border-radius: 6.25rem;
  font-size: 0.9rem;
  line-height: 1;
}
.about03 .box_in .item_wrap .item .txt_box .txt_in {
  margin: -1.5rem 0 0;
  font-size: 0.9rem;
}
.about03 .box_in .item_wrap .item .txt_box .txt_in h3 {
  color: #3C60AE;
  line-height: 1;
  margin: 0 0 1.25rem 7.1875rem;
}
@media screen and (min-width: 650px) {
  .about03 .box_in .item_wrap .item .txt_box .txt_in h3 {
    margin: 0 0 1.25rem 11.5625rem;
  }
}
@media screen and (min-width: 550px) and (max-width: 649px) {
  .about03 .box_in .item_wrap .item .txt_box .txt_in h3 {
    margin: 0 0 1.25rem 10rem;
  }
}
@media screen and (min-width: 480px) and (max-width: 549px) {
  .about03 .box_in .item_wrap .item .txt_box .txt_in h3 {
    margin: 0 0 1.25rem 8.4375rem;
  }
}
@media screen and (min-width: 420px) and (max-width: 479px) {
  .about03 .box_in .item_wrap .item .txt_box .txt_in h3 {
    margin: 0 0 1.25rem 7.1875rem;
  }
}
.about03 .box_in .item_wrap .item .txt_box .txt_in .txt {
  width: 84.85%;
  margin: 0 0 0 auto;
}
.about03 .box_in .item_wrap .item .txt_box .txt_in .small {
  width: 84.85%;
  margin: 0 0 0 auto;
  font-size: 0.75rem;
}
.about03 .box_in .item_wrap .item figure {
  width: 84.85%;
  margin: 1.375rem 0 0 auto;
}

/*///////////////////////////////////////////////////
//
//            ▼ 働く環境を知る04 ▼
//
///////////////////////////////////////////////////*/
.about04 {
  margin: 1.875rem 0 0;
}
.about04 .box_in {
  margin: 1.875rem 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.9375rem 0;
}
.about04 .box_in .item {
  box-shadow: 0.0625rem 0 0.25rem rgba(0, 0, 0, 0.16);
}
.about04 .box_in .item p {
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
  background: #D8DFEF;
  padding: 1.25rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 働く環境を知る05 ▼
//
///////////////////////////////////////////////////*/
.about05 .txt {
  color: #fff;
}

/*///////////////////////////////////////////////////
//
//            ▼ 働く人を知る02 ▼
//
///////////////////////////////////////////////////*/
.interview02 {
  margin: 3.4375rem 0 10.1875rem;
}
.interview02 .section_ttl_lower .ttl_group .en {
  font-size: 3.875rem;
}
.interview02 .box_in {
  margin: 2.3125rem auto 0;
}
.interview02 .box_in .item {
  margin: 0 0 9.9375rem;
  position: relative;
}
.interview02 .box_in .item:nth-of-type(2n) figure {
  margin: 0 auto 0 0;
}
.interview02 .box_in .item:nth-of-type(2n) .txt_box {
  margin: 0 0 0 auto;
}
.interview02 .box_in .item:last-of-type {
  margin: 0;
}
.interview02 .box_in .item figure {
  width: 95.28%;
  margin: 0 0 0 auto;
}
.interview02 .box_in .item .txt_box {
  position: absolute;
  z-index: 2;
  bottom: -6.9375rem;
  left: 0;
  right: 0;
  margin: 0 auto 0 0;
  width: 81.94%;
  background: linear-gradient(to right, #3C60AE, #779EF3);
  padding: 1.3125rem 0 2.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.interview02 .box_in .item .txt_box .num_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.interview02 .box_in .item .txt_box .num_wrap .letter {
  color: #D8DFEF;
  font-size: 1.125rem;
  font-weight: 700;
  font-style: italic;
  margin: 0 -1rem 0 0;
  position: relative;
  z-index: 2;
}
.interview02 .box_in .item .txt_box .num_wrap .num {
  font-size: 4.25rem;
  font-weight: 700;
  font-style: italic;
  color: #fff;
  line-height: 1;
}
.interview02 .box_in .item .txt_box .name_wrap .copy {
  font-size: 1rem;
  color: #fff;
  text-align: center;
}
.interview02 .box_in .item .txt_box .name_wrap .name {
  font-size: 1.25rem;
  color: #fff;
  text-align: center;
}

/*///////////////////////////////////////////////////
//
//            ▼ スタッフ01〜05_02 ▼
//
///////////////////////////////////////////////////*/
.staff01_02 {
  background: #EBEFF7;
  padding: 8.25rem 0 1.875rem;
}
.staff01_02 .box {
  background: #fff;
  padding: 0 0 3rem;
  position: relative;
  z-index: 2;
}
.staff01_02 .box::before {
  position: absolute;
  z-index: -1;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 4.25rem;
  background: #EBEFF7;
}
.staff01_02 .box .item_l {
  width: 90.56%;
  margin: 0 auto 3rem;
}
.staff01_02 .box .item_l figure {
  position: relative;
}
.staff01_02 .box .item_l figure figcaption {
  position: absolute;
  bottom: -8.1875rem;
  right: 0;
  text-align: right;
  font-size: 0.625rem;
  color: #3C60AE;
  font-weight: 700;
  line-height: 1;
}
.staff01_02 .box .item_l .txt_box {
  position: absolute;
  z-index: 2;
  bottom: -6.9375rem;
  left: 0;
  right: 0;
  margin: 0 auto 0;
  width: 90.5%;
  background: linear-gradient(to right, #3C60AE, #779EF3);
  padding: 1.3125rem 0 2.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.staff01_02 .box .item_l .txt_box .num_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.staff01_02 .box .item_l .txt_box .num_wrap .letter {
  color: #D8DFEF;
  font-size: 1.125rem;
  font-weight: 700;
  font-style: italic;
  margin: 0 -1rem 0 0;
  position: relative;
  z-index: 2;
}
.staff01_02 .box .item_l .txt_box .num_wrap .num {
  font-size: 4.25rem;
  font-weight: 700;
  font-style: italic;
  color: #fff;
  line-height: 1;
}
.staff01_02 .box .item_l .txt_box .name_wrap .copy {
  font-size: 1rem;
  color: #fff;
  text-align: center;
}
.staff01_02 .box .item_l .txt_box .name_wrap .name {
  font-size: 1.25rem;
  color: #fff;
  text-align: center;
}
.staff01_02 .box .box_in {
  width: 90.56%;
  margin: 10.0625rem auto 0;
}
.staff01_02 .box .box_in .item_s {
  margin: 0 0 1.875rem;
}
.staff01_02 .box .box_in .item_s:last-of-type {
  margin: 0 0 2.5rem;
}
.staff01_02 .box .box_in .item_s h3 {
  font-size: 1.25rem;
  color: #3C60AE;
  text-align: center;
  padding: 2.6875rem 0 1.25rem;
  border-bottom: solid 2px #F3F5FA;
  background: url(../images/staff01/staff_icon.webp) no-repeat center top/2.1875rem;
}
.staff01_02 .box .box_in .item_s figure {
  margin: 1.8125rem 0 1.3125rem;
}
.staff01_02 .box .box_in .item_s p {
  font-size: 0.9rem;
}
.staff01_02 .box .box_in .comment {
  margin: 1.75rem auto 0;
  background: linear-gradient(to right, #3C60AE, #779EF3);
  color: #fff;
  position: relative;
}
.staff01_02 .box .box_in .comment::before, .staff01_02 .box .box_in .comment::after {
  position: absolute;
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  background: url(../images/staff01/staff_icon02.webp) no-repeat center/contain;
}
.staff01_02 .box .box_in .comment::before {
  top: 0.625rem;
  left: 0.625rem;
}
.staff01_02 .box .box_in .comment::after {
  top: 0.625rem;
  right: 0.625rem;
}
.staff01_02 .box .box_in .comment .comment_in {
  position: relative;
}
.staff01_02 .box .box_in .comment .comment_in::before, .staff01_02 .box .box_in .comment .comment_in::after {
  position: absolute;
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  background: url(../images/staff01/staff_icon02.webp) no-repeat center/contain;
}
.staff01_02 .box .box_in .comment .comment_in::before {
  bottom: 0.75rem;
  left: 0.75rem;
}
.staff01_02 .box .box_in .comment .comment_in::after {
  bottom: 0.75rem;
  right: 0.75rem;
}
.staff01_02 .box .box_in .comment .comment_in .txt {
  width: 86.5%;
  padding: 2.8125rem 0 3.5rem;
  margin: 0 auto;
  text-align: center;
}
.staff01_02 .box .box_in .comment .comment_in .txt .ttl_group {
  margin: 0 0 1.875rem;
}
.staff01_02 .box .box_in .comment .comment_in .txt .ttl_group h4 {
  font-size: 1.125rem;
  line-height: 1;
}
.staff01_02 .box .box_in .comment .comment_in .txt .ttl_group .en {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.2rem;
  line-height: 1;
  margin: 1rem 0 0;
}
.staff01_02 .box .box_in .comment .comment_in .txt p {
  font-size: 0.9rem;
  text-align: left;
}

/*///////////////////////////////////////////////////
//
//            ▼ スタッフ01〜05_03 ▼
//
///////////////////////////////////////////////////*/
.staff01_03 {
  background: #EBEFF7;
  padding: 0 0 3.25rem;
}
.staff01_03 .section_ttl_lower .ttl_group .en {
  color: #fff;
}
.staff01_03 .item_wrap {
  width: 96.15%;
  margin: 4.1875rem 0 0 auto;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.staff01_03 .item_wrap .swiper-button-prev {
  position: absolute;
  top: -3.25rem;
  right: 4.5625rem;
  width: 2.625rem;
  height: 2.625rem;
  background: url(../images/top/top05_arrowprev.webp) no-repeat center/30%;
  border: 1px solid #3C60AE;
  border-radius: 50%;
}
.staff01_03 .item_wrap .swiper-button-next {
  position: absolute;
  top: -3.25rem;
  right: 0.9375rem;
  width: 2.625rem;
  height: 2.625rem;
  background: url(../images/top/top05_arrownext.webp) no-repeat center/30%;
  border: 1px solid #3C60AE;
  border-radius: 50%;
}
.staff01_03 .item_wrap .swiper {
  width: 100%;
}
.staff01_03 .item_wrap .swiper .swiper-container {
  width: 100%;
}
.staff01_03 .item_wrap .swiper .swiper-container .swiper-wrapper {
  width: 100%;
}
.staff01_03 .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide {
  width: 19.23%;
}
.staff01_03 .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item {
  font-size: 0.9rem;
  color: #222;
}
.staff01_03 .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item figure {
  width: 100%;
}
.staff01_03 .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item .copy {
  margin: 0.75rem 0;
}
.staff01_03 .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt_wrap {
  display: flex;
  align-items: center;
}
.staff01_03 .item_wrap .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt_wrap span {
  background: #3C60AE;
  color: #fff;
  font-size: 0.9rem;
  padding: 0 0.8125rem;
  display: inline-block;
  margin: 0 0.625rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社を知る02 ▼
//
///////////////////////////////////////////////////*/
.company02 {
  margin: 1.3125rem 0 3rem;
}
.company02 .intro {
  padding: 0.875rem 0 0;
  text-align: center;
  background: url(../images/common/haguruma01.webp) no-repeat top center/50%;
}
.company02 .intro h2 {
  font-size: 1rem;
  color: #3C60AE;
  line-height: 1;
  padding: 0 0 0.5rem;
  position: relative;
}
.company02 .intro h2::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 1.75rem;
  height: 1px;
  background: #3C60AE;
}
.company02 .intro .copy {
  margin: 0.5rem 0 0.75rem;
  font-size: 1.125rem;
  font-weight: 900;
  color: #3C60AE;
}
.company02 .intro .txt {
  font-size: 0.9rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社を知る03 ▼
//
///////////////////////////////////////////////////*/
.company03,
.company04 {
  background: #EBEFF7;
  padding: 2rem 0;
}
.company03 .box,
.company04 .box {
  display: flex;
  flex-direction: column-reverse;
}
.company03 .box figure,
.company04 .box figure {
  margin: 1.25rem 0 0;
}
.company03 .box figure img,
.company04 .box figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover;object-position: 50% 50%;";
}
.company03 .box .box_in .section_ttl_lower02 .ttl_in .ttl_group .en,
.company04 .box .box_in .section_ttl_lower02 .ttl_in .ttl_group .en {
  color: #fff;
}
@media screen and (min-width: 420px) {
  .company03 .box .box_in .section_ttl_lower02 .ttl_in .ttl_group .en,
.company04 .box .box_in .section_ttl_lower02 .ttl_in .ttl_group .en {
    font-size: 3.75rem;
  }
}
.company03 .box .box_in table,
.company04 .box .box_in table {
  border-collapse: separate;
  border-spacing: 0 0.625rem;
  width: 100%;
  margin: 1.875rem 0 0;
}
.company03 .box .box_in table tr,
.company04 .box .box_in table tr {
  margin: 0 0 0.625rem;
}
.company03 .box .box_in table tr th,
.company04 .box .box_in table tr th {
  width: 22.78%;
  padding: 0.5rem 0.75rem;
  background: #fff;
  font-size: 0.9rem;
  text-align: left;
  position: relative;
}
@media screen and (min-width: 420px) {
  .company03 .box .box_in table tr th,
.company04 .box .box_in table tr th {
    min-width: 93px;
  }
}
.company03 .box .box_in table tr th::after,
.company04 .box .box_in table tr th::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  width: 1px;
  height: 16px;
  background: #D8DFEF;
}
.company03 .box .box_in table tr td,
.company04 .box .box_in table tr td {
  width: 77.22%;
  padding: 0.5rem 0.75rem;
  background: #fff;
  font-size: 0.9rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社を知る04 ▼
//
///////////////////////////////////////////////////*/
.company04 {
  background: #fff;
}
.company04 .box {
  display: flex;
  flex-direction: column;
}
.company04 .box figure {
  margin: 2.3125rem 0 0;
}
.company04 .box figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover;object-position: 50% 50%;";
}
.company04 .box .box_in .table_wrap table {
  margin: 2.25rem 0 0 auto;
}
.company04 .box .box_in .table_wrap table tr {
  margin: 0 0 0.625rem;
}
.company04 .box .box_in .table_wrap table tr th {
  width: 28.89%;
  padding: 0.5rem 0.75rem;
  background: #D8DFEF;
}
@media screen and (min-width: 420px) {
  .company04 .box .box_in .table_wrap table tr th {
    min-width: 117px;
  }
}
.company04 .box .box_in .table_wrap table tr th::after {
  background: #fff;
}
.company04 .box .box_in .table_wrap table tr td {
  padding: 0.5rem 0.75rem;
  background: #D8DFEF;
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社を知る05 ▼
//
///////////////////////////////////////////////////*/
.company05 {
  padding: 3.125rem 0 0;
}
.company05::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to right, #3C60AE, #779EF3);
  padding: 5.375rem 0 7.875rem;
}
.company05 .section_ttl01 {
  margin: 0 0 3.375rem;
}
.company05 .section_ttl01 .en {
  font-size: 5rem;
}
.company05 .section_ttl01 .jp_group h2 {
  color: #fff;
}
.company05 .section_ttl01 .jp_group .btn02 {
  position: relative;
  z-index: 2;
  margin: 1.5625rem 0 0;
}
.company05 .swiper {
  width: 100%;
}
.company05 .swiper .swiper-container {
  width: 100%;
}
.company05 .swiper .swiper-container .swiper-wrapper {
  transition-timing-function: linear;
  width: 100%;
}
.company05 .swiper .swiper-container .swiper-wrapper .swiper-slide {
  width: 28.9%;
}

/*///////////////////////////////////////////////////
//
//            ▼ 募集要項02 ▼
//
///////////////////////////////////////////////////*/
.recruit02 {
  margin: 2.3125rem 0 0;
}
.recruit02 .box .box_in {
  margin: 1.25rem 0 0;
}
.recruit02 .box .box_in .item {
  margin: 0 0 3rem;
}
.recruit02 .box .box_in .item:nth-of-type(2) .txt_wrap {
  position: relative;
}
.recruit02 .box .box_in .item:nth-of-type(2) .txt_wrap::before {
  position: absolute;
  z-index: -1;
  top: -1.875rem;
  right: 0;
  content: "02";
  font-size: 7.25rem;
  line-height: 1;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: italic;
  color: #EBEFF7;
}
.recruit02 .box .box_in .item:nth-of-type(3) .txt_wrap {
  position: relative;
}
.recruit02 .box .box_in .item:nth-of-type(3) .txt_wrap::before {
  position: absolute;
  z-index: -1;
  top: -1.875rem;
  right: 0;
  content: "03";
  font-size: 7.25rem;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: italic;
  color: #EBEFF7;
}
.recruit02 .box .box_in .item:nth-of-type(4) .txt_wrap {
  position: relative;
}
.recruit02 .box .box_in .item:nth-of-type(4) .txt_wrap::before {
  position: absolute;
  z-index: -1;
  top: -1.875rem;
  right: 0;
  content: "04";
  line-height: 1;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: italic;
  color: #EBEFF7;
}
.recruit02 .box .box_in .item .txt_wrap {
  width: 88.89%;
  margin: 2.6875rem auto 0;
  position: relative;
}
.recruit02 .box .box_in .item .txt_wrap::before {
  position: absolute;
  z-index: -1;
  top: -1.875rem;
  right: 0;
  content: "01";
  font-size: 7.25rem;
  line-height: 1;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: italic;
  color: #EBEFF7;
}
.recruit02 .box .box_in .item .txt_wrap h3 {
  font-size: 1.25rem;
  line-height: 1;
  color: #3C60AE;
  margin: 0 0 0.625rem;
}
.recruit02 .box .box_in .item .txt_wrap .txt {
  font-size: 0.9rem;
}
.recruit02 .box .box_in .item .txt_wrap .phone {
  width: 88.88%;
  margin: 1.25rem auto 0;
  padding: 0.75rem 0;
  background: linear-gradient(to right, #3C60AE, #779EF3);
  color: #fff;
}
.recruit02 .box .box_in .item .txt_wrap .phone .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.recruit02 .box .box_in .item .txt_wrap .phone .inner .num_wrap {
  display: flex;
  gap: 0.5rem;
}
.recruit02 .box .box_in .item .txt_wrap .phone .inner .num_wrap .icon {
  font-size: 1.125rem;
}
.recruit02 .box .box_in .item .txt_wrap .phone .inner .num_wrap .num {
  font-size: 1.125rem;
  font-weight: 700;
}
.recruit02 .box .box_in .item .txt_wrap .phone .inner .small {
  font-size: 0.75rem;
  font-weight: 700;
  margin: -0.5rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 募集要項03 ▼
//
///////////////////////////////////////////////////*/
.recruit03 {
  background: #EBEFF7;
  padding: 1.875rem 0 3rem;
}
.recruit03 .box .section_ttl_lower .ttl_in .ttl_group .en {
  color: #fff;
  font-size: 2.8125rem;
}
@media screen and (min-width: 420px) {
  .recruit03 .box .section_ttl_lower .ttl_in .ttl_group .en {
    font-size: 2.75rem;
  }
}
.recruit03 .box .section_ttl_lower .ttl_in .ttl_group h2 {
  bottom: -1rem;
}
.recruit03 .box table {
  border-collapse: separate;
  border-spacing: 0 0.625rem;
  width: 100%;
  margin: 2rem auto 0;
}
.recruit03 .box table tr {
  margin: 0 0 0.625rem;
  font-size: 0.9rem;
}
.recruit03 .box table tr th {
  width: 22.78%;
  padding: 0.5rem 0.75rem;
  background: #fff;
  text-align: left;
  position: relative;
}
@media screen and (min-width: 420px) {
  .recruit03 .box table tr th {
    min-width: 92px;
  }
}
.recruit03 .box table tr th::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  width: 1px;
  height: 16px;
  background: #D8DFEF;
}
.recruit03 .box table tr td {
  width: 77.22%;
  padding: 0.5rem 0.75rem;
  background: #fff;
}
.recruit03 .box table tr td span {
  font-size: 0.625rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 募集要項04 ▼
//
///////////////////////////////////////////////////*/
.recruit04 {
  margin: 3.25rem 0 3.125rem;
  padding: 4rem 0 0;
  background: url(../images/common/haguruma01.webp) no-repeat center top/50%;
}
.recruit04 .txt {
  text-align: center;
}
.recruit04 .txt h2 {
  font-size: 1.125rem;
  color: #3C60AE;
  margin: 0 0 1.125rem;
}
.recruit04 .txt p {
  font-size: 0.9rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 募集要項05 ▼
//
///////////////////////////////////////////////////*/
.recruit05 {
  padding: 7.0625rem 0 4.125rem;
  background: url(../images/recruit/recruit05_bg01_sp.webp) no-repeat center/cover;
}
.recruit05::before {
  position: absolute;
  top: -0.8rem;
  left: 0;
  width: 100%;
  content: "ENTRY";
  font-size: 5.375rem;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  color: #fff;
  text-align: center;
}
.recruit05 .box {
  text-align: center;
  color: #fff;
}
.recruit05 h2 {
  font-size: 1.375rem;
}
.recruit05 .txt {
  margin: 2.625rem 0 2rem;
}
.recruit05 .tel_btn {
  width: 20rem;
  margin: 0 auto;
  padding: 0.75rem 0;
  background: #fff;
  color: #3C60AE;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.recruit05 .tel_btn .num_wrap {
  display: flex;
  gap: 0.5rem;
}
.recruit05 .tel_btn .num_wrap .icon {
  font-size: 1.125rem;
}
.recruit05 .tel_btn .num_wrap .number {
  font-size: 1.125rem;
  font-weight: 700;
}
.recruit05 .tel_btn .small {
  font-size: 0.75rem;
  font-weight: 700;
  margin: -0.5rem 0 0 1rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA_アクセス ▼
//
///////////////////////////////////////////////////*/
.cta_acsess .box {
  display: flex;
  flex-direction: column-reverse;
}
.cta_acsess .box .gmap {
  height: 17.5rem;
}
.cta_acsess .box .gmap .gmap_style {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}
.cta_acsess .box .box_in {
  background: #D8DFEF;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2.375rem 0;
}
.cta_acsess .box .box_in .acsess_ttl {
  position: relative;
}
.cta_acsess .box .box_in .acsess_ttl .en {
  color: #EBEFF7;
  font-size: 3.875rem;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
}
.cta_acsess .box .box_in .acsess_ttl h2 {
  font-size: 1.375rem;
  color: #3C60AE;
  position: absolute;
  bottom: -1rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
}
.cta_acsess .box .box_in .txt_box {
  color: #3C60AE;
}
.cta_acsess .box .box_in .txt_box p {
  font-size: 0.9rem;
  text-align: center;
  margin: 1.5rem 0;
  font-weight: 700;
}
.cta_acsess .box .box_in .txt_box .detail {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cta_acsess .box .box_in .txt_box .detail span {
  font-size: 0.9rem;
  font-weight: 700;
}
.cta_acsess .box .box_in .btn01 {
  margin: 1.5rem 0 0;
  position: relative;
  z-index: 2;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA_エントリー ▼
//
///////////////////////////////////////////////////*/
.cta_entry {
  background: linear-gradient(to right, #3C60AE, #779EF3);
  padding: 3rem 0;
}
.cta_entry .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
}
.cta_entry .box .en {
  font-size: 3.875rem;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
}
.cta_entry .box h2 {
  font-size: 1.25rem;
  font-weight: 700;
}
.cta_entry .box .txt {
  font-size: 0.9rem;
  text-align: center;
  margin: 1.625rem 0 1.125rem;
}
.cta_entry .box .tel_btn {
  width: 20rem;
  margin: 0 auto;
  padding: 0.75rem 0;
  background: #fff;
  color: #3C60AE;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cta_entry .box .tel_btn .num_wrap {
  display: flex;
  gap: 0.5rem;
}
.cta_entry .box .tel_btn .num_wrap .icon {
  font-size: 1.125rem;
}
.cta_entry .box .tel_btn .num_wrap .number {
  font-size: 1.125rem;
  font-weight: 700;
}
.cta_entry .box .tel_btn .small {
  font-size: 0.75rem;
  font-weight: 700;
  margin: -0.5rem 0 0 1rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 下層共通 ▼
//
///////////////////////////////////////////////////*/
.lower_mv {
  position: relative;
}
.lower_mv h1 {
  color: #fff;
  font-size: 1.75rem;
  position: absolute;
  top: 50%;
  right: 4.1%;
  transform: translate(0, -50%);
  text-align: right;
}

.section_ttl_lower .ttl_group,
.section_ttl_lower02 .ttl_group {
  position: relative;
}
.section_ttl_lower .ttl_group .en,
.section_ttl_lower02 .ttl_group .en {
  font-size: 4.5rem;
  font-weight: 700;
  font-style: italic;
  color: #EBEFF7;
  line-height: 1;
}
.section_ttl_lower .ttl_group h2,
.section_ttl_lower02 .ttl_group h2 {
  font-size: 1.375rem;
  position: absolute;
  bottom: 0;
  left: 0;
  line-height: 1;
}
.section_ttl_lower p,
.section_ttl_lower02 p {
  font-size: 0.75rem;
  margin: 1rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 投稿エリア ▼
//
///////////////////////////////////////////////////*/
.post_area {
  letter-spacing: 0.15rem;
}
.post_area p {
  margin: 1.5rem 0;
}
.post_area h2 {
  font-size: 1.5rem;
  margin: 3rem 0 2rem;
}
.post_area h3 {
  font-size: 1.3rem;
  margin: 2rem 0;
}
.post_area h4 {
  font-size: 1.2rem;
  margin: 1.5rem 0;
}
.post_area h5 {
  font-size: 1.1rem;
  margin: 1rem 0;
}
.post_area h6 {
  font-size: 1rem;
  margin: 1rem 0;
}
.post_area ul {
  margin: 1rem 0 1rem 1.5rem;
}
.post_area ul.blocks-gallery-grid {
  margin: 2rem 0 0;
}
.post_area ul li {
  list-style: disc;
}
.post_area ol {
  margin: 1rem 0 1rem 1.5rem;
}
.post_area ol li {
  list-style: decimal;
}
.post_area strong {
  font-weight: bold;
}
.post_area blockquote {
  background: #eee;
  padding: 1rem;
  position: relative;
}
.post_area blockquote::before, .post_area blockquote::after {
  position: absolute;
  content: "“";
  font-size: 2rem;
}
.post_area blockquote::before {
  top: 0;
  left: 0;
}
.post_area blockquote::after {
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
.post_area blockquote cite {
  font-size: 0.8rem;
  color: #999;
}
.post_area a {
  display: inline;
  color: #aaa;
}
.post_area img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 2rem auto 1.5rem;
}
.post_area table {
  width: 100%;
  margin: 1rem 0 1.5rem;
}
.post_area table th,
.post_area table td {
  border: solid 1px #e2e2e2;
  padding: 0.15rem 0.5rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ プライバシーポリシー ▼
//
///////////////////////////////////////////////////*/
.privacypolicy01 .box {
  margin: 0 auto;
}
.privacypolicy01 .box h1 {
  font-size: 1.5rem;
  text-align: center;
  margin: 0 0 2rem;
}
.privacypolicy01 .box h2 {
  font-size: 1.1rem;
  margin: 2.5rem 0 1rem;
}
.privacypolicy01 .box ol {
  margin: 1rem 0 1rem 1rem;
}
.privacypolicy01 .box ol li {
  list-style: decimal;
  margin: 0.5rem 0;
}
.privacypolicy01 .box ul {
  margin: 1rem 0 1rem 1rem;
}
.privacypolicy01 .box ul li {
  list-style: disc;
}
.privacypolicy01 .box ul li ol {
  margin: 0rem 0 1.5rem 1rem;
}
.privacypolicy01 .box ul li ol li {
  list-style: decimal;
}
.privacypolicy01 .box p {
  margin: 0.5rem 0;
}
.privacypolicy01 .box .right {
  text-align: right;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ（Contactform7） ▼
//
///////////////////////////////////////////////////*/
.wpcf7 {
  position: relative;
}
.wpcf7 span.wpcf7-not-valid-tip {
  position: absolute;
  bottom: -20px;
  left: 10px;
  font-size: 12px;
}
.wpcf7 .your_msg span.wpcf7-not-valid-tip {
  bottom: -15px;
}
.wpcf7 div.wpcf7-response-output {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  color: #f00;
  font-size: 12px;
  white-space: nowrap;
}

.ajax-loader {
  position: absolute;
  top: 50%;
  left: 110%;
  transform: translate(-50%, -50%);
}

/*///////////////////////////////////////////////////
//
//            ▼ 404 ▼
//
///////////////////////////////////////////////////*/
.page404 .catch_copy {
  height: 100vh;
  min-height: 650px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.page404 .catch_copy .ttl {
  font-size: 1.8rem;
  margin-bottom: 0.25rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 検索フォーム ▼
//
///////////////////////////////////////////////////*/
.search {
  width: 100%;
  border: 1px solid #ddd;
}
.search form .search_inner {
  display: flex;
  justify-content: space-between;
  height: 3rem;
  align-items: center;
}
.search form .search_inner .input {
  width: calc(100% - 3rem);
  height: 100%;
}
.search form .search_inner .input input {
  border: none;
  padding: 0 1rem;
  width: 100%;
  height: 100%;
  font-size: 16px;
}
.search form .search_inner .submit {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  width: 3rem;
  height: 3rem;
  color: #000;
}
.search form .search_inner .submit span {
  font-size: 1.2rem;
}

.post_none {
  text-align: center;
}

@media screen and (orientation: portrait) {
  /* 縦向き */
}
@media screen and (orientation: landscape) {
  /* 横向き */
}

/*# sourceMappingURL=smart.css.map */