@charset "UTF-8";
body {
  margin: 0;
  position: relative;
  padding: 0;
  background: url("../image/haikei1.jpg") top left repeat;
  background-size: cover;
  overflow-x: hidden; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  body {
    margin: 0;
    position: relative;
    padding: 0;
    background: none; }

  main {
    background: url("../image/haikei2.png") center top repeat;
    background-size: cover; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  body {
    margin: 0;
    position: relative;
    padding: 0;
    background: none; }

  main {
    background: url("../image/haikei2.png") center top repeat;
    background-size: cover; } }
/*max-width:768px*/
/*max-width:480px*/
/****************************************/
header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 150px;
  z-index: 9999;
  transition: .3; }
  header.active {
    height: 100px;
    position: fixed;
    transform: translateY(-100%);
    animation: slideDown 0.5s ease-out forwards;
    background: url("../image/header_bg.jpg") center center no-repeat;
    background-size: cover; }
  header div {
    max-width: 1920px;
    width: calc(100% - 60px);
    margin: 0 auto;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    padding: 0 0 0 30px; }
  header h1 {
    color: #fff; }
    header h1 a {
      transition: .3s;
      display: block;
      width: fit-content;
      text-decoration: none;
      font: 1.6rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.08em;
      color: #fff;
      padding: 10px 0 10px 85px;
      background: url("../image/logo.svg") left top 10px no-repeat;
      background-size: auto; }
      header h1 a br {
        display: none; }
    header h1 span {
      display: block;
      height: 28px;
      padding: 0 20px;
      font: 1.9rem/28px "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.08em;
      width: 100%;
      height: 100%;
      border-left: 1px solid #9BC6C3;
      border-right: 1px solid #9BC6C3;
      margin: 20px 0 0 105px;
      position: relative;
      color: #9BC6C3;
      width: fit-content; }
      header h1 span:before {
        position: absolute;
        content: "";
        display: block;
        width: 74px;
        height: 28px;
        background: url("../image/cnx.svg") left center no-repeat;
        background-size: contain;
        left: -105px;
        top: 1px; }
  header .contact {
    height: 115px;
    width: 330px;
    box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.4);
    background-color: #08E8BA;
    position: absolute;
    right: 0;
    top: 15px;
    transition: .3s;
    border-radius: 20px 0 0 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: flex-start;
    padding: 0 0 0 110px; }
    header .contact:before {
      transition: .3s;
      display: block;
      position: absolute;
      content: "";
      width: 58px;
      height: 58px;
      left: 30px;
      top: 28px;
      background: url("../image/header.svg") center center no-repeat;
      background-size: contain; }
    header .contact a {
      transition: .3s;
      position: absolute;
      display: block;
      width: 100%;
      height: 100%;
      z-index: 10; }
    header .contact p {
      transition: .3s;
      text-decoration: none;
      color: #000;
      font: 1.9rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      letter-spacing: 0.05em;
      position: relative;
      padding: 0; }
    header .contact img {
      display: none; }

@keyframes slideDown {
  from {
    transform: translateY(-100%);
    opacity: 0; }
  to {
    transform: translateY(0);
    opacity: 1; } }
@media (hover: hover) {
  header h1 a:hover {
    opacity: 0.5; }
  header .contact:hover {
    cursor: pointer;
    background: #036159; }
    header .contact:hover p {
      color: #fff; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  header {
    height: 140px; }
    header.active {
      height: 95px;
      padding: 0 0 5px; }
    header h1 {
      transform: scale(0.9);
      transform-origin: left center; }
    header .contact {
      transform: scale(0.9);
      transform-origin: right center;
      top: 10px;
      width: 300px;
      margin: 0 auto;
      padding: 0 0 0 100px; }
      header .contact:before {
        left: 20px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  header {
    height: 110px; }
    header h1 {
      color: #fff;
      transform: scale(1); }
      header h1 a {
        font: 1.3rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400;
        letter-spacing: 0.08em;
        padding: 10px 0 10px 65px;
        background: url("../image/logo.svg") left top 9px no-repeat;
        background-size: 40px 55px; }
      header h1 span {
        height: 28px;
        font: 1.5rem/28px "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400;
        margin: 10px 0 0 95px;
        width: fit-content; }
        header h1 span:before {
          width: 63px;
          height: 24px;
          left: -95px;
          top: 1px; }
    header.active {
      height: 90px;
      padding: 2px 0 0px; }
    header div {
      padding: 0; }
    header .contact {
      transform: scale(1);
      transform-origin: right center;
      top: 10px;
      right: -170px;
      width: 245px;
      height: 85px;
      padding: 0 0 0 75px; }
      header .contact:before {
        height: 45px;
        height: 45px;
        top: 20px;
        left: 10px; }
      header .contact a {
        pointer-events: none;
        display: block;
        width: 165px;
        height: 85px;
        right: 0;
        left: auto; }
      header .contact p {
        padding: 0;
        font: 1.7rem/1.6em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 700; }
      header .contact.active {
        right: 0; }
        header .contact.active a {
          pointer-events: all;
          z-index: 100; } }
@media (max-width: 768px) and (hover: hover) {
  header h1 a:hover {
    opacity: 0.5; }
  header .contact:hover {
    background-color: #08E8BA;
    color: #000; }
    header .contact:hover p {
      color: #000; }
    header .contact:hover.active a:hover + p {
      color: #fff; } }
/*max-width:768px*/
@media (max-width: 480px) {
  header {
    overflow: hidden;
    height: 80px; }
    header div {
      width: calc(100% - 40px); }
    header h1 a {
      font: 1.3rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.08em;
      padding: 10px 68px 10px 42px;
      background: url("../image/logo.svg") left top 9px no-repeat;
      background-size: 31px 42px;
      position: relative; }
      header h1 a br {
        display: block; }
      header h1 a:before {
        position: absolute;
        content: "";
        display: block;
        width: 56px;
        height: 25px;
        background: url("../image/cnx.svg") left center no-repeat;
        background-size: contain;
        right: 0;
        top: 17px; }
    header h1 span {
      display: none; }
    header.active {
      height: 80px;
      padding: 2px 0 0px; }
    header .contact {
      box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.4);
      transform: scale(1);
      transform-origin: right center;
      top: 8px;
      right: -177px;
      width: 225px;
      height: 62px;
      padding: 0 0 0 50px; }
      header .contact:before {
        width: 30px;
        height: 30px;
        top: 15px;
        left: 10px; }
      header .contact a {
        pointer-events: none;
        display: block;
        width: 165px;
        height: 85px;
        right: 0;
        left: auto; }
      header .contact p {
        padding: 0;
        font: 1.4rem/1.6em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 700; }
      header .contact.active {
        right: 0; }
        header .contact.active a {
          pointer-events: all;
          z-index: 100; } }
/*max-width:480px*/
/****************************************/
.mv {
  max-width: 1920px;
  margin: 0 auto; }

.mv_box {
  width: calc(100% - 25px);
  border-radius: 0 0 60px 60px;
  max-width: 1896px;
  height: auto;
  background: url("../image/top.jpg") center top no-repeat;
  background-size: cover;
  aspect-ratio: 1896/1023; }
  .mv_box .mv_txt {
    width: calc(100% - 120px);
    background: url("../image/h1_pc.svg") left center no-repeat;
    background-size: auto 100%;
    margin: 0 0 0 auto;
    height: 100%;
    position: relative;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1.5s ease-out;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap; }
    .mv_box .mv_txt:before {
      transition: opacity 1.5s ease-out;
      visibility: hidden;
      opacity: 0;
      position: absolute;
      content: "";
      display: block;
      background: url("../image/h1_pc-1.svg") left center no-repeat;
      background-size: auto 100%;
      height: 100%;
      width: 100%;
      left: 0;
      top: 0; }
    .mv_box .mv_txt:after {
      transition: opacity 1.5s ease-out;
      visibility: hidden;
      opacity: 0;
      position: absolute;
      content: "";
      display: block;
      background: url("../image/h1_pc-2.svg") left center no-repeat;
      background-size: auto 100%;
      height: 100%;
      width: 100%;
      left: 0;
      top: 0; }

@media (max-width: 1600px) {
  .mv_box {
    width: calc(100% - 25px);
    border-radius: 0 0 60px 60px;
    max-width: 1896px;
    height: 840px;
    background: url("../image/top.jpg") center top no-repeat;
    background-size: cover;
    aspect-ratio: 1896/1023; }
    .mv_box .mv_txt {
      width: calc(100% - 120px);
      background: url("../image/h1_pc.svg") left center no-repeat;
      background-size: auto 100%;
      margin: 0 0 0 auto;
      height: 100%; } }
/*max-width:1600px*/
@media (max-width: 1280px) {
  .mv_box {
    height: 800px; }
    .mv_box .mv_txt {
      width: calc(100% - 90px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .mv_box {
    overflow: hidden;
    width: 100%;
    height: 765px;
    background: url("../image/top_tb01.jpg") right top no-repeat;
    background-size: cover;
    aspect-ratio: 1024/765;
    padding: 0 0 0 70px; }
    .mv_box .mv_txt {
      width: 100%;
      max-width: 880px;
      background: url("../image/h1_tb-1.svg") left 0 bottom 10% no-repeat;
      background-size: 100%; }
      .mv_box .mv_txt:before {
        background: url("../image/h1_tb-2.svg") left 0 bottom 10% no-repeat;
        background-size: 100%; }
      .mv_box .mv_txt:after {
        background: url("../image/h1_tb-3.svg") left 0 bottom 10% no-repeat;
        background-size: 90%; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .mv_box {
    overflow: hidden;
    height: 770px;
    background: url("../image/top_tb02.jpg") right center no-repeat;
    background-size: cover;
    aspect-ratio: 768/778;
    padding: 0 0 0 50px; }
    .mv_box .mv_txt {
      width: 350px;
      margin: 0 0 0;
      height: 770px;
      background: url("../image/h1_tb02-1.svg") left top 160px no-repeat;
      background-size: 100% auto; }
      .mv_box .mv_txt:before {
        background: url("../image/h1_tb02-2.svg") left 0 bottom 285px no-repeat;
        background-size: 100% auto; }
      .mv_box .mv_txt:after {
        background: url("../image/h1_tb02-3.svg") left 0 bottom 60px no-repeat;
        background-size: 100% auto; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .mv_box {
    overflow: hidden;
    height: 770px;
    width: 100%;
    max-width: 480px;
    background: url("../image/top_sp.jpg") right center no-repeat;
    background-size: cover;
    aspect-ratio: 765/1496;
    border-radius: 0 0 40px 40px;
    padding: 0; }
    .mv_box .mv_txt {
      width: 273px;
      height: 770px;
      margin: 0 0 0 30px;
      background: url("../image/h1_sp-01.svg") left top 100px no-repeat;
      background-size: 100% auto; }
      .mv_box .mv_txt:before {
        background: url("../image/h1_sp-02.svg") left 0 bottom 225px no-repeat;
        background-size: 100% auto; }
      .mv_box .mv_txt:after {
        background: url("../image/h1_sp-03.svg") left 0 bottom 40px no-repeat;
        background-size: 100% auto; } }
/*max-width:480px*/
.mv_txt.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); }

.mv_txt.show::before {
  opacity: 1;
  visibility: visible;
  transition-delay: 1.5s; }

.mv_txt.show::after {
  opacity: 1;
  visibility: visible;
  transition-delay: 3s; }

/****************************************/
.box01, .box02, .box03 {
  max-width: 1600px;
  width: calc(100% - 160px);
  margin: 0 auto; }
  .box01 h2, .box02 h2, .box03 h2 {
    width: 500px;
    font: 3.4rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.05em; }
    .box01 h2 span, .box02 h2 span, .box03 h2 span {
      display: block;
      background-color: #3FFBCF;
      width: fit-content;
      padding: 0 10px; }
  .box01 .item01,
  .box01 .item02,
  .box01 .item03, .box02 .item01,
  .box02 .item02,
  .box02 .item03, .box03 .item01,
  .box03 .item02,
  .box03 .item03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start; }
    .box01 .item01 > div,
    .box01 .item02 > div,
    .box01 .item03 > div, .box02 .item01 > div,
    .box02 .item02 > div,
    .box02 .item03 > div, .box03 .item01 > div,
    .box03 .item02 > div,
    .box03 .item03 > div {
      width: calc(100% - 550px);
      max-width: 880px; }

@media (max-width: 1280px) {
  .box01, .box02, .box03 {
    max-width: 1060px;
    width: calc(100% - 100px); }
    .box01 h2, .box02 h2, .box03 h2 {
      width: 100%;
      margin: 0 auto 80px; }
    .box01 .item01,
    .box01 .item02,
    .box01 .item03, .box02 .item01,
    .box02 .item02,
    .box02 .item03, .box03 .item01,
    .box03 .item02,
    .box03 .item03 {
      display: block; }
      .box01 .item01 > div,
      .box01 .item02 > div,
      .box01 .item03 > div, .box02 .item01 > div,
      .box02 .item02 > div,
      .box02 .item03 > div, .box03 .item01 > div,
      .box03 .item02 > div,
      .box03 .item03 > div {
        width: 100%;
        max-width: 880px;
        margin: 0 0 0 auto; } }
/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .box01, .box02, .box03 {
    max-width: 1060px;
    width: calc(100% - 80px); }
    .box01 h2, .box02 h2, .box03 h2 {
      font: 2.8rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      width: 100%;
      margin: 0 auto 50px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .box01, .box02, .box03 {
    max-width: 315px;
    width: calc(100% - 60px); }
    .box01 h2, .box02 h2, .box03 h2 {
      font: 2.1rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      width: 100%;
      margin: 0 auto 40px; } }
/*max-width:480px*/
/*********************************************/
.box01 {
  padding: 120px 0 0; }
  .box01 .item01 > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start; }
    .box01 .item01 > div div {
      width: calc((100% - 60px)/2);
      max-width: 410px; }
      .box01 .item01 > div div p:nth-of-type(1) {
        padding: 0 0 20px;
        margin: 0 0 20px;
        border-bottom: #88BCA9 1px solid; }
    .box01 .item01 > div p {
      text-align: justify;
      text-justify: inter-ideograph;
      font: 1.9rem/2.2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.03em; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .box01 {
    padding: 120px 0 0; }
    .box01 .item01 > div {
      display: block; }
      .box01 .item01 > div div {
        width: 100%;
        max-width: 100%; }
        .box01 .item01 > div div:nth-of-type(1) {
          padding: 0 0 20px;
          margin: 0 0 20px;
          border-bottom: #88BCA9 1px solid; }
      .box01 .item01 > div p {
        text-align: justify;
        text-justify: inter-ideograph;
        font: 1.9rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        letter-spacing: 0.03em; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .box01 {
    padding: 100px 0 0; }
    .box01 .item01 > div p {
      font: 1.7rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .box01 {
    padding: 80px 0 0; }
    .box01 .item01 > div p {
      font: 1.6rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; } }
/*max-width:480px*/
/*********************************************/
.scroll_txt {
  width: 100%;
  display: flex;
  list-style: none;
  overflow: hidden;
  color: #007C72;
  opacity: 10%;
  margin: -100px 0 0; }
  .scroll_txt span {
    font: 18.8rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    letter-spacing: 0.03em;
    color: #14818C;
    white-space: nowrap;
    margin: 0;
    animation: marquee-left 50s linear infinite; }

@keyframes marquee-left {
  100% {
    transform: translateX(-100%); } }
@media (max-width: 768px) {
  .scroll_txt {
    margin: -50px 0 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .scroll_txt span {
    font: 9rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300; } }
/*max-width:768px*/
/******************************************/
.box02 {
  padding: 60px 0 150px; }
  .box02 .item02 > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start; }
  .box02 .item02 p {
    width: calc((100% - 60px)/2);
    max-width: 410px;
    text-align: justify;
    text-justify: inter-ideograph;
    font: 1.9rem/2.2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.03em; }
    .box02 .item02 p.click {
      display: none; }
  .box02 .img {
    margin: 30px auto 0;
    max-width: 100%;
    display: block;
    width: 100%;
    padding: 30px;
    border-radius: 20px;
    background-color: rgba(255, 255, 255, 0.5); }
    .box02 .img a {
      pointer-events: none; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .box02 .item02 > div {
    display: block; }
  .box02 .item02 p {
    width: 100%;
    max-width: 100%; }
    .box02 .item02 p:nth-of-type(1) {
      padding: 0 0 30px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .box02 {
    padding: 40px 0 120px; }
    .box02 .item02 > div {
      display: block; }
    .box02 .item02 p {
      width: 100%;
      max-width: 100%;
      font: 1.7rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; }
      .box02 .item02 p.click {
        font: 1.5rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        margin: 10px 0 0;
        padding: 0;
        display: block;
        text-align: center; }
    .box02 .img a {
      pointer-events: all; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .box02 {
    padding: 40px 0 120px; }
    .box02 .item02 > div {
      display: block; }
      .box02 .item02 > div p.click {
        font: 1.4rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        text-align: left; } }
/*max-width:480px*/
/******************************************/
.box03 {
  padding: 0 0 150px; }
  .box03 .item03 {
    counter-reset: ttl; }
    .box03 .item03 > div {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      align-items: stretch; }
      .box03 .item03 > div div {
        width: calc((100% - 60px)/2);
        max-width: 410px;
        margin: 0 0 45px; }
        .box03 .item03 > div div:last-of-type {
          margin: 0; }
    .box03 .item03 h3 {
      font: 2.4rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      color: #036159;
      position: relative;
      height: 80px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: center;
      justify-content: center;
      align-items: flex-start;
      padding: 0 0 0 70px;
      margin: 0 0 10px; }
      .box03 .item03 h3:before {
        position: absolute;
        content: "";
        color: #39ACA3;
        font-style: italic;
        counter-increment: ttl;
        content: counter(ttl) ".";
        font: 8rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400;
        font-style: italic !important;
        left: 0;
        top: 0; }
    .box03 .item03 p {
      text-align: justify;
      text-justify: inter-ideograph;
      font: 2rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.03em; }
  .box03 img {
    width: 100%;
    margin: 0 0 10px; }

/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .box03 {
    padding: 0 0 120px; }
    .box03 .item03 {
      counter-reset: ttl; }
      .box03 .item03 > div {
        display: block; }
        .box03 .item03 > div div {
          width: 100%;
          max-width: 410px;
          margin: 0 auto 45px; }
          .box03 .item03 > div div:last-of-type {
            margin: 0 auto; }
      .box03 .item03 p {
        font: 1.7rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .box03 {
    padding: 0 0 80px; }
    .box03 .item03 {
      counter-reset: ttl; }
      .box03 .item03 > div {
        display: block; }
        .box03 .item03 > div div {
          width: 100%;
          max-width: 410px;
          margin: 0 auto 45px; }
          .box03 .item03 > div div:last-of-type {
            margin: 0 auto; }
      .box03 .item03 h3 {
        font: 1.8rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        letter-spacing: 0.05em;
        height: 55px;
        padding: 0 0 0 65px;
        margin: 0 0 10px; }
        .box03 .item03 h3:before {
          font: 6rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-weight: 400; }
      .box03 .item03 p {
        font: 1.6rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500; } }
/*max-width:480px*/
/******************************************/
.program {
  background: url("../image/haikei-program-1920.jpg") center center no-repeat;
  background-size: cover;
  border-radius: 60px;
  max-width: 1920px;
  width: calc(100% - 30px);
  margin: 0 auto;
  padding: 100px 0 70px; }
  .program h2 {
    max-width: 1600px;
    width: calc(100% - 100px);
    margin: 0 auto 50px;
    font: 12rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    color: rgba(0, 124, 114, 0.25); }
    .program h2 small {
      padding: 0 10px;
      font: 8rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400; }
    .program h2 span {
      letter-spacing: 0.1em;
      font: 2.4rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      display: block;
      color: #036159; }
    .program h2 br {
      display: none; }

.program_box {
  max-width: 1600px;
  width: calc(100% - 100px);
  margin: 0 auto;
  display: flex;
  flex-direction: column; }
  .program_box h3 {
    font: 1.9rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    color: #fff;
    width: 100%;
    margin-bottom: 10px;
    flex-shrink: 0;
    padding: 0 0 0 48px;
    position: absolute;
    top: 45px;
    left: 50px;
    z-index: 10; }
    .program_box h3:before {
      background: url("../image/arrow.svg") center center no-repeat;
      position: absolute;
      content: "";
      display: block;
      width: 28px;
      height: 28px;
      left: 8px;
      top: -3px; }
  .program_box .wrapper {
    display: flex;
    flex-direction: column;
    /* h3 の影響をなくす */
    width: 100%; }
  .program_box .device {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 0 0 15px; }
    .program_box .device dl {
      max-width: 420px;
      width: calc(100% - 30px);
      margin: 0 auto;
      color: #007C72;
      border-radius: 20px;
      background-color: rgba(255, 255, 255, 0.9);
      text-align: center;
      letter-spacing: 0.03em;
      padding: 25px; }
    .program_box .device dt {
      max-width: 320px;
      font: 2.2rem/1.6em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      border-bottom: #BAC8C4 1px solid;
      padding: 0 0 10px;
      margin: 0 auto 10px; }
      .program_box .device dt br {
        display: none; }
    .program_box .device dd {
      max-width: 320px;
      margin: 0 auto;
      font: 1.9rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; }
    .program_box .device img {
      max-width: 420px;
      width: calc(100% - 30px);
      margin: -20px auto 0;
      height: auto; }
  .program_box .item {
    position: relative;
    display: flex;
    flex: 1;
    padding: 85px 40px 70px;
    background-color: #39ACA3;
    border-radius: 20px; }
    .program_box .item div {
      flex: 1;
      /* すべての div を均等幅にする */
      text-align: center;
      padding: 0 8px; }
      .program_box .item div dl {
        position: relative;
        height: 100%;
        border-radius: 20px;
        background-color: rgba(255, 255, 255, 0.8);
        padding: 30px;
        width: calc(100% - 16px); }
      .program_box .item div dt {
        font: 1.9rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 700;
        letter-spacing: 0.03em;
        color: #007C72;
        border-bottom: 1px solid #BAC8C4;
        padding: 0 0 15px 20px;
        text-align: left;
        position: relative;
        margin: 0 0 15px; }
        .program_box .item div dt span {
          font: 1.7rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-weight: 500; }
        .program_box .item div dt:before {
          position: absolute;
          content: "";
          display: block;
          background-color: #06B9AB;
          width: 4px;
          height: 25px;
          left: 0;
          top: 5px; }
  .program_box.top {
    margin: 0 auto 20px; }
    .program_box.top .absolute {
      z-index: 10;
      position: absolute;
      bottom: -30px;
      right: 10px;
      color: #fff;
      font: 1.5rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.05em; }
    .program_box.top ul {
      width: 100%;
      text-align: left;
      counter-reset: hoge; }
      .program_box.top ul.list01 li:before {
        counter-increment: hoge;
        content: "1-" counter(hoge); }
      .program_box.top ul.list02 li:before {
        counter-increment: hoge;
        content: "2-" counter(hoge); }
      .program_box.top ul.list04 li:before {
        counter-increment: hoge;
        content: "4-" counter(hoge); }
      .program_box.top ul li {
        font: 1.7rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        letter-spacing: 0.03em;
        margin: 0 0 10px;
        display: block;
        width: fit-content;
        position: relative;
        padding: 0 0 0 45px; }
        .program_box.top ul li:last-of-type {
          margin: 0; }
        .program_box.top ul li:before {
          position: absolute;
          left: 0;
          top: 0;
          color: #209EA8; }
  .program_box.btm .absolute {
    z-index: 10;
    position: absolute;
    top: 40px;
    right: 58px;
    width: fit-content;
    background-color: #3FFBCF;
    padding: 8px;
    color: #000;
    font: 1.5rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    letter-spacing: 0.03em;
    font-weight: 400; }
  .program_box.btm .kakaku {
    padding: 30px 0 0 0;
    color: #007C72;
    font: 8.8rem/1em "Barlow", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400; }
    .program_box.btm .kakaku span {
      font: 3rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.05em; }
    .program_box.btm .kakaku small {
      padding: 5px 0 0;
      font: 2rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.05em; }
  .program_box.btm .wrapper {
    display: flex;
    flex-direction: row;
    /* item と device を横並び */
    justify-content: space-between;
    align-items: stretch;
    /* 高さを揃える */
    flex-grow: 1;
    /* レイアウトを安定させる */ }
  .program_box.btm .item {
    flex: 2;
    display: flex; }
    .program_box.btm .item div.item05 {
      padding: 0 0 0 8px; }
      .program_box.btm .item div.item05 ul {
        width: 100%;
        max-width: 320px;
        margin: 0 auto; }
      .program_box.btm .item div.item05 li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        align-items: center; }
      .program_box.btm .item div.item05 .member {
        width: 90px;
        text-align: center;
        border: 1px solid #459992;
        color: #007C72;
        font: 1.5rem/34px "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        height: 36px;
        border-radius: 50px; }
      .program_box.btm .item div.item05 .kakaku {
        padding: 3px 0;
        width: calc(100% - 90px);
        text-align: right;
        font: 5.5rem/1em "Barlow", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400; }
        .program_box.btm .item div.item05 .kakaku span {
          font: 2.4rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-weight: 400;
          letter-spacing: 0.05em; }
        .program_box.btm .item div.item05 .kakaku small {
          font: 1.8rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-weight: 400;
          letter-spacing: 0.05em; }
    .program_box.btm .item dd {
      position: relative; }

@media (max-width: 1280px) {
  .program h2 {
    max-width: 1060px;
    width: calc(100% - 70px); }

  .program_box {
    max-width: 1060px;
    width: calc(100% - 70px); }
    .program_box h3 {
      margin-bottom: 20px;
      position: relative;
      top: auto;
      left: auto;
      z-index: 10; }
    .program_box .device {
      position: relative;
      width: 100%;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: center;
      align-items: center;
      padding: 40px 0 0; }
      .program_box .device dl {
        max-width: 450px;
        width: 100%;
        margin: 0;
        padding: 25px 40px 25px 25px; }
      .program_box .device img {
        max-width: 420px;
        width: 100%;
        margin: 0 0 0 -40px;
        height: auto; }
    .program_box .item {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: stretch;
      padding: 40px 40px 50px; }
      .program_box .item div {
        flex: none;
        /* すべての div を均等幅にする */
        text-align: center;
        padding: 0;
        width: calc((100% - 20px)/2);
        margin: 0 0 20px;
        max-width: 640px; }
        .program_box .item div dl {
          width: 100%; }
    .program_box.btm .absolute {
      top: 35px;
      right: 40px; }
    .program_box.btm .kakaku {
      font: 8rem/1em "Barlow", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400; }
    .program_box.btm .wrapper {
      display: block; }
    .program_box.btm .item {
      flex: none;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: stretch; }
      .program_box.btm .item div {
        width: calc((100% - 20px)/2); }
        .program_box.btm .item div.item05 {
          padding: 0; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .program {
    width: 100%;
    padding: 80px 0 70px; }
    .program h2 {
      font: 11.3rem/0.8em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400; }
      .program h2 br {
        display: block; }
      .program h2 span {
        margin: 20px 0 0 0; }

  .program_box {
    width: calc(100% - 50px); }
    .program_box h3 {
      margin-bottom: 20px;
      position: relative;
      top: auto;
      left: auto;
      z-index: 10; }
    .program_box .device {
      margin: 0 auto;
      padding: 40px 0 0; }
      .program_box .device dl {
        max-width: 350px;
        padding: 25px 45px 25px 25px; }
      .program_box .device dt {
        padding: 0 0 10px;
        margin: 0 auto 10px; }
        .program_box .device dt br {
          display: block; }
      .program_box .device img {
        max-width: 400px; }
    .program_box .item {
      position: relative;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      padding: 40px 50px 50px; }
      .program_box .item div dl {
        padding: 30px 20px; }
    .program_box.btm .kakaku {
      font: 6.3rem/1em "Barlow", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400; }
      .program_box.btm .kakaku span {
        font: 2.8rem / 1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400; }
    .program_box.btm .item div.item05 ul {
      width: fit-content;
      margin: 0 auto; }
    .program_box.btm .item div.item05 li {
      width: fit-content;
      margin: 0 0 20px;
      display: block; }
      .program_box.btm .item div.item05 li:last-of-type {
        margin: 0; }
    .program_box.btm .item div.item05 .kakaku {
      width: fit-content;
      text-align: left; }
    .program_box.btm .item div.item04 dl {
      height: 100%; }
    .program_box.btm .item div.item04 dd {
      height: calc(100% - 60px);
      display: flex;
      flex-direction: column;
      -webkit-justify-content: center;
      justify-content: center;
      align-items: center; }
    .program_box.btm .item div.item04 .kakaku {
      padding: 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .program {
    background: url("../image/haikei-program-1920.jpg") center center repeat;
    background-size: 1024px 100%;
    padding: 60px 0 70px;
    border-radius: 40px; }
    .program h2 {
      width: calc(100% - 60px);
      font: 8rem/0.8em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      margin: 0 auto 20px; }
      .program h2 small {
        font: 6rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400; }
      .program h2 span {
        margin: 15px 0 0;
        font: 2rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 700; }

  .program_box {
    width: calc(100% - 50px); }
    .program_box h3 {
      padding: 0 0 0 38px; }
      .program_box h3:before {
        left: 0; }
    .program_box .device {
      flex-direction: column;
      flex-wrap: nowrap;
      justify-content: center;
      align-items: center;
      padding: 40px 0 0; }
      .program_box .device dl {
        max-width: 400px;
        width: 100%;
        margin: 0;
        padding: 25px 25px 35px 25px; }
      .program_box .device img {
        max-width: 380px;
        width: 100%;
        margin: -20px 0 0;
        height: auto; }
    .program_box .item {
      position: relative;
      display: block;
      padding: 40px 30px 50px; }
      .program_box .item div {
        flex: none;
        text-align: center;
        padding: 0;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 20px; }
        .program_box .item div dl {
          width: 100%;
          padding: 30px 20px; }
    .program_box.btm .absolute {
      position: relative;
      top: auto;
      right: auto;
      margin: 0 0 20px; }
    .program_box.btm .kakaku {
      font: 6.3rem/1em "Barlow", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400; }
    .program_box.btm .wrapper {
      display: block; }
    .program_box.btm .item {
      flex: none;
      display: block;
      padding-bottom: 30px; }
      .program_box.btm .item div {
        width: 100%;
        margin: 0 auto 20px;
        max-width: 400px; }
        .program_box.btm .item div.item05 {
          padding: 0; }
          .program_box.btm .item div.item05 ul {
            width: 100%; }
          .program_box.btm .item div.item05 li {
            width: 100%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            -webkit-box-pack: justify;
            -ms-flex-pack: justify;
            -webkit-justify-content: space-between;
            justify-content: space-between;
            align-items: center;
            margin: 0 0 20px; }
            .program_box.btm .item div.item05 li:last-of-type {
              margin: 0; }
          .program_box.btm .item div.item05 .kakaku {
            text-align: right; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .program {
    background: url("../image/haikei-program-1920.jpg") center center repeat;
    background-size: 1024px 100%;
    padding: 40px 0 70px;
    border-radius: 40px; }
    .program h2 {
      width: calc(100% - 60px);
      font: 6rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      margin: 0 auto 30px; }
      .program h2 small {
        font: 3.8rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400; }
      .program h2 span {
        font: 1.8rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 700; }

  .program_box {
    width: calc(100% - 30px);
    max-width: 345px; }
    .program_box h3 {
      padding: 0 0 0 30px;
      font-size: 1.7rem; }
      .program_box h3:before {
        background: url(../image/arrow.svg) center center no-repeat;
        background-size: contain;
        width: 24px;
        height: 24px;
        left: 0;
        top: -3px; }
    .program_box .device {
      padding: 30px 0 0; }
      .program_box .device dl {
        max-width: 315px; }
      .program_box .device dt {
        font: 1.8rem/1.6em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 700; }
      .program_box .device dd {
        font: 1.7rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500; }
      .program_box .device img {
        max-width: 270px;
        width: 100%; }
    .program_box .item {
      position: relative;
      display: block;
      padding: 20px 15px 30px; }
      .program_box .item div {
        flex: none;
        text-align: center;
        padding: 0;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 20px; }
        .program_box .item div dl {
          width: 100%;
          padding: 30px 20px; }
        .program_box .item div dt {
          font: 1.6rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-weight: 700;
          padding: 0 0 10px 15px;
          margin: 0 0 10px; }
          .program_box .item div dt span {
            font: 1.4rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
            font-weight: 500; }
          .program_box .item div dt:before {
            position: absolute;
            content: "";
            display: block;
            background-color: #06B9AB;
            width: 4px;
            height: 20px;
            left: 0;
            top: 3px; }
    .program_box.top .absolute {
      color: #fff;
      font: 1.4rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      right: 0; }
    .program_box.top ul li {
      font: 1.5rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      padding: 0 0 0 35px; }
    .program_box.btm .absolute {
      position: relative;
      top: auto;
      right: auto;
      margin: 0 0 20px; }
    .program_box.btm .kakaku {
      font: 6rem/1em "Barlow", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400; }
      .program_box.btm .kakaku span {
        font: 2.6rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400;
        letter-spacing: 0.05em; }
      .program_box.btm .kakaku small {
        font: 1.5rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400;
        letter-spacing: 0.05em; }
    .program_box.btm .item div {
      width: 100%;
      margin: 0 auto 20px;
      max-width: 400px; }
      .program_box.btm .item div.item04 dd {
        padding: 15px 0 0; }
      .program_box.btm .item div.item05 {
        padding: 0; }
        .program_box.btm .item div.item05 li {
          margin: 0 0 10px; }
          .program_box.btm .item div.item05 li:last-of-type {
            margin: 0; }
        .program_box.btm .item div.item05 .member {
          width: 75px;
          text-align: center;
          border: 1px solid #459992;
          color: #007C72;
          font: 1.3rem/34px "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-weight: 500;
          height: 36px;
          border-radius: 50px; }
        .program_box.btm .item div.item05 .kakaku {
          padding: 0;
          width: calc(100% - 75px);
          text-align: right;
          font: 4.5rem/1em "Barlow", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-weight: 400; }
          .program_box.btm .item div.item05 .kakaku span {
            font: 1.8rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
            font-weight: 400;
            letter-spacing: 0.05em; }
          .program_box.btm .item div.item05 .kakaku small {
            font: 1.4rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
            font-weight: 400;
            letter-spacing: 0.05em; } }
/*max-width:480px*/
/****************************************/
.video {
  max-width: 1600px;
  width: calc(100% - 160px);
  padding: 150px 0;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }
  .video .left {
    width: 500px; }
  .video h2 {
    font: 18rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    color: rgba(0, 124, 114, 0.3);
    font-weight: 400;
    margin: 0 0 40px; }
    .video h2 span {
      color: black;
      display: block;
      background-color: #3FFBCF;
      width: fit-content;
      padding: 10px;
      font: 2.4rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.05em; }
  .video p {
    font: 2rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #036159; }
  .video .video_box {
    max-width: 880px;
    width: calc(100% - 600px); }
  .video .video_item {
    width: 100%;
    margin: 0 0 20px; }
  .video video {
    width: 100%; }

@media (max-width: 1280px) {
  .video {
    max-width: 1060px;
    width: calc(100% - 100px);
    padding: 150px 0;
    margin: 0 auto;
    display: block; }
    .video .left {
      width: 100%;
      margin: 0 0 50px; }
    .video .video_box {
      max-width: 880px;
      width: 100%;
      margin: 0 0 0 auto; } }
/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .video {
    max-width: 1600px;
    width: calc(100% - 80px);
    padding: 120px 0; }
    .video h2 {
      font: 15rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400; }
    .video p {
      font: 1.8rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.02em; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .video {
    max-width: 315px;
    width: calc(100% - 60px);
    padding: 80px 0; }
    .video h2 {
      font: 10rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      margin-bottom: 20px; }
      .video h2 span {
        font: 1.8rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        letter-spacing: 0.05em; }
    .video p {
      font: 1.8rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.02em; }
    .video .left {
      margin-bottom: 40px; } }
/*max-width:480px*/
/****************************************/
.faq {
  padding: 0 0 200px;
  max-width: 1600px;
  width: calc(100% - 160px);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }
  .faq h2 {
    font: 18rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    color: rgba(0, 124, 114, 0.3);
    font-weight: 400; }
    .faq h2 span {
      color: black;
      display: block;
      background-color: #3FFBCF;
      width: fit-content;
      padding: 10px;
      font: 2.4rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.05em; }
  .faq .faq_item {
    max-width: 880px;
    width: calc(100% - 600px); }
  .faq dl {
    margin: 0 0 20px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    padding: 30px 40px; }
  .faq dt {
    color: #007C72;
    position: relative;
    font: 1.8rem/1.6em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 0 0 0 45px;
    margin: 0 0 25px; }
    .faq dt:before {
      position: absolute;
      content: "";
      display: block;
      width: 36px;
      height: 36px;
      background: url("../image/q.svg") center center no-repeat;
      background-size: contain;
      left: 0;
      top: -3px; }
  .faq dd {
    position: relative;
    color: #000;
    font: 1.8rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.03em;
    padding: 0 0 0 45px; }
    .faq dd:before {
      position: absolute;
      content: "";
      display: block;
      width: 36px;
      height: 36px;
      background: url("../image/a.svg") center center no-repeat;
      background-size: contain;
      left: 0;
      top: -1px; }

@media (max-width: 1280px) {
  .faq {
    padding: 0 0 200px;
    max-width: 1060px;
    width: calc(100% - 100px);
    margin: 0 auto;
    display: block; }
    .faq h2 {
      width: 100%;
      margin: 0 0 50px; }
    .faq .faq_item {
      max-width: 880px;
      width: 100%;
      margin: 0 0 0 auto; } }
/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .faq {
    padding: 0 0 150px;
    max-width: 1060px;
    width: calc(100% - 80px);
    margin: 0 auto;
    display: block; }
    .faq h2 {
      font: 15rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      width: 100%;
      margin: 0 0 50px; }
    .faq .faq_item {
      max-width: 880px;
      width: 100%;
      margin: 0 0 0 auto; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .faq {
    padding: 0 0 100px;
    max-width: 315px;
    width: calc(100% - 60px);
    margin: 0 auto;
    display: block; }
    .faq h2 {
      font: 10rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      width: 100%;
      margin: 0 0 50px; }
      .faq h2 span {
        padding: 10px;
        font: 1.8rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500; }
    .faq .faq_item {
      max-width: 880px;
      width: 100%;
      margin: 0 0 0 auto; }
    .faq dl {
      padding: 20px 25px; }
    .faq dt {
      font: 1.5rem/1.6em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      letter-spacing: 0.03em;
      padding: 0 0 0 43px;
      margin: 0 0 15px; }
      .faq dt:before {
        width: 32px;
        height: 32px; }
    .faq dd {
      font: 1.5rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.03em;
      padding: 0 0 0 43px; }
      .faq dd:before {
        width: 32px;
        height: 32px; } }
/*max-width:480px*/
/****************************************/
footer {
  background: url("../image/haikei3.jpg") center center no-repeat;
  background-size: cover;
  padding: 20px 0 0;
  height: 100%;
  position: relative;
  overflow: hidden; }

/****************************************/
.footer_box {
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 30px;
  max-width: 1880px;
  width: calc(100% - 40px);
  margin: 0 auto 0;
  padding: 60px 0 135px; }
  .footer_box ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1260px;
    width: calc(100% - 50px);
    margin: 0 auto 50px; }
  .footer_box li {
    width: calc((100% - 30px)/3);
    height: auto;
    aspect-ratio: 410/92;
    max-width: 410px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap; }
    .footer_box li:nth-child(1) {
      background: url("../image/footer01.svg") center center no-repeat;
      background-size: contain; }
    .footer_box li:nth-child(2) {
      background: url("../image/footer02.svg") center center no-repeat;
      background-size: contain; }
    .footer_box li:nth-child(3) {
      background: url("../image/footer03.svg") center center no-repeat;
      background-size: contain; }
  .footer_box p {
    aspect-ratio: 838/129;
    width: calc(100% - 50px);
    max-width: 838px;
    height: auto;
    display: block;
    margin: 0 auto;
    background: url("../image/footer_txt.svg") center center no-repeat;
    background-size: contain;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap; }

.footer_btn {
  display: block;
  background-color: #3FFBCF;
  background-size: cover;
  width: calc(100% - 300px);
  margin: -70px auto 120px;
  max-width: 900px;
  height: 140px;
  border-radius: 20px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: center;
  padding: 0 40px 10px 40px;
  text-decoration: none;
  font: 9rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 400;
  color: rgba(0, 124, 114, 0.25);
  box-shadow: 0px 9px 10px rgba(0, 0, 0, 0.4);
  transition: .3s; }
  .footer_btn span {
    transition: .3s;
    display: block;
    font: 1.9rem/1 "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    color: #023834;
    width: fit-content;
    margin: 10px 0 0 auto;
    padding: 0 70px 0 0;
    position: relative;
    letter-spacing: 0.05em; }
    .footer_btn span br {
      display: none; }
    .footer_btn span:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../image/header.svg") center center no-repeat;
      background-size: contain;
      width: 50px;
      height: 50px;
      right: 0;
      top: -17px; }

@media (max-width: 1280px) {
  .footer_box {
    max-width: 1240px;
    padding: 60px 50px 135px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center; }
    .footer_box ul {
      display: block;
      max-width: 410px;
      width: 38%;
      margin: 0; }
    .footer_box li {
      width: 100%;
      height: auto;
      margin: 0 0 15px; }
      .footer_box li:nth-child(3) {
        margin: 0; }
    .footer_box p {
      aspect-ratio: 512/233;
      width: 44%;
      margin: 0 0 0 8%;
      max-width: 512px;
      background: url("../image/footer_txt02.svg") center center no-repeat;
      background-size: contain; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .footer_box {
    max-width: 1240px;
    padding: 60px 25px 135px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center; }
    .footer_box ul {
      display: block;
      max-width: 410px;
      width: 38%;
      margin: 0; }
    .footer_box li {
      width: 100%;
      height: auto;
      margin: 0 0 15px; }
      .footer_box li:nth-child(3) {
        margin: 0; }
    .footer_box p {
      aspect-ratio: 512/233;
      width: 44%;
      margin: 0 0 0 8%;
      max-width: 512px;
      background: url("../image/footer_txt02.svg") center center no-repeat;
      background-size: contain; }

  .footer_btn {
    width: calc(100% - 150px);
    margin: -70px auto 80px;
    padding: 0 30px 10px;
    font: 8rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .footer_box {
    max-width: 1240px;
    padding: 60px 40px 110px; }
    .footer_box ul {
      display: block;
      max-width: 380px;
      width: calc(100% - 40px);
      margin: 0 auto 40px; }
    .footer_box li {
      width: 100%;
      height: auto;
      margin: 0 0 15px; }
    .footer_box p {
      aspect-ratio: 512/233;
      width: 100%;
      margin: 0 auto;
      max-width: 420px; }

  .footer_btn {
    width: calc(100% - 100px);
    margin: -70px auto 80px;
    max-width: 480px;
    padding: 30px 40px;
    font: 8rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    height: auto; }
    .footer_btn p {
      display: none; }
    .footer_btn span {
      display: block;
      font: 1.9rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      margin: 0 auto;
      padding: 0 70px 0 0; }
      .footer_btn span br {
        display: block; }
      .footer_btn span:before {
        right: 0;
        top: 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_box {
    max-width: 1240px;
    padding: 40px 15px 60px;
    width: calc(100% - 30px);
    border-radius: 20px; }
    .footer_box ul {
      display: block;
      max-width: 380px;
      width: 100%;
      margin: 0 auto 30px; }
    .footer_box li {
      width: 100%;
      height: auto;
      margin: 0 0 10px; }
    .footer_box p {
      aspect-ratio: 512/233;
      width: 100%;
      margin: 0 auto;
      max-width: 420px; }

  .footer_btn {
    width: 100%;
    margin: -30px auto 60px;
    max-width: 315px;
    padding: 30px 30px;
    font: 8rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    height: auto; }
    .footer_btn p {
      display: none; }
    .footer_btn span {
      display: block;
      font: 1.9rem/1.7em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      margin: 0 auto;
      padding: 0 70px 0 0; }
      .footer_btn span br {
        display: block; }
      .footer_btn span:before {
        right: 0;
        top: 4px; } }
/*max-width:480px*/
@media (hover: hover) {
  .footer_btn:hover {
    background-color: #036159;
    color: #10877E; }
    .footer_btn:hover span {
      color: #ffffff; } }
/****************************************/
.footer_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  max-width: 1600px;
  width: calc(100% - 160px);
  margin: 0 auto 50px;
  color: #fff; }

.footer_left .uni {
  padding: 60px 0 0 0;
  background: url("../image/mie_universe.svg") left top no-repeat;
  font: 1.9rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 400;
  letter-spacing: 0.08em;
  margin: 0 0 13px; }
  .footer_left .uni br {
    display: none; }
.footer_left .cnx {
  height: 40px;
  padding: 0 0 0 135px;
  background: url("../image/cnx.svg") left center no-repeat; }
  .footer_left .cnx span {
    padding: 0 30px;
    font: 2rem/40px "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    letter-spacing: 0.08em;
    width: 100%;
    height: 100%;
    position: relative; }
    .footer_left .cnx span:before {
      width: 100%;
      height: 38px;
      position: absolute;
      content: "";
      display: block;
      border-left: 1px solid #fff;
      border-right: 1px solid #fff; }
    .footer_left .cnx span br {
      display: none; }

.footer_right {
  text-align: right; }
  .footer_right dt {
    font: 1.8rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.08em;
    margin: 0 0 15px; }
    .footer_right dt br {
      display: none; }
  .footer_right dd {
    font: 1.7rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    letter-spacing: 0.08em; }
  .footer_right a {
    margin: 20px 0 0 auto;
    text-decoration: none;
    display: block;
    width: fit-content;
    padding: 0 20px 0 0;
    position: relative; }
    .footer_right a:before {
      position: absolute;
      content: "";
      right: 0;
      top: 11px;
      width: 0;
      height: 0;
      border-style: solid;
      border-top: 5px solid transparent;
      border-bottom: 5px solid transparent;
      border-left: 9px solid #ffffff;
      border-right: 0; }

@media (hover: hover) {
  .footer_right a:hover {
    color: #057D73; }
    .footer_right a:hover:before {
      border-left: 9px solid #057D73; } }
@media (max-width: 1280px) {
  .footer_menu {
    max-width: 1060px;
    width: calc(100% - 100px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .footer_menu {
    max-width: 1060px;
    width: calc(100% - 100px);
    display: block; }

  .footer_right {
    text-align: right;
    margin: 80px 0 0 auto; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .footer_menu {
    max-width: 480px;
    width: calc(100% - 80px);
    margin: 0 auto 50px;
    color: #fff; }

  .footer_left .uni {
    padding: 60px 0 0 0;
    background: url("../image/mie_universe.svg") left top no-repeat;
    font: 1.9rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    letter-spacing: 0.08em;
    margin: 0 0 20px; }
    .footer_left .uni br {
      display: block; }
  .footer_left .cnx {
    height: auto;
    padding: 0 0 0 135px;
    background: url("../image/cnx.svg") left top 10px no-repeat; }
    .footer_left .cnx span {
      padding: 0 25px 0 30px;
      font: 2rem/1.5em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.08em;
      display: block;
      width: fit-content;
      height: 100%; }
      .footer_left .cnx span:before {
        left: 0;
        top: 7px;
        height: 45px; }
      .footer_left .cnx span br {
        display: block; }

  .footer_right {
    margin: 70px 0 0 auto;
    text-align: right; }
    .footer_right dt {
      font: 1.8rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.08em;
      margin: 0 0 15px; }
      .footer_right dt br {
        display: block; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_menu {
    max-width: 315px;
    width: calc(100% - 60px);
    margin: 0 auto 20px;
    color: #fff; }

  .footer_left .uni {
    padding: 44px 0 0 0;
    background: url("../image/mie_universe.svg") left top no-repeat;
    background-size: 280px auto;
    font: 1.8rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    letter-spacing: 0.08em;
    margin: 0 0 20px; }
    .footer_left .uni br {
      display: block; }
  .footer_left .cnx {
    height: auto;
    padding: 0 0 0 120px;
    background: url("../image/cnx.svg") left top 10px no-repeat;
    background-size: 93px 35px; }
    .footer_left .cnx span {
      padding: 0 15px 0 20px;
      font: 1.8rem/1.5em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.08em; }

  .footer_right {
    margin: 70px 0 0 auto;
    text-align: right; }
    .footer_right dt {
      font: 1.7rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.08em;
      margin: 0 0 15px; }
      .footer_right dt br {
        display: block; }
    .footer_right dd {
      font: 1.5rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400; } }
/*max-width:480px*/
/****************************************/
.copy {
  display: block;
  padding: 40px 0;
  text-align: center;
  color: #fff;
  font: 1.5rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 300;
  letter-spacing: 0.08em; }

@media (max-width: 768px) {
  .copy {
    padding: 30px 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .copy {
    display: block;
    padding: 40px 0;
    text-align: center;
    color: #fff;
    font: 1.4rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    letter-spacing: 0.08em; } }
/*max-width:480px*/
/****************************************/
.scroll_btm {
  position: absolute;
  top: auto;
  bottom: -30px;
  left: 50%;
  -webkit-transform: translate(-50%, 0%);
  /* Safari用 */
  transform: translate(-50%, 0%);
  width: 100%;
  display: flex;
  list-style: none;
  overflow: hidden;
  color: #fff;
  opacity: 10%;
  margin: -70px 0 0; }
  .scroll_btm span {
    font: 18.8rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    letter-spacing: 0.03em;
    color: #ffffff;
    white-space: nowrap;
    margin: 0;
    animation: marquee-left 50s linear infinite; }

@keyframes marquee-left {
  100% {
    transform: translateX(-100%); } }
@media (max-width: 768px) {
  .scroll_btm span {
    font: 15rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    letter-spacing: -0.02em;
    animation: marquee-left 40s linear infinite; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .scroll_btm span {
    font: 13rem/1em "Abel", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    letter-spacing: -0.02em;
    animation: marquee-left 40s linear infinite; } }
/*max-width:768px*/
/****************************************/
.page_top {
  bottom: 30px;
  position: fixed;
  right: 20px;
  display: block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  z-index: 8888;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  /* opacity のみアニメーション */
  background-color: #007C72;
  text-align: center;
  font: 1.8rem/90px "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #fff; }
  .page_top:before {
    transition: .3s;
    position: absolute;
    content: "";
    left: 3px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 30%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg); }

.page_top.active {
  opacity: 1;
  pointer-events: all; }

@media (hover: hover) {
  .page_top:hover {
    cursor: pointer; }
    .page_top:hover:before {
      top: 25%; } }
@media (max-width: 768px) {
  .page_top {
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    font: 1.6rem/70px "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; } }
@media (max-width: 768px) and (hover: hover) {
  .page_top:hover {
    background-position: center top 8px; } }
/*max-width:768px*/
/*max-width:480px*/
/******************************************/
/*.box02, .box03, .program, .video, .faq {
  opacity: 0;
  transform-origin: center;
  transition: opacity 1.5s ease-out, transform 1.5s ease-out;
}

.visible {
  opacity: 1;
}
*/
