@charset "utf-8";

html {
    font-size: 62.5%;
    scroll-behavior: smooth;

}

body {
    font-size: 1.6rem;
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Sans", "Helvetica Neue", "Helvetica", "メイリオ","Meiryo","Noto Sans JP","Arial",  sans-serif;
    position: relative;
    background-color:#dcdcdc;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

/*----------------------------
可変
------------------------------*/
@media screen and (min-width:320px) and (max-width:640px){

    html{
        font-size: 3.125vw;
    }

    body{
        font-size:1.6rem;
    }
}

/*----------------------------
color
------------------------------*/

:root{
    --color-green:#03a545;
    --color-red:#ff00a0;
    --color-red02:#e10202;
    --color-dred:#d60000;
    --color-yellow:#fff000;
    --color-sky:#20acc5;
    --color-white:#fff;
    --color-main-bg:#ffffff;
    --color-rgray:#dde6e1;
    --color-dgray:#262525;
    --color-border-black:#1f180e;
}

/*----------------------------
Basic
------------------------------*/
.allcontents__wrap{
    width:100%;
    margin: 0 auto;
    background-color:var(--color-main-bg);
}

@media screen and (min-width:640px){
    .allcontents__wrap{
    width:640px;
}
}

img {
    max-width: 100%;
}

.m-0{
    display: block;
    margin: 0 auto;
}

.mb-20{
   margin-bottom: 20px;
}

.mb-40{
    margin-bottom: 40px;
 }

.text-color--red {
    color:var(--color-red);
}

.text-color--red02 {
    color:var(--color-red02);
}

.text-color--green {
    color:var(--color-green);
}

.mark--yellow {
    background:linear-gradient(transparent 60%, var(--color-yellow) 60%);
}

.mark--light{
    border-bottom:var(--color-yellow) solid min(0.3125vw,2px);
}

.bg-color--white {
    background-color:var(--color-white);
}

.bg-color--mainbg {
    background-color:var(--color-main-bg);
}

.border-color--green{
    border:solid var(--color-green) min(1.5625vw,10px);
}

.border-color--red{
    border:solid var(--color-red02) min(1.5625vw,10px);
}

.border-color--red-light{
    border:solid var(--color-red) min(0.3125vw,2px);
}

.border-color--black{
    border:solid var(--color-border-black) min(1.5625vw,10px);
}

.weight-b {
    font-weight: 600;
}

.text-small {
    font-size:min(3.4375vw,22px);
}

.text-mid {
    font-size:min(4.6875vw,30px);
}

.text-big {
    font-size:min(5vw,32px);
}




.text__block {
    width:min(93.75vw,600px);
    position: relative;
}

.text__inner {
    width:min(81.25vw,520px);
}

 p {
    font-size:min(4.375vw,28px);
    letter-spacing: 0.05em;
    line-height: 1.75;
    margin-bottom: min(9.40625vw,76px);
}

span {
    font-size:min(4.375vw,28px);
}
p:last-child{
    margin-bottom:0;
}

p::before,.reason__sub-title::before{
   display: block;
   width: 0;
   height: 0;
   margin-top: calc((1 - 1.75) * .5em);
   content: "";
 }

p::after,.reason__sub-title::after {
   display: block;
   width: 0;
   height: 0;
   margin-bottom: calc((1 - 1.75) * .5em);
   content: "";
 }

 p.first {
    margin-top: min(9.40625vw,76px);
 }

 .annotation{
    font-size: 16px;
    margin-bottom: 20px!important;
    background-color: #efefef;
    padding: 20px;
 }
/*----------------------------
header
------------------------------*/
.header__block{
    width:100%;
    background-color:var(--color-green);
    background-image: url(../img/bg-dot.png);
    background-size: min(0.9375vw,6px);
    padding:1.2rem 0;
    position: relative;
}

@media screen and (min-width:641px){
    .header__block{
        padding:20px 0;
    }
}
.header__block::after,.reason__arrow__block::after{
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    bottom:-20%;
    left:50%;
    transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
    border-style: solid;
    border-width: min(3.4375vw,22px) min(2.734vw,17.5px) 0 min(2.734vw,17.5px);
    border-color: var(--color-green) transparent transparent transparent;
}

.header__text {
    font-size:min(4.0625vw,26px);
    color:var(--color-white);
    text-align: center;
    line-height:1.46;

}

header {
    /* margin-bottom:min(10.625vw,69px) */
}

.header__arrow {
    width:min(5vw,32px);
    margin-bottom:3%;
}

/*----------------------------
mv
------------------------------*/

.title_img{
    margin-bottom:4%;
}

.mv__bg,.free__bg {
    background-color:var(--color-green);
    background-image: url(../img/bg-dot.png);
    background-size: min(0.9375vw,6px);
    margin-top:max(-15.625vw,-100px);
    padding-bottom:min(3.125vw,20px);
}

.mv__block{    
    padding-top:18%;
}

.mv__title-wrap{
    position: relative;
    z-index:1;
}

.mv__title {
    position:relative;
    top:0;
    left:0;
}

.mv__text {
    padding-bottom:min(10.3125vw,66px);
}

/*----------------------------
read
------------------------------*/

.read__title {
    position:relative;
    width:min(87.5vw,560px);
    margin-top:min(14.0625vw,90px);
}

.read__title__bottom {
    position:relative;
    width:min(93.75vw,600px);
    margin: 4% auto 6.2% auto;
}

/*----------------------------
step
------------------------------*/

.step{
    margin-bottom: 28px;
}

.step__title-img {
    margin-bottom: 7%;
    margin-top: 11.2%;
}

.step__block {
    padding-top:7%;
    padding-bottom: 5.5%;
    position: relative;
    margin-bottom:14%;
}


.step__block::after{
    display: block;
    content:"";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.65625vw 46.25vw 0 46.25vw;
    border-color: var(--color-white) transparent transparent transparent;
    position: absolute;
    z-index: 1;
    left:50%;
    top:100%;
    transform: translateX(-50%);
}

@media screen and (min-width:641px){

    .step__block::before {
        border-width: 52px 300px 0 300px;
    }

    .step__block::after{
        border-width: 49px 292px 0 294px;
        top: 100%;
    }

}


.step-img01 {
    margin-bottom:10%;
}

.step__arrow {
    position:relative;
    width:min(93.75vw,600px);
    z-index:1;
    margin-top: 2.5%;
}

.step__arrow__block {
    padding-top: 16%;
    padding-bottom: 2%;
    margin-top: -10%;
    position: relative;
}


.step-img04 {
    position:absolute;
    bottom:-12%;
    left:50%;
    transform: translateX(-50%);
    width:min(32.1875vw,205px);
}


.step__lasttitle {
    width:min(87.5vw,560px);
    margin-top:min(23.4375vw,150px);
    margin-bottom:min(10vw,70px);
}

/*----------------------------
voice
------------------------------*/
.voice {
    margin-top:15%;
}

.voice__block {
    margin-top:min(7.8125vw,50px);
    padding-bottom: 6%;
}

.voice__block01 {
    margin-top:9%;
}

.voice__sub-title {
    font-size: min(5.3125vw,34px);
    margin-top: 8%;
    margin-bottom: 12%;
}
/*----------------------------
free
------------------------------*/

.free {
    margin-top: 14%;
}
.free__title {
    position:relative;
    top:0;
    left:0;
    z-index:1;
}

.free__block {
    padding-top: min(21.615vw,150px);
    position: relative;
}

.free-img02 {
    width:min(71.25vw,456px);
    margin-bottom: 12%;
}

.free__text {
    padding-bottom:min(14.0625vw,90px);
}

.free__block ul.free__list {
    color:var(--color-dred);
    font-size:min(4.6875vw,30px);
    font-weight: 600;
    margin-bottom: 11%;
}

.free__block ul.free__list li {
    padding-left: 3rem;
    margin-bottom: 4%;
    background: url(../img/free-list.png) no-repeat left min(1.25vw,8px);
    background-size: min(5.46875vw,35px);
}

@media screen and (min-width:641px){
   .free__block ul.free__list li {
    padding-left: 5.5rem;
}

}

.free-img03 {
    position:absolute;
    bottom:-6%;
    left:50%;
    transform: translateX(-50%);
    width:min(32.1875vw,205px);
}

.free-img04{
    margin-top: 27%;
    margin-bottom: 10%;
}

.free-img05 {
    margin-top: 14%;
    margin-bottom: 7%;
}

.free__lasttext {
    padding-top: 8%;
    padding-bottom: 11%;
}

/*----------------------------
reason
------------------------------*/

.reason {
    margin-top:min(14.0625vw,90px);
}

.reason__wrap {
    position:relative;
    padding-top:40.625%;
    background-repeat: no-repeat;
    background-position: top center;
    background-size:contain;
}

.reason__wrap::after {
    content: "";
    display: block;
    width:min(3.90625vw,25px);
    height:min(2.34375vw,15px);
    background: url(../img/reason-wrap-arrow.png) no-repeat;
    background-size:contain;
    left:50%;
    bottom:-2.2rem;
    transform: translateX(-50%);
    position: absolute;
}

.reason__wrap08::after {
    display:none;
}


@media screen and (min-width:641px){
    .reason__wrap::after {
        bottom:-4.2rem;
    }
}

.reason__wrap01 {
        background-image:url(../img/reason-block-bg01.jpg);
}

.reason__wrap02 {
        background-image:url(../img/reason-block-bg02.jpg);
}

.reason__wrap03 {
        background-image:url(../img/reason-block-bg03.jpg);
}

.reason__wrap04 {
        background-image:url(../img/reason-block-bg04.jpg);
}

.reason__wrap05 {
        background-image:url(../img/reason-block-bg05.jpg);
}

.reason__wrap06 {
        background-image:url(../img/reason-block-bg06.jpg);
}

.reason__wrap07 {
        background-image:url(../img/content_011.png);
}

.reason__wrap08 {
        background-image:url(../img/reason-block-bg08.jpg);
}


.reason__block {
    width:min(87.5vw,560px);
    padding-top:min(6.25vw,40px);
    padding-bottom:min(9.8125vw,60px);
    margin-top:-12.5%;
    margin-bottom:10.15625%;
    position:relative;
    box-shadow: 0 min(3.125vw,20px) min(6.25vw,40px) 0 rgba(0, 0, 0, 0.2);
}

.reason__wrap08 .reason__block {
    margin-bottom:min(4.6875vw,30px);
}

.reason__block::before,.reason__block::after {
    content: "";
    display: block;
    width:min(4.6875vw,30px);
    height:min(4.6875vw,30px);
    position: absolute;
}

.reason__block::before{
    top:min(1.875vw,13px);
    left:min(1.875vw,13px);
    border-left:solid min(0.9375vw,6px) var(--color-green);
    border-top:solid min(0.9375vw,6px) var(--color-green);
}

.reason__block::after {
    top:min(1.875vw,13px);
    right:min(1.875vw,13px);
    border-right:solid min(0.9375vw,6px) var(--color-green);
    border-top:solid min(0.9375vw,6px) var(--color-green);
}

.reason__block-img {
    width:min(78.125vw,500px);
}

.reason__sub-title {
    width:min(78.125vw,500px);
    margin: 0 auto;
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size:min(4.6875vw,30px);
    letter-spacing: 0.05em;
    padding:0 min(1.5625vw,10px);
    padding-bottom:min(7.8125vw,50px);
    margin-top:min(3.125vw,20px);
    margin-bottom:min(7.8125vw,50px);
    border-bottom:solid min(0.625vw,4px) var(--color-rgray);
}

.reason__text {
    width:min(75vw,480px);
}

.reason__arrow {
    position:relative;
    width:min(93.75vw,600px);
    z-index:1;
}

.reason__arrow__block {
    padding-top: 19%;
    padding-bottom: 9%;
    margin-top: -13%;
    position: relative;
}


.reason__arrow__block::after{
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    bottom: -2.8%;
    left:50%;
    transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
    border-style: solid;
    border-width: min(3.4375vw,22px) min(2.734vw,17.5px) 0 min(2.734vw,17.5px);
    border-color: var(--color-green) transparent transparent transparent;
}

.reason__lasttitle {
    margin-top:10%;
    position: relative;
    z-index: 1;
}

.reason__lasttitle__block {
    padding-top: 19%;
    padding-bottom: 6%;
    margin-top: -13%;
    position: relative;
    border-bottom:none;
}
.reason__list__block {
    width:min(81.875vw,524px);
}


.reason-lasttitle-bottom{
    position:relative;
    margin-top: -3%;
}

.reason__block .client {
    margin-top:-7%;
    margin-bottom: 14%;
}

.reason__block .client li{
    display: flex;
    align-items: center;
    margin-bottom:min(3.125vw,20px);
}

.reason__block .client img {
    width:min(18.75vw,120px);
    height:min(18.75vw,120px);
}

.reason__block .client p {
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0;
    margin-left:min(3.125vw,20px);
}

.red-list {
    padding-left:0;
    font-size:min(4.6875vw,30px);
}

.red-list li{
    padding-left:3rem;
    margin-bottom:6%;
    background-repeat: no-repeat;
    background-position:  left 3px;
    background-size:min(6.25vw,40px);
}

@media screen and (min-width:641px){
    .red-list li{
        padding-left:6rem;
        background-position:  left 7px;
    }
}

.red-list li:first-child {
    background-image: url(../img/reason_num01.png);

}

.red-list li:nth-child(2) {
    background-image: url(../img/reason_num02.png);

}

.red-list li:nth-child(3) {
    background-image: url(../img/reason_num03.png);
}

.red-list li:nth-child(4) {
    background-image: url(../img/reason_num04.png);
}

.red-list li:nth-child(5) {
    background-image: url(../img/reason_num05.png);
}

.red-list li:nth-child(6) {
    background-image: url(../img/reason_num06.png);
}

.red-list li:nth-child(7) {
    background-image: url(../img/reason_num07.png);
}

.red-list li:nth-child(8) {
    background-image: url(../img/reason_num08.png);
}
/*----------------------------
not
------------------------------*/

.not {
    margin-top: 14%;
}
.not-title {
    margin-bottom: 7%;
}

.not__black {
    width:100%;
    background:url(../img/not-bg.png) no-repeat;
    background-size:cover;
    color:var(--color-white);
    margin-top: 14%;
    padding-top: 3%;
    padding-bottom: 18%;
}

.not-img01 {
    margin-bottom:6%;
}

.not__lasttitle {
    position:relative;
    z-index:1;
}

.not__arrow__block {
    padding-top: 16%;
    padding-bottom: 9%;
    margin-top: -12%;
    position: relative;
}

.yellow-list {
    color:var(--color-yellow);
    font-size:min(4.375vw,28px);
    margin-bottom: 12%;
}

.yellow-list li {
    padding-left:1.5rem;
    background:url(../img/yellow-list.png) no-repeat left 0.6rem;
    background-size:min(2.1875vw,13px) min(3.125vw,21px);
}

@media screen and (min-width:641px){
    .yellow-list li {
        padding-left:4rem;
        background-position:left 1.2rem;
}   
}

.not-img02 {
    margin-bottom:16%;
    display: block;
}

/*----------------------------
detail
------------------------------*/
.detail {
        margin-top: 14%;
    }

.detail-img01{
    display: block;
    margin-top: 6%;
    margin-bottom: 7%;
}

.detail-img02 {
    display: block;
    margin-top: 14%;
    margin-bottom: 14%;
}

.dotline{
    display: block;
    margin-top: 14%;
    margin-bottom: 11%;
}
/*-------------------secret*/
.secret__title {
     margin-bottom: 4%;
     position: relative;
     z-index:1;
}

.secret__text__block{
    padding-top: 12%;
    padding-bottom: 10%;
    margin-top: -5%;
    margin-bottom: 7%;
}

.secret__contents__title{
    position: relative;
     z-index:1;
}

.secret-bottom{
    display: block;
    margin-top: 9%;
    margin-bottom: 11%;
}

/*-------------------special*/

.special-title {
    margin-bottom:4%;
}

.special__contents__wrap:not(:last-child) {
    margin-bottom: 5%;
}

.special__contents__title{
    position: relative;
    z-index:1;
}
.special__text__block{
    padding-top: 15%;
    padding-bottom: 9%;
    margin-top: -17%;
}

.special-img06{
    display: block;
    margin-top: 12%;
    margin-bottom: 7%;
}

.special-img07{
    display: block;
    margin-top: 12%;
    margin-bottom: 15%;
}

.special-lasttitle{
    margin-bottom: 8%;
}

.caution__block {
    padding:min(10.625vw,68px) 0;
    margin-top: 12%;
    margin-bottom: 13%;
}

.caution {
    position: absolute;
    display: inline-block;
    background-color:var(--color-main-bg);
    top: -4.5%;
    left:50%;
    color:var(--color-red);
    padding:0 .5em;
    transform: translateX(-50%);
}

/*----------------------------
cost
------------------------------*/

.cost {
    margin-top: 15%;
}

.cost__block{
    position: relative;
    width:min(87.5vw,560px);
    z-index:1;
    padding-top: 13%;
    padding-bottom: 16%;
    margin-top: -12.5%;
    margin-bottom: 10.15625%;
    box-shadow: 0 min(3.125vw,20px) min(6.25vw,40px) 0 rgba(0, 0, 0, 0.2);
}

.cost__block::before,.cost__block::after {
    content: "";
    display: block;
    width:min(4.6875vw,30px);
    height:min(4.6875vw,30px);
    position: absolute;
}

.cost__block::before{
    top:min(1.875vw,13px);
    left:min(1.875vw,13px);
    border-left:solid min(0.9375vw,6px) var(--color-green);
    border-top:solid min(0.9375vw,6px) var(--color-green);
}

.cost__block::after {
    top:min(1.875vw,13px);
    right:min(1.875vw,13px);
    border-right:solid min(0.9375vw,6px) var(--color-green);
    border-top:solid min(0.9375vw,6px) var(--color-green);
}

.cost__block01 {
    padding-bottom:1%;
}

.cost__block03 {
    padding-bottom: 14%;
}

.green-list {
    font-size:min(4.375vw,28px);
    margin-bottom: 3%;
    margin-top: -13%;
}

.green-list li {
    padding-left:1.5rem;
    background:url(../img/cost-text-list.png) no-repeat left 0.6rem;
    background-size:min(2.1875vw,13px) min(3.125vw,21px);
}

@media screen and (min-width:641px){
    .green-list li {
        padding-left:3rem;
        background-position:left 1.2rem;
}   
}

.cost__text {
    width:min(75vw,480px);
}

.cost-text-price{
    width:min(82.8125vw,530px);
    display: block;
    margin-top: 12%;
    margin-bottom:1%;
}

.break {
    word-break: keep-all;
}

/*----------------------------
CTA
------------------------------*/

.cta {
    position: relative;
}

.btn > img {
    max-width: 85%;
    display: block;
    margin: 0 auto;
}

.cta > a.btn {
    display: block;
    position:absolute;
    bottom:78px;
    left:50%;
    transform: translateX(-50%);
    width:100%;
}

.cta > a.btn:hover{
    opacity: 0.9;
    
}

.fixed-button a:hover{
    opacity: 0.9;
}

@media screen and (max-width:640px){
    
.cta02 > a.btn02 {
    bottom:calc(200 / 640 * 100vw);
}
}



.cta02 {
    position: relative;
}

.btn02 > img {
    max-width: 85%;
    display: block;
    margin: 0 auto;
}

.cta02 > a.btn02 {
    display: block;
    position:absolute;
    bottom:390px;
    left:50%;
    transform: translateX(-50%);
    width:100%;
}

.cta02 > a.btn:hover{
    opacity: 0.9;
    
}


@media screen and (max-width:640px){
    
.cta > a.btn {
    bottom:calc(80 / 640 * 100vw);
}
}

@media screen and (max-width:640px){
    
    .cta02 > a.btn02 {
        bottom:calc(390 / 640 * 100vw);
    }
    }
    



.cta {
    /* margin-top:14%; */
}

.cta__top {
    margin-top:7%;
}

.cta__contents__title{
    position: relative;
    z-index:1;
}

.cta__contents__wrap+ .cta__contents__wrap {
    margin-top:min(7.815vw,50px);
}

.cta__text__block{
    padding-top: 22%;
    padding-bottom: 5%;
    margin-top: -17%;
}

.cta__text__block--green{
    padding-top: 18%;
    padding-bottom: 6%;
    margin-top: -12%;
}

.btn__wrap {
    margin-bottom: 4%;
    margin-top: 5%;
}

.btn__wrap02 {
    margin-top:7%;
}

.btn {
   display: block;
   /* width: min(84.375vw,540px); */
   margin:0 auto;
   
}

.btn+ .btn {
    margin-top:min(5.625vw,35px);
}

.split {
    display: block;
    margin-top: 13%;
    margin-bottom: 5%;
}

.tag {
    text-align: center;
    line-height:1.6;
    letter-spacing: 0;
    margin-bottom: 4%;
}

.tag span{
    font-size:min(3.75vw,24px);
}

.tag__point {
    display: inline-block;
    background-color:var(--color-sky);
    color:var(--color-white);
    border-radius: 0.2rem;
    padding: 0 0.6rem;
    margin-right:0.3rem;

}

@media screen and (min-width:641px){

    .tag {
        margin-bottom: 3rem;
        margin-top: 3.5rem;
    }

    .tag__point{
        border-radius: 0.4rem;
        margin-right:0.5rem;
    }

}

.advice__wrap {
    position:relative;
    padding-top:40.625%;
    background-image: url(../img/advice-bg.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size:contain;
    margin-top: 16%;
}


.advice__bor{
    width:min(78.125vw,500px);
}

.advice__title{
    color:var(--color-green);
    font-size: min(5.9375vw,38px);
    font-family: "Noto Sans JP";
    font-weight: 900;
    text-align: center;
    position: relative;
    padding:.8rem 0;
}

@media screen and (min-width:641px){
    .advice__title{
        padding:1.6rem 0;
}
    .advice__icon {
        margin-top: 1rem;
    }
}

.advice__title::before,.advice__title::after,.advice__title span::before,.advice__title span::after {
    content: "";
    display: block;
    width:min(4.6875vw,30px);
    height:min(4.6875vw,30px);
    position: absolute;
}

.advice__title::before{
    top:0;
    left:0;
    border-left:solid min(0.9375vw,6px) var(--color-green);
    border-top:solid min(0.9375vw,6px) var(--color-green);
}

.advice__title::after {
    top:0;
    right:0;
    border-right:solid min(0.9375vw,6px) var(--color-green);
    border-top:solid min(0.9375vw,6px) var(--color-green);
}

.advice__title span::before{
    right:0;
    bottom:0;
    border-right:solid min(0.9375vw,6px) var(--color-green);
    border-bottom:solid min(0.9375vw,6px) var(--color-green);
}

.advice__title span::after {
    left:0;
    bottom:0;
    border-left:solid min(0.9375vw,6px) var(--color-green);
    border-bottom:solid min(0.9375vw,6px) var(--color-green);
}


.advice__icon {
    text-align: center;
    width:min(5.9375vw,38px);
    height:min(7.1825vw,46px);
    margin-top: 0.4rem;
}

.advice__block{
    position: relative;
    width:min(87.5vw,560px);
    z-index:1;
    padding-top: min(6.25vw,40px);
    padding-bottom: 9%;
    margin-top: -12.5%;
    margin-bottom: 10.15625%;
    box-shadow: 0 min(3.125vw,20px) min(6.25vw,40px) 0 rgba(0, 0, 0, 0.2);
}

.advice__sub-title {
    width:min(78.125vw,500px);
    margin: 0 auto;
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size:min(4.375vw,28px);
    text-align: center;
    letter-spacing: 0;
    padding:0 min(3.125vw,10px);
    padding-bottom:min(7.8125vw,50px);
    margin-top:min(3.125vw,20px);
    margin-bottom:min(7.8125vw,50px);
    border-bottom:solid min(0.625vw,4px) var(--color-rgray);
}

.line__block__inner {
    text-align: center;
    margin-bottom: 6%;
}


.line-icon::before {
    content:"";
    display: inline-block;
    width:min(5.9375vw,38px);
    height:min(5.9375vw,38px);
    background:url(../img/LINE-icon.png) no-repeat left center;
    background-size:contain;
    position:relative;
    left:0;
    top:0.3rem;
    margin-right:0.5rem;

}


@media screen and (min-width:641px){
    .line-icon::before {
    top:0.6rem;
    margin-right:0.8rem;
}
}

.line__btn {
  border-radius: 0.7rem;
  display: block;
  box-shadow: 0px .3rem 0px 0px #01923c;
  color:var(--color-white);
  font-weight: 600;
  font-size:min(4.375vw,28px);
  width:min(35.9375vw,230px);
  background-color:#06c755;
  text-align: center;
    padding:0.6rem 0;
    margin-top:-6%;
}

.line__btn::before {
    content:"";
    display: inline-block;
    width:min(6.25vw,40px);
    height:min(6.25vw,38px);
    background:url(../img/LINE-btn.png) no-repeat left center;
    background-size:contain;
    position:relative;
    left:0;
    top: -0.1rem;
    margin-right:0.5rem;
    vertical-align: middle;
}

@media screen and (min-width:641px){
.line__btn {
    border-radius: 14px;
    padding:1rem 0;
    box-shadow: 0px .5rem 0px 0px #01923c;
}
.line__btn::before {
    top: -0.3rem;
}
}

.ps__num {
    text-align: center;
    display: inline-block;
    font-size:min(5vw,32px);
    font-weight: 900;
    font-family: "Noto sans JP";
    color:var(--color-green);
    border-bottom:min(1.25vw,8px) solid var(--color-green);
    padding:0 1% 1% 1%;
    margin-bottom: 4%;
}

.ps__num__wrap {
    text-align: center;

}

.ps__block{
    margin-top: 1%;
    margin-bottom: 8%;
    padding-top: 8%;
    padding-bottom: 8%;
}

/*----------------------------
final
------------------------------*/
.final {
    position:relative;
    color:var(--color-white);
    margin-top: 15%;
}

.final__bg {
    position: relative;
    left:0;
    top:0;
}

.final__title{
    font-size:min(7.8125vw,50px);
    font-family: "Noto Sans JP";
    font-weight: 900;
    text-align: center;
    padding-top:13%;
    margin-bottom: 18%;
}

.final__text {
    position: absolute;
    left:50%;
    top:0;
    z-index:1;
    transform: translateX(-50%);
}

.final p {
    margin-bottom: min(9.40625vw,60px);
}

.cta02 {
    margin-top:0;
}


/*----------------------------
footer
------------------------------*/

footer {
    /* margin-top: 30px; */
    background-color: #262525;
    color:#fff;
    font-size: min(3.4375vw,22px);
    text-align: center;
    padding-bottom:3%;
    padding-top: min(6.25vw,40px);
    /* margin-top:19%; */
}

footer ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

footer ul li {
    padding-right:min(3.125vw,20px);
    line-height: 1;
    margin-bottom:4%;
}

footer ul li+ li{
    /* border-left:solid var(--color-white) min(0.3125vw,2px); */
    padding-left:min(3.125vw,20px);
}

footer ul li:last-child {
    padding-right: 0;
}

p.copy {
    font-size: min(3.125vw,20px);
    margin-top:min(5.46875vw,35px);
    margin-bottom:0;
    position: relative;
}

/*animate-------------------------*/

.anime {
    -webkit-animation: poyoyon 2.5s infinite;
    animation: poyoyon 2.5s infinite;
    opacity: 1;
}

@-webkit-keyframes poyoyon {
    0% {
    -webkit-transform: skew(0deg, 0deg);
    transform: skew(0deg, 0deg);
}
5% {
    -webkit-transform: skew(4deg, 3.2deg);
    transform: skew(4deg, 3.2deg);
}
10% {
    -webkit-transform: skew(-3deg, -2deg);
    transform: skew(-3deg, -2deg);
}
15% {
    -webkit-transform: skew(2deg, 1.2deg);
    transform: skew(2deg, 1.2deg);
}
20% {
    -webkit-transform: skew(-2deg, -1.5deg);
    transform: skew(-2deg, -1.5deg);
}

25% {
    -webkit-transform: skew(0.9deg, 0.9deg);
    transform: skew(0.9deg, 0.9deg);
}
30% {
    -webkit-transform: skew(-0.6deg, -0.6deg);
    transform: skew(-0.6deg, -0.6deg);
}
35% {
    -webkit-transform: skew(0.3deg, 0.3deg);
    transform: skew(0.3deg, 0.3deg);
}
40% {
    -webkit-transform: skew(-0.2deg, -0.2deg);
    transform: skew(-0.2deg, -0.2deg);
}
45% {
    -webkit-transform: skew(0.1deg, 0.1deg);
    transform: skew(0.1deg, 0.1deg);
}
50% {
    -webkit-transform: skew(0deg, 0deg);
    transform: skew(0deg, 0deg);
}
}

@keyframes poyoyon {
    0% {
    -webkit-transform: skew(0deg, 0deg);
    transform: skew(0deg, 0deg);
}
5% {
    -webkit-transform: skew(4deg, 3.2deg);
    transform: skew(4deg, 3.2deg);
}
10% {
    -webkit-transform: skew(-3deg, -2deg);
    transform: skew(-3deg, -2deg);
}
15% {
    -webkit-transform: skew(2deg, 1.2deg);
    transform: skew(2deg, 1.2deg);
}
20% {
    -webkit-transform: skew(-2deg, -1.5deg);
    transform: skew(-2deg, -1.5deg);
}

25% {
    -webkit-transform: skew(0.9deg, 0.9deg);
    transform: skew(0.9deg, 0.9deg);
}
30% {
    -webkit-transform: skew(-0.6deg, -0.6deg);
    transform: skew(-0.6deg, -0.6deg);
}
35% {
    -webkit-transform: skew(0.3deg, 0.3deg);
    transform: skew(0.3deg, 0.3deg);
}
40% {
    -webkit-transform: skew(-0.2deg, -0.2deg);
    transform: skew(-0.2deg, -0.2deg);
}
45% {
    -webkit-transform: skew(0.1deg, 0.1deg);
    transform: skew(0.1deg, 0.1deg);
}
50% {
    -webkit-transform: skew(0deg, 0deg);
    transform: skew(0deg, 0deg);
}
}


/*-----------------------------
固定バナー
-------------------------------*/

.fixed-button{
    position:fixed;
    bottom:0;
    left: 0px;
    width:100%;
    height: 66px;
    line-height: 60px;
    background-color: #ffffff78;
    color:#fff;
    z-index: 50;
}



.fixed-button a{
    display: block;
    font-size:min(5vw,20px);
    text-align: center;
    position: relative;
}

.fixed-button span::after {
    content:"";
    display: inline-block;
    width:2rem;
    height:2rem;
    position:relative;
    top: 0.4rem;
    right: -1.3rem;
    /* background-image: url(../img/button_icon.png); */
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (min-width:641px){
    .fixed-button {
        height:112px;
        line-height: 65px;
    }
    .fixed-button a{
        font-size: 20px;
    }
    
    .fixed-button span::after {
        width: 2.5rem;
        height:2.5rem;
    }

    .fixed-button{

        left: 13px;

    }

}





.qa_ttl {
    width: min(calc(341 / 640 * 100vw), 341px);
    display: block;
    margin: 0 auto
  }
  
  .inner {
    width: 92%;
    margin: 0 auto;
    /* margin-top: 11% */
  }
  
  .faq {
    /* padding-top: 4rem; */
    padding-bottom: 1rem;
    margin-bottom: 5%
  }
  
  @media screen and (min-width:641px) {
    .faq {
      /* padding-top: 78px; */
      padding-bottom: 50px;
      margin-bottom: 3%
    }
  }
  
  .faq_list dt {
    position: relative;
    padding-left: 3rem;
    padding-right: 1.5rem;
    line-height: 1.75;
    letter-spacing: 0;
    font-size: calc(28 / 640 * 100vw);
    margin-bottom: 1.6rem;
    border-top: solid .1rem #e5e5e5
  }
  
  @media screen and (min-width:641px) {
    .faq_list dt {
      font-size: 28px;
      margin-bottom: 33px;
      padding-left: 60px;
      padding-right: 30px
    }
  }
  
  .faq_list dt:first-child {
    border-top: none
  }
  
  .faq_list dt:not(:first-of-type) {
    padding-top: 2.5rem
  }
  
  @media screen and (min-width:641px) {
    .faq_list dt:not(:first-of-type) {
      padding-top: 50px
    }
  }
  
  .faq_list .q::before {
    content: "Q";
    color: #fff;
    background-color: #0e0336;
    border-radius: 50%;
    width: 2.2rem;
    height: 2.2rem;
    position: absolute;
    left: -3rem;
    top: 7px;
    font-size: 1.3rem;
    font-weight: 700;
    display: inline-block;
    text-align: center
  }
  
  @media screen and (min-width:641px) {
    .faq_list .q::before {
      width: 40px;
      height: 40px;
      font-size: 24px;
      left: -60px;
      top: 15%
    }
  }
  
  .faq_list .q::after {
    content: "";
    display: block;
    background-color: #04c099;
    width: 1.3rem;
    height: 1.3rem;
    position: absolute;
    right: -1.8rem;
    top: min(calc(30 / 640 * 100vw), 30px);
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    background: url(../img/arrow2.png) no-repeat;
    background-size: contain;
    transition: transform .3s ease-in-out, top .3s ease-in-out
  }
  
  .faq_list .q.open::after {
    background: url(../img/arrow.png) no-repeat;
    background-size: contain;
    transition: transform .3s ease-in-out, top .3s ease-in-out;
    top: calc(20 / 640 * 100vw)
  }
  
  @media screen and (min-width:641px) {
    .faq_list .q::after {
      width: 26px;
      height: 26px;
      right: -30px
    }
  
    .faq_list .q.open::after {
      right: -30px
    }
  }
  
  .faq_list dd {
    font-size: calc(26 / 640 * 100vw);
    line-height: 1.692;
    letter-spacing: 0;
    padding-left: 3rem;
    padding-right: 1.8rem;
    padding-bottom: 1.8rem;
    display: none
  }
  
  @media screen and (min-width:641px) {
    .faq_list dd {
      font-size: 26px;
      padding-left: 60px;
      padding-right: 35px;
      padding-bottom: 47px
    }
  
    .faq_list dd p {
      letter-spacing: 0;
      margin-bottom: 0
    }
  }
  
  .faq_list {
    border-bottom: solid .1rem #e5e5e5;
    padding-bottom: 5%
  }
  
  p.q {
    position: relative;
    letter-spacing: 0;
    margin-bottom: .4rem
  }
  
  dd>p>span {
    font-size: min(calc(20 / 640 *100vw), 20px)
  }
  
  dd>p>span.mid {
    font-size: min(calc(24 / 640 *100vw), 24px);
    display: block;
    margin-top: 8%
  }