/* Theme Name: WithComi */


@media only screen and (max-width: 450px) {

body {
    font-family: "Century Gothic", sans-serif;
    background-color: #fff;
}

a {
    color: black;
}

main {
    overflow: hidden;
    max-width: 450px;
}

/*     reCAPTCHA非表示 */
.grecaptcha-badge {
    visibility: hidden;
}
/*     reCAPTCHA非表示 */

.logo_pc {
    display: none;
}

@keyframes fadeIn {
    0% {opacity: 0} /* 始め */
    100% {opacity: 0.8} /* 終わり */
}

.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 0.8s;
    &.fadein-left{
        transform: translate(-30px,0);
    }
    &.fadein-right{
        transform: translate(30px,0);
    }
    &.fadein-up{
        transform: translate(0,-30px);
    }
    &.fadein-bottom{
        transform: translate(0,30px);
    }
    &.scrollin{
        opacity: 1 !important;
        transform: translate(0, 0) !important;
    }
}



.reflection{
    display:inline-block;
    position:relative;
    overflow:hidden;
}

.reflection:after {
    content:"";
    height:100%;
    width:30px;
    position:absolute;
    top:-180px;
    left:0;
    background-color: #fff;
    opacity:0;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflection 2s ease-in-out infinite;
}

@keyframes reflection {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.shake01 {
    animation-name: shake01;
    animation-duration:3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.button_gr {
    position: absolute;
    left: 10%;
    bottom: 3%;
    width: 79%;
}

.button_wh {
    position: absolute;
    left: 10%;
    bottom: 5%;
    width: 79%;
}


@keyframes shake01{
    from{
        transform: none;
    }

    10% {transform: translate3d(1%, 0, 0);
    }
    20% {transform: translate3d(-1%, 0, 0);
    }
    30% {transform: translate3d(1%, 0, 0);
    }
    40% {transform: translate3d(0, 0, 0);
    }
    50% {transform: translate3d(0, 0, 0);
    }
    60% {transform: translate3d(0, 0, 0);
    }
    70% {transform: translate3d(0, 0, 0);
    }
    80% {transform: translate3d(0, 0, 0);
    }
    90% {transform: translate3d(0, 0, 0);
    }
    99% {transform: translate3d(0, 0, 0);
    }
    to { transform: none;
    }
}




img {
    width: 100%;
    height: auto;
    display: block;
}

.anchor {
    padding-top: 70px;
    margin-top: 70px;
}

#countdownArea {
    position: fixed;
    z-index:9999;
    top: 0;
    width: 100%;
    height: 50px;
    color: #3a3937;
    background-color: #b8e8d7;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 10px;
}

.countdown-text1 {
    display: block;
    font-size: 12px;
    line-height: 40px;
}

.countdown-text2 {
    display: block;
    font-size: 20px;
    background-color: #FFF;
    color: #3A3937;
    line-height: 36px;
    padding: 0 0.5%;
    margin: 0 0.5%;
}


.sankaku {
    width: 100%;
    height: auto;
    display: block;
    margin: 0px auto;
}

.flex_nav_top {
    display: flex;
    justify-content: space-between;
    position: fixed;
    z-index: 1000;
    width: 100%;
    background-color: #fff;
}

.logo_size_sp {
    width: 47px;
    margin: 14px 0px 14px 12px;
    z-index: 100;
    display: block;
}

.logo_size_pc {
    display: none;
}

.nav_top {
    display: none;
}

.logo_size_sp_qa {
    width: 60px;
    margin: 10px 0px 10px 20px;
}

/* ハンバーガーメニューここから */

#nav-drawer {
    position: relative;
    right: 15px;
    width: 55px;
}

.nav-unshown {
    display:none;
}

#nav-open {
    vertical-align: middle;
    height: 65px;
    width: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s ease-in-out;
}

#nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 3px;
    width: 38px;
    border-radius: 2px;
    background: #7dccb8;
    display: block;
    content: '';
    cursor: pointer;
    margin-right: 5px;
}

#nav-open span:before {
    bottom: 12px;
}
#nav-open span:after {
    bottom: -12px;
}

@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 0.9;
    }
}

#nav-close {
    display: none;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    transition: .3s ease-in-out;
}

#nav-content {
    overflow: auto;
    position: fixed;
    top: 50px;
    right: -25px;
    z-index: 8000;
    width: 275px;
    background: #fff;
    transition: .3s ease-in-out;
    display: none;
    opacity: 0.95;
}

#nav-content_pc {
    display: none;
}

#nav-input:checked + #nav-open span{
    transform: rotate(135deg);
    transition: .3s ease-in-out;
    z-index: 9999;
}

#nav-input:checked + #nav-open span:before {
    transform: translateY(12px) translateX(0px) rotate(-272deg);
    transition: .3s ease-in-out;
}

#nav-input:checked + #nav-open span:after {
    opacity: 0;
}

#nav-input:checked ~ #nav-content {
    display: block;
    animation: show .3s linear 0s;
    transition: .3s ease-in-out;
    box-shadow: 0px 4px 6px 0px rgba(0,0,0,0.2);
    top: 70px;
    width: 380px;
    height: 100vh;
    padding-top: 50px;
    right: 0;
}

.menu {
    display: block;
    width: 100%;
    height: 65px;
    box-sizing: border-box;
    font-size: 20px;
    font-weight: 600;
}


.menu_img {
    width: 225px;
    height: auto;
    display: block;
    margin: 5px 0;
    margin-left: 11%;
}

.menu_of {
    display: block;
    box-sizing: border-box;
    font-size: 20px;
    font-weight: 600;
    margin: 0 auto;
}

.menu7 {
    position: absolute;
    bottom: 235px;
    width: 300px;
    margin: 0 auto;
    display: block;
    left: 38px;
}

.menu8 {
    position: absolute;
    bottom: 155px;
    width: 300px;
    margin: 0 auto;
    display: block;
    left: 38px;
}

.menu7_pc {
    display: none;
}

.menu8_pc {
    display: none;
}


.header2_sp {
    display: inline-block;
    width: 100%;
    height: 70px;
    border-bottom: 2px solid #FABE00;
    background-color: #FABE00;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header2_sp:hover {
    border-bottom: 4px solid #EEEEEE;
}

.header2_sp img {
    width: 100px;
    height: 46px;
}

/* ハンバーガーメニューここまで */




/* FV */


.fv {
    position: relative;
    padding-bottom: 32%;
}

.fv_img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0px 0;

}


.fv_down {
    width: 94%;
    height: auto;
    display: block;
    margin: 0 auto;
    margin-top: 15px;
}


.coupon_bg {
    position: relative;
    height: 483px;
    width: auto;
}

.coupon_bg_img {
    position: absolute;
    display: block;
    height: 483px;
}

.coupon1 {
    position: absolute;
    top: 10%;
    left: 28%;
    width: 45%;
    height: auto;
    display: block;
}

.coupon2 {
    position: absolute;
    width: 80%;
    top: 49%;
    left: 50%;
    height: auto;
    display: block;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}

.button_wh {
    position: absolute;
    bottom: 9%;
    width: 80%;
    left: 10%;
}


/* fv */



/* 悩み */

.nayami1 {
    display: block;
    width: 50%;
    padding-top: 12%;
    margin: 0 auto;
}

.nayami2 {
    display: block;
    width: 50%;
    margin: 0 auto;
    margin-top: 5%;
    z-index: 20;
}

.nayami3 {
    display: block;
    width: 59%;
    margin: 0 auto;
    margin-top: 7%;
}

.nayami_bg {
    position: relative;
    width: 100%;
    height: 770px;
}

.nayami_bg_img {
    position: absolute;
    display: block;
    width: 450px;
/* height: 770px; */
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
left: 50%;
top: 43%;
}

.nayami4 {
    position: absolute;
    display: block;
    width: 300px;
    top: 125px;
    right: 4%;
}

.nayami5 {
    position: absolute;
    display: block;
    width: 300px;
    top: 280px;
    left: 4%;
}

.nayami6 {
    position: absolute;
    display: block;
    width: 300px;
    bottom: 199px;
    right: 4%;
}

.nayami7 {
    position: absolute;
    display: block;
    width: 230px;
    bottom: 10%;
    left: 26%;
}

.nayami8 {
    display: block;
    width: 75%;
    margin: 0 auto;
}

.nayami9_bg {
    position: relative;
    width: 100%;
    height: 530px;
}

.nayami9_1_img {
    position: absolute;
    display: block;
    width: 450px;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    top: 49%;
    left: 50%;
}

.nayami9_1 {
    position: absolute;
    display: block;
    width: 66%;
    bottom: 43%;
    left: 17%;
}

.nayami9_2 {
    position: absolute;
    display: block;
    width: 77%;
    bottom: 3%;
    left: 12%;
}


/* 悩み */




/* 失敗 */

.error {
    width: 100%;
    padding-bottom: 10%;
}

.error1 {
    display: block;
    width: 100%;
    margin: 3% auto;
}

.error2 {
    width: 6%;
    margin: 3% auto 1% auto
}

.error3 {
    display: block;
    width: 100%;
    margin: 0% auto 12%
}

.error4 {
    display: block;
    width: 100%;
    margin: 3% auto;
}

.error5 {
    width: 6%;
    margin: 3% auto 1% auto

}

.error6 {
    display: block;
    width: 100%;
    margin: 0% auto 12%
}

.error7 {
    display: block;
    width: 100%;
    margin: 3% auto;
}

.error8 {
    width: 6%;
    margin: 3% auto 1% auto

}

.error9 {
    display: block;
    width: 100%;
    margin: 0% auto 12%
}

.error10 {
    display: block;
    width: 82%;
    margin: 17% auto 1% auto;
}

.error11 {
    display: block;
    width: 82%;
    margin: 3% auto 1% auto;
}

.error12 {
    display: block;
    width: 73%;
    margin: 3% auto 1% auto;
}


/* 失敗 */



/* 実績 */

.achievement_bg1 {
    position: relative;
    width: 100%;
}

.achievement_bg1_img {
    margin-bottom: 0;
}

.achievement1 {
    position: absolute;
    display: block;
    width: 56%;
    margin: 0 auto;
    top: 3.2%;
    left: 23%;
}

.achievement_bg2 {
    position: absolute;
    display: block;
    width: 90%;
    margin: 0 auto;
    top: 12%;
    left: 5%;
}

.achievement2 {
    position: absolute;
    display: block;
    width: 75%;
    margin: 0 auto;
    top: 4.9%;
    left: 13%;
}

.achievement3 {
    position: absolute;
    display: block;
    width: 75%;
    margin: 0 auto;
    top: 17%;
    left: 13%;
}

.achievement4 {
    position: absolute;
    display: block;
    width: 75%;
    margin: 0 auto;
    top: 29.1%;
    left: 13%;
}

.achievement5 {
    position: absolute;
    display: block;
    width: 86%;
    margin: 0 auto;
    bottom: 4.9%;
    left: 7%;
}

.achievement6 {
    position: absolute;
    display: block;
    width: 88%;
    margin: 0 auto;
    bottom: 3.5%;
    left: 6%;
}

.achievement7 {
    position: relative;
    width: 100%;
}

.achievement7_img {
    width: 100%;
    display: block;
    margin: 0 auto;
}

.achievement8_button_gr {
    position: absolute;
    left: 10%;
    bottom: 11%;
    width: 79%;
}

/* 実績 */




/* 5つの特徴 */

.features_bg1 {
    position: relative;
    width: 100%;
}

.features_bg1_img {
    margin: 0;
}

.features1 {
    position: absolute;
    display: block;
    width: 56%;
    margin: 0 auto;
    top: 3.9%;
    left: 23%;
}

.features2 {
    position: absolute;
    display: block;
    width: 75%;
    margin: 0 auto;
    top: 14.5%;
    left: 13%;
}

.features3 {
    position: absolute;
    display: block;
    width: 75%;
    margin: 0 auto;
    top: 27.5%;
}

.features4 {
    position: absolute;
    display: block;
    width: 37%;
    margin: 0 auto;
    top: 30%;
    right: 5%;
}

.features5 {
    position: absolute;
    display: block;
    width: 66%;
    margin: 0 auto;
    top: 39%;
    right: 7%;
}

.features6 {
    position: absolute;
    display: block;
    width: 84%;
    margin: 0 auto;
    bottom: 38.7%;
    left: 8%;
}

.features7 {
    position: absolute;
    display: block;
    width: 70%;
    margin: 0 auto;
    bottom: 22%;
    right: 0%;
}

.features8 {
    position: absolute;
    display: block;
    width: 63%;
    margin: 0 auto;
    bottom: 27.6%;
    left: 6%;
}

.features9 {
    position: absolute;
    display: block;
    width: 69%;
    margin: 0 auto;
    bottom: 14.3%;
    left: 7.3%;
}

.features10 {
    position: absolute;
    display: block;
    width: 84%;
    margin: 0 auto;
    bottom: 2.2%;
    left: 8%;
}



.features_bg2 {
    position: relative;
    width: 100%;
}

.features_bg2_img {
    margin: 0;
}

.features11 {
    position: absolute;
    display: block;
    width: 82%;
    margin: 0 auto;
    top: 2%;
    left: 11%;
}

.features12 {
    position: absolute;
    display: block;
    width: 77%;
    margin: 0 auto;
    top: 10.5%;
}

.features13 {
    position: absolute;
    display: block;
    width: 84%;
    margin: 0 auto;
    top: 22.5%;
    left: 8%;
}

.features14 {
    position: absolute;
    display: block;
    width: 82%;
    margin: 0 auto;
    bottom: 56%;
    left: 10%;
}

.features15 {
    position: absolute;
    display: block;
    width: 75%;
    margin: 0 auto;
    bottom: 45.5%;
    right: 0%;
}

.features16 {
    position: absolute;
    display: block;
    width: 62%;
    margin: 0 auto;
    bottom: 30.3%;
    left: 19%;
}

.features17 {
    position: absolute;
    display: block;
    width: 62%;
    margin: 0 auto;
    bottom: 19.3%;
    left: 19%;
}

.features18 {
    position: absolute;
    display: block;
    width: 62%;
    margin: 0 auto;
    bottom: 2.6%;
    left: 19%;
}


.features_bg3 {
    position: relative;
    width: 100%;
}

.features_bg3_img {
    margin: 0;
}

.features19 {
    position: absolute;
    display: block;
    width: 86%;
    margin: 0 auto;
    top: 0.9%;
    left: 8.7%;
}

.features20 {
    position: absolute;
    display: block;
    width: 80%;
    margin: 0 auto;
    top: 10%;
}

.features21 {
    position: absolute;
    display: block;
    width: 75%;
    margin: 0 auto;
    top: 25.5%;
    left: 13%;
}

.features22 {
    position: absolute;
    display: block;
    width: 75%;
    margin: 0 auto;
    top: 34.5%;
    left: 13%;
}

.features23 {
    position: absolute;
    display: block;
    width: 69%;
    margin: 0 auto;
    bottom: 37%;
    left: 15%;
}

.features24 {
    position: absolute;
    display: block;
    width: 77%;
    margin: 0 auto;
    bottom: 32%;
    left: 11%;
}

.features25 {
    position: absolute;
    display: block;
    width: 75%;
    margin: 0 auto;
    bottom: 2%;
    left: 12%;
}


.features_bg4 {
    position: relative;
    width: 100%;
}

.features_bg4_img {
    margin: 0;
}

.features26 {
    position: absolute;
    display: block;
    width: 85%;
    margin: 0 auto;
    top: 1.7%;
    left: 7.4%;
}

.features27 {
    position: absolute;
    display: block;
    width: 75%;
    margin: 0 auto;
    top: 12.9%;
    left: 13%;
}

.features28 {
    z-index: 0;
    position: absolute;
    display: block;
    width: 76.5%;
    margin: 0 auto;
    top: 35.2%;
    left: 10%;
}

.features29 {
    position: absolute;
    display: block;
    width: 80%;
    margin: 0 auto;
    top: 32.9%;
    left: 11%;
}

.features30 {
    position: absolute;
    width: 100%;
    display: block;
    margin: 0 auto;
    bottom: 0;
    left: 0;
}

.features30_button_gr {
    position: absolute;
    left: 10%;
    bottom: 3.5%;
    width: 79%;
}


/* 5つの特徴 */




/* お客様の声 */

.slick {
    width: 89%;
    margin: 0 auto;
}

.voice1 {
    display: block;
    margin: 15% auto 4% auto;
    width: 35%;
}

.slider_img {
    width: 300px;
    margin: 0 10px;
}

.slick-dots li.slick-active button:before {
    color: #7DCCB8;
    font-size: 12px!important;
}

.slick-dots {
    bottom: -40px!important;
}

/* お客様の声 */



/* 料金プラン */

.price1 {
    display: block;
    width: 32%;
    margin: 110px auto 20px;
}

.price2 {
    display: block;
    margin: 0 auto;
}


.price3 {
    width: 27%;
    margin: 13% auto 2% auto;
}

.price4 {
    display: flex;
    overflow-x: scroll;
}

.price4::-webkit-scrollbar{
    display: none;
}

.price5 {
    display: block;
    width: 41%;
    margin: 0 auto;
    margin-bottom: 15%;
}

.price4 img {
    width: 200%;
    margin-bottom: 0;
}


/* 料金プラン */




/* カウンセリング */

.counseling_bg {
    position: relative;
    width: 100%;
}

.counseling1_img {
    margin: 0;
}

.counseling1 {
    position: absolute;
    display: block;
    width: 80%;
    margin: 0 auto;
    top: 1.6%;
    left: 11%;
}

.counseling2 {
    position: absolute;
    display: block;
    width: 67%;
    margin: 0 auto;
    top: 5.6%;
    left: 19%;
}

.counseling3 {
    position: absolute;
    display: block;
    width: 82.5%;
    margin: 0 auto;
    top: 12.2%;
    left: 9.3%;
}

.counseling4 {
    position: absolute;
    display: block;
    width: 80%;
    margin: 0 auto;
    top: 25.9%;
    left: 10%;
}

.counseling5 {
    position: absolute;
    width: 19%;
    display: block;
    margin: 0 auto;
    bottom: 27%;
    left: 41%;
}

.counseling6 {
    position: absolute;
    width: 86%;
    display: block;
    margin: 0 auto;
    bottom: 8.5%;
    left: 10%;
}

.counseling7_button_wh {
    position: absolute;
    left: 10.3%;
    bottom: 2.2%;
    width: 79%;
}


/* カウンセリング */




/* よくある質問 */

.qa {
    display: block;
    margin: 15% auto 12% auto;
    width: 80%;
}

.qa_bt {
    width: 52%;
    height: auto;
    display: block;
    margin: 15px auto;
    margin-bottom: 12%;
}

/* よくある質問 */




/* フッター */


footer {
    padding: 20px 20px 20px 20px;
    background-color: #f3f3f3;
}

.res {
    display: flex;
    justify-content: center;
}

.logo_size_sp2 {
    width: 100px;
    margin: 9px 0px 10px 0;
}

.res_w {
    display: block;
    margin: 17px;
    font-size: 13px;
    color: black;
}

.copyright {
    width: 100%;
    height: 50px;
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.copyright p {
    display: inline-block;
    color: #080808;
    font-size: 12px;
}


/* フッター */


/* ------------------------------ */


/* 購入ページ */


.buy {
    position: relative;
}

.buy .buy_all {
    width: 100%;
    height: auto;
    display: block;
    margin: 0px 0;
}

.gtm_link_fv {
    width: 70%;
    margin: 30px auto;
    padding-bottom: 20px;
}

/* 購入ページ */


/* ------------------------------ */


/* Q&A */


#qa_1 {
    width: 100%;
    height: 65px;
}

#qa_2 {
    width: 100%;
    height: 65px;
}

#qa_3 {
    width: 100%;
    height: 65px;
}

#qa_4 {
    width: 100%;
    height: 65px;
}

#qa_5 {
    width: 100%;
    height: 65px;
}

#qa_6 {
    width: 100%;
    height: 65px;
}

#qa_7 {
    width: 100%;
    height: 65px;
}

#qa_8 {
    width: 100%;
    height: 65px;
}

#qa_9 {
    width: 100%;
    height: 65px;
}

#qa_10 {
    width: 100%;
    height: 65px;
}

#qa_11 {
    width: 100%;
    height: 65px;
}

.qa_main {
    margin: 0 auto;
    padding-top: 100px;
    padding-bottom: 65px;
}

.QA-wrapper {
    padding-top: 20px;
}

.QA {
    width: 100%;
    max-width: 1000px;
    padding-bottom: 30px;
    text-align: left;
    z-index: 999;
    padding: 0px 20px 0px 20px;
}

.QA h2 {
    font-size: 20px;
    font-weight: bold;
    border-left: 7px solid black;
    padding-top: 7px;
    padding-bottom: 7px;
    padding-left: 10px;
    margin-bottom: 33px;
}

.qa_tx {
    padding-bottom: 32px;
}

.QA-header {
    margin-top: 10px;
}

/* .QA-section {
padding: 10px 0 10px 0;
} */

.QA-sublist {
    list-style: decimal inside;
    padding: 10px 20px;
}

.QA-update {
    text-align: right;
}

.QA-section-title{
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 4px;
    margin-bottom: 40px;
    border-bottom: 2px solid #000;
}

.QA-section-subtitle{
    font-size: 14px;
    font-weight: bold;
}

.qa_back {
    text-align: center;
    display: block;
    padding-top: 33px;
    color: black;
}

/* Q&A */



/* 新規登録 */


#username {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#first_name {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#last_name {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#billing_address_1 {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#billing_address_2 {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#billing_city {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#billing_state {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#billing_postcode {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#billing_country {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#billing_phone {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#user_email {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#username {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#username {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

#username {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}


/* 新規登録 */





/* 受講生ログインページ */

.student {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.fv_student {
    width: 100%;
    height: auto;
    margin-bottom: 35px;
}

.login {
    display: none;
    margin: 0 auto;
    text-align: center;
    padding: 70px 0;
    font-size: 14px;
    background-color: #fbfbfb;
    margin: 0px auto 100px;
    width: 390px;
}

.login ul li a {
    display: block;
    margin: 30px auto;
}

.wpmem_login {
    display: block;
    margin: 0 auto;
    text-align: center;
    padding: 50px;
}

#wpmem_reg {
    padding-top: 100px;
}

legend {
    font-size:0;
}

label {
    display: block;
    margin: 28px auto 10px;
    width: 245px;
    text-align: left;
}

.username {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

.username:focus {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

.username:valid {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

.password {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

.password:focus {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

.password:valid {
    width: 245px;
    height: 33px;
    background-color: #FFF !important;
    border: 1px solid;
    border-radius: 3px;
}

.button_div {
    display: flex;
    width: 245px;
    flex-direction: row;
    margin: 0px auto;
    flex-wrap: wrap;
    align-items: center;
}

.button_div label {
    display: block;
    margin: 20px auto 10px;
    width: 200px;
    text-align: left;
}

#rememberme {
    margin: 11px auto 0;
}

.buttons {
    width: 245px;
    height: 39px;
    margin: 30px auto;
    background-color: #75c2b2;
    border: solid 0px;
    border-radius: 3px;
    font-weight: bold;
    color: white;
    font-size: 13px;
}

.link-text-forgot {
    display: block;
    margin: 74px auto 10px;
}

.link-text {
    display: block;
    margin: 10px auto;
    font-size: 13px;
}

/* 受講生ログインページ */



/* 受講者専用ページ */

.student_nav {
    display: flex;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 400px;
}

.student_bt {
    width: 160px;
    margin: 15px 10px;
}

.student_content {
    display: flex;
    margin: 25px auto 70px auto;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 400px;
}

.student_content_bt {
    max-width: 347px;
    margin-top: 25px;
}


/* 受講者専用ページ 勉強コンテンツ */


.student_study_content {
    display: block;
    margin: 30px auto;
    padding: 0 15px;
}

.student_study_content2 {
    display: block;
    margin: 3%;
}

.student_study_content2 p {
    margin-bottom: 5px;
}

.comment {
    line-height: 25px;
}

.title {
    position: relative;
    overflow: hidden;
    padding: 19px 27px 18px 127px;
    border: 2px solid #000;
    font-style: italic;
    display: inline-block;
    margin: 33px 0;
    transform: scale(0.8);
    top: 0;
    left: -30px;
}

.title::before {
    position: absolute;
    top: -150%;
    left: -100px;
    width: 200px;
    height: 300%;
    content: '';
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
    background: #000;
}

.title p {
    margin-bottom: 5px;
}

.title span {
    font-size: 31px;
    position: absolute;
    z-index: 1;
    top: 10px;
    left: 22px;
    display: block;
    color: #fff;
}

.banner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.student_study_content2 .banner_title {
    position: relative;
    display: inline-block;
    margin-top: 95px;
    margin-bottom: 4em;
    font-size: 22px;
    transform: translateX(-50%);
    left: 50%;
    font-weight: 600;
}

.banner_title:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 60px;
    height: 3px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: black;
    border-radius: 2px;
}

.banner_list {
    width: 100%;
    min-width: 420px;
}

.banner_t {
    margin-top: 10px;
}

.text_dl {
    display: table;
    color: black;
    font-style: italic;
    margin: 20px 0;
    margin-bottom: 43px;
}

.text_dl span {
    border-bottom: 1px solid;
}

.student_move {
    margin-bottom: 85px;
    height: auto;
}

.responsive {
    width: 100%;
    /* aspect-ratio: 16/9; */
}

.responsive2 {
    width: 100%;
    margin-bottom: 20px;
}

.responsive3 {
    width: 100%;
    margin-bottom: 20px;
}

.video16x9{
  width: 100%;
  aspect-ratio: 16 / 9;
}

.studentsonly_back {
    display: block;
    color: black;
    font-style: italic;
    margin-bottom: 43px;
    text-align: center;
    width: 112px;
    margin: 0 auto;
}

.studentsonly_back span {
    display: inline-block;
    border-bottom: solid 1px;
}


/* 受講者専用ページ 勉強コンテンツ */


/* 受講者専用ページ */


}
