.logo-hd {
  width: 15.3rem;
}

.sub-logo-hd {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  color: #222222;
}
@media screen and (max-width: 750px) {
  .sub-logo-hd {
    font-size: 2.3rem;
    line-height: 1.4;
  }
}

.header-left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
}
@media screen and (max-width: 1400px) {
  .header-left {
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
}

.header-right-ul {
  font-size: 1.8rem;
  font-weight: 700;
  color: #222222;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 5.2rem;
       column-gap: 5.2rem;
}
@media screen and (max-width: 1400px) {
  .header-right-ul {
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
}
@media screen and (max-width: 750px) {
  .header-right-ul {
    display: block;
    font-size: 3.2rem;
    text-align: center;
    padding-top: 8rem;
    padding-bottom: 8rem;
    background-color: #E8E8E8;
  }
  .header-right-ul li + li {
    padding-top: 5rem;
  }
}
.header-right-ul a {
  display: inline-block;
  position: relative;
}
.header-right-ul a:before {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: max(1px, 0.2rem);
  background: #222222;
  bottom: -1rem;
  transform: scale(0, 1);
  transition: transform 0.5s;
  transform-origin: center top;
}
.header-right-ul a:hover:before, .header-right-ul a.is-active:before {
  transform: scale(1, 1);
}

.header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  max-width: 182rem;
  width: calc(100% - 3rem);
  margin-left: auto;
  margin-right: auto;
  height: 10rem;
}
@media screen and (max-width: 750px) {
  .header {
    width: calc(100% - 8rem);
    height: 11rem;
  }
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  z-index: 100;
}
@media screen and (max-width: 750px) {
  header {
    border-bottom: 1px solid #B2B2B2;
  }
}

.sec1-banner {
  margin-top: 10rem;
  height: 96.7rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
}
.sec1-banner .sec1-banner-video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.sec1-banner .sec1-banner-video:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #070707;
  opacity: 0.2;
}
.sec1-banner .sec1-banner-video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
@media screen and (max-width: 1400px) {
  .sec1-banner {
    height: 86.7rem;
  }
}
@media screen and (max-width: 750px) {
  .sec1-banner {
    height: 37.8rem;
    margin-top: 11rem;
  }
}

.sec1-banner-nd {
  position: relative;
  z-index: 10;
}

.sec1-banner-nd-logo {
  width: 77.2rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 750px) {
  .sec1-banner-nd-logo {
    width: 38.3rem;
  }
}

.sec1-banner-title {
  font-size: 7.9rem;
  color: #fff;
  font-weight: 600;
  line-height: 1;
}
.sec1-banner-title span {
  font-size: 16.7rem;
  display: inline-block;
  transform: translateY(1rem);
}
@media screen and (max-width: 750px) {
  .sec1-banner-title span {
    font-size: 8.3rem;
    transform: translateY(0.7rem);
  }
}
@media screen and (max-width: 750px) {
  .sec1-banner-title {
    font-size: 4rem;
  }
}

.sec1-banner-txt {
  font-size: 3rem;
  font-weight: 600;
  color: #fff;
  margin-top: 3.8rem;
}
@media screen and (max-width: 750px) {
  .sec1-banner-txt {
    font-size: 1.5rem;
    margin-top: 1.8rem;
  }
}

.toggle-image {
  width: 7rem;
  height: 4rem;
  background-image: url(../img/icon-toggle1.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
  transition: all 0.3s ease-in-out;
}
.toggle-image.is-active {
  background-image: url(../img/icon-toggle2.png);
}

@media screen and (max-width: 750px) {
  .header-right {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
  }
}

.cont-1520 {
  max-width: 152rem;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 3rem);
}
@media screen and (max-width: 750px) {
  .cont-1520 {
    width: calc(100% - 10rem);
  }
}

.sec1-top-main {
  background-color: #fff;
  padding-top: 10.5rem;
  padding-bottom: 10.8rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec1-top-main {
    padding-top: 0;
    padding-bottom: 0;
  }
}

.sec1-top-main-txt1 {
  font-size: 4.6rem;
  color: #00a633;
  line-height: 1;
}

.tlt-h3-eng {
  font-size: 1.8rem;
  font-weight: 600;
  color: #00a633;
}
@media screen and (max-width: 750px) {
  .tlt-h3-eng {
    font-size: 2rem;
  }
}
.tlt-h3-eng.center {
  text-align: center;
}

.tlt-h3-jp {
  font-size: 4.1rem;
  font-weight: 600;
  line-height: 1.5;
}
.tlt-h3-jp.center {
  text-align: center;
}
@media screen and (max-width: 750px) {
  .tlt-h3-jp {
    font-size: 3.7rem;
  }
}

.sec1-top-mid-txt-big {
  font-size: 3.8rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
  margin-top: 1.2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 750px) {
  .sec1-top-mid-txt-big {
    font-size: 3.4rem;
  }
}

.sec1-top-mid-txt-small {
  text-align: center;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 2.3;
}
@media screen and (max-width: 750px) {
  .sec1-top-mid-txt-small {
    font-size: 2.2rem;
    line-height: 2.1;
  }
}

.sec1-top-bottom {
  text-align: center;
  font-weight: 600;
  font-size: 4.2rem;
  line-height: 1.4;
  margin-top: 5rem;
}
@media screen and (max-width: 750px) {
  .sec1-top-bottom {
    font-size: 3.6rem;
    margin-top: 3.5rem;
  }
}

.sec1-top {
  background-image: url(../img/image02.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 750px) {
  .sec1-top {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}

@media screen and (min-width: 751px) {
  .sec1-top-main-txt1 {
    width: 3.4rem;
    position: absolute;
    bottom: -10rem;
    left: 5rem;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    align-items: center;
    row-gap: 5.5rem;
  }
  .sec1-top-main-txt1:before {
    content: "";
    width: 1px;
    height: 15rem;
    background-color: #00a633;
  }
  .sec1-top-main-txt2 {
    width: 16rem;
    position: absolute;
    top: -10rem;
    right: 3.5rem;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-end;
    row-gap: 3.5rem;
  }
  .sec1-top-main-txt2:before {
    content: "";
    width: 1px;
    height: 15rem;
    background-color: #00a633;
    margin-right: 3.5rem;
  }
}
@media screen and (max-width: 750px) {
  .sec1-top-main-txt2 {
    width: 36rem;
    padding-bottom: 4rem;
  }
  .sec1-top-main-txt1 {
    width: 40.3rem;
    margin-left: auto;
    transform: translateY(1rem);
    padding-top: 5.5rem;
  }
}
.sec2-top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 11rem;
}
@media screen and (max-width: 750px) {
  .sec2-top {
    padding-top: 6.3rem;
  }
}

.sec2-top-left {
  width: 32rem;
  padding-right: 3rem;
}
@media screen and (max-width: 750px) {
  .sec2-top-left {
    width: 100%;
    padding-right: 0;
    text-align: center;
  }
}

.sec2-top-right {
  width: calc(100% - 32rem);
  max-width: 93rem;
  padding-top: 0.8rem;
}
@media screen and (max-width: 750px) {
  .sec2-top-right {
    width: 100%;
    padding-top: 6.7rem;
  }
}

.sec2-top-right-date {
  font-size: 1.7rem;
  font-weight: 500;
  color: #686767;
  line-height: 1;
  font-family: "Roboto", sans-serif;
}
@media screen and (max-width: 750px) {
  .sec2-top-right-date {
    font-size: 2.3rem;
  }
}

.sec2-top-right-link {
  font-size: 2.2rem;
  font-weight: 600;
  margin-top: 0.8rem;
}
@media screen and (max-width: 750px) {
  .sec2-top-right-link {
    font-size: 2.8rem;
  }
}

.sec2-top-right-ul li {
  border-bottom: 1px solid #CECECE;
  padding-bottom: 2rem;
}
@media screen and (max-width: 750px) {
  .sec2-top-right-ul li {
    padding-bottom: 3rem;
  }
}
.sec2-top-right-ul li + li {
  padding-top: 2rem;
}
@media screen and (max-width: 750px) {
  .sec2-top-right-ul li + li {
    padding-top: 3rem;
  }
}

.btn-link-gg {
  font-family: "Noto Sans JP", sans-serif;
  font-size: max(1.7rem, 12px);
  font-weight: 500;
  color: #fff;
  display: flex;
  width: 21.3rem;
  height: 6rem;
  background-color: #00a633;
  border-radius: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 1.2rem;
       column-gap: 1.2rem;
  border: 1px solid #00a633 !important;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 750px) {
  .btn-link-gg {
    width: 100%;
    height: 10rem;
    border-radius: 5rem;
    font-size: 2.9rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}
.btn-link-gg:after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 10px;
  background-image: url(../img/icon1.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 750px) {
  .btn-link-gg:after {
    width: 1.1rem;
    height: 1.7rem;
  }
}
.btn-link-gg:hover {
  color: #00a633;
  background-color: #fff;
}
.btn-link-gg:hover:after {
  background-image: url(../img/icon2.png);
}

.area-btn {
  padding-top: 17.2rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 750px) {
  .area-btn {
    padding-top: 6.8rem;
    padding-bottom: 7.5rem;
  }
}

.sec3-top {
  background-color: #E8E8E8;
  padding-top: 11rem;
  padding-bottom: 13.5rem;
}
@media screen and (max-width: 750px) {
  .sec3-top {
    padding-top: 6rem;
    padding-bottom: 7.5rem;
  }
}

.sec3-top-sub-title {
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
  margin-top: 1.6rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 750px) {
  .sec3-top-sub-title {
    font-size: 2.8rem;
    line-height: 1.5;
    margin-top: 3rem;
    margin-bottom: 5.5rem;
  }
}
.sec3-top-sub-title span {
  font-size: 2.1rem;
}
@media screen and (max-width: 750px) {
  .sec3-top-sub-title span {
    font-size: 2.3rem;
  }
}

.sec3-top-infor-tlt {
  font-size: 3.1rem;
  font-weight: 600;
  text-align: center;
  border-bottom: 1px solid #CECECE;
  padding-bottom: 2rem;
  padding-top: 3.4rem;
}

.sec3-top-infor {
  background-color: #fff;
  padding-bottom: 4rem;
  border-radius: 0.5rem;
  box-shadow: 1rem 1rem 1.1rem rgba(20, 38, 27, 0.07);
}
@media screen and (max-width: 750px) {
  .sec3-top-infor {
    padding-bottom: 0;
  }
}

.sec3-top-infor-cont {
  max-width: 116.5rem;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 6rem);
}

.sec3-top-infor-fs14 {
  font-size: max(1.45rem, 12px);
  font-weight: 500;
  line-height: 2;
  margin-top: 2.4rem;
}

.sec3-top-infor-item-fs14 {
  font-size: max(1.45rem, 12px);
  font-weight: 500;
  line-height: 2;
  margin-top: 2.1rem;
}

.sec3-top-infor-list {
  padding-top: 3.8rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 3.7rem;
       column-gap: 3.7rem;
}
@media screen and (max-width: 1550px) {
  .sec3-top-infor-list {
    -moz-column-gap: 2.7rem;
         column-gap: 2.7rem;
  }
}
@media screen and (max-width: 750px) {
  .sec3-top-infor-list {
    display: block;
    padding-top: 6rem;
  }
  .sec3-top-infor-list .sec3-top-infor-item + .sec3-top-infor-item {
    margin-top: 6rem;
  }
}

.sec3-top-infor-item {
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 1rem 1rem 1.1rem rgba(20, 38, 27, 0.07);
  padding-top: 4rem;
  padding-left: 4rem;
  padding-right: 4rem;
  padding-bottom: 3.7rem;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1400px) {
  .sec3-top-infor-item {
    padding: 2.5rem 3rem;
  }
}
.sec3-top-infor-item .sec3-top-infor-item-tlt {
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.5;
  border-bottom: 1px solid #CECECE;
  padding-bottom: 2.2rem;
}
@media screen and (max-width: 1550px) {
  .sec3-top-infor-item .sec3-top-infor-item-tlt {
    font-size: 1.48vw;
  }
}
.sec3-top-infor-item .commin-soon {
  background-color: #808080;
  position: absolute;
  font-size: 3.1rem;
  font-weight: 600;
  color: #fff;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .sec3-top-infor-item .commin-soon {
    font-size: 4.2rem;
  }
}
.sec3-top-infor-item .commin-soon:before {
  content: "";
  position: absolute;
  top: 3rem;
  left: 3rem;
  right: 3rem;
  bottom: 3rem;
  border: 1px solid #CECECE;
}
@media screen and (max-width: 750px) {
  .sec3-top-infor-item .commin-soon:before {
    top: 4rem;
    bottom: 4rem;
    left: 4rem;
    right: 4rem;
  }
}

@media screen and (max-width: 750px) {
  .sec3-top-infor-tlt, .sec3-top-infor-item-tlt {
    font-size: 3.4rem !important;
    padding-bottom: 2.3rem !important;
    padding-top: 0 !important;
  }
  .sec3-top-infor-fs14, .sec3-top-infor-item-fs14 {
    font-size: 2.4rem;
    line-height: 2;
    margin-top: 4.2rem !important;
  }
  .sec3-top-infor-cont, .sec3-top-infor-item {
    width: 100%;
    padding: 0;
    padding-left: 5rem;
    padding-right: 5rem;
    padding-top: 6rem;
    padding-bottom: 7rem;
  }
  .commin-soon-item {
    min-height: 44.8rem;
  }
}
.sec4-top {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  padding-top: 12rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 750px) {
  .sec4-top {
    padding-top: 7.6rem;
    padding-bottom: 7.6rem;
  }
}

.sec4-top-main {
  background-color: #fff;
  padding-top: 8.7rem;
  padding-bottom: 6.8rem;
}
@media screen and (max-width: 750px) {
  .sec4-top-main {
    padding-top: 6.7rem;
    padding-bottom: 8rem;
  }
}

.sec4-top-main-ul-date {
  font-size: 1.7rem;
  font-weight: 500;
  color: #686767;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 750px) {
  .sec4-top-main-ul-date {
    font-size: 2.1rem;
  }
}

.sec4-top-main-ul-category {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  color: #fff;
  background-color: #00a633;
  display: flex;
  width: 10.5rem;
  height: 2.4rem;
  border-radius: 0.25rem;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .sec4-top-main-ul-category {
    font-size: 1.5rem;
    width: 13.5rem;
    height: 3.1rem;
  }
}

.sec4-top-main-ul-decs {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .sec4-top-main-ul-decs {
    font-size: 2.4rem;
    line-height: 1.9;
    width: 100%;
  }
}

.sec4-top-main-ul {
  max-width: 116rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 4.6rem;
  padding-bottom: 4rem;
  width: calc(100% - 3rem);
}
@media screen and (max-width: 750px) {
  .sec4-top-main-ul {
    width: calc(100% - 10rem);
    padding-top: 4rem;
  }
}
.sec4-top-main-ul li {
  display: none;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.sec4-top-main-ul li.is-active {
  display: block;
}
.sec4-top-main-ul li .sec4-top-main-item {
  display: grid;
  grid-template-columns: 22.4rem 12.7rem 1fr;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .sec4-top-main-ul li .sec4-top-main-item {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 4rem;
         column-gap: 4rem;
    row-gap: 1.5rem;
  }
}
@media screen and (max-width: 750px) {
  .sec4-top-main-ul li {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}
.sec4-top-main-ul li + li {
  border-top: 1px solid #CECECE;
}
.sec4-top-main-ul li:first-child {
  border-top: 0;
}

.sec4-top-main-btn {
  padding-top: 3rem;
}
@media screen and (max-width: 750px) {
  .sec4-top-main-btn {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
.sec4-top-main-btn .btn-link-gg:after {
  transform: rotate(90deg);
}
@media screen and (min-width: 751px) {
  .sec4-top-main-btn {
    max-width: -moz-max-content;
    max-width: max-content;
    margin-left: auto;
    margin-right: auto;
  }
  .sec4-top-main-btn .btn-link-gg {
    width: 26rem;
  }
}

.footer-logo {
  text-align: center;
  padding-top: 7.6rem;
}
@media screen and (max-width: 750px) {
  .footer-logo {
    padding-top: 6.7rem;
  }
}
.footer-logo img {
  width: 18rem;
}
@media screen and (max-width: 750px) {
  .footer-logo img {
    width: 20.4rem;
  }
}

.footer-privacy {
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  font-size: 1.9rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
  -moz-column-gap: 6.8rem;
       column-gap: 6.8rem;
  padding-top: 2.3rem;
  padding-bottom: 7rem;
}
@media screen and (max-width: 750px) {
  .footer-privacy {
    flex-direction: column;
    font-size: 2.1rem;
    row-gap: 2.2rem;
    padding-top: 3rem;
    padding-bottom: 6rem;
  }
}
.footer-privacy a {
  display: inline-block;
  border-bottom: 1px solid #000 !important;
}

.scrolltop {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  justify-content: center;
  align-items: center;
  width: 7rem;
  height: 7rem;
  position: fixed;
  z-index: 20;
  right: 3rem;
  bottom: 1.8rem;
  border: 1px solid #00a633;
  outline: 0;
  cursor: pointer;
}
.scrolltop img {
  width: 1.8rem;
}
@media screen and (max-width: 750px) {
  .scrolltop {
    width: 8rem;
    height: 8rem;
    right: 3rem;
    bottom: 10rem;
  }
  .scrolltop img {
    width: 2rem;
  }
}

.link-href-parent {
  position: relative;
}
.link-href-parent .link-href-child {
  position: absolute;
  top: -10rem;
  left: 0;
}
@media screen and (max-width: 750px) {
  .link-href-parent .link-href-child {
    top: -11rem;
  }
}/*# sourceMappingURL=style.css.map */


/* 宴芸会 */
.banquet-page {
  margin-top: 10rem;
}
.banquet-link {
  margin: 30px auto 0;
  text-align: center;
}
.banquet-link a {
  display: inline-block;
}
.banquet-link a img {
  height: 100px;
}
.banquet-link a:hover {
  opacity: .7;
}
.banquet-img {
  width: 90%;
  max-width: 1190px;
  display: block;
  margin: 40px auto;
}
.banquet-apply {
  text-align: center;
}
.banquet-apply a {
  display: inline-block;
}
.banquet-apply img {
  height: 100px;
}
.banquet-apply:hover {
  opacity: .7;
}
@media screen and (max-width: 750px) {
  .banquet-page {
    margin-top: 11rem;
  }
  .banquet-link a img {
    height: 50px;
  }
  .banquet-apply img {
    height: 50px;
  }
}