@charset "UTF-8";

.clearfix::after {
    content: "";
    display: block;
    clear: both;
  }
  
@media print, screen and (min-width: 768px) {

img{
    max-width: none;
}

.container{
    width: 100%;
    overflow: hidden;
    position: relative;
} 
.sp-para{
    position: fixed;
    content:"";
    height: 100vh;
    width: 100%;
    background-image: url(../img/about_202509/about_img01_pc.jpg);
    background-repeat: no-repeat;
    background-position: center 0;
    background-size: cover;
    top:0;
}
.sp-para.back2{
    background-image: url(../img/about_202509/about_img02_pc.jpg);
    background-position: center 50px;
}
.sp-para.back3{
    background-image: url(../img/about_202509/about_img03_pc.jpg);
    background-position: center 0;
}

/* main
----------------------------------- */

/* hero
----------------------------------- */

.hero{
    position: relative;
    text-align: center;
    background-color: #fff;
   
}
.hero::before{
    position: absolute;
    content: "";
    background-color: #fff;
    width: 100%;
    height: 100px;
    top:-100px;
    left: 0;
}

.cminfo_01{
    padding-top: 80px;
}

.hero-content{
    margin: -2px auto 0;
    max-width: 1100px;
    position: relative;
}



.main-ttl{
position: relative;
width: 544px;
height: 436px;
margin: 100px auto 0;
text-align: center;
}

.main-ttl-part{
    position: absolute;
    opacity: 0;
    transition: all .5s;
}

.main-ttl-part01{
    position: absolute;
    top:0;
    left: 0;
    

}
.main-ttl-part02{
    top:96px;
    left: 108px;


}
.main-ttl-part03{
    top:237px;
    left: 112px;
    transition-delay: .5s;

}
.main-ttl-part04{
    top:344px;
    left: 112px;
    transition-delay: 1s;

}

.main-ttl-part.anime_on{
    opacity: 1;
}


.catch{
    font-size: 16px;
    font-weight: 400;
    margin-top: 30px;
    position: relative;
    z-index: 3;
}


.hero-illust-wrap{
    position: absolute; 
    width: 544px;   
    top: 0;
    left: 050%;
    transform: translateX(-50%);
    height: 100%;
}
.hero-illust{

position: absolute;
top:0;
transition: all .7s;
opacity: 0;
transform: translateY(50px);
}

.hero-illust.anime_on{
transform: translateY(0);
opacity: 1;
}

.hi01{
    top: 120px;
    right: 76px;
    transition-delay: 1.5s;
    
}

.hi02{
    top: 271px;
    left: 65px;
    transition-delay: 2.2s;
}
.hi03{
    top: 308px;
    left: -115px;
    transition-delay: 1.8s;
}

.hi04{
    top: 380px;
    left: -72px;
    transition-delay: 2.2s;
}
.hi05{
    top: 417px;
    left: -134px;
    transition-delay: 1.8s;
}
.hi06{
    top: 439px;
    left: -81px;
    transition-delay: 1.5s;
}

.hi07{
    top: 523px;
    left: -109px;
    transition-delay: 1.8s;
}
.hi08{
    top: 288px;
    right: -109px;
    transition-delay: 2.2s;
}

.hi09{
    top: 354px;
    right: -64px;
    transition-delay: 1.8s;
}
.hi10{
    top: 432px;
    right: -139px;
    transition-delay: 1.5s;
}

.top_bnr-wraper{
    position: relative;
}
.top_bnr{
    margin-top: 50px;
}

.top_bnr img:hover{
    opacity: .8;
}

/* .para01{
    height: 800px;
    width: 100%;
    background-image: url(../img/about_202509/about_img01_pc.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
} */

.wave01{
    margin-top: -2px;
    position: relative;
    z-index: 2;
}
.wave02{
    margin-top: 500px;
    position: relative;
    z-index: 2;
}
.wave03{
    margin-top: -1px;
    position: relative;
    z-index: 2;
}
.wave04{
    margin-top: 700px;
    position: relative;
    z-index: 2;
}
.wave05{
    margin-top: 0;
    position: relative;
    z-index: 2;
    transform: translateY(-6vw);
}
.wave06{
    margin-top: 700px;
    position: relative;
    z-index: 2;
}
/* point01
----------------------------------- */
.point01-container{
    position: relative;
    width: 100%;
    overflow: hidden;
    z-index: 3;
    
}

/* パラ対応
----------------------------------- */

.point02-container02{
    background-color: #fff;
    padding-bottom: 50px;
}

.pt01{
    position: absolute;
    top:-10vw;
    left: 0;
}


.point01{
    margin-top: -10px;
    position: relative;
   
  
}
.point-ttl{
    position: relative;
    text-align: center; 
}
.point-ttl-sub{
    font-size: 18px;
}
.pt01{
    z-index: 3;
}
.point01-content{
display: flex;
}
.p1c-head{
    font-size: 30px;
    font-weight:800;
    line-height: 36px;
}
.p1c-txt{
    font-size: 16px;
    line-height: 1.8;
    margin-top: 10px;
    text-align: justify;
}

/* point01-01------------- */
.p1c01{
    max-width: 787px;
    height: 645px;
    background-image: url(../img/about_202509/about_point01_bg01_pc.png);
    background-repeat: no-repeat;
    margin-top: -7vw;
    margin-left: -50px;
    position: relative;
}
.p1c01::after{
position: absolute;
content: "";
bottom:20px;
right: 50px;
width: 245px;
height: 3px;
transform: rotate(45deg);
border-top: 3px dotted #f9d7a6;
}

.p1tw01{
    margin-top: 90px;
    margin-left:138px;
}

.p1ct01{
    width: 310px;
}

.p1cp01{
    width: 44%;
    margin-left: 75px;
}

.p1ci01{
    margin-left: -15px;
    margin-top: 80px;
}

/* point01-02------------- */
.p1c02{
    width: 677px;
    height: 551px;
    background-image: url(../img/about_202509/about_point01_bg02_pc.png);
    background-repeat: no-repeat;
    margin-top: -10px;
    margin-right: -80px;
    float: right;
    position: relative;
}
.p1c02::after{
    position: absolute;
    content: "";
    bottom:-80px;
    left: -30px;
    width: 245px;
    height: 3px;
    transform: rotate(-45deg);
    border-top: 3px dotted #f9d7a6;
    }

.p1ci02{
    margin-top: 100px;
    margin-left: -230px;
}


.p1c-r02{
   margin-left: -85px;
   margin-top: 30px;
}
.p1tw02{
   transform: translateX(-85px);
}
.p1ch02{
    text-align: right;
}
.p1ct02{
    width: 305px;
    float: right;
}

.p1cp02{
    margin-left: 0;
}


/* point01-03------------- */
.p1c03{
    width: 741px;
    height: 651px;
    background-image: url(../img/about_202509/about_point01_bg03_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin-left: -30px;
    transform: translateY(170px);
    position: relative;
}
.p1c03::after{
position: absolute;
content: "";
bottom:60px;
right: -10px;
width: 245px;
height: 3px;
transform: rotate(45deg);
border-top: 3px dotted #f9d7a6;
}

.p1tw03{
    margin-top: 80px;
    margin-left: 138px;
}

.p1ct03{
    width: 437px;
}

.p1cp03{
    position: absolute;
    top:-30px;
    right: -55px;
}

.p1ci03-01{
    margin-top: 20px;
    margin-left: -120px;
}
.p1ci03-02{
    margin-top: 240px;
    margin-left: -100px;
}

/* point01-04------------- */
.p1c04{
    width: 680px;
    height: 582px;
    background-image: url(../img/about_202509/about_point01_bg04_pc.png);
    background-repeat: no-repeat;
    margin-top: 210px;
    float: right;
    position: relative;
}

.p1ci04{
    margin-left: -170px;
    margin-top: 90px;
    margin-right: 10px;
}
.p1c-r04{
    margin-top: 80px;
    margin-left: 0;
}
.p1tw04{
    margin-left: -150px;
    margin-right: 30px;
}
.p1ch04{
    text-align: right;
}
.p1ct04{
    width: 268px;
    float: right;
}

.p1cp04{
    margin-left: -40px;
}
.point01-note{
    color: #000;
    position: absolute;
    bottom: -50px;
    right: 0px;
    text-align: right;
    font-size: 12px;
    z-index: 3;
}
/* catalog
----------------------------------- */

.catalog-container{
    width: 100%;
    background-color: #fff;
    position: relative;
    z-index: 1;
    margin-top: -3px;
}

.catalog-area{
width: 1100px;
margin: 0 auto; 
padding: 0 20px;
   
}
.catalog-ttl{
    text-align: center;
    font-size: 33px;
    line-height: 45px;
    font-weight: 600;
    margin-top: 100px;
    
}
.catalog-ttl span{
    font-size: 27px;
}

 .catalog-content{
margin: 20px auto 0;
max-width: 100%;

} 


.catalog-content::-webkit-scrollbar {
    width: 0;
  }
  
  .catalog-content::-webkit-scrollbar-track {
    background-color: #e4e4e4;
    border-radius: 100px;
  }
  
  .catalog-content::-webkit-scrollbar-thumb {
    background-color: #ed8d00;
    border-radius: 100px;
  }
  
.catalog-content-part{
    width: 184px;
    margin: 5px 10px 20px;
}
.ccp-p{
    width: 180px;
    border: #000 1px solid;
    overflow: hidden;
}
.catalog-cap{
    width: 180px;
    margin-top: 5px;
    font-size: 11px;
    line-height: 17.6px;
    text-align: justify;
}

.swiper-button-prev,
.swiper-button-next {
position: absolute;
 width: 35px;
 height: 35px;
 cursor: pointer;
 display: flex;
 align-items: center;
 justify-content: center;
 width: 35px;
 height:  35px;
 background-size:  35px;
}
/* 次ページボタンのスタイル */
.swiper-button-next {
background-image: url(../img/about_202509/about_scroll_next_pc.png);
right: 30px;
top: 160px;
}
/* 前ページボタンのスタイル */
.swiper-button-prev {
background-image: url(../img/about_202509/about_scroll_prev_pc.png);
left: 30px;
top: 160px;
}
.swiper-button-prev:after,
.swiper-button-next:after {
 font-family: swiper-icons;
 font-size: var(--swiper-navigation-size);
 text-transform: none !important;
 letter-spacing: 0;
 text-transform: none;
 font-variant: initial;
}

/* point02
----------------------------------- */

.point02-container{
    position: relative;
    width: 100%;
    background-color: #fff;
}

.point02{
    margin-top: -20px;
    position: relative;
    z-index: 3;
    }
.pt02{
    position: absolute;
    width: 100%;
    top: -9.5vw;
    left:0;

}
.point02-content{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 10px;
    padding-top: 190px;
    transform: translateY(-9.5vw);
}

.point02-content-part{
    width: 450px;
    height: 450px;
    background-color: #f9d7a6;
    border-radius: 50%;
    padding-top: 60px;
    margin: 14px;
}
.p2c-head{
    font-size: 24px;
    text-align: center;
}
.p2c-txt{
    margin: 10px auto;
    width: 310px;
}
.p2c-ill{
text-align: center;
}

/* point03
----------------------------------- */
.point03-container{
    width: 100%;
    background-color: #fff;
    position: relative;
}
.point03{
    margin-top: 0;
    position: relative;
    z-index: 3;
    margin-top: -50px;
    padding-bottom: 280px;
}

.pt03{
    position: absolute;
    width: 100%;
    top:-7vw;
}


.point03-content{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    margin: 0 auto;
    padding-top: 210px;
    transform: translateY(-7vw);
}
.point03-content-part{
    width: 300px;
    margin: 10px 27px 0;
}
.p3cp-head-cap{
    font-size: 14px;
    font-weight: bold;
}
.p3cp-head{
    font-size: 24px;
    line-height: 28px;
    margin-top: 5px;
}

.p3cp-txt{
    margin-top: 5px;
    text-align: justify;
}

.p3cp-txt-wrap01{
    margin-top: -50px;
}
.p3cp-txt-wrap02{
    margin-top: 25px;
}
.p3cp-txt-wrap03{
    margin-top: 22px;
}
.p3cpi03{
    margin-top: -12px;
    margin-bottom: 10px;
}

/* btn01---------------------- */
.btn01-wrap{
    position: absolute;
    text-align: center;
    display: flex;
    justify-content: space-between;
    width: 443px;
    margin-left: auto;
    bottom: -67px;
    right:10px;
    z-index: 5;
    transition: all .2s;
}
.btn01-wrap.anime_on{
    opacity: 0;
}
.btn01-wrap.anime_on_2{
    opacity: 0;
}

.btn01-wrap a{
    text-decoration: none;
}
.btn01{
    text-align: center;
    width: 216px;
    padding: 10px;
    border-radius: 35px;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    box-shadow: 5px 5px 5px #ccc;
    position: sticky;
    top: 10px;
    transition: all .2s;
}
.btn01:hover{
    transform: translateX(2px) translateY(2px);
    box-shadow: 3px 3px 3px #999;
  
}
.btn01red{
    background-color: #c90000;
}
.btn01green{
    background-color: #67b207;
}


/* btn2---------------------- */
.btn02-wrap{
    margin: 30px auto;
    text-align: center;
    width: 500px;
}

.btn02-wrap a{
    text-decoration: none;
}
.btn02{
    margin: 60px auto 0;
    text-align: center;
    width: 500px;
    padding: 15px;
    border-radius: 35px;
    color: #fff;
    text-decoration: none;
    font-size: 23px;
    font-weight: bold;
    box-shadow: 5px 5px 5px #ccc;
    transition: all .2s;
}
.btn02:hover{
    transform: translateX(2px) translateY(2px);
    box-shadow: 3px 3px 3px #999;
  
}
.btn02red{
    background-color: #c90000;
}
.btn02green{
    background-color: #67b207;
}

/* tokuten---------------------- */
.tokuten{
    position: relative;
    background-image: url(../img/about_202509/about-tokuten_back_pc.png);
    background-repeat: no-repeat;
    background-size: auto;
    background-position: center top;
    margin-top: -122px;
    padding-bottom: 30px;
    z-index: 1;
    text-align: center;
    
}
.tokuten-ttl{
    padding-top: 60px;
    margin: 0 auto;
    text-align: center;
}

.tokuten-cm-wrapper{
    margin-top: 50px;
}
.tokuten-cm-bnr{
    position: relative;
    margin: 10px auto 0;
}
.tokuten-cm-btn{
    position: relative;
    margin: -80px auto 0;
}
.tokuten-cm-btn img:hover{
opacity: .8;
}



.tokuten-content-ttl{
    margin-top: 100px;
}

.tokuten-content{
    max-width: 1040px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 10px auto 0;

}
.tokuten-content-part{
    max-width: 506px;
    margin-bottom: 20px;
}


/* about-flow---------------------- */
.about-flow{
    position: relative;
    text-align: center;
    background-color: #fff;
    padding-bottom: 186px;
}
.about-flow-ttl{
    padding-top: 75px;
}
.about-flow-content{
    margin-top: 15px;
    margin-bottom: 92px;
}

/* sodan---------------------- */
.sodan-wrap{
    position: relative;
    width: 100%;
    background-color: #fff;
    padding-bottom: 56px;
    margin-top: -2px;
}
.sodan{
    max-width: 920px;
    background-color: #ed8d00;
    padding: 50px 50px 35px;
    position: relative;
    border-radius: 35px;
    margin: 0 auto 0;
}
.sodan-sub{
    position: absolute;
    top: -17px;
    left: 30px;
}
.sodan-txt{
    font-weight: bold;
    font-size: 20px;
    line-height: 33px;
}
.sodan-btn{
    background-color: #ffff41;
    border-radius: 35px;
    text-align: center;
    padding: 10px;
    width: 500px;
    margin: 40px auto 0;
    transition: all .3s;
    box-shadow: 5px 5px 5px #c37500;
    color: #000;
    text-decoration: none;
    font-size: 34px;
    font-weight: bold;
    line-height: 41px;
}
.sodan a{
    text-decoration: none;
}


.sodan-btn:hover{
    transform: translateX(2px) translateY(2px);
    box-shadow: 3px 3px 3px #c37500;
}
.sodan-ill{
    position: absolute;
    top:30px;
    right: 20px;
}

.online_tokuten{
    margin: 80px auto 0;
    width: 800px;
    background-color: #fff;
    border-radius: 35px;
    text-align: center;
    padding-bottom: 35px;
}
.online_tokuten1{
    transform: translateY(-30px);
}
.online_tokuten2{
    margin-top: 20px;
}
.online_tokuten3{
    margin-top: 50px; 
}




.totop-wrap{
    position: relative;
    width: 100%;
    background-color: #fff;
    margin-top: -56px;
}
.totop{
    margin-top: -56px;
    text-align: center;
}
}

@media screen and (max-width: 1015px) {
    .tokuten-content{
        justify-content: center;
    
    }

    .tokuten-content-part{
        width: 350px;
        margin: 10px;
    }
    .tokuten-content-part img{
        max-width: 100%;
    }
}
@media print, screen and  (min-width:1300px) {

    .sp-para.back2{
        background-image: url(../img/about_202509/about_img02_pc.jpg);
        background-position: center -50px;
    }
    

}


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

html{
    overscroll-behavior: none;
}


 .container{
    width: 100%;
    overflow: hidden;
    position: relative;
} 
.sp-para{
    position: fixed;
    content:"";
    height: 100vh;
    width: 100%;
    background-image: url(../img/about_202509/about_img01_sp.png);
    background-repeat: no-repeat;
    background-position: center -19vw;
    background-size: cover;
    top:0;
}
.sp-para.back2{
    background-image: url(../img/about_202509/about_img02_sp.png);
    background-position: center -10vw;
}
.sp-para.back3{
    background-image: url(../img/about_202509/about_img03_sp.png);
    background-position: center 0vw;
}



    /* main
----------------------------------- */

/* hero
----------------------------------- */


.hero{
    position: relative;
    text-align: center;
    background-color: #fff;
    padding-top: 10vw;
    padding-bottom: 2vw;
    overflow: hidden;
   
}

.cminfo_01{
    width: 100%;
    margin: 0 auto;
    padding-top: 10vw;
} 

.hero-content{
    margin: 10vw auto;
    position: relative;
    
}

.catch{
    width: 80vw;
    font-size: 3.7vw;
    line-height: 6vw;
    margin: 5.3vw auto 0;
    font-weight: bold;
}



.main-ttl{
position: relative;
width: 90vw;
margin: 12vw auto 0;
padding-top: 0;
z-index: 3;
}

.main-ttl-part{
    position: absolute;
    opacity: 0;
    transition: all .5s;
}
.main-ttl-part01{
    width: 90vw;
    top:0;
    left: 0vw;

}
.main-ttl-part02{
    width: 46.2vw;
    top:16.1vw;
    left: 17.6vw;
}
.main-ttl-part03{
    width: 55.6vw;
    top:39.3vw;
    left:18.4vw;
    transition-delay: .5s;
}
.main-ttl-part04{
    width: 46vw;
    top:56.9vw;
    left:18.4vw;
    transition-delay: 1s;
}

.main-ttl-part.anime_on{
    opacity: 1;
}

.hero-illust-wrap{
    position: absolute;
    width: 90%;
    height: 73vw;
    top: 0;
    left: 5vw;
  
}
.hero-illust{
position: absolute;
transition: all .8s;
opacity: 0;
transform: translateY(6.6vw);

}

.hero-illust.anime_on{
transform: translateY(0);
opacity: 1;
}

.hi01{
    width: 13.2vw;
    top: 19.86vw;
    right: 11.8vw;
    transition-delay: 1.5s;
}
.hi02{
    width: 9.4vw;
    top: 46vw;
    left: 10vw;
    transition-delay: 2.2s;
}
.hi03{
    width: 7vw;
    top: 80.1vw;
    left: 0;
    transition-delay: 1.8s;
}
.hi04{
    width: 9vw;
    top: 91.7vw;
    left: 1.7vw;
    transition-delay: 2.2s;
}
.hi05{
    width: 7.4vw;
    top: 98.2vw;
    left: 0;
    transition-delay: 1.8s;
}
.hi06{
    width: 6.6vw;
    top: 104.8vw;
    left: 2.4vw;
    transition-delay: 1.5s;
}
.hi07{
    width: 5.4vw;
    top: 115vw;
    left: 7vw;
    z-index: 3;
    transition-delay: 1.8s;
}
.hi08{
    width: 7.3vw;
    top: 74.4vw;
    right: -1vw;
    transition-delay: 2.2s;
}
.hi09{
    width: 11.3vw;
    top: 87.4vw;
    right: 0vw;
    transition-delay: 1.8s;
}
.hi10{
    width: 17.4vw;
    top: 101.4vw;
    right: -.2vw;
    transition-delay: 1.5s;
}
.top_bnr-wraper{
    margin-top: 0;
    padding-bottom: 5vw;
}
.top_bnr02{
    margin-top: 5vw;
}
.wave01{
    margin-top: -0vw;
    position: relative;
    z-index: 2;
    transform: translateY(-10%);
}
.wave02{
    margin-top: 160vw;
    position: relative;
    z-index: 2;
    transform: translateY(-70%);
}
.wave03{
    margin-top: -5vw;
    position: relative;
    z-index: 2;
    transform: translateY(0);
}
.wave04{
    margin-top: 140vw;
    position: relative;
    z-index: 2;
    transform: translateY(-70%);
}
.wave05{
    margin-top: 6vw;
    position: relative;
    z-index: 2;
    transform: translateY(-70%);
}
.wave06{
    margin-top: 140vw;
    position: relative;
    z-index: 2;
    transform: translateY(-70%);
}


/* point01
----------------------------------- */

.point01-container{
    width: 100%;
    overflow: hidden;
}

.point01{
    margin-top: 10vw;
    background-color: #fff;
    position: relative;
    z-index: 5;
    padding-bottom: 11vw;
}
.point-ttl{
    position: relative;
    padding-top: -0;
    transform: translateY(-20vw);
    
}
.point-ttl-number{
    margin: -20vw auto 0;
    width: 18.5vw;
}
.point-ttl-txt{
    width: 100vw;
}
.point-ttl-sub{
    margin-top: 6vw;
    text-align: center;
    font-size: 4.2vw;
    font-weight: bold;
}

.pt01{
    z-index: 3;
}
.p1c-head{
    font-size: 6.4vw;
    line-height: 7.5vw;
}
.p1c-txt{
    margin-top: 3vw;
    font-size: 4vw;
    line-height: 7.2vw;
    font-weight: 400;
}

/* point01-01------------- */
.p1c01{
    width: 87.4vw;
    height: 101.8vw;
    background-image: url(../img/about_202509/about_point01_bg01_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: -15vw;
    margin-left: 0;
    position: relative;
}


.p1tw01{
    margin-left: 5vw;
}

.p1ct01{
    width: 50vw;
}

.p1cp01{
    position: absolute;
    width: 47.2vw;
    top: 13vw;
    right: -13vw;
}

.p1ci01{
width: 95vw;
margin-top: 2vw;
margin-left: -20vw;
}

/* point01-02------------- */
.p1c02{
    width: 100vw;
    height: 83.4vw;
    background-image: url(../img/about_202509/about_point01_bg02_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: 32vw;
    margin-left: auto;
    position: relative;
}


.p1tw02{
    position: relative;
    margin-left: auto;
    width: 50vw;
    padding-top: 13vw;
    z-index: 2;
}
.p1ch02{
    width: 50vw;
}
.p1ct02{
    width: 50vw;
    padding-right: 5vw;

}

.p1cp02{
    position: absolute;
    width: 50vw;
    top: 15vw;
}

.p1ci02{
position: absolute;
width: 100vw;
top:70vw;

}

/* point01-03------------- */
.p1c03{
    width: 87.6vw;
    height: 99.7vw;
    background-image: url(../img/about_202509/about_point01_bg03_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: 60vw;
    margin-left: 0;
    position: relative;
}

.p1tw03{
    position: relative;
    padding-top: 0vw;
    z-index: 2;
    margin-left: 5vw;
}
.p1ch03{
    width: 80vw;
}
.p1ct03{
    width: 47vw;
}

.p1cp03{
    position: absolute;
    width: 35.2vw;
    top: 30vw;
    right: 0vw;
}

.p1ci03-01{
position: absolute;
width: 98vw;
top:78vw;
left: -25vw;
}
.p1ci03-02{
position: absolute;
width: 56.5vw;
top:50vw;
right: -25vw;
}

/* point01-04------------- */
.p1c04{
    width: 83.3vw;
    height: 97vw;
    background-image: url(../img/about_202509/about_point01_bg04_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: 50vw;
    margin-left: auto;
    position: relative;
    margin-bottom: 40vw;
}


.p1tw04{
    position: relative;
    margin-left: auto;
    width: 80vw;
    padding-top: 3vw;
    z-index: 2;
}
.p1ch04{
    width: 80vw;
    text-align: right;
    padding-right: 5vw;
}
.p1ct04{
    width: 50vw;
    margin-left: auto;
    padding-right: 5vw;

}

.p1cp04{
    position: absolute;
    width: 35.86vw;
    top: 31vw;
    left: -7vw;
}

.p1ci04{
position: absolute;
width: 85.6vw;
top:68vw;
right: -30vw;
}

.point01-note{
    font-size: 3vw;
    text-align: right;
    padding-right: 3vw;
}

/* catalog
----------------------------------- */
.catalog-container{
    position: relative;
}

.swiper-container{
    background-color: #fff;
    width: 100%;
    position: relative;
    padding-bottom: 5vw;
}
.catalog{
    position: relative;
    background-color: #fff;
    z-index: 20;
}
.catalog-ttl{
    position: relative;
    font-size: 4.8vw;
    font-weight: bold;
    text-align: center;
    background-color: #fff;
    padding-bottom: 5vw;
}
.catalog-ttl span{
    font-size: 4.8vw;
    text-align: center;
}
.catalog-content{
    position: relative;
    width: 100%;
    margin: 3vw auto 0;
    z-index: 3;

}

.catalog-content::-webkit-scrollbar {
    width: 0;
  }
  
  .catalog-content::-webkit-scrollbar-track {
    background-color: #e4e4e4;
    border-radius: 100px;
  }
  
  .catalog-content::-webkit-scrollbar-thumb {
    background-color: #ed8d00;
    border-radius: 100px;
  }

.catalog-content-part{
    width: 39vw;
    margin: 2vw 2vw 2vw ;
    
}

.ccp-p{
    width: 39vw;
    border: #000 .2vw solid;
    overflow: hidden;
}
.catalog-cap{
    width: 39vw;
    margin-top: 2vw;
    font-size: 3.7vw;
    line-height: 5.6vw;
    text-align: justify;
}

.swiper-button-prev,
.swiper-button-next {
position: absolute;
 width: 7vw;
 height: 7vw;
 cursor: pointer;
 display: flex;
 align-items: center;
 justify-content: center;
 width: 7vw;
 height:  7vw;
 background-size:  7vw;

}
/* 次ページボタンのスタイル */
.swiper-button-next {
background-image: url(../img/about_202509/about_scroll_next_pc.png);
right: 2vw;
top: 8vw;
}
/* 前ページボタンのスタイル */
.swiper-button-prev {
background-image: url(../img/about_202509/about_scroll_prev_pc.png);
left: 2vw;
top: 8vw;
}
.swiper-button-prev:after,
.swiper-button-next:after {
 font-family: swiper-icons;
 font-size: var(--swiper-navigation-size);
 text-transform: none !important;
 letter-spacing: 0;
 text-transform: none;
 font-variant: initial;
}


/* point02
----------------------------------- */
.point02{
    margin-top: 8vw;
    position: relative;
    z-index: 3;
    background-color: #fff;
    padding-bottom: 10vw;
}
.pt02{
    margin-bottom: -5vw;
}
.point02-content{
margin-top: -10vw;
}
.point02-content-part{
    width: 90vw;
    margin: 5vw auto 0;
    position: relative;
}
.p2c-head{
    font-size: 6.4vw;
    text-align: left;
}
.p2c-txt{
    width: 42.6vw;
    font-size: 4vw;
    line-height: 7.2vw;
}
.p2c-ill{
position: absolute;
}

.p2c-ill-01{
    width: 39.7vw;
    top: 3vw;
    right: 0;
}
.p2c-ill-02{
    width: 31.7vw;
    top:5vw;
    right: 3vw;
}

.p2c-ill-03{
    width: 40vw;
    top:15vw;
    right: 0;
}

/* point03
----------------------------------- */

.point03{
    margin-top: 8vw;
    position: relative;
    z-index: 3;
    background-color: #fff;
    padding-bottom: 20vw;
}
.point03-content{
    width: 90vw;
    margin: -10vw auto 0;
    
}
.point03-content-part{
    display: flex;
    flex-direction: column;
    margin-bottom: 14vw;
}

.p3cp-img{
order: 2;
}
.p3cp-txt-wrap{
  order: 1;
}
.p3cp-head-cap{
    font-size: 3.7vw;
    text-align: center;
}

.p3cp-head{
    font-size: 6.4vw;
    line-height: 7.4vw;
    font-weight: bold;
    text-align: center;
    margin-bottom: 3vw;
}

.p3cp-txt{
    font-size: 4vw;
    line-height: 7.2vw;
    text-align: justify;
}
.p3cpi01{
    width: 95vw;
  margin-left: -3vw;
}

.p3cpi02{
    width: 94vw;
    margin-left: -2vw;

}
.p3cpi03{
    width: 95.2vw;
    margin-left: -5vw;
    margin-top: 2vw;
}

/* btn */
.btn01-wrap{
    margin-top: 5vw;
    padding-top: 2.5vw;
    text-align: center;
    display: flex;
    justify-content: space-between;
    width: 58vw;
    margin-left: auto;
    transform: translateX(-5vw);
    position: absolute;
    bottom:-10vw;
    right: -2vw;
    
    z-index: 5;
    
}
.btn01-wrap.anime_on{
    opacity: 0;
}
.btn01-wrap.anime_on_2{
    opacity: 0;
}
.btn01-wrap a{
    text-decoration: none;
}
.btn01{
    text-align: center;
    width: 28vw;
    padding: .5vw;
    border-radius: 3.4vw;
    color: #fff;
    text-decoration: none;
    font-size: 3.4vw;
    font-weight: bold;
    box-shadow: .5vw .5vw .5vw #999;
    font-feature-settings: "palt";
}
.btn01red{
    background-color: #c90000;
}
.btn01green{
    background-color: #67b207;
}


.btn02-wrap{
    margin-top: 20vw;
    text-align: center;
}
.btn02-wrap a{
    text-decoration: none;
}
.btn02{
    margin: 7vw auto 0;
    text-align: center;
    width: 74.6vw;
    padding: 2.5vw;
    border-radius: 6vw;
    color: #fff;
    text-decoration: none;
    font-size: 4.2vw;
    font-weight: bold;
    box-shadow: .5vw .5vw .5vw #999;
}
.btn02red{
    background-color: #c90000;
}
.btn02green{
    background-color: #67b207;
}

/* tokuten---------------------- */
.tokuten{
    position: relative;
    background-image: url(../img/about_202509/about-tokuten_back_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    padding-bottom: 5vw;
    z-index: 5;
    background-color: #fff;
    margin-top: -1vw;
    
}
.tokuten-ttl{
    width: 83.3vw;
    margin: 0 auto ;
    text-align: center;
    padding-top: 10vw;
    margin-left: 12vw;
}
.tokuten-cm-wrapper{
    margin-top: 5vw;
}
.tokuten-cm-bnr{
    margin-top: 5vw;
}
.tokuten-cm-btn{
    margin: -16vw auto 0;
    width: 82.4vw;
}
.tokuten-content-ttl{
    margin-top: 12vw;
}
.tokuten-content-part{
    width: 92vw;
    margin: 4vw auto 2vw;
}


/* flow---------------------- */
.about-flow{
    position: relative;
    background-color: #fff;
    z-index: 5;
    width: 100%;
}
.about-flow-ttl{
    position: relative;
    padding-top: 12vw;
    width: 100vw;
}

.about-flow-content{
    width: 100vw;
    margin-top: 5vw;

}


/* sodan---------------------- */
.sodan-wrap{
    position: relative;
    width: 100%;
    background-color: #fff;
    margin-top: -10vw;
    padding-top: 10vw;
}
.sodan{
    width: 90vw;
    background-color: #ed8d00;
    padding: 10vw 3vw 5vw 3vw;
    position: relative;
    border-radius: 5vw;
    margin: 15vw auto 0;
}
.sodan-sub{
    position: absolute;
    width: 63vw;
    top:-5vw;
    left: 1vw;
}
.sodan-ttl{
    width: 71.8vw;
    margin: 0 auto;
}
.sodan-txt{
    font-weight: bold;
    font-size: 4vw;
    line-height: 7.2vw;
    padding: 0 7vw;
}
.sodan-btn{
    background-color: #ffff41;
    margin: 5vw auto 0;
    border-radius: 5vw;
    width: 75vw;
    padding: 2vw;
    text-align: center;
    color: #000;
    box-shadow: 5px 5px 5px #c37500;
    text-decoration: none;
    font-weight: bold;
    font-size: 4.6vw;
    line-height: 5.7vw;
}
.sodan a{
    text-decoration: none;
}

.sodan-btn img{
    width: 40vw;
}
.sodan-ill{
    width: 80vw;
}

.online_tokuten{
    margin: 10vw auto 0;
    background-color: #fff;
    border-radius: 5vw;
    text-align: center;
    padding-bottom: 5vw;
}
.online_tokuten1{
    transform: translateY(-4vw);
}
.online_tokuten2{
    margin-top: -2vw;
}
.online_tokuten3{
    margin-top: 10vw; 
}
.totop-wrap{
    position: relative;
    width: 100%;
    text-align: center;
    background-color: #fff;
    z-index: 3;
    padding: 5vw 0;
}


}