@charset "utf-8";
.wrap {
  background: url("../images/top/shine.webp") no-repeat left top;
  background-size: 102.6rem 67.3rem;
}
/*-----------------------

       header         

-----------------------*/
header {
  padding: 0 4rem;
  margin-bottom: 4rem;
}
header h1, header p.logo {
  padding-top: 2rem;
}
header nav {
  margin-top: -1.8vw;
}
header nav li a {
  font-size: clamp(1.6rem, 1.7vw, 2rem);
  font-weight: 700;
  padding-left: 1.6vw;
  letter-spacing: 0.2em;
  position: relative;
  transition: 0.3s;
}
header nav li a::after {
  content: "|";
  display: inline-block;
  margin-left: 1.6vw;
  color: #fff;
}
header nav li:last-child a {
  padding-right: 0;
}
header nav li:last-child a::after {
  display: none;
}
header nav li a:hover {
  color: var(--mainColor);
  transition: 0.3s;
}
/*-----------------------

       footer         

-----------------------*/
footer .navArea {
  background: var(--subColor);
  padding: 6rem;
}
footer .navArea ul {
  gap: 3.5vw;
}
footer .navArea ul li a {
  font-size: 1.8rem;
  letter-spacing: 0.3em;
}
footer .navArea ul li ul.sub-menu {
  margin-left: 0.3em;
  margin-top: 2rem;
}
footer .navArea ul li ul.sub-menu li a {
  position: relative;
  font-size: clamp(1.4rem, 1.4vw, 1.6rem);
}
footer .navArea ul li ul.sub-menu li a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  margin-right: 0.5rem;
  font-size: 130%;
}
footer p.copy {
  padding: 2rem 0;
}
footer p.copy small {
  font-size: clamp(1.2rem, 1.2vw, 1.6rem);
}
/*ページトップ*/
.to-top {
  position: fixed;
  right: 4rem;
  bottom: 4rem;
  z-index: 50;
}
/*-----------------------

       top         

-----------------------*/
.mv .flex-e {
  position: relative;
}
.mv .textG {
  position: absolute;
  height: auto;
  left: 12.5vw;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
}
.top-slider {
  height: 30vw;
  width: 100%;
}
@keyframes slideAnime {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  63% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
/* ------ hero erea ------- */
.hero {
  height: 30vw;
}
.hero__inner {
  position: relative;
  height: 30vw;
}
.hero-slide__item {
  position: relative;
}
.hero-slide__item .hero-slide__img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}
.hero-slide__img {
  animation-duration: 15s;
  animation-iteration-count: infinite;
  animation-name: slideAnime;
  animation-timing-function: ease;
  display: block;
  height: 30vw;
  object-fit: cover;
  opacity: 0;
}
.hero-slide__item:nth-of-type(1) .hero-slide__img {
  animation-delay: 0s;
}
.hero-slide__item:nth-of-type(2) .hero-slide__img {
  animation-delay: 5s;
}
.hero-slide__item:nth-of-type(3) .hero-slide__img {
  animation-delay: 10s;
}
.mv h2 {
  font-size: clamp(3.2rem, 4.8vw, 7.4rem);
  font-weight: 700;
}
.mv h2 span {
  color: var(--mainColor);
  font-weight: 700;
}
.mv h2 + p {
  margin-left: -3rem;
  margin-top: -1.5rem;
}
.sec01 {
  margin-top: 6vw;
  position: relative;
  z-index: 1;
}
.sec01 .tabs {
  margin: 9vw 0 4rem;
}
.sec01 .tabs label {
  cursor: pointer;
  font-size: clamp(1.6rem, 1.6vw, 2.4rem);
  line-height: 1;
}
.sec01 .tabs label:not(:last-of-type) {
  border-right: solid 1px;
  margin-right: 1.5vw;
  padding-right: 1.5vw;
}
.sec01 .tabs label:hover {
  color: var(--mainColor);
}
.event-wrap {
  margin-bottom: 9vw;
}
.event-wrap ul {
  margin-bottom: 5vw;
}
.event-wrap ul li {
  display: flex;
  flex-direction: column;
}
.event-wrap ul li figure {
  /*aspect-ratio: 3 / 4;*/
  aspect-ratio: 3.5 / 5.1;
  overflow: hidden;
  /*  height: 40rem;*/
}
.event-wrap ul li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /*  object-fit: full;*/
}
.event-wrap ul li p.gest {
  font-size: clamp(1.3rem, 1.3vw, 1.5rem);
}
.event-wrap ul li p.gest span.gest {
  width: 23%;
}
.event-wrap ul li p.gest span:last-child {
  width: calc(100% - 23%);
  color: var(--baseColor);
}
.event-wrap time {
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 1rem;
  display: block;
}
.event-wrap .cat {
  border-bottom: solid 2px var(--mainColor);
  padding-bottom: 1rem;
  margin: 1rem 0;
}
.event-wrap .cat p {
  display: flex;
  color: var(--mainColor);
  font-weight: 700;
  font-size: 1.8rem;
}
.event-wrap .cat p span {
  font-weight: 700;
}
.event-wrap .cat p img {
  position: relative;
  top: -0.5rem;
  margin-right: 0.5rem;
}
.event-wrap .cat p span.new {
  position: relative;
}
.event-wrap .cat p span.new::after {
  content: "|";
  margin: 0 0.5rem;
}
.event-wrap h3, .event-wrap p.event-day {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
}
.event-wrap h3 {
  min-height: 3.5em;
}
.event-wrap p.gest span {
  color: var(--mainColor);
  font-weight: 500;
}
.event-wrap p.event-place {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 0.5rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.event-wrap .detail-btn2 {
  margin-top: auto;
}
.event-wrap .detail-btn2 a {
  margin-top: 2rem;
}
.event-wrap ul p.no-post {
  margin: 0 auto;
}
.sec02 {
  position: relative;
  z-index: 5;
  padding: 5vw 0 15vw;
}
.sec02::after {
  content: "";
  display: block;
  position: absolute;
  top: -42rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  bottom: 0;
  background: url("../images/top/youtube-bg.svg") no-repeat center top/cover;
  z-index: -1;
  pointer-events: none;
}
.sec02 .box.left .leftWrap {
  position: sticky;
  top: 0;
}
.sec02 h2 {
  font-size: clamp(2.4rem, 2.8vw, 3.6rem);
  font-weight: 700;
  letter-spacing: 0.15em;
  margin-top: 2rem;
}
.sec02 h2 + p {
  color: var(--mainColor);
  font-size: clamp(1.2rem, 1.2vw, 1.4rem);
  margin-top: 1rem;
}
.sec02 p.text {
  font-size: clamp(1.6rem, 2vw, 2.7rem);
  font-weight: 700;
  padding: 3rem 0;
  border-top: solid 1px var(--baseColor);
  border-bottom: solid 1px var(--baseColor);
  margin: 6rem 0;
  position: relative;
}
.sec02 p.text::after {
  content: "";
  display: block;
  background: url("../images/common/shine02.webp") no-repeat center center/cover;
  width: 36rem;
  height: 26rem;
  position: absolute;
  left: -5vw;
  bottom: -15rem;
}
.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
}
.videoWrapper:not(:last-child) {
  margin-bottom: 3.5rem;
}
.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sec03 {
  position: relative;
  z-index: 1;
}
.sec03 .sec-ttl::after {
  content: "";
  display: block;
  background: url(../images/common/shine02.webp) no-repeat center center/cover;
  width: 36rem;
  height: 36rem;
  position: absolute;
  right: 9.5vw;
  top: 50%;
}
.schedule-wrap {
  margin-top: 8vw;
}
.schedule-wrap .contents2Wrap {
  margin-bottom: 6vw;
  gap: 0 6rem;
}
.schedule-wrap .contents2Wrap .box {
  border-top: solid 1px var(--baseColor);
  border-bottom: solid 1px var(--baseColor);
  padding: 2.5rem 0;
}
.schedule-wrap .contents2Wrap figure {
  aspect-ratio: 1 / 1;
  width: 10.7rem;
  overflow: hidden;
}
.schedule-wrap .contents2Wrap figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.schedule-wrap .contents2Wrap .box .cat {
  margin-left: 1em;
}
.schedule-wrap .contents2Wrap .box .cat p span {
  color: var(--mainColor);
  font-size: clamp(1.6rem, 1.6vw, 1.8rem);
  font-weight: 700;
  letter-spacing: 0.1em;
}
.schedule-wrap .contents2Wrap .box h3 {
  font-size: clamp(1.4rem, 1.4vw, 1.6rem);
  font-weight: 400;
  letter-spacing: 0.15em;
  transform: skewX(0);
}
.schedule-wrap .contents2Wrap .box > .flex {
  gap: 0 1.5rem;
  align-items: flex-start;
}
.schedule-wrap .contents2Wrap .text-area {
  width: calc(100% - 1.5rem - 10.7rem);
}
.schedule-wrap .cat p span.new {
  position: relative;
}
.schedule-wrap .cat p span.new::after {
  content: "|";
  margin: 0 0.5rem;
}
.schedule-wrap .cat p img {
  position: relative;
  top: -0.5rem;
  margin-right: 0.5rem;
}
.schedule-wrap .event-place {
  font-size: clamp(1.2rem, 1.2vw, 1.4rem);
  line-height: 1.5;
  margin-top: 0.5rem;
}
.sec03 .schedule-wrap .contents2Wrap .box .cat {
  margin-left: 0;
}
.sec04 {
  margin-top: 6vw;
}
.sec04 .container {
  padding: 4rem 0 7rem;
  background: #242222;
}
.sec04 .schedule-wrap {
  width: 90%;
  margin: 0 auto;
}
.sec04 .sec-ttl::after {
  display: none;
}
.sec04 .schedule-wrap .contents2Wrap {
  margin: 8vw 0 5vw;
}
.sec05 {
  margin-top: 10vw;
}
.sec05 p.logo {
  margin-bottom: 4rem;
  position: relative;
}
.sec05 p.logo::before {
  content: "";
  display: block;
  background: url("../images/common/shine02.webp") no-repeat center center/cover;
  width: 36rem;
  height: 36rem;
  position: absolute;
  left: 9vw;
  top: 50%;
  transform: translateY(-50%);
}
.sec05 h2 {
  font-size: clamp(2.2rem, 3.2vw, 5rem);
  font-weight: 700;
  text-align: center;
  margin-bottom: 1rem;
}
.sec05 h2 span {
  color: var(--mainColor);
  font-weight: 700;
}
.sec05 h2 + p {
  font-size: clamp(1.8rem, 2.2vw, 2.7rem);
  margin-bottom: 5rem;
  font-weight: 700;
  text-align: center;
}
.sns-box {
  gap: 2.5rem;
  flex-wrap: wrap;
}
.sns-box .box {
  background: #fff;
  text-align: center;
  width: calc((100% - 7.5rem) / 4);
  padding: 3rem 1rem;
  color: var(--subColor);
}
.sns-box .box p, .sns-box .box dl dt {
  font-size: clamp(1.4rem, 1.4vw, 1.6rem);
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: 500;
}
.sns-box .box p.icon {
  min-height: 16rem;
}
.sns-box .box p.icon + p {
  min-height: 7em;
}
.sns-box .box p.register {
  margin-bottom: 1rem;
}
.sns-box .box p.register span {
  border-radius: 1.5rem;
  padding: 0.2rem 3rem;
}
.sns-box .box dl dt {
  margin-bottom: 1rem;
}
.sns-box .box dl dd {
  margin-bottom: 1.5rem;
}
.sns-box .box.line {
  border-bottom: solid 1.5rem var(--lineColor);
}
.sns-box .box.instagram {
  border-bottom: solid 1.5rem var(--instaColor);
}
.sns-box .box.twitter {
  border-bottom: solid 1.5rem var(--twitterColor);
}
.sns-box .box.blog {
  border-bottom: solid 1.5rem var(--blogColor);
}
.sns-box .box.line .line-color {
  background-color: var(--lineColor);
  color: #fff;
}
.sns-box .box.instagram .instagram-color {
  background-color: var(--instaColor);
  color: #fff;
}
.sns-box .box.twitter .twitter-color {
  background-color: var(--twitterColor);
  color: #fff;
}
.sns-box .box.blog .blog-color {
  background-color: var(--blogColor);
  color: #fff;
}
.sns-box .box.line span {
  color: var(--lineColor);
}
.sns-box .box.instagram span {
  color: var(--instaColor);
}
.sns-box .box.twitter span {
  color: var(--twitterColor);
}
.sns-box .box.blog span {
  color: var(--blogColor);
}
.linkArea {
  margin: 7.5vw 0;
}
.linkArea .flex-c {
  gap: 2rem;
}
.home main {
  background: url("../images/top/bg2.webp") no-repeat center bottom 20rem/contain;
}
.sec06 {
  width: 57.2%;
  margin: 0 auto;
  border-top: solid 4px var(--baseColor);
  border-bottom: solid 4px var(--baseColor);
  padding: 6.5rem 0 0;
}
.sec06 h2 {
  color: var(--mainColor);
  font-weight: 700;
  letter-spacing: 0.15em;
  font-size: clamp(2.4rem, 2.8vw, 3.7rem);
  transform: skewX(0);
  margin-bottom: 2rem;
}
.sec06 h2 + p {
  font-size: clamp(1.6rem, 1.7vw, 2rem);
  font-weight: 500;
}
.sec06 ul {
  margin: 6.5rem 0;
  gap: 3.5rem;
}
.sec06 ul li {
  width: calc((100% - 17.5rem) / 6);
}
.sec06 ul li img {
  margin-bottom: 1.5rem;
}
.sec06 ul li p {
  line-height: 1.5;
}
.sec06 + .image {
  margin: 12vw 0 14vw;
  padding-right: 4.5vw;
}
.sec06 + .image p {
  position: relative;
}
.sec06 + .image p::before {
  content: "";
  display: block;
  background: url("../images/common/shine02.webp") no-repeat center center/cover;
  width: 36rem;
  height: 36rem;
  position: absolute;
  left: -13vw;
  top: 50%;
  transform: translateY(-50%);
}
.company-info {
  margin: 0 0 7vw;
}
.company-info .flexL {
  width: calc(100% - 68rem - 5vw);
  margin-right: 5vw;
  position: relative;
}
.company-info .flexL::before {
  content: "";
  display: block;
  background: url("../images/common/shine02.webp") no-repeat center center/cover;
  width: 36rem;
  height: 36rem;
  position: absolute;
  left: -15vw;
  top: 5rem;
}
.company-info .flexL address {
  margin-top: 1.5rem;
  font-size: clamp(1.4rem, 1.5vw, 2rem);
  font-weight: 500;
}
.company-info .flexL dl {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.company-info .flexL dt, .company-info .flexL dd {
  font-size: clamp(1.4rem, 1.5vw, 2rem);
  font-weight: 500;
}
.company-info .flexL dt {
  margin-right: 0.5rem;
  text-align-last: justify;
  width: 6em;
}
.company-info .flexL p.tel {
  margin-top: 0.5rem;
  font-size: clamp(2.1rem, 2.5vw, 3rem);
  font-weight: 700;
  letter-spacing: 0.1em;
}
.company-info .flexL p.tel img {
  position: relative;
  top: -1rem;
  margin-right: 1rem;
}
.company-info .flexL ul {
  margin-top: 2.5rem;
  gap: 2rem;
}
.company-info .flexR {
  width: 68rem;
}
.company-info .flexR .gmap {
  aspect-ratio: 4 / 3;
}
.company-info .flexR iframe {
  width: 100%;
  height: 100%;
}
/*-----------------------

       投稿ページ         

-----------------------*/
.event-wrap.list {
  margin-top: 5vw;
}
.event-wrap.list.cat {
  margin-top: 5vw;
}
.schedule-list .schedule-wrap .contents2Wrap .box .cat {
  margin-left: 0;
}
.event-wrap.list.cat h3 {
  min-height: 3.5em;
}
/*-----------------------

       下層ページCommon         

-----------------------*/
.under-sec01 {
  padding-top: clamp(6rem, 8.8888888889vw, 10rem);
}
/*-----------------------

    お問い合わせフォーム         

-----------------------*/
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}
.contact h2 {
  text-align: center;
  font-size: clamp(2.4rem, 2.5vw, 3rem);
  font-weight: 700;
  letter-spacing: 0.15em;
}
.contact p.sub {
  text-align: center;
  color: var(--mainColor);
}
.contact-wrap {
  margin: 5vw 0;
  background: #3f3d3d;
  padding: 5vw 0;
}
.radio-area {
  gap: 2.5rem;
  width: 80%;
  margin: 8vw auto 3vw;
  flex-wrap: wrap;
}
.radio-area > span {
  width: calc((100% - 5rem) / 3);
}
/*ラジオボタン*/
.radio-area label {
  font-size: clamp(1.6rem, 1.8vw, 2.4rem);
  letter-spacing: 0.1em;
  font-weight: 500;
  border: solid 2px var(--baseColor);
  padding: 1.5rem 0 1.5rem calc(22px + 0.5em);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 .5em;
  position: relative;
  cursor: pointer;
  transition: 0.4s;
}
.radio-area label span {
  position: relative;
}
.radio-area label span::before, .radio-area label span::after {
  border-radius: 50%;
  content: '';
}
.radio-area label span::before {
  width: 22px;
  height: 22px;
  border: 2px solid #dee5eb;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -3rem;
}
.radio-area label span::after {
  width: 10px;
  height: 10px;
  background-color: transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2.4rem;
}
.radio-area label:has(:checked) {
  background: var(--mainColor);
  transition: 0.4s;
}
.radio-area label:has(:checked) span::after {
  background-color: var(--baseColor);
}
.radio-area input {
  display: none;
}
/*//*/
/*ご依頼用*/
.radio-area.request-details, .radio-area.contact-method {
  margin-bottom: 3.5vw;
  margin-top: 0;
}
.radio-area.request-details label, .radio-area.contact-method label {
  border: none;
  font-size: clamp(1.6rem, 1.6vw, 1.8rem);
  display: inline;
  margin-right: 4rem;
}
.radio-area.request-details label:has(:checked), .radio-area.contact-method label:has(:checked) {
  background: none;
}
.radio-area.request-details label span::before, .radio-area.contact-method label span::before {
  width: 20px;
  height: 20px;
}
.radio-area.request-details label span::after, .radio-area.contact-method label span::after {
  left: -2.45rem;
  width: 9px;
  height: 9px;
}
/*//*/
.contact-wrap table {
  width: 70%;
  margin: 0 auto;
}
.contact-wrap tr, .contact-wrap th, .contact-wrap td {
  display: block;
  width: 100%;
}
.contact-wrap th {
  font-size: clamp(1.6rem, 1.6vw, 1.8rem);
  padding-bottom: 1rem;
  border-bottom: solid 1px var(--baseColor);
  margin-bottom: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.contact-wrap th span {
  color: var(--mainColor);
  font-size: 80%;
  margin-left: 0.5rem;
  font-weight: 500;
}
.contact-wrap td {
  font-size: clamp(1.6rem, 1.6vw, 1.8rem);
  margin-bottom: 3.5vw;
}
.contact-wrap td input, .contact-wrap td textarea {
  background: var(--baseColor);
  border: none;
  width: 94.2%;
  font-size: clamp(1.6rem, 1.6vw, 1.8rem);
  font-weight: 400;
  font-family: inherit;
  letter-spacing: 0.1em;
  padding: 1.5rem 2.5rem;
}
.contact-wrap td input[type="text"], .contact-wrap td input[type="tel"], .contact-wrap td input[type="email"] {
  height: 3rem;
  line-height: 3rem;
  font-family: inherit;
}
.contact-wrap td input[type="text"].short {
  width: 30%;
  margin-right: 1rem;
}
input::placeholder, textarea::placeholder {
  color: #b2b2b2;
}
.contact-wrap .tel td input {
  margin-bottom: 0.5rem;
}
.contact-wrap .tel td p.text-r {
  margin-bottom: 3.5vw;
}
.contact-wrap table .request-details.radio-area td {
  display: flex;
  flex-wrap: wrap;
}
.contact-wrap table .request-details.radio-area label span {
  display: inline-flex;
}
.contact-wrap td .select-area {
  position: relative;
  display: inline-block;
  width: 27%;
  background: var(--baseColor);
  z-index: 1;
}
.contact-wrap td select {
  font-size: clamp(1.6rem, 1.6vw, 1.8rem);
  font-family: inherit;
  padding: 1.5rem 2.5rem;
  letter-spacing: 0.1em;
  position: relative;
  background-color: transparent;
  border: none;
  width: 100%;
  cursor: pointer;
}
.contact-wrap td select option {
  color: var(--subColor);
}
.contact-wrap td select.select, .contact-wrap td select.select2 {
  color: #5b5b5b;
}
.contact-wrap td select:invalid {
  color: #5b5b5b;
}
.contact-wrap td.address span a {
  text-decoration: underline;
}
.contact-wrap td.address input:not(:last-child), .contact-wrap td.address select {
  margin-bottom: 1.5rem;
}
.contact-wrap td.address p.autofill {
  background: var(--baseColor);
  font-size: clamp(1.6rem, 1.6vw, 1.8rem);
  padding: 1.5rem;
  width: 27%;
  color: #5b5b5b;
  text-align: center;
  cursor: pointer;
}
.contact-wrap td.address select {
  margin-bottom: 0;
}
.contact-wrap td.address .select-area {
  margin: 1.5rem 0;
}
.contact-wrap td .select-area::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1em;
  background: url("../images/contact/selec-arrow-b.webp") no-repeat center center/cover;
  width: 1.6rem;
  height: 1.4rem;
  z-index: -1;
}
.doui-check {
  text-align: center;
  margin-bottom: 6rem;
}
.contact-wrap .doui-check {
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: 0.15em;
  font-weight: 500;
}
.contact-wrap .doui-check a {
  text-decoration: underline;
  cursor: pointer;
}
.contact-wrap .doui-check input {
  display: none;
}
.contact-wrap .doui-check label span {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 15px;
  position: relative;
  width: inherit;
  text-indent: -9999px;
}
.contact-wrap .doui-check label span::before {
  border: 1px solid var(--baseColor);
  content: '';
  display: block;
  height: 25px;
  width: 25px;
  margin-top: -12px;
  position: absolute;
  top: 50%;
  left: -0.5em;
}
.contact-wrap .doui-check label span::after {
  border-right: 5px solid var(--mainColor);
  border-bottom: 5px solid var(--mainColor);
  content: '';
  display: block;
  height: 35px;
  left: -6px;
  margin-top: -25px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 15px;
}
.contact-wrap .doui-check input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.contact-wrap .form_submit, .contact-wrap .input-hidden {
  text-align: center;
  position: relative;
  background: #b2a019;
  z-index: 1;
  border: none;
}
.contact-wrap button[type="submit"]::after, .contact-wrap .detailBT .form_submit::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  background: var(--mainColor);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  z-index: -1;
}
.contact-wrap .detailBT .form_submit::before {
  position: absolute;
  top: 50%;
  right: 3rem;
  font-family: "Font Awesome 5 Free";
  font-size: 150%;
  font-weight: 900;
  content: "\f105";
  transform: translateY(-46%);
  color: #fff;
  opacity: 0.5;
}
.contact-wrap button[type="submit"]::before {
  position: absolute;
  top: 50%;
  left: 3rem;
  font-family: "Font Awesome 5 Free";
  font-size: 150%;
  font-weight: 900;
  content: "\f104";
  transform: translateY(-46%);
  color: #fff;
  opacity: 0.5;
}
.contact-wrap .form_submit.on + p::before, .contact-wrap .form_submit.on::before {
  opacity: 1;
}
.contact-wrap button[type="submit"], .contact-wrap input[type="submit"] {
  font-size: clamp(1.8rem, 1.8vw, 2rem);
  letter-spacing: 0.1em;
  width: 37.5rem;
  height: 6rem;
  background-color: transparent;
  color: var(--baseColor);
  font-weight: 400;
}
.contact-wrap button[type="submit"]:hover, .contact-wrap input[type="submit"]:hover {
  opacity: 0.8;
}
.contact-wrap input[type="submit"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
/*確認画面*/
.mw_wp_form_confirm form {
  margin-top: 8vw;
}
.mw_wp_form_confirm .doui-check, .mw_wp_form_confirm .radio-area, .mw_wp_form_confirm .contact-wrap .tel td p.text-r, .mw_wp_form_confirm td.address a {
  display: none;
}
.mw_wp_form_confirm .contact-wrap td .select-area {
  background-color: transparent;
}
.mw_wp_form_confirm .contact-wrap td .select-area::after {
  display: none;
}
.mw_wp_form_confirm .detailBT {
  flex-direction: row-reverse;
  gap: 2rem;
}
.mw_wp_form_confirm .contact-wrap button[type="submit"]::before {
  opacity: 1;
}
/*完了画面*/
.completion-text {
  margin: 8vw 0 5vw;
}
.contact-completion .detail-btn {
  margin-top: 10rem;
}
.contact-completion .detail-btn p {
  text-align: center;
}
/*エラー*/
.contact-error p.error {
  font-size: 2.4rem;
  letter-spacing: 0.15em;
  margin-top: 6vw;
  color: #f7526e;
}
.contact-error .radio-area {
  margin: 2vw auto 3vw;
}
.mw_wp_form .error {
  color: #f7526e !important;
}
/*404*/
.p-404-text {
  margin: 8vw 0 5vw;
}
.p-404 .detail-btn {
  margin-top: 10rem;
}
.p-404 .detail-btn p {
  text-align: center;
}
/*-----------------------

    プライバシーポリシー         

-----------------------*/
.privacy-contents {
  padding: 8vw 0 5vw;
}
.privacy_title {
  font-weight: 500;
  margin-bottom: 5px;
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  color: var(--mainColor);
}
.privacy dl {
  margin-bottom: 30px;
}
.privacy_text {
  padding-left: 1em;
  margin-bottom: 2.5rem;
}
.privacy_text_small {
  padding-left: 1.5em;
}
.privacy_text_small:last-child {
  margin-bottom: 2.5rem;
}
.text_small_title {
  margin-bottom: 5px;
}
.privacy_companyname {
  display: block;
  /*	font-size:1.2em;*/
  margin: 20px 0 5px;
}
.privacy p {
  margin-top: 2rem;
}
.privacy_page_title {
  /*		font-size:1.62em;*/
  font-weight: bold;
  margin-bottom: 40px;
  font-size: clamp(2.5rem, 3.75vw, 4rem);
  margin-top: 4.5rem;
}
.privacy .contact.under-sec {
  padding-bottom: 16rem;
  border-bottom: 1px solid;
}
/*ポップアップ*/
#popup-container {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 8888;
  background: #030000;
  padding: 1rem 1rem 2rem;
}
.popupWrap {
  position: relative;
}
.popupWrap h2 {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  padding: 0.5rem;
}
.popupWrap h2 span {
  color: var(--mainColor);
  font-weight: 700;
}
#popup-video {
  position: relative;
  width: 30rem;
  height: 16.9rem;
  background-color: #fff;
  overflow: hidden;
}
#popup-video video {
  width: 100%;
  height: 100%;
}
.closebtn {
  position: absolute;
  top: -2.5rem;
  right: -1.5rem;
  background: var(--mainColor);
  border: none;
  border-radius: 50%;
  color: #fff;
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 3rem;
}
.popupWrap .detail-btn2 {
  width: 75%;
  margin: 2rem auto 0;
}
.popupWrap .detail-btn2 a {
  font-size: 1.6rem;
  padding: 0.5rem 0;
}
/*-----------------------

  チケットお申し込みの流れ         

-----------------------*/
.flow .flewContents {
  margin: 8vw 0 9vw;
}
.flow .flewContents ul {
  width: 60%;
  margin: 0 auto;
}
.flow .flewContents li:not(:last-child) {
  margin-bottom: 5vw;
  background: #fff;
  text-align: center;
  padding: 5rem 5vw;
  position: relative;
}
.flow .flewContents li:not(:last-child)::after {
  content: "";
  display: block;
  background: url("../images/flow/arrow.webp") no-repeat center center/cover;
  width: 10rem;
  height: 3.5rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -3.5vw;
}
.flow .flewContents li:last-child p {
  margin-left: 0;
}
.flow .flewContents li h2 {
  font-weight: 700;
  color: var(--mainColor);
  font-size: clamp(1.8rem, 2vw, 2.6rem);
  transform: skewX(0);
  display: flex;
  align-items: center;
  text-align: left;
  gap: 1.5rem;
}
.flow .flewContents li h2 span {
  width: calc(100% - 5rem);
  font-weight: 700;
}
.flow .flewContents li h2 span.number {
  font-weight: 700;
  border: solid 3px var(--mainColor);
  font-size: clamp(2.6rem, 2.8vw, 3.5rem);
  width: 5rem;
  height: 5rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.flow .flewContents li p {
  color: var(--subColor);
  margin-left: 6.5rem;
}
.flow .flewContents li figure {
  margin-top: 1.5rem;
}
.flow .flewContents li figure img {
  width: 100%;
}
.flow .flewContents li .detail-btn2 a img {
  margin-right: 1rem;
}
/*20230617 add*/
.contact .f-small {
  font-size: 75%;
  margin-bottom: 1rem;
}
.contact .flow-bnr {
  margin-bottom: 4rem;
}
/*20230820 add*/
.bannerG ul {
  gap: 2rem;
  margin: 3rem 0 5rem;
}
/*20240830 add*/
.sec01 .message {
  color: #ec6d71;
}
/*20241019 add　会社概要 メディア追加*/
.media {
  max-width: 67%;
  margin: 8.33333vw auto 0;
}
.media .media__ttl {
  font-size: clamp(1.6rem, 1.8888888889vw, 1.8rem);
  letter-spacing: 0.12em;
  margin-top: 10rem;
}
.media .media__img {
  margin-top: 2rem;
}
/*業務提携追加*/
.partnership__contents {
  margin-block: clamp(3rem, 3.8888888889vw, 4rem);
  gap: 4rem;
  align-items: center;
}
.partnership__name {
  font-size: 1.5em;
}
.partnership__name span {
  font-size: 0.7em;
}
/*投稿内スタイル*/
p strong {
  font-weight: 700;
}
/* 2部公演用チケット枚数行のスタイル */
#two-part-tickets-row td {
  display: flex;
  align-items: center;
}
#two-part-tickets-row td p {
  margin-right: 1em;
  white-space: nowrap;
}
#two-part-tickets-row td .select-area {
  margin-right: 2em;
}
#normal-tickets-row td .select-area {
  width: 20%;
}
.ticket-unit {
  width: 32%;
  display: flex;
  align-items: center;
}
.contact-wrap td .select-area {
  width: 100%;
}
.contact-wrap td .select-area.ticket-name {
  width: 45%;
}