@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Ubuntu:wght@400;500&display=swap");
body {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

.font-ubuntu {
  font-family: "Ubuntu", serif;
}

.font-mincho {
  font-family: "Noto Serif JP", serif;
} /* 使用例
@use "global" as g;
@use "sass:map";

.hoge {
z-index: map.get(g.$layer, "header");
}

相対的な順番は、共通定義したドロワーの値から
z-index: map.get($layer, "drawer") + 1;
あるいは
z-index: map.get($layer, "drawer") - 1;
などして制御。
*/
html {
  scroll-behavior: smooth;
  margin-top: 0 !important;
}

body {
  color: #272222;
  overflow-x: hidden;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  body.hidden {
    overflow: hidden;
  }
}

main {
  width: calc(100% - 200px);
  line-height: 1.67;
  font-size: 1rem;
  margin: 0 0 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  main {
    width: 100%;
    margin: 0 auto;
    padding-top: 64px;
    overflow-x: hidden;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  main {
    padding-top: 64px;
    width: 100%;
    margin: 0 auto;
    font-size: 0.9375rem;
    overflow-x: hidden;
  }
}

img {
  max-width: 100%;
}

.c-btn a {
  position: relative;
  display: block;
  max-width: 306px;
  width: 100%;
  border: 1px solid #0BA29A;
  border-radius: 50px;
  transition: 0.3s;
}
.c-btn a span {
  position: relative;
  display: block;
  max-width: 306px;
  width: 100%;
  padding: 20px 25px;
  font-weight: bold;
  color: #0BA29A;
  border-radius: 50px;
  transition: 0.3s;
  z-index: 2;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .c-btn a span {
    padding: 17px 20px;
  }
}
.c-btn a span::before {
  content: "";
  position: absolute;
  width: 34px;
  height: 34px;
  background-color: #0BA29A;
  border: 1px solid #0BA29A;
  border-radius: 30px;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  transition: 0.3s;
}
.c-btn a span::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  right: 34px;
  top: 42%;
  transition: 0.3s;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .c-btn a span::after {
    top: 43%;
  }
}
.c-btn a:hover, .c-btn a:focus {
  background-color: #29A08F;
}
.c-btn a:hover span, .c-btn a:focus span {
  color: #fff;
}
.c-btn a:hover span::before, .c-btn a:focus span::before {
  background-color: #fff;
}
.c-btn a:hover span::after, .c-btn a:focus span::after {
  border-color: #0BA29A;
}

.c-flex {
  display: flex;
  flex-wrap: wrap;
}

.c-inner {
  max-width: 1110px;
  margin: 0 auto;
  padding: 0 15px;
}

.c-title {
  position: relative;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .c-title {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .c-title {
    margin-bottom: 20px;
  }
}
.c-title .ja {
  font-weight: bold;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .c-title .ja {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .c-title .ja {
    font-size: 0.75rem;
  }
}
.c-title .en {
  font-size: 4.25rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 500;
  line-height: 1.25;
  background: linear-gradient(45deg, #277065 10%, #262222 28%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .c-title .en {
    font-size: 2rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .c-title .en {
    font-size: 2rem;
  }
}

.c-title02 {
  position: relative;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .c-title02 {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .c-title02 {
    margin-bottom: 20px;
  }
}
.c-title02 .en {
  font-weight: 500;
  font-size: 1.1875rem;
  color: #276A60;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .c-title02 .en {
    font-size: 1rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .c-title02 .en {
    font-size: 0.875rem;
  }
}
.c-title02 .ja {
  font-size: 2.25rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: bold;
  line-height: 1.25;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .c-title02 .ja {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .c-title02 .ja {
    font-size: 1.5rem;
  }
}

.c-fadeIn {
  opacity: 0;
}

.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.fadeUp.c-fadeInFast {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeUpTrigger {
  opacity: 0;
}

.p-header {
  width: 200px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  height: 100vh;
  z-index: 10;
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.16);
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header {
    width: 100%;
    height: 64px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header {
    width: 100%;
    height: 64px;
    background-color: #fff;
  }
}
.p-header__logo {
  padding: 32px 18px 0;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__logo {
    width: 217px;
    padding-top: 20px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__logo {
    width: 217px;
    padding-top: 20px;
  }
}
.p-header__logo a {
  display: block;
}
.p-header__logo a img {
  width: 100%;
  height: auto;
}
.p-header__logo a img.pc {
  display: block;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__logo a img.pc {
    display: none;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__logo a img.pc {
    display: none;
  }
}
.p-header__logo a img.sp {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__logo a img.sp {
    display: block;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__logo a img.sp {
    display: block;
  }
}
.p-header__line {
  display: none;
  position: fixed;
  cursor: pointer;
  z-index: 10;
  top: 0vh;
  right: 0;
  transition: 0.5s;
  width: 50px;
  height: 55px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__line {
    display: block;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__line {
    display: block;
  }
}
.p-header__line .button {
  width: 100%;
  height: 100%;
  padding: 23px 12px 16px 12px;
}
.p-header__line p {
  position: relative;
  width: 100%;
  height: 100%;
}
.p-header__line p::before, .p-header__line p::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  margin: auto;
  width: 100%;
  height: 2px;
  background: #276A60;
  transition: 0.5s;
}
.p-header__line p::after {
  top: auto;
  bottom: 0;
}
.p-header__line span {
  display: block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 100%;
  height: 2px;
  background: #276A60;
  transition: 0.5s;
  transform: translateY(-50%);
}
.p-header__line.active::after {
  content: "閉じる";
  position: absolute;
  color: #276A60;
  bottom: 0;
  left: 50%;
  font-size: 0.625rem;
  transform: translateX(-45%) scale(0.9);
  width: 100%;
  text-align: center;
}
.p-header__line.active p::before {
  top: 50%;
  transform: rotate(40deg);
  width: 100%;
}
.p-header__line.active p::after {
  top: 50%;
  bottom: auto;
  transform: rotate(-40deg);
  width: 100%;
}
.p-header__line.active span {
  opacity: 0;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__menu {
    position: fixed;
    width: 100vw;
    height: 100vh;
    padding-top: 64px;
    top: 0;
    right: -100vw;
    transition: 0.3s;
    background-color: #fff;
    visibility: hidden;
    padding-bottom: 110px;
  }
  .p-header__menu.active {
    right: 0;
    visibility: visible;
    overflow-y: auto;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__menu {
    position: fixed;
    width: 100vw;
    height: 100vh;
    padding-top: 64px;
    top: 0;
    right: -100vw;
    transition: 0.3s;
    background-color: #fff;
    visibility: hidden;
    padding-bottom: 110px;
  }
  .p-header__menu.active {
    right: 0;
    visibility: visible;
    overflow-y: auto;
  }
}
.p-header__link {
  display: block;
  position: relative;
  padding: 17px 15px 18px;
  transition: 0.3s;
}
.p-header__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #F7F7F7;
  transition: 0.3s;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__link {
    padding: 24px 28px 24px;
    border-bottom: 1px solid rgba(182, 178, 146, 0.3);
    position: relative;
  }
  .p-header__link::after {
    content: "";
    position: absolute;
    width: 8.5px;
    height: 8.5px;
    border-right: 2px solid #B6B292;
    border-bottom: 2px solid #B6B292;
    transform: rotate(-45deg);
    top: calc(50% - 5px);
    right: 31px;
    transition: 0.3s;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__link {
    padding: 24px 28px 24px;
    border-bottom: 1px solid rgba(182, 178, 146, 0.3);
    position: relative;
  }
  .p-header__link::after {
    content: "";
    position: absolute;
    width: 8.5px;
    height: 8.5px;
    border-right: 2px solid #0E4C4B;
    border-bottom: 2px solid #0E4C4B;
    transform: rotate(-45deg);
    top: calc(50% - 5px);
    right: 31px;
    transition: 0.3s;
  }
}
.p-header__link:hover::before, .p-header__link:focus::before {
  width: 100%;
}
.p-header__link.active {
  background-color: #4DB0A3;
}
.p-header__link.active > span {
  color: #fff;
}
.p-header__link.active p {
  color: #fff;
}
.p-header__link > span {
  display: block;
  position: relative;
  font-weight: 500;
  font-size: 0.625rem;
  color: rgba(0, 0, 0, 0.3);
  margin-bottom: 5px;
  transition: 0.3s;
  z-index: 1;
}
.p-header__link p {
  position: relative;
  font-size: 0.9375rem;
  font-weight: 500;
  transition: 0.3s;
  z-index: 1;
}
.p-header__link--top {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__link--top {
    display: block;
    border-top: 1px solid rgba(182, 178, 146, 0.3);
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__link--top {
    display: block;
    border-top: 1px solid rgba(182, 178, 146, 0.3);
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__link.kanto::after {
    display: none;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__link.kanto::after {
    display: none;
  }
}
.p-header__link.kanto p span {
  position: relative;
}
.p-header__link.kanto p span::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background-image: url(../img/icon_window_black.svg);
  background-position: center;
  background-size: 100% 100%;
  right: -22px;
  top: 50%;
  transition: 0.3s;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__link.kanto p span::after {
    background-image: url(../img/icon_window-green.svg);
    width: 12px;
    height: 11.1px;
    right: auto;
    left: calc(100vw - 70px);
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__link.kanto p span::after {
    background-image: url(../img/icon_window-green.svg);
    width: 12px;
    height: 11.1px;
    right: auto;
    left: calc(100vw - 70px);
  }
}
.p-header__link--contact {
  margin-top: 20px;
  background-color: #0E4C4B;
  padding: 26px 15px 25px;
  color: #fff;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__link--contact {
    padding: 25px 28px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__link--contact {
    padding: 25px 28px;
  }
}
.p-header__link--contact::before {
  background-color: #F7F7F7;
}
.p-header__link--contact > span {
  color: #fff;
}
.p-header__link--contact:hover, .p-header__link--contact:focus {
  background-color: #fff;
  color: #0E4C4B;
}
.p-header__link--contact:hover > span, .p-header__link--contact:focus > span {
  color: #0E4C4B;
}
.p-header__link--contact:hover p, .p-header__link--contact:focus p {
  color: #0E4C4B;
}
.p-header__link--contact:hover p span::after, .p-header__link--contact:focus p span::after {
  background-image: url(../img/icon_window-green.svg);
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__link--contact::after {
    display: none;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__link--contact {
    margin-top: 0;
  }
  .p-header__link--contact::after {
    display: none;
  }
}
.p-header__link--contact p span {
  font-size: 0.9375rem;
  font-weight: 700;
  position: relative;
}
.p-header__link--contact p span::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background-image: url(../img/icon_window.svg);
  background-position: center;
  background-size: 100% 100%;
  right: -22px;
  top: 50%;
  transition: 0.3s;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__link--contact p span::after {
    width: 12px;
    height: 11.1px;
    right: auto;
    left: calc(100vw - 70px);
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__link--contact p span::after {
    width: 12px;
    height: 11.1px;
    right: auto;
    left: calc(100vw - 70px);
  }
}
.p-header__ticket {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__ticket {
    display: block;
    width: calc(100% - 56px);
    max-width: 320px;
    margin: 20px auto 0;
  }
  .p-header__ticket a {
    padding: 13px 0 13px 20px;
    text-align: center;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-weight: bold;
    border-radius: 6px;
    background-image: linear-gradient(to right, #F8BE36, #EEB51A, #EB950B);
  }
  .p-header__ticket a.paper {
    background-image: linear-gradient(to right, #008D97, #217C53);
  }
  .p-header__ticket a:hover, .p-header__ticket a:focus {
    opacity: 0.7;
  }
  .p-header__ticket a img {
    display: block;
    width: 36px;
    height: 36px;
  }
  .p-header__ticket a p {
    padding-right: 20px;
  }
  .p-header__ticket a .font-ubuntu {
    display: block;
    font-weight: 500;
    font-size: 0.625rem;
  }
  .p-header__ticket a .text {
    position: relative;
    display: block;
    margin: 0 auto;
    text-align: center;
  }
  .p-header__ticket a .text::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 11.1px;
    background-image: url(../img/icon_window.svg);
    background-position: center;
    background-size: cover;
    right: -2px;
    top: 50%;
    transform: translate(100%, -40%);
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__ticket {
    display: block;
    width: calc(100% - 56px);
    max-width: 320px;
    margin: 20px auto 0;
  }
  .p-header__ticket a {
    padding: 13px 0 13px 20px;
    text-align: center;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-weight: bold;
    border-radius: 6px;
    background-image: linear-gradient(to right, #F8BE36, #EEB51A, #EB950B);
  }
  .p-header__ticket a.paper {
    background-image: linear-gradient(to right, #008D97, #217C53);
  }
  .p-header__ticket a:hover, .p-header__ticket a:focus {
    opacity: 0.7;
  }
  .p-header__ticket a img {
    display: block;
    width: 36px;
    height: 36px;
  }
  .p-header__ticket a p {
    padding-right: 20px;
  }
  .p-header__ticket a .font-ubuntu {
    display: block;
    font-weight: 500;
    font-size: 0.625rem;
  }
  .p-header__ticket a .text {
    position: relative;
    display: block;
    margin: 0 auto;
    text-align: center;
  }
  .p-header__ticket a .text::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 11.1px;
    background-image: url(../img/icon_window.svg);
    background-position: center;
    background-size: cover;
    right: -5px;
    top: 50%;
    transform: translate(100%, -40%);
  }
}
.p-header__insta {
  margin-top: 30px;
  padding: 0 10px;
  transition: 0.3s;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__insta {
    padding: 0;
    width: calc(100% - 56px);
    max-width: 400px;
    margin: 20px auto 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__insta {
    padding: 0;
    width: calc(100% - 56px);
    max-width: 400px;
    margin: 20px auto 0;
  }
}
.p-header__insta a {
  gap: 6px;
  padding: 23px 23px 17px 20px;
  border: 1px solid #D5D5D5;
  border-radius: 6px;
  background-color: #fff;
  justify-content: space-between;
}
.p-header__insta a:hover, .p-header__insta a:focus {
  opacity: 0.7;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__insta a {
    padding: 12px 23px 12px 20px;
    align-items: center;
    justify-content: center;
    gap: 12px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__insta a {
    padding: 12px 23px 12px 20px;
    align-items: center;
    justify-content: center;
    gap: 12px;
  }
}
.p-header__insta a p {
  width: calc(100% - 36px);
  font-size: 0.875rem;
  line-height: 1.35;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__insta a p {
    width: auto;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__insta a p {
    width: auto;
  }
}
.p-header__insta a p span {
  font-weight: 700;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-header__insta a p .pc {
    display: none;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-header__insta a p .pc {
    display: none;
  }
}
.p-header__insta a img {
  display: block;
  width: 30px;
  height: auto;
}

.p-footer {
  position: relative;
  width: calc(100% - 200px);
  height: 80px;
  background-color: #276A60;
  color: #fff;
  margin: 0 0 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-footer {
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-footer {
    width: 100%;
    margin: 0 auto;
  }
}
.p-footer .c-inner {
  max-width: calc(50% + 600px);
  margin: 0 0 0 auto;
}
.p-footer__privacy {
  position: absolute;
  right: max(50% - 540px, 20px);
  bottom: 30px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-footer__privacy {
    padding-left: 10px;
    right: 20px;
    bottom: 30px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-footer__privacy {
    padding-left: 10px;
    bottom: 40px;
    right: auto;
  }
}
.p-footer__privacy a {
  font-size: 0.625rem;
}
.p-footer__copyright {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-footer__copyright {
    padding-left: 25px;
    bottom: 20px;
    left: 0;
    transform: translateX(0);
  }
}
.p-footer__copyright p {
  font-size: 0.625rem;
}

.p-ticket {
  position: fixed;
  right: 0;
  bottom: 20px;
  z-index: 9;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-ticket {
    bottom: 10px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-ticket {
    display: flex;
    width: 100%;
    bottom: 0;
  }
}
.p-ticket__link {
  position: relative;
  width: 248px;
  height: 80px;
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: center;
  padding: 0 10px 0 20px;
  border-radius: 10px 0 0 10px;
  border-top: 1px solid #EBA210;
  border-bottom: 1px solid #EBA210;
  border-left: 1px solid #EBA210;
  background-color: #fff;
  color: #fff;
  transition: 0.3s;
  margin-bottom: 4px;
}
.p-ticket__link::before {
  content: "";
  position: absolute;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  background-image: linear-gradient(70deg, #F8BE36, #EEB51A, #EB950B);
  top: -1px;
  left: -1px;
  border-radius: 10px 0 0 10px;
  transition: 0.3s;
}
.p-ticket__link.paper {
  border-top: 1px solid #1A829B;
  border-bottom: 1px solid #1A829B;
  border-left: 1px solid #1A829B;
}
.p-ticket__link.paper::before {
  background-image: linear-gradient(70deg, #008D97, #1C7E5E);
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-ticket__link {
    width: 230px;
    height: 70px;
    padding: 0 15px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-ticket__link {
    width: 50%;
    height: 60px;
    gap: 5px;
    padding: 0 8px;
    margin-bottom: 0;
    border-radius: 0;
  }
  .p-ticket__link::before {
    border-radius: 0;
  }
}
.p-ticket__link:hover {
  color: #EBA210;
}
.p-ticket__link:hover::before {
  opacity: 0;
}
.p-ticket__link:hover .p-ticket__text-p .window::after {
  background-image: url(../img/icon_window-orange.svg);
}
.p-ticket__link.paper:hover {
  color: #1A829B;
}
.p-ticket__link.paper:hover::before {
  opacity: 0;
}
.p-ticket__img {
  position: relative;
}
.p-ticket__img img {
  display: block;
  width: 54px;
  height: 54px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-ticket__img img {
    width: 50px;
    height: 50px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-ticket__img img {
    width: 35px;
    height: 35px;
  }
}
.p-ticket__text {
  position: relative;
  width: calc(100% - 69px);
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-ticket__text {
    width: calc(100% - 65px);
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-ticket__text {
    padding-bottom: 1px;
    width: auto;
  }
}
.p-ticket__text-p {
  font-size: 1rem;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-ticket__text-p {
    font-size: 0.9375rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-ticket__text-p {
    font-size: 0.75rem;
  }
}
.p-ticket__text-p .font-l {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-ticket__text-p .font-l {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-ticket__text-p .font-l {
    font-size: 0.75rem;
  }
}
.p-ticket__text-p .window {
  position: relative;
}
.p-ticket__text-p .window::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background-image: url(../img/icon_window.svg);
  background-size: 100% 100%;
  right: -5px;
  top: 50%;
  transform: translate(100%, -40%);
  transition: 0.3s;
}

.p-mv {
  background-image: url(../img/mv-bg.webp);
  background-size: cover;
  background-position: bottom;
  padding-bottom: 64px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-mv {
    padding: 40px 0 34px;
    background-image: url(../img/mv-bg-sp.webp);
    background-size: cover;
    background-position: top;
    position: relative;
  }
}
.p-mv__inner {
  max-width: 1186px;
  margin: 0 auto;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-mv__inner {
    position: relative;
    z-index: 2;
  }
}
.p-mv__container {
  justify-content: space-between;
  align-items: center;
}
.p-mv__text {
  width: 50%;
  text-align: center;
  margin: 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-mv__text {
    max-width: 450px;
  }
}
.p-mv__text-heading {
  max-width: 500px;
  margin: 0 auto 0 0;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-mv__text-heading {
    width: 80%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-mv__text-heading {
    max-width: 300px;
    margin: 0 auto;
  }
}
.p-mv__img {
  width: 50%;
  padding-top: 64px;
  padding-right: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-mv__img {
    width: calc(50vw - 20px);
    padding-top: 20px;
    padding-right: 20px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-mv__img {
    width: 100%;
    padding: 0;
  }
  .p-mv__img .img {
    max-width: 600px;
    margin: 0 auto;
  }
}

.p-topNews {
  position: relative;
  padding-top: 77px;
  padding-bottom: 140px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topNews {
    padding-top: 60px;
    padding-bottom: 90px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews {
    padding-top: 38px;
    padding-bottom: 50px;
  }
}
.p-topNews::before {
  content: "";
  position: absolute;
  width: 273px;
  height: 277px;
  background-image: url(../img/news-deco01.webp);
  background-size: cover;
  top: -30px;
  left: 0;
  transform: translateX(-30%);
}
.p-topNews__flex {
  padding: 38px 0px 30px 0px;
  border-radius: 6px;
  gap: 16px 30px;
  position: relative;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews__flex {
    gap: 14px;
    padding: 28px 20px 30px;
  }
}
.p-topNews__title {
  width: 90px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews__title {
    width: 100%;
  }
}
.p-topNews__title h2 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #276A60;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews__title h2 {
    font-size: 1.25rem;
  }
}
.p-topNews__link {
  width: calc(100% - 120px);
  padding-top: 24px;
  border-top: 1px solid #E4E4E4;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews__link {
    width: 100%;
  }
}
.p-topNews__link.active .p-topNews__li {
  display: block;
}
.p-topNews__li {
  display: none;
  padding-bottom: 24px;
  border-bottom: 1px solid #E4E4E4;
  margin-bottom: 24px;
  cursor: pointer;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews__li {
    padding-bottom: 32px;
    margin-bottom: 13px;
  }
}
.p-topNews__li.active .p-topNews__parent-title::after {
  transform: rotate(-135deg);
}
.p-topNews__li:first-child, .p-topNews__li:nth-child(2), .p-topNews__li:nth-child(3) {
  display: block;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews__li:nth-child(3) {
    display: none;
  }
}
.p-topNews__parent {
  gap: 0px;
  align-items: center;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews__parent {
    gap: 9px;
  }
}
.p-topNews__parent-date {
  width: 80px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #276A60;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews__parent-date {
    width: 100%;
    font-size: 0.75rem;
  }
}
.p-topNews__parent-title {
  position: relative;
  width: calc(100% - 80px);
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews__parent-title {
    width: 100%;
    font-size: 0.875rem;
    padding-right: 20px;
  }
}
.p-topNews__parent-title::after {
  content: "";
  position: absolute;
  width: 8.5px;
  height: 8.5px;
  border-right: 2px solid #309F95;
  border-bottom: 2px solid #309F95;
  transform: rotate(45deg);
  right: 3px;
  top: 20%;
  transition: 0.3s;
}
.p-topNews__child {
  display: none;
  padding-top: 24px;
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews__child {
    font-size: 0.875rem;
    padding-left: 0;
  }
}
.p-topNews__child a {
  color: #309F95;
  text-decoration: underline;
}
.p-topNews__more {
  width: 100%;
  text-align: center;
}
.p-topNews__more.none {
  display: none;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topNews__more {
    padding-left: 0;
    padding-right: 15px;
  }
}
.p-topNews__more-btn {
  width: 230px;
  height: 54px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: #29A08F 1px solid;
  border-radius: 50px;
  margin: 0 auto;
}
.p-topNews__more-btn.active span::after {
  top: 44%;
  transform: rotate(-135deg);
}
.p-topNews__more span::before {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  background-color: #309F95;
  border-radius: 30px;
  right: 15px;
}
.p-topNews__more span::after {
  content: "";
  position: absolute;
  width: 8.5px;
  height: 8.5px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  right: 23px;
  top: 36%;
  transition: 0.3s;
}

.p-topProgram {
  margin-bottom: 140px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topProgram {
    margin-bottom: 90px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topProgram {
    margin-bottom: 90px;
  }
}
.p-topProgram__inner {
  margin: 0 auto 0 0;
  max-width: calc(50% + 540px);
  padding-left: 0;
}
.p-topProgram__flex {
  gap: 80px;
  align-items: center;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topProgram__flex {
    gap: 40px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topProgram__flex {
    gap: 27px;
  }
}
.p-topProgram__img {
  width: 50%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topProgram__img {
    width: 100%;
  }
}
.p-topProgram__img img {
  width: 100%;
  height: auto;
  display: block;
}
.p-topProgram__text {
  width: calc(50% - 80px);
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topProgram__text {
    width: calc(50% - 40px);
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topProgram__text {
    width: 100%;
    padding-left: 15px;
  }
}
.p-topProgram__p {
  font-weight: 500;
  margin-bottom: 40px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topProgram__p {
    margin-bottom: 30px;
  }
}

.p-topParticipation {
  position: relative;
  margin-bottom: 140px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topParticipation {
    margin-bottom: 90px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topParticipation {
    margin-bottom: 90px;
  }
}
.p-topParticipation__inner {
  margin: 0 auto 0 0;
  max-width: calc(50% + 540px);
  padding-left: 0;
}
.p-topParticipation__flex {
  gap: 80px;
  align-items: center;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topParticipation__flex {
    gap: 40px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topParticipation__flex {
    gap: 27px;
  }
}
.p-topParticipation__img {
  width: 50%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topParticipation__img {
    width: 100%;
  }
}
.p-topParticipation__img img {
  width: 100%;
  height: auto;
  display: block;
}
.p-topParticipation__text {
  width: calc(50% - 80px);
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topParticipation__text {
    width: calc(50% - 40px);
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topParticipation__text {
    width: 100%;
    padding-left: 15px;
  }
}
.p-topParticipation__p {
  font-weight: 500;
  margin-bottom: 30px;
}
.p-topParticipation__box-b {
  padding: 13px 27px 13px 20px;
  border: 1px solid #b6b292;
  border-radius: 4px;
  display: inline-block;
  font-weight: bold;
  margin-bottom: 5px;
  width: 360px;
}
.p-topParticipation__box-b + p {
  margin-bottom: 30px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topParticipation__box-b {
    width: 100%;
    padding: 13px 0 13px 10px;
    font-size: 0.875rem;
  }
}
.p-topParticipation .c-btn a {
  background-color: #fff;
}
.p-topParticipation .c-btn a:hover, .p-topParticipation .c-btn a:focus {
  background-color: #0ba29a;
}

.p-topGreeting {
  position: relative;
  padding: 90px 0 120px;
  color: #fff;
  background-image: url(../img/bg-greeting.webp);
  background-size: 100% 100%;
  background-position: center;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topGreeting {
    background-size: cover;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topGreeting {
    padding: 60px 0 60px;
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
  }
}
.p-topGreeting__inner {
  max-width: 930px;
}
.p-topGreeting__title {
  border-bottom: none;
  padding-bottom: 0px;
  margin-bottom: 80px;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topGreeting__title {
    margin-bottom: 60px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topGreeting__title {
    margin-bottom: 60px;
  }
}
.p-topGreeting__title .en {
  margin: 0 auto;
  background: linear-gradient(45deg, #276D62 10%, #fff 28%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-topGreeting__flex {
  gap: 9.33%;
  position: relative;
  margin-bottom: 50px;
  align-items: center;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topGreeting__flex {
    gap: 20px;
  }
}
.p-topGreeting__lead {
  width: 57.34%;
  text-align: center;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topGreeting__lead {
    width: 100%;
  }
}
.p-topGreeting__lead img {
  margin-bottom: 20px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topGreeting__lead img {
    max-width: 300px;
    display: block;
    margin: 0 auto 10px;
  }
}
.p-topGreeting__img {
  width: 33.33%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topGreeting__img {
    width: 100%;
  }
}
.p-topGreeting__img img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topGreeting__img img {
    display: block;
    width: 60%;
    margin: 0 auto;
  }
}
.p-topGreeting__p-strong {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 30px;
}
.p-topGreeting__name {
  font-weight: bold;
  /**/
  text-align: right;
  margin-top: 40px;
  /**/
}
.p-topGreeting__name span {
  font-size: 1.5rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  margin-left: 18px;
}

.p-topMagazines {
  position: relative;
  margin-top: 120px;
  margin-bottom: 140px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topMagazines {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines {
    margin-top: 70px;
    margin-bottom: 60px;
  }
}
.p-topMagazines__flex {
  gap: 6.6%;
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topMagazines__flex {
    gap: 3%;
    margin-bottom: 60px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__flex {
    margin-bottom: 60px;
    gap: 30px;
  }
}
.p-topMagazines__img {
  width: 42%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__img {
    width: 100%;
  }
}
.p-topMagazines__img a {
  display: block;
  overflow: hidden;
}
.p-topMagazines__img a:hover img {
  transform: scale(1.1);
}
.p-topMagazines__img img {
  width: 100%;
  height: auto;
  display: block;
  transition: 0.3s;
}
.p-topMagazines__text {
  width: 51.2%;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topMagazines__text {
    width: 55%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__text {
    width: 100%;
  }
}
.p-topMagazines__text-wadachi {
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topMagazines__text-wadachi {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__text-wadachi {
    margin-bottom: 20px;
  }
}
.p-topMagazines__text-wadachi .nen {
  font-size: 0.875rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__text-wadachi .nen {
    font-size: 0.75rem;
  }
}
.p-topMagazines__text-wadachi h3 {
  font-size: 2.5rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topMagazines__text-wadachi h3 {
    font-size: 2rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__text-wadachi h3 {
    font-size: 1.75rem;
  }
}
.p-topMagazines__text-wadachi h3 span {
  font-size: 1.125rem;
  margin-left: 13px;
}
.p-topMagazines__text-mokuji p {
  margin-bottom: 20px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__text-mokuji p {
    margin-bottom: 10px;
  }
}
.p-topMagazines__text-mokuji ul {
  margin-bottom: 40px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__text-mokuji ul {
    margin-bottom: 30px;
  }
}
.p-topMagazines__text-mokuji li {
  padding-bottom: 24px;
  border-bottom: 1px solid #E4E4E4;
  margin-bottom: 24px;
  text-indent: -1.1rem;
  padding-left: 1.1rem;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topMagazines__text-mokuji li {
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__text-mokuji li {
    font-size: 0.875rem;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
}
.p-topMagazines__bottom {
  gap: 28px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__bottom {
    gap: 30px 20px;
  }
}
.p-topMagazines__bottom-link {
  display: block;
  width: calc(25% - 21px);
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__bottom-link {
    width: calc(50% - 10px);
  }
}
.p-topMagazines__bottom-link:hover img {
  transform: scale(1.1);
}
.p-topMagazines__bottom-link:focus img {
  transform: scale(1.1);
}
.p-topMagazines__bottom-link .img {
  overflow: hidden;
  margin-bottom: 15px;
  border-radius: 6px;
}
.p-topMagazines__bottom-link img {
  display: block;
  width: 100%;
  height: auto;
  transition: 0.3s;
}
.p-topMagazines__bottom-link .year {
  font-size: 0.875rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__bottom-link .year {
    font-size: 0.75rem;
  }
}
.p-topMagazines__bottom-link .title {
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topMagazines__bottom-link .title {
    font-size: 1rem;
  }
}
.p-topMagazines__bottom-link .title span {
  position: relative;
}
.p-topMagazines__bottom-link .title span::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background-image: url(../img/icon-pdf.svg);
  background-size: cover;
  background-position: center;
  right: -20px;
  bottom: 3px;
}

.p-topFaq {
  padding: 100px 0;
  background-color: #F7F7F7;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topFaq {
    padding: 60px 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topFaq__flex {
    gap: 0px;
  }
}
.p-topFaq__title {
  width: 15%;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topFaq__title {
    width: 30%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topFaq__title {
    width: 100%;
  }
}
.p-topFaq__title .en {
  font-size: 2.75rem;
  background: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: #262222;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topFaq__title .en {
    font-size: 2rem;
  }
}
.p-topFaq__list {
  width: 85%;
  padding-top: 20px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topFaq__list {
    width: 70%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topFaq__list {
    width: 100%;
  }
}
.p-topFaq__li {
  padding-bottom: 20px;
  border-bottom: 1px solid #E4E4E4;
  margin-bottom: 24px;
  cursor: pointer;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topFaq__li {
    padding-bottom: 12px;
    margin-bottom: 12px;
  }
}
.p-topFaq__li.active .p-topFaq__parent::before {
  transform: rotate(-135deg);
}
.p-topFaq__parent {
  position: relative;
  padding-bottom: 10px;
}
.p-topFaq__parent::before {
  content: "";
  position: absolute;
  width: 8.5px;
  height: 8.5px;
  border-right: 2px solid #0BA29A;
  border-bottom: 2px solid #0BA29A;
  transform: rotate(45deg);
  right: 3px;
  top: 20%;
  transition: 0.3s;
}
.p-topFaq__parent p {
  position: relative;
  padding-left: 40px;
  font-weight: bold;
}
.p-topFaq__parent p::before {
  content: "Q.";
  position: absolute;
  font-family: "Ubuntu", sans-serif;
  left: 0;
  top: -3px;
  line-height: 1;
  font-size: 1.8125rem;
  font-weight: 500;
  color: #086661;
}
.p-topFaq__child {
  display: none;
  padding-bottom: 12px;
}
.p-topFaq__child p {
  position: relative;
  padding-left: 40px;
  margin-top: 12px;
  font-size: 0.9375rem;
  font-weight: 500;
  padding-right: 100px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topFaq__child p {
    padding-right: 30px;
  }
}
.p-topFaq__child p::before {
  content: "A.";
  position: absolute;
  font-family: "Ubuntu", sans-serif;
  left: 0;
  top: -3px;
  line-height: 1;
  font-size: 1.8125rem;
  font-weight: 500;
  color: #29A08F;
}

.p-topAccess {
  padding-top: 140px;
  padding-bottom: 140px;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess {
    padding-top: 90px;
    padding-bottom: 30px;
  }
}
.p-topAccess::before {
  content: "";
  position: absolute;
  width: 367px;
  height: 372px;
  background-image: url(../img/news-deco01.webp);
  background-size: cover;
  bottom: 0;
  left: 0;
  transform: translate(-40%, 30%);
}
.p-topAccess__inner {
  position: relative;
  max-width: calc(50% + 600px);
  padding-right: 0;
  margin: 0 0 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-topAccess__inner {
    padding-left: 25px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess__inner {
    padding-left: 15px;
  }
}
.p-topAccess__flex {
  gap: 20px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess__flex {
    gap: 40px;
  }
}
.p-topAccess__text {
  width: calc(38% - 20px);
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess__text {
    width: 100%;
    order: 2;
    margin-bottom: 40px;
    padding-right: 15px;
  }
}
.p-topAccess__map {
  width: 62%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess__map {
    width: 100%;
    order: 1;
    border-radius: 10px 0 0 10px;
  }
}
.p-topAccess__map iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 826/476;
  border-radius: 10px 0 0 10px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess__map iframe {
    aspect-ratio: 890/513;
  }
}
.p-topAccess__title {
  margin-bottom: 30px;
}
.p-topAccess__title .en {
  background: linear-gradient(45deg, #276D62 17%, #262222 28%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess__title {
    margin-bottom: 40px;
  }
}
.p-topAccess__p {
  margin-bottom: 28px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess__p {
    margin-bottom: 30px;
  }
}
.p-topAccess__p h3 {
  font-size: 1.625rem;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess__p h3 {
    font-size: 1.125rem;
    margin-bottom: 5px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess__p p {
    font-size: 0.875rem;
  }
}
.p-topAccess__p p .time {
  display: block;
}
.p-topAccess__p p .kome {
  display: block;
  font-size: 0.9375rem;
  text-indent: -0.9375rem;
  padding-left: 1.875rem;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess__p p .kome {
    font-size: 0.75rem;
    text-indent: -0.75rem;
    padding-left: 1.5rem;
  }
}
.p-topAccess__p p .kome.mb1rem {
  margin-bottom: 1rem;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-topAccess__p p .kome.mb1rem {
    margin-bottom: 0.75rem;
  }
}
.p-topAccess__btn a .window {
  position: relative;
  color: #272222;
}
.p-topAccess__btn a .window::before, .p-topAccess__btn a .window::after {
  display: none;
}
.p-topAccess__btn a .icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.p-topAccess__btn a .icon #circle {
  transition: 0.3s;
}
.p-topAccess__btn a .icon #icon_window rect, .p-topAccess__btn a .icon #icon_window path {
  transition: 0.3s;
}
.p-topAccess__btn a:hover .icon #circle, .p-topAccess__btn a:focus .icon #circle {
  fill: #fff;
}
.p-topAccess__btn a:hover .icon .line, .p-topAccess__btn a:focus .icon .line {
  stroke: #0ba29a;
}

.p-bread {
  position: relative;
  padding: 18px 40px 18px 20px;
  background-color: #fff;
  font-weight: 500;
  border-top: 1px solid #E4E4E4;
  border-bottom: 1px solid #E4E4E4;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-bread {
    padding-right: 20px;
  }
}
.p-bread__flex {
  gap: 25px;
  justify-content: right;
}
.p-bread__parents {
  color: #BFBFBF;
  position: relative;
  font-size: 0.875rem;
}
.p-bread__parents::after {
  content: "/";
  position: absolute;
  right: -15px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.875rem;
}
.p-bread__child {
  color: #202020;
  font-size: 0.875rem;
}

.p-pageBottom {
  width: 100%;
  height: 80px;
  background-color: #F7F7F7;
  background-position: center;
  background-size: cover;
}

.p-kv {
  background-size: cover;
  background-position: center;
  background-image: url(../img/kv/kv.webp);
  position: relative;
  width: 100%;
  height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-kv {
    height: 200px;
  }
}
.p-kv__title {
  position: relative;
  z-index: 1;
  text-align: center;
  color: #fff;
}
.p-kv__title h1 {
  font-size: 0.9375rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-kv__title h1 {
    font-size: 0.875rem;
  }
}
.p-kv__title .en {
  font-size: 4.625rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-kv__title .en {
    font-size: 3rem;
  }
}

.p-comingsoon {
  padding: 333px 0 389px;
  position: relative;
  background-color: rgba(249, 247, 238, 0.26);
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-comingsoon {
    padding: 270px 0 371px;
  }
}
.p-comingsoon::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 565px;
  height: auto;
  aspect-ratio: 565/364;
  background-image: url(../img/circle-texture-green-kv.svg);
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-comingsoon::before {
    width: 187px;
  }
}
.p-comingsoon__text {
  text-align: center;
}
.p-comingsoon__text h1 {
  font-size: 4.625rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-comingsoon__text h1 {
    font-size: 2.75rem;
  }
}
.p-comingsoon__text p {
  font-size: 1.25rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-comingsoon__text p {
    font-size: 0.875rem;
  }
}

.p-program {
  position: relative;
  padding-top: 120px;
  padding-bottom: 116px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}
.p-program::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(45deg, #DBEFF1, #E2ECE3);
  top: 0;
  left: 0;
  z-index: 0;
}
.p-program__inner {
  position: relative;
  z-index: 1;
}
.p-program__title {
  margin-bottom: 40px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__title {
    margin-bottom: 30px;
  }
}
.p-program__bg {
  background-color: #fff;
  padding: 50px 85px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-program__bg {
    padding: 50px 15px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__bg {
    padding: 30px 15px;
  }
}
.p-program__flex {
  gap: 30px;
  align-items: center;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-program__flex {
    gap: 20px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__flex {
    gap: 40px;
  }
}
.p-program__date {
  width: calc(44% - 30px);
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-program__date {
    width: calc(44% - 20px);
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__date {
    width: 100%;
  }
}
.p-program__date-title {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__date-title {
    font-size: 1rem;
    margin-bottom: 10px;
  }
}
.p-program__date-title .font-l {
  font-size: 2.5rem;
  display: block;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-program__date-title .font-l {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__date-title .font-l {
    font-size: 1.75rem;
  }
}
.p-program__date-day {
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__date-day {
    font-size: 1rem;
  }
}
.p-program__date-day .font-m {
  font-size: 1.75rem;
  margin-right: 2px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-program__date-day .font-m {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__date-day .font-m {
    font-size: 1.5rem;
  }
}
.p-program__date-day .font-l {
  font-size: 2.75rem;
  margin-left: 2px;
  margin-right: 2px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__date-day .font-l {
    font-size: 2rem;
  }
}
.p-program__date-place {
  font-weight: bold;
  font-size: 1.125rem;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__date-place {
    font-size: 0.9375rem;
  }
}
.p-program__schedule {
  width: 56%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__schedule {
    width: 100%;
  }
}
.p-program__schedule-title {
  margin-bottom: 17px;
  font-weight: bold;
  font-size: 1.5rem;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__schedule-title {
    font-size: 1.125rem;
  }
}
.p-program__schedule-list {
  background-color: #F7F7F7;
  gap: 20px;
  align-items: center;
  padding: 22px 30px;
  font-size: 1.125rem;
  font-weight: bold;
  border-radius: 6px;
  margin-bottom: 8px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-program__schedule-list {
    font-size: 1rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__schedule-list {
    padding: 15px;
    font-size: 0.875rem;
  }
}
.p-program__schedule-time {
  width: 160px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-program__schedule-time {
    width: 110px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__schedule-time {
    width: 90px;
  }
}
.p-program__schedule-text {
  width: calc(100% - 180px);
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-program__schedule-text {
    width: calc(100% - 130px);
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-program__schedule-text {
    width: calc(100% - 110px);
  }
}

.p-performance {
  padding: 120px 0 140px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-performance {
    padding: 60px 0 100px;
  }
}
.p-performance__title {
  text-align: center;
  margin-bottom: 80px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-performance__title {
    margin-bottom: 40px;
  }
}
.p-performance__title .ja {
  margin: 0 auto;
}
.p-performance__content {
  gap: 7%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-performance__content {
    gap: 20px;
  }
}
.p-performance__img {
  padding-top: 60px;
  width: 28%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-performance__img {
    padding-top: 0;
    width: 100%;
  }
  .p-performance__img img {
    display: block;
    width: 80%;
    max-width: 400px;
    margin: 0 auto;
  }
}
.p-performance__text {
  width: 65%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-performance__text {
    width: 100%;
  }
}
.p-performance__text-name {
  margin-bottom: 24px;
}
.p-performance__text-name .title {
  font-size: 1.125rem;
  margin-bottom: 4px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-performance__text-name .title {
    font-size: 0.875rem;
  }
}
.p-performance__text-name .name {
  font-size: 2.25rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-performance__text-name .name {
    font-size: 1.5rem;
  }
}
.p-performance__text-name .sotsu {
  font-size: 1.125rem;
  margin-left: 10px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-performance__text-name .sotsu {
    font-size: 1rem;
    margin-left: 5px;
  }
}
.p-performance__text-bg .career {
  background-image: linear-gradient(45deg, #DBEFF1, #E2ECE3);
  padding: 6px 20px 8px;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 30px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-performance__text-bg .career {
    padding: 6px 15px 8px;
    font-size: 1rem;
    margin-bottom: 20px;
  }
}
.p-performance__text-bg .career-text {
  font-size: 1.125rem;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-performance__text-bg .career-text {
    font-size: 0.9375rem;
  }
}

.p-participation__lead {
  padding: 90px 0 100px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__lead {
    padding: 60px 0;
  }
}
.p-participation__lead-inner {
  max-width: 970px;
}
.p-participation__lead-text {
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__lead-text {
    font-size: 1rem;
  }
}
.p-participation__lead-text span {
  color: #309F95;
}
.p-participation__lead-info {
  text-align: center;
  margin-bottom: 30px;
  font-size: 1.25rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__lead-info {
    font-size: 1rem;
  }
}
.p-participation__lead-attention {
  padding: 32px 70px;
  background-color: #F7F8F8;
  border-radius: 6px;
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-participation__lead-attention {
    padding: 32px 30px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__lead-attention {
    padding: 32px 20px;
    flex-wrap: wrap;
    gap: 10px;
  }
}
.p-participation__lead-attention-h {
  position: relative;
  font-size: 1.125rem;
  width: 105px;
  font-weight: bold;
  padding-left: 26px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__lead-attention-h {
    font-size: 1rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.p-participation__lead-attention-h::before {
  content: "";
  position: absolute;
  width: 17px;
  height: auto;
  aspect-ratio: 357/319;
  background-image: url(../img/participation/attention-mark-icon.svg);
  background-size: 100% 100%;
  left: 0;
  top: 50%;
  transform: translateY(-45%);
}
.p-participation__lead-attention-p {
  font-weight: bold;
  width: calc(100% - 155px);
  line-height: 1.65;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__lead-attention-p {
    width: 100%;
  }
}
.p-participation__ticket {
  position: relative;
  padding: 110px 0 120px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket {
    padding: 60px 0 70px;
  }
}
.p-participation__ticket::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(45deg, #DBEFF1, #E2ECE3);
  top: 0;
  left: 0;
  z-index: 0;
}
.p-participation__ticket-inner {
  position: relative;
  z-index: 1;
}
.p-participation__ticket-title {
  margin-bottom: 40px;
}
.p-participation__ticket-bg {
  padding: 60px 100px;
  background-color: #fff;
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-participation__ticket-bg {
    padding: 60px 15px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-bg {
    padding: 40px 20px;
    margin-bottom: 40px;
  }
}
.p-participation__ticket-bg-title h3 {
  font-size: 1.5rem;
  font-weight: bold;
  padding: 4px 0 4px 20px;
  border-left: 4px solid #0BA29A;
  margin-bottom: 18px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-bg-title h3 {
    font-size: 1.25rem;
  }
}
.p-participation__ticket-bg-title p {
  margin-bottom: 32px;
  font-weight: 500;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-bg-title p {
    font-size: 0.875rem;
    margin-bottom: 20px;
  }
}
.p-participation__ticket-bg-table {
  margin-bottom: 60px;
  overflow: hidden;
}
.p-participation__ticket-bg-table table {
  width: 100%;
  display: block;
  overflow: scroll;
  scrollbar-width: none;
}
.p-participation__ticket-bg-table tbody {
  display: block;
  width: 100%;
  min-width: 600px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-bg-table tbody {
    min-width: 460px;
  }
}
.p-participation__ticket-bg-table tr {
  display: flex;
  width: 100%;
}
.p-participation__ticket-bg-table th {
  text-align: center;
  background-color: #EDF8F8;
  border-top: 1px solid #E2E2E2;
  border-right: 1px solid #E2E2E2;
  border-bottom: 1px solid #E2E2E2;
  padding: 27px 10px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-bg-table th {
    font-size: 0.875rem;
    padding: 15px 5px;
  }
}
.p-participation__ticket-bg-table th:first-of-type {
  width: 22.7%;
  border-left: 1px solid #E2E2E2;
}
.p-participation__ticket-bg-table th:nth-of-type(2) {
  width: 18.1%;
}
.p-participation__ticket-bg-table th:nth-of-type(3) {
  width: 18.1%;
}
.p-participation__ticket-bg-table th:last-of-type {
  width: 41.1%;
}
.p-participation__ticket-bg-table td {
  text-align: center;
  background-color: #fff;
  border-right: 1px solid #E2E2E2;
  border-bottom: 1px solid #E2E2E2;
  padding: 27px 10px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-bg-table td {
    font-size: 0.875rem;
    padding: 15px 5px;
  }
}
.p-participation__ticket-bg-table td:first-of-type {
  width: 22.7%;
  border-left: 1px solid #E2E2E2;
}
.p-participation__ticket-bg-table td:nth-of-type(2) {
  width: 18.1%;
}
.p-participation__ticket-bg-table td:nth-of-type(3) {
  width: 18.1%;
}
.p-participation__ticket-bg-table td:last-of-type {
  width: 41.1%;
  font-size: 0.9375rem;
  justify-content: left;
  font-weight: normal;
  text-align: left;
}
.p-participation__ticket-bg-dl {
  justify-content: space-between;
  font-weight: bold;
  border: 1px solid #E2E2E2;
  padding: 22px 30px 26px 20px;
}
.p-participation__ticket-end {
  max-width: 900px;
  margin: 80px auto 0;
  border: 4px solid #086661;
  background-color: #fff;
  text-align: center;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-end {
    margin-top: 40px;
  }
}
.p-participation__ticket-end .end-title {
  background-color: #086661;
  padding: 13px;
}
.p-participation__ticket-end .end-title h3 {
  color: #fff;
  font-weight: bold;
  font-size: 1.5rem;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-end .end-title h3 {
    font-size: 1.25rem;
  }
}
.p-participation__ticket-end .end-block {
  padding: 25px 0 58px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-end .end-block {
    padding-bottom: 40px;
  }
}
.p-participation__ticket-end .end-block-date {
  font-weight: bold;
  font-size: 1.125rem;
  margin-bottom: 10px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-end .end-block-date {
    font-size: 1rem;
  }
}
.p-participation__ticket-end .end-block-date .year {
  font-size: 1.75rem;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-end .end-block-date .year {
    font-size: 1.5rem;
  }
}
.p-participation__ticket-end .end-block-date .month {
  font-size: 2.75rem;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-end .end-block-date .month {
    font-size: 2rem;
  }
}
.p-participation__ticket-end .end-block-date .day {
  font-size: 2.75rem;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-end .end-block-date .day {
    font-size: 2rem;
  }
}
.p-participation__ticket-end .end-block-text {
  font-size: 1.25rem;
  font-weight: bold;
  padding-bottom: 6px;
  border-bottom: 4px solid #D3001A;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__ticket-end .end-block-text {
    font-size: 1rem;
    border-bottom: none;
    line-height: 2;
  }
  .p-participation__ticket-end .end-block-text .bb {
    border-bottom: 4px solid #D3001A;
  }
}
.p-participation__ticket-end .end-block-text .red {
  color: #D3001A;
}
.p-participation__web {
  padding: 130px 0 50px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__web {
    padding: 60px 0 20px;
  }
}
.p-participation__web-title {
  margin-bottom: 80px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__web-title {
    margin-bottom: 50px;
  }
}
.p-participation__flow {
  position: relative;
  max-width: 1020px;
  margin: 0 auto 70px;
  padding-bottom: 70px;
  border-bottom: 1px solid rgba(29, 29, 29, 0.2);
  gap: 5%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow {
    gap: 0;
    margin-bottom: 40px;
    padding-bottom: 40px;
  }
}
.p-participation__flow-text {
  width: 65%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-text {
    width: 100%;
  }
}
.p-participation__flow-text-title {
  display: flex;
  gap: 16px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-text-title {
    gap: 10px;
  }
}
.p-participation__flow-text-num {
  width: 52px;
  height: 52px;
  border-radius: 52px;
  font-size: 1.875rem;
  font-family: "Ubuntu", serif;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  background-color: #276A60;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-text-num {
    width: 32px;
    height: 32px;
    font-size: 1.25rem;
  }
}
.p-participation__flow-text-h {
  width: calc(100% - 68px);
  font-size: 1.375rem;
  line-height: 2;
  font-weight: bold;
  margin-bottom: 40px;
  padding-top: 4px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-text-h {
    width: calc(100% - 42px);
    font-size: 1rem;
    margin-bottom: 20px;
    padding-top: 0;
  }
}
.p-participation__flow-text-h a {
  position: relative;
  color: #EC9B0E;
  padding-right: 25px;
  text-decoration: underline;
}
.p-participation__flow-text-h a::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  background-image: url(../img/icon_window-orange.svg);
  background-size: 100% 100%;
  right: 6px;
  top: 55%;
  transform: translateY(-50%);
}
.p-participation__flow-text-h a.off::after {
  background-image: url(../img/icon_window-gray.svg);
}
.p-participation__flow-text-p {
  font-size: 1.125rem;
  margin-left: 68px;
  margin-bottom: 30px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-text-p {
    margin-left: 0;
    font-size: 0.9375rem;
    margin-bottom: 20px;
  }
}
.p-participation__flow-text-p a {
  position: relative;
  display: inline-block;
  color: #EC9B0E;
  padding-right: 25px;
  font-weight: bold;
  text-decoration: underline;
}
.p-participation__flow-text-p a::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  background-image: url(../img/icon_window-orange.svg);
  background-size: 100% 100%;
  right: 6px;
  top: 55%;
  transform: translateY(-50%);
}
.p-participation__flow-btn {
  margin-left: 68px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-btn {
    margin-left: 0;
    margin-bottom: 20px;
  }
}
.p-participation__flow-btn a {
  max-width: 316px;
}
.p-participation__flow-btn a span {
  max-width: 316px;
}
.p-participation__flow-btn a span::before {
  right: 15px;
}
.p-participation__flow-btn a span::after {
  width: 14px;
  height: 14px;
  border: none;
  transform: translateY(-50%);
  right: 25px;
  top: 50%;
  background-image: url(../img/icon_window.svg);
  background-size: 100% 100%;
}
.p-participation__flow-btn a:hover span::after, .p-participation__flow-btn a:focus span::after {
  background-image: url(../img/icon_window-lightGreen.svg);
}
.p-participation__flow-img {
  width: 30%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-img {
    width: 100%;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-img img {
    height: auto;
    aspect-ratio: 5/3;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    max-width: 500px;
  }
}
.p-participation__flow-img .kome {
  margin-top: 7px;
  font-size: 0.9375rem;
  text-indent: -0.9375rem;
  padding-left: 0.9375rem;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-img .kome {
    font-size: 0.75rem;
    text-indent: -0.75rem;
    padding-left: 0.75rem;
  }
}
.p-participation__flow-bg {
  background-color: #fff;
  border-radius: 20px;
  border: 1px solid #D5D5D5;
  padding: 30px 40px 48px;
  margin-left: 68px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-bg {
    margin-left: 0;
    margin-bottom: 20px;
    padding: 30px 20px;
  }
}
.p-participation__flow-bg .title {
  margin-bottom: 20px;
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-bg .title {
    font-size: 1rem;
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-bg .text {
    font-size: 0.875rem;
  }
}
.p-participation__flow-bg .dl {
  gap: 10px;
  margin-bottom: 14px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-bg .dl {
    margin-bottom: 10px;
  }
}
.p-participation__flow-bg .dl:last-of-type {
  margin-bottom: 0;
}
.p-participation__flow-bg .dt {
  width: 60px;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-bg .dt {
    font-size: 0.875rem;
  }
}
.p-participation__flow-bg .dd {
  width: calc(100% - 70px);
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__flow-bg .dd {
    font-size: 0.875rem;
  }
}
.p-participation__paper {
  background-color: #F7F7F7;
  padding-top: 110px;
  padding-bottom: 30px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__paper {
    padding-top: 70px;
  }
}
.p-participation__contact {
  padding: 110px 0 140px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact {
    padding: 90px 0;
  }
}
.p-participation__contact-inner {
  max-width: 1050px;
}
.p-participation__contact-title {
  text-align: center;
  margin-bottom: 80px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-title {
    margin-bottom: 50px;
  }
}
.p-participation__contact-title .ja {
  margin: 0 auto;
}
.p-participation__contact-title::after {
  left: 50%;
  transform: translateX(-50%);
}
.p-participation__contact-mail {
  align-items: center;
  justify-content: space-around;
  margin-bottom: 70px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-mail {
    margin-bottom: 40px;
    gap: 20px;
  }
}
.p-participation__contact-text {
  font-size: 1.5rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-text {
    font-size: 1.125rem;
  }
}
.p-participation__contact-btn {
  width: 50%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-btn {
    width: 100%;
  }
}
.p-participation__contact-btn a {
  max-width: 510px;
  padding: 21px 0;
  text-align: center;
  background-color: #078987;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-btn a {
    padding: 15px 0;
  }
}
.p-participation__contact-btn a span {
  color: #fff;
  max-width: 510px;
  padding: 0;
}
.p-participation__contact-btn a span::before, .p-participation__contact-btn a span::after {
  display: none;
}
.p-participation__contact-btn a .text {
  font-size: 1.125rem;
  padding-left: 25px;
  display: inline;
}
.p-participation__contact-btn a .text::before {
  display: block;
  width: 20.83px;
  height: 16.66px;
  background-image: url(../img/mail-icon.svg);
  background-size: 100% 100%;
  background-color: unset;
  border: none;
  border-radius: 0;
  top: 60%;
  left: 0;
  right: auto;
  transform: translateY(-50%);
}
.p-participation__contact-btn a:hover, .p-participation__contact-btn a:focus {
  background-color: #fff;
}
.p-participation__contact-btn a:hover span, .p-participation__contact-btn a:focus span {
  color: #078987;
}
.p-participation__contact-btn a:hover .text::before, .p-participation__contact-btn a:focus .text::before {
  background-image: url(../img/mail-icon-green.svg);
}
.p-participation__contact-other {
  background-color: #F7F7F7;
  border-radius: 20px;
  padding: 38px 80px;
  align-items: center;
  gap: calc(40% - 220px);
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-participation__contact-other {
    padding: 38px 40px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-other {
    padding: 30px 20px;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-other {
    gap: 20px;
  }
}
.p-participation__contact-other-title {
  width: 220px;
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-other-title {
    width: 100%;
    font-size: 1rem;
  }
}
.p-participation__contact-other-text {
  width: 60%;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-other-text {
    width: 100%;
  }
}
.p-participation__contact-other-text .dl {
  gap: 20px;
  margin-bottom: 14px;
}
.p-participation__contact-other-text .dl:last-of-type {
  margin-bottom: 0;
}
.p-participation__contact-other-text .dt {
  width: 32px;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-other-text .dt {
    font-size: 0.875rem;
  }
}
.p-participation__contact-other-text .dd {
  width: calc(100% - 52px);
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-other-text .dd {
    font-size: 0.875rem;
  }
}
.p-participation__contact-other-text .dd a {
  pointer-events: none;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-participation__contact-other-text .dd a {
    color: #078987;
    pointer-events: all;
  }
}

.p-privacy {
  padding: 100px 0 160px;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-privacy {
    padding: 50px 13px 80px;
  }
}
.p-privacy__inner {
  max-width: 930px;
}
.p-privacy__text {
  margin-bottom: 73px;
}
.p-privacy__text p {
  margin-bottom: 18px;
}
.p-privacy__text h2 {
  padding-top: 8px;
  padding-left: 10px;
  border-left: 4px solid #0BA29A;
  margin-bottom: 40px;
  font-size: 1.5rem;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-privacy__text h2 {
    font-size: 1.375rem;
    margin-bottom: 15px;
  }
}
.p-privacy__text li {
  position: relative;
  margin-bottom: 18px;
  text-indent: -0.75rem;
  padding-left: 0.75rem;
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-privacy__text li {
    margin-bottom: 10px;
  }
}
.p-privacy__text li::before {
  color: #0BA29A;
  font-family: "Ubuntu", sans-serif;
  font-weight: bold;
  font-size: 1.125rem;
}
.p-privacy__text li:first-child::before {
  content: "1.";
}
.p-privacy__text li:nth-child(2)::before {
  content: "2.";
}
.p-privacy__text li:nth-child(3)::before {
  content: "3.";
}
.p-privacy__text li:nth-child(4)::before {
  content: "4.";
}
.p-privacy__text li:nth-child(5)::before {
  content: "5.";
}
.p-privacy__text li:nth-child(6)::before {
  content: "6.";
}
.p-privacy__text li:nth-child(7)::before {
  content: "7.";
}
.p-privacy__text .child {
  margin-top: 13px;
}
.p-privacy__text .child li {
  text-indent: -3rem;
  padding-left: 3rem;
  margin-bottom: 5px;
}
.p-privacy__text .child li:first-child::before {
  content: "（1）";
}
.p-privacy__text .child li:nth-child(2)::before {
  content: "（2）";
}
.p-privacy__text .child li:nth-child(3)::before {
  content: "（3）";
}
.p-privacy__text .child li:nth-child(4)::before {
  content: "（4）";
}
.p-privacy__text .child li:nth-child(5)::before {
  content: "（5）";
}
.p-privacy__text .child li:nth-child(6)::before {
  content: "（6）";
}
.p-privacy__text a {
  color: #B6B292;
  font-weight: bold;
  position: relative;
  margin-right: 30px;
  display: inline-block;
}
.p-privacy__text a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #B6B292;
  bottom: -1px;
}
.p-privacy__text a::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 14px;
  background-image: url(../img/icon_window-brown.svg);
  background-size: cover;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
}

.p-commerce {
  padding: 100px 0 160px;
}

@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-commerce {
    padding: 50px 13px 80px;
  }
}
.p-commerce__inner {
  max-width: 930px;
}

.p-commerce__text {
  margin-bottom: 50px;
}

.p-commerce__text p {
  margin-bottom: 18px;
}

.p-commerce__text h2 {
  padding-top: 8px;
  padding-left: 10px;
  border-left: 4px solid #0BA29A;
  margin-bottom: 20px;
  font-size: 1.5rem;
  font-weight: bold;
}

@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .p-commerce__text h2 {
    font-size: 1.375rem;
    margin-bottom: 15px;
  }
}
.p-page404 {
  padding: 180px 0;
  text-align: center;
}
.p-page404__title {
  font-size: 1.5rem;
  margin-bottom: 60px;
}
.p-page404__text {
  font-size: 1.125rem;
  margin-bottom: 60px;
}
.p-page404__btn a {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .sp {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
}
@media screen and (min-width: 0px) and (max-width: 767.99px) {
  .pc {
    display: none;
  }
}
/*# sourceMappingURL=style.css.map */