/* base width 1280px  */


/* :root -------------------------------------------------- */
:root {
    --green_color: #00a902;
    --black_color: #010101;
    --h1_font-size: min(2.5vw, 32px);
    --h2_font-size: min(2.18vw, 28px);
    --inner_width: min(84.37vw, 1080px);
}


.sp{ display: none;}


@media screen and (max-width: 768px) {
    :root {
        --h1_font-size: clamp(22px, 4.16vw, 32px);
        --h2_font-size: clamp(18px, 3.64vw, 28px);
        --p_font-size: clamp(16px, 2.6vw, 20px);
        --inner_width: min(89.84vw, 690px);
    }

    .pc{ display: none;}
    .sp{ display: block;}

}


/* basic -------------------------------------------------- */
body {
    /* background: #000; */
    font-family: "Pro W3", "Hiragino Kaku Gothic Pro", "MS PGothic", sans-serif;
    line-height: normal;
    min-width: 375px;
}
picture {
    /* display: block; */
    display: flex;
    margin: 0 auto;
    max-width: 100%;
}
img {
    width: 100%;
    height: auto;
}
a {
    cursor: pointer;
    text-decoration: none;
}
.border {
    background: var(--green_color);
    display: block;
    margin: auto;
    width: min(11.11vw, 120px);
    height: min(0.27vw, 3px);
}
@media screen and (min-width: 769px) {
    .sp {
        display: none;
    }
}
@media screen and (max-width: 768px) {
    .pc {
        display: none;
    }
    .border {
        width: min(13.02vw, 100px);
        height: min(0.39vw, 3px);
    }
}


/* header -------------------------------------------------- */
header {
    background: #000;
    color: #f7fbfe;
    font-size: min(1.4vw, 18px);
    padding: min(0.39vw, 5px) 0 0;
    text-align: center;
}
@media screen and (max-width: 768px) {
    header {
        font-size: 12px;
        padding: 5px 0 0;
    }
}


/* .mv -------------------------------------------------- */
.mv {
    background: url(../img/mv_bg.png);
    background-size: cover;
    background-position: center;
    padding: min(7.03vw, 90px) 0 min(17.18vw, 220px);
}
.mv > picture {
    width: min(72.01vw, 920px);
}
.mv > div{
    margin-top: 60px;
}
.mv > div > a > picture {
    width: min(42.01vw, 520px);
}
@media screen and (max-width: 768px) {
    .mv {
        padding: min(9.76vw, 75px) 0 min(18.22vw, 140px);
    }
.mv > div{
    margin-top: 20px;
}
    .mv > picture {
        width: clamp(340px, 35.28vw, 271px);
    }
.mv > div > a > picture {
    width: 70%;
	margin: auto;
}
}


/* .sec1 -------------------------------------------------- */
.sec1 {
    background: url(../img/sec1_bg.png);
    background-size: cover;
    background-position: center;
    color: var(--green_color);
    text-align: center;
}
.sec1 > article {
    background: #fff;
    margin: auto;
    padding: min(6.25vw, 80px) 0;
    transform: translateY(max(-10.93vw, -140px));
    width: min(75vw, 960px);
}
.sec1 > article > h1 {
    font-size: var(--h1_font-size);
}
.sec1 > article > .border {
    margin: min(5.85vw, 75px) auto min(6.25vw, 80px);
}
.sec1 > article > .h2 {
    width: min(54.21vw, 694px);
}
.sec1 > article > .text {
    color: var(--black_color);
    display: grid;
    grid-gap: min(1.56vw, 20px);
    font-size: min(1.87vw, 24px);
    margin: min(4.68vw, 60px) auto 0;
}
@media screen and (max-width: 768px) {
    .sec1 {
        background: url(../img/sec1_bg_sp.png);
        background-size: cover;
        background-position: center;
        padding: 0 0 min(7.81vw, 60px);
    }
    .sec1 > article {
        box-sizing: border-box;
        padding: min(8.46vw, 65px);
        transform: translateY(max(-10.41vw, -80px));
        width: var(--inner_width);
    }
    .sec1 > article > h1 {
        font-size: var(--h1_font-size);
    }
    .sec1 > article > .border {
        margin: min(8.46vw, 65px) auto;
    }
    .sec1 > article > .h2 {
        width: clamp(260px, 52.34vw, 402px);
    }
    .sec1 > article > .text {
        grid-gap: min(4.55vw, 35px);
        font-size: var(--p_font-size);
        margin: min(6.51vw, 50px) auto 0;
        text-align: start;
    }
}


/* .sec2 -------------------------------------------------- */
.sec2 {
    background: #ECF6EC;
    color: #fff;
    padding: min(7.81vw, 100px) 0 min(6.25vw, 80px);
    text-align: center;
}
.sec2 > h1 {
    color: var(--green_color);
    font-size: var(--h1_font-size);
}
.sec2 > div > .border {
    margin: min(6.25vw, 80px) auto min(7.81vw, 100px);
}
.sec2 > .grid {
    align-items: center;
    display: grid;
    grid-gap: min(4.68vw, 60px);
    grid-template-columns: 1fr min(32.65vw, 418px);
    margin: auto;
    width: var(--inner_width);
}
.sec2 > .grid > .text {
    /* margin: min(6.48vw, 70px) auto; */
    display: grid;
    grid-gap: min(3.9vw, 50px);
    text-align: start;
}
.sec2 > .grid > .text > h2 {
    color: var(--green_color);
    font-size: var(--h2_font-size);
}
.sec2 > .grid > .text > p {
    color: var(--black_color);
    font-size: min(1.56vw, 20px);
}
.sec2 > a {
    display: block;
    margin: min(7.03vw, 90px) auto 0;
    width: min(44.68vw, 572px);
}
@media screen and (max-width: 768px) {

    .sec2 {
        padding: min(11.71vw, 90px) 0;
    }
    /*.sec2 > h1 {
        color: var(--green_color);
        font-size: var(--h1_font-size);
    } */
    .sec2 > .border {
        margin: min(11.06vw, 85px) auto;
    }
    .sec2 > .grid {
        grid-gap: min(10.41vw, 80px);
        grid-template-columns: 1fr;
    }
    .sec2 > .grid > .text {
        /* margin: min(6.48vw, 70px) auto; */
        grid-gap: min(6.51vw, 50px);
    }
    .sec2 > .grid > .text > h2 {
        text-align: center;
        margin: 0 0 min(5.2vw, 40px);
    }
    .sec2 > .grid > .text > p {
        font-size: var(--p_font-size);
    }
    .sec2 > .grid > picture {
        width: min(63.28vw, 486px);
    }
    .sec2 > a {
        margin: min(11.71vw, 90px) auto 0;
        width: min(74.47vw, 572px);
    }
}

/* .sec2a -------------------------------------------------- */
.sec2a {
    background: url("../img/form-bg.png");
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: min(7.81vw, 100px) 0 min(6.25vw, 80px);
    text-align: center;
}
.sec2a > h1 {
    color: var(--green_color);
    font-size: var(--h1_font-size);
}
.sec2a > div > .border {
    margin: min(6.25vw, 80px) auto min(7.81vw, 100px);
}
.sec2a > .grid {
    align-items: center;
    display: grid;
    grid-gap: min(4.68vw, 60px);
    grid-template-columns: 1fr min(32.65vw, 418px);
    margin: auto;
    width: var(--inner_width);
}
.sec2a > .grid > .text {
    /* margin: min(6.48vw, 70px) auto; */
    display: grid;
    grid-gap: min(3.9vw, 50px);
    text-align: start;
}
.sec2a > .grid > .text > h2 {
    color: var(--green_color);
    font-size: var(--h2_font-size);
}
.sec2a > .grid > .text > p {
    color: var(--black_color);
    font-size: min(1.56vw, 20px);
}
.sec2a > a {
    display: block;
    margin: min(7.03vw, 90px) auto 0;
    width: min(44.68vw, 572px);
}
@media screen and (max-width: 768px) {

    .sec2a {
        background-position: center;
        padding: min(11.71vw, 90px) 0;
    }
    /*.sec2 > h1 {
        color: var(--green_color);
        font-size: var(--h1_font-size);
    } */
    .sec2a > .border {
        margin: min(11.06vw, 85px) auto;
    }
    .sec2a > .grid {
        grid-gap: min(10.41vw, 80px);
        grid-template-columns: 1fr;
    }
    .sec2a > .grid > .text {
        /* margin: min(6.48vw, 70px) auto; */
        grid-gap: min(6.51vw, 50px);
    }
    .sec2a > .grid > .text > h2 {
        text-align: center;
        margin: 0 0 min(5.2vw, 40px);
    }
    .sec2a > .grid > .text > p {
        font-size: var(--p_font-size);
    }
    .sec2a > .grid > picture {
        width: min(63.28vw, 486px);
    }
    .sec2a > a {
        margin: min(11.71vw, 90px) auto 0;
        width: min(74.47vw, 572px);
    }
}





/* .sec3 -------------------------------------------------- */
   .sec3 {
    background:#1c7209;
    padding: min(10.15vw, 130px) 0;
}
.sec3 > h1 {
    color: #fff;
    font-size: var(--h1_font-size);
    text-align: center;
}
.sec3 > .border {
	background: #fff;
    margin: min(7.03vw, 90px) auto;
}
@media screen and (max-width: 768px) {
    .sec3 {
        padding: min(11.71vw, 90px) 0;
    }
    .sec3 > .border {
        margin: min(11.71vw, 90px) auto;
    }
}


/* .digest -------------------------------------------------- */
.digest {
    margin: 0 auto 80px;
    text-align: center;
    width: min(90%, 960px);
}
.digest > h2 {
    color: var(--green_color);
    font-size: var(--h1_font-size);
    /* margin: 0 0 75px; */
    margin: 0 0 min(7.81vw, 60px);
}
.digest > .youtube {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
}
.digest > .youtube > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* form -------------------------------------------------- */
form {
    margin: auto;
    width: var(--inner_width);
    max-width: 720px;
	border: 1px solid #ccc;
	background: #fcfcfc;
	padding: 50px 0;
}
.form-inner {
    margin: auto;
    max-width: 640px;
}
@media screen and (max-width: 768px) {
    form {
        padding: 40px 0;
    }
    .form-inner{
        margin: auto;
        max-width: 88%;
    }
}


/* footer -------------------------------------------------- */
footer {
    background: #383838;
    color: #fff;
    font-size: min(1.4vw, 18px);
    padding: min(0.78vw, 10px) 0;
    text-align: center;
}
@media screen and (max-width: 768px) {
    footer {
        font-size: 10px;
        padding: 5px 0;
    }
}