@charset "UTF-8";
/*-- メディアクエリ --*/
@media screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1079px) {
  .is-sp {
    display: none;
  }
}
@media screen and (min-width: 1080px) {
  .is-sp {
    display: none;
  }
}
/*-- color --*/
/*-- フォント --*/
/* ===============================================
 ヘッダー
=============================================== */
.header {
  position: -webkit-sticky;
  position: sticky;
  z-index: 10;
  top: 0;
  background: #fff;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 9.6rem;
}
@media screen and (max-width: 767px) {
  .header-inner {
    height: 7rem;
  }
}

.header-logo {
  width: 6.3rem;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .header-logo {
    width: 5.1rem;
    margin-left: 0.2rem;
    position: relative;
    z-index: 12;
  }
}
.header-logo:hover {
  opacity: 0.7;
}

.header-nav-list {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.428;
  text-align: center;
  letter-spacing: 0.1em;
  color: #30363D;
}
@media screen and (max-width: 767px) {
  .header-nav-list {
    display: block;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.187;
  }
}
.header-nav-list .header-nav-item + .header-nav-item {
  margin-left: 4.5rem;
}
@media screen and (max-width: 767px) {
  .header-nav-list .header-nav-item + .header-nav-item {
    margin-left: 0;
  }
}

.header-nav-item > a {
  position: relative;
}
.header-nav-item > a:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.2rem;
  background: transparent;
  bottom: -0.8rem;
  left: 50%;
  transition: 0.3s;
  transform: translateX(-50%);
}
.header-nav-item > a:hover::after {
  background: #3EAF8F;
}
@media screen and (max-width: 767px) {
  .header-nav-item > a:hover::after {
    background: none;
  }
}

.header-nav-list .current:after {
  background: #3EAF8F;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .header-nav-list .current:after {
    background: none;
  }
}

@media screen and (max-width: 767px) {
  .drawer-menu {
    display: block;
    position: fixed;
    z-index: 3;
    right: 2.2rem;
    top: 1.1rem;
    width: 4.8rem;
    height: 4.8rem;
    cursor: pointer;
    text-align: center;
    background: #8FA4A5;
    border-radius: 50%;
  }
  .drawer-menu span {
    display: block;
    position: absolute;
    width: 2.1rem;
    height: 1px;
    left: 1.4rem;
    background: #fff;
    transition: 0.3s ease-in-out;
  }
  .drawer-menu span:nth-child(1) {
    top: 1.8rem;
  }
  .drawer-menu span:nth-child(2) {
    top: 2.4rem;
  }
  .drawer-menu span:nth-child(3) {
    top: 3rem;
  }
  /* ナビ開いてる時 */
  .drawer-menu.active span:nth-child(1) {
    transform: rotate(-45deg);
    top: 2.3rem;
  }
  .drawer-menu.active span:nth-child(2) {
    width: 0;
  }
  .drawer-menu.active span:nth-child(3) {
    transform: rotate(45deg);
    top: 2.3rem;
  }
  /* ナビメニュー内 */
  .header-nav {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background: #F0F8F8;
    text-align: center;
    transform: translateX(100%);
    transition: all 0.6s;
    width: 100%;
    height: 100%;
    visibility: hidden;
    overflow-y: scroll;
    padding-top: 7rem;
  }
  .header-nav ul {
    margin: 0 auto;
    padding: 0 2rem;
    width: 100%;
  }
  .header-nav-item {
    position: relative;
  }
  .header-nav-item:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2.3rem;
    height: 2.3rem;
    background: url(../../assets/images/arrow-green.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  .header-nav-list a {
    display: block;
    text-align: left;
    color: #000;
    padding: 2rem 0;
    border-bottom: 1px solid #D9D9D9;
  }
  .header-nav-item:first-of-type a {
    border-top: 1px solid #D9D9D9;
  }
  /* ハンバーガーメニュー押してactiveクラスを付いたら表示する */
  .header-nav.active {
    transform: translateX(0%);
    visibility: visible;
  }
}
/*========= LoadingのためのCSS ===============*/
/* Loading背景画面設定　*/
#splash {
  /*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  text-align: center;
  background: #8DB8AB;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定*/
#splash_logo img {
  width: 8rem;
}

/* fadeUpをするアイコンの動き */
.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.footer {
  padding: 3rem 0;
  background: #8FA4A5;
  position: absolute;
  width: 100%;
  color: #fff;
}
@media screen and (min-width: 768px) and (max-width: 1079px) {
  .footer {
    padding: 3rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 2.4rem 0 2.3rem;
  }
}

.footer-nav {
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-logo {
  width: 4.8rem;
  margin-right: 9.8rem;
  transition: 0.3s;
}
@media screen and (min-width: 768px) and (max-width: 1079px) {
  .footer-logo {
    margin-right: 4.2rem;
  }
}
@media screen and (max-width: 767px) {
  .footer-logo {
    margin-right: auto;
    margin-left: auto;
    width: 4rem;
  }
}
.footer-logo:hover {
  opacity: 0.7;
}

.footer-nav-list {
  display: flex;
  align-items: center;
}
.footer-nav-list a {
  transition: 0.3s;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.428;
  letter-spacing: 0.1em;
}
.footer-nav-list a:hover {
  text-decoration: underline;
}

.footer-nav-item + .footer-nav-item {
  margin-left: 4.5rem;
}
@media screen and (min-width: 768px) and (max-width: 1079px) {
  .footer-nav-item + .footer-nav-item {
    margin-left: 3vw;
  }
}

.copyright {
  margin-top: 0.7rem;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.416;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .copyright {
    margin-top: 0;
  }
}

/*=================================================
  共通
===================================================*/
html {
  font-size: 62.5%;
  font-family: "Noto Sans JP", sans-serif;
  color: #716C6E;
}

.body {
  background: #FFFFFB;
}

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

.common-inner {
  max-width: 112rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
  width: 100%;
}

.box-two {
  display: flex;
}
@media screen and (max-width: 767px) {
  .box-two {
    flex-direction: column;
  }
}

.box-two-responsive {
  display: flex;
}
@media screen and (max-width: 767px) {
  .box-two-responsive {
    display: block;
  }
}

.box-two-bw {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .box-two-bw {
    display: block;
  }
}

.box-two-center {
  display: flex;
  justify-content: center;
}

.bg-green {
  background: #F0F8F8;
}

/* ===============================================
inview
=============================================== */
/* フェードイン(初期値) */
.js-fadeIn {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
}

/* フェードアップ */
.js-fadeUp {
  opacity: 0;
  /* 最初は非表示 */
  transform: translateY(30px);
  /* 下に30pxの位置から */
  transition: opacity 0.8s, transform 0.8s;
  /* 透過率と縦方向の移動を0.8秒 */
}

.js-fadeUp02 {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s, transform 0.8s;
}

.js-fadeUp03 {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s, transform 0.8s;
}

.js-fadeUp04 {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s, transform 0.8s;
}

.js-fadeUp05 {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s, transform 0.8s;
}

.js-fadeUp06 {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s, transform 0.8s;
}

.js-fadeUp07 {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s, transform 0.8s;
}

/* フェードイン(スクロールした後) */
.js-fadeIn.is-inview {
  opacity: 1;
}

/* フェードアップ(スクロールした後) */
.js-fadeUp.is-inview {
  opacity: 1;
  transform: translateY(0);
}

.js-fadeUp02.is-inview {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.6s;
}

.js-fadeUp03.is-inview {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1.2s;
}

.js-fadeUp04.is-inview {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1.8s;
}

.js-fadeUp05.is-inview {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 2.4s;
}

.js-fadeUp06.is-inview {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 3s;
}

.js-fadeUp07.is-inview {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 3.6s;
}

/* ===============================================
 見出し・テキスト
=============================================== */
.common-title {
  font-weight: 700;
  font-size: clamp(12px, 2.4vw, 16px);
  letter-spacing: 0.05em;
  color: #3EAF8F;
  line-height: 1.8;
  color: #30363D;
}
.common-title span {
  font-family: "Roboto", sans-serif;
  display: block;
  font-weight: 500;
  font-size: clamp(36px, 4vw, 50px);
  color: #8DB8AB;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-top: -1.4rem;
}

.sub-title-border {
  font-weight: 400;
  font-size: 3.6rem;
  line-height: 1.8;
  color: #716C6E;
  letter-spacing: 0.05em;
  padding-bottom: 0.9rem;
  border-bottom: 2px solid #B1D7CC;
}
@media screen and (max-width: 767px) {
  .sub-title-border {
    font-size: 27px;
    line-height: 1.2;
    padding-bottom: 1.2rem;
  }
}

@media screen and (min-width: 1080px) {
  .tab-only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .tab-only {
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1079px) {
  .pc-only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

.text-center {
  text-align: center;
}

.common-text {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #716C6E;
}

.common-text-lg {
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.05em;
  color: #716C6E;
}
@media screen and (max-width: 767px) {
  .common-text-lg {
    text-align: left;
  }
}

/* ===============================================
 ボタン
=============================================== */
.common-button-border a {
  display: block;
  color: #3EAF8F;
  font-size: 1.6rem;
  width: 27.1rem;
  height: 4.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 2px #3EAF8F;
  border-radius: 2.45rem;
  position: relative;
  transition: 0.3s;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .common-button-border a {
    max-width: 27.1rem;
    width: 100%;
  }
}
.common-button-border a:hover {
  color: #fff;
  background: #3EAF8F;
}
.common-button-border a:hover::after {
  background: url(../../assets/images/arrow-white.svg);
}
.common-button-border a:after {
  position: absolute;
  content: "";
  right: 2.3rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.3rem;
  height: 2.3rem;
  background: url(../../assets/images/arrow-green.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.common-button-green a {
  display: block;
  color: #fff;
  background: #3EAF8F;
  font-size: 1.6rem;
  width: 27.1rem;
  height: 4.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 2px #3EAF8F;
  border-radius: 2.45rem;
  position: relative;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .common-button-green a {
    max-width: 27.1rem;
    width: 100%;
  }
}
.common-button-green a:hover {
  color: #3EAF8F;
  background: #fff;
}
.common-button-green a:hover::after {
  background: url(../../assets/images/arrow-green.svg);
}
.common-button-green a:after {
  position: absolute;
  content: "";
  right: 2.3rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.3rem;
  height: 2.3rem;
  background: url(../../assets/images/arrow-white.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.common-button-contact a {
  display: block;
  color: #fff;
  background: #3EAF8F;
  font-size: 1.9rem;
  width: 32.1rem;
  font-weight: 500;
  line-height: 1.8;
  height: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 2px #3EAF8F;
  border-radius: 3rem;
  position: relative;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .common-button-contact a {
    max-width: 32.1rem;
    width: 100%;
  }
}
.common-button-contact a:hover {
  opacity: 0.7;
}

/* ===============================================
 下層ページ
=============================================== */
.sub-page-hero {
  text-align: center;
  height: 20rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .sub-page-hero {
    height: 12.2rem;
  }
}

.sub-page-message {
  max-width: 68.9rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5.3rem;
}
@media screen and (max-width: 767px) {
  .sub-page-message {
    margin-top: 4.4rem;
  }
}

/* ===============================================
パンくず
=============================================== */
.breadcrumb {
  margin-top: 1.9rem;
}

.breadcrumb li {
  display: inline;
  /*横に並ぶように*/
  list-style: none;
  font-weight: 300;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.breadcrumb li:after {
  /* >を表示*/
  content: ">";
  padding: 0 1.4rem;
  color: #716C6E;
}

.breadcrumb li:first-child a span {
  text-decoration: underline;
}

.breadcrumb li:last-child:after {
  content: "";
}

.breadcrumb li a span {
  text-decoration: none;
  color: #716C6E;
}

.breadcrumb li a:hover {
  text-decoration: underline;
}