@charset "utf-8";


.inner{
 max-width:680px;
 width:100%;
 padding:0;
 margin:auto;
}
@media screen and (max-width: 768px){
 .inner{
  max-width:initial;
  width:100%;
  }
}

/* 各ページタイトル
------------------------ */
.title-area{
 background:url(/images/header_bg_pc.jpg);
 background-size: cover;
 background-position: center;
 background-repeat: repeat-x;
 text-align:center;
 height:130px;
 display:flex;
 align-items: center;
 justify-content: center;
}

@media screen and (max-width: 768px){

.title-area{
 background:url(/images/header_bg_sp.jpg);
 background-size: cover;
 height:100px;
 }

}

/* step
------------------------ */
.step{
 color:var(--c-blue);
 font-weight:bold;
 margin:0 0 18px;
}

@media screen and (max-width: 768px){
 .step{
 margin:0 0 14px;
 }
}


/* h3
------------------------ */
.h3-border{
 display:block;
 position:relative;
 border-bottom:2px solid #EBEBEB;
 padding-bottom:15px;
 margin-bottom:25px;
}
.h3-border:after{
 content:"";
 display:block;
 width:80px;
 height:2px;
 background:var(--c-blue);
 position: absolute;
 bottom: -2px;
 left: 0;
}

/* h4
------------------------ */
.h4-border{
 display:block;
 border-left:3px solid var(--c-blue);
 padding-left:12px;
}
.h4-mb{
 margin-bottom:15px;
}
.h4-mb26{
 margin-bottom:26px;
}

.letterSpc{
 letter-spacing: -0.02em;
}

/* 20px bold
------------------------ */
.txt-20-b{
 font-size:20px;
 font-weight:bold;
}
/* txt-center
------------------------ */
.txt-center{
 text-align:center;
}

/* ------------------------ */
.note{
 font-size:14px;
 text-indent: -14px;
 margin-left: 14px;
 margin-bottom:15px;
 font-feature-settings: "palt";
}

.mail-note{
 font-size:14px;
 background:var(--c-light-y);
 padding:20px;
}
.mail-note-mb{
 margin-bottom:48px;
}
.note-table{
 font-size:14px;
 display:table;
}
.note-table.last{
 margin-bottom:16px;
}
.note-table span{
 display:table-cell;
}
@media screen and (max-width: 768px){
  .mail-note-mb{
   margin-bottom:36px;
  }

}

.scroll{
 overflow-y:scroll;
 height:270px;
 border:1px solid;
 border-color:var(--c-gray01);
 padding:20px;
 font-size:14px;
 margin-bottom:36px;
}

/* p bottom
------------------------ */
.p-mp-none{
 margin-bottom:0;
}
.p-mb8{
 margin-bottom:8px;
}
.p-mb10{
 margin-bottom:10px;
}
.p-mb{
 margin-bottom:30px;
}
.p-mb18{
 margin-bottom:18px;
}
.p-mb20{
 margin-bottom:20px;
}
.p-mb36{
 margin-bottom:36px;
}
.p-mb40{
 margin-bottom:40px;
}
.p-mb60{
 margin-bottom:60px;
}
@media screen and (max-width: 768px){
 .p-mb{
  margin-bottom:27px;
 }
 .p-mb20{
  margin-bottom:20px;
 }
 
}


/* 前の画面に戻る
-------------------- */
.button-back{
 margin:34px auto 0;
 text-align: center;
}
.button-back a{
 text-decoration: none;
 opacity:1;
 transition:0.3s all;
}
.button-back a span{
 display: flex;
 align-items: center;
 justify-content: center;
 margin:auto;
 color:var(--c-b);

 position:relative;
}
.button-back a span:before{
 content:url(/images/forward.svg);
 width:18px;
 height:18px;
 display:inline-block;
 margin:0 5px 0 0;
}

.button-back a:hover{
 opacity:0.5;
 transition:0.3s all;
}

a.link{
 color:var(--c-link-blue);
 
}

/* クレジットカード
-------------------- */
 .credit-img{
  margin-bottom:25px;
 }
@media screen and (max-width: 768px){
 .credit-img{
  margin-bottom:34px;
 }
 .credit-img.last{
  margin-bottom:24px;
 }
}

.agree.credit{
 font-size: 16px;
 margin-left: 0;
 margin-bottom: 15px;
}
.agree.credit label{
 justify-content:start;
 text-align:left;
}
.credit-note-mb{
    margin-bottom: 30px;
}
@media screen and (max-width: 768px){
 .agree.credit label{
  font-size:15px;
 }

}

/* 説明
-------------------- */
.y-bg-note{
 background:var(--c-light-y);
 padding:16px;
 font-size:14px;
}
.y-bg-note .h4-l-text{
 font-size:16px;
 font-weight:bold;
 margin-bottom:16px;
}
.y-bg-note ul{
 display:block;
}
.y-bg-note ul li{
 font-size:14px;
 text-indent:-14px;
 margin-left:14px;
}

/* 確認画面
-------------------- */
.confirm-box{
 border:1px solid var(--c-gray03);
 padding:30px;
 margin-bottom:40px;
}

.confirm-h{
 font-size:18px;
}
.confirm-box-inner-b{
 font-weight:bold;
 margin-bottom:16px;
}
.confirm-box-inner{
 font-size:16px;
 margin-bottom:30px;
}
.confirm-box .confirm-box-inner:last-child{
 margin-bottom:0;
}
.confirm-box-inner.bd-middle{
 border-bottom:1px solid var(--c-gray03);
 padding-bottom:30px;
}

@media screen and (max-width: 768px){
 .confirm-box{
  padding:20px;
  margin-bottom:30px;
 }
 .confirm-h{
  font-size:16px;
 }
 .confirm-box-inner{
  margin-bottom:20px;
 }
 .confirm-box-inner.bd-middle{
  padding-bottom:20px;
  margin-bottom:20px;
 }

}

/* 履歴検索
-------------------- */
.mb-last{
 margin-bottom:40px;
}
@media screen and (max-width: 768px){
 .mb-last{
  margin-bottom:30px;
 }

}
.search-history-num{
 margin:60px auto 30px;
}
.gray-frame{

 border:1px solid var(--c-gray01);
 padding:30px;
}

.gray-frame + .submit{
 margin-top:40px;
}

.gray-frame .h-txt{
 font-weight:bold;
 margin-bottom:8px;
}
.gray-frame .dd-txt{
 margin-bottom:20px;
}
.gray-frame .dd-txt:has(.cancel){
 margin-bottom:30px;
}

.gray-frame dl{
 border-bottom:1px solid var(--c-gray01);
 margin-bottom:30px;
}
.gray-frame dl.no-bd{
 border-bottom:none;
 margin-bottom:0;
}
.gray-frame dl:last-child{
 border-bottom:none;
 margin-bottom:0;
}
.gray-frame dl:last-child dd:last-child{
 margin-bottom:0;
}

@media screen and (max-width: 768px){
  .gray-frame + .submit{
    margin-top:30px;
   }
  .search-history-num {
    margin: 40px auto 24px;
   }
  .gray-frame{
   padding:20px;
  }

}

.no-frame{
 border-top:none;
 border-left:none;
 border-right:none;
 padding:0;
}

.no-frame + .submit{
 margin-top:40px;
}

.no-frame .h-txt{
 font-weight:bold;
 margin-bottom:8px;
 font-size:18px;
}
.no-frame .dd-txt{
 margin-bottom:20px;
}

.no-frame .dd-txt:has(.cancel){
 margin-bottom:30px;
}


.no-frame dl:last-child{
 border-bottom:none;
 margin-bottom:0;
}
.no-frame dl:last-child dd:last-child{
 margin-bottom:0;
}

@media screen and (max-width: 768px){
  .no-frame + .submit{
    margin-top:30px;
   }
  .no-frame{
   padding:0;
  }

}
.confirmation-link{
 display:flex;
 flex-wrap:wrap;
 margin-bottom:40px;
}
.confirmation-link li{
 width:calc(50% - 20px);
 border-top:1px solid #C8C8C8;
}

.confirmation-link li span{
 display:block;
 padding:0 22px 22px 0;
 font-size:14px;
}

.confirmation-link li:nth-of-type(odd){
 margin-right:40px;
}
.confirmation-link li:nth-last-of-type(-n+2){
 border-bottom:1px solid #C8C8C8;
}
.confirmation-link a{
 font-size:16px;
 font-weight:bold;
 color:#000;
 text-decoration:none;
 display:block;
 padding:22px 0;
 position: relative;
}

.confirmation-link a:after{
 content:url(/images/confirmation-link-arrow.svg);
 position: absolute;
 right: 12px;
}
.confirmation-link a:hover{
 opacity:0.5;
}
@media screen and (max-width: 768px){
 .confirmation-link{
  display:block;
  margin-bottom:30px;
 }
 .confirmation-link li{
  width:100%;
 }
 .confirmation-link li:nth-last-of-type(-n+2){
  border-bottom:none;
 }
 .confirmation-link li:nth-last-of-type(1){
  border-bottom:1px solid #C8C8C8;
 }
}

/* パスワード変更 */
.newPassword + .submit {
    margin-top: 40px;
}



.newPassword .mb-last{
 margin-bottom:30px;
}
@media screen and (max-width: 768px){
 .newPassword .mb-last{
  margin-bottom:24px;
 }
}

form+.y-bg-note{
 margin-top:40px;
}
@media screen and (max-width: 768px){
 form+.y-bg-note{
  margin-top:30px;
 }

}
/* イベント申込確認 */

.confirm .gray-frame{
 margin-bottom:33px;
}
.confirm .gray-frame + .h4-l-text,
.event-note + .h4-l-text,
.ckbox + .h4-l-text
{
 margin-bottom:22px;
}

@media screen and (max-width: 768px){
 .confirm .gray-frame{
  margin-bottom:27px;
 }
 .confirm .gray-frame + .h4-l-text,
.event-note + .h4-l-text,
.ckbox + .h4-l-text{
  margin-bottom:21px;
 }
}





/* 退会 */
.withdraw .num-img{
 display:block;
 margin:0 auto 10px;
}
.withdraw .pic-img{
 display:block;
 margin:0 auto 20px;
}

.withdraw .confirm01,.withdraw .confirm02{
 margin-bottom:50px;
}
.withdraw .confirm03{
 margin-bottom:40px;
}
.withdraw .agree{
 text-align:left;
}
.withdraw .agree label {
 justify-content: start;
}

.withdraw .reason{
 display:flex;
 flex-wrap: wrap;
}
.withdraw .reason label{
 font-size:14px;
 width:50%;
 margin-bottom:12px;
}
@media screen and (max-width: 768px){
 .withdraw .reason{
  display:block;
  width:100%;
 }
 .withdraw .reason label{
  width:auto;
 }
 .withdraw .reason label{
   border-top:none;
   border-right:none;
   border-left:none;
   border-bottom:1px dashed ;
   border-color:var(--c-gray01);
   border-radius:0;
   padding:0 0 12px 0;
  }
}

/* caution
-------------------- */
.caution{
 color:var(--c-red);
 padding:20px;
 font-weight:bold;
 margin:0 auto 40px;
}
.caution-bd{
 border:1px solid var(--c-red);
}
.caution-day{
 color:var(--c-red);
}
.caution-day{
 margin-bottom:42px;
}
.caution-title{
 font-size:18px;
 font-weight:bold;
 background:#FFE7E5;
 padding:10px 20px;
}
.caution-txt{
 margin:20px;
 font-size:16px;
}
.caution-txt span{
 font-weight:bold;
}
@media screen and (max-width: 768px){
 .caution-day{
  margin-bottom:24px;
 }

}


/* イベント申し込み
------------------------ */
.event dt{
 font-size:18px;
}
.event .box-mb{
 margin-bottom:44px;
}
@media screen and (max-width: 768px){
 .event .box-mb{
  margin-bottom:33px;
 }
}

.event .gray-frame.bg-rad,.eventAfter .gray-frame.bg-rad{
 margin-bottom:10px;
}

.event .gray-frame.bg-rad.last , .eventAfter .gray-frame.bg-rad.last{
 margin-bottom:43px;
}

.blur{
 border-color:var(--c-blue);
 border-width:2px;
}
.event .agree label , .eventAfter .agree label{
 justify-content: start;
}

.agree.bold{
 font-weight:bold;
}
.agree.bold .error-normal{
 font-weight:normal;
 text-align:left;
}


.event .label-radio-button > label{
 margin-bottom:9px;
}
.event .label-radio-button > label:last-child{
 margin-bottom:0;
}

.event-note{
 font-size:14px;
 display: table;
}
.event-note span{
 display: table-cell;
}

.ckbox + button {
 margin-top:40px;
}
@media screen and (max-width: 768px){
 .ckbox + button {
  margin-top:30px;
 }

}

.event .text-block{
 margin-bottom: 16px;
}

.event input[type="text"]{
 margin-bottom: 0;
}


/* アレルギーについて
------------------------------ */
.health-title{
 font-size:20px;
 font-weight:bold;
 background:#E2EEFA;
 padding:6px 10px;
 margin-bottom:10px;
}
.health-title.p-mb20{
  margin-bottom:20px;
}

.medicine, .disease{
 padding-bottom:30px;
}

/* お支払い方法
------------------------------ */
.pay-type .label-radio-button > label{
 margin-bottom:0;
}
.pay-type  .label-radio-button{
 margin-bottom:20px;
}
.pay-type .card{
 padding-bottom:20px;
}

/* マイページの使い方
------------------------------ */
.mypaheInfo .chr-img{
 display:block;
 margin:0 auto 40px;
}

.mypaheInfo .confirmation-link .line-2 {
 display: flex;
 align-items: center;
}
.mypaheInfo .confirmation-link .line-2 a{
 width:100%;
}

.mypaheInfo button.submit{
 margin-bottom:30px;
}

@media screen and (max-width: 768px){
 .mypaheInfo button.submit{
  margin-bottom:30px;
 }

}

/* QA
------------------------------ */
.mypageQa .subject{
 margin:40px auto ;
}

.mypageQa .subject > a{
 display:inline-block;
 color:#000000;
 font-size:14px;
 border:1px solid #C8C8C8;
 border-radius:5px;
 text-decoration: none;
 padding:10px 13px;
 margin:0 8px 8px 0;
}
.mypageQa .qa{
 margin-bottom:40px;
}
@media screen and (max-width: 768px){
 .mypageQa .subject{
  margin:30px auto ;
 }
 .mypageQa .qa{
  margin-bottom:30px;
 }
}

.mypageQa .qa dt.q-txt {
    display: block;
    font-weight: bold;
    padding: 14px 20px;
    background: #E2EEFA;
    margin-bottom: 6px;
    position: relative;
    border-radius: 5px;
}

.mypageQa .qa dt > p {
    line-height: 1.4;
    display: flex;
    align-items: start;
}
.mypageQa .qa dt > p span.txt{
 display: flex;
 align-items: center;
 min-height: 30px
}
.mypageQa dt .q-icon {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-image: url(/images/mypage/q.svg);
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 8px;
    flex-shrink: 0;
}

.mypageQa .qa dd.a-txt {
    display: block;
    padding: 14px 20px;
    background: ver(--c-w);
    margin-bottom: 6px;
    position: relative;
    border-radius: 5px;
}
.mypageQa .qa dd > p {
    line-height: 1.4;
    display: flex;
    align-items: start;
}
.mypageQa .qa dd > p span.txt{
 display: flex;
 align-items: center;
 min-height: 30px
}
.mypageQa dd .a-icon {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-image: url(/images/mypage/a.svg);
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 8px;
    flex-shrink: 0;
}

@media screen and (max-width: 768px){
 .mypageQa .qa dt.q-txt {
  padding: 10px 38px 10px 10px;
 }
 .mypageQa .qa dd.a-txt {
  padding: 10px ;
  display:none;
 }
 .mypageQa .qa dt:before,
 .mypageQa .qa dt:after{
   position: absolute;
   content: '';
   width: 15px;
   height: 2px;
   background-color: var(--c-blue);
   top: 50%;
   right: 14px;
 }

 .mypageQa .qa dt:after{
   transform: rotate(90deg);
   right: 14px;
   transition: .3s;
 }
 .mypageQa .qa dt.close:after{
   transform: rotate(0deg);
   right: 14px;
   transition: .3s;
 }
}

/* イベント申込履歴検索
------------------------------ */
.ap-num{
 position:relative;
}
.ap-num:before{
 content:url(/images/mypage/ap-num.svg);
 display: inline-block;
 vertical-align: middle;
 width: 18px;
 height: 18px;
 padding-right: 5px;
}
.ap-num a{
  color:var(--c-link-blue);
  text-decoration: none;
}
.ap-stop{
 max-width:300px;
 width:100%;
 margin:0 auto 20px;
}



@media screen and (max-width: 768px){
 .ap-stop{
  max-width:315px;
 }
 .no-telno , .no-telno a:[href^="tel:"]{
  color:#000;
  text-decoration: none;
  pointer-events: none;
 }
}

.eventAfter .font14{
 font-size:14px;
}
.eventAfter .cancel-mt40{
 margin-top:40px;
}

.travel-expenses{
 display:flex;
 flex-wrap:wrap;
}
.travel-expenses > div{
 border-bottom:1px solid var(--c-gray01);
 padding:20px 0;
}
.travel-expenses.title > div.bold{
 font-weight:bold;
 padding-bottom:12px;
 padding-top:0;
}


.travel-expenses > div:nth-of-type(odd){
 width:calc(100% - 165px);
}
.travel-expenses > div:nth-of-type(even){
 max-width:165px;
 width:100%;
}

.travel-expenses > div.left{
 display:flex;
 padding-right:70px;
}
.travel-expenses > div.right{
 display:flex;
 align-items:center;
}
.travel-expenses + .button-back{
 margin-bottom:40px;
}

@media screen and (max-width: 768px){
 .travel-expenses > div:nth-of-type(odd){
  max-width:initial;
  width:70%;
 }
 .travel-expenses > div:nth-of-type(even){
  max-width:initial;
  width:30%;
 }
 .travel-expenses.title > div.bold{
  padding-right:25px;
 }
 .travel-expenses > div.left{
  padding-right:25px;
 }
 .travel-expenses + .button-back{
  margin-bottom:30px;
 }

}

/* 旅行業登録票・約款・その他
------------------------------ */
.other-link{
 margin-bottom:40px;
}
.other-link li{
 width:100%;
 border-top:1px solid #C8C8C8;
}
.other-link li:last-child{
 border-bottom:1px solid #C8C8C8;
}

.other-link a{
 font-size:16px;
 font-weight:bold;
 color:#000;
 text-decoration:none;
 display:block;
 padding:22px 0;
 position: relative;
}

.other-link a:after{
 content:url(/images/confirmation-link-arrow.svg);
 position: absolute;
 right: 12px;
}
.other-link a.pdf:after{
 content:url(/images/icon-pdf.svg);
 position: absolute;
 right: 12px;
 top: calc(50% - 14px);
}
.other-link a:hover{
 opacity:0.5;
}
@media screen and (max-width: 768px){
 .other-link{
  display:block;
  margin-bottom:30px;
 }
 .other-link li{
  width:100%;
 }

}

/* お問い合わせ受付窓口
------------------------------ */

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

.contact-flex > div{
 width:50%;
 margin-bottom:10px;
}
.contact-flex > div:nth-of-type(odd){
 width:30%;
}
.contact-flex > div:nth-of-type(even){
 width:70%;
}

.contact-flex > div.w-all{
 width:100%;
 margin-bottom:30px;
}
@media screen and (max-width: 768px){
 .contact-flex{
   display:block;
  }
  .contact-flex > div:nth-of-type(odd){
  width:100%;
 }
 .contact-flex > div:nth-of-type(even){
  width:100%;
 }
 .contact-flex > div.w-all{
   width:100%;
   margin-bottom:20px;
  }


}