@charset "UTF-8";



/*============================
#floating
============================*/
section#floating.floating {
    position: fixed;
    right:0px;
    top:0px;
    z-index: 100;
}
section#floating.floating div.container {
    display: grid;
    grid-template-columns: 180px 180px 180px;
    height:70px;
    width:100%;
}
section#floating.floating div.container a{
    display: grid;
    align-items: center;
    text-align: center;
    width:100%;
    height:100%;
    color: #fff;    
    background: url(../img/icon_arrow.svg) right 12px center/10px auto no-repeat;
}

section#floating.floating div.container a:hover{
    opacity:0.8;
}

section#floating.floating div.container a.floating__line {
    background-color: #14AF2E;

    
}
section#floating.floating div.container a.floating__mail {
    background-color: #3A4967;
    
}
section#floating.floating div.container a.floating__looking {
    background: url(../img/icon_arrow.svg) right 12px center/10px auto no-repeat,linear-gradient(to right, #b2ab6b 0%, #cfc99f 100%);
}
header {
    height:70px;
    padding-top:17px;
}
header figure.header__logo {
}
header figure.header__logo img {
    margin: 0 auto 0 min( 100vw / 750 * 20 , 15px);
    width: 120px;
}
main {
}

@media not screen and (min-width:768px){
    header {
        height:min( 100vw / 750 * 96 , 96px);
        padding-top: min( 100vw / 750 * 24 , 24px);
        padding-bottom: min( 100vw / 750 * 24 , 24px);
    }
    header figure.header__logo {
        height:100%;
    }
    header figure.header__logo img {
        height:100%;
        width:auto;
    }
    section#floating.floating{
        transform:translateY(-100%);
        transition: 0.5s ease;
    }
    section#floating.floating.show{
        transform:translateY(0%);
    }
    section#floating.floating div.container {
        grid-template-columns: 1fr 1fr 1fr;
        width: 100vw;
        max-width: 100vw;
    }
    section#floating.floating div.container a{
        font-size: min( 100vw / 750 * 22 , 22px);
    }
}

/*============================
#fv
============================*/
main section#fv.fv {
}
main section#fv.fv h1 {
}
main section#fv.fv h1 figure {
}
main section#fv.fv h1 figure img.pc.no-aos {
}
main section#fv.fv h1 figure img.sp{
}

/*============================
#worries
============================*/
main section#worries.worries {
    padding-top: min( 100vw / 750 * 100 , 100px);
    font-size: min(100vw / 375 * ( 20 + 16 ) / 2 , 20px);
    letter-spacing: min(100vw / 375 * ( 20 + 16 ) / 2 * 0.05, 20px * 0.05);
}
main section#worries.worries div.container {
    position:relative;
}

main section#worries.worries figure.worries__img.pc {
}
main section#worries.worries figure.worries__img.pc img {
}
main section#worries.worries figure.worries__img.sp {
    padding-bottom: min( 100vw / 750 * 300 , 300px);

}
main section#worries.worries figure.worries__img.sp img {
}
main section#worries.worries div.container ul {
    position:absolute;
    left:0px;
    bottom:0px;
    padding-top: min( 100vw / 750 * 47 , 47px);
    padding-right: min( 100vw / 750 * 80 , 80px);
    background-color: var(--bac-1st);
    
}
main section#worries.worries div.container ul li {
    background: url(../img/icon_check.svg) left top min( 100vw / 750 * 10 , 10px)/ min( 100vw / 750 * 19 , 19px) auto no-repeat;
    margin-bottom: min( 100vw / 750 * 30 , 30px);
    padding-left: min( 100vw / 750 * 24 , 24px);
    text-align: left;
}

@media screen and (max-width:813px){
    main section#worries.worries div.container ul li {
        font-size: min( 100vw / 750 * 32 , 32px);
        line-height: calc(1 / 16 * 24);
        letter-spacing: min( 100vw / 750 * 32 * 0.05 , 32px * 0.05);
        background-size: min( 100vw / 750 * 38 , 38px) auto;
        padding-left: min( 100vw / 750 * 68 , 68px);   
    }
}

main section#worries.worries div.container ul li:nth-last-of-type(1){
    margin-bottom:0;
}



/*============================
#catch
============================*/
main section#catch.catch {
    background: url(../img/catch_img1.svg) top center/2626px auto no-repeat;
    background-color: var(--bac-2nd);
    font-family: var(--fnt-noto-serif);
    padding-top: min( 100vw / 750 * 100 , 100px);
    padding-bottom: min( 100vw / 750 * 80 , 80px);
}



main section#catch.catch h2 {
    text-align: center;
    font-size: min(100vw / 375 * ( 50 + 16 ) / 2 , 50px);
    line-height: calc(1 / 50 * 70);
    letter-spacing: min(100vw / 375 * ( 50 + 16 ) / 2 * 0.1, 50px * 0.1);
    margin-bottom: min( 100vw / 750 * 160 , 160px);
    
}
main section#catch.catch div.container {
    font-size: min(100vw / 375 * ( 28 + 16 ) / 2 , 28px);
    line-height: calc(1 / 28 * 50.4);
    letter-spacing: min(100vw / 375 * ( 28 + 16 ) / 2 * 0.05, 28px * 0.05);
    text-align: center;
}
@media not screen and (min-width:768px){
    main section#catch.catch {
        background: url(../img/catch_img1_sp.svg) top center/100% auto no-repeat;
        background-color: var(--bac-2nd);
    }        
    main section#catch.catch div.container {
        font-size: min( 100vw / 750 * 32 , 32px);
    }
}

/*============================
#choice
============================*/
main section#choice.choice {
    padding-top: min( 100vw / 750 * 120 , 120px);
    padding-bottom: min( 100vw / 750 * 80 , 80px);
}
main section#choice.choice h2 {
}
main section#choice.choice div.container {
}
main section#choice.choice div.container figure.choice__img.pc {
}
main section#choice.choice div.container figure.choice__img.pc img {
}
main section#choice.choice div.container figure.choice__img.sp {
}
main section#choice.choice div.container figure.choice__img.sp img {
    width:100%;
}
/*============================
cta
============================*/
main section.cta {
    padding-top: min( 100vw / 750 * 120 , 120px);
    padding-bottom: min( 100vw / 750 * 32 , 32px);
    margin-bottom: min( 100vw / 750 * 120 , 120px);
}
main section.cta div.container {
    background: linear-gradient(to right, #fff 0%, #edf0f6 100%);
    border: min( 100vw / 750 * 5 , 5px) solid #fff;
    box-shadow: 0px 0px min( 100vw / 750 * 30 , 30px) rgba(0, 0, 0, 0.2);
    padding-left: min( 100vw / 750 * 48 , 48px); 
    padding-right: min( 100vw / 750 * 48 , 48px); 
    position: relative;
    padding-top: min( 100vw / 750 * 80 , 80px);
}
main section.cta div.container h2 {
    color: var(--col-3rd);
    width: min( 100vw / 750 * 640 , 640px);
    background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, #000 10%, #000 90%, rgba(0, 0, 0, 0) 100%);
    text-align: center;
    transform:translate(-50%, -50%);
    font-size: min(100vw / 375 * ( 31 + 16 ) / 2 , 31px);
    letter-spacing: min(100vw / 375 * ( 31 + 16 ) / 2 * 0.05, 31px * 0.05);    
    margin:auto;
    position:absolute;
    left:50%;
    top:0px;
}

main section.cta div.container h3 {
    font-size: min(100vw / 375 * ( 27 + 16 ) / 2 , 27px);
    letter-spacing: min(100vw / 375 * ( 27 + 16 ) / 2 * 0.05, 27px * 0.05);
    text-align: center;
    color: var(--col-3rd);
    margin-bottom: min( 100vw / 750 * 28 , 28px);
    font-weight: 500;
}
@media screen and (max-width:813px){
    main section.cta div.container h2 {
        font-size: min( 100vw / 750 * 44 , 44px);    
    }
    main section.cta div.container h3 {
        font-size: min( 100vw / 750 * 36 , 36px);
    }
}

main section.cta div.container a.cta__btn {
    margin-bottom: min( 100vw / 750 * 32 , 32px);
    display: block;
}
main section.cta div.container a.cta__btn img.pc {
}
main section.cta div.container a.cta__btn img.sp {
    width:100%;
}

/*============================
#welfare
============================*/
main section#welfare.welfare {
    padding-top: min( 100vw / 750 * 120 , 120px);
}
main section#welfare.welfare figure.welfare__img {
    width:100vw;
    height: min( 100vw / 750 * 402 , 402px);
    z-index: 0;
    position: relative;
}
main section#welfare.welfare figure.welfare__img img {
    width:100%;
    height:100%;
    object-fit: cover;
}
main section#welfare.welfare .container h2 {
    background-color: var(--bac-1st);
    padding-top: min( 100vw / 750 * 92 , 92px);
    padding-bottom: min( 100vw / 750 * 92 , 92px);
    margin-top: max( 100vw / 750 * -72 , -72px);
    z-index: 1;
    position: relative;
    margin-bottom: min( 100vw / 750 * 56 , 56px);
}
main section#welfare.welfare div.container {
    text-align: center;
    font-size: min(100vw / 375 * ( 28 + 16 ) / 2 , 28px);
    line-height: calc(1 / 28 * 50.4);
    letter-spacing: min(100vw / 375 * ( 28 + 16 ) / 2 * 0.05, 28px * 0.05);
    
}
main section#welfare.welfare div.container strong {
}
main section#welfare.welfare div.container div.welfare__body {
    margin-top: min( 100vw / 750 * 80 , 80px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: url(../img/welfare_border.svg) center center/100% 100% no-repeat;
}
main section#welfare.welfare div.container div.welfare__body div.body__unit {
}
main section#welfare.welfare div.container div.welfare__body div.body__unit figure.unit__img {
}
main section#welfare.welfare div.container div.welfare__body div.body__unit figure.unit__img img {
}
main section#welfare.welfare div.container div.welfare__body div.body__unit div.unit__text {
    font-size: min(100vw / 375 * ( 24 + 16 ) / 2 , 24px);
    letter-spacing: min(100vw / 375 * ( 24 + 16 ) / 2 * 0.1, 24px * 0.1);
    padding-bottom: min( 100vw / 750 * 40 , 40px);    
}

@media not screen and (min-width:768px){
    main section#welfare.welfare div.container {
        font-size: min( 100vw / 750 * 32 , 32px);
    }
}

@media screen and (max-width:375px){
    main section#welfare.welfare div.container div.welfare__body {
        background:none;
        grid-template-columns: 1fr;
    }
    main section#welfare.welfare div.container div.welfare__body div.body__unit {
        border-bottom:1px solid #E6E6E6;
    }
    main section#welfare.welfare div.container div.welfare__body div.body__unit:nth-last-of-type(1) {
        border:none;
    }
}

/*============================
#income
============================*/
section#income.income {
    background-color: var(--bac-2nd);
    padding-bottom: min( 100vw / 750 * 80 , 80px);
}
section#income.income figure.income__img {
    width: 100vw;
    height: min( 100vw / 750 * 582 , 582px);
    z-index: 0;
    position: relative;
}
section#income.income figure.income__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
section#income.income div.container {
    background-color: var(--bac-1st);
    margin-top: max( 100vw / 750 * -200 , -200px);
    z-index: 1;
    position: relative;
    padding-top: min( 100vw / 750 * 90 , 90px);

}
section#income.income div.container h2 {
    margin-bottom: min( 100vw / 750 * 40 , 40px);
}
section#income.income div.container div.income__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-bottom: min( 100vw / 750 * 100 , 100px);
    margin:auto;
    margin-bottom: min( 100vw / 750 * 100 , 100px);
    max-width: 800px;
}


section#income.income div.container div.income__body div.body__unit {
    text-align: center;
    font-size: min(100vw / 375 * ( 24 + 16 ) / 2 , 24px);
    line-height: calc(1 / 24 * 36);
    letter-spacing: min(100vw / 375 * ( 24 + 16 ) / 2 * 0.1, 24px * 0.1);
    
}
section#income.income div.container div.income__body div.body__unit figure.unit__img {
}
section#income.income div.container div.income__body div.body__unit figure.unit__img img {
}
section#income.income div.container div.income__body div.body__unit div.unit__text {
}
section#income.income div.income__closing {
    max-width: calc(100% - min( 100vw / 750 * 96 , 96px));
    margin: auto;
}
section#income.income div.income__closing h3 {
    font-size: min(100vw / 375 * ( 40 + 16 ) / 2 , 40px);
    line-height: calc(1 / 40 * 56);
    letter-spacing: min(100vw / 375 * ( 40 + 16 ) / 2 * 0.05, 40px * 0.05);
    text-align: center;
    margin-bottom: min( 100vw / 750 * 40 , 40px);
    
}
section#income.income div.income__closing div.closing__text {
    text-align: center;
    font-size: min(100vw / 375 * ( 28 + 16 ) / 2 , 28px);
    line-height: calc(1 / 28 * 50.4);
    letter-spacing: min(100vw / 375 * ( 28 + 16 ) / 2 * 0.05, 28px * 0.05);
}

@media not screen and (min-width:768px){
    section#income.income div.income__closing h3 {
        font-size: min( 100vw / 750 * 50 , 50px);
        line-height: calc(1 / 25 * 42.5);
        letter-spacing: min(100vw / 375 * 25 * 0.05 , ( 25px - 8px ) * 2 * 0.05);
    }
    section#income.income div.income__closing div.closing__text {
        font-size: min( 100vw / 750 * 32 , 32px);
    }
}


@media screen and (max-width:375px){
    section#income.income div.container div.income__body {
        grid-template-columns: 1fr;
    }
    section#income.income div.income__closing div.closing__text {
        font-size: min( 100vw / 750 * 32 , 32px);
    }
}

/*============================
#training1
============================*/
main section#training1.training.training1 {
    padding-top: min( 100vw / 750 * 120 , 120px);
    margin-bottom: min( 100vw / 750 * 72 , 72px);
}
main section#training1.training.training1 h2 {
}
main section#training1.training.training1 div.container {
}
main section.training div.container h3 {
    padding-left:min( 100vw / 750 * 32 , 32px);
    border-left:1px solid;
    font-size: min(100vw / 375 * ( 32 + 16 ) / 2 , 32px);
    line-height: calc(1 / 32 * 60);
    letter-spacing: min(100vw / 375 * ( 32 + 16 ) / 2 * 0.05, 32px * 0.05);
    margin-bottom: min( 100vw / 750 * 40 , 40px);
    
}
main section#training1.training.training1 div.container ul {
    padding-left:min( 100vw / 750 * 16 , 16px);
    font-size: min(100vw / 375 * ( 28 + 16 ) / 2 , 28px);
    line-height: calc(1 / 28 * 50.4);
    letter-spacing: min(100vw / 375 * ( 28 + 16 ) / 2 * 0.05, 28px * 0.05);
    margin-bottom: min( 100vw / 750 * 72 , 72px);    
    text-align: left;
}
main section#training1.training.training1 div.container ul li {
}
main section#training1.training.training1 div.container ul li::before {
    position: relative;
    top: max( 100vw / 750 * -6 , -6px);
    left: max( 100vw / 750 * -18 , -18px);
   
    display: inline-block;
   
    width: min( 100vw / 750 * 6 , 6px);
    height: min( 100vw / 750 * 6 , 6px);
   
    content: '';
   
    border-radius: 100%;
    background: var(--col-1st);
  }
main section#training1.training.training1 div.container div.training1__imgs {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: min( 100vw / 750 * 28 , 28px);
}


main section#training1.training.training1 div.container div.training1__imgs figure.imgs__img.pc {
}
main section#training1.training.training1 div.container div.training1__imgs figure.imgs__img{
    position:relative;
}
main section#training1.training.training1 div.container div.training1__imgs figure.imgs__img:before{
    content:attr(data-attr)"";
    width: min( 100vw / 750 * 214 , 214px);
    height: min( 100vw / 750 * 73 , 73px);
    display: grid;
    align-items: center;
    text-align: center;
    font-size: min(100vw / 375 * ( 24 + 16 ) / 2 , 24px);
    background-color: var(--bac-1st);
    position: absolute;
    right:0px;
    bottom:0px;        
    z-index: 1;
}
main section#training1.training.training1 div.container div.training1__imgs figure.imgs__img img{
    z-index: 0;
    position:relative;
}
main section#training1.training.training1 div.container div.training1__imgs figure.imgs__img.pc img {
}
main section#training1.training.training1 div.container div.training1__imgs figure.imgs__img.sp {
}
main section#training1.training.training1 div.container div.training1__imgs figure.imgs__img.sp img {
}
@media not screen and (min-width:1024px){
    main section#training1.training.training1 div.container div.training1__imgs {
        grid-template-columns: 1fr;
        gap:min( 100vw / 750 * 42 , 42px);
    }
    main section#training1.training.training1 div.container div.training1__imgs img{
        width:100%;
        height: min( 100vw / 750 * 220 , 220px);
        object-fit: cover;
    }
    main section#training1.training.training1 div.container div.training1__imgs figure.imgs__img:before{
        width: min( 100vw / 750 * 326 , 326px);
        height: min( 100vw / 750 * 82 , 82px);
        font-size: min( 100vw / 750 * 30 , 30px);
    }
    main section.training div.container h3 {
        font-size: min( 100vw / 750 * 40 , 40px);
    }
}

@media not screen and (min-width:768px){
    main section#training1.training.training1 div.container ul {
        font-size: min( 100vw / 750 * 32 , 32px);
    }
}

/*============================
#training2
============================*/
main section#training2.training.training2 {
    margin-bottom: min( 100vw / 750 * 80 , 80px);
}
main section#training2.training.training2 div.container {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
}

main section#training2.training.training2 div.container figure.training2__img {
}
main section#training2.training.training2 div.container figure.training2__img img {
}
main section#training2.training.training2 div.container div.training2__body {
}
main section#training2.training.training2 div.container div.training2__body h3 {
}
main section#training2.training.training2 div.container div.training2__body div.body__text {
    font-size: min(100vw / 375 * ( 28 + 16 ) / 2 , 28px);
    line-height: calc(1 / 28 * 50.4);
    letter-spacing: min(100vw / 375 * ( 28 + 16 ) / 2 * 0.05, 28px * 0.05);
    
}
@media not screen and (min-width:1024px){
    main section#training2.training.training2 div.container {
        grid-template-columns: 1fr;
    }
    main section#training2.training.training2 div.container div.training2__body {
        grid-row: 1 / 2;
    }
    main section#training2.training.training2 div.container figure.training2__img {
        grid-row: 2 / 3;
    }
}

@media not screen and (min-width:768px){
    main section#training2.training.training2 div.container div.training2__body div.body__text {
        font-size: min( 100vw / 750 * 32 , 32px);
    }
}

/*============================
#training3
============================*/
main section#training3.training.training3 {
}
main section#training3.training.training3 div.container {
    display: grid;
    grid-template-columns: auto 1fr;
    gap:min( 100vw / 750 * 100 , 100px);
    align-items: center;
}
main section#training3.training.training3 div.container h3 {
}
main section#training3.training.training3 div.container figure.training3__img {
}
main section#training3.training.training3 div.container figure.training3__img img {
}

@media not screen and (min-width:1024px){
    main section#training3.training.training3 div.container {
        grid-template-columns: 1fr;
    }
}


/*============================
#closing
============================*/
main section#closing.closing {
    background-color: var(--bac-2nd);
    padding-bottom: min( 100vw / 750 * 80 , 80px);
}
main section#closing.closing h2 {
    background-color: var(--bac-1st);
    padding-bottom: min( 100vw / 750 * 173 , 173px);
    margin-bottom:0;
}
main section#closing.closing div.container {
    
}
main section#closing.closing div.container:before{
    content:"";
    width:100%;
    height:min( 100vw / 750 * 72 , 72px);
    color: var(--bac-1st);
    
}
main section#closing.closing div.container figure.closing__img {
    position:relative;
    margin-top: max( 100vw / 750 * -72 , -72px);
    margin-bottom: min( 100vw / 750 * 120 , 120px);
}
main section#closing.closing div.container figure.closing__img img.img__mv{
    margin:0 auto 0 0 ;
}
main section#closing.closing div.container figure.closing__img img.img__text {
    position:absolute;
    right:0px;
    bottom:max( 100vw / 750 * -120 , -120px);
}
main section#closing.closing div.container h3 {
    text-align: center;
    font-size: min(100vw / 375 * ( 40 + 16 ) / 2 , 40px);
    letter-spacing: min(100vw / 375 * ( 40 + 16 ) / 2 * 0.05, 40px * 0.05);
    margin-bottom: min( 100vw / 750 * 56 , 56px);
}
main section#closing.closing div.container div.closing__text {
    text-align: center;
    font-size: min(100vw / 375 * ( 28 + 16 ) / 2 , 28px);
    line-height: calc(1 / 28 * 50.4);
    letter-spacing: min(100vw / 375 * ( 28 + 16 ) / 2 * 0.05, 28px * 0.05);
    
}

@media screen and (max-width:1200px){
    main section#closing.closing div.container figure.closing__img img.img__text {
        width: calc( 100vw / 750 * 396 );
        right: calc(100vw / 750 * -48);
    }
    main section#closing.closing div.container figure.closing__img img.img__mv{
        margin-left: max( 100vw / 750 * -48 , -48px);
    }
}

@media not screen and (min-width:1024px){
    main section#closing.closing div.container div.closing__text br.tab{
        display:none;
    }        
}

@media not screen and (min-width:768px){
    main section#closing.closing div.container h3 {
        font-size: min( 100vw / 750 * 50 , 50px);
    }
    main section#closing.closing div.container div.closing__text {
        font-size: min( 100vw / 750 * 32 , 32px);
    }
}

/*============================
#reason
============================*/
main section#reason.reason {
}
main section#reason.reason h2 {
    position: relative;
}
main section#reason.reason h2 figure.h2__img {
    position:absolute;
    left:0px;
    top:50%;
    transform: translate(-20%, -50%);
}

@media not screen and (min-width:1366px){
    main section#reason.reason h2 figure.h2__img {
        position:relative;
        left:auto;
        top:auto;
        transform:none;
    }
}

main section#reason.reason h2 figure.h2__img img {
}
main section#reason.reason div.reason__unit {
    background-color: var(--bac-2nd);
    position: relative;
    margin-bottom: min( 100vw / 750 * 80 , 80px);
    padding-bottom: min( 100vw / 750 * 100 , 100px);
}
main section#reason.reason div.reason__unit:nth-last-of-type(1){
    margin-bottom:0;
}
main section#reason.reason div.reason__unit:before{
    content:"";
    width:100%;
    height:min( 100vw / 750 * 100 , 100px);
    border-bottom:2px solid #454859;
    position:absolute;
    top:0px;
    left:0px;
    z-index: 0;
    background-color: var(--bac-1st);
    
}
main section#reason.reason div.reason__unit figure.unit__img.pc {
}
main section#reason.reason div.reason__unit figure.unit__img{
    margin-bottom: min( 100vw / 750 * 40 , 40px);
    z-index: 1;
}
main section#reason.reason div.reason__unit figure.unit__img.pc img {
}
main section#reason.reason div.reason__unit figure.unit__img.sp {
}
main section#reason.reason div.reason__unit figure.unit__img.sp img {
}
main section#reason.reason div.reason__unit h3 {
    padding-left:min( 100vw / 750 * 32 , 32px);
    border-left:1px solid;
    font-size: min(100vw / 375 * ( 32 + 16 ) / 2 , 32px);
    line-height: calc(1 / 32 * 60);
    letter-spacing: min(100vw / 375 * ( 32 + 16 ) / 2 * 0.05, 32px * 0.05);
    margin-bottom: min( 100vw / 750 * 40 , 40px);
}
main section#reason.reason div.reason__unit div.unit__text {
    font-family: var(--fnt-noto-sans);
}
main section#reason.reason div.reason__unit div.unit__text strong {
}

@media not screen and (min-width:768px){
    main section#reason.reason div.reason__unit h3 {
        font-size: min( 100vw / 750 * 40 , 40px);
    }
}


/*============================
#achievement
============================*/
main section#achievement.achievement {
    padding-top: min( 100vw / 750 * 120 , 120px);
    padding-bottom: min( 100vw / 750 * 72 , 72px);
}
main section#achievement.achievement h2 {
}
main section#achievement.achievement div.container {
}
main section#achievement.achievement div.container figure.achievement__img.pc {
}
main section#achievement.achievement div.container figure.achievement__img.pc img {
}
main section#achievement.achievement div.container figure.achievement__img.sp {
}
main section#achievement.achievement div.container figure.achievement__img.sp img {
    width:100%;
}
main section#achievement.achievement div.container small {
    margin:min( 100vw / 750 * 32 , 32px) 0 0 auto;
    display:block;
    width:fit-content;
}

/*============================
#features
============================*/
main section#features.features {
}
main section#features.features h2 {
    text-align: left;
    font-size: min(100vw / 375 * ( 56 + 16 ) / 2 , 56px);
    letter-spacing: min(100vw / 375 * ( 56 + 16 ) / 2 * 0.1, 56px * 0.1);
    margin-bottom: min( 100vw / 750 * 80 , 80px);
}
main section#features.features div.container {
}
main section#features.features div.container div.featuers__unit {
    display: grid;
    grid-template-columns: auto 1fr;
    gap:min( 100vw / 750 * 80 , 80px);
    margin-bottom: min( 100vw / 750 * 80 , 80px);
}


main section#features.features div.container div.featuers__unit:nth-last-of-type(2n){
    grid-template-columns: 1fr auto;
}
main section#features.features div.container div.featuers__unit:nth-last-of-type(2n) figure.unit__img{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}
main section#features.features div.container div.featuers__unit:nth-last-of-type(2n) div.unit__body{
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
main section#features.features div.container div.featuers__unit figure.unit__img {
}
main section#features.features div.container div.featuers__unit figure.unit__img.pc img {
}
main section#features.features div.container div.featuers__unit figure.unit__img.sp {
}
main section#features.features div.container div.featuers__unit figure.unit__img.sp img {
}
main section#features.features div.container div.featuers__unit div.unit__body {
}
main section#features.features div.container div.featuers__unit div.unit__body h3 {
    padding-left:min( 100vw / 750 * 32 , 32px);
    border-left:1px solid;
    font-size: min(100vw / 375 * ( 32 + 16 ) / 2 , 32px);
    line-height: calc(1 / 32 * 60);
    letter-spacing: min(100vw / 375 * ( 32 + 16 ) / 2 * 0.05, 32px * 0.05);
    margin-bottom: min( 100vw / 750 * 40 , 40px);
}
main section#features.features div.container div.featuers__unit div.unit__body div.body__text {
}

@media not screen and (min-width:1024px){
    main section#features.features div.container div.featuers__unit:nth-last-of-type(n) {
        grid-template-columns: 1fr;
    }
    main section#features.features div.container div.featuers__unit:nth-last-of-type(n) figure.unit__img{
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }
    main section#features.features div.container div.featuers__unit:nth-last-of-type(n) div.unit__body{
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }    
}

@media not screen and (min-width:768px){
    main section#features.features h2 {
        font-size: min( 100vw / 750 * 50 , 50px);
    }
    main section#features.features div.container div.featuers__unit div.unit__body h3 {
        font-size: min( 100vw / 750 * 40 , 40px);
    }
}

/*============================
#copy
============================*/
section#copy.copy {
    background-color: var(--col-1st);
    text-align: center;
    color: var(--bac-1st);
    padding: min( 100vw / 750 * 12 , 12px);
    font-size:10px;
}
section#copy.copy div.container {
}
