@charset "UTF-8";
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #2d2d2d;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}

a {
  transition: opacity 0.3s ease;
}
a:hover {
  opacity: 0.7;
}

figure {
  width: 100%;
  margin: 0;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
}

ul,
ol,
li {
  list-style: none;
  padding: 0;
  margin: 0;
}

.wrapper {
  max-width: 100%;
  overflow-x: hidden;
}

.container {
  width: 75.7%;
  max-width: 970px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
}

.sp_only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_only {
    display: block;
  }
}

.fv {
  position: relative;
  width: 100%;
  padding-bottom: 59.3%;
}
@media screen and (max-width: 768px) {
  .fv {
    padding-bottom: 231.4%;
  }
}
.fv_parts {
  mix-blend-mode: multiply;
  position: absolute;
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fv_parts.is-visible {
  opacity: 1;
}
.fv_img01, .fv_img02 {
  transform: translateX(-30px);
}
.fv_img01.is-visible, .fv_img02.is-visible {
  transform: translate(0, 0);
}
.fv_img04, .fv_img05 {
  transform: translateX(30px);
}
.fv_img04.is-visible, .fv_img05.is-visible {
  transform: translate(0, 0);
}
.fv_img03 {
  transform: translateY(30px);
}
.fv_img03.is-visible {
  transform: translate(0, 0);
}
.fv_copy {
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
  transition: opacity 0.8s ease, -webkit-clip-path 0.8s ease;
  transition: opacity 0.8s ease, clip-path 0.8s ease;
  transition: opacity 0.8s ease, clip-path 0.8s ease, -webkit-clip-path 0.8s ease;
}
.fv_copy.is-visible {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
.fv_copy_sp {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  transition: opacity 0.8s ease, -webkit-clip-path 0.8s ease;
  transition: opacity 0.8s ease, clip-path 0.8s ease;
  transition: opacity 0.8s ease, clip-path 0.8s ease, -webkit-clip-path 0.8s ease;
}
.fv_copy_sp.is-visible {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
.fv_logo {
  width: 25.5%;
  margin: 0 auto;
  top: 34.5%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .fv_logo {
    width: 55%;
    margin: 0 auto;
    top: 40.3%;
    left: 50%;
  }
}
.fv_logo .logo_fish01 {
  position: absolute;
  width: 22.3%;
  top: 52%;
  left: 28%;
  -webkit-animation: logoSwim1 10s ease-in-out infinite;
          animation: logoSwim1 10s ease-in-out infinite;
  transform-style: preserve-3d;
}
.fv_logo .logo_fish02 {
  position: absolute;
  width: 22.3%;
  top: 46%;
  left: 58%;
  -webkit-animation: logoSwim2 12s ease-in-out infinite;
          animation: logoSwim2 12s ease-in-out infinite;
  transform-style: preserve-3d;
}
.fv_img01 {
  width: 33.2%;
  top: -7%;
  left: 1.5%;
}
@media screen and (max-width: 768px) {
  .fv_img01 {
    width: 53.2%;
    top: -5%;
    left: 1.5%;
  }
}
.fv_img02 {
  width: 52.7%;
  top: 44%;
  left: -23%;
}
@media screen and (max-width: 768px) {
  .fv_img02 {
    width: 91.2%;
    top: 62%;
    left: -41.5%;
  }
}
.fv_img03 {
  width: 23.9%;
  top: 72%;
  left: 31.5%;
}
@media screen and (max-width: 768px) {
  .fv_img03 {
    width: 38.9%;
    top: 87%;
    left: 23.5%;
  }
}
.fv_img04 {
  width: 15.2%;
  top: 65%;
  left: 64.3%;
}
@media screen and (max-width: 768px) {
  .fv_img04 {
    width: 23.2%;
    top: 23.5%;
    left: 82.3%;
  }
}
.fv_img05 {
  width: 19.6%;
  top: 51%;
  left: 83.2%;
}
@media screen and (max-width: 768px) {
  .fv_img05 {
    width: 30.6%;
    top: 62.5%;
    left: 64.2%;
  }
}
.fv_copy {
  width: 12.5%;
  top: 11.5%;
  left: 72.4%;
}
@media screen and (max-width: 768px) {
  .fv_copy {
    display: none;
  }
}
.fv_copy_sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .fv_copy_sp {
    display: block;
    width: 57.5%;
    top: 12.5%;
    left: 21.4%;
  }
}
.fv_balloon {
  width: 15.3%;
  top: 72%;
  left: 71.2%;
  mix-blend-mode: normal;
}
@media screen and (max-width: 768px) {
  .fv_balloon {
    width: 41.3%;
    top: 71.5%;
    left: 53.6%;
  }
}
.fv_catch {
  position: absolute;
  width: 71.2%;
  top: 107%;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 768px) {
  .fv_catch {
    width: 98.2%;
    top: 113%;
    left: 50%;
  }
}

#global_nav {
  width: 100%;
  transition: all 1s ease;
  margin: 0px auto;
  padding: 70px 0;
}
@media screen and (max-width: 768px) {
  #global_nav {
    padding: 0;
  }
}
#global_nav.m_fixed {
  left: 0;
  position: fixed;
  top: 0;
  z-index: 100;
  margin: 0 auto;
  padding: 0;
}
#global_nav.m_fixed .inner {
  margin: 10px auto;
  transition: margin 1s ease;
}
#global_nav .inner {
  padding-bottom: 0;
  padding-top: 0;
  margin: 0 auto;
  width: 90%;
  max-width: 970px;
  background: #fcf8f4;
  border-radius: 34px;
  padding: 12px 0 11px;
  transition: margin 0.3s ease;
}

.global_list {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0 0 0 18px;
}

.global_item {
  width: auto;
}
.global_item a {
  padding: 0 22px;
  color: #4c4c4c;
  display: block;
  text-align: center;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  position: relative;
}
.global_item a::after {
  content: "";
  height: 14px;
  width: 1px;
  background: #4c4c4c;
  position: absolute;
  transform: translate(0, -50%);
  top: 50%;
  right: 0;
}
.global_item:nth-child(5) a::after {
  content: none;
}
.global_item:last-child {
  margin-left: 10px;
}
.global_item:last-child a {
  background: #36bcb3;
  color: #fff;
  font-size: 15px;
  border-radius: 24px;
  padding: 15px 35px;
}
.global_item:last-child a::after {
  content: none;
}
.global_item:first-child a {
  padding: 0 22px 0 22px;
}

.summary {
  padding-top: 77px;
  padding-bottom: 106px;
}
@media screen and (max-width: 768px) {
  .summary {
    padding-top: 55px;
    padding-bottom: 86px;
  }
}
.summary_container01 {
  width: 90%;
  max-width: 970px;
  margin: 0 auto 137px;
}
@media screen and (max-width: 768px) {
  .summary_container01 {
    width: 92%;
    margin: 0 auto 70px;
  }
}
.summary_container02 {
  width: 90%;
  max-width: 970px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .summary_container02 {
    width: 92%;
  }
}
.summary_text_img {
  width: 22.8%;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .summary_text_img {
    width: 49.8%;
  }
}
.summary_img01 {
  width: 82.4%;
  position: absolute;
  top: 29%;
  right: -83%;
}
@media screen and (max-width: 768px) {
  .summary_img01 {
    width: 55.4%;
    position: absolute;
    top: 68%;
    right: -21%;
  }
}
.summary_img02 {
  width: 50%;
  position: absolute;
  top: 8%;
  left: -67%;
}
@media screen and (max-width: 768px) {
  .summary_img02 {
    width: 33%;
    position: absolute;
    top: -1%;
    left: -36%;
  }
}
.summary_txt01 {
  margin-top: 65px;
}
@media screen and (max-width: 768px) {
  .summary_txt01 {
    margin-top: 92px;
  }
}
.summary_txt01 .c-txt {
  text-align: center;
  font-size: 15px;
  line-height: 2.53;
  margin-bottom: 1.4em;
  display: block;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .summary_txt01 .c-txt {
    text-align: left;
    font-size: 16px;
    line-height: 2;
    margin-bottom: 0.8em;
  }
}
@media screen and (max-width: 768px) {
  .summary_txt01 .c-txt br {
    display: none;
  }
}
.summary_txt01 .caution {
  font-size: 13px;
  line-height: 1.61;
  font-weight: 400;
  text-align: center;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .summary_txt01 .caution {
    text-align: left;
    margin-top: 21px;
  }
}
@media screen and (max-width: 768px) {
  .summary_txt01 .caution br {
    display: none;
  }
}
.summary_flex {
  display: flex;
  justify-content: space-between;
  width: 89.6%;
  margin: 0 auto 82px;
}
@media screen and (max-width: 768px) {
  .summary_flex {
    width: 100%;
    flex-direction: column;
    margin: 0 auto 67px;
  }
}
.summary_flex .boxL {
  width: 39.3%;
}
@media screen and (max-width: 768px) {
  .summary_flex .boxL {
    width: 75%;
    position: relative;
    left: 3%;
    margin: 0 auto;
  }
}
.summary_flex .boxR {
  width: 57.4%;
  margin-top: 65px;
  padding-left: 5px;
}
@media screen and (max-width: 768px) {
  .summary_flex .boxR {
    width: 100%;
    padding: 0;
    margin-top: 26px;
  }
}
.summary_flex02 {
  display: flex;
  justify-content: space-between;
  width: 89.6%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .summary_flex02 {
    width: 100%;
    flex-direction: column-reverse;
  }
}
.summary_flex02 .boxR {
  width: 39.3%;
}
@media screen and (max-width: 768px) {
  .summary_flex02 .boxR {
    width: 62%;
    position: relative;
    left: -1.5%;
    margin: 0 auto;
  }
}
.summary_flex02 .boxL {
  width: 57.4%;
}
@media screen and (max-width: 768px) {
  .summary_flex02 .boxL {
    width: 100%;
    padding: 0;
    margin-top: 37px;
  }
}
.summary_ttl {
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .summary_ttl {
    width: 77%;
    margin-bottom: 28px;
  }
}
.summary_txt {
  font-size: 16px;
  line-height: 2;
  letter-spacing: -0.02em;
}
.summary_txt .caution {
  font-size: 13px;
  line-height: 2;
  letter-spacing: -0.02em;
  display: block;
  margin-top: 0.8em;
}

.bg01 {
  background: #fcf8f4;
  position: relative;
}

.bg02 {
  background: #D9F0F4;
}

.aboutus {
  position: relative;
  padding-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .aboutus {
    padding-bottom: 32px;
  }
}
.aboutus::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  content: "";
  display: block;
  width: 100%;
  height: 66px;
  background: url("../images/bg_before.png");
  background-size: 2000px 66px;
  background-repeat: repeat-x;
  background-position: 38%;
}
@media screen and (max-width: 768px) {
  .aboutus::before {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 768px) {
  .aboutus::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    content: "";
    display: block;
    width: 100%;
    height: 66px;
    background: url("../images/bg_before_sp.png");
    background-size: 2000px 66px;
    background-repeat: repeat-x;
    background-position: 38%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .aboutus::before {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}

.about_ttl {
  position: relative;
  z-index: 2;
  width: 28.5%;
  max-width: 365px;
  margin: 0 auto 62px;
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .about_ttl {
    width: 59.7%;
    padding-top: 12px;
    margin: 0 auto 42px;
  }
}
.about_map_ttl {
  width: 37.1%;
  max-width: 475px;
  margin: 0 auto -26px;
}
@media screen and (max-width: 768px) {
  .about_map_ttl {
    width: 73%;
    margin: 0 auto 68px;
  }
}
.about_map {
  width: 79.6%;
  max-width: 1020px;
  margin: 0 auto 37px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .about_map {
    width: 117%;
    margin-left: -7%;
    margin-bottom: 88px;
    z-index: 1;
  }
}
.about_img01 {
  position: absolute;
  top: 7%;
  left: 7.5%;
  width: 35%;
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.8s ease 0.3s, transform 0.8s ease 0.3s;
}
.about_img01.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.about_img02 {
  position: absolute;
  top: 37.5%;
  right: 5.9%;
  width: 44.3%;
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.8s ease 0.6s, transform 0.8s ease 0.6s;
}
.about_img02.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.about_txt {
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  color: #4c4c4c;
  width: 57.8%;
  max-width: 740px;
  margin: 0 auto;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .about_txt {
    width: 92%;
  }
}
.about_nav01 {
  position: absolute;
  top: 49.5%;
  left: 10.4%;
  width: 21.4%;
  filter: drop-shadow(5px 5px 3.5px rgba(0, 0, 0, 0.2));
}
.about_nav01::before {
  content: "";
  position: absolute;
  width: 16%;
  height: 2.4px;
  background: #866758;
  top: 102%;
  left: 95%;
  transform: rotate(51deg);
}
@media screen and (max-width: 768px) {
  .about_nav01 {
    top: -9.5%;
    left: 10.4%;
    width: 40.7%;
  }
  .about_nav01::before {
    content: "";
    position: absolute;
    width: 62%;
    height: 1.5px;
    background: #866758;
    top: 227%;
    left: 41%;
    transform: rotate(73deg);
  }
}
.about_nav02 {
  position: absolute;
  top: 79.8%;
  left: 26%;
  width: 17%;
  filter: drop-shadow(5px 5px 3.5px rgba(0, 0, 0, 0.2));
}
.about_nav02::before {
  content: "";
  position: absolute;
  width: 30%;
  height: 2.4px;
  background: #866758;
  top: -48%;
  left: 5%;
  transform: rotate(59deg);
}
@media screen and (max-width: 768px) {
  .about_nav02 {
    top: 89.8%;
    left: 10%;
    width: 30.5%;
  }
  .about_nav02::before {
    content: "";
    position: absolute;
    width: 32%;
    height: 1.5px;
    background: #866758;
    top: -61%;
    left: 47%;
    transform: rotate(73deg);
  }
}
.about_nav03 {
  position: absolute;
  top: 21.5%;
  left: 60.1%;
  width: 17%;
  filter: drop-shadow(5px 5px 3.5px rgba(0, 0, 0, 0.2));
}
.about_nav03::before {
  content: "";
  position: absolute;
  width: 34%;
  height: 2.4px;
  background: #866758;
  top: 158%;
  left: 12%;
  transform: rotate(-63deg);
}
@media screen and (max-width: 768px) {
  .about_nav03 {
    top: 3.8%;
    left: 54%;
    width: 30.5%;
  }
  .about_nav03::before {
    content: "";
    position: absolute;
    width: 38%;
    height: 1.5px;
    background: #866758;
    top: 160%;
    left: 5%;
    transform: rotate(73deg);
  }
}
.about_nav04 {
  position: absolute;
  top: 54.5%;
  left: 61.3%;
  width: 22.8%;
  filter: drop-shadow(5px 5px 3.5px rgba(0, 0, 0, 0.2));
}
.about_nav04::before {
  content: "";
  position: absolute;
  width: 17%;
  height: 2.4px;
  background: #866758;
  top: -37%;
  left: 8%;
  transform: rotate(57deg);
}
@media screen and (max-width: 768px) {
  .about_nav04 {
    top: 97.5%;
    left: 43%;
    width: 44%;
  }
  .about_nav04::before {
    content: "";
    position: absolute;
    width: 56%;
    height: 1.5px;
    background: #866758;
    top: -132%;
    left: -17%;
    transform: rotate(73deg);
  }
}
.about_nav01, .about_nav02, .about_nav03, .about_nav04 {
  cursor: pointer;
  transform: translateZ(0);
}
@media screen and (max-width: 768px) {
  .about_nav01:hover, .about_nav02:hover, .about_nav03:hover, .about_nav04:hover {
    opacity: 1;
  }
}
.about_modal {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  pointer-events: none;
}
.about_modal#modal01 {
  top: 10%;
  left: 8%;
  width: 41.5%;
}
@media screen and (max-width: 768px) {
  .about_modal#modal01 {
    top: 0;
    left: 54%;
    transform: translate(-56%, 0);
    width: 100vw;
  }
}
.about_modal#modal01 .modal_ttl01 {
  width: 82.2%;
  margin-right: auto;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .about_modal#modal01 .modal_ttl01 {
    width: 95.6%;
  }
}
.about_modal#modal02 {
  top: 45%;
  left: 8%;
  width: 41.5%;
}
@media screen and (max-width: 768px) {
  .about_modal#modal02 {
    top: 0;
    left: 54%;
    transform: translate(-56%, 0);
    width: 100vw;
  }
}
.about_modal#modal02 .modal_ttl01 {
  width: 67.2%;
  margin-right: auto;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .about_modal#modal02 .modal_ttl01 {
    width: 78.2%;
  }
}
.about_modal#modal03 {
  top: 10%;
  left: 50%;
  width: 41.5%;
}
@media screen and (max-width: 768px) {
  .about_modal#modal03 {
    top: 0;
    left: 54%;
    transform: translate(-56%, 0);
    width: 100vw;
  }
}
.about_modal#modal03 .modal_ttl01 {
  width: 70.3%;
  margin-right: auto;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .about_modal#modal03 .modal_ttl01 {
    width: 81.7%;
  }
}
.about_modal#modal04 {
  top: 45%;
  left: 50%;
  width: 41.5%;
}
@media screen and (max-width: 768px) {
  .about_modal#modal04 {
    top: 0;
    left: 54%;
    transform: translate(-56%, 0);
    width: 100vw;
  }
}
.about_modal#modal04 .modal_ttl01 {
  width: 73.1%;
  margin-right: auto;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .about_modal#modal04 .modal_ttl01 {
    width: 85.1%;
  }
}
.about_modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.about_modal_content {
  position: relative;
  background: #fff;
  border-radius: 10px;
  padding: 35px 35px 35px 35px;
  overflow-y: auto;
  border: 5px solid #36bcb3;
  filter: drop-shadow(7px 7px 5px rgba(0, 0, 0, 0.2));
}
@media screen and (max-width: 768px) {
  .about_modal_content {
    padding: 30px 7.9%;
    width: 92%;
    max-width: 92%;
    max-height: 85%;
  }
}
.about_modal_close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 19.5px;
  height: 19.5px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}
.about_modal_close::before, .about_modal_close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background: #000000;
}
.about_modal_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.about_modal_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.about_modal_close:hover {
  opacity: 0.7;
}
.about_modal_body {
  min-width: 200px;
  min-height: 100px;
}

.aqua {
  padding: 175px 0 140px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .aqua {
    padding: 140px 0 66px;
  }
}
.aqua .fish01 {
  position: absolute;
  top: 1%;
  left: 51%;
  width: 143px;
  -webkit-animation: swim1 12s ease-in-out infinite;
          animation: swim1 12s ease-in-out infinite;
  transform-style: preserve-3d;
}
.aqua .fish01 img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .aqua .fish01 {
    width: 100px;
  }
}
.aqua .fish02 {
  position: absolute;
  top: -0.5%;
  left: 69.5%;
  width: 44px;
  -webkit-animation: swim2 10s ease-in-out infinite;
          animation: swim2 10s ease-in-out infinite;
  transform-style: preserve-3d;
}
.aqua .fish02 img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .aqua .fish02 {
    width: 30px;
  }
}
.aqua .fish03 {
  position: absolute;
  top: 3%;
  left: 89.5%;
  width: 176px;
  -webkit-animation: swim3 14s ease-in-out infinite;
          animation: swim3 14s ease-in-out infinite;
  transform-style: preserve-3d;
}
.aqua .fish03 img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .aqua .fish03 {
    width: 120px;
  }
}
.aqua .fish04 {
  position: absolute;
  top: 17.5%;
  left: -2.5%;
  width: 86px;
  -webkit-animation: swim4 11s ease-in-out infinite;
          animation: swim4 11s ease-in-out infinite;
  transform-style: preserve-3d;
}
.aqua .fish04 img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .aqua .fish04 {
    width: 60px;
  }
}
.aqua .fish05 {
  position: absolute;
  top: 32.5%;
  left: 6%;
  width: 64px;
  -webkit-animation: swim5 13s ease-in-out infinite;
          animation: swim5 13s ease-in-out infinite;
  transform-style: preserve-3d;
}
.aqua .fish05 img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .aqua .fish05 {
    width: 45px;
  }
}
.aqua::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  content: "";
  display: block;
  width: 100%;
  height: 66px;
  background: url("../images/bg_after.png");
  background-size: 2000px 66px;
  background-repeat: repeat-x;
  background-position: 38%;
}
@media screen and (max-width: 768px) {
  .aqua::after {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 768px) {
  .aqua::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    content: "";
    display: block;
    width: 100%;
    height: 66px;
    background: url("../images/bg_after_sp.png");
    background-size: 2000px 66px;
    background-repeat: repeat-x;
    background-position: 38%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .aqua::after {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}
.aqua_ttl {
  position: relative;
  z-index: 2;
  width: 37%;
  max-width: 474px;
  margin: 0 auto -15px;
}
@media screen and (max-width: 768px) {
  .aqua_ttl {
    width: 77%;
  }
}
.aqua_container {
  background: #fff;
  width: 75.7%;
  max-width: 970px;
  margin: 0 auto;
  border-radius: 50px;
}
@media screen and (max-width: 768px) {
  .aqua_container {
    width: 92%;
    border-radius: 25px;
  }
}
.aqua_inner {
  width: 76.8%;
  margin: 0 auto;
  padding: 60px 0;
}
@media screen and (max-width: 768px) {
  .aqua_inner {
    width: 94%;
    margin: 0 auto;
    padding: 50px 0 60px;
  }
}
.aqua_child_ttl {
  width: 38.3%;
  margin: 0 auto 50px;
}
@media screen and (max-width: 768px) {
  .aqua_child_ttl {
    width: 72.3%;
    margin: 0 auto 37px;
  }
}
.aqua_img {
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .aqua_img {
    width: 96%;
    margin: 0 auto 36px;
  }
}
.aqua_txt {
  font-size: 15px;
  line-height: 2;
  width: 91.8%;
  margin: 0 auto;
  letter-spacing: -0.007em;
}

.kengaku {
  padding: 62px 0 90px;
}
@media screen and (max-width: 768px) {
  .kengaku {
    padding: 40px 0 60px;
  }
}
.kengaku_container {
  background: #36bcb3;
  border-radius: 50px;
  width: 62%;
  max-width: 794px;
  margin: 0 auto;
  padding: 55px 0 45px;
}
@media screen and (max-width: 768px) {
  .kengaku_container {
    width: 92%;
    border-radius: 25px;
    padding: 52px 0 45px;
  }
}
.kengaku_inner {
  width: 74.4%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .kengaku_inner {
    width: 86.9%;
  }
}
.kengaku_ttl {
  width: 74.9%;
  margin: 0 auto 30px;
}
@media screen and (max-width: 768px) {
  .kengaku_ttl {
    width: 75%;
  }
}
.kengaku_txt {
  font-size: 16px;
  line-height: 2;
  color: #fff;
  font-weight: 500;
  margin-bottom: 35px;
  letter-spacing: -0.007em;
}
@media screen and (max-width: 768px) {
  .kengaku_txt {
    margin-bottom: 31px;
  }
}

.contact_btn {
  display: block;
  width: 91.5%;
  margin: 0 auto;
  filter: drop-shadow(7px 7px 5px rgba(0, 0, 0, 0.2));
}
@media screen and (max-width: 768px) {
  .contact_btn {
    width: 100%;
  }
}

.produce {
  padding: 75px 0 90px;
}
@media screen and (max-width: 768px) {
  .produce {
    padding: 70px 0 37px;
  }
}
.produce_ttl {
  width: 41.4%;
  max-width: 530px;
  margin: 0 auto 52px;
}
@media screen and (max-width: 768px) {
  .produce_ttl {
    width: 92.4%;
    margin: 0 auto 40px;
  }
}
.produce_child_ttl {
  width: 37.6%;
  max-width: 482px;
  margin: 0 auto 36px;
}
@media screen and (max-width: 768px) {
  .produce_child_ttl {
    width: 74.6%;
    margin: 0 auto 29px;
  }
}
.produce_txt {
  font-size: 16px;
  line-height: 2;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .produce_txt {
    font-size: 15px;
    line-height: 2.133;
  }
}
.produce_container {
  width: 100%;
  padding-bottom: 42.7%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .produce_container {
    padding-bottom: 252.4%;
  }
}
.produce_list {
  position: absolute;
}
.produce_item01 {
  position: absolute;
  top: -2%;
  left: -4%;
  width: 30.5%;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
  .produce_item01 {
    position: absolute;
    top: 5.5%;
    left: -5%;
    width: 58.5%;
    mix-blend-mode: multiply;
  }
}
.produce_item01 .produce_list {
  width: 100%;
  top: 25%;
  left: 101.5%;
}
@media screen and (max-width: 1140px) {
  .produce_item01 .produce_list {
    top: 20%;
    left: 98.5%;
  }
}
@media screen and (max-width: 1000px) {
  .produce_item01 .produce_list {
    top: 15%;
    left: 98.5%;
  }
}
@media screen and (max-width: 860px) {
  .produce_item01 .produce_list {
    top: 10%;
    left: 95.5%;
  }
}
@media screen and (max-width: 768px) {
  .produce_item01 .produce_list {
    width: 100%;
    top: 17%;
    left: 107.5%;
  }
}
.produce_item02 {
  position: absolute;
  top: 43%;
  left: 21.5%;
  width: 29.5%;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
  .produce_item02 {
    top: 48.8%;
    left: unset;
    right: -4.8%;
    width: 68%;
  }
  .produce_item02 img {
    transform: rotate(-7deg);
  }
}
.produce_item02 .produce_list {
  width: 100%;
  top: 72%;
  left: 49%;
}
@media screen and (max-width: 768px) {
  .produce_item02 .produce_list {
    width: 100%;
    top: 69%;
    left: 43%;
  }
}
.produce_item03 {
  position: absolute;
  top: 15.5%;
  left: 39.5%;
  width: 16.9%;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
  .produce_item03 {
    position: absolute;
    top: 27.8%;
    left: 40.5%;
    width: 42.9%;
    mix-blend-mode: multiply;
  }
}
.produce_item03 .produce_list {
  width: 100%;
  top: 30%;
  left: 101%;
}
@media screen and (max-width: 768px) {
  .produce_item03 .produce_list {
    width: 100%;
    top: 96%;
    left: 56%;
  }
}
.produce_item04 {
  position: absolute;
  top: 37.5%;
  left: 55.4%;
  width: 15.9%;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
  .produce_item04 {
    top: 36.5%;
    left: 7.4%;
    width: 50.9%;
  }
}
.produce_item04 .produce_list {
  width: 100%;
  top: 51%;
  left: -14%;
}
@media screen and (max-width: 768px) {
  .produce_item04 .produce_list {
    width: 100%;
    top: 57%;
    left: 0%;
  }
}
.produce_item05 {
  position: absolute;
  top: 14.5%;
  left: 72%;
  width: 30.7%;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
  .produce_item05 {
    top: 72.8%;
    left: 9%;
    width: 82.7%;
  }
}
.produce_item05 .produce_list {
  width: 100%;
  top: 99%;
  left: 7%;
}
@media screen and (max-width: 768px) {
  .produce_item05 .produce_list {
    width: 100%;
    top: 102%;
    left: -2%;
  }
}
.produce_item_ttl {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.94;
  color: #2d2d2d;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .produce_item_ttl {
    margin-bottom: 6px;
  }
}
@media screen and (max-width: 940px) {
  .produce_item_ttl {
    font-size: 16px;
  }
}
.produce_item_ttl::before {
  content: "●";
  color: #36bcb3;
  display: inline-block;
  padding-right: 4px;
}
.produce_item_txt {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.53;
  color: #2d2d2d;
}
@media screen and (max-width: 940px) {
  .produce_item_txt {
    font-size: 13px;
  }
}

.benefits {
  padding-top: 87px;
  margin-bottom: 110px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .benefits {
    padding-top: 97px;
    margin-bottom: 85px;
  }
}
.benefits_bg {
  background: url("../images/benefits_bg.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  padding-bottom: 48.4%;
  position: absolute;
  top: 4%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .benefits_bg {
    padding-bottom: 157%;
    background: url("../images/benefits_bg_sp.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
.benefits_bg::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  content: "";
  display: block;
  width: 100%;
  height: 66px;
  background: url("../images/bg_before.png");
  background-size: 2000px 66px;
  background-repeat: repeat-x;
  background-position: 38%;
}
@media screen and (max-width: 768px) {
  .benefits_bg::before {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 768px) {
  .benefits_bg::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    content: "";
    display: block;
    width: 100%;
    height: 66px;
    background: url("../images/bg_before_sp.png");
    background-size: 2000px 66px;
    background-repeat: repeat-x;
    background-position: 38%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .benefits_bg::before {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}
.benefits_bg::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  content: "";
  display: block;
  width: 100%;
  height: 66px;
  background: url("../images/bg_after.png");
  background-size: 2000px 66px;
  background-repeat: repeat-x;
  background-position: 38%;
}
@media screen and (max-width: 768px) {
  .benefits_bg::after {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 768px) {
  .benefits_bg::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    content: "";
    display: block;
    width: 100%;
    height: 66px;
    background: url("../images/bg_after_sp.png");
    background-size: 2000px 66px;
    background-repeat: repeat-x;
    background-position: 38%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .benefits_bg::after {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}
.benefits_ttl {
  width: 24.6%;
  max-width: 315px;
  margin: 0 auto;
  padding-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .benefits_ttl {
    width: 50.6%;
    max-width: 315px;
    margin: 0 auto;
    padding-bottom: 43px;
  }
}
.benefits_child_ttl {
  width: 28.28%;
  max-width: 362px;
  margin: 0 auto 65px;
}
@media screen and (max-width: 768px) {
  .benefits_child_ttl {
    width: 68.28%;
    margin: 0 auto 40px;
  }
}
.benefits_container {
  background: #fff;
  width: 75.7%;
  max-width: 970px;
  margin: 0 auto 40px;
  border-radius: 50px;
  filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.07));
}
@media screen and (max-width: 768px) {
  .benefits_container {
    width: 92%;
    border-radius: 25px;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .benefits_container {
    margin: 0 auto 25px;
  }
}
.benefits_inner {
  width: 90%;
  margin: 0 auto;
  padding: 40px 0 45px;
}
@media screen and (max-width: 768px) {
  .benefits_inner {
    padding: 28px 0 45px;
  }
}
.benefits_content_ttl {
  width: 67.1%;
  margin: 0 auto 35px;
}
@media screen and (max-width: 768px) {
  .benefits_content_ttl {
    width: 96.1%;
  }
}
.benefits_flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .benefits_flex {
    flex-direction: column;
  }
}
.benefits_flex .boxL {
  width: 46%;
  margin-top: 4.8%;
}
@media screen and (max-width: 768px) {
  .benefits_flex .boxL {
    width: 100%;
    margin-top: 0;
  }
}
.benefits_flex .boxR {
  width: 46%;
}
@media screen and (max-width: 768px) {
  .benefits_flex .boxR {
    width: 100%;
  }
}
.benefits_content01 {
  margin-bottom: 31px;
}
@media screen and (max-width: 768px) {
  .benefits_content01 {
    margin-left: 2%;
    width: 90%;
    margin-bottom: 40px;
  }
}
.benefits_content_txt {
  font-size: 14px;
  line-height: 1.71;
  color: #2d2d2d;
}
@media screen and (max-width: 768px) {
  .benefits_content_txt {
    width: 96%;
    margin: 0 auto;
  }
}
.benefits_content_img {
  width: 83%;
}
@media screen and (max-width: 768px) {
  .benefits_content_img {
    width: 95%;
    margin: 0 auto 34px;
  }
}
.benefits_out_flex {
  display: flex;
  justify-content: space-between;
  width: 75.7%;
  max-width: 970px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .benefits_out_flex {
    width: 92%;
    flex-direction: column;
  }
}
.benefits_out_flex .boxL {
  width: 47.7%;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .benefits_out_flex .boxL {
    width: 100%;
    margin-bottom: 23px;
  }
}
.benefits_out_flex .boxR {
  width: 47.7%;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .benefits_out_flex .boxR {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .benefits_out_flex .boxR .benefits_inner {
    padding: 31px 0 49px;
  }
}
.benefits_out_flex .boxR .benefits_content_ttl {
  width: 90%;
  margin: 0px auto 39px;
}
@media screen and (max-width: 768px) {
  .benefits_out_flex .boxR .benefits_content_ttl {
    width: 100%;
    margin: 0 auto 31px;
  }
}
@media screen and (max-width: 768px) {
  .benefits_out_flex .boxR .benefits_content01 {
    width: 60%;
    margin-left: 2%;
  }
}
.benefits_out_flex .boxR .benefits_content_img {
  width: 87%;
  margin: 0 auto 25px;
}
@media screen and (max-width: 768px) {
  .benefits_out_flex .boxR .benefits_content_img {
    width: 98%;
    margin: 35px auto 39px;
  }
}
.benefits_out_flex .boxR .benefits_content_txt {
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .benefits_out_flex .boxR .benefits_content_txt {
    width: 96%;
    letter-spacing: -0.07em;
  }
}
.benefits_out_flex .benefits_content_ttl {
  width: 90%;
  margin: 0px auto 29px;
}
@media screen and (max-width: 768px) {
  .benefits_out_flex .benefits_content_ttl {
    width: 97%;
    margin: 0 auto 21px;
  }
}
.benefits_out_flex .benefits_inner {
  padding: 42px 0 42px;
}
@media screen and (max-width: 768px) {
  .benefits_out_flex .benefits_inner {
    padding: 31px 0 18px;
  }
}
.benefits_out_flex .benefits_content01 {
  width: 90%;
  margin: 0 auto 35px;
}
@media screen and (max-width: 768px) {
  .benefits_out_flex .benefits_content01 {
    width: 96%;
    margin: 0 auto 24px;
  }
}
.benefits_out_flex .benefits_content_txt {
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .benefits_out_flex .benefits_content_txt {
    width: 96%;
    letter-spacing: -0.02em;
  }
}
.benefits_caution {
  width: 89%;
  margin: 25px auto 0;
}
@media screen and (max-width: 768px) {
  .benefits_caution {
    width: 96%;
    margin: 28px auto 0;
  }
}

.message {
  position: relative;
  padding-bottom: 180px;
}
@media screen and (max-width: 768px) {
  .message {
    padding-bottom: 90px;
  }
}
.message::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  content: "";
  display: block;
  width: 100%;
  height: 66px;
  background: url("../images/bg_before.png");
  background-size: 2000px 66px;
  background-repeat: repeat-x;
  background-position: 38%;
}
@media screen and (max-width: 768px) {
  .message::before {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 768px) {
  .message::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    content: "";
    display: block;
    width: 100%;
    height: 66px;
    background: url("../images/bg_before_sp.png");
    background-size: 2000px 66px;
    background-repeat: repeat-x;
    background-position: 38%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .message::before {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}
.message::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  content: "";
  display: block;
  width: 100%;
  height: 66px;
  background: url("../images/bg_after.png");
  background-size: 2000px 66px;
  background-repeat: repeat-x;
  background-position: 38%;
}
@media screen and (max-width: 768px) {
  .message::after {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 768px) {
  .message::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    content: "";
    display: block;
    width: 100%;
    height: 66px;
    background: url("../images/bg_after_sp.png");
    background-size: 2000px 66px;
    background-repeat: repeat-x;
    background-position: 38%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .message::after {
    background-size: cover;
    width: 100%;
    height: 25px;
    background-repeat: no-repeat;
  }
}
.message_ttl {
  position: relative;
  z-index: 2;
  width: 26.5%;
  max-width: 336px;
  margin: 0 auto 62px;
  padding-top: 44px;
}
@media screen and (max-width: 768px) {
  .message_ttl {
    width: 51.5%;
    padding-top: 11px;
    margin: 0 auto 11px;
  }
}
.message_flex {
  display: flex;
  justify-content: space-between;
  width: 41.4%;
  max-width: 530px;
  margin: 0 auto 42px;
}
@media screen and (max-width: 768px) {
  .message_flex {
    flex-direction: column;
    width: 100%;
    align-items: center;
    margin: 0 auto 38px;
  }
}
.message_flex .boxL {
  width: 35.8%;
}
@media screen and (max-width: 768px) {
  .message_flex .boxL {
    width: 100%;
  }
}
.message_flex .boxR {
  width: 58.1%;
}
@media screen and (max-width: 768px) {
  .message_flex .boxR {
    width: 100%;
  }
}
.message_child_ttl {
  margin-bottom: 21px;
  margin-top: 42px;
}
@media screen and (max-width: 768px) {
  .message_child_ttl {
    width: 72%;
    margin: 42px auto 20px;
  }
}
@media screen and (max-width: 768px) {
  .message .message_face {
    width: 51%;
    margin: 0 auto;
  }
}
.message_role {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.733;
  color: #4c4c4c;
}
@media screen and (max-width: 768px) {
  .message_role {
    text-align: center;
    margin-top: 10px;
  }
}
.message_txt {
  width: 57.3%;
  max-width: 734px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .message_txt {
    width: 92.3%;
    max-width: 734px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 2;
  }
}
.message_txt_wrapper {
  width: 57.3%;
  max-width: 734px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .message_txt_wrapper {
    width: 92.3%;
  }
}
.message_txt_wrapper .message_txt {
  width: 100%;
}
.message_txt_more {
  display: block;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 0.6s ease, opacity 0.4s ease;
}
.message_txt_more.is-open {
  opacity: 1;
}
.message_toggle {
  display: block;
  margin: 30px auto 0;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}
.message_toggle img {
  display: block;
  width: 100%;
}
.message_toggle:hover {
  opacity: 0.7;
}
.message_toggle_open {
  display: block;
}
.message_toggle_close {
  display: none;
}
.message_txt_wrapper.is-open .message_toggle_open {
  display: none;
}
.message_txt_wrapper.is-open .message_toggle_close {
  display: block;
}

.insta_feed {
  width: 60.3%;
  max-width: 773px;
  margin: 95px auto 0;
}
.insta_feed .insta_logo {
  width: 108px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .insta_feed .insta_logo {
    margin-left: 6.1%;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .insta_feed {
    width: 100%;
  }
}

footer {
  padding-bottom: 40px;
}

.footer_flex {
  display: flex;
  justify-content: space-between;
  width: 75.7%;
  max-width: 970px;
  margin: 0 auto 80px;
}
@media screen and (max-width: 768px) {
  .footer_flex {
    width: 87.7%;
    max-width: 970px;
    margin: 0 auto 54px;
    flex-direction: column;
  }
}
.footer_flex .boxL {
  width: 45.7%;
  margin-top: 58px;
  margin-left: 1.5%;
}
@media screen and (max-width: 768px) {
  .footer_flex .boxL {
    width: 100%;
    margin-top: 50px;
  }
}
.footer_flex .boxL .logo {
  width: 43%;
  display: block;
  margin-bottom: 42px;
}
@media screen and (max-width: 768px) {
  .footer_flex .boxL .logo {
    width: 47%;
    display: block;
    margin-bottom: 25px;
  }
}
.footer_flex .boxL .footer_txt {
  font-size: 16px;
  font-weight: 700;
  color: #4c4c4c;
}
.footer_flex .boxL .company_name {
  display: block;
  font-size: 27px;
  font-weight: 700;
  margin-top: 6px;
  margin-bottom: 7px;
  line-height: 1;
}
.footer_flex .boxL .desc {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #4c4c4c;
  margin-bottom: 15px;
}
.footer_flex .boxL .tel {
  display: block;
  font-size: 22px;
  font-weight: 700;
  color: #4c4c4c;
  line-height: 1;
}
.footer_flex .boxL .link {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #4c4c4c;
  text-decoration: none;
}
.footer_flex .boxR {
  width: 52.8%;
}
@media screen and (max-width: 768px) {
  .footer_flex .boxR {
    width: 100%;
  }
}
.footer_flex .boxR .footer_img {
  width: 114%;
}
.footer_btn {
  display: block;
  width: 42.1%;
  margin: 0 auto 80px;
}
@media screen and (max-width: 768px) {
  .footer_btn {
    width: 81.1%;
    margin: 0 auto 61px;
  }
}

.copyright {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.42;
  text-align: center;
  display: block;
  color: #4c4c4c;
}
@media screen and (max-width: 768px) {
  .copyright {
    font-size: 10px;
  }
}

.hamburger {
  display: none;
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 1000;
  width: 48px;
  height: 45.5px;
  padding: 0;
  background: #36bcb3;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}
@media screen and (max-width: 1080px) {
  .hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.hamburger_line {
  display: block;
  width: 33px;
  height: 3px;
  background: #fff;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.hamburger_line:nth-child(1) {
  transform: translateY(-6px);
}
.hamburger_line:nth-child(2) {
  transform: translateY(0);
}
.hamburger_line:nth-child(3) {
  transform: translateY(6px);
}
.hamburger.is-active .hamburger_line:nth-child(1) {
  transform: translateY(4px) rotate(45deg);
}
.hamburger.is-active .hamburger_line:nth-child(2) {
  opacity: 0;
}
.hamburger.is-active .hamburger_line:nth-child(3) {
  transform: translateY(-2px) rotate(-45deg);
}

@media screen and (max-width: 1080px) {
  #global_nav .inner {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 95px 8.15% 0;
    background: white;
    border-radius: 0;
    max-width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    z-index: 999;
    overflow-y: auto;
    pointer-events: none;
  }
  #global_nav.is-open .inner {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

.sp_header_logo {
  display: none;
}
@media screen and (max-width: 1080px) {
  .sp_header_logo {
    display: block;
    width: 44.2%;
    max-width: 166px;
    position: absolute;
    top: 15px;
    left: 20px;
  }
}

@media screen and (max-width: 1080px) {
  .global_list {
    flex-direction: column;
    padding: 0;
  }
}

@media screen and (max-width: 1080px) {
  .global_item {
    width: 100%;
    border-top: 1px solid #36bcb3;
    border-bottom: 1px solid #36bcb3;
    margin-top: -1px;
    position: relative;
  }
  .global_item a {
    padding: 20px;
    font-size: 18px;
    color: #4c4c4c;
  }
  .global_item a::after {
    content: "";
    display: block;
    width: 14px;
    height: 6.5px;
    background: url("../images/sp_after_arrow.svg") no-repeat center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
  }
  .global_item:first-child a {
    padding: 20px;
  }
  .global_item:nth-child(5) a::after {
    content: "";
  }
  .global_item:last-child {
    margin-left: 0;
    margin-top: 20px;
    border: none;
  }
  .global_item:last-child a {
    display: block;
    width: 100%;
    padding: 0;
    background: transparent;
    font-size: 0;
    color: transparent;
    max-width: 312px;
    margin: 0 auto;
  }
  .global_item:last-child a::before {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 17.6%;
    background: url("../images/sp_header_contact.svg") no-repeat center;
    background-size: contain;
  }
  .global_item:last-child a::after {
    content: none;
  }
}

body.menu-open {
  overflow: hidden;
}

#graph_modal_trigger {
  cursor: pointer;
  display: block;
}

.graph_modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.graph_modal.is-open {
  opacity: 1;
  visibility: visible;
}
.graph_modal_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.graph_modal_content {
  position: relative;
  width: 75.7%;
  max-width: 969px;
  max-height: 95%;
  overflow-y: scroll;
  z-index: 1;
  background: #ffffff;
  padding: 9.3% 0;
  border-radius: 50px;
  filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.07));
}
.graph_modal_content img {
  width: 81.9%;
  margin: 0 auto;
  height: auto;
  display: block;
}
.graph_modal_close {
  position: absolute;
  top: 48px;
  right: 62px;
  width: 30px;
  height: 30px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}
.graph_modal_close::before, .graph_modal_close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background: #000000;
}
.graph_modal_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.graph_modal_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.graph_modal_close:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .graph_modal_content {
    width: 90%;
  }
  .graph_modal_close {
    top: -35px;
    right: 0;
    width: 25px;
    height: 25px;
  }
}

body.graph-modal-open {
  overflow: hidden;
}

.js-fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.js-fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.js-fade-in--left {
  transform: translateX(-50px) translateY(0);
}
.js-fade-in--left.is-visible {
  transform: translateX(0) translateY(0);
}
.js-fade-in--right {
  transform: translateX(50px) translateY(0);
}
.js-fade-in--right.is-visible {
  transform: translateX(0) translateY(0);
}

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

@keyframes slideDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes logoSwim1 {
  0%, 100% {
    transform: translate(0, 0);
  }
  30% {
    transform: translate(15px, -8px);
  }
  50% {
    transform: translate(18px, -10px);
  }
  70% {
    transform: translate(-8px, 6px);
  }
  90% {
    transform: translate(-12px, 8px);
  }
}
@keyframes logoSwim1 {
  0%, 100% {
    transform: translate(0, 0);
  }
  30% {
    transform: translate(15px, -8px);
  }
  50% {
    transform: translate(18px, -10px);
  }
  70% {
    transform: translate(-8px, 6px);
  }
  90% {
    transform: translate(-12px, 8px);
  }
}
@-webkit-keyframes logoSwim2 {
  0%, 100% {
    transform: translate(0, 0);
  }
  25% {
    transform: translate(-12px, 8px);
  }
  45% {
    transform: translate(-15px, 10px);
  }
  65% {
    transform: translate(8px, -6px);
  }
  85% {
    transform: translate(10px, -8px);
  }
}
@keyframes logoSwim2 {
  0%, 100% {
    transform: translate(0, 0);
  }
  25% {
    transform: translate(-12px, 8px);
  }
  45% {
    transform: translate(-15px, 10px);
  }
  65% {
    transform: translate(8px, -6px);
  }
  85% {
    transform: translate(10px, -8px);
  }
}
@-webkit-keyframes swim1 {
  0%, 100% {
    transform: translate(0, 0) scaleX(1);
  }
  25% {
    transform: translate(25px, -15px) scaleX(1);
  }
  40% {
    transform: translate(30px, -18px) scaleX(-1);
  }
  60% {
    transform: translate(-10px, 10px) scaleX(-1);
  }
  85% {
    transform: translate(-20px, 15px) scaleX(1);
  }
}
@keyframes swim1 {
  0%, 100% {
    transform: translate(0, 0) scaleX(1);
  }
  25% {
    transform: translate(25px, -15px) scaleX(1);
  }
  40% {
    transform: translate(30px, -18px) scaleX(-1);
  }
  60% {
    transform: translate(-10px, 10px) scaleX(-1);
  }
  85% {
    transform: translate(-20px, 15px) scaleX(1);
  }
}
@-webkit-keyframes swim2 {
  0%, 100% {
    transform: translate(0, 0) scaleX(1);
  }
  30% {
    transform: translate(-20px, 15px) scaleX(-1);
  }
  60% {
    transform: translate(-25px, 18px) scaleX(-1);
  }
  85% {
    transform: translate(15px, -12px) scaleX(1);
  }
}
@keyframes swim2 {
  0%, 100% {
    transform: translate(0, 0) scaleX(1);
  }
  30% {
    transform: translate(-20px, 15px) scaleX(-1);
  }
  60% {
    transform: translate(-25px, 18px) scaleX(-1);
  }
  85% {
    transform: translate(15px, -12px) scaleX(1);
  }
}
@-webkit-keyframes swim3 {
  0%, 100% {
    transform: translate(0, 0) scaleX(1);
  }
  20% {
    transform: translate(-35px, 8px) scaleX(1);
  }
  35% {
    transform: translate(-40px, 12px) scaleX(-1);
  }
  55% {
    transform: translate(-25px, -15px) scaleX(-1);
  }
  70% {
    transform: translate(15px, -20px) scaleX(-1);
  }
  85% {
    transform: translate(30px, -10px) scaleX(1);
  }
}
@keyframes swim3 {
  0%, 100% {
    transform: translate(0, 0) scaleX(1);
  }
  20% {
    transform: translate(-35px, 8px) scaleX(1);
  }
  35% {
    transform: translate(-40px, 12px) scaleX(-1);
  }
  55% {
    transform: translate(-25px, -15px) scaleX(-1);
  }
  70% {
    transform: translate(15px, -20px) scaleX(-1);
  }
  85% {
    transform: translate(30px, -10px) scaleX(1);
  }
}
@-webkit-keyframes swim4 {
  0%, 100% {
    transform: scaleX(-1) translate(0, 0);
  }
  25% {
    transform: scaleX(-1) translate(20px, -15px);
  }
  50% {
    transform: scaleX(1) translate(30px, -22px);
  }
  75% {
    transform: scaleX(1) translate(-15px, 12px);
  }
}
@keyframes swim4 {
  0%, 100% {
    transform: scaleX(-1) translate(0, 0);
  }
  25% {
    transform: scaleX(-1) translate(20px, -15px);
  }
  50% {
    transform: scaleX(1) translate(30px, -22px);
  }
  75% {
    transform: scaleX(1) translate(-15px, 12px);
  }
}
@-webkit-keyframes swim5 {
  0%, 100% {
    transform: translate(0, 0) scaleX(1);
  }
  25% {
    transform: translate(18px, 12px) scaleX(1);
  }
  45% {
    transform: translate(22px, 15px) scaleX(-1);
  }
  70% {
    transform: translate(-12px, -15px) scaleX(-1);
  }
  90% {
    transform: translate(-18px, -20px) scaleX(1);
  }
}
@keyframes swim5 {
  0%, 100% {
    transform: translate(0, 0) scaleX(1);
  }
  25% {
    transform: translate(18px, 12px) scaleX(1);
  }
  45% {
    transform: translate(22px, 15px) scaleX(-1);
  }
  70% {
    transform: translate(-12px, -15px) scaleX(-1);
  }
  90% {
    transform: translate(-18px, -20px) scaleX(1);
  }
}
/*# sourceMappingURL=style.css.map */