@charset "UTF-8";

/* ------------------------
base
------------------------ */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  /* font-size: 62.5%; */
}

body {
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  background: #10BF3C;
  color: #fff;
  font-size: 18px;
  line-height: 1.7;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 10;
  clip-path: polygon(0 0,0 100%,100% 100%,100% 0);
  background-color: transparent;
}
@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}
@media screen and (max-width: 932px) {
  body {
    font-size: 16px;
  }
}

.bg {
  z-index: -1;
  inset: 0;
  width: 100vw;
  height: 100%;
  position: fixed;
  background: #10BF3C;
  background-attachment: fixed;
}

/* .dela {
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.3;
}

.teko {
  font-family: "Teko", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  line-height: 1;
} */

img {
  max-width: 100%;
  vertical-align: top;
}

a {
  text-decoration: none;
}
a.opa {
  cursor: pointer;
  opacity: 1;
  transition: 0.3s;
}
a.opa:hover {
  opacity: .7;
}

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

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

a {
  color: #fff;
}

.flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.note {
  font-size: 75%!important;
  font-weight: 400!important;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
}
.note::before {
  content: "※";
}

.open-fadein01 {
  animation: fadeIn 5s ease 0s 1 normal;
  -webkit-animation: fadeIn 5s ease 0s 1 normal;
}
@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}
.fadein01 {
  opacity : 0;
  transform : translate(0, 50px);
  -webkit-transition: all .8s;
  -o-transition: all .8s;
  transition : all .8s;
}
.fadein02 {
  opacity : 0;
  transform : translate(0, 50px);
  -webkit-transition: all 1.2s;
  -o-transition: all 1.2s;
  transition : all 1.2s;
}
.fadein03 {
  opacity : 0;
  transform : translate(0, 50px);
  -webkit-transition: all 1.6s;
  -o-transition: all 1.6s;
  transition : all 1.6s;
}
.fadein04 {
  opacity : 0;
  transform : translate(0, 50px);
  -webkit-transition: all 2s;
  -o-transition: all 2s;
  transition : all 2s;
}
.fadein05 {
  opacity : 0;
  transform : translate(0, 50px);
  -webkit-transition: all 2.4s;
  -o-transition: all 2.4s;
  transition : all 2.4s;
}
.fadein06 {
  opacity : 0;
  transform : translate(0, 50px);
  -webkit-transition: all 2.8s;
  -o-transition: all 2.8s;
  transition : all 2.8s;
}
.fadein01.active,
.fadein02.active,
.fadein03.active,
.fadein04.active,
.fadein05.active,
.fadein06.active {
  opacity : 11;
  transform : translate(0, 0);
}

sup {
  vertical-align: super;
  font-size: 50%;
}

.cap {
  font-size: 75%!important;
}

.justify {
  text-align: justify;
  text-justify: inter-ideograph;
}

.inner-1080 {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}
.inner-1100 {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.inner-1200 {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.full {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

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

span.marker {
  background: linear-gradient(transparent 65%, rgba(190, 156, 71, .85) 65%);
}

@media screen and (min-width: 933px) {
  .sp-only {
    display: none!important;
  }
}

@media screen and (max-width: 932px) {
  .pc-only {
    display: none!important;
  }
  a.opa:hover {
    opacity: 1;
  }
  .sp-justify {
    text-align: justify;
    text-justify: inter-ideograph;
  }
  .sp-full {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
  .sp-14 {
    font-size: 87.5%;
  }
}

.btn01 a {
  width: 400px;
  padding: 20px 30px;
  background: #FFF100;
  border: solid 1px #000;
  display: inline-block;
  position: relative;
  transition: all .3s;
  text-align: center;
  color: #000;
  border-radius: 50px;
}
@media screen and (max-width: 932px) {
  .btn01 a {
    width: 100%;
  }
}
.btn01 a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  background: url(../img/arrow_r.png) center center;
  background-size: cover;
  width: 8px;
  height: 10px;
}
/* .btn01 a:hover {
  background-color: #8370A5;
} */

@media print {
  .sp-only {
    display: none;
  }
}

/* margin */
.mt-0 { margin-top: 0!important; }
.mt-5 { margin-top: 5px; }
.mt-10 { margin-top: 10px; }
.mt-20 { margin-top: 20px; }
.mt-30 { margin-top: 30px; }
.mt-40 { margin-top: 40px; }
.mt-50 { margin-top: 50px; }
.mt-60 { margin-top: 60px; }
.mt-70 { margin-top: 70px; }
.mt-80 { margin-top: 80px; }
.mt-90 { margin-top: 90px;}
.mt-100 { margin-top: 100px; }
.mt-120 { margin-top: 120px; }
.mt-140 { margin-top: 140px; }
.mt-180 { margin-top: 180px; }
.mb-0 { margin-bottom: 0!important; }
.mb-10 { margin-bottom: 10px; }
.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }
.mb-40 { margin-bottom: 40px; }
.mb-50 { margin-bottom: 50px; }
.mb-60 { margin-bottom: 60px; }
.mb-70 { margin-bottom: 70px; }
.mb-80 { margin-bottom: 80px; }
.mb-90 { margin-bottom: 90px; }
.mb-100 { margin-bottom: 100px; }
.mb-120 { margin-bottom: 120px; }
.mb-160 { margin-bottom: 160px; }
@media screen and (max-width: 932px) {
  /* .mt-10 { margin-top: 5px; }
  .mt-20 { margin-top: 10px; } */
  .mt-30 { margin-top: 15px; }
  .mt-40 { margin-top: 20px; }
  .mt-50 { margin-top: 25px; }
  .mt-60 { margin-top: 30px; }
  .mt-70 { margin-top: 35px; }
  .mt-80 { margin-top: 40px; }
  .mt-90 { margin-top: 90px;}
  .mt-100 { margin-top: 50px; }
  .mt-120 { margin-top: 60px; }
  .mt-140 { margin-top: 70px; }
  .mt-180 { margin-top: 90px; }
  /* .mb-10 { margin-bottom: 5px; }
  .mb-20 { margin-bottom: 10px; } */
  .mb-30 { margin-bottom: 15px; }
  .mb-40 { margin-bottom: 20px; }
  .mb-50 { margin-bottom: 25px; }
  .mb-60 { margin-bottom: 30px; }
  .mb-70 { margin-bottom: 35px; }
  .mb-80 { margin-bottom: 40px; }
  .mb-90 { margin-bottom: 45px; }
  .mb-100 { margin-bottom: 50px; }
  .mb-120 { margin-bottom: 60px; }
  .mb-160 { margin-bottom: 80px; }
}

/* padding */
.pt-0 { padding-top: 0!important; }
.pt-10 { padding-top: 10px; }
.pt-20 { padding-top: 20px; }
.pt-30 { padding-top: 30px; }
.pt-40 { padding-top: 40px; }
.pt-50 { padding-top: 50px; }
.pt-60 { padding-top: 60px; }
.pt-70 { padding-top: 70px; }
.pt-80 { padding-top: 80px; }
.pt-90 { padding-top: 90px;}
.pt-100 { padding-top: 100px; }
.pt-120 { padding-top: 120px; }
.pb-0 { padding-bottom: 0!important; }
.pb-10 { padding-bottom: 10px; }
.pb-20 { padding-bottom: 20px; }
.pb-30 { padding-bottom: 30px; }
.pb-40 { padding-bottom: 40px; }
.pb-50 { padding-bottom: 50px; }
.pb-60 { padding-bottom: 60px; }
.pb-70 { padding-bottom: 70px; }
.pb-80 { padding-bottom: 80px; }
.pb-90 { padding-bottom: 90px; }
.pb-100 { padding-bottom: 100px; }
.pb-120 { padding-bottom: 120px; }
.pb-140 { padding-bottom: 140px; }
@media screen and (max-width: 932px) {
  /* .pt-10 { padding-top: 5px; }
  .pt-20 { padding-top: 10px; } */
  .pt-30 { padding-top: 15px; }
  .pt-40 { padding-top: 20px; }
  .pt-50 { padding-top: 25px; }
  .pt-60 { padding-top: 30px; }
  .pt-70 { padding-top: 35px; }
  .pt-80 { padding-top: 40px; }
  .pt-90 { padding-top: 90px;}
  .pt-100 { padding-top: 50px; }
  .pt-120 { padding-top: 60px; }
  /* .pb-10 { padding-bottom: 5px; }
  .pb-20 { padding-bottom: 10px; } */
  .pb-30 { padding-bottom: 15px; }
  .pb-40 { padding-bottom: 20px; }
  .pb-50 { padding-bottom: 25px; }
  .pb-60 { padding-bottom: 30px; }
  .pb-70 { padding-bottom: 35px; }
  .pb-80 { padding-bottom: 40px; }
  .pb-90 { padding-bottom: 45px; }
  .pb-100 { padding-bottom: 50px; }
  .pb-120 { padding-bottom: 60px; }
  .pb-140 { padding-bottom: 70px; }
}
.ptpb-100 {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media screen and (max-width: 932px) {
  .ptpb-100 {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
.plpr-20 {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 932px) {
  .sp-plpr-20 {
    padding-left: 20px;
    padding-right: 20px;
  }
}


/* ------------------------
header
------------------------ */
header {
  position: fixed;
  padding: 40px 40px 0;
  width: 100%;
  z-index: 99;
}
@media screen and (max-width: 932px) {
  header {
    padding: 22px 25px 0;
  }
}
header h1 {
  font-size: 100%;
  text-align: left;
  text-shadow: rgba(36, 21, 24, .6) 0 0 8px;
}
@media screen and (max-width: 932px) {
  header h1 {
    font-size: 87.5%;
  }
}

header .sns img {
  width: 40px;
}

@media screen and (max-width: 932px) {
  header h1 img {
    width: 80px;
  }
}

/* ハンバーガーメニュー */
.hamburger-menu .menu-btn {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  height: 100px;
  width: 100px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  /* background-color: #3584bb; */
}
.hamburger-menu .menu-btn span,
.hamburger-menu .menu-btn span:before,
.hamburger-menu .menu-btn span:after {
  content: "";
  display: block;
  height: 2px;
  width: 40px;
  border-radius: 3px;
  background-color: #000;
  position: absolute;
  transition: all .3s;
}
.hamburger-menu .menu-btn span:before {
  bottom: 10px;
}
#menu-btn-check:checked ~ .menu-btn span {
  background-color: rgba(255, 255, 255, 0);
}
#menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}
#menu-btn-check {
  display: none;
}
.hamburger-menu .menu-content {
  width: 100vw;
  height: 100%;
  position: fixed;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  top: 0;
  left: 100%;/*leftの値を変更してメニューを画面外へ*/
  z-index: 80;
  background-color: #10BF3C;
  transition: all 0.5s;
}
#menu-btn-check:checked ~ .menu-content {
  left: 0;/*メニューを画面内へ*/
}
.hamburger-menu .menu-content ul {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.hamburger-menu .menu-content ul li {
  border-bottom: solid 1px #fff;
  list-style: none;
  width: 50%;
}
.hamburger-menu .menu-content ul li:nth-of-type(odd) {
  border-right: solid 1px #fff;
}
/* .hamburger-menu .menu-content ul li:last-of-type {
  width: 100%;
  border-right: none!important;
} */
.hamburger-menu .menu-content ul li:first-of-type,
.hamburger-menu .menu-content ul li:nth-of-type(2) {
  border-top: solid 1px #fff;
}
.hamburger-menu .menu-content ul li a {
  display: block;
  width: 100%;
  /* font-family: "Teko", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 488%; */
  text-align: center;
  box-sizing: border-box;
  /* color: #8370A5; */
  padding: 0 20px;
  position: relative;
  line-height: 1;
  padding: 40px 20px;
}
@media screen and (max-width: 1024px) {
  .hamburger-menu .menu-content ul li a {
    font-size: 388%;
  }
}
@media screen and (max-width: 932px) {
  .hamburger-menu .menu-content ul li a {
    font-size: 265%;
  }
}
.hamburger-menu .menu-content ul li a span {
  font-size: 18%;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  position: relative;
  padding-left: 1.3em;
  margin-left: 20px;
  color: #fff;
  vertical-align: middle;
}
@media screen and (max-width: 932px) {
  .hamburger-menu .menu-content ul li a span {
    display: block;
    font-size: 30%;
    margin: 0;
    padding: 0;
  }
}
.hamburger-menu .menu-content ul li a span::before {
  content: "";
  position: absolute;
  width: 1em;
  height: 1px;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  background: #fff;
}
@media screen and (max-width: 932px) {
  .hamburger-menu .menu-content ul li a span::before {
    display: none;
  }
}
.hamburger-menu h1 {
  font-size: 177%;
}
@media screen and (max-width: 932px) {
  .hamburger-menu h1 {
    font-size: 90%;
  }
}
.hamburger-menu .menu-content ul li img {
  height: 60px;
}
@media screen and (max-width: 932px) {
  .hamburger-menu .menu-content ul li img {
    height: 50px;
  }
}


/* ------------------------
main
------------------------ */
main {
  /* background: url(../img/main_bg.jpg) no-repeat center center;
  background-size: cover;
  background-attachment: fixed; */
  padding-bottom: 160px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  /* main {
    padding-top: 40px;
    padding-bottom: 80px;
  } */
}
@media screen and (max-width: 932px) {
  /* main {
    padding-top: 110px;
  } */
}

/* .mv img {
  max-width: 1400px;
  width: 100%;
} */

.sec02 .con04 {
  position: relative;
}
.sec02 .con04 .deco {
  position: absolute;
  top: -25px;
  right: -50px;
}
.sec02 .con04 .deco img {
  width: 160px;
}
@media screen and (max-width: 932px) {
  .sec02 .con04 .deco {
    position: absolute;
    top: -15px;
    right: -20px;
  }
  .sec02 .con04 .deco img {
    width: 90px;
  }
}


/* ------------------------
lower
------------------------ */
.lower {
  padding-top: 200px;
}
.lower .page-ttl {
  text-align: left;
}
.lower .page-ttl img {
  height: 110px;
}

#About .scroll-btn .child {
  width: calc(100%/5);
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  #About .scroll-btn .child {
    width: calc(100%/2);
    padding: 5px;
  }
}

@media screen and (max-width: 932px) {
  .lower {
    padding-top: 120px;
  }
  .lower .page-ttl {
    text-align: center;
  }
  .lower .page-ttl img {
    height: 78px;
  }
  #Gourmet .page-ttl img {
    height: 120px;
  }
}

.entry {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 3;
}
a.gray img {
  filter: grayscale(100%);
}
@media screen and (max-width: 932px) {
  .entry {
    bottom: 10px;
    right: 10px;
  }
  .entry img {
    width: 120px;
  }
}

.box-w {
  background: #fff;
  border-radius: 20px;
  padding: 60px;
}
@media screen and (max-width: 932px) {
  .box-w {
    padding: 40px 20px;
  }
}

#Course .box-w .ttl img {
  max-width: 405px;
  width: 100%;
}
#Course .box-w .flex .child {
  width: calc(100%/5);
  padding: 0 10px;
}
@media screen and (max-width: 932px) {
  #Course .box-w .flex .child {
    width: calc(100%/2);
    padding: 0 10px 10px;
  }
}

#Access .sec01 iframe {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
}
@media screen and (max-width: 932px) {
  #Access .sec01 iframe {
    height: 220px;
  }
}


/* ------------------------
footer
------------------------ */
footer {
  background: #00376A;
}
footer .flex {
  align-items: flex-start;
}
footer .flex-l {
  width: 60%;
}
footer .flex-r {
  width: 22%;
}
footer .btn01 a {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  footer .flex-l,
  footer .flex-r {
    width: 100%;
  }
  footer .flex-r {
    margin-top: 30px;
  }
}
@media screen and (max-width: 932px) {
  footer {
    padding-bottom: 150px!important;
  }
}