@charset "utf-8";
/*base*/
img{max-width: 100%;}
ul,li{padding: 0; margin: 0; list-style: none;}
ul.list,
ol{padding-left: 20px;}
ol li{list-style: decimal;}
ul.list li{list-style: disc;}
div,th,td{word-break: break-all; outline:none;}
table{background-color: #fff;}

.bold{font-weight: bold;}
.normal{font-weight: normal;}
.mincho{font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}
.text-right{text-align: right;}
.text-left{text-align: left;}
.text-center{text-align: center;}
a.uline{text-decoration: underline;}
.anime{transition: .3s;}
.short{-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:1;overflow:hidden;}
.short.line-2{-webkit-line-clamp:2;}
.short.line-3{-webkit-line-clamp:3;}
.short-line{-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;}
.text-cancel{text-decoration: line-through;}

/*button*/
.btn.btn-line{background-color: #06C755; padding: 0 15px 0 5px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;}
.btn-line .line_88{border-right: 1px solid rgba(0,0,0,0.08); width: 60px;}
.btn-line > span{font-weight: bold; color: #fff; font-size: 24px;}
.btn-xs{font-size: 12px; padding: 3px 5px;}
.btn-light{border-color: #ccc;}

/*site check*/
.sitetype-local::after,
.sitetype-dev::after{position: fixed; display: block; bottom: 0; right: 0; font-weight: bold; color: #fff; z-index: 9999999; padding: 10px;}
.sitetype-local::after{content: "local"; background-color: #a3ff00;}
.sitetype-dev::after{content: "dev"; background-color: #8b00ff;}

/*add only site*/
.outer-sc_contact{max-height: 400px; overflow: auto; margin:25px 0; border: 1px solid #ccc;}
.i_terms{height: 250px; overflow: auto; background-color:#fff; padding:0 15px; border: 1px solid #eee}
.terms-sub_title{font-size: 28px; border-bottom: 1px solid #29c697; padding-bottom: 10px; margin:20px 0 10px;}
.terms-sub_label{font-size: 20px; font-weight: bold; border-left: 5px solid #29c697; margin-bottom: 20px; padding-left: 5px;}
.terms-subsub{font-size: 20px; font-weight: bold; margin: 20px 0 5px;}
.terms-block{padding: 20px 0;}
.terms-block p{margin-bottom: 15px;}
.terms-block p:last-child{margin: 0;}
.i_terms-check{margin-top: 20px; text-align: center; font-size: 1rem;}
label > .checkbox{margin-right: 10px;}

/*width*/
.w-full{width: 100% !important; max-width: 100% !important;}

/*alert*/
#myalert{position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%);}
.alert-fixed{font-size: 16px; padding:10px 15px; margin: 0; font-weight: bold; box-shadow: 0 5px 8px rgba(77,77,77,0.2);}

/*position*/
.ab{position: absolute;}
.ab-c{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%);}
.rela{position: relative;}
.fa,.far,.fas,.fab{margin-right: 5px;}
.no-fa{margin-right: 0;}
.left-fa{margin:0 0 0 5px;}

/*badge*/
.badge-md{font-size: 0.8rem; padding: 5px 15px;}
.badge{color: #fff; font-weight: bold;}

/*paging*/
.paging-u{margin-top: 20px;}
.wrp-paging_text { justify-content:center; display: flex; margin-top: 0.5rem; align-items: center; }
.wrp-paging_text .p_total { font-weight: bold; margin-right: 0.5rem; }
.wrp-paging_text .p_text { font-size: 0.8rem; }
.pagination{justify-content: center;}
.page-item.active .page-link{background-color: #29c697; border-color:#29c697;}
.page-link{color: #29c697;}


/*hover*/
.hov-opa:hover{opacity: 0.8;}

/*map*/
.google-map {position: relative; width: 100%; height: 0; padding-bottom: 45%; overflow: hidden;}
.google-map iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none;}

/*flex*/
.fx-wrp{-webkit-flex-wrap:wrap; flex-wrap:wrap;}
.fx-aro{-webkit-justify-content:space-around; justify-content:space-around;}
.fx-coc{-webkit-justify-content:center; justify-content:center;}
.fx-ced{-webkit-justify-content:flex-end; justify-content:flex-end;}
.fx-str{-webkit-align-items:flex-start; align-items:flex-start;}
.fx-end{-webkit-align-items:flex-end; align-items:flex-end;}
.fx-itc{-webkit-align-items:center; align-items:center;}
.fx-cc{display: flex; align-items:center;}
.fx-bet{display: flex; -webkit-justify-content:space-between; justify-content:space-between;}
.fx-ccc{display: inline-flex; justify-content:center; align-items:center;}
.fx-ex{display: flex; -webkit-justify-content:space-between; justify-content:space-between; -webkit-align-items:center; align-items:center;}
.fx-cos{-webkit-justify-content:flex-start; justify-content:flex-start;}
.fx-arc{display: flex; -webkit-justify-content:space-between; justify-content:space-between; -webkit-flex-wrap:wrap; flex-wrap:wrap;}
.fx-rev{flex-direction: row-reverse;}
.fx-pc,.flex{display: -webkit-flex; display: flex;}

/*grid*/
.grid{display: grid; grid-gap: 20px;}
.grid-2{grid-template-columns: 1fr 1fr;}
.grid-3{grid-template-columns: 1fr 1fr 1fr;}
.grid-4{grid-template-columns: 1fr 1fr 1fr 1fr;}

/*row*/
.row-2{margin: 0 -2px;}
.row-2 > div{padding: 0 2px;}
.row-5{margin: 0 -5px;}
.row-5 > div{padding: 0 5px;}
.row-7{margin: 0 -7px;}
.row-7 > div{padding: 0 7px;}
.row-10{margin: 0 -10px;}
.row-10 > div{padding: 0 10px;}
.row-12{margin: 0 -12px;}
.row-12 > div{padding: 0 12px;}
.row-any > div{margin-bottom: 10px}

/*color*/
.week-blue{color:#60abff;}
.c-red,.week-red{color:#e83939;}

/*form*/
.vali_error {color: #FF3B68; margin-top: 5px; font-size: 12px;}
.step_2, .step_3 {display: none;}
.req{color: #eb0808; display: inline-block; margin: 0 5px;}
.label{font-weight: bold;}
.under_label{margin: -7px 0 10px; font-size: 0.8rem;}
.form-btn{text-align: center; margin-top: 2rem; padding: 1rem 0 0; border-top: 1px solid #ddd;}
.form-btn .btn{min-width: 200px;}
.box-loading{text-align: center; padding: 10rem 0;}
.tg-replace > .vali_error{margin: 0 0 20px;}
.step_3_text{text-align: center; padding: 8rem 15px; font-weight: bold; font-size: 1.2rem;}
.form-consent{text-align: center; background-color: #f9f9fb; padding: 10px; margin: 20px 0;}

/*loading*/
#loading{background-color: rgba(255,255,255,0.98); display: none; text-align: center; width:100%;height:100%;z-index:9999;position:fixed;top:0;left:0; filter:alpha(opacity=65);-moz-opacity:0.65;-khtml-opacity:0.65;}
#loading > span{color: #4DD54D; font-size: 20px; width: 100%; z-index: 99999; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%);}
#loading > span::before{-moz-osx-font-smoothing:grayscale; font-family: "Font Awesome 5 Free"; -webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1; font-weight: 900;}
#loading > span::before{content: "\f110"; font-size: 56px; position: absolute; top: -60px; animation: fa-spin 1s infinite steps(8); -webkit-animation: fa-spin 1s infinite steps(8);}
#loading small{font-size: 12px; color: #333; display: block; line-height: 1.4; margin-top: 5px}

/*radio checkbox*/
.radio-btn .btn{width: 100%;}
.radio-btn input{display: none;}
.radio-btn input:checked + label.btn {background-color:#5bc0de; color: #fff;}
.custom-file {max-width: 30rem; overflow: hidden;}
.custom-file-label {white-space: nowrap;}

/*img upload*/
.form-upfile .upload-img-btn {border-color: #ccc;}
.form-upfile .item-thumb_btn{margin-top: 15px; text-align: center}
.form-upfile .item-img_text{font-size: 0.9rem; margin-top: 10px; font-weight: bold;}
.form-upfile .item-noimg{background-color: #eee; text-align: center; padding: 100px 0; max-width: 380px; font-weight: bold; margin:auto;}
.form-upfile .user-image{text-align: center;}
.form-upfile .user-image img{max-height: 480px;}
.form-upfile .item-img_prev{text-align: center;}

/*callout*/
.callout{padding:0 15px;margin:20px 0;border:1px solid #eee;border-left-width:5px;border-radius:3px}
.callout-sm{padding:0 10px; line-height: 1.24}
.callout h4{margin-top:0;margin-bottom:5px}
.callout p:last-child{margin-bottom:0}
.callout code{border-radius:3px}
.callout+.callout{margin-top:-5px}
.callout-default{border-left-color:#777}
.callout-default h4{color:#777}
.callout-primary{border-left-color:#428BCA}
.callout-primary h4{color:#428BCA}
.callout-success{border-left-color:#5CB85C}
.callout-success h4{color:#5CB85C}
.callout-danger{border-left-color:#D9534F}
.callout-danger h4{color:#D9534F}
.callout-warning{border-left-color:#F0AD4E}
.callout-warning h4{color:#F0AD4E}
.callout-info{border-left-color:#5BC0DE}
.callout-info h4{color:#5BC0DE}
.callout .item{padding: 10px 0}
.callout .item:nth-child(n + 2){border-top: 1px solid #ddd;}
.callout .item-title{font-weight: bold; margin-bottom: 0;}
.callout .item-text{margin-bottom: 5px}

/*---PC---*/
@media (min-width: 768px){
    .pc-hidden{display: none;}
}

/*---スマホ---*/
@media only screen and (max-width: 767px) {
    .sm-hidden{display: none;}
    .fx-pc{display: block;}
    .google-map {padding-bottom: 100%;}

    /*grid*/
    .grid{grid-gap: 15px;}
    .grid-2,
    .grid-3{grid-template-columns: 1fr 1fr;}
}

@media screen and (max-width: 480px) {
  .lum-lightbox-inner img {
    max-width: 100vw !important;/* スワイプ範囲含む横幅調整 */
    max-height: 100vh !important;/* 上下余白調整 */
  }
.lum-lightbox-inner{left: 0; right: 0;}
}

/*------Sm small------*/
@media only screen and (max-width: 350px) {
    .grid-2,
    .grid-3{grid-template-columns: 1fr;}
}
