@charset "UTF-8";
/*==================================
      レスポンシブ設定 マップ型変数breakpointsを定義
      =================================*/
/*==================================
      # 色、サイズ、フォントファミリー
      =================================*/
/*==================================
      # セクションタイトル
      =================================*/
/*==================================
      common(一般) - 全体に共通するスタイル
      =================================*/
@media screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .is-sp {
    display: none;
  }
}
html,
body {
  overflow-x: hidden;
}

body {
  font-size: 16px;
  color: #2d2f30;
  font-family: "Inter", system-ui, sans-serif;
  line-height: 1.7;
  background: #fff;
  letter-spacing: 1px;
}

.inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 20px;
  }
}

img {
  width: 100%;
  vertical-align: bottom;
}

a {
  font-family: "Inter", system-ui, sans-serif;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover {
  opacity: 0.75;
}

.section {
  padding: 100px 0;
}
@media screen and (max-width: 767px) {
  .section {
    padding: 40px 0;
  }
}

.section_title {
  text-align: center;
  color: #045e7c;
  position: relative;
  margin: clamp(1.125rem, -0.042rem + 2.43vw, 2.875rem) 0;
  z-index: 10;
  font-size: 38px;
}
@media screen and (max-width: 767px) {
  .section_title {
    font-size: 20px;
  }
}
.section_title::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: calc(clamp(1.063rem, 0.021rem + 2.17vw, 2.625rem) * -1);
  width: 160px;
  height: 4px;
  background-color: #045e7c;
}
@media screen and (max-width: 767px) {
  .section_title::after {
    width: 64px;
    height: 2px;
  }
}
.section_title::before {
  content: var(--custom-text, "DEFAULT");
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: calc(clamp(1.5rem, 3.13vw, 3.75rem) * -1);
  color: #f0f4f5;
  z-index: -1;
  font-size: 97px;
}
@media screen and (max-width: 767px) {
  .section_title::before {
    font-size: 50px;
  }
}

.section_btn {
  text-align: center;
}
.section_btn a {
  display: inline-block;
  padding: 0 75px;
  margin: 0 auto;
  border: 1px solid #10939b;
  color: #10939b;
  height: 56px;
  line-height: 3.5;
  position: relative;
  -webkit-transition: 500ms;
  transition: 500ms;
}
@media screen and (max-width: 767px) {
  .section_btn a {
    height: 40px;
    line-height: 2.5;
    padding: 0 35px;
  }
}
.section_btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 60px;
  height: 1px;
  background: #10939b;
  left: -30px;
  -webkit-transition: 500ms;
  transition: 500ms;
}
@media screen and (max-width: 767px) {
  .section_btn a::after {
    width: 30px;
    left: -15px;
  }
}
.section_btn a::before {
  position: absolute;
  content: "";
  background: url(../img/ios-arrow-right-green.png) no-repeat center center/cover;
  right: 20px;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 6px;
  height: 10px;
}
@media screen and (max-width: 767px) {
  .section_btn a::before {
    right: 10px;
  }
}
.section_btn a:hover {
  -webkit-transition: 500ms;
  transition: 500ms;
  opacity: 1;
  background: #10939b !important;
  color: #fff;
}
.section_btn a:hover::before {
  background: url(../img/ios-arrow-right-white.png) no-repeat center center/cover;
}
.section_btn a:hover::after {
  -webkit-transition: 500ms;
  transition: 500ms;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  -webkit-font-smoothing: antialiased;
  left: 0px;
  opacity: 0;
}
.section_btn a.white {
  background: #fff;
}
.section_btn a.white:hover {
  -webkit-transition: 500ms;
  transition: 500ms;
  opacity: 1;
  background: #10939b !important;
  color: #fff;
}
.section_btn a.white:hover::after {
  -webkit-transition: 500ms;
  transition: 500ms;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  -webkit-font-smoothing: antialiased;
  left: 0px;
  opacity: 0;
}

::-webkit-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

::-moz-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

:-ms-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

::-ms-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

::placeholder {
  color: rgba(62, 62, 62, 0.5);
}

input[type=text],
input[type=tel],
input[type=email],
input[type=submit],
select,
textarea {
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  background: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  color: #045e7c;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 20px;
  width: 100%;
  padding: 0;
  margin: 0;
  outline: none;
}
@media screen and (max-width: 767px) {
  input[type=text],
  input[type=tel],
  input[type=email],
  input[type=submit],
  select,
  textarea {
    font-size: 14px;
  }
}

/* フワッと表示されるアニメーション*/
@-webkit-keyframes fadeInUp {
  from {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes fadeInUp {
  from {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
/* 上の続き。Java Scriptと連動 */
.fade-in-up {
  -webkit-animation: 3s cubic-bezier(0.39, 0.575, 0.565, 1) fadeInUp;
          animation: 3s cubic-bezier(0.39, 0.575, 0.565, 1) fadeInUp;
}

/*==================================
      common(一般) - 全体に共通するスタイル ここまで↑
      =================================*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 400;
  height: 100px;
}
@media screen and (min-width: 1280px) {
  .header {
    height: 124px;
  }
}
@media screen and (max-width: 767px) {
  .header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
    height: 65px;
  }
}

.header_nav {
  margin-left: auto;
}

.header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: clamp(1.875rem, 0.542rem + 2.78vw, 3.875rem);
  height: inherit;
  max-width: initial !important;
}
@media screen and (max-width: 767px) {
  .header_inner {
    margin-left: 30px;
  }
}
.header_inner .headerLogo {
  max-width: 90px;
  margin-right: clamp(0.5rem, 1.04vw, 1.25rem);
  z-index: 300;
  position: relative;
}
.header_inner .headerLogo a {
  display: block;
}
@media screen and (min-width: 1280px) {
  .header_inner .headerLogo {
    max-width: 188px;
  }
}
.header_inner .header_nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(1.375rem, -0.042rem + 2.95vw, 3.5rem);
}
.header_inner .header_nav ul li:last-child {
  margin-right: 0;
}
.header_inner .header_nav ul li a {
  color: #113e60;
  font-weight: 600;
  position: relative;
  font-size: 15px;
}
@media screen and (min-width: 1280px) {
  .header_inner .header_nav ul li a {
    font-size: 16px;
  }
}
.header_inner .header_nav ul li a::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #113e60;
  bottom: -4px;
  left: 0;
  /*横方向0で非表示にする*/
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  /*中央を基点にアニメーション*/
  -webkit-transform-origin: center top;
          transform-origin: center top;
  /*アニメーションの速度設定*/
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.header_inner .header_nav ul li a:hover::after {
  /*横方向等倍まで拡大*/
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.header_inner .header_sns {
  height: 100%;
}
.header_inner .header_sns .telephone-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 10px;
  height: 100%;
}
.header_inner .header_sns .telephone-contact .telephone-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header_inner .header_sns .telephone-contact .telephone-cta .icon-number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 clamp(0.875rem, -0.042rem + 1.91vw, 2.25rem);
}
.header_inner .header_sns .telephone-contact .telephone-cta .icon-number .phoneNumber {
  font-size: 24px;
  line-height: 1.6666666667;
  color: #0e3e65;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
  letter-spacing: 0rem;
}
@media screen and (min-width: 1280px) {
  .header_inner .header_sns .telephone-contact .telephone-cta .icon-number .phoneNumber {
    font-size: 30px;
  }
}
.header_inner .header_sns .telephone-contact .telephone-cta .icon-number .telephone {
  width: 23px;
  height: auto;
}
@media screen and (min-width: 1280px) {
  .header_inner .header_sns .telephone-contact .telephone-cta .icon-number .telephone {
    width: 31px;
  }
}
.header_inner .header_sns .telephone-contact .telephone-cta .openHours {
  color: #0e3e65;
  text-align: center;
  font-weight: 600;
  font-size: 13px;
}
@media screen and (min-width: 1280px) {
  .header_inner .header_sns .telephone-contact .telephone-cta .openHours {
    font-size: 18px;
  }
}
.header_inner .header_sns .telephone-contact .contact-btn {
  width: 154px;
  background-color: #10939b;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 1024px) {
  .header_inner .header_sns .telephone-contact .contact-btn {
    width: 208px;
  }
}
.header_inner .header_sns .telephone-contact .contact-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.header_inner .header_sns .telephone-contact .contact-btn .contact-text {
  color: #fff;
  text-align: center;
  font-weight: 600;
  font-size: 13px;
}
@media screen and (min-width: 1024px) {
  .header_inner .header_sns .telephone-contact .contact-btn .contact-text {
    font-size: 16px;
  }
}
.header_inner .header_sns .telephone-contact .contact-btn .mail {
  display: block;
  margin: 0 auto clamp(0.625rem, 0.208rem + 0.87vw, 1.25rem);
  height: auto;
  width: 22px;
}
@media screen and (min-width: 1280px) {
  .header_inner .header_sns .telephone-contact .contact-btn .mail {
    width: 42px;
  }
}

.drawer-icon {
  position: fixed;
  top: 24px;
  right: 20px;
  z-index: 1500;
  -webkit-transition: -webkit-transform 0.5s ease 0s;
  transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s, -webkit-transform 0.5s ease 0s;
}
@media screen and (min-width: 768px) {
  .drawer-icon {
    display: none;
  }
}
.drawer-icon.is-active .drawer-icon-bar1 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  top: 8px;
}
.drawer-icon.is-active .drawer-icon-bar2 {
  opacity: 0;
}
.drawer-icon.is-active .drawer-icon-bar3 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  top: 8px;
}

.drawer-icon-bars {
  width: 25px;
  height: 16px;
  display: block;
  position: relative;
}

.drawer-icon-bar1,
.drawer-icon-bar2,
.drawer-icon-bar3 {
  position: absolute;
  width: 25px;
  height: 2.5px;
  background: #0f3d66;
  top: 0;
  left: 0;
}

.drawer-icon-bar1 {
  top: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.drawer-icon-bar2 {
  top: 8px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.drawer-icon-bar3 {
  top: 16px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.drawer-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  background: white;
  z-index: 250;
  display: none;
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.drawer-content.is-active {
  display: block;
}

.drawer-icon-nav {
  text-align: center;
  position: absolute;
  top: 65px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.drawer-icon-nav ul {
  margin-top: 30px;
}
.drawer-icon-nav ul li {
  margin-bottom: 20px;
}
.drawer-icon-nav ul li a {
  display: block;
  color: #113e60;
  font-size: 17px;
  font-weight: 600;
}
.drawer-icon-nav ul li .telephone-cta-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.drawer-icon-nav ul li .telephone-cta-sp .phoneNumber {
  font-size: 20px;
  color: #0e3e65;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
  letter-spacing: 0rem;
}
.drawer-icon-nav ul li .telephone-cta-sp .telephone {
  width: 41px;
  height: auto;
}

.drawer_sns {
  margin-top: 30px;
}
.drawer_sns ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.drawer_sns ul li {
  width: 35px;
  margin-right: 20px;
}
.drawer_sns ul li:last-child {
  margin-right: 0;
}

.top {
  position: relative;
  margin-top: 100px;
}
@media screen and (min-width: 1280px) {
  .top {
    margin-top: 124px;
  }
}
@media screen and (max-width: 767px) {
  .top {
    margin-top: 65px;
  }
}
.top .slider-wrap {
  margin-left: 20%;
  height: 55.4%;
  position: relative;
  z-index: -10;
}
@media screen and (max-width: 767px) {
  .top .slider-wrap {
    height: 330px;
  }
}
.top .contents {
  position: absolute;
  top: 50%;
  left: 5%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  letter-spacing: 2px;
  z-index: 10;
}
.top .contents .main {
  color: #113b65;
  font-size: 22px;
  letter-spacing: 4px;
}
@media screen and (min-width: 1024px) {
  .top .contents .main {
    font-size: 36px;
    letter-spacing: 10px;
  }
}
@media screen and (min-width: 1280px) {
  .top .contents .main {
    font-size: 48px;
  }
}
.top .contents .main p {
  display: inline-block;
}
.top .contents .main p .bg-color {
  background-color: #fff;
}
.top .contents .main p .bg-color .font-color {
  color: #10939b;
}
.top .contents .buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  margin-top: clamp(3.813rem, 0.021rem + 7.9vw, 9.5rem);
}
@media screen and (max-width: 640px) {
  .top .contents .buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 30px;
    gap: 15px;
  }
}
.top .contents .buttons .btn_blue {
  background-color: #0f3d66;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  max-width: 177px;
  width: 100%;
  height: 45px;
}
@media screen and (min-width: 1280px) {
  .top .contents .buttons .btn_blue {
    max-width: 340px;
    height: 86px;
  }
}
.top .contents .buttons .btn_blue a {
  font-size: 13px;
  color: #fff;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1280px) {
  .top .contents .buttons .btn_blue a {
    font-size: 22px;
  }
}
.top .contents .buttons .btn_blue i {
  margin-left: clamp(1.125rem, 0.867rem + 1.1vw, 2.188rem);
}
.top .contents .buttons .btn_blue:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  background-color: #fff;
  border: 4px solid #0f3d66;
}
.top .contents .buttons .btn_blue:hover a {
  opacity: 1;
  color: #0f3d66;
}
.top .contents .buttons .btn_blue:hover i {
  display: none;
}
.top .contents .buttons .btn_green {
  background-color: #10939b;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  max-width: 177px;
  width: 100%;
  height: 45px;
}
@media screen and (min-width: 1280px) {
  .top .contents .buttons .btn_green {
    max-width: 340px;
    height: 86px;
  }
}
.top .contents .buttons .btn_green a {
  font-size: 13px;
  color: #fff;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1280px) {
  .top .contents .buttons .btn_green a {
    font-size: 22px;
  }
}
.top .contents .buttons .btn_green i {
  margin-left: clamp(1.125rem, 0.867rem + 1.1vw, 2.188rem);
}
.top .contents .buttons .btn_green:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  background-color: #fff;
  border: 4px solid #10939b;
}
.top .contents .buttons .btn_green:hover a {
  opacity: 1;
  color: #10939b;
}
.top .contents .buttons .btn_green:hover i {
  display: none;
}

/* 追加サイドボタン */
.side-banner {
  position: fixed;
  right: 0;
  top: 35%;
  z-index: 40;
}
.side-banner .mail_icon {
  margin-bottom: 10px;
}
.side-banner a {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #2d2f30;
  background: #ddd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 15px 15px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .side-banner {
    bottom: 0;
    left: 0;
    width: 100%;
    top: initial;
  }
  .side-banner .mail_icon {
    margin-bottom: 0px;
    margin-right: 10px;
  }
  .side-banner a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
            writing-mode: unset;
    padding: 12px;
  }
}
/* 追加サイドボタンここまで */
.topNews {
  padding: 0 40px;
}
@media screen and (max-width: 640px) {
  .topNews {
    padding: 0 20px;
  }
}
.topNews .topNews-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 2px solid #0f3d66;
  border-bottom: 2px solid #0f3d66;
  margin: clamp(2rem, 4.17vw, 5rem) clamp(2.5rem, 5.21vw, 6.25rem);
  max-width: 1100px;
  width: 80%;
  margin-inline: auto;
}
@media screen and (max-width: 640px) {
  .topNews .topNews-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px;
    margin: 40px 20px;
    width: auto;
  }
}
@media screen and (max-width: 375px) {
  .topNews .topNews-inner {
    margin: 40px 0px;
  }
}
.topNews .topNews-inner .section_title_news {
  text-align: center;
  color: #045e7c;
  position: relative;
  z-index: 10;
  margin-left: clamp(1rem, 2.08vw, 2.5rem);
  font-size: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.topNews .topNews-inner .section_title_news::before {
  content: var(--custom-text, "NEWS");
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: calc(clamp(1rem, 2.08vw, 2.5rem) * -1);
  color: #f0f4f5;
  z-index: -1;
  font-size: 32px;
}
@media screen and (min-width: 1280px) {
  .topNews .topNews-inner .section_title_news::before {
    font-size: 80px;
  }
}
@media screen and (min-width: 1280px) {
  .topNews .topNews-inner .section_title_news {
    font-size: 30px;
  }
}
@media screen and (max-width: 640px) {
  .topNews .topNews-inner .section_title_news {
    margin: 10px 0px 20px;
  }
}
.topNews .topNews-inner ul {
  padding: clamp(0.75rem, 1.56vw, 1.875rem) clamp(1.25rem, 2.6vw, 3.125rem);
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  margin-left: clamp(0.75rem, 1.56vw, 1.875rem);
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  font-size: 9px;
}
@media screen and (min-width: 1280px) {
  .topNews .topNews-inner ul {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .topNews .topNews-inner ul {
    margin-left: 0;
    padding: 10px 40px;
  }
}
@media screen and (max-width: 640px) {
  .topNews .topNews-inner ul {
    padding: 10px 0px;
  }
}
.topNews .topNews-inner ul li a {
  color: #2d2f30;
  padding: 15px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px dashed #e0d9d3;
}
@media screen and (max-width: 767px) {
  .topNews .topNews-inner ul li a {
    display: block;
  }
}
.topNews .topNews-inner ul li a .time {
  font-size: 16px;
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .topNews .topNews-inner ul li a .time {
    font-size: 13px;
  }
}
.topNews .topNews-inner ul li a .title {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .topNews .topNews-inner ul li a .title {
    font-size: 14px;
    line-height: 1.4;
  }
}
.topNews .topNews-inner ul li:last-child a {
  border-bottom: none;
}
.topNews .topNews-inner .list-btn {
  width: 95px;
  height: 40px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #fff;
  border: 1px solid #0f3d66;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 1280px) {
  .topNews .topNews-inner .list-btn {
    width: 130px;
    height: 70px;
  }
}
.topNews .topNews-inner .list-btn a {
  font-size: 14px;
  font-weight: 700;
  color: #0f3d66;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 640px) {
  .topNews .topNews-inner .list-btn a {
    font-size: 14px;
  }
}
.topNews .topNews-inner .list-btn i {
  margin-left: clamp(0.75rem, 0.629rem + 0.52vw, 1.25rem);
}
.topNews .topNews-inner .list-btn:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  background-color: #10939b;
  border: none;
}
.topNews .topNews-inner .list-btn:hover a {
  opacity: 1;
  color: #fff;
}
.topNews .topNews-inner .list-btn:hover i {
  display: none;
}

@media screen and (max-width: 767px) {
  .category {
    margin-top: 70px;
  }
}
@media screen and (min-width: 768px) {
  .category {
    margin-top: 60px;
  }
}
@media screen and (min-width: 1024px) {
  .category {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1280px) {
  .category {
    margin-top: 110px;
  }
}
@media screen and (min-width: 1536px) {
  .category {
    margin-top: 150px;
  }
}
.category .inner {
  max-width: 1000px;
}
.category .inner .newslist {
  background: #fff;
  padding: 60px;
  -webkit-box-shadow: 2px 3px 24px 2px rgba(16, 147, 155, 0.3);
          box-shadow: 2px 3px 24px 2px rgba(16, 147, 155, 0.3);
}
@media screen and (max-width: 767px) {
  .category .inner .newslist {
    padding: 60px 20px;
  }
}
.category .inner .newslist .newslist_title {
  text-align: center;
  color: #045e7c;
  position: relative;
  margin: clamp(1.125rem, -0.042rem + 2.43vw, 2.875rem) 0;
  z-index: 10;
  -webkit-animation: scale-up-center 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;
          animation: scale-up-center 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  font-size: 32px;
}
@media screen and (max-width: 767px) {
  .category .inner .newslist .newslist_title {
    font-size: 18px;
  }
}
.category .inner .newslist .newslist_title::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: calc(clamp(1.063rem, 0.021rem + 2.17vw, 2.625rem) * -1);
  width: 123px;
  height: 3.8px;
  background-color: #045e7c;
}
@media screen and (max-width: 767px) {
  .category .inner .newslist .newslist_title::after {
    width: 64px;
    height: 2px;
  }
}
.category .inner .newslist .newslist_title::before {
  content: var(--custom-text, "NEWS");
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: calc(clamp(1.5rem, 3.13vw, 3.75rem) * -1);
  color: #f0f4f5;
  z-index: -1;
  font-size: 97px;
}
@media screen and (max-width: 767px) {
  .category .inner .newslist .newslist_title::before {
    margin-bottom: 1px;
    font-size: 50px;
  }
}
@media screen and (max-width: 375px) {
  .category .inner .newslist .newslist_title::before {
    margin-bottom: -3px;
  }
}
@media screen and (min-width: 768px) {
  .category .inner .newslist .newslist_title::before {
    margin-bottom: 1px;
  }
}
@media screen and (min-width: 1024px) {
  .category .inner .newslist .newslist_title::before {
    margin-bottom: -1px;
  }
}
@media screen and (min-width: 1280px) {
  .category .inner .newslist .newslist_title::before {
    margin-bottom: -6px;
  }
}
@media screen and (min-width: 1536px) {
  .category .inner .newslist .newslist_title::before {
    margin-bottom: -11px;
  }
}
.category .inner .newslist ul {
  padding: 80px 60px 60px;
}
@media screen and (max-width: 767px) {
  .category .inner .newslist ul {
    padding: 40px 20px 40px;
  }
}
.category .inner .newslist ul li {
  padding-bottom: 10px;
  padding-top: 10px;
  border-bottom: 1px solid #045e7c;
}
.category .inner .newslist ul li:nth-last-child(1) {
  border-bottom: none;
}
.category .inner .newslist ul li a {
  color: #2d2f30;
}

.topMessage {
  background: #fafafa;
  padding: 68px 56px 97.54px;
}
@media screen and (max-width: 640px) {
  .topMessage {
    padding: 40px 20px;
    height: auto;
  }
}
.topMessage .msg_title {
  font-size: 31px;
  color: #045e7c;
  text-align: left;
  padding-left: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .topMessage .msg_title {
    font-size: 20px;
  }
}
@media screen and (max-width: 375px) {
  .topMessage .msg_title {
    padding-left: 0px;
  }
}
.topMessage .contents_imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0.625rem, -4.792rem + 11.28vw, 8.75rem);
}
@media screen and (max-width: 640px) {
  .topMessage .contents_imgs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin: 0px 30px;
  }
}
@media screen and (max-width: 375px) {
  .topMessage .contents_imgs {
    margin: 0px;
  }
}
.topMessage .contents_imgs .msg-left {
  margin-left: 20px;
  max-width: 29vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 640px) {
  .topMessage .contents_imgs .msg-left {
    max-width: 80vw;
    margin: 20px;
  }
}
@media screen and (max-width: 375px) {
  .topMessage .contents_imgs .msg-left {
    max-width: 100vw;
    margin: 20px 0px;
  }
}
.topMessage .contents_imgs .msg-left .contents {
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  font-size: 20px;
  color: #2d2f30;
  letter-spacing: 0.18rem;
  line-height: 1.8181818182;
}
@media screen and (max-width: 767px) {
  .topMessage .contents_imgs .msg-left .contents {
    font-size: 14px;
    line-height: 1.8285714286;
  }
}
@media screen and (max-width: 640px) {
  .topMessage .contents_imgs .msg-left .contents {
    text-align: justify;
  }
}
.topMessage .contents_imgs .msg-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(1rem, 0.167rem + 1.74vw, 2.25rem);
}
.topMessage .contents_imgs .msg-right .img-l {
  max-width: 498px;
  height: auto;
}
.topMessage .contents_imgs .msg-right .img-l img {
  width: 100%;
  height: auto;
}
.topMessage .contents_imgs .msg-right .img-r {
  max-width: 498px;
  height: auto;
  margin-top: 46px;
}
.topMessage .contents_imgs .msg-right .img-r img {
  width: 100%;
  height: auto;
}

.topService {
  margin-top: clamp(0rem, -23.125rem + 28.91vw, 11.563rem);
  margin-bottom: -100px;
}
@media screen and (max-width: 767px) {
  .topService {
    margin-bottom: -39px;
  }
}
@media screen and (max-width: 640px) {
  .topService {
    margin-bottom: 175px;
  }
}
@media screen and (max-width: 375px) {
  .topService {
    margin-bottom: 190px;
  }
}
.topService .section_title::before {
  content: var(--custom-text, "SERVICE");
}
.topService .srv-upper {
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  font-size: 20px;
  color: #2d2f30;
  line-height: 2;
  letter-spacing: 2.56px;
  text-align: justify;
  margin-top: 110px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .topService .srv-upper {
    margin-top: 54px;
    font-size: 14px;
  }
}
@media screen and (max-width: 640px) {
  .topService .srv-upper {
    padding: 40px 60px;
    margin-top: -2px;
    margin-bottom: -3px;
  }
}
@media screen and (max-width: 375px) {
  .topService .srv-upper {
    padding: 0px 20px;
    margin-top: 52px;
    margin-bottom: 40px;
  }
}
.topService .srv-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
  position: relative;
  z-index: 10;
  margin-bottom: 66px;
}
@media screen and (max-width: 640px) {
  .topService .srv-bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0px 40px;
    gap: 80px;
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 375px) {
  .topService .srv-bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0px 40px;
    gap: 80px;
    margin-bottom: 86px;
  }
}
.topService .srv-bottom .about_tochi,
.topService .srv-bottom .about_tatemono {
  width: 48.63%;
}
@media screen and (max-width: 640px) {
  .topService .srv-bottom .about_tochi,
  .topService .srv-bottom .about_tatemono {
    max-width: 284px;
    width: 100%;
  }
}
@media screen and (max-width: 375px) {
  .topService .srv-bottom .about_tochi,
  .topService .srv-bottom .about_tatemono {
    width: auto;
  }
}
.topService .srv-bottom .about_tochi .img-tochi,
.topService .srv-bottom .about_tochi .img-tatemono,
.topService .srv-bottom .about_tatemono .img-tochi,
.topService .srv-bottom .about_tatemono .img-tatemono {
  margin-bottom: 40px;
}
.topService .srv-bottom .about_tochi .img-tochi img,
.topService .srv-bottom .about_tochi .img-tatemono img,
.topService .srv-bottom .about_tatemono .img-tochi img,
.topService .srv-bottom .about_tatemono .img-tatemono img {
  width: 100%;
  height: auto;
}
.topService .srv-bottom .about_tochi .srv-about,
.topService .srv-bottom .about_tatemono .srv-about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.topService .srv-bottom .about_tochi .srv-about .type-details,
.topService .srv-bottom .about_tatemono .srv-about .type-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.topService .srv-bottom .about_tochi .srv-about .type-details .srv-type,
.topService .srv-bottom .about_tatemono .srv-about .type-details .srv-type {
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  font-size: 20px;
  color: #fff;
  padding: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem) clamp(2.813rem, 2.312rem + 2.14vw, 4.875rem);
  border: #fff solid 1px;
  margin-bottom: 14px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .topService .srv-bottom .about_tochi .srv-about .type-details .srv-type,
  .topService .srv-bottom .about_tatemono .srv-about .type-details .srv-type {
    font-size: 14px;
  }
}
.topService .srv-bottom .about_tochi .srv-about .type-details .srv-details,
.topService .srv-bottom .about_tatemono .srv-about .type-details .srv-details {
  font-size: 17px;
  color: #fff;
}
.topService .srv-bg-color {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: -464px;
  z-index: -10;
}
@media screen and (max-width: 640px) {
  .topService .srv-bg-color {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: -970px;
    gap: 93px;
  }
}
@media screen and (max-width: 375px) {
  .topService .srv-bg-color {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: -952px;
    gap: 132px;
  }
}
.topService .srv-bg-color .color1 {
  width: 50vw;
  height: 560px;
  background-color: #0f3d66;
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
}
@media screen and (max-width: 640px) {
  .topService .srv-bg-color .color1 {
    width: 100vw;
    height: 378px;
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
  }
}
@media screen and (max-width: 375px) {
  .topService .srv-bg-color .color1 {
    width: 100vw;
    height: 342px;
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
  }
}
.topService .srv-bg-color .color2 {
  width: 50vw;
  height: 560px;
  background-color: #124776;
  margin-right: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
}
@media screen and (max-width: 640px) {
  .topService .srv-bg-color .color2 {
    width: 100vw;
    height: 378px;
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
  }
}
@media screen and (max-width: 375px) {
  .topService .srv-bg-color .color2 {
    width: 100vw;
    height: 342px;
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
  }
}

.btn-details {
  max-width: 424px;
  height: 97px;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  border: 3px solid #045e7c;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  position: relative;
  z-index: 10;
  pointer-events: none; /* クリックイベントを無効化 */
  opacity: 0.5; /* 色を薄くして視覚的に無効化を示す */
}
@media screen and (max-width: 767px) {
  .btn-details {
    max-width: 272px;
    height: 64px;
  }
}
.btn-details a {
  color: #045e7c;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .btn-details a {
    font-size: 18px;
  }
}

/* inputタグが有効な場合、ボタンも有効化 */
.submit input[type="submit"]:not(:disabled) + button.btn-details {
  pointer-events: auto; /* クリックイベントを有効化 */
  opacity: 1; /* 通常の色に戻す */
}
.btn-details i {
  margin-left: clamp(1.125rem, 0.867rem + 1.1vw, 2.188rem);
}
.btn-details:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  background-color: #10939b;
  border: none;
}
.btn-details:hover a {
  opacity: 1;
  color: #fff;
}
.btn-details:hover i {
  display: none;
}

.topVoice {
  background: #d2d0d0;
  position: relative;
}
.topVoice .foodImg3 {
  position: absolute;
  max-width: 340px;
  bottom: -140px;
  right: -100px;
}
@media screen and (max-width: 767px) {
  .topVoice .foodImg3 {
    max-width: 140px;
    bottom: -20px;
    right: -30px;
  }
}
.topVoice .top-voice-line {
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .topVoice .top-voice-line {
    top: -17px;
  }
}
.topVoice .box {
  background: #fff;
  padding: 0 50px;
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.11);
          box-shadow: 0 0 6px rgba(0, 0, 0, 0.11);
}
@media screen and (max-width: 767px) {
  .topVoice .box {
    padding: 0 20px;
  }
}
.topVoice ul li {
  padding: 60px 0 55px;
  border-bottom: 1px solid #e0d9d3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .topVoice ul li {
    display: block;
    padding: 30px 0;
  }
}
.topVoice ul li .img {
  width: 30%;
}
@media screen and (max-width: 767px) {
  .topVoice ul li .img {
    width: 70%;
    margin: 0 auto 10px;
  }
}
.topVoice ul li .contents {
  width: 66%;
}
@media screen and (max-width: 767px) {
  .topVoice ul li .contents {
    width: 100%;
  }
}
.topVoice ul li:last-child {
  border-bottom: none;
}
.topVoice ul li:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.topVoice ul li .title {
  font-size: 20px;
  margin-bottom: 10px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .topVoice ul li .title {
    font-size: 16px;
  }
}
.topVoice ul li .name {
  font-size: 16px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .topVoice ul li .name {
    font-size: 14px;
    margin-bottom: 20px;
  }
}
.topVoice ul li .text {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .topVoice ul li .text {
    font-size: 14px;
  }
}

.topFlow {
  background-color: #fafafa;
}
.topFlow .section_title::before {
  content: var(--custom-text, "FLOW");
}
.topFlow .flow-box {
  height: 1156px;
  background-color: #fff;
  -webkit-box-shadow: 2px 3px 24px 2px rgba(16, 147, 155, 0.3);
          box-shadow: 2px 3px 24px 2px rgba(16, 147, 155, 0.3);
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 66px 28px;
  grid-template-areas: "flow-title1 flow-title2" "flow-common1 flow-common1" "flow-dif-indiv flow-dif-comp" "flow-common2 flow-common2" "flow-common3 flow-common3" "flow-common4 flow-common4";
}
.topFlow .flow-box .flow-title1 {
  justify-self: center;
  align-self: center;
  grid-area: flow-title1;
  font-size: 20px;
  color: #045e7c;
  height: 80px;
  border: #10939b solid 3px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box .flow-title1 {
    font-size: 14px;
  }
}
.topFlow .flow-box .flow-title1::after {
  content: url(../img/arrow_green.svg);
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 77px;
}
.topFlow .flow-box .flow-title2 {
  justify-self: center;
  align-self: center;
  grid-area: flow-title2;
  font-size: 17px;
  color: #045e7c;
  height: 80px;
  border: #10939b solid 3px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box .flow-title2 {
    font-size: 12px;
  }
}
.topFlow .flow-box .flow-title2::after {
  content: url(../img/arrow_green.svg);
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 77px;
}
.topFlow .flow-box .flow-common1 {
  justify-self: center;
  align-self: center;
  grid-area: flow-common1;
  font-size: 16px;
  color: #045e7c;
  background-color: #f1f5f8;
  position: relative;
  letter-spacing: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 87px;
}
@media screen and (min-width: 1024px) {
  .topFlow .flow-box .flow-common1 {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box .flow-common1 {
    font-size: 14px;
  }
}
.topFlow .flow-box .flow-dif-indiv {
  justify-self: center;
  align-self: center;
  grid-area: flow-dif-indiv;
  font-size: 15px;
  color: #045e7c;
  background-color: #f1f5f8;
  position: relative;
  padding: 20px 20px 20px 26px;
  letter-spacing: 0.3rem;
  height: 195px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 1024px) {
  .topFlow .flow-box .flow-dif-indiv {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box .flow-dif-indiv {
    font-size: 14px;
  }
}
.topFlow .flow-box .flow-dif-comp {
  justify-self: center;
  align-self: center;
  grid-area: flow-dif-comp;
  font-size: 15px;
  color: #045e7c;
  background-color: #f1f5f8;
  position: relative;
  padding: 20px 20px 20px 26px;
  letter-spacing: 0.3rem;
  height: 195px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 1024px) {
  .topFlow .flow-box .flow-dif-comp {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box .flow-dif-comp {
    font-size: 14px;
  }
}
.topFlow .flow-box .flow-common2 {
  justify-self: center;
  align-self: center;
  grid-area: flow-common2;
  font-size: 16px;
  color: #045e7c;
  background-color: #f1f5f8;
  position: relative;
  letter-spacing: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 87px;
}
@media screen and (min-width: 1024px) {
  .topFlow .flow-box .flow-common2 {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box .flow-common2 {
    font-size: 14px;
  }
}
.topFlow .flow-box .flow-common3 {
  justify-self: center;
  align-self: center;
  grid-area: flow-common3;
  font-size: 16px;
  color: #045e7c;
  background-color: #f1f5f8;
  position: relative;
  letter-spacing: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 87px;
}
@media screen and (min-width: 1024px) {
  .topFlow .flow-box .flow-common3 {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box .flow-common3 {
    font-size: 14px;
  }
}
.topFlow .flow-box .flow-common4 {
  justify-self: center;
  align-self: center;
  grid-area: flow-common4;
  font-size: 16px;
  color: #045e7c;
  background-color: #f1f5f8;
  position: relative;
  letter-spacing: 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 87px;
}
@media screen and (min-width: 1024px) {
  .topFlow .flow-box .flow-common4 {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box .flow-common4 {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .topFlow .flow-box {
    padding: 87px 0px;
    margin-top: 100px;
  }
  .topFlow .flow-box .flow-title1,
  .topFlow .flow-box .flow-title2 {
    width: 286px;
  }
  .topFlow .flow-box .flow-common1,
  .topFlow .flow-box .flow-common2,
  .topFlow .flow-box .flow-common3,
  .topFlow .flow-box .flow-common4 {
    padding: 20px 20px 20px 20px;
    width: 650px;
  }
  .topFlow .flow-box .flow-dif-indiv,
  .topFlow .flow-box .flow-dif-comp {
    width: 290px;
    padding: 30px;
  }
}
@media screen and (min-width: 1024px) {
  .topFlow .flow-box {
    padding: 87px 0px;
    margin-top: 150px;
  }
  .topFlow .flow-box .flow-title1,
  .topFlow .flow-box .flow-title2 {
    width: 286px;
  }
  .topFlow .flow-box .flow-common1,
  .topFlow .flow-box .flow-common2,
  .topFlow .flow-box .flow-common3,
  .topFlow .flow-box .flow-common4 {
    padding: 20px 20px 20px 20px;
    width: 880px;
    display: grid;
    place-content: center;
    text-align: center;
  }
  .topFlow .flow-box .flow-dif-indiv,
  .topFlow .flow-box .flow-dif-comp {
    width: 390px;
    padding: 20px;
  }
}
@media screen and (min-width: 1280px) {
  .topFlow .flow-box .flow-common1,
  .topFlow .flow-box .flow-common2,
  .topFlow .flow-box .flow-common3,
  .topFlow .flow-box .flow-common4 {
    padding: 20px 20px 20px 20px;
    width: 1024px;
  }
  .topFlow .flow-box .flow-dif-indiv,
  .topFlow .flow-box .flow-dif-comp {
    width: 440px;
    padding: 20px;
  }
}
@media screen and (min-width: 1536px) {
  .topFlow .flow-box {
    margin-top: 150px;
  }
  .topFlow .flow-box .flow-common1,
  .topFlow .flow-box .flow-common2,
  .topFlow .flow-box .flow-common3,
  .topFlow .flow-box .flow-common4 {
    padding: 20px 20px 20px 20px;
    width: 1064px;
  }
  .topFlow .flow-box .flow-dif-indiv,
  .topFlow .flow-box .flow-dif-comp {
    padding: 20px 20px 20px 26px;
    width: 510px;
  }
}
.topFlow .flow-box-sp {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box-sp {
    padding: 0px;
    margin: 60px 0px 60px;
    gap: 120px;
  }
}
@media screen and (max-width: 375px) {
  .topFlow .flow-box-sp {
    padding: 0px;
    margin: 60px 0px 60px;
    gap: 48px;
  }
}
.topFlow .flow-box-sp .flow-sp-1,
.topFlow .flow-box-sp .flow-sp-2 {
  background-color: #fff;
  -webkit-box-shadow: 2px 3px 24px 2px rgba(16, 147, 155, 0.3);
          box-shadow: 2px 3px 24px 2px rgba(16, 147, 155, 0.3);
  padding: 40px 20px 40px 20px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box-sp .flow-sp-1,
  .topFlow .flow-box-sp .flow-sp-2 {
    gap: 78px;
  }
}
.topFlow .flow-box-sp .flow-sp-1 .flow-title1-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-title1-sp {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box-sp .flow-sp-1 .flow-title1-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-title1-sp {
    font-size: 14px;
  }
}
.topFlow .flow-box-sp .flow-sp-1 .flow-title2-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-title2-sp {
  font-size: 12px;
}
.topFlow .flow-box-sp .flow-sp-1 .flow-title1-sp,
.topFlow .flow-box-sp .flow-sp-1 .flow-title2-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-title1-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-title2-sp {
  color: #045e7c;
  border: #10939b solid 3px;
  width: 230px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.topFlow .flow-box-sp .flow-sp-1 .flow-dif-indiv-sp,
.topFlow .flow-box-sp .flow-sp-1 .flow-dif-comp-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-dif-indiv-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-dif-comp-sp {
  font-size: 20px;
  color: #045e7c;
  position: relative;
  background-color: #f1f5f8;
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box-sp .flow-sp-1 .flow-dif-indiv-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-dif-comp-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-dif-indiv-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-dif-comp-sp {
    font-size: 14px;
  }
}
.topFlow .flow-box-sp .flow-sp-1 .flow-common1-sp,
.topFlow .flow-box-sp .flow-sp-1 .flow-common2-sp,
.topFlow .flow-box-sp .flow-sp-1 .flow-common3-sp,
.topFlow .flow-box-sp .flow-sp-1 .flow-common4-sp,
.topFlow .flow-box-sp .flow-sp-1 .flow-dif-indiv-sp,
.topFlow .flow-box-sp .flow-sp-1 .flow-dif-comp-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-common1-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-common2-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-common3-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-common4-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-dif-indiv-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-dif-comp-sp {
  z-index: 2;
}
.topFlow .flow-box-sp .flow-sp-1 .flow-common1-sp::before,
.topFlow .flow-box-sp .flow-sp-1 .flow-common2-sp::before,
.topFlow .flow-box-sp .flow-sp-1 .flow-common3-sp::before,
.topFlow .flow-box-sp .flow-sp-1 .flow-common4-sp::before,
.topFlow .flow-box-sp .flow-sp-1 .flow-dif-indiv-sp::before,
.topFlow .flow-box-sp .flow-sp-1 .flow-dif-comp-sp::before,
.topFlow .flow-box-sp .flow-sp-2 .flow-common1-sp::before,
.topFlow .flow-box-sp .flow-sp-2 .flow-common2-sp::before,
.topFlow .flow-box-sp .flow-sp-2 .flow-common3-sp::before,
.topFlow .flow-box-sp .flow-sp-2 .flow-common4-sp::before,
.topFlow .flow-box-sp .flow-sp-2 .flow-dif-indiv-sp::before,
.topFlow .flow-box-sp .flow-sp-2 .flow-dif-comp-sp::before {
  content: "";
  position: absolute;
  top: -79px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 30px;
  height: 80px;
  background-color: #10939b;
  z-index: -1;
}
.topFlow .flow-box-sp .flow-sp-1 .flow-common4-sp::before,
.topFlow .flow-box-sp .flow-sp-2 .flow-common4-sp::before {
  height: 60px;
}
.topFlow .flow-box-sp .flow-sp-1 .flow-common4-sp::after,
.topFlow .flow-box-sp .flow-sp-2 .flow-common4-sp::after {
  content: "";
  position: absolute;
  background-color: #10939b;
  top: -30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 60px;
  height: 30px;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.topFlow .flow-box-sp .flow-sp-1 .flow-common1-sp,
.topFlow .flow-box-sp .flow-sp-1 .flow-common2-sp,
.topFlow .flow-box-sp .flow-sp-1 .flow-common3-sp,
.topFlow .flow-box-sp .flow-sp-1 .flow-common4-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-common1-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-common2-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-common3-sp,
.topFlow .flow-box-sp .flow-sp-2 .flow-common4-sp {
  color: #045e7c;
  position: relative;
  background-color: #f1f5f8;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box-sp .flow-sp-1 .flow-common1-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common2-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common3-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common4-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common1-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common2-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common3-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common4-sp {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .topFlow .flow-box-sp .flow-sp-1 .flow-title1-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-title2-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-title1-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-title2-sp {
    width: 340px;
    padding: 20px 20px 20px 20px;
  }
  .topFlow .flow-box-sp .flow-sp-1 .flow-title1-sp::after,
  .topFlow .flow-box-sp .flow-sp-2 .flow-title1-sp::after {
    top: 68px;
  }
  .topFlow .flow-box-sp .flow-sp-1 .flow-title2-sp::after,
  .topFlow .flow-box-sp .flow-sp-2 .flow-title2-sp::after {
    top: 63px;
  }
  .topFlow .flow-box-sp .flow-sp-1 .flow-dif-indiv-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-dif-comp-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-dif-indiv-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-dif-comp-sp {
    width: 520px;
    padding: 35px 20px;
  }
  .topFlow .flow-box-sp .flow-sp-1 .flow-common1-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common2-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common3-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common4-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common1-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common2-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common3-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common4-sp {
    width: 520px;
    padding: 35px 20px;
  }
}
@media screen and (max-width: 640px) {
  .topFlow .flow-box-sp .flow-sp-1 .flow-title1-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-title2-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-title1-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-title2-sp {
    width: 57.6%;
    padding: 20px 20px 20px 20px;
  }
  .topFlow .flow-box-sp .flow-sp-1 .flow-title1-sp::after,
  .topFlow .flow-box-sp .flow-sp-2 .flow-title1-sp::after {
    top: clamp(4rem, 3.823rem + 0.75vw, 4.125rem);
  }
  .topFlow .flow-box-sp .flow-sp-1 .flow-title2-sp::after,
  .topFlow .flow-box-sp .flow-sp-2 .flow-title2-sp::after {
    top: clamp(3.813rem, 3.724rem + 0.38vw, 3.875rem);
  }
  .topFlow .flow-box-sp .flow-sp-1 .flow-dif-indiv-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-dif-comp-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-dif-indiv-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-dif-comp-sp {
    width: 85%;
    padding: 40px 20px;
  }
  .topFlow .flow-box-sp .flow-sp-1 .flow-common1-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common2-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common3-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common4-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common1-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common2-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common3-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common4-sp {
    width: 85%;
    padding: 40px 20px;
  }
}
@media screen and (max-width: 375px) {
  .topFlow .flow-box-sp .flow-sp-1 .flow-title1-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-title2-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-title1-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-title2-sp {
    width: 100%;
  }
  .topFlow .flow-box-sp .flow-sp-1 .flow-dif-indiv-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-dif-comp-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-dif-indiv-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-dif-comp-sp {
    padding: 43px 20px;
    width: 100%;
  }
  .topFlow .flow-box-sp .flow-sp-1 .flow-common1-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common2-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common3-sp,
  .topFlow .flow-box-sp .flow-sp-1 .flow-common4-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common1-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common2-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common3-sp,
  .topFlow .flow-box-sp .flow-sp-2 .flow-common4-sp {
    padding: 43px 20px;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .topCase {
    margin-bottom: 50px;
  }
}
.topCase .section_title::before {
  content: var(--custom-text, "CASE");
}
.topCase .case-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(1.875rem, 0.75rem + 2.34vw, 3.563rem);
  margin-top: 110px;
  margin-bottom: 100px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .topCase .case-type {
    margin-top: 62px;
  }
}
@media screen and (max-width: 640px) {
  .topCase .case-type {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 80px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 375px) {
  .topCase .case-type {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 100px;
  }
}
.topCase .case-type .about_tochi,
.topCase .case-type .about_tatemono {
  width: 48.63%;
}
@media screen and (max-width: 767px) {
  .topCase .case-type .about_tochi,
  .topCase .case-type .about_tatemono {
    width: 100%;
  }
}
.topCase .case-type .about_tochi .tochi-img,
.topCase .case-type .about_tochi .tatemono-img,
.topCase .case-type .about_tatemono .tochi-img,
.topCase .case-type .about_tatemono .tatemono-img {
  margin-bottom: 13px;
}
.topCase .case-type .about_tochi .tochi-img img,
.topCase .case-type .about_tochi .tatemono-img img,
.topCase .case-type .about_tatemono .tochi-img img,
.topCase .case-type .about_tatemono .tatemono-img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.topCase .case-type .about_tochi .theme,
.topCase .case-type .about_tatemono .theme {
  font-size: 22px;
  color: #fff;
  padding: 10px 22px;
  background-color: #045e7c;
  display: inline;
}
@media screen and (max-width: 767px) {
  .topCase .case-type .about_tochi .theme,
  .topCase .case-type .about_tatemono .theme {
    font-size: 16px;
  }
}
.topCase .case-type .about_tochi .title-tochi,
.topCase .case-type .about_tatemono .title-tochi {
  font-size: 22px;
  color: #045e7c;
  margin-top: 15px;
  margin-bottom: 43px;
  letter-spacing: 0.12rem;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .topCase .case-type .about_tochi .title-tochi,
  .topCase .case-type .about_tatemono .title-tochi {
    font-size: 16px;
  }
}
@media screen and (min-width: 1280px) {
  .topCase .case-type .about_tochi .title-tochi,
  .topCase .case-type .about_tatemono .title-tochi {
    letter-spacing: 0.25rem;
  }
}
.topCase .case-type .about_tochi .title-tatemono,
.topCase .case-type .about_tatemono .title-tatemono {
  font-size: 22px;
  color: #045e7c;
  margin-top: 15px;
  margin-bottom: 20px;
  letter-spacing: 0.25rem;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .topCase .case-type .about_tochi .title-tatemono,
  .topCase .case-type .about_tatemono .title-tatemono {
    font-size: 16px;
  }
}
.topCase .case-type .about_tochi .solution,
.topCase .case-type .about_tatemono .solution {
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  color: #2d2f30;
  letter-spacing: 0.2rem;
  text-align: justify;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .topCase .case-type .about_tochi .solution,
  .topCase .case-type .about_tatemono .solution {
    font-size: 14px;
  }
}

.qa {
  background: #fafafa;
  font-size: 20px;
  color: #045e7c;
}
@media screen and (max-width: 767px) {
  .qa {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .qa .section_title {
    margin-bottom: 59px;
  }
}
@media screen and (min-width: 768px) {
  .qa .section_title {
    margin-bottom: 70px;
  }
}
@media screen and (min-width: 1024px) {
  .qa .section_title {
    margin-bottom: 90px;
  }
}
@media screen and (min-width: 1280px) {
  .qa .section_title {
    margin-bottom: 126px;
  }
}
@media screen and (min-width: 1536px) {
  .qa .section_title {
    margin-bottom: 150px;
  }
}
.qa .section_title::before {
  content: var(--custom-text, "Q & A");
}
@media screen and (max-width: 767px) {
  .qa .row {
    margin: 0 30px 20px;
  }
}
@media screen and (max-width: 640px) {
  .qa .row {
    margin: 0px 20px 20px;
  }
}
@media screen and (max-width: 375px) {
  .qa .row {
    margin: 0px 0px 20px;
  }
}
@media screen and (min-width: 768px) {
  .qa .row {
    margin: 0px 20px 40px;
  }
}
@media screen and (min-width: 1024px) {
  .qa .row {
    margin: 0px 40px 40px;
  }
}
@media screen and (min-width: 1280px) {
  .qa .row {
    margin: 0px 100px 40px;
  }
}
@media screen and (min-width: 1536px) {
  .qa .row {
    margin: 0px 85px 40px;
  }
}
.qa .row .ac_header {
  border: 3px solid #045e7c;
  background: #fff;
  padding: clamp(1.625rem, 1.125rem + 1.04vw, 2.375rem) 26px;
  position: relative;
  z-index: 1;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  font-size: 20px;
  /* アイコンの形はここから */
}
@media screen and (max-width: 767px) {
  .qa .row .ac_header {
    font-size: 15px;
  }
}
.qa .row .ac_header .q-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 16px;
}
.qa .row .ac_header .q-text .question {
  width: 32px;
  height: 32px;
}
@media screen and (max-width: 767px) {
  .qa .row .ac_header .q-text .question {
    width: 28px;
    height: 28px;
  }
}
.qa .row .ac_header .q-text p {
  margin-right: 45px;
}
.qa .row .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: clamp(1.125rem, 0.913rem + 0.91vw, 2rem);
  width: 26px;
  height: 26px;
  margin-top: -10px;
  border: 2px solid #045e7c;
  border-radius: 50%;
}
.qa .row .ac_header .i_box::before {
  position: absolute;
  content: "";
  margin: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  border-top: 2px solid #045e7c;
  width: 16px;
  height: 0;
  top: 1px;
  bottom: 0;
  right: 0;
  left: 1px;
}
.qa .row .ac_header .i_box::after {
  position: absolute;
  content: "";
  margin: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  border-left: 2px solid #045e7c;
  width: 0;
  height: 16px;
  top: 1px;
  bottom: 0;
  right: 10px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  /* これがあるからアイコンが優しく動く */
}
.qa .row .ac_header.open .i_box:after {
  height: 0;
  /* openというクラスがつい時アイコンがどうなるかをを指示している...③ */
}
.qa .row .ac_inner {
  display: none;
  /* コンテンツは消しておくのがミソ */
  padding: 1.5rem 2rem 1.5rem 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .qa .row .ac_inner {
    padding: 1rem;
    font-size: 15px;
  }
}
.qa .row .ac_inner .a-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 16px;
}
.qa .row .ac_inner .a-text .answer {
  width: 32px;
  height: 32px;
}
@media screen and (max-width: 767px) {
  .qa .row .ac_inner .a-text .answer {
    width: 28px;
    height: 28px;
  }
}
.qa .row .ac_inner .a-text p {
  margin-right: 20px;
}

/* アイコンの形ここまで */
.contact .section_title::before {
  content: var(--custom-text, "CONTACT");
}
.contact .box {
  max-width: 1154px;
  margin: 110px auto 0;
  background: #fff;
}
.contact .box input,
.contact .box select,
.contact .box textarea {
  background-color: #f2f4f6;
}
@media screen and (max-width: 767px) {
  .contact .box {
    margin-top: 30px;
    padding: 30px 40px;
  }
}
@media screen and (max-width: 640px) {
  .contact .box {
    padding: 30px 40px;
  }
}
@media screen and (max-width: 375px) {
  .contact .box {
    padding: 30px 20px;
  }
}
@media screen and (min-width: 768px) {
  .contact .box {
    padding: 30px 40px;
  }
}
.contact .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 2px solid #f2f4f6;
}
@media screen and (max-width: 767px) {
  .contact .row {
    padding: 22px 0;
  }
}
@media screen and (min-width: 768px) {
  .contact .row {
    padding: 22px 0;
  }
}
@media screen and (min-width: 1024px) {
  .contact .row {
    padding: 40px 0;
  }
}
.contact .row:nth-child(5) {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .contact .row {
    display: block;
    margin-bottom: 0px;
  }
}
.contact .row .dt {
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  font-size: 20px;
  width: 305px;
  color: #045e7c;
  font-weight: 700;
  letter-spacing: 0.2rem;
  margin-right: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 1280px) {
  .contact .row .dt {
    width: 349px;
    margin-right: 40px;
  }
}
.contact .row .dt span {
  font-family: "Inter", system-ui, sans-serif;
}
@media screen and (max-width: 767px) {
  .contact .row .dt {
    width: 100%;
    margin-bottom: 5px;
    font-size: 14px;
  }
}
.contact .row .dt .required {
  font-size: 17px;
  background: #10939b;
  display: inline-block;
  padding: 6px clamp(0.75rem, 0.477rem + 1.17vw, 1.875rem);
  padding: 6px 16px;
  color: #fff;
  position: relative;
  top: -2px;
  margin-left: 20px;
  margin-right: 20px;
  font-weight: 700;
  letter-spacing: 0.3rem;
}
@media screen and (max-width: 767px) {
  .contact .row .dt .required {
    margin-left: 0px;
    font-size: 12px;
  }
}
.contact .row .dt .required.no {
  background: #c1c1c1;
}
.contact .row .dd {
  width: calc(100% - 336px);
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .contact .row .dd {
    width: 100%;
  }
}
@media screen and (min-width: 1280px) {
  .contact .row .dd {
    width: calc(100% - 400px);
  }
}
.contact input[type=submit] {
  opacity: 0;
}
.contact input[type=text] {
  padding: 30px 15px;
  border: none;
}
@media screen and (max-width: 640px) {
  .contact input[type=text] {
    padding: 20px 15px;
  }
}
@media screen and (min-width: 768px) {
  .contact input[type=text] {
    padding: 20px 15px;
  }
}
.contact input[type=email] {
  padding: 30px 15px;
  border: none;
}
@media screen and (max-width: 640px) {
  .contact input[type=email] {
    padding: 20px 15px;
  }
}
@media screen and (min-width: 768px) {
  .contact input[type=email] {
    padding: 20px 15px;
  }
}
.contact select {
  padding: 30px 50px;
  border: none;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .contact select {
    padding: 20px 50px;
  }
}
@media screen and (min-width: 768px) {
  .contact select {
    padding: 20px 50px;
  }
}
.contact textarea {
  padding: 7px 15px;
  border: none;
  resize: none;
  height: 315px;
}
@media screen and (max-width: 375px) {
  .contact textarea {
    height: 200px;
  }
}
@media screen and (min-width: 768px) {
  .contact textarea {
    height: 250px;
  }
}
.contact .check {
  text-align: left;
  margin-bottom: 40px;
  font-size: 20px;
}
.contact .check a {
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  color: #707070;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .contact .check {
    margin-bottom: 20px;
    font-size: 14px;
  }
}
.contact .check label {
  display: inline-block;
}
.contact .check input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.contact .check p {
  padding-left: 35px;
  position: relative;
  cursor: pointer;
}
.contact .check p .highlight {
  color: #045e7c;
  font-weight: 700;
}
.contact .check p::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 1px solid #2d2f30;
}
.contact .check p::after {
  position: absolute;
  content: "";
  top: 35%;
  left: 3px;
  -webkit-transform: translateY(-50%) rotate(-40deg);
          transform: translateY(-50%) rotate(-40deg);
  width: 20px;
  height: 8px;
  border-bottom: 4px solid #045e7c;
  border-left: 4px solid #045e7c;
  opacity: 0;
}
.contact .check input[type=checkbox]:checked + p::after {
  opacity: 1;
}

.textarea_dd {
  -webkit-box-align: initial !important;
      -ms-flex-align: initial !important;
          align-items: initial !important;
}
.textarea_dd .dt {
  position: relative;
}
@media screen and (min-width: 768px) {
  .textarea_dd .dt {
    top: 10px;
  }
}

.select_dd {
  width: calc(100% - 465px);
  position: relative;
}
@media screen and (min-width: 768px) {
  .select_dd {
    max-width: 400px;
  }
}

.select_dd::after {
  content: "";
  position: absolute;
  top: 38px;
  right: 25px;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  border-top: 12px solid #6facc1;
  border-bottom: 0;
}
@media screen and (max-width: 767px) {
  .select_dd::after {
    top: 35px;
  }
}
@media screen and (max-width: 640px) {
  .select_dd::after {
    top: 25px;
  }
}
@media screen and (min-width: 768px) {
  .select_dd::after {
    top: 22px;
  }
}
@media screen and (min-width: 1024px) {
  .select_dd::after {
    top: 25px;
  }
}

.thanks {
  max-width: 1280px;
  margin: 260px auto 100px;
  background: #fff;
  padding: 70px 40px;
  -webkit-box-shadow: 2px 3px 24px 2px rgba(16, 147, 155, 0.3);
          box-shadow: 2px 3px 24px 2px rgba(16, 147, 155, 0.3);
}
@media screen and (max-width: 767px) {
  .thanks {
    max-width: 727px;
    margin: 150px auto 100px;
  }
}
@media screen and (max-width: 640px) {
  .thanks {
    max-width: 600px;
  }
}
@media screen and (max-width: 375px) {
  .thanks {
    max-width: 335px;
    padding: 70px 0px;
  }
}
@media screen and (min-width: 768px) {
  .thanks {
    max-width: 728px;
    margin: 150px auto 100px;
  }
}
@media screen and (min-width: 1024px) {
  .thanks {
    max-width: 800px;
    margin: 180px auto 100px;
  }
}
@media screen and (min-width: 1280px) {
  .thanks {
    max-width: 1050px;
    margin: 210px auto 100px;
  }
}
@media screen and (min-width: 1536px) {
  .thanks {
    max-width: 1280px;
    margin: 250px auto 100px;
  }
}
.thanks .thanks_title {
  text-align: center;
  color: #045e7c;
  position: relative;
  font-size: 32px;
  margin: clamp(1.125rem, -0.042rem + 2.43vw, 2.875rem) 0;
  z-index: 10;
  -webkit-animation: scale-up-center 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;
          animation: scale-up-center 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}
@media screen and (max-width: 767px) {
  .thanks .thanks_title {
    font-size: 18px;
  }
}
.thanks .thanks_title::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: calc(clamp(1.063rem, 0.021rem + 2.17vw, 2.625rem) * -1);
  width: 123px;
  height: 3.8px;
  background-color: #045e7c;
}
@media screen and (max-width: 767px) {
  .thanks .thanks_title::after {
    width: 64px;
    height: 2px;
  }
}
.thanks .thanks_title::before {
  content: var(--custom-text, "THANKS");
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: calc(clamp(1.5rem, 3.13vw, 3.75rem) * -1);
  font-size: 97px;
  color: #f0f4f5;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .thanks .thanks_title::before {
    margin-bottom: 24px;
    font-size: 50px;
  }
}
@media screen and (max-width: 640px) {
  .thanks .thanks_title::before {
    margin-bottom: 21px;
  }
}
@media screen and (max-width: 375px) {
  .thanks .thanks_title::before {
    margin-bottom: 13px;
  }
}
@media screen and (min-width: 768px) {
  .thanks .thanks_title::before {
    margin-bottom: 1px;
  }
}
@media screen and (min-width: 1024px) {
  .thanks .thanks_title::before {
    margin-bottom: -1px;
  }
}
@media screen and (min-width: 1280px) {
  .thanks .thanks_title::before {
    margin-bottom: -6px;
  }
}
@media screen and (min-width: 1536px) {
  .thanks .thanks_title::before {
    margin-bottom: -9px;
  }
}
.thanks .lead {
  line-height: 2;
  max-width: 820px;
  margin: 80px auto 60px;
  font-size: 20px;
  text-align: justify;
  color: #2d2f30;
}
@media screen and (max-width: 767px) {
  .thanks .lead {
    font-size: 14px;
    margin-bottom: 40px;
  }
}

.footer {
  background: #fafafa;
}
.footer .heading {
  padding: clamp(1.875rem, 3.91vw, 4.688rem) 0 clamp(1.313rem, 0.021rem + 2.69vw, 3.25rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer .heading h1 {
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  text-align: center;
  color: #045e7c;
  font-weight: 600;
  font-size: 32px;
  letter-spacing: 6px;
}
@media screen and (max-width: 767px) {
  .footer .heading h1 {
    font-size: 17px;
    letter-spacing: 2px;
  }
}
.footer .heading ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: clamp(0.813rem, 0.021rem + 1.65vw, 2rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 640px) {
  .footer .heading ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.footer .heading ul li {
  margin-right: clamp(1.25rem, 2.6vw, 3.125rem);
  display: block;
}
.footer .heading ul li:nth-child(4) {
  margin-right: 0px;
}
@media screen and (max-width: 640px) {
  .footer .heading ul li {
    margin-right: 0px;
  }
}
.footer .heading ul li a {
  color: #045e7c;
  font-weight: 600;
  position: relative;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .footer .heading ul li a {
    font-size: 12px;
  }
}
.footer .heading ul li a::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #113e60;
  bottom: -4px;
  left: 0;
  /*横方向0で非表示にする*/
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  /*中央を基点にアニメーション*/
  -webkit-transform-origin: center top;
          transform-origin: center top;
  /*アニメーションの速度設定*/
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.footer .heading ul li a:hover::after {
  /*横方向等倍まで拡大*/
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.footer .heading .pv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footer .heading .pv a {
  color: #045e7c;
  margin-top: clamp(0.563rem, 0.021rem + 1.13vw, 1.375rem);
  font-weight: 600;
  position: relative;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .footer .heading .pv a {
    font-size: 12px;
  }
}
.footer .heading .pv a::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #113e60;
  bottom: 2px;
  left: 0px;
  /*横方向0で非表示にする*/
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  /*中央を基点にアニメーション*/
  -webkit-transform-origin: center top;
          transform-origin: center top;
  /*アニメーションの速度設定*/
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.footer .heading .pv a:hover::after {
  /*横方向等倍まで拡大*/
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.copyright {
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  color: #fff;
  text-align: center;
  padding: clamp(0.875rem, 0.042rem + 1.74vw, 2.125rem) 0;
  background: #0f3d66;
  font-size: 15px;
  letter-spacing: 3px;
}
@media screen and (max-width: 767px) {
  .copyright {
    font-size: 7px;
    letter-spacing: 1px;
  }
}

.privacy .box {
  margin: 130px 0px 40px;
  background: #fff;
  padding: 50px 80px;
  -webkit-box-shadow: 2px 3px 24px 2px rgba(16, 147, 155, 0.3);
          box-shadow: 2px 3px 24px 2px rgba(16, 147, 155, 0.3);
}
@media screen and (max-width: 767px) {
  .privacy .box {
    padding: 30px 20px;
    margin: 130px 0px 40px;
  }
}
@media screen and (max-width: 767px) {
  .privacy .box {
    padding: 30px 20px;
    margin: 130px 0px 40px;
  }
}
@media screen and (min-width: 1280px) {
  .privacy .box {
    margin: 130px 80px 40px;
  }
}
.privacy .box .title {
  font-size: 23px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .privacy .box .title {
    font-size: 18px;
    margin-bottom: 20px;
  }
}
.privacy .box .lead {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .privacy .box .lead {
    font-size: 14px;
    margin-bottom: 20px;
  }
}
.privacy .wrap {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .privacy .wrap {
    margin-bottom: 20px;
  }
}
.privacy h2 {
  font-size: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .privacy h2 {
    font-size: 16px;
  }
}
.privacy h3 {
  font-size: 18px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .privacy h3 {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
.privacy p {
  font-size: 16px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .privacy p {
    font-size: 13px;
    margin-bottom: 10px;
  }
}

.post .inner {
  display: block;
  padding-top: 200px;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .post .inner {
    padding-top: 130px;
    padding-bottom: 50px;
  }
}
.post .inner .section_title {
  display: block;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .post .inner .section_title {
    margin-bottom: 30px;
  }
}
.post .inner .section_title .en {
  -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
          writing-mode: initial;
}
.post .inner .section_title .ja {
  -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
          writing-mode: initial;
}

@media screen and (max-width: 767px) {
  .about {
    margin: 65px 0px 45px;
  }
}
@media screen and (min-width: 768px) {
  .about {
    margin: 65px 0px 0px;
  }
}
@media screen and (min-width: 1024px) {
  .about {
    margin: 75px 0px 0px;
  }
}
@media screen and (min-width: 1280px) {
  .about {
    margin: 105px 0px 0px;
  }
}
@media screen and (min-width: 1536px) {
  .about {
    margin: 140px 0px 0px;
  }
}
.about .section_title::before {
  content: var(--custom-text, "ABOUT");
}
.about .box {
  margin: 160px 0 180px;
}
.about .box .contents {
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  color: #2d2f30;
  letter-spacing: 0.18rem;
  line-height: 1.8181818182;
  margin: 0px 0px 110px 0px;
  text-align: justify;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .about .box .contents {
    margin: -46px 0px 105px 0px;
    font-size: 14px;
    line-height: 1.8285714286;
  }
}
@media screen and (min-width: 768px) {
  .about .box .contents {
    margin: -1px 0px 105px 0px;
  }
}
.about .box .contents h5 {
  font-family: "Inter", system-ui, sans-serif;
  color: #0f3d66;
  display: inline-block;
  margin: 40px 0px 20px;
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .about .box .contents h5 {
    font-size: 26px;
  }
}
.about .box .contents p span {
  font-family: "Inter", system-ui, sans-serif;
  font-weight: 700;
}
.about .box .contents .greeting {
  margin-bottom: 60px;
}
.about .box .contents .career {
  margin-bottom: 60px;
}
.about .box .contents .career ul li span {
  font-family: "Inter", system-ui, sans-serif;
  color: #045e7c;
  font-weight: 700;
}
.about .box .contents .achivement-list ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.about .box .contents .achivement-list ul li i {
  color: #045e7c;
}
.about .box .contents .achivement-list ul li p span {
  font-family: "Inter", system-ui, sans-serif;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .service-page {
    margin: 65px 0px 45px;
  }
}
@media screen and (min-width: 768px) {
  .service-page {
    margin: 65px 0px 0px;
  }
}
@media screen and (min-width: 1024px) {
  .service-page {
    margin: 75px 0px 0px;
  }
}
@media screen and (min-width: 1280px) {
  .service-page {
    margin: 105px 0px 0px;
  }
}
@media screen and (min-width: 1536px) {
  .service-page {
    margin: 140px 0px 0px;
  }
}
.service-page .section_title::before {
  content: var(--custom-text, "SERVICE");
}
.service-page .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 120px;
  margin: 180px 0px;
}
@media screen and (max-width: 767px) {
  .service-page .box {
    margin: 100px 0px;
  }
}
.service-page .box .contents {
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  color: #2d2f30;
  letter-spacing: 0.18rem;
  font-size: 20px;
  line-height: 1.8181818182;
}
@media screen and (max-width: 767px) {
  .service-page .box .contents {
    font-size: 14px;
    line-height: 1.8285714286;
  }
}
.service-page .box .contents h4 {
  font-size: 48px;
  font-family: "Inter", system-ui, sans-serif;
  color: #0f3d66;
}
.service-page .box .contents h4 .tatemono {
  color: #124776;
}
@media screen and (max-width: 767px) {
  .service-page .box .contents h4 {
    text-align: center;
    font-size: 34px;
  }
}
.service-page .box .contents ul li {
  margin: 50px 0px;
}
.service-page .box .contents ul li h5 {
  font-size: 26px;
  font-family: "Inter", system-ui, sans-serif;
  color: #fff;
  background-color: #0f3d66;
  display: block;
  padding: 10px 8px;
  margin: 20px 0px;
}
@media screen and (max-width: 767px) {
  .service-page .box .contents ul li h5 {
    font-size: 20px;
  }
}
.service-page .box .contents ul li h5 .tatemono {
  background-color: #124776;
}
.service-page .box .contents ul li .description_case-page {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .service-page .box .contents ul li .description_case-page {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .case-page {
    margin: 65px 0px 45px;
  }
}
@media screen and (min-width: 768px) {
  .case-page {
    margin: 65px 0px 0px;
  }
}
@media screen and (min-width: 1024px) {
  .case-page {
    margin: 75px 0px 0px;
  }
}
@media screen and (min-width: 1280px) {
  .case-page {
    margin: 105px 0px 0px;
  }
}
@media screen and (min-width: 1536px) {
  .case-page {
    margin: 140px 0px 0px;
  }
}
.case-page .section_title::before {
  content: var(--custom-text, "CASE");
}
.case-page .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 130px;
  margin: 180px 0px;
}
@media screen and (max-width: 767px) {
  .case-page .box {
    margin: 100px 0px;
  }
}
.case-page .box .contents {
  font-family: "Hiragino Mincho ProN", system-ui, serif;
  color: #2d2f30;
  letter-spacing: 0.18rem;
  line-height: 1.8181818182;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .case-page .box .contents {
    line-height: 1.8285714286;
    font-size: 14px;
  }
}
.case-page .box .contents .label {
  font-size: 22px;
  color: #fff;
  padding: 10px 22px;
  background-color: #045e7c;
  display: inline-block;
  font-family: "Inter", system-ui, sans-serif;
  margin: 10px 0px 30px 0px;
}
@media screen and (max-width: 767px) {
  .case-page .box .contents .label {
    font-size: 16px;
  }
}
.case-page .box .contents .title_case-page {
  line-height: 1.2;
  color: #045e7c;
  letter-spacing: 1.92px;
  text-align: justify;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 47px;
}
@media screen and (max-width: 767px) {
  .case-page .box .contents .title_case-page {
    font-size: 26px;
  }
}
@media screen and (min-width: 1280px) {
  .case-page .box .contents .title_case-page {
    letter-spacing: 4px;
  }
}
.case-page .box .contents .description_case-page {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .case-page .box .contents .description_case-page {
    font-size: 16px;
  }
}

.course1 ul {
  margin-bottom: 0;
}

.topTrial2 {
  position: relative;
}
.topTrial2 .item-left {
  position: absolute;
  top: 20px;
  left: 20px;
  max-width: 300px;
  z-index: 1;
}
.topTrial2 .item-right {
  position: absolute;
  top: 180px;
  right: 20px;
  max-width: 280px;
  z-index: 1;
}
.topTrial2 .lead3 {
  margin-top: 30px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .topTrial2 .lead3 {
    margin-top: 20px;
    font-size: 13px;
  }
}
.topTrial2 .traial2_line {
  max-width: 710px;
  margin: 0px auto 70px;
}
@media screen and (max-width: 767px) {
  .topTrial2 .traial2_line {
    margin: 0px auto 35px;
  }
}
.topTrial2 .text2 {
  font-size: 20px;
  color: #2d2f30;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .topTrial2 .text2 {
    font-size: 14px;
    margin-bottom: 20px;
  }
}
.topTrial2 .text3 {
  font-size: 16px;
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .topTrial2 .text3 {
    font-size: 13px;
    margin-bottom: 20px;
  }
}
.topTrial2 .flex .img {
  max-width: 710px;
  margin: 0 auto 30px;
}
@media screen and (max-width: 767px) {
  .topTrial2 .flex .img {
    margin: 0 auto 10px;
  }
}
.topTrial2 .text1_add {
  max-width: 370px;
  font-size: 16px;
  margin: 0 auto;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .topTrial2 .text1_add {
    font-size: 14px;
  }
}

.single_wrap time {
  font-size: 16px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .single_wrap time {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
.single_wrap .single_title {
  font-size: 24px;
  font-weight: bold;
  border-bottom: 2px solid #0f3d66;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .single_wrap .single_title {
    margin-bottom: 20px;
    font-size: 16px;
  }
}
.slider-wrap {
  overflow: hidden;
}

.slide-item > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@-webkit-keyframes fadezoom {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes fadezoom {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.slick-animation {
  -webkit-animation: fadezoom 5s 0s forwards;
          animation: fadezoom 5s 0s forwards;
}

@media screen and (max-width: 767px) {
  .slick-initialized .slick-slide {
    padding-top: 40%;
  }
  .slick-initialized .slick-slide img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (max-width: 767px) {
  .topMessage .flex .img {
    width: 100%;
    margin-bottom: 28px;
  }
  .topVoice .box {
    padding: 0 15px;
  }
  .topVoice ul li .title {
    font-size: 15px;
  }
  .topTrial .flex .img {
    width: 100%;
  }
  .mail .green_lead {
    font-size: 16px;
    margin: 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .header {
    padding: 6px 0;
  }
}
.topNews ul li a .time {
  white-space: nowrap;
  width: 96px;
}