@charset "utf-8";
/* reset
----------------------------------------------------------------------------*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,
strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,
details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {margin:0; padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;
/*background:transparent*/}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block}nav ul {list-style:none}blockquote,q {quotes:none}
blockquote:before,blockquote:after,q:before,q:after {content:'';content:none}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins {background-color:#ff9;color:#000;text-decoration:none}
mark {background-color:#ff9;color:#000;font-style:italic;font-weight:700}del {text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table {border-collapse:collapse;border-spacing:0}input,select {vertical-align:middle}img{vertical-align:top;vertical-align:bottom}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
ul {list-style: none;}li {list-style: none;}img {max-width: 100%;}

/*style css---------------------------------------------------------*/
body {
    font-family: sans-serif;
    background-color: #E24242;
}

.shipporiMincho {
    font-family: 'Shippori Mincho', serif;
}

.notosans {
font-family: 'Noto Sans JP', sans-serif;
}

/*SP---------------------------------------------------------------------------*/
.testLP {
    padding: 0;
    box-sizing: border-box;
}

.testLP .header__wrapper {
    position: relative;
    margin: 0 auto;
}

.subVisual {
    transform: translateY(-48px);
}

.mainLogo {
    transform: translateY(-40px);
}

.header__boxLeft {
    position: relative;
    padding: 40px 8px 56px;
    box-sizing: border-box;
    background-color: #F7F8F8;
    margin: 24px auto 0;
}


.testLP .header__copy {
    display: block;
    width: fit-content;
    margin: 0 auto;
    box-sizing: border-box;
    font-size: 40px;
    text-align: center;
    background: linear-gradient(transparent 60%, #71EFFF 60% 90%, white 10%);
}

.testLP .header__subcopy {
    font-size: 18px;
    padding: 40px 0;
    box-sizing: border-box;
}

.testLP .header__text {
    position: relative;
    display: block;
    line-height: 28px;
    font-size: 14px;
    font-weight: bold;
}

.testLP .header__link {
    display: block;
    width: 200px;
    height: 48px;
    margin: 0 auto;
    text-decoration: none;
    background-color: #EA3C79;
    line-height: 48px;
    text-align: center;
    border-radius: 20px;
    color: #fff;
}

.testLPIntro {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0 8px;
    box-sizing: border-box;
}

.testLPIntro::before {
    content: "";
    display: block;
    width: 100%;
    min-height: 142px;
    transform: translateY(-30%);
    background-image: url(../img/marigram30/ttl_img.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.testLPIntro__ttl {
    width: 280px;
    height: 48px;
    line-height: 48px;
    margin: 24px auto 40px;
    border-radius: 30px;
    font-weight: bold;
    text-align: center;
    color: #2655FF;
    border: 2px solid #2655FF;
}

.testLPIntro__text {
    position: relative;
    display: block;
    padding: 0 8px 40px;
    line-height: 28px;
    font-size: 14px;
    font-weight: bold;
    transform: translateY(-16px);
}

.testLPDounyu {
    width: 100%;
    margin: 40px auto;
    padding: 40px 8px 0;
    box-sizing: border-box;
    border-radius: 30px;
    background-color: #fff;
}

.testLPDounyu__img {
    width: 300px;
    display: block;
    margin: 0 auto 24px;
}

.testLPIntro__image--01 {
    position: relative;
    transform: translateY(-28px);
}

.testLP__link {
    cursor: pointer;
    display: block;
    width: 240px;
    height: 64px;
    line-height: 64px;
    margin: 40px auto;
    border-radius: 30px;
    border: 5px solid #000;
    text-decoration: none;
    text-align: center;
    color: #fff;
    font-weight: bold;
    box-shadow: 5px 5px #000;
    background-color: green;
}

.testLP__link__br {
    display: none;
}

/*  testEntry ------------------------*/
body:has(.testEntry) {  
    background-color: transparent;
}

.testEntry .mainLogo {
    position: relative;
    margin: 40px auto;
    display: block;
    top: initial;
    left: initial;
    transform: initial;
}

.testEntry .marigram30__listItem {
    display: block;
    margin: 0 auto 32px;
}

.testEntry .marigram30__listItem input {
    width: 100%;
    height: 40px;
    border-radius: 30px;
    border: 1px solid #aaa;
    padding: 0 0 0 16px;
    box-sizing: border-box;
}

.marigram30__label {
    box-sizing: border-box;
    height: 40px;
    line-height: 40px;
    border-radius: 30px;
    min-width: 80px;
    text-align: center;
    font-size: 12px;
    display: block;
    width: fit-content;
    background-color: red;
    color: #fff;
    border: none;
    padding: 0 16px;
    margin: 0 0 8px;
}

/*PC---------------------------------------------------------------------------*/

@media screen and (min-width: 960px) { 

    .header {
        margin: 0 auto 160px;
    }

    .testLP .header__wrapper {
        position: relative;
        width: 100%;
        max-width: 960px;
        margin: 0 auto;
        padding: 0;
    }

    .header__boxLeft {
        position: relative;
        width: 100%;
        padding: 80px 0 160px;
        margin: 0 auto;
    }

    /*
    .header__boxLeft::before {
        content: "私立X学園婚活科";
        display: block;
        margin: 0 auto;
        width: 420px;
        height: 140px;
        line-height: 140px;
        border-radius: 50px;
        font-weight: bold;
        text-align: center;
        color: #fff;
        border: solid 10px #000;
        box-shadow: 10px 10px #000;
        background-color: #E24242;
        font-size: 40px;
    }
    */

    .testLP .header__logo {
        display: flex;
        padding: 0;
        margin: 0 0 120px;
        width: 320px;
        height: 120px;
        align-items: center;
        background-color: transparent;
        }

    .testLP .header__logo--image {
        display: block;
        width: 100%;
        height: fit-content;
        padding: 0;
        box-sizing: border-box;
    }
    
    .testLP .header__subcopy {
        font-size: 20px;
        padding: 80px 0;
        box-sizing: border-box
    }
    
    .testLP .header__text {
        font-size: 24px;
        line-height: 48px;
        padding: 0;
        display: block;
        max-width: 800px;
        margin: 0 auto;
    }
/*
    .testLP .header__text::after {
        content: "";
        display: block;
        width: 800px;
        height: 800px;
        margin: 40px auto;
        background-image: url(../img/marigram30/mainItem.png);
        background-repeat: no-repeat;
    }

    .testLP .header__text::before {
        content: "個性豊かな生徒たち";
        display: block;
        position: absolute;
        bottom: 40px;
        margin: auto;
        left: 0;
        right: 0;
        text-align: center;
    }
    */
    
    
    .testLP .header__link {
        cursor: pointer;
        display: block;
        width: 320px;
        height: 64px;
        line-height: 64px;
        margin: 0 auto;
        text-decoration: none;
        text-align: center;
        border-radius: 30px;
        color: #fff;
        background-color: #EA3C79;
    }

    .subVisual {
        position: absolute;
        display: block;
        max-width: 800px;
        bottom: -240px;
        right: 0;
        left: 0;
        margin: auto;
        z-index: 10;
    }

    .mainLogo {
        position: absolute;
        width: 480px;
        top: 360px;
        left: -120px
    }

    .testLPIntro__image--01 {
        position: relative;
        transform: translateY(-120px);
        display: block;
        margin: 0 auto;
    }

    .testLPIntro {
        position: relative;
        width: 100%;
        max-width: 800px;
        margin: 0 auto;
        padding: 240px 0 0;
        box-sizing: border-box;
    }
    
    .testLPIntro::before {
        content: "";
        position: absolute;
        display: block;
        top: -40px;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        min-height: 320px;
        background-image: url(../img/marigram30/ttl_img.png);
        background-size: contain;
        background-repeat: no-repeat;
    }

    .testLPIntro__text {
        position: relative;
        display: block;
        max-width: 800px;
        padding: 0 0 80px;
        margin: 0 auto;
        font-size: 24px;
        line-height: 48px;
        font-weight: bold;
    }

    .testLPIntro__image.testLPIntro__image--02 {
        display: block;
        margin: 0 auto;
    }

    .testLP__link {
        position: relative;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 80px auto;
        width: 420px;
        height: 140px;
        line-height: initial;
        border-radius: 50px;
        font-weight: bold;
        color: #fff;
        border: solid 10px #000;
        box-shadow: 10px 10px #000;
        font-size: 40px;
        background-color: green;
    }

    .testLP__link__br {
        display: block;
    }



    .testLP__link:hover {
        transform: translate(10px,10px);
        color: green;
        box-shadow: none;
        background-color: #fff;
    }

    .testLPIntro__notice {
        display: block;
        text-align: center;
        margin: 24px auto 120px;
    }

/*  testEntry ------------------------*/
.testEntry .mainLogo {
    position: relative;
    margin: 40px auto;
    display: block;
    top: initial;
    left: initial;
    transform: initial;
}

.testEntry .marigram30__listItem {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    height: 40px;
    margin: 0 auto 16px;
}

.testEntry .marigram30__listItem input {
    width: fit-content;
    min-width: 480px;
    height: 40px;
    border-radius: 30px;
    padding: 0 0 0 16px;
    box-sizing: border-box;
}

.marigram30__label {
    box-sizing: border-box;
    height: 40px;
    line-height: 40px;
    border-radius: 30px;
    min-width: 200px;
    text-align: center;
    font-size: 14px;
}

.marigram30__form {
    max-width: 800px;
    margin: 120px auto;
}


}


