@charset "UTF-8";
/* CSS Document */

/* ==========================================================
 max-width: 799px
========================================================== */
@media screen and (min-width: 1px) and (max-width: 799px) {
body {
  font-size: 14px;
}

/*  section
---------------------------------------------------------- */
section {
  margin-left: 0;
  border-radius: 40px;
}
.second section {
  padding: 80px 30px;
}
/*  ttl
---------------------------------------------------------- */
.ttl-01 {
  z-index: 0;
}
.ttl-01 .en {
  font-size: 32px;
}
.ttl-01 .ja {
  font-size: 14px;
}
.ttl-02 {
  font-size: 20px;
  margin-bottom: 30px;
}
.ttl-03 .en {
  font-size: 30px;
}
.ttl-03 .ja {
  font-size: 16px;
}
.ttl-04 {
  font-size: 18px;
}
/*  txt
---------------------------------------------------------- */

/*  btn
---------------------------------------------------------- */
.btn {
  text-align: center;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
  color: #fff;
  font-weight: 700;
}
.btn-01 {
  width: calc(100% - 10px);
  padding: 25px 0;
	border-radius: 40px;
  font-size: 14px;
}
.btn-01 .arrow, .btn-registration .arrow {
  width: 25px;
  height: 25px;
}
.btn-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  transition: top 0.4s;
  z-index: 100;
  font-weight: 700;
  height: 45px;
  background: var(--color-re);
  font-size: 16px;
  padding: 14px;
}

/* ==========================================================
 header / footer
========================================================== */

/* header
---------------------------------------------------------- */
header {
  position: relative;
  z-index: 100;
}
nav {
  position: fixed;
  display: flex;
  align-items: center;
  width: 100%;
  height: 70px;
  background: #fff;
  padding: 20px 0 20px 15px;
  z-index: 100;
}
.nav-en {
  font-size: 24px;
}
.nav-ja {
  font-size: 12px;
}
.nav-logo {
  display: flex;
  height: auto;
  padding: 0;
}
.nav-logo .logo {
  width: 55px;
  margin: 0;
  margin-right: 10px;
}
.nav-logo .logo-alive {
  width: 215px;
}
.home .main {
  width: 100%;
  margin: 0;
  top: 70px;
} 
.menu {
  opacity: 0;
  position: fixed;
  top: 70px;
  left: 0;
  display: block;
  width: 100%;
  height: calc(100lvh - 70px);
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}
.menu ul {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  top: 80px;
}
.menu ul li {
  margin-bottom: 50px;
}
body.is-open .menu {
  opacity: 1;
  visibility: visible;
  background: var(--color-dbl);
  z-index: 300;
}
.header-nav-btn {
  font-weight: 500;
  font-size: 10px;
  position: absolute;
  top: 0;
  right: 0;
  width: 70px;
  height: 100%;
  line-height: 1;
  text-align: center;
}
.header-nav-btn .line,
  .header-nav-btn .line::before,
  .header-nav-btn .line::after,
  .header-nav-btn .txt {
    position: absolute;
    display: block;
  }
  .header-nav-btn .line,
  .header-nav-btn .line::before,
  .header-nav-btn .line::after {
    width: 30px;
    height: 1px;
    background: #000;
    transition: display 0.2s, transform 0.2s;
  }
  .header-nav-btn .line {
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - 8px));
  }
  .header-nav-btn .line::before,
  .header-nav-btn .line::after {
    content: "";
  }
  .header-nav-btn .line::before {
    top: -7px;
  }
  .header-nav-btn .line::after {
    top: 7px;
  }
  .header-nav-btn .txt {
    bottom: 15px;
    width: 100%;
  }
  body.is-open nav {
    opacity: 1;
    visibility: visible;
  }
  body.is-open .header-nav-btn .line {
    background: #fff;
  }
  body.is-open .header-nav-btn .line::before,
  body.is-open .header-nav-btn .line::after  {
    top: 0;
    width: 28px;
  }
  body.is-open .header-nav-btn .line::before {
    transform: rotate(45deg);
  }
  body.is-open .header-nav-btn .line::after {
    transform: rotate(-45deg);
  }
  .main {
    margin-left: 0;
    top: 70px;
  }
  .menu .btn {
    background: var(--color-re);
    width: 200px;
    padding: 15px;
    border-radius: 25px;
  }
  body.is-open .btn-fixed {
    z-index: 0;
  }
/* footer
---------------------------------------------------------- */
footer {
  padding: 80px 30px;
  margin-left: 0;
}
.second footer {
  padding: 0 30px 80px;
  margin-top: -5px;
}
footer .logo {
  width: 120px;
  margin: 0 auto 30px;
}

.sec-intro {
  margin-top: 70px;
}
/* section共通パーツ
---------------------------------------------------------- */
.wrap-f {
  display: block;
}
.sec-01 .wrap-g {
  grid-template-columns: 1fr;
}
.second .dl-01 dt , .second .dl-02 dt {
  width: 100%;
}
.second .dl-01 dd , .second .dl-02 dd {
  width: 100%;
  padding-left: 0;
}
.second dd, .second dt {
  padding: 15px 0;
}
.second .dl-01 dt:last-of-type {
  border-bottom: 1px solid #fff;
}
.second .dl-02 dt:last-of-type {
  border-bottom: 1px solid #f4e6b9;
}
.box-01 {
  padding: 40px 30px;
  border-radius: 0;
}
.sec-03 .box-02 {
  padding: 40px 30px;
  border-radius: 0;
}
.txt-in {
  width: 100%;
  margin-bottom: 30px;
}
.btn-area div:first-of-type {
  margin-bottom: 30px;
}
.sec-03 .box-02 .red {
  text-align: left;
}
.bg-hurf::after {
  border-radius: 0 40px 40px 0;
}
.bg-hurf::before {
  border-radius: 40px 0 0 40px;
}
/* ==========================================================
about.html
========================================================== */

/* sec-intro
---------------------------------------------------------- */
.about .sec-intro figure.wrap-f img {
  width: 100%;
}
.sec-01 .ttl-02 {
  text-align: center;
}

/* ==========================================================
seminar.html
========================================================== */
.seminar .sec-intro .ttl-04 figure {
  width: 100%;
  margin-bottom: 30px;
}
.seminar .sec-intro .ttl-04 .txt-sub {
  margin-bottom: 30px;
}
.sec-01 .wrap-g.txt {
  margin-bottom: 0;
}
.seminar .sec-overview .box-inner {
  padding: 40px 30px;
}
.seminar .sec-overview .box-inner .ttl-03 .ttl-sub {
  font-size: 12px;
  background: none;
  color: var(--color-or);
}
.seminar .sec-overview .box-inner .ttl-03 .ttl-en {
  font-size: 14px;
}
.seminar .sec-overview .box-inner .ttl-03 {
  font-size: 15px;
}
.seminar .sec-overview .date, .seminar .sec-overview .wine {
  width: 100%;
  padding: 30px 0;
}
.seminar .sec-overview .wine {
  text-align: left;
}
.seminar .sec-overview .wine li {
  list-style: disc;
  margin-left: 15px;
}
.seminar .sec-overview .date h4, .seminar .sec-overview .wine h4 {
  margin-bottom: 20px;
}
.seminar .sec-overview .ttl-03 figure {
  width: 160px;
}
.seminar .sec-overview .box-01 ,
.seminar .sec-overview .box-01 .img-seminar {
  border-radius: 0;
}
.seminar .sec-overview .box-inner h3.ttl-04 {
  margin-top: 50px;
}
}