@charset "UTF-8";
/*文字コード*/
/*********全体の設定*********/
html {
  font-size: 62.5%;
  color: #333;
  font-family: "noto-sans-cjk-jp", sans-serif;
}

p {
  line-height: 1.4;
}

a {
  text-decoration: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

li {
  list-style-type: none;
}

.flex {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.posR {
  position: relative;
}

.posA {
  position: absolute;
}

@media only screen and (max-width:599px) {
  .sp--hidden {
    display: none;
  }
}

.sp--visible {
  display: none;
}
@media only screen and (max-width:599px) {
  .sp--visible {
    display: block;
  }
}

.inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width:1024px) {
  .inner {
    width: 90%;
  }
}

body {
  background-image: linear-gradient(#37a7b2 0% 120px, #f5f5f5 120px 100%);
}

/*********ここまで全体の設定*********/
/*********ここからheader*********/
.header {
  width: 100%;
  padding: 0 50px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 120px;
  z-index: 100;
  position: fixed;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  /*********ここからハンバーガーメニュー*********/
  /*********ここまでハンバーガーメニュー*********/
}
@media only screen and (max-width:599px) {
  .header {
    padding: 0 20px;
  }
}
.header--page {
  background-color: #37a7b2;
  margin-top: -120px;
}
.header__logo {
  width: 260px;
  z-index: 150;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media only screen and (max-width:599px) {
  .header__logo {
    width: 215px;
  }
}
.header__logo a :hover {
  cursor: pointer;
}
.header .gnav {
  /*font-family: 'Teko', sans-serif;
  letter-spacing: 0.02em;*/
  font-family: "Questrial", sans-serif;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1;
}
.header .gnav__list > li + li {
  margin-left: 6rem;
}
.header .gnav a {
  color: #fff;
}
@media only screen and (max-width:1024px) {
  .header .gnav__list {
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    padding: 120px 0;
    text-align: center;
    font-size: 2.5rem;
  }
  .header .gnav__list > li + li {
    margin-left: 0;
  }
}
.header .drawer_hidden {
  display: none;
}
@media only screen and (max-width:1024px) {
  .header .drawer_open {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 60px;
    width: 20px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 100;
    cursor: pointer;
  }
  .header .drawer_open span,
  .header .drawer_open span:before,
  .header .drawer_open span:after {
    content: "";
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background: #fff;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    position: absolute;
  }
  .header .drawer_open span:before {
    bottom: 8px;
  }
  .header .drawer_open span:after {
    top: 8px;
  }
  .header #drawer_input:checked ~ .drawer_open span {
    background: rgba(255, 255, 255, 0);
  }
  .header #drawer_input:checked ~ .drawer_open span::before {
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .header #drawer_input:checked ~ .drawer_open span::after {
    top: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .header .gnav {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    z-index: 99;
    background: #37a7b2;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  .header #drawer_input:checked ~ .gnav {
    left: 0;
  }
}

/*********ここまでheader*********/
/*********ここからhero*********/
.hero {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  margin-bottom: 100px;
  /*@include media(sp) {
    background-image: url(../img/hero.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: auto 100vh;
  }*/
}
.hero__bg {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  min-width: 100%;
  min-height: 100%;
}
.hero__inner {
  height: 100vh;
}
.hero__textBox {
  top: 33%;
}
@media only screen and (max-width:599px) {
  .hero__textBox {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.hero__ttl {
  font-weight: 700;
  font-size: 5rem;
  line-height: 1.75;
  color: #fff;
}
@media only screen and (max-width:599px) {
  .hero__ttl {
    font-size: 2.7rem;
  }
}
.hero__text {
  font-size: 1.6rem;
  line-height: 1.7;
  font-weight: 700;
  color: #fff;
}
@media only screen and (max-width:599px) {
  .hero__text {
    margin-top: 1em;
  }
}

/*********ここまでhero*********/
/*********ここからsection*********/
.section {
  padding-top: 40px;
  padding-bottom: 70px;
}
.section__ttl {
  color: #37a7b2;
  text-align: center;
}
.section__ttl--en {
  /*font-family: 'Teko', sans-serif;
  letter-spacing: 0.02em;*/
  font-family: "Questrial", sans-serif;
  font-size: 5rem;
  font-weight: 600;
  line-height: 1.4;
}
@media only screen and (max-width:599px) {
  .section__ttl--en {
    font-size: 3.2rem;
    margin-bottom: 0.1em;
  }
}
.section__ttl--ja {
  font-size: 2.4rem;
  margin-bottom: 2em;
}
@media only screen and (max-width:599px) {
  .section__ttl--ja {
    font-size: 1.6rem;
  }
}

.btn {
  display: inline-block;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.btn::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1em;
  content: "";
  display: inline-block;
  width: 13px;
  height: 11px;
  background-image: url(../img/moreBtn@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.bsns__btn {
  padding-left: 1em;
  font-size: 1.6rem;
  width: 160px;
  line-height: 2.3;
  color: #fff;
  border: solid 1px #fff;
}
@media only screen and (max-width:599px) {
  .bsns__btn {
    display: block;
    margin: 0 auto;
  }
}

.bsns__btn:hover {
  background-color: #fff;
  color: #37a7b2;
}

.bsns__btn:hover::after {
  background-image: url(../img/moreBtn--mainC@2x.png);
}

/*********ここまでsection*********/
/*********ここからINFORMATION*********/
.info__dl__row {
  border-bottom: solid 1px #e6e6e6;
  padding: 0.8em 0;
}
.info dl {
  font-size: 1.6rem;
  line-height: 1.7;
}
.info dd {
  padding: 0 50px;
}
@media only screen and (max-width:599px) {
  .info dd {
    padding: 0 0.5em 0 0;
    width: 20%;
    min-width: 8em;
    text-align: center;
  }
}

/*********ここまでINFORMATION*********/
/*********ここからContact*********/
.ctct {
  background-color: #1f727b;
}
.ctct__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width:599px) {
  .ctct__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.ctct .section__ttl {
  text-align: left;
  color: #fff;
}
@media only screen and (max-width:599px) {
  .ctct .section__ttl {
    text-align: center;
  }
}
.ctct .section__subTtl {
  text-align: left;
  color: #fff;
}
@media only screen and (max-width:599px) {
  .ctct .section__subTtl {
    text-align: center;
  }
}
.ctct__text {
  font-size: 1.6rem;
  line-height: 1.7;
  max-width: 24em;
  color: #fff;
  display: inline-block;
  margin: 0 30px;
}
@media only screen and (max-width:599px) {
  .ctct__text {
    margin: 0 0 2em 0;
  }
}
.ctct__btn {
  padding: 1em 1.5em 1em 1em;
  width: 90%;
  max-width: 310px;
  font-size: 1.8rem;
  color: #fff;
  border: solid 1px #fff;
  line-height: 1.4;
}
@media only screen and (max-width:599px) {
  .ctct__btn {
    margin: 0 auto;
  }
}
.ctct__btn:hover {
  background-color: #fff;
  color: #1f727b;
}
.ctct__btn:hover::after {
  background-image: url(../img/moreBtn--accentC@2x.png);
}

/*********ここまでContact*********/
/*********ここからfooter*********/
.footer {
  padding: 40px 0;
}
@media only screen and (max-width:599px) {
  .footer__inner {
    text-align: center;
  }
}
@media only screen and (max-width:599px) {
  .footer__inner > div {
    display: block;
  }
}
.footer__logo {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.7;
}
.footer__smlLogo {
  /*font-family: 'Teko', sans-serif;
  letter-spacing: 0.02em;*/
  font-family: "Questrial", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
}
.footer__add {
  font-size: 1.6rem;
  line-height: 1.7;
  margin-left: 40px;
}
@media only screen and (max-width:599px) {
  .footer__add {
    margin: 1em 0;
  }
}
.footer__copy {
  color: #808080;
  font-size: 1rem;
  display: block;
  text-align: right;
}
@media only screen and (max-width:599px) {
  .footer__copy {
    text-align: center;
  }
}

/*********ここまでfooter*********/
/*********ここからpage*********/
.c-header {
  width: 100%;
  height: 300px;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  margin-top: 120px;
  /*↑header固定*/
  margin-bottom: 110px;
}
@media only screen and (max-width:599px) {
  .c-header {
    height: 200px;
    margin-bottom: 50px;
  }
}
.c-header::before {
  content: "";
  background-color: rgba(55, 167, 178, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.c-header--bsns {
  background-image: url(../img/c-header--bsns.jpg);
}
.c-header--com {
  background-image: url(../img/c-header--com.jpg);
  background-position: 0 35%;
}
.c-header--rct {
  background-image: url(../img/c-header--rct.jpg);
  background-position: 0 100%;
}
.c-header__inner {
  color: #fff;
  height: 100%;
}
.c-header__ttl {
  font-size: 9rem;
  border-left: 0.1em solid #fff;
  padding-left: 0.5em;
  font-weight: bold;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width:599px) {
  .c-header__ttl {
    font-size: 5rem;
  }
}
.c-header__ttl--en {
  /*font-family: 'Teko', sans-serif;
  letter-spacing: 0.02em;*/
  font-family: "Questrial", sans-serif;
  font-size: 67%;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.3em;
}
.c-header__ttl--ja {
  font-size: 30%;
  margin-bottom: 0.6em;
}

.c-ctct__inner {
  padding: 50px 0;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
@media only screen and (max-width:1024px) {
  .c-ctct__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;
    row-gap: 30px;
  }
}

/*********ここまでpage*********/
/*********ここからp-bsns*********/
.p-bsns__list {
  margin-bottom: 130px;
  overflow: hidden;
}
.p-bsns__item {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:599px) {
  .p-bsns__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-bsns__item + li {
  margin-top: 85px;
}
.p-bsns__imgBox {
  max-width: 480px;
  width: 40%;
}
@media only screen and (max-width:1024px) {
  .p-bsns__imgBox {
    max-width: 300px;
  }
}
@media only screen and (max-width:599px) {
  .p-bsns__imgBox {
    max-width: none;
    width: 100%;
  }
}
.p-bsns__textBox {
  border-top: 1px solid #37a7b2;
  max-width: 660px;
  width: 55%;
}
@media only screen and (max-width:599px) {
  .p-bsns__textBox {
    width: 100%;
    margin-bottom: 20px;
  }
}
.p-bsns__ttl--ja {
  color: #37a7b2;
  font-size: 2.6rem;
  font-weight: bold;
  margin-top: 1em;
  margin-bottom: 0.5em;
}
@media only screen and (max-width:599px) {
  .p-bsns__ttl--ja {
    font-size: 2.2rem;
  }
}
.p-bsns__ttl--en {
  /*font-family: 'Teko', sans-serif;
  letter-spacing: 0.02em;*/
  font-family: "Questrial", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 2em;
}
@media only screen and (max-width:599px) {
  .p-bsns__ttl--en {
    font-size: 1.6rem;
    margin-bottom: 1em;
  }
}
.p-bsns__text {
  font-size: 1.6rem;
  line-height: 2;
}

/*********ここまでp-bsns*********/
/*********ここからp-com*********/
.p-com__ttl {
  color: #37a7b2;
  text-align: center;
  font-size: 4rem;
}
@media only screen and (max-width:599px) {
  .p-com__ttl {
    font-size: 3rem;
  }
}
.p-com__ttl--en {
  /*font-family: 'Teko', sans-serif;
  letter-spacing: 0.02em;*/
  font-family: "Questrial", sans-serif;
  font-weight: bold;
  margin-bottom: 0.25em;
}
.p-com__ttl--ja {
  font-size: 60%;
  margin-bottom: 2em;
  font-weight: 300;
}
.p-com__sec {
  padding: 80px 0 90px;
}

.p-com__sec01 {
  border-bottom: 1px solid #37a7b2;
  padding-top: 0;
}
.p-com__sec01 p {
  font-size: 6.4rem;
  text-align: center;
}
@media only screen and (max-width:599px) {
  .p-com__sec01 p {
    font-size: 3.5rem;
  }
}

.p-com__sec02 {
  border-bottom: 1px solid #37a7b2;
}
.p-com__sec02__bg {
  padding: 50px 0;
  background-image: url(../img/p-com__sec02__bg.png);
  background-repeat: no-repeat;
  background-position: 100% 0;
}
.p-com__sec02 p {
  font-size: 2.9rem;
  line-height: 2;
}
@media only screen and (max-width:599px) {
  .p-com__sec02 p {
    font-size: 2rem;
  }
}

.p-com__sec03 dl {
  font-size: 1.6rem;
  line-height: 1.7;
}
.p-com__sec03 dt {
  color: #fff;
  width: 25%;
  max-width: 320px;
  text-align: center;
  padding: 40px 0;
  background-color: #37a7b2;
  border-bottom: 1px solid #fff;
  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;
}
.p-com__sec03 div:first-child dt {
  border-top: 1px solid #37a7b2;
}
.p-com__sec03 dd {
  width: 75%;
  padding: 40px 0 40px 40px;
  border-bottom: 1px solid #37a7b2;
  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;
}
@media only screen and (max-width:599px) {
  .p-com__sec03 dd {
    padding: 40px 10px;
  }
}
.p-com__sec03 div:first-child dd {
  border-top: 1px solid #37a7b2;
}

.p-com__sec04 {
  background-color: #37a7b2;
}
.p-com__sec04 .p-com__ttl {
  color: #fff;
}
.p-com__sec04 dl {
  width: 100%;
  font-size: 1.6rem;
  color: #fff;
}
.p-com__sec04 dt {
  width: 33%;
  max-width: 320px;
  text-align: center;
  padding: 40px 0;
  background-color: #37a7b2;
  border-bottom: 1px solid #fff;
}
.p-com__sec04 div:first-child dt {
  border-top: 1px solid #fff;
}
.p-com__sec04 dd {
  width: 67%;
  padding: 40px 0 40px 180px;
  border-bottom: 1px solid #fff;
}
@media only screen and (max-width:1024px) {
  .p-com__sec04 dd {
    padding-left: 40px;
  }
}
@media only screen and (max-width:599px) {
  .p-com__sec04 dd {
    padding-left: 0;
  }
}
.p-com__sec04 div:first-child dd {
  border-top: 1px solid #fff;
}

.p-com__sec05 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:599px) {
  .p-com__sec05 {
    display: block;
  }
}
.p-com__sec05__flexitem {
  -ms-flex-preferred-size: 48%;
      flex-basis: 48%;
}
.p-com__sec05__flexitem h2 {
  text-align: center;
  color: #37a7b2;
  font-size: 2.4rem;
  font-weight: 700;
  padding: 1em 0;
}
.p-com__sec05__flexitem iframe {
  width: 100%;
  aspect-ratio: 4/3;
}

/*********ここまでp-com*********/
/*********ここからp-rct-message*********/
.p-rct-message-sec01__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px 50px;
  margin-bottom: 60px;
}
@media only screen and (max-width:1024px) {
  .p-rct-message-sec01__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-rct-message-sec01__textWrapper {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-rct-message-sec01__lead {
  font-size: 2.7rem;
  font-weight: bold;
  color: #37a7b2;
  margin-bottom: 1em;
  line-height: 1.75;
}
@media only screen and (max-width:599px) {
  .p-rct-message-sec01__lead {
    font-size: 2rem;
  }
}
.p-rct-message-sec01__text {
  line-height: 2.25;
  font-size: 1.6rem;
}
.p-rct-message-sec01__img {
  width: 50%;
  max-width: 550px;
}
@media only screen and (max-width:1024px) {
  .p-rct-message-sec01__img {
    width: 80%;
  }
}
@media only screen and (max-width:599px) {
  .p-rct-message-sec01__img {
    width: 100%;
  }
}

.p-rct-message-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 70px;
}
@media only screen and (max-width:599px) {
  .p-rct-message-images {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2vw 2%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-rct-message-images img {
  width: 25%;
}
@media only screen and (max-width:599px) {
  .p-rct-message-images img {
    width: 44%;
  }
}

.p-rct-message-sec02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px 50px;
  margin-bottom: 85px;
}
@media only screen and (max-width:1024px) {
  .p-rct-message-sec02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-rct-message-sec02__text {
  line-height: 2.25;
  font-size: 1.6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-rct-message-sec02__img {
  width: 50%;
  max-width: 550px;
}
@media only screen and (max-width:1024px) {
  .p-rct-message-sec02__img {
    width: 80%;
  }
}
@media only screen and (max-width:599px) {
  .p-rct-message-sec02__img {
    width: 100%;
  }
}

/*********ここまでp-rct-message*********/
/*********ここからp-rct*********/
.p-rct__menu {
  margin-bottom: 100px;
}
@media only screen and (max-width:599px) {
  .p-rct__menu {
    margin-bottom: 60px;
  }
}
.p-rct__list {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:1024px) {
  .p-rct__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 15px;
  }
}
.p-rct__item {
  width: 23%;
  max-width: 370px;
}
@media only screen and (max-width:1024px) {
  .p-rct__item {
    width: 100%;
    max-width: none;
  }
}
.p-rct__btn {
  width: 100%;
  font-size: 2.2rem;
  line-height: 2.6em;
  color: #999;
  border: solid 1px #b3b3b3;
  text-align: center;
  text-indent: -0.5em;
}
@media only screen and (max-width:599px) {
  .p-rct__btn {
    font-size: 1.8rem;
    margin: 0 auto;
  }
}
.p-rct__btn::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0.5em;
  content: "";
  display: inline-block;
  width: 13px;
  height: 11px;
  background-image: url(../img/moreBtn--mainC@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}
.p-rct__btn:hover {
  background-color: #fff;
  color: #37a7b2;
}
.p-rct__btn--current {
  color: #fff;
  border: solid 1px #37a7b2;
  background-color: #37a7b2;
}
.p-rct__btn--current::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1em;
  content: "";
  display: inline-block;
  width: 13px;
  height: 11px;
  background-image: url(../img/moreBtn@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}
.p-rct__btn--current:hover {
  background-color: #37a7b2;
  color: #fff;
}
.p-rct__wrapper {
  min-height: 350px;
  margin-bottom: 115px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width:599px) {
  .p-rct__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-rct__secWrapper {
  width: 46%;
}
@media only screen and (max-width:599px) {
  .p-rct__secWrapper {
    width: 100%;
  }
}
.p-rct__secWrapper .p-rct__ttl {
  font-size: 2.7rem;
  font-weight: bold;
  margin-bottom: 0.8em;
}
@media only screen and (max-width:599px) {
  .p-rct__secWrapper .p-rct__ttl {
    font-size: 2.4rem;
  }
}
.p-rct__secWrapper .p-rct__text {
  font-size: 1.6rem;
  line-height: 1.7;
}
.p-rct__ttl {
  color: #37a7b2;
}
.p-rct__imgBox {
  width: 50%;
  height: 100%;
}
@media only screen and (max-width:599px) {
  .p-rct__imgBox {
    width: 80%;
    aspect-ratio: 2/1;
  }
}
.p-rct__imgBg {
  background-color: #37a7b2;
  width: 100%;
  aspect-ratio: 2/1;
  left: 100px;
}
@media only screen and (max-width:1024px) {
  .p-rct__imgBg {
    left: 10%;
  }
}
@media only screen and (max-width:599px) {
  .p-rct__imgBg {
    left: 25%;
  }
}
.p-rct__img {
  top: 50px;
}
.p-rct__sec01 {
  margin-bottom: 75px;
}
@media only screen and (max-width:599px) {
  .p-rct__sec01 {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width:599px) {
  .p-rct__sec02 {
    margin-bottom: 30px;
  }
}
.p-rct__ttl--en {
  /*font-family: 'Teko', sans-serif;
  letter-spacing: 0.02em;*/
  font-family: "Questrial", sans-serif;
  font-size: 2.4rem;
  font-weight: bold;
}
.p-rct__sec03 {
  margin-bottom: 120px;
}
.p-rct__sec03 dl {
  font-size: 1.6rem;
}
.p-rct__sec03 dt {
  width: 17%;
  max-width: 200px;
  text-align: center;
  padding: 40px 0;
  color: #37a7b2;
  border-bottom: 1px solid #37a7b2;
  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;
}
@media only screen and (max-width:599px) {
  .p-rct__sec03 dt {
    padding: 20px 0;
  }
}
.p-rct__sec03 div:first-child dt {
  border-top: 1px solid #37a7b2;
}
.p-rct__sec03 dd {
  width: 83%;
  padding: 40px 140px 40px 40px;
  border-bottom: 1px solid #d3d3d3;
  line-height: 2;
}
@media only screen and (max-width:599px) {
  .p-rct__sec03 dd {
    padding: 20px;
  }
}
.p-rct__sec03 div:first-child dd {
  border-top: 1px solid #d3d3d3;
}

/*********ここまでp-rct*********/
/*********ここから*********/
/*********ここまで*********/
.scroll {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.js-fadeIn {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-transition: opacity 3s, visibility 3s, -webkit-transform 3s;
  transition: opacity 3s, visibility 3s, -webkit-transform 3s;
  transition: opacity 3s, visibility 3s, transform 3s;
  transition: opacity 3s, visibility 3s, transform 3s, -webkit-transform 3s;
}

.js-fadeIn.scroll {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.js-fadeBottom {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s, -webkit-transform 1s;
}

.js-fadeBottom.scroll {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.js-fadeTop {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-80px);
          transform: translateY(-80px);
  -webkit-transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s, -webkit-transform 1s;
}

.js-fadeTop.scroll {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.js-fadeRight {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateX(80px);
          transform: translateX(80px);
  -webkit-transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s, -webkit-transform 1s;
}

.js-fadeRight.scroll {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
}

.js-fadeLeft {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateX(-80px);
          transform: translateX(-80px);
  -webkit-transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s, -webkit-transform 1s;
}

.js-fadeLeft.scroll {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
}

.js-delayitem {
  opacity: 0;
}

.fadeBottom {
  -webkit-animation-name: delayFadeBottomAnime;
          animation-name: delayFadeBottomAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

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

@keyframes delayFadeBottomAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.js-delayitem {
  opacity: 0;
}

.fadeLeft {
  -webkit-animation-name: delayFadeLeftAnime;
          animation-name: delayFadeLeftAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

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

@keyframes delayFadeLeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/*========= テキストを滑らかに出現させるためのCSS ===============*/
span.smoothText {
  overflow: hidden;
  display: block;
}

/* アニメーションで傾斜がついている文字列を水平に戻す*/
span.smoothTextTrigger {
  -webkit-transition: 1.5s ease-in-out;
  transition: 1.5s ease-in-out;
  -webkit-transform: translate3d(0, 0, 0) skewY(45deg);
          transform: translate3d(0, 0, 0) skewY(45deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  display: block;
}

span.smoothTextTrigger.smoothTextAppear {
  -webkit-transform: translate3d(0, 0, 0) skewY(0);
          transform: translate3d(0, 0, 0) skewY(0);
}

.button_top {
  background-color: #fff;
  color: #37a7b2;
  opacity: 0.9;
  font-size: 1.6rem;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  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;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media only screen and (max-width:599px) {
  .button_top {
    right: 10px;
    width: 60px;
    height: 60px;
  }
}

.button_top:hover {
  background-color: #37a7b2;
  color: #fff;
}

.button_top::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 5px solid #37a7b2;
  border-right: 5px solid #37a7b2;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin-bottom: 3px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media only screen and (max-width:599px) {
  .button_top::before {
    content: "";
    border-top: 3px solid #37a7b2;
    border-right: 3px solid #37a7b2;
  }
}

.button_top:hover::before {
  border-top: 5px solid #fff;
  border-right: 5px solid #fff;
}
@media only screen and (max-width:599px) {
  .button_top:hover::before {
    content: "";
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }
}

/*
header {
    position: fixed;
    padding: 3em 0;
    width: 100%;
    font-size: 2em;
    text-align: center;
    color: #fff;
    background-color: #000;
    transition: .3s;
}*/
/*
main {
    height: 2000px;
    text-align: center;
    background-color: #fff;
}

footer {
    padding: 3em 0;
    text-align: center;
    color: #fff;
    background-color: #000;
}*/
.js-header {
  height: 80px;
  background-color: #37a7b2;
}
@media only screen and (max-width:599px) {
  .js-header {
    height: 60px;
  }
}

.js-header .header__logo {
  width: 200px;
}
@media only screen and (max-width:599px) {
  .js-header .header__logo {
    width: 180px;
  }
}/*# sourceMappingURL=style.css.map */