@charset "UTF-8";:root{--base-vw: 390;--zenkaku: "Zen Kaku Gothic New", sans-serif;--figtree: "Figtree", sans-serif}
@keyframes marker{0%{background-position:100% 100%;background-size:100% 1px}49%{background-position:100% 100%;background-size:0% 1px}50%{background-position:0% 100%;background-size:0% 1px}51%{background-position:0% 100%;background-size:0% 1px}to{background-position:0% 100%;background-size:100% 1px}}
@keyframes out_text{}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0;color:inherit}*:before,*:after{pointer-events:none}body{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}img,picture,video,canvas,svg{display:block;max-width:100%}img{-o-object-fit:cover;height:auto;object-fit:cover;}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}*:not(.wp-contents) ol,*:not(.wp-contents) ul{list-style:none}a{color:inherit;font:inherit;text-decoration:none}address{font-style:normal}:where(a){text-decoration:none}:where(a) *{text-decoration:none}:where(img){width:100%}:where(li){list-style:none}html{height:100%;overflow-y:scroll;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-weight:300;font-size:62.5%;line-height:1.6;font-family:"Noto Serif Display","Noto Serif JP",serif;font-feature-settings:"palt";letter-spacing:.15em}[data-load]{opacity:0;pointer-events:none;transition:opacity .6s ease}[data-load]
.is-active{
    opacity:1;
    pointer-events:auto
}
.lBody{
    width:100%
}
.lWrapper{
    overflow:hidden
}

.lMain{
    padding:25rem 0 0
}
.cComp{
    z-index:10000;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    opacity:.4;
    pointer-events:none
}
.cButton{
    display:block;
    width:100%;
    padding:6px 0;
    border:1px solid #000000;
    border-radius:400px;
    font-weight:300;
    font-size:12px;
    line-height:1.75;
    letter-spacing:.15em;
    text-align:center
}
.cSns{
    display:block;
    width:14px
}
.cTitle{
    position:relative;
    padding:0 0 0 29px;
    font-weight:400
    ;font-size:40px;
    line-height:1.4;
    font-family:"Noto Serif Display",serif;
    letter-spacing:0
}
.cTitle>span{
    display:inline-block;
    overflow:hidden
}
.cTitle>span>span{
    display:inline-block;
    translate:105% 0;
    transition:translate .6s ease
}
.cTitle:before{
    position:absolute;
    top:50%;
    left:0;
    width:21px;
    height:21px;
    margin:-5px 0 0;translate:-100% -50%;
    background:url(../images/common/icon_arrow01.svg) no-repeat;
    background-position:center
    ;background-size:contain;
    content:"";opacity:0;transition:opacity .36s ease,translate .36s ease}[data-scroll=active]

.cTitle:before{
    translate:0% -50%;
    opacity:1}[data-scroll=active] 

.cTitle>span>span{
    translate:0 0
}
.lHeader{
    z-index:40;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:25rem;
    background-color:#fff
}
.pHeader{
    display:flex;
    align-items:flex-start;
    justify-content:flex-start
}
.pHeader_logo{
    flex:0 0 24.2rem;
    width:24.2rem;
    margin:4rem 0 0 7.1rem
}
.pHeader_contact{
    width:50.7rem;
    margin:6.8rem 0 0 6.4rem
}
.pHeader_tel{
    width:54.4rem;
    margin:6.8rem 0 0 5.5rem
}
.pHeader_company{
    width:32.3rem;
    margin:7.4rem 0 0 4.8rem
}
.pFooter{
    padding:4rem;
    background-color:#f0a917;
    color:#fff;
    font-weight:400;
    font-size:2.4rem;
    line-height:1;font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
    text-align:center
}
@media (max-width: 767px)
{html{font-size:.5208333333vw}
.isPc{
    display:none
}
.cButton{
    padding:.6rem 0;
    font-size:1.2rem
}
.cSns{
    width:1.4rem
}
.cTitle{
    padding:0 0 0 2.9rem;
    font-size:4rem
}
.cTitle:before{
    width:2.1rem;
    height:2.1rem;
    margin:-.5rem 0 0}
}
@media screen and (min-width: 768px),print{:root{--base-vw: 1440}html{font-size:.5208333333vw}
.isSp{
    display:none
}
.cButton{
    transition:background-color .36s ease,color .36s ease
}
.cButton:hover{
    background-color:#000;
    color:#fff
}
.pHeader a{
    transition:opacity .36s ease
}
.pHeader a:hover{
    opacity:.6}

}

.lBody{
    background:url(../images/base.webp) repeat;
    background-position:center;
    background-size:192rem 135.6rem
}
.pFloatingBanner{
    z-index:4;
    position:fixed;
    right:34px;
    bottom:2rem;
    width: 11%;
    opacity:0;
    pointer-events:none;
    transition:opacity .36s ease;
    background-color:#c5af99;
     border: 2px solid #efefef;
    box-shadow: 0 0 0px 10px #c5af99;
   
}
.floating-img{
    display: block;
    padding: 8% 8% 0% 8%;
}

.floating-logo{
    display: block;
    padding: 3% 10% 7% 10%;

}

.pFloatingBanner p{
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  color: #fff;
  font-size: 2.1em;
  display: block;
  border-top: 2px solid #ffffff;
  text-align: center;
  margin-top: -5%;
  padding: 2%;
}


.pFloatingBanner.is-active{
    opacity:1;
    pointer-events:auto
}
.topView{
    position:relative
}
.topView_title{
    z-index:1;
    position:absolute;
    top:14.6rem;
    left:50%;
    width:123.5rem;
    translate:-50% 0
}
.topView_animal{
    z-index:1;
    position:absolute;
    right:4.7rem;
    bottom:-12.5rem;
    width:41.2rem
}
.topAbout{
    position:relative;
    margin:63.8rem 0 0
}
.topAbout_home{
    -index:1;
    position:absolute;
    top:-81rem;
    left:50%;
    width:95.4rem;
    translate:-50% 0
}
.topAbout_title{
    font-weight:300;
    font-size:5.242rem;
    line-height:1.581457459;
    font-family:Zen Old Mincho,serif;
    letter-spacing:0;
    text-align:center
}
.topAbout_text{
    width:90.636rem;
    margin:10.96rem auto 0}
    .topType{
        margin:14rem 0 0
    }
.topType_list{
    display:grid;
    grid-template-columns:1fr;width:148.515rem;
    margin:0 auto;
    gap:11.65rem
}
.topContact{
    margin:18.13rem 0 0
}
.topContact_item{
    display:block;
    width:148.8rem;
    margin:0 auto
}
.topFeature{
    margin:20.2rem 0 0;--color: #000
}
.topFeature.isLdk{
    --color: #234574
}
.topFeature.isStyle{
    --color: #425a16
}
.topFeature.isTaishin{
    --color: #5b3108
}
.topFeature.isOndo{
    --color: #425a16
}
.topFeature.isSyunou{
    --color: #6f3407
}
.topFeature.isOto{
    --color: #64570f
}
.topFeature_contents{
    width:148.732rem;
    margin:0 auto
}
.topFeature_block{
    position:relative;
    min-height:38.114rem;padding:0 0 0 38.141rem;color:var(--color)
}
.topFeature_logo{
    position:absolute;
    top:0;left:0;
    width:38.141rem
}
.topFeature_title{
    margin:0 0 3.4rem;padding:0 0 3.4rem;
    border-bottom:1px solid var(--color);
    font-weight:700;
    font-size:7.5rem;
    line-height:1.2;
    font-family:"Noto Serif",serif;letter-spacing:0;text-align:center
}
.topFeature_heading{
    font-weight:500;
    font-size:4.8rem;
    line-height:1.2;font-family:"Noto Serif",serif;
    letter-spacing:0;text-align:center
}
.topFeature_text{
    margin:3.4rem 0 0;padding:0 0 0 4.5rem;
    font-weight:400;font-size:3.2rem;
    line-height:1.4545454545;
    font-family:"Noto Serif",serif;
    letter-spacing:.11em
}
.topFeature_text small{
    display:block;margin:1.4rem 0 0;
    font-size:2.735rem;
    line-height:1.1992687386;
    letter-spacing:.005em
}
.topFeature_image{
    margin:4rem 0 0
}
.topFeature.isTaishin .topFeature_image{
    margin:-14.6rem 0 0
}
.topFeature_images{
    width:102.1rem;
    margin:7.2rem 0 0
}
.topFeature_images-track{
    overflow:visible!important
}
.topStyle{
    margin:19.8rem 0 0
}
.topStyle_container{
    width:148.839rem;
    margin:0 auto
}
.topStyle_title{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:4.96rem
}
.topStyle_title span{
    display:flex;
    flex:0 0 35.352rem;
    align-items:center;
    justify-content:center;
    width:35.352rem;
    height:11.062rem;
    border:2px solid #140b0b;
    font-weight:900;font-size:4.886rem;
    line-height:1;
    font-family:Zen Kaku Gothic New,sans-serif;letter-spacing:.4em;
    white-space:nowrap
}
.topStyle_title.isTypeb span{
    flex:0 0 49.2rem;
    width:49.2rem
}

.topStyle_title small{
    font-weight:700;
    font-size:3.35rem;
    line-height:1.8;
    font-family:"M PLUS Rounded 1c",sans-serif;
    letter-spacing:.1em
}
.topStyle_image{
    margin:3.4rem 0 0
}
.topStyle_case{
    margin:3.8rem 0 0;border-top:.4rem solid #000;border-right:.4rem solid #000;border-left:.4rem solid #000
}
.topStyle_case-title{
    padding:3.2rem 0;
    border-bottom:.4rem solid #000
}
.topStyle_case-title picture{
    width:71.75rem;
    margin:0 auto
}
.topStyle_case-madori{
    position:relative
}
.topStyle_case-madori+.topStyle_case-madori{
    border-top:.4rem solid #000
}
.topStyle_case-heading{
    display:flex;
    position:absolute;
    top:0;
    left:0;
    align-items:center;
    justify-content:center;
    width:20.6rem;height:20.6rem;
    border-right:.4rem solid #000;border-bottom:.4rem solid #000;
    font-weight:900;font-size:5.344rem;line-height:1;font-family:Lato,sans-serif;letter-spacing:0
}
.topStyle_case-image picture{
    margin:0 auto
}
.topStyle_case-image picture.isImage01{
    width:98.647rem;
    padding:4rem 0 7.2rem
}
.topStyle_case-image picture.isImage02{
    width:93.273rem;
    padding:6.1rem 0 6.2rem
}
.topStyle_case-image picture.isImage02 img{
    translate:3.2rem 0
}
.topStyle_case-image picture.isImage04{
    width:90rem;
    padding:5.2rem 0 5.4rem
}
.topStyle_case-image picture.isImage05{
    width:89.8rem;
    padding:13.6rem 0 4.2rem}
.topStyle_case-detail{margin:0 -.2rem
}
.topColors{
    margin:4.4rem 0 0
}
.topColors_container{
    width:148.839rem;
    margin:0 auto
}
.topColors_title{
    display:flex;
    align-items:center;
    justify-content:center;
    height:10.227rem;
    border:.4rem solid #000000;
    font-weight:700;
    font-size:4.8rem;
    line-height:1;
    font-family:"Noto Serif",serif;letter-spacing:.2em;
    text-align:center
}
.topColors_list{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    margin:2.4rem 0 0;
    gap:1rem 1.6rem
}
.topOurs{
    margin:15.6rem 0 0
}
.topOurs_title{
    width:114.537rem;
    margin:0 auto
}
.topOurs_text{
    width:125.574rem;
    margin:15.4rem auto 0
}
.topSupport{
    margin:17.6rem 0 0
}
.topSupport_title{
    width:110.45rem;
    margin:0 auto
}
.topSupport_staff{
    width:144.593rem;
    margin:9.2rem auto 0
}
.topModelroom{
    margin:18.9rem 0 0
}
.topModelroom_title{
    width:138.437rem;
    margin:0 auto
}
.topModelroom_merit{
    width:144.458rem;
    margin:19.6rem auto 0
}
.topModelroom_promise{
    width:91.6rem;
    margin:12.8rem auto 0
}
.topTokuten{
    z-index:1;
    position:relative;
    margin:6.6rem 0 0;
    padding:0 0 14rem
}
.topTokuten:before{
    z-index:-1;
    position:absolute;
    top:21.6rem;
    right:0;bottom:0;left:0;
    background-color:#f0a917;content:""
}
.topTokuten_title{
    width:159.2rem;
    margin:0 auto
}
.topTokuten_present{
    width:158.572rem;
    margin:5.75rem auto 0
}
.topTokuten_text{
    width:157.387rem;
    margin:0 auto
}
.topTokuten_text.isText01{
    margin-top:4.2rem
}
.topTokuten_text.isText02{
    margin-top:5.7rem
}
.topForm{
    margin:4.8rem 0 0
}

.topForm_text picture{
    width:128.5rem
}
.pForm{
    margin:4.2rem 0 0;
    padding:0 0 15.2rem
}
.pForm_list{
    display:grid;
    grid-template-columns:1fr;gap:1rem
}
.pForm_list-item{
    display:flex;
    justify-content:flex-start;
    gap:6.4rem
}

.pForm_title.isRequired{
    padding:0 0 5.5rem
}
.pForm_title.isNoBorder{
    border:0
}
.pForm_item{
    flex:1 1 100%;
    width:100%
}
.pForm_row{
    display:grid;
    grid-template-columns:1fr 1fr;
    flex:1 1 100%;
    width:100%;
    gap:2.3rem
}
.pForm_row.isColumns01{
    grid-template-columns:1fr
}

.pForm_input{
    padding:2.2rem 0 0
}

.pForm_checkbox label input{
    display:none
}

.pForm_checkbox label input:checked+span:after{
    opacity:1
}
.pForm_error{
    color:red;
    font-weight:900;
    font-size:2.7rem;
    line-height:1.6;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0
}

.pForm_submit{
    width:78.8rem;
    margin:7rem auto 0
}
.pForm_submit label{
    display:block;
    padding:6.2rem 0;
    background-color:#f0a917;
    color:#fff;
    cursor:pointer
}
.pForm_submit label input{
    display:none
}
.pForm_submit span,.pForm_submit small{
    display:block;
    font-weight:900;
    line-height:1;font-family:Zen Kaku Gothic New,sans-serif;
    text-align:center
}
.pForm_submit small{
    font-size:3.8rem
}
.pForm_submit span{
    margin:2rem 0 0;
    font-size:7rem
}
.pThanks{
    padding:0 0 12rem
}
.pThanks_title{
    width:155.4rem;
    margin:0 auto
}
.pThanks_heading{
    margin:8rem 0 0;
    font-weight:700;
    font-size:5.6rem;
    font-family:Zen Kaku Gothic New,sans-serif;
    text-align:center
}
.pThanks_text{
    margin:8rem 0 0;
    font-weight:500;
    font-size:3.2rem;
    line-height:1.6;
    font-family:Zen Kaku Gothic New,sans-serif;
    text-align:center
}
.pSiryoAbout{
    margin:12.6rem 0 0
}
.pSiryoAbout_title{
    width:89.6rem;
    margin:0 auto
}

.pSiryoAbout_text{
    width:155.2rem;
    margin:13.8rem auto 0
}

/*--PC --*/
@media screen and (min-width: 768px) {
    .topForm_container,.topForm_title{
    width:155.534rem;
    margin:0 auto
}
.pForm input,.pForm textarea,.pForm select{
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    background-color:#fff;
    font-weight:900;
    font-size:2.7rem;
    line-height:1.6;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0
}
.pForm input,.pForm select{
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    width:100%;
    height:9.1rem;
    padding:0 3.2rem;
    border:.3rem solid #000;
    border-radius:10rem
}

.pForm_note{
    padding:0.5rem 0 0;
    font-weight:900;
    font-size:2.7rem;
    line-height:1.6;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
    white-space:nowrap
}

.pForm_title{
    display:flex;
    position:relative;
    flex:0 0 25.184rem;
    align-items:center;
    justify-content:center;
    width:25.184rem;
    min-height:13.6rem;
    overflow:hidden;
    border:.3rem solid #000;border-radius:2.2rem;
    font-weight:900;
    font-size:3.1rem;
    line-height:1.1935483871;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
    text-align:center
}
.pForm_title.isRequired span{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    padding:1.6rem 0 1.4rem;
    background-color:#ef6f66;color:#fff;
    font-size:2.5rem;
    line-height:1;
    text-align:center
}
.pForm_select:before{
    position:absolute;
    top:3.4rem;
    right:5.2rem;
    aspect-ratio:1;
    width:2rem;
    rotate:135deg;
    border-top:.3rem solid #000;
    border-right:.3rem solid #000;
    content:""
}
.pForm_title.isRequired{
    padding:0 0 5.5rem
}

.pForm_row.isColumns03{
    grid-template-columns:1fr;
}

.pForm_checkbox label span{
    display:block;
    position:relative;
    padding:0 0 0 5.2rem;
    font-weight:900;
    font-size:2.7rem;
    line-height:1.6;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
    cursor:pointer
}
.pForm_privacy{
    height:35.2rem;
    margin:6.2rem 0 0;
    padding:2.4rem 3.2rem;
    overflow:auto;
    border:1px solid #000;
    font-weight:400;font-size:2.1rem;
    line-height:1.6;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0
}

.pForm_checkbox label span:before{
    position:absolute;
    top:.8rem;
    left:0;
    width:3.2rem;
    height:3.2rem;
    border:.3rem solid #000;
    content:""
}
.pForm_checkbox label{
    flex:0 0 45.2rem;
    width:45.2rem
}

.pForm_checkbox label span:after{
    position:absolute;
    top:.4rem;
    left:.4rem;
    aspect-ratio:2/1;
    width:3.2rem;
    rotate:135deg;
    border-top:.3rem solid #ef6f66;
    border-right:.3rem solid #ef6f66;
    content:"";
    opacity:0;
    transition:opacity .2s ease
}
.pForm_checkbox{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:flex-start;
    padding:3.5rem 5.4rem;
    gap:1.2rem 0;
    border:.3rem solid #000;
    border-radius:4.5rem
}
.pForm textarea{
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    width:100%;
    height:32.8rem;
    padding:3.2rem;
    border:.3rem solid #000;
    border-radius:4.5rem;
    resize:none
}
.pForm_note_time{
    font-weight:900;
    font-size:2.7rem;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
}
.pForm_note_zep{
    font-weight:900;
    font-size:2.7rem;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
}
.pForm_select{
    position:relative;
    overflow:hidden
}

.topForm_text{
    margin:3.6rem 0 0;
    padding:0 2.5rem
}

 .form_ul_text{
     font-weight:900;
    font-size:2.7rem;
    line-height:1.6;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
    display: list-item !important;
}

 .form_ul_text li{
    display: flex;
 }
.form_ul_text li::before {
    content: "・";
    padding-right: 0.5em;
}

.topTokuten_text.isText01 h3,
.topTokuten_text.isText02 h3{
    font-weight: 900;
    font-size: 3.8rem;
    line-height: 1.1935483871;
    font-family: Zen Kaku Gothic New, sans-serif;
    letter-spacing: 0;
    color: #fff;
    text-align: center;
    display: block;
     width: 100%;
     margin: 0 auto;
     border: .2rem solid;
     padding: 1.2rem;
}
.topTokuten_text_wrap p ,
.topTokuten_text_wrap ol{
    margin: 0;
    padding: 0;
}


.topTokuten_text_wrap ol {
    list-style-type: none;
    counter-reset: final-counter; 
    font-weight: 900;
    font-size: 2.7rem;
    line-height: 1.6;
    font-family: Zen Kaku Gothic New, sans-serif;
    letter-spacing: 0;
    color: #fff;
}

.topTokuten_text_wrap ol li{
    padding-bottom: 1em;
    display:flex;
    align-items: flex-start;
}
.topTokuten_text_wrap ol li::before{
    counter-increment: final-counter;
    content: counter(final-counter) ". "; 
    flex-shrink: 0;
    font-weight: 900;
    font-size: 2.7rem;
    font-family: Zen Kaku Gothic New, sans-serif;
    color: #fff;
}

.topTokuten_text_wrap p{
 font-weight: 900;
    font-size: 2.7rem;
    line-height: 1.6;
    font-family: Zen Kaku Gothic New, sans-serif;
    letter-spacing: 0;
    color: #fff;

}

.topTokuten_text.isText02 ul{
font-weight: 900;
    font-size: 2.7rem;
    line-height: 1.6;
    font-family: Zen Kaku Gothic New, sans-serif;
    letter-spacing: 0;
    color: #fff;
    padding-left: 1em;
}

.topTokuten_text.isText02 li{
    padding-bottom: 1em;
    list-style: disc !important;
}

.topTokuten_text_wrap02{
margin-top: 3.2em;
}


.sp_br{
    display: none;
}

} 

/*--sp --*/
@media (max-width: 767px){
.lightpick{left:1rem!important}
.topForm_container,.topForm_title{
    width:90%;
    margin:0 auto
}
.pFloatingBanner{
    z-index:4;
    position:fixed;
    right:0;
    width: 100%;
    opacity:0;
    pointer-events:none;
    transition:opacity .36s ease;
    background-color:#c5af99;
     border: 2px solid #efefef;
    box-shadow: 0 0 0px 5px #c5af99;
   
}
.pFloatingBanner_inner ul{
display: flex;
background-color: transparent !important;
column-gap:0px!important;
gap: 0 !important;
row-gap: 0px !important;
  align-items: center;
    padding: 0 !important;
    margin: 0 !important;
     box-sizing: border-box !important;

}


  .pFloatingBanner_inner ul li {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
     box-sizing: border-box !important;
  }



.sp-floating-li-logo,
  .sp-floating-li-logo *,
  .floating-logo {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

.sp-floating-li-img{
    display: block;
    width: 25%!important;
    overflow: visible !important;
    position: relative;
}

.sp-floting-li-text{
    display: block;
    background-color:#c5af99;
    width: 75%!important;
    margin: 0;
    padding: 4%;
    height: 100%;
     box-sizing: border-box !important;
    
}

.floating-img {
    position: relative;
    overflow: visible !important;
    width: 100% !important;
    height: auto !important;
}
.floating-img picture{
       display: block !important;
    position: absolute;
    top: -620%;
    left: 0%;
    width: 90% !important;  /* ←ここで拡大 */
    height: auto !important;
    z-index: 10;

}

  .floating-img picture img {
    display: block !important;
    width: 100% !important; /* ← pictureに対して100% */
    height: auto !important;
    object-fit: cover;
  }


.pFloatingBanner p{
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  color: #fff;
  font-size: 16.2em;
  display: block;
  border-top: 0px solid #ffffff;
  text-align: center;
  margin-top: 0%;
  padding: 2%;
}  
.pForm_list-item{
  display: block;
  margin: 1.2rem;
}
.pForm_title {
    display: block;
    position: relative;
    width: 100%;
    min-height: 7.6rem;
    overflow: hidden;
    font-weight: 900;
    font-size: 6.1rem;
    line-height: 1.1935483871;
    font-family: Zen Kaku Gothic New, sans-serif;
    letter-spacing: 0;
    padding: 0 0 2.2rem 0;
}
.pForm_title.isRequired span{
    padding:1.6rem;
    background-color:#ef6f66;
    color:#fff;
    font-size:5.5rem;
    line-height:1;
    text-align:center
}
.pForm_title.isRequired{
    padding:0 0 2.2rem
}

.pForm_title.isRequired_inquiry{
    padding:0 0 2.2rem 0
}

.pForm input,.pForm textarea,.pForm select{
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    background-color:#fff;
    font-weight:900;
    font-size:5.7rem;
    line-height:1.6;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0
}
.pForm input,.pForm select{
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    width:100%;
    height:20.1rem;
    padding:0 3.2rem;
    border:.5rem solid #535353;
    border-radius:3rem;
    margin-bottom: 3%;
}
.pForm_note{
    font-weight:900;
    font-size:3.7rem;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
    position: absolute;
    top: 50%;
    left:50%;
    transform: translate(-50%,-50%);
    width: 100%;
}
.pForm_item{
    flex:1 1 100%;
    width:100%;
    position: relative;
}
.pForm_item_time{
    width:70%;
    position: relative;
}
.pForm_note_time{
    font-weight:900;
    font-size:4.7rem;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
    margin-bottom:7.2rem;
}
.pForm_note_zep{
    font-weight:900;
    font-size:4.7rem;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
}

.pForm_select:before{
    position:absolute;
    top:9.4rem;
    right:7.2rem;
    aspect-ratio:1;
    width:4rem;
    rotate:135deg;
    border-top:.3rem solid #000;
    border-right:.3rem solid #000;
    content:""
}
.pForm_checkbox label span{
    display:block;
    position:relative;
    padding:0 0 0 8.2rem;
    font-weight:900;
    font-size:5.7rem;
    line-height:1.6;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
    cursor:pointer
}

.pForm_row.isColumns03{
    grid-template-columns:1fr 1fr;
    display: flex;
    flex-flow:column;
    justify-content:space-between;
}
.pForm_privacy{
    height:35.2rem;
    margin:6.2rem 0 0;
    padding:2.4rem 3.2rem;
    overflow:auto;
    border:1px solid #000;
    font-weight:400;
    font-size:4.1rem;
    line-height:1.6;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0
}

.pForm_checkbox label span:before{
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    left:0;
    width:6.2rem;
    height:6.2rem;
    border:.4rem solid #000;
    content:""
}
.pForm_checkbox > label{
   flex-basis: 50%;
    box-sizing: border-box;
    padding: 5px 10px;
 
}

.pForm_checkbox > label > input[type="checkbox"] {
  margin-right: 8px; 
}

.pForm_checkbox label span:after{
    position:absolute;
    top:25%;
    left:.4rem;
    aspect-ratio:2/1;
    width:5.2rem;
    rotate:135deg;
    border-top:.5rem solid #ef6f66;
    border-right:.5rem solid #ef6f66;
    content:"";
    opacity:0;
    transition:opacity .2s ease
}
.pForm_checkbox{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:flex-start;
    padding:3.5rem 5.4rem;
    gap:1.2rem 0;
    border:.5rem solid #000;
    border-radius:4.5rem;
    margin-top: 2.2rem;
}
.pForm textarea{
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    width:100%;
    height:32.8rem;
    padding:3.2rem;
    border:.5rem solid #000;
    border-radius:4.5rem;
    resize:none
}

.pForm_list-item_zep{
       grid-template-columns:1fr 1fr;
    display: flex;
    flex-flow:column;
    justify-content:space-between;
}
.pForm_select{
    position:relative;
    padding:2.2rem 0 0;
    overflow:hidden
}

.topForm_text{
    margin:3.6rem 0 0;
    padding:6.5rem 2.5rem
}

 .form_ul_text{
     font-weight:900;
    font-size:4.7rem;
    line-height:1.6;
    font-family:Zen Kaku Gothic New,sans-serif;
    letter-spacing:0;
    padding-left: 0;
}

 .form_ul_text li{
    display: flex;
 }
.form_ul_text li::before {
    content: "・";
    padding-right: 0.5em;
}

.li_br{
    display: inline-block;
}


.topTokuten_text.isText01 h3,
.topTokuten_text.isText02 h3{
    font-weight: 900;
    font-size: 9.8rem;
    line-height: 1.1935483871;
    font-family: Zen Kaku Gothic New, sans-serif;
    letter-spacing: 0;
    color: #fff;
    text-align: center;
    display: block;
     width: 100%;
     margin: 0 auto;
     border: .6rem solid;
     padding: 1.2rem;
}

.topTokuten_text_wrap p ,
.topTokuten_text_wrap ol{
    margin: 0;
    padding: 0;
}


.topTokuten_text_wrap ol {
    list-style-type: none;
    counter-reset: final-counter; 
    font-weight: 900;
    font-size: 4.7rem;
    line-height: 1.4;
    font-family: Zen Kaku Gothic New, sans-serif;
    letter-spacing: 0;
    color: #fff;
}

.topTokuten_text_wrap ol li{
    padding-bottom: .7em;
    display:flex;
    align-items: flex-start;
}
.topTokuten_text_wrap ol li::before{
    counter-increment: final-counter;
    content: counter(final-counter) ". "; 
    flex-shrink: 0;
    font-weight: 900;
    font-size: 4.7rem;
    font-family: Zen Kaku Gothic New, sans-serif;
    color: #fff;
}

.topTokuten_text_wrap p{
 font-weight: 900;
    font-size: 4.7rem;
    line-height: 1.6;
    font-family: Zen Kaku Gothic New, sans-serif;
    letter-spacing: 0;
    color: #fff;
    margin-bottom: 0.6em;

}

.topTokuten_text.isText02 ul{
font-weight: 900;
    font-size: 4.7rem;
    line-height: 1.6;
    font-family: Zen Kaku Gothic New, sans-serif;
    letter-spacing: 0;
    color: #fff;
    padding-left: 1em;
}

.topTokuten_text.isText02 li{
    padding-bottom: .7em;
    list-style: disc !important;
}

.topTokuten_text_wrap02{
margin-top: 3.2em;
}

.pc_br{display: none;}


}
/* Android用のメディアクエリ */
@media only screen and (max-width: 767px) and (pointer: coarse) {
    .pFloatingBanner {
        left: 50%; /* 中央寄せ */
        transform: translateX(-50%); /* きれいに中央に配置 */
        bottom: 20px; /* 下部に少し余裕を持たせる */
        padding: 15px;
        white-space: nowrap; /* テキストが折り返ししないように */
        width: auto; /* 横幅を自動で調整 */
    }
}



@media screen and (min-width: 768px),print{.topContact_item{transition:opacity .36s ease}
.topContact_item:hover{opacity:.6}.pForm_submit label{transition:opacity .36s ease}
.pForm_submit label:hover{opacity:.6}
}
