@charset "UTF-8";
/* Scss Document */
h3.type_1 {
  width: 500px;
  background-color: rgba(255, 255, 255, 0.9);
  text-align: center;
  padding: 26px 0 46px;
  border-radius: 40px;
  margin: -68px auto auto; }
  @media (max-width: 1100px) {
    h3.type_1 {
      width: 430px; } }
  @media (max-width: 600px) {
    h3.type_1 {
      width: 250px;
      padding: 10px 0 13px;
      border-radius: 20px;
      margin: -38px auto auto; } }

header {
  /*background: white;*/
  width: 100%;
  height: 110px;
  position: fixed;
  z-index: 9999;
  transition: .3s;
  background: rgba(255, 255, 255, 0.8); }
  @media (max-width: 1400px) {
    header {
      height: 70px; } }
  header h1 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 40px;
    width: 300px;
    /*z-index: 9999;*/ }
    @media (max-width: 1400px) {
      header h1 {
        left: 5%;
        width: 150px; } }
  header nav.header {
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center; }
    @media (max-width: 1400px) {
      header nav.header {
        display: none; } }
    header nav.header ul {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      color: #003677; }
      header nav.header ul li:nth-last-of-type(n+2) {
        margin-right: 16px; }
        header nav.header ul li:nth-last-of-type(n+2) a {
          display: block; }
          header nav.header ul li:nth-last-of-type(n+2) a:hover {
            opacity: .5; }
      header nav.header ul li:last-of-type {
        margin-left: 40px; }
        header nav.header ul li:last-of-type a {
          display: block;
          background-color: #003677;
          height: 60px;
          box-sizing: border-box;
          padding: 11px 35px 0;
          border-radius: 30px; }
          header nav.header ul li:last-of-type a:hover {
            background-color: rgba(0, 54, 119, 0.7); }
  header .toggle {
    position: absolute;
    z-index: 9999;
    top: 21px;
    right: 5%;
    width: 29px;
    height: 29px;
    cursor: pointer;
    display: none; }
    @media (max-width: 1400px) {
      header .toggle {
        display: block; } }
    @media (max-width: 600px) {
      header .toggle {
        right: 5%; } }
    header .toggle::after {
      display: block;
      position: absolute;
      bottom: -4px;
      left: -4px;
      content: url("../img/toggle_menu.svg"); }
    header .toggle span {
      position: absolute;
      left: 0;
      height: 2px;
      /*線の太さ*/
      width: 100%;
      /*長さ*/
      background-color: #003677;
      border-radius: 1px;
      transition: all 0.25s ease-in-out; }
    header .toggle span:nth-of-type(1) {
      top: 0; }
    header .toggle span:nth-of-type(2) {
      top: 7px; }
    header .toggle span:nth-of-type(3) {
      top: 14px; }
    header .toggle.active::after {
      display: block;
      content: url("../img/toggle_close.svg"); }
    header .toggle.active span:nth-of-type(1) {
      transform: translateY(7px) rotate(-45deg); }
    header .toggle.active span:nth-of-type(2) {
      left: 50%;
      opacity: 0;
      animation: active-menu-bar02 .8s forwards; }
@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0; } }
@keyframes active-menu-bar02 {
  100% {
    height: 0; } }
    header .toggle.active span:nth-of-type(3) {
      transform: translateY(-7px) rotate(45deg); }
  header .sp_menu {
    background-color: #ddeff5;
    width: 100%;
    height: calc( var(--vh) * 100 );
    min-height: calc( var(--vh) * 100 );
    position: fixed;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    top: 0;
    right: 0;
    z-index: 990;
    visibility: hidden;
    opacity: 0;
    transition: all 0.25s ease-in-out;
    transform: translateX(100%);
    box-sizing: border-box;
    padding-top: 70px; }
    header .sp_menu.active {
      visibility: visible;
      opacity: 1;
      transform: none; }
    header .sp_menu nav.header_sp {
      padding-top: 50px;
      width: 90%;
      margin: auto; }
      header .sp_menu nav.header_sp ul {
        text-align: center; }
        header .sp_menu nav.header_sp ul li a {
          display: block;
          padding: 10px; }

section.sec00 {
  width: 100%;
  background: url("../img/sec00_bg.jpg") no-repeat center bottom;
  background-size: cover;
  position: relative;
  aspect-ratio: 1000 / 494; }
  @media (max-width: 1400px) {
    section.sec00 {
      background: url("../img/sec00_bg_sp.jpg") no-repeat center bottom;
      background-size: cover;
      aspect-ratio: 375 / 226; } }
  section.sec00 h2 {
    width: 90%;
    max-width: 505px;
    position: absolute;
    left: 50%;
    top: calc(50% + 20px);
    transform: translate(-50%, -50%); }
    @media (max-width: 1400px) {
      section.sec00 h2 {
        top: calc(50% - 5px); } }
    @media (max-width: 600px) {
      section.sec00 h2 {
        max-width: 305px; } }

section.sec01 {
  width: 100%;
  position: relative;
  padding: 0 0 70px; }
  @media (max-width: 600px) {
    section.sec01 {
      padding: 0 0 35px; } }
  section.sec01 ul {
    width: 90%;
    max-width: 1000px;
    margin: 30px auto auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: url("../img/dot_v.svg") repeat-y left top; }
    section.sec01 ul li {
      box-sizing: border-box;
      width: 33.3%;
      background: url("../img/dot_v.svg") repeat-y right top; }
    @media (max-width: 600px) {
      section.sec01 ul {
        width: 95%;
        background: none; }
        section.sec01 ul li {
          background: #ddeff5;
          width: calc(48% - 20px);
          margin: auto 5px 10px;
          padding: 25px 0;
          border-radius: 20px; } }
  section.sec01 .bg {
    display: none; }
    @media (max-width: 600px) {
      section.sec01 .bg {
        display: block;
        position: absolute;
        z-index: -1;
        width: 100%;
        bottom: 50px;
        left: -10px; } }

section.sec02 {
  background: #f4f3ef;
  padding: 42px 0 122px;
  position: relative; }
  section.sec02 h3 {
    position: relative;
    z-index: 2;
    margin-bottom: 96px; }
    @media (max-width: 600px) {
      section.sec02 h3 {
        margin-bottom: 35px; } }
  section.sec02 .bg {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    max-width: 1100px; }
    @media (max-width: 600px) {
      section.sec02 .bg {
        width: 110%; } }
  section.sec02 .list {
    width: 90%;
    max-width: 530px;
    margin: auto;
    position: relative;
    z-index: 3; }

section.sec03 {
  background-color: #ddeff5;
  position: relative;
  padding: 40px 0 60px; }
  section.sec03 .upper {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-98%); }
  @media (max-width: 600px) {
    section.sec03 {
      padding: 35px 0 15px; } }
  section.sec03 .inner {
    width: 90%;
    max-width: 1000px;
    margin: auto;
    background: white;
    border-radius: 40px;
    box-sizing: border-box;
    background-color: white;
    border-radius: 40px;
    box-sizing: border-box;
    padding: 32px 7% 60px;
    text-align: center; }
    section.sec03 .inner h3 {
      /*margin-bottom: 54px;*/ }
    section.sec03 .inner article {
      padding: 90px 0 0; }
      section.sec03 .inner article h4 {
        border-top: 3px solid #e1f1f6; }
        section.sec03 .inner article h4 img {
          transform: translateY(-50%); }
      section.sec03 .inner article p {
        text-align: center;
        margin-bottom: 30px;
        word-wrap: break-word; }
      section.sec03 .inner article ul {
        width: 100%;
        display: flex;
        justify-content: space-between; }
        section.sec03 .inner article ul li {
          width: 48%;
          border-radius: 35px;
          background-color: white;
          padding: 20px 0;
          filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.3)); }
          section.sec03 .inner article ul li img {
            width: 95%;
            max-width: 307px;
            height: auto; }
    @media (max-width: 600px) {
      section.sec03 .inner {
        padding: 32px 5% 15px; }
        section.sec03 .inner h4 img {
          height: 33px;
          width: auto; }
        section.sec03 .inner article {
          padding: 50px 0 0; }
          section.sec03 .inner article .pic_1 img {
            max-width: 332px;
            width: 100%;
            height: auto; }
          section.sec03 .inner article p {
            margin-bottom: 15px; }
          section.sec03 .inner article ul {
            flex-direction: column; }
            section.sec03 .inner article ul li {
              width: 100%;
              margin-bottom: 15px; } }

section.sec04 {
  padding: 0 0 50px; }
  section.sec04 .bg {
    position: relative;
    z-index: -1;
    width: 100%;
    aspect-ratio: 2800 / 1120; }
    @media (max-width: 600px) {
      section.sec04 .bg {
        aspect-ratio: 375 / 190; } }
  section.sec04 .wrap {
    text-align: center;
    width: 90%;
    max-width: 700px;
    margin: auto;
    position: relative; }
    section.sec04 .wrap p {
      color: #003677;
      text-align: center;
      margin-bottom: 2rem; }
    section.sec04 .wrap p:nth-of-type(2) {
      text-align: left;
      display: inline-block; }
    section.sec04 .wrap .wrap_bg {
      position: absolute;
      z-index: -1;
      width: 168%;
      top: -50px;
      left: -34%; }

section.sec05 {
  background: #f4f3ef;
  padding: 40px 0 100px; }
  section.sec05 h3 {
    margin-bottom: 48px; }
  @media (max-width: 600px) {
    section.sec05 {
      padding: 30px 0 30px; } }
  section.sec05 ul.faq {
    width: 95%;
    max-width: 1000px;
    margin: auto; }
    section.sec05 ul.faq li {
      background-color: white;
      border-right: 20px;
      margin-bottom: 15px;
      box-sizing: border-box;
      padding: 13px 25px;
      border-radius: 25px;
      color: #003677; }
      @media (max-width: 600px) {
        section.sec05 ul.faq li {
          padding: 0px 15px;
          border-radius: 15px; } }
      section.sec05 ul.faq li .faq-q {
        position: relative;
        cursor: pointer;
        background-image: url("../img/faq_q.png");
        background-repeat: no-repeat;
        background-position: left center;
        background-size: 60px 60px;
        padding: 2rem 4rem 2rem  88px;
        text-align: left;
        line-height: 1.7em;
        font-size: 1.3rem; }
        @media (max-width: 600px) {
          section.sec05 ul.faq li .faq-q {
            background-size: 28px 28px;
            padding: 1.5rem 2rem 1rem  35px; } }
        section.sec05 ul.faq li .faq-q::before {
          content: "";
          position: absolute;
          top: 50%;
          right: 0px;
          width: 15px;
          height: 2px;
          border-radius: 1px;
          /*縦線に*/
          transform: rotate(90deg);
          background: #6abad3;
          transition: all .3s ease-in-out; }
        section.sec05 ul.faq li .faq-q::after {
          content: "";
          position: absolute;
          top: 50%;
          right: 0px;
          /*横線*/
          width: 15px;
          height: 2px;
          border-radius: 1px;
          background: #6abad3;
          transition: all .2s ease-in-out; }
        section.sec05 ul.faq li .faq-q.open::before {
          transform: rotate(180deg); }
        section.sec05 ul.faq li .faq-q:hover {
          /* background-color: rgba($c-key,.02);*/ }
      section.sec05 ul.faq li .faq-a {
        display: none;
        background-image: url("../img/faq_a.png");
        background-repeat: no-repeat;
        background-position: left center;
        background-size: 60px 60px;
        padding: 1rem 0 1.5rem 88px; }
        @media (max-width: 600px) {
          section.sec05 ul.faq li .faq-a {
            background-size: 28px 28px;
            padding: 1rem 0 1.5rem  35px; } }

section.sec06 {
  padding: 57px 0 100px;
  background-color: #ddeff5; }
  section.sec06 h3 {
    margin-bottom: 33px; }
  @media (max-width: 600px) {
    section.sec06 {
      padding: 40px 0 30px; } }

section.sec07 {
  padding: 50px 0 100px; }
  @media (max-width: 600px) {
    section.sec07 {
      padding: 40px 0 30px; } }
  section.sec07 .wrap {
    display: flex;
    /*justify-content: space-between;*/
    justify-content: center; }
    section.sec07 .wrap .left {
      width: 50%; }
      section.sec07 .wrap .left .logo {
        width: 310px;
        margin-bottom: 54px;
        margin-left: auto;
        margin-right: auto; }
      section.sec07 .wrap .left .schedule {
        width: 100%;
        margin-bottom: 50px; }
      section.sec07 .wrap .left p {
        font-size: 21px;
        margin-bottom: 35px;
        color: #003677;
        text-align: center; }
      section.sec07 .wrap .left ul.sns {
        display: flex; }
        section.sec07 .wrap .left ul.sns li {
          margin-right: 35px; }
    section.sec07 .wrap .Facebook {
      width: 43%; }
      section.sec07 .wrap .Facebook h4 {
        margin-bottom: 10px; }
      section.sec07 .wrap .Facebook .inner {
        width: 100%;
        height: 516px;
        box-sizing: border-box;
        border: 3px solid #f4f3ef;
        border-radius: 30px; }
    @media (max-width: 600px) {
      section.sec07 .wrap {
        flex-direction: column; }
        section.sec07 .wrap .left {
          width: 100%;
          margin-bottom: 50px; }
          section.sec07 .wrap .left .logo {
            max-width: 210px;
            margin: auto auto 35px; }
          section.sec07 .wrap .left .schedule {
            width: 111%;
            margin-left: -5.5%;
            margin-bottom: 35px; }
          section.sec07 .wrap .left p {
            font-size: 18px;
            margin-bottom: 25px; }
          section.sec07 .wrap .left ul.sns {
            justify-content: center; }
            section.sec07 .wrap .left ul.sns li {
              margin-left: 15px;
              margin-right: 15px; }
        section.sec07 .wrap .Facebook {
          width: 100%; } }

footer {
  position: relative;
  background-color: #ddeff5;
  padding: 10px 0 30px; }
  footer .upper {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-98%); }
  footer p.copyright {
    text-align: center;
    font-size: 12px;
    letter-spacing: .05em;
    color: #003677; }
  @media (max-width: 600px) {
    footer {
      padding: 15px 0 30px; }
      footer p.copyright {
        font-size: 10px; } }

@media (max-width: 1400px) {
  main {
    padding-top: 70px; } }
