@charset "UTF-8";

body {
	color: #231815;
	font-size: 16px;
    font-size: calc(769px * 12 / 375);
	line-height: 1.6;
    font-family: 'noto-sans-cjk-jp', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', sans-serif;
}

main{
    margin: 0 auto;
    padding-bottom: 26%;
    background: #fff7ec;
    position: relative;
}
.main-wrap{
    max-width: 890px;
    margin: 0 auto;
    padding: 1px 0;
    overflow: hidden;
}


.sp{display: none;}

img{
    width: 100%;
    max-width: 100%;
    vertical-align: bottom;
}

h2.ttl {
    text-align: center;
    font-size: 179%;
    font-family: 'fot-udkakugoc80-pro', sans-serif;
    transform: scale(1.2, 1);
    line-height: 1.4;
    color: #00a0e9;
}
h2.ttl:after {
    content: '';
    width: 2px;
    height: 65px;
    background: #00a0e9;
    display: block;
    margin: 9px auto;
}

.df {
    display: flex;
}

a:hover{
    opacity: 0.8;
}

footer{
    padding: 11.7% 0 5%;
    background: #f0edeb;
}
footer p.insta {
    width: 10%;
    max-width: 74px;
    margin: 0 auto 10%;
}

footer .df {
    max-width: 550px;
    justify-content: center;
    align-items: center;
}

footer h1.logo {
    width: 28%;
    max-width: 154px;
    margin: 0;
}

footer .footer__block {
    width: 60%;
    max-width: 330px;
    padding-left: 43px;
    font-size: 100%;
    line-height: 1.7;
    font-weight: 400;
}

footer .footer__block p.copy{
    margin-top: 15px;
    font-size: 108%;
    font-weight: 600;
    text-align: left;
}

.buy_top{
    width: 20%;
    max-width: 140px;
    position: fixed;
    right: 35px;
    top: 35px;
    z-index: 1;
}

@media screen and (min-width:769px) {
    main{
        padding-bottom: 6.3%;
    }
    h2.ttl{
        font-size: 212%;
        line-height: 1.85;
    }
    h2.ttl:after{
        height: 95px;
        margin: 29px auto 0;
    }

    footer{
        padding: 1.4% 0 5%;
    }
    footer .df{
        justify-content: center;
        margin: 0 auto;
    }

    footer p.insta{
        width: 3%;
        max-width: 39px;
        margin: 0 auto 2%;
    }

    footer h1.logo{
        width: 18%;
        max-width: 99px;
        margin: 0;
    }
    footer .footer__block{
        padding-left: 28px;
        font-size: 82%;
        line-height: 1.35;
    }

    footer .footer__block p.copy{
        margin-top: 8px;
        font-size: 100%;
    }

    .buy_top{
        width: 8%;
        max-width: 120px;
        right: 10%;
        bottom: 25.7%;
        top: auto;
    }
}

@media screen and (max-width:768px) {
    main{
        max-width: 768px;
    }

    .sp{display: block;}
    .pc{display: none;}

    body {
        font-size: calc(100vw * 12 / 375);
    }

    .buy_top{
        right: 3%;
    }

}

#sec01 {
    margin-bottom: 34%;
}

#sec01 .sec01__point {
    width: 60%;
    max-width: 370px;
    margin: 12.9% auto 0;
    padding: 3.6% 0 8.6%;
    background: url(../img/cf/cf-cut.png) no-repeat top center;
    background-size: cover;
    text-align: center;
    font-size: 142%;
    font-weight: 600;
    line-height: 1.6;
}

#sec01 p.sec01__text {
    margin-top: 9%;
    text-align: center;
    font-size: 145%;
    font-weight: 600;
    line-height: 2;
    letter-spacing: 3px;
}

#sec01 .sec01__img_block {
    width: 86.4%;
    max-width: 648px;
    margin: 3.4% auto;
}

#sec01 p.sec01__text2{
    width: 61%;
    max-width: 457px;
    margin: 20.1% auto 0;
    padding: 7.3% 0 3.8%;
    text-align: center;
    font-size: 164%;
    font-weight: 600;
    line-height: 1.6;
    border: 2px solid #000;
    border-radius: 50%;
}
#sec01 p.sec01__text2 span{
    display: block;
    font-weight: 900;
}

#sec01 .sec01__img_block2 {
    width: 87%;
    max-width: 660px;
    margin: 11.8% auto 0;
}

#sec01 h2.sec01__text3 {
    margin: 9.7% 0;
    font-size: 155%;
    font-weight: 600;
    text-align: center;
    line-height: 1.8;
}

#sec01 h2.sec01__text3 span{
    color: #efc346;
    letter-spacing: 8px;
}

#sec01 .sec01__img_block3 {
    width: 88%;
    max-width: 660px;
    margin: 9.6% auto 0;
}

@media screen and (min-width:769px) {
    #sec01{
        margin-bottom: 17%;
    }
    #sec01 .sec01__point__wrap{
        position: relative;
        margin-bottom: 40px;
        padding: 89px 0 0;
        margin-top: 50px;
    }
    #sec01 .sec01__point{
        margin: 0;
        padding: 4.9% 0 6.3%;
        background-size: 100%;
        line-height: 1.55;    
        position: absolute;
        top: 0;
        left: 30px;
    }

    #sec01 .sec01__img_block{
        width: 100%;
        max-width: 889px;
        margin: 0;
    }

    #sec01 .sec01__img_block img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #sec01 p.sec01__text{
        margin-top: 0;
        padding: 8px 0 3px;
        background: url(../img/cf/sec01_img01-bg.webp) no-repeat top center;
        background-size: cover;
        line-height: 1.4;
        letter-spacing: 0;
        color: #fff;
    }
    
    #sec01 p.sec01__text2{
        width: 57.5%;
        max-width: 510px;
        margin: 89px auto 0;
        padding: 9.5% 0 10.4%;
        font-size: 168%;
        line-height: 1.55;
        border: 6px solid #000;
    }

    #sec01 .sec01__img_block2{
        width: 78%;
        max-width: 695px;
        margin: 0 auto;
    }

    #sec01 h2.sec01__text3{
        margin: 7.5% 0 0;
        font-size: 180%;
    }

    #sec01 .sec01__img_block3{
        margin: 5.7% auto 0;
    }

}

@media screen and (max-width:425px) {
    #sec01 .sec01__point{
        background-size: contain;
    }
}

#sec02 {
    margin: 28.8% 0 23.2%;
}

#sec02 .sec02__img_block {
    width: 85%;
    max-width: 637px;
    margin: 13.4% auto 0;
}

#sec02 p {
    margin-top: 4.1%;
    text-align: center;
    font-size: 142%;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.7;
}

#sec02 h3 {
    margin: 6.9% auto 4%;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 143%;
    font-family: 'fot-udkakugoc80-pro', sans-serif;
    transform: scale(1.2, 1);
}
#sec02 h3:after{
    content: '';
    width: 25%;
    height: 2px;
    margin-left: 4%;
    display: block;
    background: #727171;
}

#sec02 .swiper.insta{
    width: 86%;
    max-width: 645px;
    padding-bottom: 10%;    
}

#sec02 .swiper.insta span.img{
    display: block;
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
}
#sec02 .swiper.insta span.img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-pagination-bullet-active{
    background: #231815;
}

@media screen and (min-width:769px) {
    #sec02{
        margin: 10.1% 0 6.7%;
    }
    
    #sec02 .sec02__img_block{
        margin: 5.9% auto 0;
    }

    #sec02 p{
        margin-top: 5%;
        font-size: 178%;
        letter-spacing: 3px;
        line-height: 1.5;
    }

    #sec02 h3{
        font-size: 158%;
        margin: 9.5% auto 9%;
        letter-spacing: 0px;
    }
    #sec02 h3:after{
        width: 45%;
        height: 3px;
        margin-left: 3%;
    }

    #sec02 .swiper.insta{
        width: 92%;
        max-width: 815px;
    }
}

#sec03{
    margin-bottom: 24%;
    padding: 3.9% 0 3% 7%;
    position: relative;
    z-index: 0;
}

#sec03 h2 {
    margin-bottom: 12.5%;
    font-size: 133%;
    line-height: 2.1;
    letter-spacing: 2px;
    text-indent: -0.5em;
}

#sec03 p {
    margin-bottom: 7.6%;
    font-size: 125%;
    line-height: 1.75;
    letter-spacing: 2px;
}

#sec03 .name {
    padding-right: 4%;
    position: relative;
    margin-left: 40%;
    top: -12px;
    text-align: right;
}

#sec03 .name figure img{
    max-width: 376px;
}
#sec03 .name figcaption {
    font-size: 144%;
    margin-top: 16px;
}

#sec03 .bg{
    width: 100%;
    height: 100%;
    background: url(../img/cf/sec03_bg.webp) no-repeat center top;
    background-size: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    
}

@media screen and (min-width:769px) {
    #sec03{
        margin-bottom: 15.4%;
        padding: 0;
    }

    
    #sec03 .main-wrap{
        padding: 3.6% 0 0 4%;
        position: relative;
    }

    #sec03 h2{
        margin-bottom: 11%;
        font-size: 172%;
        line-height: 1.5;
    }
    #sec03 p {
        margin-bottom: 8.9%;
        font-size: 157%;
        line-height: 1.5;
    }

    #sec03 .name{
        margin-left: 49%;
        top: -27px;
    }
    #sec03 .name figure img{
        max-width: 412px;
    }

    #sec03 .bg{
        background: url(../img/cf/sec03_bg-pc.webp) no-repeat center top;
        background-size: contain;
        right: -4%;
        
    }

}


#sec04 {
    margin: 39.9% 0 10%;
    padding-bottom: 56%;
    background: url(../img/cf/sec04_bg_t.png),url(../img/cf/sec04_bg_b.png);
    background-color: #f0edeb;
    background-position: top center, bottom center;
    background-size: 100%;
    background-repeat: no-repeat;
}

#sec04 .sec04__img_block {
    width: 64%;
    margin: 0 auto 13.9%;
}

#sec04 h3 {
    position: relative;
    padding-left: 26px;
}

#sec04 .sec04_block h3 .no{
    font-size: 450%;
    color: #00a0e9;
    display: inline-block;
    position: relative;
    line-height: 1;
    font-family: serif;
    font-family: ten-mincho-text, serif;
    font-weight: 400;
}
#sec04 .sec04_block h3 .no:after{
     content: '';
    width: 3px;
    height: 171%;
    background: #fff;
    display: inline-block;
    rotate: 55deg;
    position: absolute;
    right: -60%;
    bottom: -88%;
}

#sec04 .sec04_block h3 span.sub_ttl {
    margin-top: 2.6%;
    display: block;
    text-align: center;
    font-size: 112%;
    letter-spacing: 6px;
}

#sec04 .sec04_block h3 span.ttl {
    width: 81%;
    margin: 3.1% auto 9.7%;
    padding-bottom: 4.3%;
    display: block;
    text-align: center;
    font-size: 148%;
    letter-spacing: 8px;
    border-bottom: 3px solid #231815;
}

.sec04_block.fearure01 {
    margin: 6.9% 0 25.3%;
}
.sec04_block.fearure01 .sec04__txt_block {
    padding: 22% 0px 7%;
    position: relative;
}

.sec04_block.fearure01 .sec04__img img{
    width: 73%;
    max-width: 547px;
    position: absolute;
    top: 0;
    left: 0;
}
.sec04_block.fearure01 .sec04__img p{
    width: 35%;
    max-width: 262px;
    background: url(../img/cf/cf-cut.png) no-repeat;
    background-size: 100%;
    position: absolute;
    top: 42%;
    left: 0;
    font-size: 104%;
    text-align: center;
    padding: 3.6% 0 4%;
    line-height: 1.7;

}

.sec04_block.fearure01 .sec04__txt{
    background: #fff;
    width: 87.8%;
    margin: 0 auto;
    padding-bottom: 8%;
    box-shadow: 3px 3px 3px 2px #ccc;
}

.sec04_block.fearure01 .sec04__txt p.txt{
    display: flex;
}
.sec04_block.fearure01 .sec04__txt p.txt span{
    width: 40%;
    margin-left: 60%;
    padding: 25px 13px 16px;
    font-size: 130%;
    writing-mode: vertical-rl;
    white-space: pre;
    letter-spacing: 5px;
    line-height: 1.7;
    display: inline-block;
}

.sec04_block.fearure01 .sec04__txt p.txt2 {
    width: 75%;
    margin-left: 25%;
    background: #ccc;
    font-size: 123%;
    padding: 6px 0 6px 25px;
    line-height: 1.5;
    letter-spacing: 3px;
}
.sec04_block.fearure01 .sec04__txt p.txt3 {
    width: 95%;
    background: #ccc;
    font-size: 123%;
    padding: 5px 0 5px 19px;
    line-height: 1.5;
    margin-top: 4%;
    letter-spacing: 3px;
}


.sec04_block .sec04__txt_block2{
    position: relative;
}

#sec04 .sec04_block h3.ttl{
    padding-left: 8.5%;
    color: #9fa0a0;
}
#sec04 .sec04_block h3.ttl span{
    font-size: 140%;
    letter-spacing: 4px;
}
#sec04 .sec04_block h3.ttl span > span{
    margin-top: 7%; 
    font-size: 174%;
    display: block;
    letter-spacing: 12px;
}

.sec04_block.fearure01 p.txt4 {
    margin-top: 6%;
    padding-left: 8.5%;    
    font-size: 120%;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 4px;
}

.sec04_block.fearure01 p.img {
    width: 90%;
    margin: 3.1% auto;    
    max-width: 675px;
}

.sec04_block .sec04__txt_block2 p.txt5{
    width: 25%;
    max-width: 185px;
    position: absolute;
    bottom: 45%;
    right: 20px;
}

.sec04_block.fearure02 {
    margin: 6.9% 0 15.4%;
}

.sec04_block.fearure02 .sec04__img img{
    width: 68%;
    max-width: 547px;
    position: absolute;
    top: 0;
    right: 0;
}
.sec04_block.fearure02 .sec04__img p{
    width: 20%;
    max-width: 157px;
    max-height: 157px;
    background-size: 100%;
    position: absolute;
    top: -2%;
    left: 5%;
    font-size: 112%;
    text-align: center;
    padding: 3.6% 0 4.9%;
    line-height: 1.6;
    border-radius: 50%;
    border: 1px solid #000;
}

.sec04_block.fearure02 .sec04__txt_block{
    margin-top: 14.3%;
    padding: 19.5% 0 11.2%;
    position: relative;
}

.sec04_block.fearure02 .sec04__txt{
    background: #fff;
    width: 87.8%;
    margin: 0 auto;
    padding-bottom: 6.5%;
    box-shadow: 3px 3px 3px 2px #ccc;
}

.sec04_block.fearure02 .sec04__txt p.txt{
    display: flex;
}

.sec04_block.fearure02 .sec04__txt p.txt span{
    width: 31%;
    padding: 34px 13px 29px;
    font-size: 130%;
    writing-mode: vertical-rl;
    white-space: pre;
    letter-spacing: 5px;
    line-height: 1.7;
    display: inline-block;
}

.sec04_block.fearure02 .sec04__txt .df .img {
    width: 46%;
    max-width: 300px;
}
.sec04_block.fearure02 .sec04__txt .df .txt {
    width: 50%;
    padding-left: 6%;
}
.sec04_block.fearure02 .sec04__txt .df .txt p{
    margin-bottom: 14%;
    font-size: 120%;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 4px;
}

.sec04_block.fearure02 .point {
    width: 90%;
    margin: 6.3% auto 1px;
    padding: 17px 1px 13px 11px;
    display: flex;
    border: 1px solid #000;
}

.sec04_block.fearure02 .point .img{
    width: 22%;
    max-width: 122px;
}
.sec04_block.fearure02 .point .txt{
    width: 80%;
    padding-left: 15px;
}

.sec04_block.fearure02 .point .txt h4 {
    font-size: 120%;
    letter-spacing: 4px;
    line-height: 1;
    margin-bottom: 11px;
}

.sec04_block.fearure02 .point .txt p {
    letter-spacing: 4px;
    font-weight: 600;
}

.sec04_block.fearure02 p.txt4 {
    margin-top: 6%;
    margin-left: 8.4%;
    font-size: 120%;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 4px;
}

.sec04_block.fearure02 p.img {
    width: 93%;
    margin: 1.6% auto;
    max-width: 698px;
}


#sec04 h3.ttl2{
    text-align: center;
    font-size: 179%;
    line-height: 1.4;
    color: #00a0e9;
    letter-spacing: 5px;
    padding-left: 0;
}

#sec04 .movie {
    width: 90%;
    margin: 5.4% auto;
}

#sec04 .movie video {
    width: 100%;}

.sec04_block.fearure03 {
    margin: 25% 0px 23.2%;
}
.sec04_block.fearure03 .sec04__img{
    width: 67%;
    max-width: 500px;
    margin: 1.1% auto 1.8%;
}
.sec04_block.fearure03 .sec04__txt{
    text-align: center;
    font-size: 169%;
    font-weight: 600;
    line-height: 1.5;
}
.sec04_block.fearure03 .df{
    margin: 7.4% 1% 0;
    justify-content: center;
    align-items: center;
    column-gap: 22px;
}
.sec04_block.fearure03 .df > div{
    width: 50%;
    max-width: 307px;
    min-height: 307px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;

}

.sec04_block.fearure03 .df > div span > span{
    margin-top: 12px;
    display: block;
    font-size: 184%;
    font-family: 'a-otf-ud-shin-go-pr6n';
    line-height: 1.3;
}

.sec04_block.fearure04 .df{
    justify-content: center;
    column-gap: 31px;
}

.sec04_block.fearure04 .df > div{
    width: 43%;
    max-width: 322px;
}

.sec04_block.fearure04 .df > div img{
    width: 100%;
    max-width: 310px;
}

.sec04_block.fearure04 .df > div p {
    margin: 30px 5px 0;
    font-size: 125%;
    line-height: 1.70;
    font-weight: 600;
    letter-spacing: 4px;
}
.sec04_block.fearure04 .df > div p span{
    font-size: 126%;
    font-weight: 800;
    line-height: 1.6;
    display: block;
}

@media screen and (min-width:769px) {
    #sec04{
        margin: 8.7% 0 0;
        padding-bottom: 27%;
    }

    #sec04 .sec04__img_block{
        width: 75%;
        max-width: 667px;
        margin: 0 auto 12.8%;
    }

    .sec04_block.fearure01{
    margin: -5% 0 15.4%;
    }

    #sec04 .sec04_block h3 .no{
        font-size: 600%;
    }
    #sec04 .sec04_block h3 .no:after{
        rotate: 235deg;
        right: 0%;
        bottom: -98%;
    }

    #sec04 .sec04_block h3 span.sub_ttl{
        margin-top: 7.3%;
        font-size: 160%;
    }
    #sec04 .sec04_block h3 span.ttl{
        width: 92%;
        margin: 4.9% auto 8%;
        padding-bottom: 3.5%;
        font-size: 207%;
        letter-spacing: 7px;
        border-bottom: 2px solid #231815;
    }

    .sec04_block.fearure01 .sec04__img img{
        width: 80%;
        max-width: 707px;
        left: -40px;
    }

    .sec04_block.fearure01 .sec04__txt{
        width: 94.4%;
        padding-bottom: 8%;
        margin-left: 5.6%;
    }

    .sec04_block.fearure01 .sec04__txt_block{
        padding: 23.9% 0px 7%;
    }
    .sec04_block.fearure01 .sec04__txt p.txt{
        margin-bottom: 4%;
    }
    .sec04_block.fearure01 .sec04__txt p.txt span{
        width: 30%;
        margin-left: 70%;
        font-size: 177%;
        letter-spacing: 1.4px;
        line-height: 1.5;
    }
 
    .sec04_block.fearure01 .sec04__txt p.txt2{
        font-size: 180%;
        padding: 4px 0 21px 19px;
        line-height: 1.3;
            letter-spacing: 0;
    }
    .sec04_block.fearure01 .sec04__txt p.txt3{
        margin-top: 4%;
        padding: 14px 0 21px 19px;
        font-size: 180%;
        line-height: 1.25;
        letter-spacing: 0;
    }

    .sec04_block.fearure01 .sec04__img p{
        width: 37%;
        max-width: 330px;
        background-size: 100% 100%;
        top: 42%;
        left: -20px;
        font-size: 162%;
        padding: 4.3% 0 4%;
        line-height: 1.35;
    }

    .sec04_block.fearure01 p.txt4{
        margin-top: 8.3%;
        padding-left: 2%;
        font-size: 173%;
        line-height: 1.5;
        letter-spacing: 4px;
    }

    .sec04_block.fearure01 p.img{
        width: 100%;
        max-width: 100%;
        margin: 4.9% auto 0;
    }

    #sec04 .sec04_block h3.ttl{
        padding-left: 10px;
    }
    #sec04 .sec04_block h3.ttl span{
        font-size: 229%;
        letter-spacing: 0px;
    }
    #sec04 .sec04_block h3.ttl span > span{
        margin-top: 9%;
        font-size: 157%;
    }

    .sec04_block .sec04__txt_block2{
        margin-top: 7%;
    }
    
    .sec04_block .sec04__txt_block2 p.txt5{
        width: 29%;
        max-width: 255px;
        bottom: 46.4%;
        right: 0px;
    }

    .sec04_block.fearure02 .sec04__txt_block{
        margin-top: 9.8%;
        padding: 21.9% 0 14.2%;
    }
    .sec04_block.fearure02 .sec04__img img{
        width: 79%;
        max-width: 703px;
        right: -5.9%;
    }

    .sec04_block.fearure02 .sec04__txt{
        width: 96.3%;
    }
    .sec04_block.fearure02 .sec04__txt p.txt{
        margin-bottom: 5.9%;
    }
    
    .sec04_block.fearure02 .sec04__txt p.txt span{
        width: 27%;
        padding: 33px 19px 29px;
        font-size: 175%;
        letter-spacing: 1px;
        line-height: 1.55;
    }

    .sec04_block.fearure02 .sec04__txt .df .img{
        width: 45%;
        max-width: 382px;
    }

    .sec04_block.fearure02 .sec04__txt .df .txt p{
        margin-bottom: 8%;
        font-size: 180%;
        line-height: 1.5;
        letter-spacing: 2px;
    }

    .sec04_block.fearure02 .point{
        width: 90%;
        margin: 7.3% auto 1px;
        padding: 16px 11px 22px 53px;
        align-items: center;
    }

    .sec04_block.fearure02 .point .txt h4{
        font-size: 150%;
        letter-spacing: 0px;
        line-height: 1;
        margin-bottom: 11px;
    }
    .sec04_block.fearure02 .point .txt p{
        letter-spacing: 0px;
        font-size: 134%;
    }

    .sec04_block.fearure02 p.txt4{
        margin-top: 8.5%;
        margin-left: 5%;
        letter-spacing: 2px;
    }
    .sec04_block.fearure02 p.img{
        width: 100%;
        margin: 2.6% auto 0;
        max-width: 890px;
    }

    .sec04_block.fearure02{
        margin: 6.9% 0 19.3%;
    }

    #sec04 h3.ttl2{
        text-align: center;
        font-size: 247%;
    }
    #sec04 .movie{
        width: 100%;
        height: 500px;
        margin: 7.9% auto 0%;
    }

    .sec04_block.fearure03{
        margin: 8.4% 0px 10.3%;
    }
    .sec04_block.fearure03 .sec04__img{
        margin: 1.1% auto 6.5%;
    }
    .sec04_block.fearure03 .sec04__txt{
        font-size: 200%;
    }

    .sec04_block.fearure03 .df{
        margin: 12.8% 0 0;
    }
    
    .sec04_block.fearure04 .df{
        column-gap: 80px;
    }
    .sec04_block.fearure04 .df > div{
        width: 50%;
        max-width: 343px;
    }
    .sec04_block.fearure04 .df > div img{
        max-width: 343px;
    }

    .sec04_block.fearure04 .df > div p{
        margin: 23px 5px 0;
        font-size: 134%;
        line-height: 1.45;
        letter-spacing: 2px;
        text-align: center;
    }
    .sec04_block.fearure04 .df > div p span{
        margin-top: 2%;
        font-size: 103%;
        font-weight: 600;
        letter-spacing: 5px;
    }

}


@media screen and (max-width:425px) {
    .sec04_block.fearure01 .sec04__img img{
        width: 69%;
    }
    .sec04_block.fearure01 .sec04__txt p.txt2{
        letter-spacing: 1px;
    }
    .sec04_block.fearure01 .sec04__txt p.txt3{
        letter-spacing: 1px;
    }

    .sec04_block.fearure02 .point .txt h4{
        margin-bottom: 8px;
        letter-spacing: 2px;
    }
    .sec04_block.fearure02 .point .txt p{
        letter-spacing: 1px;
    }

    #sec04 .sec04_block h3.ttl span{
        letter-spacing: 4px;
    }
    #sec04 .sec04_block h3.ttl span > span{
        letter-spacing: 5px;
    }

    .sec04_block.fearure03 .df{
        column-gap: 10px;
    }

    .sec04_block.fearure03 .df > div{
        min-height: 198px;
    }

    .sec04_block.fearure04 .df > div p{
        letter-spacing: 1px;
    }

    .sec04_block.fearure02 .sec04__txt .df .txt p{
        letter-spacing: 1px;
    }

    #sec04 .sec04_block h3 span.sub_ttl{
        letter-spacing: 2px;
    }
    #sec04 .sec04_block h3 span.ttl{
        letter-spacing: 3px;
    }
}

div#sec05 {
    width: 92%;
    margin: 0 auto 27%;
    padding: 43px 0 30px;
    background: #d3c2b3;
    border-radius: 20px;
}
#sec05 h2 {
    margin-bottom: 6%;
    font-size: 140%;
    text-align: center;
    letter-spacing: 3px;
}
.sec05__block{
    display: flex;
    justify-content: center;
    column-gap: 25px;
}

.sec05__block figcaption {
    text-align: center;
    margin-top: 16px;
    font-size: 150%;
    letter-spacing: 5px;
    line-height: 1;
}


@media screen and (min-width:769px) {
    div#sec05{
        margin: 0 auto 4.9%;
        padding: 43px 0 25px;
    }

    #sec05 h2{
        margin-bottom: 7%;
        font-size: 180%;
    }
    .sec05__block{
        column-gap: 55px;
    }

    .sec05__block figcaption{
        margin-top: 20px;
    }
}

@media screen and (max-width:425px) {
    .sec05__block > figure{
        width: 42%
    }
}


aside.purchase {
    width: 88.5%;
    max-width: 663px;
    margin: 0 auto;
    position: relative;
}
.purchase__inner{
    padding: 16px 10px 2px;
}
aside.purchase h2 {
    margin-left: 20%;
    margin-bottom: 10%;
    text-align: center;
    font-size: 144%;
    font-weight: 600;
    letter-spacing: 3px;
}

aside.purchase.item01 .purchase__inner{
    background: url(../img/cf/purchase_item-bg.webp)no-repeat top;
    background-size: cover;
}

aside.purchase p.purchase__priceS {
    margin-bottom: 13px;
    font-size: 145%;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 2.3px;
    font-family: 'a-otf-ud-shin-go-pr6n';
}

aside.purchase p.purchase__priceS > span{
    position: relative;
    display: inline-block;
}
aside.purchase p.purchase__priceS > span:after{
    content: '';
    background: #e60012;
    width: 103%;
    height: 3px;
    display: inline-block;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    position: absolute;
        rotate: -5deg;
}

aside.purchase p.purchase__price {
    font-size: 430%;
    font-weight: 600;
    line-height: 1;
    display: flex;
    align-items: center;
    font-family: 'a-otf-ud-shin-go-pr6n';
}
aside.purchase p.purchase__price > span{
    font-size: 37%;
    margin-left: 8px;
}
aside.purchase p.purchase__price span > span{
    margin-top: 5px;
    font-size: 60%;
    display: block;
}

aside.purchase .purchase__item-name {
    margin-top: 15%;
}
aside.purchase .purchase__item-name p {
    background: #000;
    display: inline-block;
    color: #fff;
    font-size: 86%;
    border-radius: 50px;
    padding: 4px 2% 5px;
    margin-left: 5px;
    line-height: 1;
    letter-spacing: 3px;
    margin-bottom: 3%;
}

aside.purchase .purchase__item-name h3 {
    font-size: 116%;
    margin-left: 7px;
    letter-spacing: 1px;
    text-shadow: 0 0 3px #fff;
}
aside.purchase .purchase__item-name h3 span{
    font-family: 'a-otf-ud-shin-go-pr6n', sans-serif;
    display: inline-block;
    letter-spacing: 2px;
}

aside.purchase .btn {
    width: 100%;
    margin-top: 3.5%;
}
aside.purchase .btn a {
    width: 100%;
    background: #000;
    padding: 3% 2% 3%;
    display: block;
    color: #fff;
    text-align: center;
    font-size: 176%;
    letter-spacing: 10px;
    line-height: 1.5;
}
aside.purchase .btn a span{
    margin-bottom: 1%;
    display: block;
    letter-spacing: 2px;
    font-size: 80%;
}

aside.purchase .batch {
    width: 32%;
    max-width: 212px;
    margin-left: 54px;
    position: absolute;
    top: -15%;
    left: -11%;
}

p.purchase_add {
    margin-bottom: 5%;
    text-align: center;
    font-weight: 600;
    font-size: 161%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    letter-spacing: 2px;
    position: relative;
}
p.purchase_add:before, p.purchase_add:after{
    content: '';
    width: 2px;
    height: 63%;
    background: #231815;
    display: inline-block;
    position: absolute;
    border-radius: 3px;
}
p.purchase_add:before{
    rotate: 332deg;
    left: 10%;
}
p.purchase_add:after{
    rotate: 29deg;
    right: 10%;
}

aside.purchase.item02 .purchase__inner{
    padding: 26% 1.6% 1%;
    background: url(../img/cf/purchase_item02-bg.webp)no-repeat top;
    background-size: cover;
}
aside.purchase.item02 .purchase__item-name{
    margin-top: 16px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
aside.purchase.item02 .purchase__item-name h3{
    margin-left: 0;
    letter-spacing: 0px;
}
aside.purchase.item02 .purchase__item-name p{
    margin-bottom: 3px;
}
aside.purchase.item02 .batch{
    top: -6%;
    right: -5%;
    left: auto;
}

p.purchase_add2 {
    margin-bottom: 21%;
    text-align: center;
    font-size: 165%;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 2px;
}

p.purchase_add2:after{
    content: '';
    width: 3px;
    height: 101px;
    margin: 30px auto;
    background: #231815;
    display: block;
}


@media screen and (min-width:769px) {
    aside.purchase{
        width: 100%;
        max-width: 890px;
    }
    .purchase__inner{
        padding: 25px 10px 1px;
    }
    
    aside.purchase .batch{
        width: 33%;
        max-width: 294px;
        margin-left: 0;
        left: 7%;
    }

    aside.purchase h2{
        margin-left: 40%;
        margin-bottom: 9.2%;
        font-size: 176%;
        letter-spacing: 4px;
    }
    
    aside.purchase p.purchase__priceS{
        margin-bottom: 1px;
        margin-left: 120px;
    }
    aside.purchase p.purchase__priceS span > span{
        font-size: 114%;
    }
    aside.purchase p.purchase__priceS > span:after{
        width: 110%;
        height: 3px;
        display: inline-block;
        margin: auto;
        left: -10px;
    }

    aside.purchase p.purchase__price{
        font-size: 580%;
        font-weight: 900;
        line-height: 1;
        display: flex;
        align-items: center;
        font-family: 'a-otf-ud-shin-go-pr6n';
        letter-spacing: -6px;
        }

    aside.purchase p.purchase__price > span{
        margin-left: 16px;
        font-family: 'Noto Sans JP';
        font-weight: 800;
        position: relative;
        top: 8px;
        letter-spacing: 0;
    }
    aside.purchase p.purchase__price span > span{
        margin-top: 6px;
    }

    aside.purchase .purchase__item-name{
        margin-top: 27.5%;
    }
    aside.purchase .purchase__item-name p{
        margin-bottom: 1.4%;
        margin-left: 3px;        
        padding: 14px 2.3% 18px;
        font-size: 109%;
        letter-spacing: 2px;
    }
    aside.purchase .purchase__item-name h3{
        font-size: 160%;
        margin-left: 17px;
        letter-spacing: 1px;
    }
    aside.purchase .btn{
        margin-top: 2.6%;
    }
    aside.purchase .btn a{
        padding: 3% 2% 4%;
        font-size: 193%;
        letter-spacing: 6px;
    }

    p.purchase_add{
        max-width: 890px;
        margin: 0 auto 3.6%;
        text-align: center;
        font-size: 178%;
        letter-spacing: 2px;
        position: relative;
        line-height: 1.50;
    }

    p.purchase_add:before, p.purchase_add:after{
        border-radius: 5px;
    }

    aside.purchase.item02 .purchase__inner{
        padding: 7.8% 1% 1%;
    }
    aside.purchase.item02 .purchase__item-name{
        margin-top: 21%;
    }

    aside.purchase.item02 .batch{
        top: -51px;
    }

    p.purchase_add2{
        margin-bottom: 14%;
        font-size: 178%;
        line-height: 1.65;
    }
    p.purchase_add2:after{
        height: 206px;
        margin: 80px auto;
    }
}

@media screen and (max-width:425px) {
    aside.purchase .btn a span{
        letter-spacing: 1px;
    }

    aside.purchase .purchase__item-name p{
        margin-bottom: 2%;
        letter-spacing: 1px;        
    }

    aside.purchase.item02 .purchase__inner{
        padding: 18% 1.6% 1%;
    }

    aside.purchase .batch{
        left: -19%;
    }
}