@charset "UTF-8";
/*
Theme Name: 
Theme URI: https://
Author: Qubic
Author URI: https://qu-bic.jp
Description: 
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

html,
*::before,
*::after {
  box-sizing: border-box;
}

main {
  display: block;
}

a {
  text-decoration: none;
}

input,
input:focus,
textarea:focus {
  outline: 0;
  border-radius: 0;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=submit],
input[type=button],
input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-clear-button,
textarea {
  -webkit-appearance: none;
  border-radius: 0;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

select {
  outline: none;
  text-indent: 0.01px;
  text-overflow: "";
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
}

select option {
  background-color: #fff;
  color: #333;
}

select::-ms-expand {
  display: none;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

figure {
  margin: 0;
}

img {
  vertical-align: bottom;
  border: none;
  max-width: 100%;
  height: auto;
}

iframe {
  max-width: 100%;
  vertical-align: bottom;
}

li {
  list-style: none;
}

table {
  border-collapse: collapse;
}

/*///////////////////////////////////////////////////
//
//            ▼ フェードインアニメーション ▼
//
///////////////////////////////////////////////////*/
.fade_in,
.fade_in_quick {
  opacity: 0;
  scale: 0;
  transition: 0.5s ease-in-out;
}

.fade_in.active,
.fade_in_quick.active {
  opacity: 1;
  scale: 1;
}

.fadeUp {
  opacity: 0;
  transform: translateY(50px);
  transition: 0.4s ease-in-out;
}

.fadeUp.active {
  opacity: 1;
  transform: translateY(0);
}

/*///////////////////////////////////////////////////
//
//            ▼ マスクアニメーション ▼
//
///////////////////////////////////////////////////*/
.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;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ ふわっと円アニメーション ▼
//
///////////////////////////////////////////////////*/
.fuwafuwa {
  animation: fuwafuwa 3s infinite ease-in-out 0.8s alternate;
  transition: 0.5s ease-in-out;
}

.fuwafuwa_quick {
  animation: fuwafuwa_quick 6s infinite ease-in-out 0.8s alternate;
  transition: 0.4s ease-in-out;
}

@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, -18px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes fuwafuwa_quick {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, -28px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0);
  }
}
/*========= LoadingのためのCSS ===============*/
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 55000;
  background: #f0f9ff;
  opacity: 1;
  visibility: visible;
}

.loading.loaded {
  animation: bg 1.2s linear 0s 1 normal forwards;
}

@keyframes bg {
  0% {
    opacity: 1;
    visibility: visible;
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
/* Loading背景画面設定　*/
#splash {
  display: none;
}

#splash {
  /*fixedで全面に固定*/
  position: fixed;
  z-index: 60000;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  text-wrap: nowrap;
}

#splash .loading_logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -200%);
}

/* Loadingバー中央配置　*/
#splash_text {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 999;
  width: 12rem;
  transform: translate(-50%, -50%);
  color: #fff;
  text-wrap: nowrap;
}

/*////////////////////////////////////////////////////*/
@media screen and (min-width: 768px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ ローディングアニメーション ▼
  //
  ///////////////////////////////////////////////////*/
  /*========= LoadingのためのCSS ===============*/
  /* Loading背景画面設定　*/
  #splash {
    /*fixedで全面に固定*/
  }
  #splash .loading_logo {
    width: 7rem;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ 下層MV ▼
  //
  ///////////////////////////////////////////////////*/
  .lower_mv .lower_mv_in {
    position: relative;
    max-width: 1800px;
    width: 95%;
  }
  .lower_mv .lower_mv_in .circle {
    position: absolute;
    z-index: 1;
    width: 20.6875rem;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ 下層MV01 ▼
  //
  ///////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////
  //
  //            ▼ 下層MV02 ▼
  //
  ///////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////
  //
  //            ▼ 見出し ▼
  //
  ///////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////
  //
  //            ▼ ボタン ▼
  //
  ///////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////
  //
  //            ▼ ふわっと円 ▼
  //
  ///////////////////////////////////////////////////*/
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .lower_mv .lower_mv_in .circle {
    width: 15.6875rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .lower_mv .lower_mv_in .circle {
    bottom: 2%;
    width: 14.6875rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .lower_mv .lower_mv_in .circle {
    bottom: 2%;
    width: 11.6875rem;
  }
}
@media screen and (min-width: 768px) {
  .lower_mv .lower_mv_in .bg_img {
    position: absolute;
    top: 0%;
    right: 0%;
    width: 100%;
    height: 24.1875rem;
    overflow: hidden;
  }
  .lower_mv .lower_mv_in .bg_img::before {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background: rgba(75, 202, 250, 0.7);
  }
  .lower_mv .lower_mv_in .bg_img img {
    height: 100%;
  }
  .lower_mv .lower_mv_in .lower_mv_ttl {
    position: relative;
    width: fit-content;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.62rem;
  }
  .lower_mv .lower_mv_in .lower_mv_ttl .lower_mv_ttl_en {
    position: relative;
    color: #fff;
    font-size: 4.375rem;
    font-weight: 700;
    line-height: normal;
    padding: 0 0 0.62rem;
    text-wrap: nowrap;
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .lower_mv .lower_mv_in .lower_mv_ttl .lower_mv_ttl_en {
    font-size: 3.375rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .lower_mv .lower_mv_in .lower_mv_ttl .lower_mv_ttl_en {
    font-size: 2.375rem;
  }
}
@media screen and (min-width: 768px) {
  .lower_mv .lower_mv_in .lower_mv_ttl .lower_mv_ttl_en::before {
    content: "";
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translate(-50%, 0%);
    width: 8rem;
    height: 0.0625rem;
    background: #fff;
  }
  .lower_mv .lower_mv_in .lower_mv_ttl .lower_mv_ttl_jp {
    color: #fff;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: normal;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .lower_mv .lower_mv_in .lower_mv_ttl .lower_mv_ttl_jp {
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .lower_mv .lower_mv_in .lower_mv_ttl .lower_mv_ttl_jp {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  .lower_mv .lower_mv_in .breadcrumbs {
    position: relative;
    width: fit-content;
    z-index: 1;
  }
  .lower_mv .lower_mv_in .breadcrumbs ol {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
  }
  .lower_mv .lower_mv_in .breadcrumbs ol li span {
    color: #1e71af;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .lower_mv .lower_mv_in .breadcrumbs ol li span {
    font-size: 0.9rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .lower_mv .lower_mv_in .breadcrumbs ol li span {
    font-size: 0.8rem;
  }
}
@media screen and (min-width: 768px) {
  .lower_mv .lower_mv_in .breadcrumbs ol li a span {
    transition: 0.3s;
  }
  .lower_mv .lower_mv_in .breadcrumbs ol li a:hover span {
    color: #ff980d;
  }
  .lower_mv01 .lower_mv01_in {
    padding: 9.62rem min(16.6666vw, 20rem) 0 0;
    margin: 0 0 0 auto;
  }
  .lower_mv01 .lower_mv01_in .circle {
    bottom: 9%;
    left: 7%;
  }
  .lower_mv01 .lower_mv01_in .bg_img {
    border-radius: 0 0 0 20rem;
  }
  .lower_mv01 .lower_mv01_in .lower_mv_ttl {
    margin: 0 0 0 auto;
  }
  .lower_mv01 .lower_mv01_in .breadcrumbs {
    margin: 5rem 0 0 auto;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .lower_mv01 .lower_mv01_in .breadcrumbs {
    margin: 6.8rem 0 0 auto;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .lower_mv01 .lower_mv01_in .breadcrumbs {
    margin: 8.5rem 0 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .lower_mv02 .lower_mv02_in {
    padding: 9.62rem 0 0 min(16.6666vw, 20rem);
    margin: 0 auto 0 0;
  }
  .lower_mv02 .lower_mv02_in .circle {
    bottom: 12%;
    left: 81%;
  }
  .lower_mv02 .lower_mv02_in .bg_img {
    border-radius: 0 0 20rem 0;
  }
  .lower_mv02 .lower_mv02_in .bg_img img {
    position: relative;
    transform: scale(-1, 1);
    z-index: -1;
  }
  .lower_mv02 .lower_mv02_in .lower_mv_ttl {
    margin: 0 auto 0 0;
    padding: 0 0 0 min(9.11458vw, 10.9375rem);
  }
  .lower_mv02 .lower_mv02_in .breadcrumbs {
    margin: 5rem auto 0 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .lower_mv02 .lower_mv02_in .breadcrumbs {
    margin: 6.8rem auto 0 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .lower_mv02 .lower_mv02_in .breadcrumbs {
    margin: 8.5rem auto 0 0;
  }
}
@media screen and (min-width: 768px) {
  .ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.63rem;
  }
  .ttl .ttl_en {
    color: rgba(10, 117, 187, 0.2);
    font-size: 4rem;
    font-weight: 700;
    line-height: 80%; /* 3.2rem */
    letter-spacing: 0.2rem;
  }
  .ttl .ttl_jp {
    color: #1e71af;
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    line-height: normal;
  }
  .btn_wrap .btn {
    position: relative;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3.125rem;
    background: #ff980d;
    border: 1px solid #ff980d;
    transition: 0.3s ease-in;
  }
  .btn_wrap .btn::before, .btn_wrap .btn::after {
    content: "";
    position: absolute;
    left: 84%;
    height: 0.125rem;
    background: #fff;
    transform: translate(0);
    transition: 0.3s ease-in;
  }
  .btn_wrap .btn::before {
    top: 45%;
    width: 1.875rem;
  }
  .btn_wrap .btn::after {
    top: 55%;
    width: 1.5625rem;
  }
  .btn_wrap .btn span {
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 80%; /* 1rem */
    letter-spacing: 0.0625rem;
    transition: 0.3s ease-in;
  }
  .btn_wrap .btn:hover {
    background: #fff;
  }
  .btn_wrap .btn:hover::before, .btn_wrap .btn:hover::after {
    left: 94%;
    background: #ff980d;
  }
  .btn_wrap .btn:hover span {
    color: #ff980d;
  }
  .circle {
    position: absolute;
    width: 12.5rem;
    height: 12.5rem;
  }
}
/*////////////////////////////////////////////////////*/
@media screen and (max-width: 767.5px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ ロードアニメーション ▼
  //
  ///////////////////////////////////////////////////*/
  #splash {
    /*fixedで全面に固定*/
  }
  #splash .loading_logo {
    width: 5rem;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ 下層MV ▼
  //
  ///////////////////////////////////////////////////*/
  .lower_mv .lower_mv_in {
    position: relative;
    margin: 0 0 0 auto;
  }
  .lower_mv .lower_mv_in .circle {
    position: absolute;
    z-index: 1;
    width: 11.5316rem;
  }
  .lower_mv .lower_mv_in .bg_img {
    position: absolute;
    top: 0%;
    right: 0%;
    width: 100%;
    height: 20rem;
    overflow: hidden;
  }
  .lower_mv .lower_mv_in .bg_img::before {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background: rgba(75, 202, 250, 0.7);
  }
  .lower_mv .lower_mv_in .bg_img img {
    height: 100%;
  }
  .lower_mv .lower_mv_in .lower_mv_ttl {
    position: relative;
    width: fit-content;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.62rem;
  }
  .lower_mv .lower_mv_in .lower_mv_ttl .lower_mv_ttl_en {
    position: relative;
    color: #fff;
    font-size: 2.66667rem;
    font-weight: 700;
    line-height: normal;
    padding: 0 0 0.62rem;
    white-space: nowrap;
  }
  .lower_mv .lower_mv_in .lower_mv_ttl .lower_mv_ttl_en::before {
    content: "";
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translate(-50%, 0%);
    width: 8.53333rem;
    height: 0.06667rem;
    background: #fff;
  }
  .lower_mv .lower_mv_in .lower_mv_ttl .lower_mv_ttl_jp {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
  }
  .lower_mv .lower_mv_in .breadcrumbs {
    position: relative;
    width: fit-content;
    z-index: 1;
  }
  .lower_mv .lower_mv_in .breadcrumbs ol {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
  }
  .lower_mv .lower_mv_in .breadcrumbs ol li span {
    color: #1e71af;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    font-size: 0.93333rem;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ 下層MV01 ▼
  //
  ///////////////////////////////////////////////////*/
  .lower_mv01 {
    padding: 0 0 0 2.333rem;
  }
  .lower_mv01 .lower_mv01_in {
    padding: 6.67rem 1rem 0 0;
  }
  .lower_mv01 .lower_mv01_in .circle {
    bottom: 33%;
    left: -5%;
  }
  .lower_mv01 .lower_mv01_in .bg_img {
    border-radius: 0 0 0 13.33333rem;
  }
  .lower_mv01 .lower_mv01_in .lower_mv_ttl {
    margin: 0 0 0 auto;
  }
  .lower_mv01 .lower_mv01_in .breadcrumbs {
    margin: 7rem 0 0 auto;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ 下層MV02 ▼
  //
  ///////////////////////////////////////////////////*/
  .lower_mv02 {
    padding: 0 2.333rem 0 0;
  }
  .lower_mv02 .lower_mv02_in {
    padding: 6.67rem 0 0 1rem;
  }
  .lower_mv02 .lower_mv02_in .circle {
    bottom: 26%;
    left: 55%;
  }
  .lower_mv02 .lower_mv02_in .bg_img {
    border-radius: 0 0 13.33333rem 0;
  }
  .lower_mv02 .lower_mv02_in .lower_mv_ttl {
    margin: 0 auto 0 0;
  }
  .lower_mv02 .lower_mv02_in .breadcrumbs {
    margin: 7rem auto 0 0;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ 見出し ▼
  //
  ///////////////////////////////////////////////////*/
  .ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .ttl .ttl_en {
    color: rgba(10, 117, 187, 0.2);
    font-size: 2.13333rem;
    font-weight: 700;
    line-height: 80%; /* 1.70667rem */
    letter-spacing: 0.10667rem;
  }
  .ttl .ttl_jp {
    color: #1e71af;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 170%; /* 2.72rem */
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ ボタン ▼
  //
  ///////////////////////////////////////////////////*/
  .btn_wrap .btn {
    position: relative;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3.33333rem;
    background: #ff980d;
    border: 1px solid #ff980d;
  }
  .btn_wrap .btn::before, .btn_wrap .btn::after {
    content: "";
    position: absolute;
    left: 84%;
    height: 0.13333rem;
    background: #fff;
    transform: translate(0);
  }
  .btn_wrap .btn::before {
    top: 45%;
    width: 2rem;
  }
  .btn_wrap .btn::after {
    top: 55%;
    width: 1.66667rem;
  }
  .btn_wrap .btn span {
    color: #fff;
    font-size: 1.33333rem;
    font-style: normal;
    font-weight: 700;
    line-height: 80%; /* 1.06667rem */
    letter-spacing: 0.06667rem;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ ふわっと円 ▼
  //
  ///////////////////////////////////////////////////*/
  .circle {
    position: absolute;
    width: 6.25rem;
    height: 6.25rem;
  }
}
body {
  -webkit-text-size-adjust: 100%;
}

html {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  html {
    font-size: calc(0.75rem + 0.25rem * (100vw - 768px) / 912);
  }
}
@media screen and (min-width: 768px) and (min-width: 1680px) {
  html html {
    font-size: 16px;
  }
}
@media screen and (max-width: 767.5px) {
  html {
    font-size: 3.846vw;
  }
}
@media screen and (max-width: 767.5px) and (min-width: 468px) {
  html {
    font-size: 18px;
  }
}
a {
  color: #000;
  display: block;
}

#wrapper {
  width: 100%;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  #wrapper {
    height: auto;
  }
}
@media screen and (max-width: 767.5px) {
  #wrapper {
    height: 100%;
  }
}
section,
.section {
  width: 100%;
  height: auto;
  position: relative;
}

.l_container {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .l_container {
    width: 95%;
    max-width: 1680px;
  }
}
@media screen and (max-width: 767.5px) {
  .l_container {
    width: 100%;
    padding: 0 1rem;
  }
}
.container {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .container {
    width: 90%;
    max-width: 1280px;
  }
}
@media screen and (max-width: 767.5px) {
  .container {
    width: 100%;
    max-width: 650px;
    padding: 0 1rem;
  }
}
.m_container {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .m_container {
    max-width: 1080px;
    width: 90%;
  }
}
@media screen and (max-width: 767.5px) {
  .m_container {
    width: 100%;
    max-width: 650px;
    padding: 0 1rem;
  }
}
.s_container {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .s_container {
    max-width: 960px;
    width: 90%;
  }
}
@media screen and (max-width: 767.5px) {
  .s_container {
    width: 100%;
    max-width: 650px;
    padding: 0 1rem;
  }
}
@media screen and (min-width: 768px) {
  .is_sp {
    display: none;
  }
  .is_tab {
    display: none;
  }
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .is_hidden_tab {
    display: none;
  }
  .is_tab {
    display: block;
  }
}
@media screen and (max-width: 767.5px) {
  .is_pc {
    display: none;
  }
  .is_hidden_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;
}

.preload * {
  transition: none;
}

.en {
  font-family: "Roboto Condensed", sans-serif;
}

@media screen and (min-width: 768px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 50000;
  }
  header .header_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 7.5rem;
    transition: 0.3s;
    background: rgba(255, 255, 255, 0);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  header .header_inner {
    padding-left: 3.5rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  header .header_inner {
    padding-left: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  header .header_inner .logo {
    line-height: 1;
    width: 13.0625rem;
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  header .header_inner .logo {
    width: 9.0625rem;
  }
}
@media screen and (min-width: 768px) {
  header .header_inner .logo a {
    width: 100%;
  }
  header .header_inner .logo a img {
    display: block;
    width: 100%;
    height: auto;
  }
  header .header_inner nav {
    display: flex;
    align-items: center;
    gap: 6.1875rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  header .header_inner nav {
    gap: 3.1875rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  header .header_inner nav {
    gap: 2.1875rem;
  }
}
@media screen and (min-width: 768px) {
  header .header_inner nav ul {
    display: flex;
    align-items: flex-start;
    gap: 6.5625rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  header .header_inner nav ul {
    gap: 2.1875rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  header .header_inner nav ul {
    gap: 1.1875rem;
  }
}
@media screen and (min-width: 768px) {
  header .header_inner nav ul li {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  header .header_inner nav ul li:first-of-type {
    display: none;
  }
  header .header_inner nav ul li a {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 0.31rem;
    height: 100%;
  }
  header .header_inner nav ul li a span {
    color: #000;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: normal;
    transition: 0.3s;
  }
  header .header_inner nav ul li a .en {
    font-size: 1.125rem;
    font-weight: 700;
  }
  header .header_inner nav ul li a:hover span {
    color: #ff980d;
  }
  header .header_inner nav .header_cta {
    width: 11.875rem;
    height: 5rem;
    flex-shrink: 0;
    background: #ff980d;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 0.31rem;
    border: solid 2px #ff980d;
    transition: 0.3s;
  }
  header .header_inner nav .header_cta span {
    color: #fff;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: normal;
    transition: 0.3s;
  }
  header .header_inner nav .header_cta .en {
    font-size: 1.125rem;
    font-weight: 700;
  }
  header .header_inner nav .header_cta:hover {
    background: #fff;
  }
  header .header_inner nav .header_cta:hover span {
    color: #ff980d;
  }
  header .header_inner.scroll_active {
    background: white;
  }
}
@media screen and (max-width: 767.5px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 50000;
  }
  header .header_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 2rem;
    background: rgba(255, 255, 255, 0);
    transition: 0.3s;
  }
  header .header_inner .logo {
    line-height: 1;
    width: 10.06667rem;
    display: flex;
    align-items: center;
    transition: 0.3s;
  }
  header .header_inner .logo a {
    width: 100%;
  }
  header .header_inner .logo a img {
    display: block;
    width: 100%;
    height: auto;
  }
  header .header_inner .logo.active {
    opacity: 0;
  }
  header .header_inner nav {
    padding: 4.66667rem 0 2rem;
    position: fixed;
    top: 0;
    right: -100%;
    width: 64.1025641026%;
    height: 100vh;
    background: #ff980d;
    transition: 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow-y: scroll;
  }
  header .header_inner nav.active {
    right: 0;
  }
  header .header_inner nav ul {
    padding: 2rem 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.33rem;
  }
  header .header_inner nav ul li a {
    color: #000;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.33rem;
  }
  header .header_inner nav ul li a span {
    font-size: 0.93333rem;
    font-weight: 700;
    line-height: normal;
  }
  header .header_inner nav ul li a .en {
    font-size: 1.2rem;
  }
  header .header_inner nav .header_cta {
    margin: 3.33rem 0 0;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.33rem;
  }
  header .header_inner nav .header_cta span {
    font-weight: bold;
  }
  header .header_inner nav .logo_wrap_sp {
    margin: 6.27rem 0 0;
    width: 10rem;
  }
  header .header_inner .menu_open {
    width: 4rem;
    height: 4rem;
    position: relative;
    background: #ff980d;
  }
  header .header_inner .menu_open .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.3s;
  }
  header .header_inner .menu_open .cross {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.3s;
    opacity: 0;
  }
  header .header_inner .menu_open.active .line {
    transition: 0.3s;
    opacity: 0;
  }
  header .header_inner .menu_open.active .cross {
    transition: 0.3s;
    opacity: 1;
  }
  header .header_inner.scroll_active {
    background: white;
  }
}
@media screen and (min-width: 768px) {
  footer {
    position: relative;
    background: url(./images/top/top03_bg.jpg) center center/cover no-repeat;
  }
  footer::before {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background: rgba(91, 202, 254, 0.7);
  }
  footer .footer_in {
    position: relative;
    z-index: 1;
  }
  footer .to-top {
    padding: 0.85rem 0;
    background: #5bcafe;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  footer .to-top .to-top_btn {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.75rem;
  }
  footer .to-top .to-top_btn span {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: normal;
    transition: 0.3s;
  }
  footer .to-top .to-top_btn .arrow_wrap {
    width: 3.125rem;
    height: 3.125rem;
    flex-shrink: 0;
    background: #ff980d;
    border: 1px solid #ff980d;
    border-radius: 6.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
  }
  footer .to-top .to-top_btn .arrow_wrap svg path {
    transition: 0.3s;
  }
  footer .to-top .to-top_btn:hover .arrow_wrap {
    background: #fff;
  }
  footer .to-top .to-top_btn:hover .arrow_wrap svg path {
    fill: #ff980d;
  }
  footer .to-top .to-top_btn:hover span {
    color: #ff980d;
  }
  footer .box {
    padding: 2.54rem 0 2.94rem;
    margin: 2.5rem 0;
    width: 100%;
    background: #fff;
  }
  footer .box p {
    text-align: center;
    color: #5bcafe;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: normal;
  }
  footer .box nav {
    margin: 2.96rem 0 0;
  }
  footer .box nav ul {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  footer .box nav ul li:not(:first-of-type) a {
    border-left: 0.125rem solid #5bcafe;
  }
  footer .box nav ul li a {
    padding: 0 0.94rem;
    display: inline;
  }
  footer .box nav ul li a span {
    color: #5bcafe;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: normal;
    transition: 0.3s;
  }
  footer .box nav ul li a:hover span {
    color: #ff980d;
  }
  footer .copyright {
    padding: 1.44rem 0;
    text-align: center;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: normal;
    background: #5bcafe;
  }
}
@media screen and (max-width: 767.5px) {
  footer {
    position: relative;
    background: url(./images/common/footer_bg.jpg) center center/cover no-repeat;
  }
  footer::before {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background: rgba(91, 202, 254, 0.7);
  }
  footer .footer_in {
    position: relative;
    z-index: 1;
  }
  footer .to-top {
    padding: 1rem 0;
    background: #5bcafe;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  footer .to-top .to-top_btn {
    cursor: pointer;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.75rem;
  }
  footer .to-top .to-top_btn span {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
  }
  footer .to-top .to-top_btn .arrow_wrap {
    position: absolute;
    top: 50%;
    left: 254%;
    transform: translate(-50%, -50%);
    width: 3.33333rem;
    height: 3.33333rem;
    flex-shrink: 0;
    background: #ff980d;
    border: 1px solid #ff980d;
    border-radius: 6.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  footer .s_container {
    display: contents;
  }
  footer .box {
    padding: 1.35rem 0;
    margin: 2.67rem 0;
    width: 100%;
    background: #fff;
  }
  footer .box p {
    text-align: center;
    color: #5bcafe;
    font-size: 1.06667rem;
    font-weight: 700;
    line-height: normal;
  }
  footer .box nav {
    margin: 1.33rem 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  footer .box nav ul {
    display: grid;
    grid-template-columns: 6rem 6rem 7.5rem;
    grid-template-rows: repeat(2, auto); /* 2行 */
    gap: 0.87rem 0; /* グリッドアイテム間のスペース */
  }
  footer .box nav ul li {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  footer .box nav ul li:not(:nth-child(3n+1)) a {
    border-left: 0.125rem solid #5bcafe;
  }
  footer .box nav ul li a {
    width: 100%;
    padding: 0 0.87rem;
    display: inline-block;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  footer .box nav ul li a span {
    width: 100%;
    text-align: center;
    color: #5bcafe;
    font-size: 0.93333rem;
    font-weight: 700;
    line-height: normal;
  }
  footer .box nav ul li .txt_end span {
    text-align: end;
  }
  footer .copyright {
    padding: 1rem 0;
    text-align: center;
    color: #fff;
    font-size: 0.93333rem;
    font-weight: 500;
    line-height: normal;
    background: #5bcafe;
  }
}
@media screen and (min-width: 768px) {
  .cta {
    padding: 3.63rem 0 3.12rem;
    background: url(./images/common/cta_bg.jpg) center center/cover no-repeat;
  }
  .cta::before {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background: rgba(91, 202, 254, 0.7);
  }
  .cta .box {
    position: relative;
    z-index: 1;
  }
  .cta .box .ttl .ttl_en {
    color: rgba(255, 255, 255, 0.5);
  }
  .cta .box .ttl .ttl_jp {
    color: #fff;
  }
  .cta .box p {
    margin: 3.12rem 0 0;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: normal;
    color: #fff;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .cta .box p {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  .cta .box .btn_wrap {
    margin: 3.13rem 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .cta .box .btn_wrap .btn {
    width: 21.875rem;
    height: 3.125rem;
  }
  .cta .box .btn_wrap .btn::before, .cta .box .btn_wrap .btn::after {
    left: 88%;
  }
  .cta .box .btn_wrap .btn span {
    font-size: 1rem;
  }
  .cta .box .btn_wrap .btn:hover::before, .cta .box .btn_wrap .btn:hover::after {
    left: 96%;
  }
  .cta .box .btn_wrap p {
    margin: 0.31rem 0 0;
    color: #fff;
    font-weight: 700;
    line-height: normal;
  }
}
@media screen and (max-width: 767.5px) {
  .cta {
    padding: 2.33rem 0 2.8rem;
    background: url(./images/common/cta_bg.jpg) center center/cover no-repeat;
  }
  .cta::before {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background: rgba(91, 202, 254, 0.7);
  }
  .cta .box {
    position: relative;
    z-index: 1;
  }
  .cta .box .ttl .ttl_en {
    color: rgba(255, 255, 255, 0.5);
  }
  .cta .box .ttl .ttl_jp {
    color: #fff;
  }
  .cta .box p {
    margin: 2rem 0 0;
    text-align: center;
    font-weight: 700;
    line-height: normal;
    color: #fff;
  }
  .cta .box .btn_wrap {
    margin: 2.33rem 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .cta .box .btn_wrap .btn {
    width: 23.33333rem;
    height: 3.33333rem;
  }
  .cta .box .btn_wrap .btn::before, .cta .box .btn_wrap .btn::after {
    left: 88%;
  }
  .cta .box .btn_wrap .btn span {
    font-size: 1rem;
  }
  .cta .box .btn_wrap .btn:hover::before, .cta .box .btn_wrap .btn:hover::after {
    left: 96%;
  }
  .cta .box .btn_wrap p {
    margin: 0.33rem 0 0;
    color: #fff;
    font-weight: 700;
    line-height: normal;
  }
}
@media screen and (min-width: 768px) {
  .access {
    overflow: hidden;
    padding: 4.56rem 0 7.87rem;
  }
  .access .thin_blue_circle01 {
    z-index: -1;
    top: -2%;
    left: 14%;
  }
  .access .blue_circle01 {
    z-index: -1;
    top: 45%;
    right: 11%;
  }
  .access .org_circle01 {
    z-index: -1;
    top: -7%;
    right: -1%;
  }
  .access .org_circle02 {
    z-index: -1;
    bottom: 10%;
    left: 10%;
  }
  .access .ttl .ttl_en {
    color: rgba(91, 202, 254, 0.2);
  }
  .access .ttl .ttl_jp {
    color: #5bcafe;
  }
  .access .map {
    margin: 3.12rem 0 0;
    border: 3px solid #686868;
  }
  .access .map iframe {
    width: 100%;
    height: 34.375rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .access .map iframe {
    height: 25.375rem;
  }
}
@media screen and (min-width: 768px) {
  .access .inner {
    margin: 1.25rem 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .access .inner p {
    color: #333;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: normal;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .access .inner p {
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 768px) {
  .access .inner .btn_wrap .btn {
    width: 13.3125rem;
    height: 3.125rem;
  }
}
@media screen and (max-width: 767.5px) {
  .access {
    padding: 2.07rem 0 3.33rem;
    overflow: hidden;
  }
  .access .thin_blue_circle01 {
    z-index: -1;
    top: -7%;
    left: 11%;
  }
  .access .blue_circle01 {
    z-index: -1;
    bottom: -4%;
    right: -3%;
  }
  .access .org_circle01 {
    z-index: -1;
    top: -5%;
    right: -3%;
  }
  .access .org_circle02 {
    z-index: -1;
    bottom: -2%;
    left: -1%;
  }
  .access .ttl .ttl_en {
    color: rgba(91, 202, 254, 0.2);
  }
  .access .ttl .ttl_jp {
    color: #5bcafe;
  }
  .access .map {
    margin: 2rem 0 0;
    border: 2px solid #686868;
  }
  .access .map iframe {
    width: 100%;
    height: 18.33333rem;
  }
  .access .inner {
    margin: 1rem 0 0;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 2rem;
  }
  .access .inner p {
    color: #333;
    font-size: 0.93333rem;
    font-weight: 500;
    line-height: normal;
  }
  .access .inner .btn_wrap .btn {
    width: 14.2rem;
    height: 3.33333rem;
  }
}
.poppins {
  font-family: "Poppins", sans-serif;
}

@media screen and (min-width: 768px) {
  .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: 14px;
  }
  .ajax-loader {
    position: absolute;
    top: 50%;
    left: 110%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 767.5px) {
  .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%);
  }
}
@media screen and (min-width: 768px) {
  .post_area {
    letter-spacing: 0.25rem;
  }
  .post_area p {
    margin: 1.5rem 0;
  }
  .post_area h2 {
    font-size: 1.8rem;
    margin: 3rem 0 2.5rem;
  }
  .post_area h3 {
    font-size: 1.5rem;
    margin: 2, 5rem 0 2rem;
  }
  .post_area h4 {
    font-size: 1.25rem;
    margin: 2rem 0 1.5rem;
  }
  .post_area h5 {
    font-size: 1.1rem;
    margin: 1rem 0;
    margin: 1.5rem 0;
  }
  .post_area h6 {
    font-size: 1rem;
    margin: 1.5rem 0;
  }
  .post_area ul {
    margin: 1.5rem 0 1.5rem 2rem;
  }
  .post_area ul.blocks-gallery-grid {
    margin: 3rem 0 0;
  }
  .post_area ul li {
    list-style: disc;
  }
  .post_area ol {
    margin: 1.5rem 0 1.5rem 2rem;
  }
  .post_area ol li {
    list-style: decimal;
  }
  .post_area strong {
    font-weight: bold;
  }
  .post_area blockquote {
    background: #eee;
    padding: 2rem;
    position: relative;
  }
  .post_area blockquote::before, .post_area blockquote::after {
    position: absolute;
    content: "“";
    font-size: 3rem;
  }
  .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: 3rem auto 2rem;
  }
  .post_area table {
    width: 100%;
    margin: 1.5rem 0 2rem;
  }
  .post_area table th,
  .post_area table td {
    border: solid 1px #e2e2e2;
    padding: 0.25rem 1rem;
  }
}
@media screen and (max-width: 767.5px) {
  .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;
  }
}
@media screen and (min-width: 768px) {
  .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%;
  }
  .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 (max-width: 767.5px) {
  .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 (min-width: 768px) {
  .top01 .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60rem;
    height: 15.625rem;
    background: rgba(91, 202, 254, 0.75);
    padding: 1.94rem 1.31rem 0 0;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ 流れるテキスト ▼
  //
  ///////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////
  //
  //            ▼ トップ02 ▼
  //
  ///////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////
  //
  //            ▼ トップ03 ▼
  //
  ///////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////
  //
  //            ▼ トップ04,05 ▼
  //
  ///////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////
  //
  //            ▼ トップ04 ▼
  //
  ///////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////
  //
  //            ▼ トップ05 ▼
  //
  ///////////////////////////////////////////////////*/
  /*///////////////////////////////////////////////////
  //
  //            ▼ 流れる画像 ▼
  //
  ///////////////////////////////////////////////////*/
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top01 .inner {
    width: 38rem;
    height: 11.625rem;
  }
}
@media screen and (min-width: 768px) {
  .top01 .inner h2 {
    position: relative;
    color: #fff;
    font-size: 4rem;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.2rem;
    text-align: end;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top01 .inner h2 {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 768px) {
  .top01 .inner h2 figure {
    position: absolute;
    top: 0%;
    left: 0%;
    transform: translate(2%, 6%);
    width: 57.375rem;
    flex-shrink: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top01 .inner h2 figure {
    width: 35.375rem;
  }
}
@media screen and (min-width: 768px) {
  .top01 .inner h2 figure img {
    width: 100%;
  }
  .top01 .top_mv img {
    width: 100%;
    min-height: 482px;
  }
  .flow_txt {
    overflow: hidden;
  }
  .flow_txt .inner {
    animation: flowing 40s infinite linear;
    width: 100%;
    height: 10.3125rem;
    display: flex;
  }
  .flow_txt .inner figure {
    flex-shrink: 0;
    width: 108.25rem;
  }
  @keyframes flowing {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-100%);
    }
  }
  .top02 {
    padding: 6.25rem 0 0;
    overflow: hidden;
  }
  .top02 .blue_circle01 {
    z-index: -1;
    top: -3%;
    left: -2%;
  }
  .top02 .thin_blue_circle01 {
    top: 23%;
    left: 11%;
  }
  .top02 .org_circle01 {
    top: 35%;
    right: 2%;
  }
  .top02 .thin_org_circle01 {
    bottom: 23%;
    left: 3%;
  }
  .top02 .blue_circle02 {
    bottom: 8%;
    right: 9%;
  }
  .top02 .thin_blue_circle02 {
    bottom: -3%;
    left: -1%;
  }
  .top02 .org_circle02 {
    bottom: -8%;
    right: -1%;
  }
  .top02 .top02_in {
    position: relative;
    margin: 0 0 7.25rem;
    padding: 2.25rem 4.25rem 4.06rem 6.31rem;
    border-radius: 1.875rem;
    background: #f0f9ff;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top02 .top02_in {
    padding: 2.25rem 2.25rem 4.06rem 4.31rem;
  }
}
@media screen and (min-width: 768px) {
  .top02 .top02_in .orn_img {
    position: absolute;
    z-index: 1;
  }
  .top02 .top02_in .orn_img01 {
    top: -4%;
    left: -6%;
    width: clamp(105px, 11.666vw, 224px);
  }
  .top02 .top02_in .orn_img02 {
    top: 10%;
    right: 6%;
    width: clamp(94.7px, 10.333vw, 160px);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top02 .top02_in .orn_img02 {
    top: 13%;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top02 .top02_in .orn_img02 {
    top: 13%;
  }
}
@media screen and (min-width: 768px) {
  .top02 .top02_in .orn_img03 {
    top: 37%;
    left: 1%;
    width: clamp(94.7px, 10.333vw, 160px);
  }
  .top02 .top02_in .orn_img04 {
    top: 59%;
    left: 43%;
    width: clamp(94.7px, 10.333vw, 160px);
  }
  .top02 .top02_in .orn_img05 {
    bottom: -7%;
    left: -6%;
    width: clamp(108px, 14.16vw, 272px);
  }
  .top02 .top02_in .orn_img06 {
    bottom: -2%;
    right: -6%;
    width: clamp(108px, 14.0625vw, 270px);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top02 .top02_in .ttl .ttl_jp {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  .top02 .top02_in .box {
    margin: 3.81rem 0 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 3.38541666vw;
  }
  .top02 .top02_in .box .item {
    width: 45%;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top02 .top02_in .box .item {
    width: 44%;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top02 .top02_in .box .item {
    width: 43%;
  }
}
@media screen and (min-width: 768px) {
  .top02 .top02_in .box .inner {
    width: 93.2%;
    padding: 1.56rem;
    border-radius: 1.875rem;
    background: #fff;
  }
  .top02 .top02_in .box .inner .img {
    position: relative;
    overflow: hidden;
    padding: 0 0 0 1rem;
  }
  .top02 .top02_in .box .inner .img .orn_txt {
    position: absolute;
    top: 0%;
    left: 0%;
    transform: rotate(90deg) translate(44%, 331%);
    color: #1e71af;
    font-weight: 700;
    line-height: 80%; /* 0.8rem */
    letter-spacing: 0.05rem;
  }
  .top02 .top02_in .box .inner .img figure {
    border-radius: 1.875rem;
    overflow: hidden;
  }
  .top02 .top02_in .box .inner h3 {
    padding: 0 0 0 1rem;
    margin: 0.94rem 0 0;
    color: #1e71af;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: normal;
  }
  .top02 .top02_in .box .inner p {
    padding: 0 0 0 1rem;
    color: #1e71af;
    font-family: "Noto Sans JP";
    font-weight: 400;
    line-height: 200%; /* 2rem */
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top02 .top02_in .box .inner p {
    font-size: 0.9rem;
  }
}
@media screen and (min-width: 768px) {
  .top02 .top02_in .box .item01 {
    padding-bottom: 7.31rem;
    padding-bottom: 3.906vw;
  }
  .top02 .top02_in .box .item01 .inner {
    margin-left: auto;
  }
  .top02 .top02_in .box .item02 {
    margin-left: 2rem;
    padding-top: 5.31rem;
    padding-top: 4.42708vw;
  }
  .top02 .top02_in .box .item03 {
    margin-right: 2.81rem;
  }
  .top02 .top02_in .box .item04 {
    padding-top: 4.69rem;
    padding-top: 3.906vw;
  }
  .top03 {
    background: url(./images/top/top03_bg.jpg) center center/cover no-repeat;
    padding: 2.94rem 0 4.19rem;
  }
  .top03::before {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background: rgba(91, 202, 254, 0.7);
  }
  .top03 .top03_in {
    position: relative;
    z-index: 1;
  }
  .top03 .top03_in .ttl .ttl_en {
    color: rgba(255, 255, 255, 0.5);
  }
  .top03 .top03_in .ttl .ttl_jp {
    color: #fff;
  }
  .top03 .top03_in .box {
    margin: 4.56rem 0 0;
    display: flex;
    justify-content: center;
    align-items: stretch;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top03 .top03_in .box {
    flex-direction: column;
    gap: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .top03 .top03_in .box .item {
    margin: 0 auto;
    display: flex;
    width: 33.3333%;
    padding: 3.125rem 3.16rem;
    flex-direction: column;
    align-items: center;
    gap: 1.5625rem;
    flex-shrink: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top03 .top03_in .box .item {
    width: 80%;
  }
}
@media screen and (min-width: 768px) {
  .top03 .top03_in .box .item h3 {
    font-size: 1.375rem;
    font-weight: 700;
    line-height: normal;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top03 .top03_in .box .item h3 {
    font-size: 1.15rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top03 .top03_in .box .item h3 {
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 768px) {
  .top03 .top03_in .box .item p {
    font-weight: 700;
    line-height: 200%; /* 2rem */
  }
  .top03 .top03_in .box .item01,
  .top03 .top03_in .box .item03 {
    background: #f0f9ff;
  }
  .top03 .top03_in .box .item01 h3,
  .top03 .top03_in .box .item03 h3 {
    color: #1e71af;
  }
  .top03 .top03_in .box .item01 p,
  .top03 .top03_in .box .item03 p {
    color: #1e71af;
  }
  .top03 .top03_in .box .item02 {
    background: #1e71af;
  }
  .top03 .top03_in .box .item02 h3 {
    color: #fff;
  }
  .top03 .top03_in .box .item02 p {
    color: #fff;
  }
  .top03 .top03_in .btn_wrap {
    margin: 6.81rem 0 0;
  }
  .top03 .top03_in .btn_wrap .btn {
    width: 15.625rem;
    height: 3.125rem;
  }
  .top04 .bg_img,
  .top05 .bg_img {
    max-width: 960px;
    position: absolute;
    top: 0%;
    z-index: -1;
    height: 100%;
  }
  .top04 .box,
  .top05 .box {
    width: 60rem;
    padding: 0.9375rem;
    border-radius: 1.25rem;
    background: #f0f9ff;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top04 .box,
  .top05 .box {
    width: 50rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top04 .box,
  .top05 .box {
    width: 40rem;
  }
}
@media screen and (min-width: 768px) {
  .top04 .box .box_in,
  .top05 .box .box_in {
    padding: 2.81rem 0;
    border-radius: 1.25rem;
    border: 2px solid #1e71af;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .top04 .box .box_in h2,
  .top05 .box .box_in h2 {
    color: #1e71af;
    font-size: 1.875rem;
    font-weight: 700;
    line-height: normal;
  }
  .top04 .box .box_in p,
  .top05 .box .box_in p {
    margin: 0.625rem 0 0;
    color: #1e71af;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: normal;
  }
  .top04 .box .box_in .btn_wrap,
  .top05 .box .box_in .btn_wrap {
    margin: 2.5rem 0 0;
  }
  .top04 .box .box_in .btn_wrap .btn,
  .top05 .box .box_in .btn_wrap .btn {
    width: 15.625rem;
    height: 3.125rem;
  }
  .top04 {
    padding: 3.13rem 0 8.13rem;
  }
  .top04 .bg_img {
    right: 0%;
  }
  .top05 {
    padding: 12.75rem 0 0;
  }
  .top05 .bg_img {
    left: 0%;
  }
  .top05 .box {
    margin: 0 0 4.62rem auto;
  }
  .top_slider_img {
    margin: 2.75rem 0;
    overflow: hidden;
  }
  .top_slider_img .swiper-wrapper {
    transition-timing-function: linear;
  }
}
/*//////////////////////////////////////////////////////////////////////////////////
//
//            ▼ スマホ ▼
//
///////////////////////////////////////////////////*/
@media screen and (max-width: 767.5px) {
  .top01 {
    overflow: hidden;
  }
  .top01 .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 26rem;
    height: 8.66667rem;
    background: rgba(91, 202, 254, 0.75);
    padding: 2.13rem 0.93rem 1.69rem 1.07rem;
  }
  .top01 .inner h2 {
    position: relative;
    color: #fff;
    font-size: 1.68447rem;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.0842rem;
    text-align: end;
  }
  .top01 .inner h2 figure {
    position: absolute;
    top: 0%;
    left: 0%;
    transform: translate(-1%, 3%);
    width: 23.9778rem;
    flex-shrink: 0;
  }
  .top01 .inner h2 figure img {
    width: 100%;
  }
  .top01 .top_mv img {
    width: 100%;
    min-height: 482px;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ 流れるテキスト ▼
  //
  ///////////////////////////////////////////////////*/
  .flow_txt {
    overflow: hidden;
  }
  .flow_txt .inner {
    animation: flowing 40s infinite linear;
    width: 100%;
    height: 3.5rem;
    display: flex;
  }
  .flow_txt .inner figure {
    flex-shrink: 0;
    width: 37.03987rem;
  }
  @keyframes flowing {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-100%);
    }
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ トップ02 ▼
  //
  ///////////////////////////////////////////////////*/
  .top02 {
    padding: 2.67rem 0 2rem;
    overflow: hidden;
  }
  .top02 .blue_circle01 {
    z-index: -1;
    bottom: 3%;
    left: -8%;
  }
  .top02 .thin_blue_circle01 {
    bottom: 3%;
    left: -8%;
  }
  .top02 .thin_org_circle01 {
    bottom: 0.2%;
    right: -2%;
  }
  .top02 .top02_in {
    margin: 0 0 3rem;
    position: relative;
    padding: 1.47rem 1rem 3.33rem;
    border-radius: 2rem;
    background: #f0f9ff;
  }
  .top02 .top02_in .orn_img {
    position: absolute;
    z-index: 1;
  }
  .top02 .top02_in .orn_img01 {
    top: -1.8%;
    left: -1%;
    width: 6.66667rem;
  }
  .top02 .top02_in .orn_img02 {
    bottom: -2%;
    left: -1%;
    width: 6.66667rem;
  }
  .top02 .top02_in .orn_img03 {
    top: 27.5%;
    right: 4%;
    width: 6.66667rem;
  }
  .top02 .top02_in .orn_img04 {
    display: none;
  }
  .top02 .top02_in .orn_img05 {
    display: none;
  }
  .top02 .top02_in .orn_img06 {
    bottom: -2.5%;
    right: -1%;
    width: 10rem;
  }
  .top02 .top02_in .box {
    margin: 2.33rem 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .top02 .top02_in .box .item {
    width: 100%;
  }
  .top02 .top02_in .box .inner {
    padding: 1.33rem 1rem;
    border-radius: 2rem;
    background: #fff;
  }
  .top02 .top02_in .box .inner .img {
    position: relative;
    overflow: hidden;
    padding: 0 0 0 1.18rem;
  }
  .top02 .top02_in .box .inner .img .orn_txt {
    position: absolute;
    top: 0%;
    left: 0%;
    transform: rotate(90deg) translate(44%, 331%);
    color: #1e71af;
    font-weight: 700;
    line-height: 80%; /* 0.8rem */
    letter-spacing: 0.05rem;
  }
  .top02 .top02_in .box .inner .img figure {
    position: relative;
    overflow: hidden;
    border-radius: 2rem;
    z-index: 1;
  }
  .top02 .top02_in .box .inner h3 {
    padding: 0 0 0 1.18rem;
    margin: 0.68rem 0 0;
    color: #1e71af;
    font-size: 1.33333rem;
    font-weight: 700;
    line-height: normal;
  }
  .top02 .top02_in .box .inner p {
    padding: 0 0 0 1.18rem;
    margin: 0.34rem 0 0;
    color: #1e71af;
    font-family: "Noto Sans JP";
    font-weight: 400;
    line-height: 200%; /* 2rem */
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ トップ03 ▼
  //
  ///////////////////////////////////////////////////*/
  .top03 {
    background: url(./images/top/top03_bg.jpg) center center/cover no-repeat;
    padding: 1.8rem 0 4rem;
  }
  .top03::before {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background: rgba(91, 202, 254, 0.7);
  }
  .top03 .top03_in {
    position: relative;
    padding: 0 1rem;
    z-index: 1;
  }
  .top03 .top03_in .ttl .ttl_en {
    color: rgba(255, 255, 255, 0.5);
  }
  .top03 .top03_in .ttl .ttl_jp {
    color: #fff;
  }
  .top03 .top03_in .box {
    margin: 2rem 0 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 3.33rem;
  }
  .top03 .top03_in .box .item {
    margin: 0 auto;
    display: flex;
    width: 100%;
    padding: 2rem 1.17rem;
    flex-direction: column;
    align-items: center;
    gap: 1.67rem;
    flex-shrink: 0;
  }
  .top03 .top03_in .box .item h3 {
    font-size: 1.33333rem;
    font-weight: 700;
    line-height: normal;
  }
  .top03 .top03_in .box .item figure {
    width: 6.66667rem;
    height: 6.66667rem;
  }
  .top03 .top03_in .box .item p {
    font-weight: 700;
    line-height: 200%; /* 2rem */
  }
  .top03 .top03_in .box .item01,
  .top03 .top03_in .box .item03 {
    background: #f0f9ff;
  }
  .top03 .top03_in .box .item01 h3,
  .top03 .top03_in .box .item03 h3 {
    color: #1e71af;
  }
  .top03 .top03_in .box .item01 p,
  .top03 .top03_in .box .item03 p {
    color: #1e71af;
  }
  .top03 .top03_in .box .item02 {
    background: #1e71af;
  }
  .top03 .top03_in .box .item02 h3 {
    color: #fff;
  }
  .top03 .top03_in .box .item02 p {
    color: #fff;
  }
  .top03 .top03_in .btn_wrap {
    margin: 5.33rem 0 0;
  }
  .top03 .top03_in .btn_wrap .btn {
    width: 16.66667rem;
    height: 3.33333rem;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ トップ04,05 ▼
  //
  ///////////////////////////////////////////////////*/
  .top04 .bg_img,
  .top05 .bg_img {
    width: 26.00007rem;
    height: 25.33333rem;
    position: absolute;
    top: 0%;
    z-index: -1;
  }
  .top04 .box,
  .top05 .box {
    margin: 5rem 0 0;
    width: 100%;
    padding: 1rem;
    border-radius: 1.33333rem;
    background: #f0f9ff;
  }
  .top04 .box .box_in,
  .top05 .box .box_in {
    padding: 1.4rem 0 2rem;
    border-radius: 1.33333rem;
    border: 2px solid #1e71af;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .top04 .box .box_in h2,
  .top05 .box .box_in h2 {
    color: #1e71af;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
  }
  .top04 .box .box_in p,
  .top05 .box .box_in p {
    text-align: center;
    margin: 0.67rem 0 0;
    color: #1e71af;
    font-size: 1.33333rem;
    font-weight: 700;
    line-height: normal;
  }
  .top04 .box .box_in .btn_wrap,
  .top05 .box .box_in .btn_wrap {
    margin: 2rem 0 0;
  }
  .top04 .box .box_in .btn_wrap .btn,
  .top05 .box .box_in .btn_wrap .btn {
    width: 16.66667rem;
    height: 3.33333rem;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ トップ04 ▼
  //
  ///////////////////////////////////////////////////*/
  .top04 {
    padding: 1.33rem 0 2rem;
  }
  .top04 .bg_img {
    top: 16%;
    right: 0%;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ トップ05 ▼
  //
  ///////////////////////////////////////////////////*/
  .top05 {
    padding: 4.75rem 0 0;
  }
  .top05 .bg_img {
    left: 0%;
  }
  .top05 .box {
    margin: 0 0 2.62rem auto;
  }
  /*///////////////////////////////////////////////////
  //
  //            ▼ 流れる画像 ▼
  //
  ///////////////////////////////////////////////////*/
  .top_slider_img {
    margin: 3rem 0 1rem;
    overflow: hidden;
  }
  .top_slider_img .swiper-wrapper {
    transition-timing-function: linear;
  }
}
@media screen and (min-width: 768px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ 私たちの強み02 ▼
  //
  ///////////////////////////////////////////////////*/
  .strength02 {
    overflow: hidden;
    padding: 6.56rem 0 6.3rem;
  }
  .strength02 h2 {
    color: #1e71af;
    font-size: 1.875rem;
    font-weight: 700;
    line-height: normal;
    text-align: center;
  }
  .strength02 .box {
    margin: 9.13rem 0 3rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .strength02 .box {
    margin-top: 7.13rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .strength02 .box {
    margin-top: 6.13rem;
  }
}
@media screen and (min-width: 768px) {
  .strength02 .box .item {
    position: relative;
    max-width: 1615px;
    width: 95%;
    display: flex;
  }
  .strength02 .box .item + .item {
    margin-top: 9.13rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .strength02 .box .item + .item {
    margin-top: 7.13rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .strength02 .box .item + .item {
    margin-top: 5.13rem;
  }
}
@media screen and (min-width: 768px) {
  .strength02 .box .item .circle {
    position: absolute;
    width: 19.0625rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .strength02 .box .item .circle {
    width: 16.0625rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .strength02 .box .item .circle {
    width: 13.0625rem;
  }
}
@media screen and (min-width: 768px) {
  .strength02 .box .item .img {
    position: relative;
  }
  .strength02 .box .item .inner {
    position: relative;
    margin: 3.47rem 0 0;
    border-radius: 1.25rem;
    border: 2px solid #1e71af;
    background: #f0f9ff;
    width: 40rem;
    height: 17.1875rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .strength02 .box .item .inner {
    width: 38rem;
    height: 15.1875rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .strength02 .box .item .inner {
    width: 37rem;
    height: 14.1875rem;
  }
}
@media screen and (min-width: 768px) {
  .strength02 .box .item .inner .num {
    position: absolute;
    z-index: 2;
    top: -52%;
    color: #1e71af;
    font-size: 7.5rem;
    font-weight: 700;
    line-height: normal;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .strength02 .box .item .inner .num {
    font-size: 5.6rem;
    top: -44%;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .strength02 .box .item .inner .num {
    font-size: 5.6rem;
    top: -47%;
  }
}
@media screen and (min-width: 768px) {
  .strength02 .box .item .inner .inner_in {
    position: absolute;
    top: 0.94rem;
    width: 100%;
    height: 100%;
    border-radius: 1.25rem;
    border: 2px solid #1e71af;
    background: transparent;
  }
  .strength02 .box .item .inner .inner_in h3 {
    color: #1e71af;
    font-size: 1.875rem;
    font-weight: 700;
    line-height: normal;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .strength02 .box .item .inner .inner_in h3 {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .strength02 .box .item .inner .inner_in h3 {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  .strength02 .box .item .inner .inner_in p {
    margin: 1.25rem 0 0;
    color: #1e71af;
    font-weight: 700;
    line-height: normal;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .strength02 .box .item .inner .inner_in p {
    font-size: 0.95rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .strength02 .box .item .inner .inner_in p {
    font-size: 0.9rem;
  }
}
@media screen and (min-width: 768px) {
  .strength02 .box .item_odd {
    margin-right: auto;
  }
  .strength02 .box .item_odd .circle {
    top: 24%;
    right: -12%;
  }
  .strength02 .box .item_odd .img figure {
    overflow: hidden;
    border-radius: 0 9.375rem 0 0;
  }
  .strength02 .box .item_odd .inner .num {
    left: -14%;
  }
  .strength02 .box .item_odd .inner .inner_in {
    padding: 3.62rem 2.19rem;
    left: 0.94rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .strength02 .box .item_odd .inner .inner_in {
    padding: 2rem 2rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .strength02 .box .item_odd .inner .inner_in {
    left: 0.6rem;
    padding: 2rem 1rem;
  }
}
@media screen and (min-width: 768px) {
  .strength02 .box .item_even {
    margin-left: auto;
  }
  .strength02 .box .item_even .circle {
    top: 14%;
    left: -13%;
  }
  .strength02 .box .item_even .img {
    order: 2;
  }
  .strength02 .box .item_even .img figure {
    overflow: hidden;
    border-radius: 9.375rem 0 0 0;
  }
  .strength02 .box .item_even .inner {
    order: 1;
  }
  .strength02 .box .item_even .inner .num {
    right: -14%;
  }
  .strength02 .box .item_even .inner .inner_in {
    padding: 3.62rem 3.12rem;
    left: -0.94rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .strength02 .box .item_even .inner .inner_in {
    padding: 2rem 2.4rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .strength02 .box .item_even .inner .inner_in {
    left: -0.6rem;
    padding: 2rem 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .strength02 .box .item02 .inner {
    order: 1;
  }
  .strength02 .box .item02 .inner .inner_in {
    padding-top: 3.62rem;
    left: -0.94rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .strength02 .box .item02 .inner .inner_in {
    padding-top: 2rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .strength02 .box .item02 .inner .inner_in {
    padding-top: 2rem;
  }
}
/*//////////////////////////////////////////////////////////////////////////////////
//
//            ▼ スマホ ▼
//
///////////////////////////////////////////////////*/
@media screen and (max-width: 767.5px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ 私たちの強み02 ▼
  //
  ///////////////////////////////////////////////////*/
  .strength02 {
    overflow: hidden;
    padding: 2.67rem 0 0;
  }
  .strength02 h2 {
    color: #1e71af;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
    text-align: center;
  }
  .strength02 .box {
    margin: 2.67rem 0 3.07rem;
  }
  .strength02 .box .item {
    position: relative;
    width: fit-content;
    padding: 6.67rem 1rem 0;
  }
  .strength02 .box .item + .item {
    margin-top: 3.73rem;
  }
  .strength02 .box .item .circle {
    position: absolute;
    width: 7rem;
  }
  .strength02 .box .item .img {
    position: absolute;
    z-index: -1;
    top: 0%;
    left: 0%;
    width: 24.9436rem;
  }
  .strength02 .box .item .inner {
    position: relative;
    border-radius: 1.33333rem;
    border: 2px solid #1e71af;
    background: #f0f9ff;
    width: 23.33333rem;
    height: 10.13333rem;
  }
  .strength02 .box .item .inner .num {
    position: absolute;
    z-index: 2;
    top: 0%;
    transform: translateY(-153%);
    color: #1e71af;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: normal;
  }
  .strength02 .box .item .inner .inner_in {
    position: absolute;
    padding: 1.07rem 1.33rem;
    top: 0.6rem;
    left: 0.67rem;
    width: 100%;
    height: 100%;
    border-radius: 1.25rem;
    border: 2px solid #1e71af;
    background: transparent;
  }
  .strength02 .box .item .inner .inner_in h3 {
    color: #1e71af;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
  }
  .strength02 .box .item .inner .inner_in p {
    margin: 1rem 0 0;
    color: #1e71af;
    font-weight: 700;
    line-height: normal;
    line-height: 180%; /* 1.92rem */
  }
  .strength02 .box .item_odd {
    margin-right: auto;
  }
  .strength02 .box .item_odd .circle {
    top: 81%;
    right: -12%;
  }
  .strength02 .box .item_odd .img figure {
    overflow: hidden;
    border-radius: 0rem 10rem 0rem 0rem;
    position: relative;
    z-index: 1;
  }
  .strength02 .box .item_odd .inner .num {
    right: -1%;
  }
  .strength02 .box .item_odd .inner .inner_in {
    padding: 1.07rem 0.6rem 1.07rem 1.33rem;
    left: 0.67rem;
  }
  .strength02 .box .item_even {
    margin-left: auto;
  }
  .strength02 .box .item_even .circle {
    top: 74%;
    left: -13%;
  }
  .strength02 .box .item_even .img figure {
    overflow: hidden;
    border-radius: 10rem 0rem 0rem 0rem;
    position: relative;
    z-index: 1;
  }
  .strength02 .box .item_even .inner .num {
    left: -2%;
  }
  .strength02 .box .item01 .inner,
  .strength02 .box .item02 .inner,
  .strength02 .box .item03 .inner,
  .strength02 .box .item04 .inner {
    height: 14rem;
  }
}
@media screen and (min-width: 768px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ 事業紹介02 ▼
  //
  ///////////////////////////////////////////////////*/
  .business02 {
    margin: 4rem 0 6.19rem;
  }
  .business02 .business02_in {
    position: relative;
    padding: 4.38rem 4.38rem;
    background: #f0f9ff;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .business02 .business02_in {
    padding: 4.38rem 3.38rem;
  }
}
@media screen and (min-width: 768px) {
  .business02 .business02_in .orn_img {
    position: absolute;
    z-index: 1;
    bottom: 0%;
    right: 0%;
    width: 22.5625rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .business02 .business02_in .orn_img {
    width: 20.5625rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .business02 .business02_in .orn_img {
    width: 18.5625rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .business02 .business02_in .orn_img {
    width: 15.5625rem;
  }
}
@media screen and (min-width: 768px) {
  .business02 .business02_in .box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 2.81rem;
    max-width: 1280px;
  }
  .business02 .business02_in .box .item {
    display: flex;
    padding: 3.125rem;
    flex-direction: column;
    align-items: center;
    flex-direction: column;
    gap: 1.875rem;
    border-radius: 3.125rem;
    background: #fff;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .business02 .business02_in .box .item {
    padding: 2.7rem;
  }
}
@media screen and (min-width: 768px) {
  .business02 .business02_in .box .item h2 {
    color: #1e71af;
    font-size: 1.875rem;
    font-weight: 700;
    line-height: normal;
  }
  .business02 .business02_in .box .item figure {
    border-radius: 3.125rem;
    overflow: hidden;
  }
  .business02 .business02_in .box .item p {
    color: #1e71af;
    text-align: center;
    font-style: normal;
    font-weight: 500;
    line-height: 200%; /* 2rem */
  }
}
/*//////////////////////////////////////////////////////////////////////////////////
//
//            ▼ スマホ ▼
//
///////////////////////////////////////////////////*/
@media screen and (max-width: 767.5px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ 事業紹介02 ▼
  //
  ///////////////////////////////////////////////////*/
  .business02 {
    margin: 2rem 0 0;
  }
  .business02 .business02_in {
    margin: 0 0 2rem;
    position: relative;
    padding: 2.67rem 1rem 6.67rem;
    background: #f0f9ff;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .business02 .business02_in .orn_img {
    position: absolute;
    bottom: 0%;
    right: 0%;
    width: 14.66667rem;
    z-index: 1;
  }
  .business02 .business02_in .box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 2rem;
  }
  .business02 .business02_in .box .item {
    display: flex;
    padding: 1.66667rem 1rem;
    flex-direction: column;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
    border-radius: 1.33333rem;
    background: #fff;
  }
  .business02 .business02_in .box .item h2 {
    color: #1e71af;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
  }
  .business02 .business02_in .box .item figure {
    position: relative;
    border-radius: 1.33333rem;
    overflow: hidden;
    z-index: 1;
  }
  .business02 .business02_in .box .item p {
    color: #1e71af;
    font-style: normal;
    font-weight: 500;
    line-height: 200%; /* 2rem */
  }
}
@media screen and (min-width: 768px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ 会社概要02 ▼
  //
  ///////////////////////////////////////////////////*/
  .company02 {
    margin: 8.37rem 0 6.19rem;
  }
  .company02 h2 {
    text-align: center;
    color: #1e71af;
    font-size: 1.875rem;
    font-weight: 700;
    line-height: normal;
  }
  .company02 table {
    margin: 3.18rem 0 0;
    width: 100%;
  }
  .company02 table tbody tr {
    width: 100%;
  }
  .company02 table tbody tr:last-of-type th,
  .company02 table tbody tr:last-of-type td {
    border-bottom: 1px solid #c6c6c6;
  }
  .company02 table tbody tr th,
  .company02 table tbody tr td {
    border-top: 1px solid #c6c6c6;
  }
  .company02 table tbody tr th {
    padding: 3.05rem 1.56rem;
    width: 25%;
    text-align: start;
    vertical-align: baseline;
    color: #1e71af;
    font-size: 1rem;
    font-weight: 700;
    line-height: normal;
  }
  .company02 table tbody tr td {
    padding: 3.05rem 0;
    width: 75%;
    color: #333;
    font-size: 1rem;
    font-weight: 500;
    line-height: normal;
  }
  .company02 table tbody tr td .map {
    margin: 0.3rem 0 0;
  }
  .company02 table tbody tr td a {
    display: inline-block;
    transition: 0.3s;
  }
  .company02 table tbody tr td a:hover {
    color: #ff980d;
  }
  .company02 table tbody tr td iframe {
    margin: 1.34rem 0 0;
    width: 80.2%;
    height: 21.05175rem;
  }
  .company02 table tbody tr td ul {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}
/*//////////////////////////////////////////////////////////////////////////////////
//
//            ▼ スマホ ▼
//
///////////////////////////////////////////////////*/
@media screen and (max-width: 767.5px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ 会社概要02 ▼
  //
  ///////////////////////////////////////////////////*/
  .company02 {
    margin: 1.67rem 0 3.33rem;
  }
  .company02 h2 {
    text-align: center;
    color: #1e71af;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
  }
  .company02 table {
    margin: 1.7rem 0 0;
    width: 100%;
  }
  .company02 table tbody tr {
    width: 100%;
  }
  .company02 table tbody tr:last-of-type th,
  .company02 table tbody tr:last-of-type td {
    border-bottom: 1px solid #c6c6c6;
  }
  .company02 table tbody tr th,
  .company02 table tbody tr td {
    border-top: 1px solid #c6c6c6;
  }
  .company02 table tbody tr th {
    padding: 0.97rem 1rem;
    width: 25%;
    text-align: start;
    vertical-align: baseline;
    color: #1e71af;
    font-size: 1rem;
    font-weight: 700;
    line-height: normal;
  }
  .company02 table tbody tr td {
    padding: 0.97rem 0 0.97rem;
    width: 75%;
    color: #333;
    font-size: 1rem;
    font-weight: 500;
    line-height: normal;
  }
  .company02 table tbody tr td .map {
    margin: 0.7rem 0 0;
  }
  .company02 table tbody tr td a {
    display: inline-block;
  }
  .company02 table tbody tr td iframe {
    margin: 1rem 0 0;
    width: 100%;
    height: 12.86667rem;
  }
  .company02 table tbody tr td ul {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ 採用情報02 ▼
  //
  ///////////////////////////////////////////////////*/
  .recruit02 {
    margin: 6.75rem 0 6.19rem;
  }
  .recruit02 h2 {
    text-align: center;
    color: #1e71af;
    font-size: 1.875rem;
    font-weight: 700;
    line-height: normal;
  }
  .recruit02 table {
    margin: 3.81rem 0 0;
    width: 100%;
  }
  .recruit02 table tbody tr {
    width: 100%;
  }
  .recruit02 table tbody tr:last-of-type th,
  .recruit02 table tbody tr:last-of-type td {
    border-bottom: 1px solid #c6c6c6;
  }
  .recruit02 table tbody tr th,
  .recruit02 table tbody tr td {
    border-top: 1px solid #c6c6c6;
  }
  .recruit02 table tbody tr th {
    padding: 1.75rem 3.75rem;
    width: 28.75%;
    text-align: start;
    vertical-align: baseline;
    color: #1e71af;
    font-size: 1rem;
    font-weight: 700;
    line-height: 200%; /* 2rem */
  }
  .recruit02 table tbody tr td {
    padding: 1.75rem 0;
    width: 71.25%;
    color: #333;
    font-size: 1rem;
    font-weight: 500;
    line-height: 200%; /* 2rem */
  }
  .recruit02 table tbody tr td .inner p + p {
    margin: 0.4rem 0 0;
  }
  .recruit02 table tbody tr td .inner + .inner {
    margin: 1.69rem 0 0;
  }
  .recruit02 .btn_wrap {
    margin: 3.12rem 0 0;
  }
  .recruit02 .btn_wrap .btn {
    width: 15.625rem;
    height: 3.125rem;
  }
}
/*//////////////////////////////////////////////////////////////////////////////////
//
//            ▼ スマホ ▼
//
///////////////////////////////////////////////////*/
@media screen and (max-width: 767.5px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ 採用情報02 ▼
  //
  ///////////////////////////////////////////////////*/
  .recruit02 {
    margin: 1.67rem 0 4rem;
  }
  .recruit02 h2 {
    text-align: center;
    color: #1e71af;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
  }
  .recruit02 table {
    margin: 2.33rem 0 0;
    width: 100%;
  }
  .recruit02 table tbody tr {
    width: 100%;
  }
  .recruit02 table tbody tr:last-of-type th,
  .recruit02 table tbody tr:last-of-type td {
    border-bottom: 1px solid #c6c6c6;
  }
  .recruit02 table tbody tr th,
  .recruit02 table tbody tr td {
    border-top: 1px solid #c6c6c6;
  }
  .recruit02 table tbody tr th {
    padding: 1rem 1rem;
    width: 29.1666666667%;
    text-align: start;
    vertical-align: baseline;
    color: #1e71af;
    font-size: 1rem;
    font-weight: 700;
    line-height: normal;
  }
  .recruit02 table tbody tr td {
    padding: 1rem 0;
    width: 70.8333333333%;
    color: #333;
    font-size: 1rem;
    font-weight: 500;
    line-height: normal;
  }
  .recruit02 table tbody tr td .inner p + p {
    margin: 0.4rem 0 0;
    line-height: 200%; /* 2rem */
  }
  .recruit02 table tbody tr td .inner + .inner {
    margin: 0.67rem 0 0;
  }
  .recruit02 table tbody tr td .inner .large_line_height {
    line-height: 240%;
  }
  .recruit02 .btn_wrap {
    margin: 3rem 0 0;
  }
  .recruit02 .btn_wrap .btn {
    width: 16.66667rem;
    height: 3.33333rem;
  }
}
@media screen and (min-width: 768px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ お問い合わせ02 ▼
  //
  ///////////////////////////////////////////////////*/
  .contact02 {
    margin: 6.75rem 0 6.19rem;
  }
  .contact02 .contact02_in {
    padding: 3.13rem 5rem 6.31rem;
    border-radius: 0rem 10rem;
    background: #f0f9ff;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .contact02 .contact02_in {
    padding: 3.13rem 3rem 6.31rem;
  }
}
@media screen and (min-width: 768px) {
  .contact02 .contact02_in .ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.31rem;
  }
  .contact02 .contact02_in .ttl h2 {
    color: #1e71af;
    font-size: 1.875rem;
    font-weight: 700;
    line-height: normal;
  }
  .contact02 .contact02_in .ttl span {
    color: #1e71af;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: normal;
  }
  .contact02 .contact02_in .box {
    margin: 1.5rem 0 0;
    padding: 3.81rem 3.75rem 4.69rem;
    background: #fff;
    max-width: 960%;
  }
  .contact02 .contact02_in .box form .item {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 0.5rem;
  }
  .contact02 .contact02_in .box form .item + .item {
    margin: 2.5rem 0 0;
  }
  .contact02 .contact02_in .box form .item .inner {
    position: relative;
  }
  .contact02 .contact02_in .box form .item .inner svg {
    display: inline-block;
  }
  .contact02 .contact02_in .box form .item .inner label {
    margin: 0 0.62rem 0 0;
    color: #333;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    display: inline-block;
  }
  .contact02 .contact02_in .box form .item .inner input,
  .contact02 .contact02_in .box form .item .inner textarea,
  .contact02 .contact02_in .box form .item .inner select {
    width: 100%;
    font-size: 16px;
    padding: 0.87rem 0.88rem;
    border: 1px solid #b3b3b3;
  }
  .contact02 .contact02_in .box form .item .inner input::placeholder,
  .contact02 .contact02_in .box form .item .inner textarea::placeholder {
    color: #b3b3b3;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
  }
  .contact02 .contact02_in .box form .item .inner select {
    position: relative;
    color: #333;
    appearance: none;
  }
  .contact02 .contact02_in .box form .item .inner .require {
    position: absolute;
    top: 0%;
    left: 0%;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 100%;
    padding: 0.35rem 1.06rem;
    transform: translateY(-98%);
  }
  .contact02 .contact02_in .box form .item .inner textarea {
    min-height: 14rem;
  }
  .contact02 .contact02_in .box form .item .select_box {
    position: relative;
  }
  .contact02 .contact02_in .box form .item .select_box span {
    position: absolute;
    top: 50%;
    right: 0%;
    transform: rotate(90deg) translate(-60%, 100%);
    color: #333;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
  }
  .contact02 .contact02_in .box form .acceptance {
    margin: 3.12rem 0 0;
    text-align: center;
    position: relative;
  }
  .contact02 .contact02_in .box form .acceptance .inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .contact02 .contact02_in .box form .acceptance input[type=checkbox] {
    opacity: 0;
    width: auto;
    margin-top: 0;
    padding-left: 2rem;
    transform: translateX(1.1rem);
  }
  .contact02 .contact02_in .box form .acceptance input[type=checkbox]:checked + label::after {
    opacity: 1;
  }
  .contact02 .contact02_in .box form .acceptance label {
    padding: 0 0 0 2.3rem;
    position: relative;
    cursor: pointer;
    font-weight: 500;
    line-height: 200%;
  }
  .contact02 .contact02_in .box form .acceptance label span {
    position: relative;
    color: #8d8888;
  }
  .contact02 .contact02_in .box form .acceptance label span::before {
    content: "";
    position: absolute;
    bottom: 0%;
    left: 0%;
    width: 100%;
    height: 1px;
    opacity: 0;
    transition: 0.3s;
    background: #8d8888;
  }
  .contact02 .contact02_in .box form .acceptance label:hover span::before {
    opacity: 1;
  }
  .contact02 .contact02_in .box form .acceptance label::before {
    content: "";
    display: block;
    position: absolute;
    background: #fff;
    border-radius: 0%;
    border: 1px solid #333333;
    width: 1.25rem;
    height: 1.25rem;
    transform: translateY(-50%);
    top: 50%;
    left: 0;
    opacity: 1;
    transition: 0.3s;
  }
  .contact02 .contact02_in .box form .acceptance label::after {
    content: "";
    position: absolute;
    background: url(./images/contact/check.png) center center/cover no-repeat;
    opacity: 0;
    width: 1.5625rem;
    height: 1.0625rem;
    top: 17%;
    left: 1%;
    transition: 0.3s;
  }
  .contact02 .contact02_in .box form .btn_wrap {
    margin: 2.56rem auto 0;
  }
  .contact02 .contact02_in .box form .btn_wrap .btn {
    width: 15.625rem;
    height: 3.125rem;
    cursor: pointer;
  }
  .contact02 .contact02_in .box form .btn_wrap .btn span {
    font-size: 1.25rem;
    letter-spacing: 0.0625rem;
  }
  .contact02 .contact02_in .box .privacypolicy {
    margin: 4.19rem 0 0;
  }
  .contact02 .contact02_in .box .privacypolicy h3 {
    text-align: center;
    position: relative;
    color: #333;
    font-size: 2rem;
    font-weight: 500;
    line-height: normal;
  }
  .contact02 .contact02_in .box .privacypolicy h3::before {
    content: "";
    position: absolute;
    bottom: -14%;
    left: 50%;
    transform: translateX(-50%);
    width: 3.125rem;
    height: 0.25rem;
    background: #333;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in {
    width: 100%;
    margin: 2.06rem auto 0;
    padding: 1.56rem 3.12rem;
    border: 1px solid #b3b3b3;
    height: 13.75rem;
    background: #fff;
    overflow: scroll;
    color: #333;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in h4 {
    margin: 2rem 0 0;
    text-align: start;
    font-size: 1.2rem;
    font-weight: 500;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in p {
    margin: 1rem 0 0;
    font-size: 0.94rem;
    font-weight: 400;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ol {
    margin: 1rem 0 1rem 1rem;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ol li {
    list-style: decimal;
    margin: 0.5rem 0;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ul {
    margin: 1rem 0 1rem 1rem;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ul li {
    list-style: disc;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ul li ol {
    margin: 0rem 0 1.5rem 1rem;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ul li ol li {
    list-style: decimal;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in .right {
    text-align: right;
  }
}
/*//////////////////////////////////////////////////////////////////////////////////
//
//            ▼ スマホ ▼
//
///////////////////////////////////////////////////*/
@media screen and (max-width: 767.5px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ お問い合わせ02 ▼
  //
  ///////////////////////////////////////////////////*/
  .contact02 {
    margin: 2.67rem 0 2rem;
    border-radius: 0rem 6.66667rem;
    background: #f0f9ff;
  }
  .contact02 .contact02_in {
    padding: 3.33rem 0 4.87rem;
  }
  .contact02 .contact02_in .ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.87rem;
  }
  .contact02 .contact02_in .ttl h2 {
    color: #1e71af;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
  }
  .contact02 .contact02_in .ttl span {
    color: #1e71af;
    font-size: 1.06667rem;
    font-weight: 500;
    line-height: normal;
  }
  .contact02 .contact02_in .box {
    margin: 1rem 0 0;
    padding: 1.33rem 1rem 3.33rem;
    background: #fff;
  }
  .contact02 .contact02_in .box form .item {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 0.5rem;
  }
  .contact02 .contact02_in .box form .item + .item {
    margin: 1.33rem 0 0;
  }
  .contact02 .contact02_in .box form .item .inner {
    position: relative;
  }
  .contact02 .contact02_in .box form .item .inner svg {
    display: inline-block;
    width: 0.66667rem;
  }
  .contact02 .contact02_in .box form .item .inner label {
    margin: 0 1rem 0 0;
    color: #333;
    font-size: 1rem;
    font-weight: 700;
    line-height: normal;
    display: inline-block;
  }
  .contact02 .contact02_in .box form .item .inner input,
  .contact02 .contact02_in .box form .item .inner textarea,
  .contact02 .contact02_in .box form .item .inner select {
    width: 100%;
    font-size: 16px;
    padding: 0.93rem 1rem;
    border: 1px solid #b3b3b3;
  }
  .contact02 .contact02_in .box form .item .inner input::placeholder,
  .contact02 .contact02_in .box form .item .inner textarea::placeholder {
    color: #b3b3b3;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
  }
  .contact02 .contact02_in .box form .item .inner select {
    position: relative;
    color: #333;
    appearance: none;
  }
  .contact02 .contact02_in .box form .item .inner .require {
    position: absolute;
    top: 0%;
    left: 0%;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 100%;
    padding: 0.35rem 1.06rem;
    transform: translateY(-98%);
  }
  .contact02 .contact02_in .box form .item .inner textarea {
    min-height: 14rem;
  }
  .contact02 .contact02_in .box form .item .select_box {
    position: relative;
  }
  .contact02 .contact02_in .box form .item .select_box span {
    position: absolute;
    top: 50%;
    right: 0%;
    transform: rotate(90deg) translate(-60%, 100%);
    color: #333;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
  }
  .contact02 .contact02_in .box form .acceptance {
    margin: 2rem 0 0;
    text-align: center;
    position: relative;
  }
  .contact02 .contact02_in .box form .acceptance .inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .contact02 .contact02_in .box form .acceptance input[type=checkbox] {
    opacity: 0;
    width: auto;
    margin-top: 0;
    padding-left: 2rem;
    transform: translateX(1.1rem);
  }
  .contact02 .contact02_in .box form .acceptance input[type=checkbox]:checked + label::after {
    opacity: 1;
  }
  .contact02 .contact02_in .box form .acceptance label {
    padding: 0 0 0 2.3rem;
    position: relative;
    cursor: pointer;
    font-weight: 500;
    line-height: 200%;
  }
  .contact02 .contact02_in .box form .acceptance label span {
    position: relative;
    color: #8d8888;
  }
  .contact02 .contact02_in .box form .acceptance label span::before {
    content: "";
    position: absolute;
    bottom: 0%;
    left: 0%;
    width: 100%;
    height: 1px;
    background: #8d8888;
  }
  .contact02 .contact02_in .box form .acceptance label::before {
    content: "";
    display: block;
    position: absolute;
    background: #fff;
    border-radius: 0%;
    border: 1px solid #333333;
    width: 1.66667rem;
    height: 1.66667rem;
    transform: translateY(-50%);
    top: 50%;
    left: 0;
    opacity: 1;
    transition: 0.3s;
  }
  .contact02 .contact02_in .box form .acceptance label::after {
    content: "";
    position: absolute;
    background: url(./images/contact/check.png) center center/cover no-repeat;
    opacity: 0;
    width: 1.5625rem;
    height: 1.0625rem;
    top: 17%;
    left: 1%;
    transition: 0.3s;
  }
  .contact02 .contact02_in .box form .btn_wrap {
    margin: 1.67rem auto 0;
  }
  .contact02 .contact02_in .box form .btn_wrap .btn {
    width: 16.66667rem;
    height: 3.33333rem;
    cursor: pointer;
  }
  .contact02 .contact02_in .box form .btn_wrap .btn span {
    font-size: 1.33333rem;
    letter-spacing: 0.06667rem;
  }
  .contact02 .contact02_in .box .privacypolicy {
    margin: 3rem 0 0;
  }
  .contact02 .contact02_in .box .privacypolicy h3 {
    text-align: center;
    position: relative;
    color: #333;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: normal;
  }
  .contact02 .contact02_in .box .privacypolicy h3::before {
    content: "";
    position: absolute;
    bottom: -34%;
    left: 50%;
    transform: translateX(-50%);
    width: 3.33333rem;
    height: 0.13333rem;
    background: #333;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in {
    width: 100%;
    margin: 2.67rem auto 0;
    padding: 1rem 0.67rem;
    border: 1px solid #b3b3b3;
    height: 13.75rem;
    background: #fff;
    overflow: scroll;
    color: #333;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in h4 {
    margin: 2rem 0 0;
    text-align: start;
    font-size: 1.2rem;
    font-weight: 500;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in p {
    margin: 1rem 0 0;
    font-size: 0.94rem;
    font-weight: 400;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in p:first-of-type {
    margin-top: 0;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ol {
    margin: 1rem 0 1rem 1rem;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ol li {
    list-style: decimal;
    margin: 0.5rem 0;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ul {
    margin: 1rem 0 1rem 1rem;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ul li {
    list-style: disc;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ul li ol {
    margin: 0rem 0 1.5rem 1rem;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in ul li ol li {
    list-style: decimal;
  }
  .contact02 .contact02_in .box .privacypolicy .privacypolicy_in .right {
    text-align: right;
  }
}
@media screen and (min-width: 768px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ サンクス01 ▼
  //
  ///////////////////////////////////////////////////*/
  .thanks01 {
    padding: 9rem 0 7.44rem;
    overflow: hidden;
  }
  .thanks01 .circle {
    position: absolute;
    width: 14.1875rem;
  }
  .thanks01 .thin_orgBlue_circle01 {
    top: 10%;
    right: 65%;
  }
  .thanks01 .thin_yellowBlue_circle02 {
    bottom: -1%;
    left: 68%;
  }
  .thanks01 .img {
    position: absolute;
    z-index: -1;
    top: 0%;
    width: 40rem;
    height: 39.875rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .thanks01 .img {
    width: 28rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .thanks01 .img {
    width: 21rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .thanks01 .img {
    width: 21rem;
    height: 38.875rem;
  }
}
@media screen and (min-width: 768px) {
  .thanks01 .img img {
    width: 100%;
    height: 100%;
  }
  .thanks01 .img01 {
    right: 66.6%;
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .thanks01 .img01 {
    right: 72.6%;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .thanks01 .img01 {
    right: 78.6%;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .thanks01 .img01 {
    right: 78.6%;
  }
}
@media screen and (min-width: 768px) {
  .thanks01 .img02 {
    left: 66.6%;
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .thanks01 .img02 {
    left: 72.6%;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .thanks01 .img02 {
    left: 78.6%;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .thanks01 .img02 {
    left: 78.6%;
  }
}
@media screen and (min-width: 768px) {
  .thanks01 .box .lower_mv_ttl {
    margin: 0 auto;
    position: relative;
    width: fit-content;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.62rem;
  }
  .thanks01 .box .lower_mv_ttl .lower_mv_ttl_en {
    position: relative;
    color: #333;
    font-size: 4.375rem;
    font-weight: 700;
    line-height: normal;
    padding: 0 0 0.62rem;
  }
  .thanks01 .box .lower_mv_ttl .lower_mv_ttl_en::before {
    content: "";
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translate(-50%, 0%);
    width: 8rem;
    height: 0.0625rem;
    background: #333;
  }
  .thanks01 .box .lower_mv_ttl .lower_mv_ttl_jp {
    color: #333;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: normal;
  }
  .thanks01 .box p {
    margin: 3.13rem 0 0;
    color: #333;
    text-align: center;
    font-style: normal;
    font-weight: 700;
    line-height: 200%; /* 2.13333rem */
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .thanks01 .box p {
    font-size: 0.8rem;
  }
}
@media screen and (min-width: 768px) {
  .thanks01 .box .btn_wrap {
    margin: 1.56rem 0 0;
  }
  .thanks01 .box .btn_wrap .btn {
    width: 13.75rem;
    height: 3.125rem;
  }
}
/*//////////////////////////////////////////////////////////////////////////////////
//
//            ▼ スマホ ▼
//
///////////////////////////////////////////////////*/
@media screen and (max-width: 767.5px) {
  /*///////////////////////////////////////////////////
  //
  //            ▼ サンクス01 ▼
  //
  ///////////////////////////////////////////////////*/
  .thanks01 {
    padding: 7rem 0 2.67rem;
    overflow: hidden;
  }
  .thanks01 .img {
    position: absolute;
    z-index: -1;
    top: 0%;
    width: 6.66673rem;
    height: 30.66667rem;
    height: 100%;
  }
  .thanks01 .img img {
    width: 100%;
    height: 100%;
  }
  .thanks01 .img01 {
    right: 86.6%;
  }
  .thanks01 .img02 {
    left: 86.6%;
  }
  .thanks01 .box .lower_mv_ttl {
    margin: 0 auto;
    position: relative;
    width: fit-content;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.62rem;
  }
  .thanks01 .box .lower_mv_ttl .lower_mv_ttl_en {
    position: relative;
    color: #333;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: normal;
    padding: 0 0 0.62rem;
  }
  .thanks01 .box .lower_mv_ttl .lower_mv_ttl_en::before {
    content: "";
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translate(-50%, 0%);
    width: 8.53333rem;
    height: 0.06667rem;
    background: #333;
  }
  .thanks01 .box .lower_mv_ttl .lower_mv_ttl_jp {
    color: #333;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: normal;
  }
  .thanks01 .box p {
    margin: 1.33rem 0 0;
    color: #333;
    text-align: center;
    font-style: normal;
    font-weight: 700;
    line-height: 200%; /* 2.13333rem */
  }
  .thanks01 .box .btn_wrap {
    margin: 2rem 0 0;
  }
  .thanks01 .box .btn_wrap .btn {
    width: 14.66667rem;
    height: 3.33333rem;
  }
}
@media screen and (min-width: 768px) {
  .page404 .catch_copy {
    height: 100vh;
    min-height: 750px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .page404 .catch_copy .ttl {
    font-size: 3rem;
    margin-bottom: 0.5rem;
  }
}
@media screen and (max-width: 767.5px) {
  .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;
  }
}
@media screen and (min-width: 768px) {
  .privacypolicy01 .box {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
  }
  .privacypolicy01 .box h1 {
    font-size: 2rem;
    text-align: center;
    margin: 0 0 2rem;
  }
  .privacypolicy01 .box h2 {
    font-size: 1.5rem;
    margin: 3rem 0 1rem;
  }
  .privacypolicy01 .box ol {
    margin: 1rem 0 1rem 2rem;
  }
  .privacypolicy01 .box ol li {
    list-style: decimal;
    margin: 0.5rem 0;
  }
  .privacypolicy01 .box ul {
    margin: 1rem 0 1rem 2rem;
  }
  .privacypolicy01 .box ul li {
    list-style: disc;
  }
  .privacypolicy01 .box ul li ol {
    margin: 0rem 0 1.5rem 2rem;
  }
  .privacypolicy01 .box ul li ol li {
    list-style: decimal;
  }
  .privacypolicy01 .box .right {
    text-align: right;
  }
}
@media screen and (max-width: 767.5px) {
  .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;
  }
}
/*# sourceMappingURL=sourcemaps/style.css.map */