@charset "UTF-8";
@media screen and (min-width: 768px) { .kohyo .sp { display: none !important; }
  .kohyo .pc { display: block; } }
@media screen and (max-width: 767px) { .kohyo .pc { display: none !important; }
  .kohyo .sp { display: block; } }
/* -----------------------------
** home
----------------------------- */
#contents .headSection .innerBlock { width: 1240px; }

.kohyo img { max-width: 100%; }
.kohyo a.uline { text-decoration: underline; }
.kohyo a.uline:hover { text-decoration: none; }
.kohyo .iDown02 { background-position: right top 6px; padding: 0 19px 0 0; }
@media screen and (max-width: 767px) { .kohyo .iDown02 { background-position: right top .3vw; } }
.kohyo .iLink02 { background-position: left top 6px; padding: 0 0 0 21px; }
@media screen and (max-width: 767px) { .kohyo .iLink02 { background-position: left top 1.3vw; } }
@media screen and (max-width: 767px) { .kohyo .mt30 { margin-top: 5.2151238592vw !important; }
  .kohyo .mt40 { margin-top: 6.518904824vw !important; }
  .kohyo .mt50 { margin-top: 7.8226857888vw !important; }
  .kohyo .mt80 { margin-top: 11.7340286832vw !important; }
  .kohyo .mtsp0 { margin-top: 0 !important; } }

.linkBtn { margin-top: 60px; }
@media screen and (max-width: 767px) { .linkBtn { margin-top: 5vw; } }
.linkBtn a { display: inline-block; font-size: 18px; position: relative; color: #FFF; padding: 7px 40px; background-color: #333; border-radius: 9999px; transition: all 0.2s ease-in; }
@media screen and (min-width: 768px) { .linkBtn a { min-width: 330px; } }
@media screen and (max-width: 767px) { .linkBtn a { min-width: 80%; font-size: 4vw; padding: 2vw 10vw; } }
.linkBtn a:hover { opacity: .8; color: #FFF; text-decoration: none; }
.linkBtn a:after { content: ""; display: inline-block; position: absolute; top: 50%; right: 18px; }
@media screen and (max-width: 767px) { .linkBtn a:after { right: 4vw; } }
.linkBtn a.linkArrow:after { width: 10px; height: 10px; border-style: solid; border-width: 0 2px 2px 0; border-color: #fff; transform: translateY(calc(-50% - 1px)) rotate(-45deg); }
.linkBtn a.colRed { background: #c30d24; }

.linkBtnPremium a { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 90px; min-width: 450px; padding: 0 2.5em; background: #c30d24; border-radius: 9999px; font-size: 22px; font-weight: bold; color: #fff !important; text-decoration: none !important; text-align: center; transition: all 0.2s ease-in; }
@media screen and (max-width: 767px) { .linkBtnPremium a { min-width: unset; width: 100%; padding: .4em 2em; min-height: auto; font-size: 3.6vw; } }
.linkBtnPremium a small { font-size: 16px; }
@media screen and (max-width: 767px) { .linkBtnPremium a small { font-size: 3.2vw; } }
.linkBtnPremium a:hover { opacity: .8; }
.linkBtnPremium a:after { position: absolute; content: ""; display: block; width: 10px; height: 10px; border-style: solid; border-width: 0 2px 2px 0; border-color: #fff; transform: rotate(-45deg); top: 50%; right: 20px; margin-top: -7px; }
@media screen and (max-width: 767px) { .linkBtnPremium a:after { right: 10px; } }
.linkBtnPremium.colBlk a { background-color: #333; }
.linkBtnPremium.disabled a { pointer-events: none; opacity: .25; }

.listCaution { text-align: left; }
.listCaution > li { position: relative; padding-left: 3em; line-height: 1.6; font-size: 13px; }
@media screen and (max-width: 767px) { .listCaution > li { line-height: 1.3; font-size: 3.2vw; } }
.listCaution > li .listCaution_firstLetter { position: absolute; left: 0; top: 0.03em; }
.listCaution-lv2 { text-align: left; }
.listCaution-lv2 > li { position: relative; padding-left: 3em; line-height: 1.6; font-size: 14px; }
@media screen and (max-width: 767px) { .listCaution-lv2 > li { line-height: 1.3; font-size: 3.2vw; } }
.listCaution-lv2 > li .listCaution-lv2_firstLetter { position: absolute; left: 0; top: 0.03em; }

.contentNavi { background-color: #FFF; color: #FFF; text-align: center; width: 100%; margin: 0 auto; padding: 10px 0; box-sizing: border-box; position: sticky; top: 0; z-index: 99; }
@media screen and (max-width: 767px) { .contentNavi { top: 0; padding: 3vw 3vw 2vw 3vw; } }
.contentNavi ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; }
@media screen and (max-width: 767px) { .contentNavi ul { gap: 1.4vw; } }
.contentNavi ul li a { display: block; color: #333; font-weight: bold; padding: 5px 25px 5px 12px; position: relative; transition: all 0.2s ease-in; font-size: 14px; border: 1px solid #333; border-radius: 9999px; }
@media screen and (max-width: 767px) { .contentNavi ul li a { font-size: 3vw; padding: 1vw 4.2vw 1vw 2.2vw; line-height: 1; } }
.contentNavi ul li a:before, .contentNavi ul li a:after { content: ""; display: inline-block; position: absolute; top: 50%; transition: all 0.2s ease-in; }
.contentNavi ul li a:before { width: 13px; height: 13px; background-color: #333; border-radius: 50%; right: 5px; transform: translateY(-50%); }
@media screen and (max-width: 767px) { .contentNavi ul li a:before { width: 2.8vw; height: 2.8vw; right: 1vw; } }
.contentNavi ul li a:after { width: 3px; height: 3px; border-right: 1px solid #FFF; border-bottom: 1px solid #FFF; transform: translateY(calc(-50% + -1px)) rotate(45deg); right: 10px; }
@media screen and (max-width: 767px) { .contentNavi ul li a:after { width: .8vw; height: .8vw; right: 1.8vw; transform: translateY(calc(-50% + -.1vw)) rotate(45deg); } }
.contentNavi ul li a:hover { opacity: .8; }
.contentNavi ul li a:hover:before { transform: translateY(calc(-50% + 0px)); }
.contentNavi ul li a:hover:after { transform: translateY(calc(-50% + 0px)) rotate(45deg); }

.mainvisual { margin: 40px auto 0 auto; text-align: center; }
@media screen and (max-width: 767px) { .mainvisual { margin-top: 3vw; } }
.mainvisual img { margin: 0 auto; text-align: center; }

.evContent * { box-sizing: border-box; }
.evContent *:before, .evContent *:after { box-sizing: border-box; }

.evSection { padding: 80px 0 60px 0; }
@media screen and (max-width: 767px) { .evSection { padding: 8vw 0; } }
.evSection.bgB { background-color: #f3f4f9 !important; }
.evSection.bgB .evSecHead .evSecTitle span { background-color: #f3f4f9 !important; }
.evSection .evSecHead { margin: 0 auto 40px auto; text-align: center; }
@media screen and (max-width: 767px) { .evSection .evSecHead { margin-bottom: 5vw; } }
.evSection .evSecHead .evSecTitle { position: relative; }
@media screen and (max-width: 767px) { .evSection .evSecHead .evSecTitle { padding: 3vw 5vw; } }
.evSection .evSecHead .evSecTitle:before { content: ""; width: 100%; height: 4px; position: absolute; top: 50%; left: 0; transform: translateY(-50%); display: block; background-color: #333; }
.evSection .evSecHead .evSecTitle span { font-size: 30px; display: inline-block; background-color: #FFF; position: relative; z-index: 1; padding: 0 30px; }
@media screen and (max-width: 767px) { .evSection .evSecHead .evSecTitle span { font-size: 6vw; padding: 0 5vw; } }
.evSection .evSecInner { max-width: 1240px; margin: 0 auto; text-align: center; }
@media screen and (max-width: 767px) { .evSection .evSecInner { width: 100%; padding: 0 5vw; } }

.evSecLead { font-size: 18px; text-align: center; }
@media screen and (max-width: 767px) { .evSecLead { font-size: 3.6vw; margin-bottom: 3vw; } }

#intro { padding: 20px 0; }
@media screen and (max-width: 767px) { #intro { padding: 4vw 0; } }
#intro .evSecInner { padding-top: 0; }
#intro .evSecLead { margin-bottom: 0; }
#intro .evSecLead p { line-height: 1.8; }
#intro .evSecLead .mainLead { font-weight: bold; font-size: 22px; margin-bottom: 15px; }
@media screen and (max-width: 767px) { #intro .evSecLead .mainLead { font-size: 4.4vw; margin-bottom: 2vw; } }
#intro .evSecLead .mainLead strong { color: #7d6e47; }

#feature { margin-top: 60px; }
@media screen and (max-width: 767px) { #feature { margin-top: 10vw; }
  #feature .evSecLead { margin-bottom: 5vw; } }

.featurePnl { display: flex; flex-wrap: wrap; margin-top: 60px; gap: 30px; }
@media screen and (max-width: 767px) { .featurePnl { margin-top: 10vw; gap: 10vw 3vw; } }
.featurePnl > li { background-color: #FFF; box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1); position: relative; padding: 50px 20px 20px 20px; border-radius: 10px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
@media screen and (min-width: 768px) { .featurePnl > li { flex: 1; } }
@media screen and (max-width: 767px) { .featurePnl > li { width: calc(50% - 1.5vw); padding: 8vw 2vw 3vw 2vw; } }
.featurePnl > li .point { position: absolute; top: -10px; left: 0; }
@media screen and (max-width: 767px) { .featurePnl > li .point { top: -3vw; width: 15vw; }
  .featurePnl > li .point img { width: 100%; height: auto; } }
.featurePnl > li .icon { width: 80px; height: 80px; background-color: #015cb8; border-radius: 100%; display: flex; justify-content: center; align-items: center; position: absolute; top: -40px; left: 50%; transform: translateX(-50%); }
@media screen and (max-width: 767px) { .featurePnl > li .icon { width: 12vw; height: 12vw; top: -6vw; }
  .featurePnl > li .icon img { width: 7vw; height: 7vw; } }
.featurePnl > li .text { font-size: 19px; display: inline-block; position: relative; }
.featurePnl > li .text strong { font-size: 25px; color: #9b8450; }
.featurePnl > li .text sup { font-size: 12px; }
@media screen and (max-width: 767px) { .featurePnl > li .text { font-size: 3.8vw; }
  .featurePnl > li .text strong { font-size: 4.8vw; }
  .featurePnl > li .text sup { font-size: 3vw; } }
.featurePnl > li .smtBtn { -webkit-appearance: none; border: none; background-color: transparent; font-size: 100%; padding: 1px 0 0 18px; font-weight: bold; position: relative; margin-top: 5px; cursor: pointer; }
.featurePnl > li .smtBtn:hover { opacity: .7; }
.featurePnl > li .smtBtn .hdl { display: inline-block; position: relative; width: 15px; height: 15px; background-color: #333; border-radius: 100%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
.featurePnl > li .smtBtn .hdl::before, .featurePnl > li .smtBtn .hdl::after { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 8px; height: 1px; background-color: #FFF; transition: all 0.1s ease-in; }
.featurePnl > li .smtBtn .hdl::after { transform: translate(-50%, -50%) rotate(-90deg); }
.featurePnl > li .smtBtn.current .hdl::after { transform: translate(-50%, -50%) rotate(0deg); }
.featurePnl > li .smtBox { display: none; padding: 10px; margin-top: 5px; background-color: #f5f5f5; }
@media screen and (max-width: 767px) { .featurePnl > li .smtBox { padding: 3vw; } }
.featurePnl.hwnav { align-items: flex-start; }
@media screen and (max-width: 767px) { .featurePnl.hwnav { flex-direction: column; } }
.featurePnl.hwnav > li { padding: 15px; align-items: flex-start; }
@media screen and (max-width: 767px) { .featurePnl.hwnav > li { width: 100%; } }
.featurePnl.hwnav > li .iconImg { width: 120px; }
@media screen and (max-width: 767px) { .featurePnl.hwnav > li .iconImg { width: 20vw; } }
.featurePnl.hwnav > li .detail { flex: 1; padding-left: 15px; font-size: 15px; }
.featurePnl.hwnav > li .detail strong { font-size: 25px; }
@media screen and (max-width: 767px) { .featurePnl.hwnav > li .detail { font-size: 3.4vw; }
  .featurePnl.hwnav > li .detail strong { font-size: 4.8vw; } }
.featurePnl.hwnav > li.type1 .detail strong { color: #447a2f; }
.featurePnl.hwnav > li.type2 .detail strong { color: #c2470d; }

.entryStepWrap > h3 .title { font-size: 25px; margin-top: 25px; color: #447a2f; }
@media screen and (max-width: 767px) { .entryStepWrap > h3 .icon { width: 20%; margin: 0 auto; }
  .entryStepWrap > h3 .title { font-size: 4.4vw; margin-top: 5vw; } }
.entryStepWrap .entryStep { display: flex; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .entryStepWrap .entryStep { flex-direction: column; align-items: center; margin-top: 5vw; } }
.entryStepWrap .entryStep .stepBox { position: relative; }
@media screen and (min-width: 768px) { .entryStepWrap .entryStep .stepBox { display: flex; flex-wrap: wrap; flex-direction: column; margin-top: 50px; } }
@media screen and (max-width: 767px) { .entryStepWrap .entryStep .stepBox { margin-top: 0; } }
.entryStepWrap .entryStep .stepBox .stepNo { font-size: 18px; font-style: italic; font-weight: bold; padding: 5px 30px; line-height: 1; color: #FFF; position: absolute; background-color: #447a2f; }
.entryStepWrap .entryStep .stepBox .stepNo span { font-size: 26px; }
@media screen and (min-width: 768px) { .entryStepWrap .entryStep .stepBox .stepNo { top: -15px; left: 50%; transform: translateX(-50%); } }
@media screen and (max-width: 767px) { .entryStepWrap .entryStep .stepBox .stepNo { top: 0; left: 0; padding: 1.5vw 5vw; font-size: 3.4vw; }
  .entryStepWrap .entryStep .stepBox .stepNo span { font-size: 4.4vw; } }
.entryStepWrap .entryStep .stepBox .stepIcon { position: relative; }
@media screen and (min-width: 768px) { .entryStepWrap .entryStep .stepBox .stepIcon { padding-bottom: 20px; } }
@media screen and (max-width: 767px) { .entryStepWrap .entryStep .stepBox .stepIcon .icon { width: 25%; margin: 0 auto; } }
.entryStepWrap .entryStep .stepBox .stepbble { border: 1px solid #447a2f; border-radius: 8px; background-color: #FFF; line-height: 1.2; }
@media screen and (min-width: 768px) { .entryStepWrap .entryStep .stepBox .stepbble { font-size: 13px; padding: 3px 20px; position: absolute; bottom: 0; left: 50%; width: 180px; transform: translateX(-50%); } }
@media screen and (max-width: 767px) { .entryStepWrap .entryStep .stepBox .stepbble { padding: 1vw 5vw; position: relative; width: auto; display: inline-block; font-size: 3vw; } }
.entryStepWrap .entryStep .stepBox .stepbble::before, .entryStepWrap .entryStep .stepBox .stepbble::after { content: ""; position: absolute; top: 0; left: 50%; border-style: solid; translate: -50% -100%; }
.entryStepWrap .entryStep .stepBox .stepbble::before { border-width: 0 10px 10px 10px; border-color: transparent transparent #447a2f; }
.entryStepWrap .entryStep .stepBox .stepbble::after { border-width: 0 8.6px 8.6px 8.6px; border-color: transparent transparent #ffffff; }
.entryStepWrap .entryStep .stepBox .stepTitle { font-size: 17px; color: #447a2f; margin-top: 5px; }
@media screen and (max-width: 767px) { .entryStepWrap .entryStep .stepBox .stepTitle { font-size: 4.4vw; margin-top: 2vw; } }
.entryStepWrap .entryStep .stepBox .stepTxt { text-align: left; font-size: 15px; margin-top: 5px; }
@media screen and (max-width: 767px) { .entryStepWrap .entryStep .stepBox .stepTxt { font-size: 4vw; margin-top: 2vw; } }
.entryStepWrap .entryStep .stepBox.step1, .entryStepWrap .entryStep .stepBox.step2, .entryStepWrap .entryStep .stepBox.step3 { padding: 35px 20px 20px 20px; }
@media screen and (max-width: 767px) { .entryStepWrap .entryStep .stepBox.step1, .entryStepWrap .entryStep .stepBox.step2, .entryStepWrap .entryStep .stepBox.step3 { padding: 3vw; } }
@media screen and (min-width: 768px) { .entryStepWrap .entryStep .stepBox.triangle { display: flex; flex-wrap: wrap; flex-direction: column; justify-content: center; } }
.entryStepWrap .entryStep .stepBox.triangle span { display: block; background-color: #10218b; height: 30px; width: 20px; clip-path: polygon(0 0, 0% 100%, 100% 50%); background-color: #447a2f; }
@media screen and (max-width: 767px) { .entryStepWrap .entryStep .stepBox.triangle span { height: 5vw; width: 7vw; clip-path: polygon(0 0, 100% 0%, 50% 100%); } }
.entryStepWrap .entryStep .stepBox.stepend { width: 125px; justify-content: center; background-color: rgba(68, 122, 47, 0.1); color: #447a2f; padding: 10px; }
.entryStepWrap .entryStep .stepBox.stepend .stepTitle { font-size: 20px; }
@media screen and (max-width: 767px) { .entryStepWrap .entryStep .stepBox.stepend { display: flex; flex-wrap: wrap; align-items: center; width: 100%; }
  .entryStepWrap .entryStep .stepBox.stepend .stepIcon { width: 8vw; }
  .entryStepWrap .entryStep .stepBox.stepend .stepIcon .icon { width: 100%; }
  .entryStepWrap .entryStep .stepBox.stepend .stepTitle { font-size: 5vw; margin-top: 0; padding-left: 3vw; } }
.entryStepWrap.dataStep .entryStep .stepBox.step1, .entryStepWrap.dataStep .entryStep .stepBox.step2 { background-color: rgba(68, 122, 47, 0.1); }
@media screen and (min-width: 768px) { .entryStepWrap.dataStep .entryStep .stepBox.step1, .entryStepWrap.dataStep .entryStep .stepBox.step2 { width: 535px; } }
.entryStepWrap.printStep > h3 .title { color: #c2470d; }
.entryStepWrap.printStep .entryStep .stepBox.step1, .entryStepWrap.printStep .entryStep .stepBox.step2, .entryStepWrap.printStep .entryStep .stepBox.step3 { background-color: rgba(194, 71, 13, 0.1); }
@media screen and (min-width: 768px) { .entryStepWrap.printStep .entryStep .stepBox.step1, .entryStepWrap.printStep .entryStep .stepBox.step3 { width: 270px; }
  .entryStepWrap.printStep .entryStep .stepBox.step2 { width: 510px; } }
.entryStepWrap.printStep .entryStep .stepBox .stepNo { background-color: #c2470d; }
.entryStepWrap.printStep .entryStep .stepBox .stepTitle { color: #c2470d; }
.entryStepWrap.printStep .entryStep .stepBox.triangle span { background-color: #c2470d; }
.entryStepWrap.printStep .entryStep .stepBox.stepend { background-color: rgba(194, 71, 13, 0.1); color: #c2470d; }
.entryStepWrap.printStep .entryStep .printStep2 { display: flex; flex-wrap: wrap; gap: 15px; }
@media screen and (max-width: 767px) { .entryStepWrap.printStep .entryStep .printStep2 { flex-direction: column; gap: 3vw; } }
@media screen and (min-width: 768px) { .entryStepWrap.printStep .entryStep .printStep2 > div { flex: 1; }
  .entryStepWrap.printStep .entryStep .printStep2 > div .stepTxt { margin-top: 30px; } }

.lsDt li { list-style: disc outside none; margin-left: 20px; text-align: left; margin-bottom: 5px; }

.guestBox { background-color: #FFF; box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1); position: relative; padding: 20px 40px; border-radius: 10px; text-align: left; }
@media screen and (max-width: 767px) { .guestBox { padding: 5vw 3vw; } }
.guestBox dl { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 20px; }
@media screen and (max-width: 767px) { .guestBox dl { gap: 2vw; align-items: flex-start; } }
.guestBox dl dt { background-color: #333; color: #FFF; font-size: 20px; position: relative; padding: 5px 10px; line-height: 1; }
@media screen and (max-width: 767px) { .guestBox dl dt { font-size: 3vw; padding: 1vw 2vw; width: 16vw; } }
@media screen and (min-width: 768px) { .guestBox dl dt::after { content: ""; display: block; height: 100%; width: 15px; clip-path: polygon(0 0, 0% 100%, 100% 50%); background-color: #333; position: absolute; top: 0; right: -15px; } }
.guestBox dl dd { font-size: 20px; font-weight: bold; }
@media screen and (max-width: 767px) { .guestBox dl dd { font-size: 3.4vw; width: calc(100% - 18vw); } }
.guestBox dl dd .genre { font-size: 30px; background: linear-gradient(transparent 60%, rgba(151, 133, 87, 0.25) 60%); }
@media screen and (max-width: 767px) { .guestBox dl dd .genre { font-size: 4.4vw; } }
.guestBox dl dd .datamt { color: #447a2f; }
.guestBox dl dd .printmt { color: #c2470d; }
.guestBox .pfTitle { border-bottom: 1px solid #e0e0e0; margin-top: 10px; }
@media screen and (max-width: 767px) { .guestBox .pfTitle { margin-top: 3vw; } }
.guestBox .pfTitle span { display: inline-block; background-color: #e0e0e0; font-weight: bold; padding: 2px 10px; }
@media screen and (max-width: 767px) { .guestBox .pfTitle span { padding: .5vw 2vw; } }
@media screen and (min-width: 768px) { .guestBox .profileBoxWrap { display: flex; flex-wrap: wrap; gap: 20px; }
  .guestBox .profileBoxWrap .profileBox { width: calc(50% - 10px); } }
.guestBox .profileBox { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 20px; }
@media screen and (max-width: 767px) { .guestBox .profileBox { flex-direction: column; gap: 3vw; margin-top: 3vw; } }
.guestBox .profileBox .img { width: 200px; }
@media screen and (max-width: 767px) { .guestBox .profileBox .img { width: 40%; margin: 0 auto; } }
.guestBox .profileBox .profileText { flex: 1; font-size: 14px; }
@media screen and (max-width: 767px) { .guestBox .profileBox .profileText { width: 100%; padding-left: 0; font-size: 3.4vw; } }
.guestBox .profileBox .profileText .name { font-weight: bold; font-size: 20px; margin-bottom: 5px; }
@media screen and (max-width: 767px) { .guestBox .profileBox .profileText .name { margin-bottom: 2vw; font-size: 4vw; } }

.eventPanel { margin-top: 90px; background-color: #FFF; box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1); padding: 40px 20px 20px 20px; position: relative; }
@media screen and (max-width: 767px) { .eventPanel { margin-top: 18vw; padding: 8vw 5vw 5vw 5vw; } }
.eventPanel .eventPanelHead { position: absolute; width: 100%; top: -30px; left: 0; }
@media screen and (max-width: 767px) { .eventPanel .eventPanelHead { top: auto; bottom: calc(100% - 3vw); padding: 0 8vw; } }
.eventPanel .eventPanelHead h3 { background-color: #005ab4; transform: skew(-25deg, 0deg); display: inline-block; }
@media screen and (max-width: 767px) { .eventPanel .eventPanelHead h3 { display: block; } }
.eventPanel .eventPanelHead h3 span { display: block; color: #FFF; transform: skew(25deg, 0deg); font-size: 27px; font-weight: bold; padding: 5px 30px; }
@media screen and (max-width: 767px) { .eventPanel .eventPanelHead h3 span { font-size: 4vw; padding: 1vw 5vw; line-height: 1.3; } }
@media screen and (max-width: 767px) { .eventPanel .eventPanelAtt { font-size: 3.6vw; margin-bottom: 2vw; } }
.eventPanel .eventPanelBox { display: flex; flex-wrap: wrap; }
.eventPanel .eventPanelBox .eventPanelImg { width: 200px; }
@media screen and (max-width: 767px) { .eventPanel .eventPanelBox .eventPanelImg { width: 100%; } }
.eventPanel .eventPanelBox .eventPanelDetail { width: calc(100% - 200px); padding-left: 20px; text-align: left; }
@media screen and (max-width: 767px) { .eventPanel .eventPanelBox .eventPanelDetail { width: 100%; text-align: center; padding-left: 0; } }
.eventPanel .eventPanelDate { font-size: 18px; font-weight: 500; }
@media screen and (max-width: 767px) { .eventPanel .eventPanelDate { font-size: 4vw; } }
.eventPanel .eventPanelDate span.no { font-size: 28px; }
@media screen and (max-width: 767px) { .eventPanel .eventPanelDate span.no { font-size: 5vw; } }
.eventPanel h4 { font-size: 27px; margin-top: 10px; }
@media screen and (max-width: 767px) { .eventPanel h4 { font-size: 5vw; } }
.eventPanel .eventPanelGuest { font-size: 18px; font-weight: 500; padding-left: 15px; }
@media screen and (max-width: 767px) { .eventPanel .eventPanelGuest { font-size: 4vw; display: block; } }
.eventPanel .eventPanelText { margin-top: 10px; }
@media screen and (max-width: 767px) { .eventPanel .eventPanelText { font-size: 3.6vw; text-align: left; } }
.eventPanel .linkBtn { text-align: center; }
.eventPanel .eventPanelVimeo { max-width: 960px; margin: 30px auto; }

/* faq
================================================== */
.faq { padding: 100px 0; }
@media screen and (max-width: 767px) { .faq { padding: 10vw 0; } }

.faq__item { background: #f0f0f0; border-radius: 10px; border: solid 2px #f0f0f0; overflow: hidden; }
.faq__item + .faq__item { margin-top: 20px; }

.faq__item__title, .faq__item__body { position: relative; }
.faq__item__title { padding: 0; }
.faq__item__title:focus-visible { outline: 2px solid #333; outline-offset: -2px; }
.faq__item__title > div, .faq__item__body > div { display: flex; gap: 12px; padding: 20px 70px 20px 20px; }
@media screen and (max-width: 767px) { .faq__item__title:focus {outline: none; } .faq__item__title > div, .faq__item__body > div { padding: 2vw 10vw 2vw 2vw; } }
.faq__item__title > div > i, .faq__item__body > div > i { flex: 0 0 30px; border-radius: 15px; background: #333; font-size: 16px; line-height: 30px; color: #fff; font-family: "Roboto", sans-serif; font-weight: 700; font-style: normal; text-align: center; }
@media screen and (max-width: 767px) { .faq__item__title > div > i, .faq__item__body > div > i { flex: 0 0 8vw; font-size: 4vw; line-height: 8vw; } }
.faq__item__title > div > div, .faq__item__body > div > div { flex: 1 0 0%; text-align: left; }

.faq__item__title { display: block; font-weight: bold; color: #333 !important; text-decoration: none !important; -webkit-appearance: none; border: none; background-color: transparent; font-size: 100%; width: 100%; cursor: pointer; }
.faq__item__title span { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); display: block; width: 24px; height: 24px; }
@media screen and (max-width: 767px) { .faq__item__title span { right: 2vw; width: 4vw; height: 4vw; } }
.faq__item__title span::before, .faq__item__title span::after { display: block; content: ""; background: #333; width: 24px; height: 2px; position: absolute; top: 11px; left: 0; }
@media screen and (max-width: 767px) { .faq__item__title span::before, .faq__item__title span::after { width: 4vw; height: 0.5vw; top: 2vw; } }
.faq__item__title span::before { transition: 0.2s; transform: rotate(-90deg); }
.faq__item__title > div { align-items: center; }
.faq__item__title.current { background-color: #f3f4f9; }
.faq__item__title.current > div i { background: #10218b; }
.faq__item__title.current span::before { transform: rotate(0); }

.faq__item__body { display: none; background: #fff; }
.faq__item__body > div { align-items: flex-start; padding-right: 20px; }
.faq__item__body > div > i { background: #333; }
.faq__item__body > div > div { padding-top: .25em; }

#epsitePremium { padding-bottom: 0; }

.footerPnl { position: fixed; bottom: -140px; left: 0; width: 100%; background-color: #FFF; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15); z-index: 99; padding: 10px 0; transition: all 0.2s ease-in; }
@media screen and (max-width: 767px) { .footerPnl { padding: 3vw; bottom: -50vw; } }
.footerPnl.fixed { bottom: 0; }
.footerPnl .footerPnlInner { max-width: 960px; margin: 0 auto; text-align: center; }
.footerPnl .footerPnlWrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 50px; }
@media screen and (max-width: 767px) { .footerPnl .footerPnlWrap { flex-direction: column; gap: 3vw; } }
.footerPnl .footerPnlWrap li { width: calc(50% - 25px); display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; }
@media screen and (max-width: 767px) { .footerPnl .footerPnlWrap li { width: 100%; } }
.footerPnl .footerPnlWrap li > p { margin-bottom: 10px; }
@media screen and (max-width: 767px) { .footerPnl .footerPnlWrap li > p { margin-bottom: 1vw; font-size: 3.4vw; } }
.footerPnl .footerPnlWrap li .linkBtnPremium { width: 100%; }
.footerPnl .footerPnlWrap li .linkBtnPremium a { min-height: auto; padding: .4em 2.5em; width: 100%; min-width: 100%; font-size: 16px; }
.footerPnl .footerPnlWrap li .linkBtnPremium a small { font-size: 12px; }
@media screen and (max-width: 767px) { .footerPnl .footerPnlWrap li .linkBtnPremium a { font-size: 3.6vw; }
  .footerPnl .footerPnlWrap li .linkBtnPremium a small { font-size: 3.2vw; } }
@media screen and (min-width: 768px) { .footerPnl .footerPnlWrap li .linkBtnPremium a span.pc { display: inline-block; } }
.footerPnl .points__entry__caution { font-size: 12px; margin: 5px 0 10px; }

/* エプサイト公式アプリのご案内 //移築
================================================== */
/* c-heading */
.appInfo { margin-top: 80px; }

.c-heading--seminar { margin-bottom: 1.35em; font-size: 35px; font-weight: bold; line-height: 1.2; text-align: center; }

.information__app { box-sizing: border-box; max-width: 1040px; margin: 0 auto 40px; padding: 40px; background: #fff; border: solid 10px #eae7e2; text-align: left; }

@media screen and (min-width: 768px) { .information__app__title { display: flex; gap: 22px; margin-bottom: 40px; font-weight: bold; }
  .information__app__title > div:nth-child(1) { flex: 0 0 96px; }
  .information__app__title h3 { margin-bottom: .3em; font-size: 25px; }
  .information__app__panel { display: flex; justify-content: center; align-items: center; gap: 20px; margin-bottom: 25px; padding: 20px; border: solid 4px #c1ae84; border-radius: 10px; }
  .information__app__panel > div:nth-of-type(2) { display: contents; } }
@media screen and (max-width: 767px) { .c-heading--seminar { font-size: 4.8vw; }
  .information__app { margin-bottom: 0; padding: 4.53333vw; border-width: 1.33333vw; }
  .information__app__title { display: flex; flex-wrap: wrap; align-items: center; gap: 2.66667vw; margin-bottom: 6.66667vw; }
  .information__app__title > div:nth-of-type(1) { flex: 0 0 20.53333vw; }
  .information__app__title > div:nth-of-type(1) img { width: 100%; height: auto; }
  .information__app__title > div:nth-of-type(2) { display: contents; }
  .information__app__title > div:nth-of-type(2) h3 { flex: 0 0 53.33333vw; font-size: 4.8vw; }
  .information__app__title > div:nth-of-type(2) p { font-weight: bold; }
  .information__app__panel { display: flex; flex-wrap: wrap; gap: 4vw; margin-bottom: 4vw; padding: 4vw; border: solid 1.06667vw #c1ae84; border-radius: 2.66667vw; }
  .information__app__panel > h4 { flex: 0 0 100%; font-size: 3.73333vw; text-align: center; }
  .information__app__panel > div:nth-of-type(1) { flex: 0 0 24vw; }
  .information__app__panel > div:nth-of-type(1) img { width: 100%; height: auto; }
  .information__app__panel > div:nth-of-type(2) { flex: 0 0 38.66667vw; }
  .information__app__panel > div:nth-of-type(2) > a { display: inline-block; }
  .information__app__panel > div:nth-of-type(2) > a img { width: auto; height: 10.66667vw; }
  .information__app__panel > div:nth-of-type(2) > a:nth-child(1) { margin-bottom: 2.13333vw; } }
.c-notes > li { display: table-row; font-size: 14px; }

.c-notes > li > span { display: table-cell; vertical-align: top; }

.c-notes > li > span:nth-child(1) { white-space: nowrap; }

@media screen and (max-width: 767px) { .c-notes > li { font-size: 3.2vw; } }
#footer #pagetopBlock { transition: all 0.2s ease-in; }

@media screen and (min-width: 768px) { #footer #pagetopBlock.ups { bottom: 140px !important; } }
@media screen and (max-width: 767px) { #footer #pagetopBlock.ups { bottom: 28vw !important; } }
.c-btn-square-float { box-sizing: border-box; position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 90px; min-width: 450px; padding: 0 2.5em; background: #c30d24; border-radius: 5px; font-size: 22px; font-weight: bold; color: #fff !important; text-decoration: none !important; text-align: center; }
@media screen and (max-width: 767px) { .c-btn-square-float { min-width: auto; padding: 0 2em; min-height: 16vw; font-size: 3.6vw; } }

/*
.footerPnl { position: sticky; bottom: -200px; left: 0; width: 100%; background-color: #FFF; z-index: 98; padding: 10px 0; transition: all 0.2s ease-in;
}

.footerPnl.fixed { bottom: 0; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
}

.footerPnl .footerPnlInner { max-width: 960px; margin: 0 auto; text-align: center;
}

@media screen and (max-width: 767px) { .footerPnl .footerPnlWrap { flex-direction: column; gap: 3vw; }
}
*/
