@charset "utf-8";

/* CSS Document */

body {
    color: #000;
    font-size: 15px;
    line-height: 160%;
    font-feature-settings: "palt";
    /* font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; */
    font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

* {
    box-sizing: border-box;
}

picture {
    display: block;
}

picture img {
    width: 100%;
}


/*--------------------------
 main
------------------------- */

h1#mv {
    /* margin: 0;
    max-height: 750px;
    text-align: center;
    background: #82050c url(../img/main_bg.jpg)center top no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 0 0;
    position: relative; */
}

h1#mv::before {
    /* content: "";
    display: block;
    width: 100%;
    height: 250px;
    background: url(../img/main_bgtop.png)center top repeat-x;
    background-size: contain;
    position: absolute;
    top: 0; */
}

h1#mv::after {
    /* content: "";
    display: block;
    width: 100%;
    height: 180px;
    background: url(../img/main_bgbottom.png)center bottom repeat-x;
    background-size: contain;
    position: absolute;
    bottom: 0; */
}

h1#mv img {
    /* max-width: none; */
}

h1#mv .mv_box {
    padding-bottom: 80px;
    width: 100%;
    position: relative;
}

h1#mv .mv_box picture {
    max-width: 743px;
    margin: auto;
    transform: translateY(5%);
    display: block;
}

.mv__inrtop {
    background: url(../../prrb36r/img/mv_bg.jpg)no-repeat;
    background-size: 100%;
}
.mv__inrtop img {
    max-width: 1200px;
    margin: 0 auto;
    display: block;
}
.mv__inrbtm {
    background: url(../../prrb36r/img/mv_subttl_bg.jpg)no-repeat;
    background-size: 100%;
    background-position: center;
    padding: 15px 0;
}
.mv__inrbtm img {
    max-width: 770px;
    margin: 0 auto;
    display: block;
}


/*--------------------------
 nav
------------------------- */


/*--------------------------
 intro
------------------------- */

.coupon_flow {
    margin: 0 auto 30px;
    display: flex;
    justify-content: center;
    text-align: center;
    max-width: 1200px;
}

.cp_flow_ttl {
    color: #000;
    font-size: 2.8rem;
    padding-bottom: 30px;
}

.flow_1st_img {
    z-index: 1;
}

.cp_flow_last {
    background: #bc2222;
    clip-path: polygon(0% 0%, 90% 0, 100% 50%, 90% 100%, 0% 100%);
    max-width: 310px;
    width: 100%;
    margin-left: -40px;
    margin-bottom: 0;
    margin-top: auto;
    z-index: 0;
    padding: 5px 20px 10px;
    color: #fff;
}

.flow_last_ttl {
    max-width: 180px;
    margin: 0 auto 8px;
}

a.flow_last_btn {
    display: inline-block;
    font-size: 1.5rem;
    color: #bc2222;
    background: #fff;
    line-height: 1.1;
    padding: 5px 10px 5px 20px;
    text-decoration: none;
    border-radius: 20px;
    position: relative;
    font-weight: bold;
    box-shadow: 0 3px 0 #460000;
}

a.flow_last_btn::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background: url(../img/icon_btn-arrow_transparent02.png) no-repeat;
    background-size: 100%;
    position: absolute;
    top: calc(50% - 6px);
    left: 5px;
}

.view__pc_flex {
    display: flex !important;
}

.view__sp_flex {
    display: none !important;
}


/*--------------------------
 course
------------------------- */

#study #courselist {
    background: #E8CDB3;
    background-size: 100% 560px;
    padding: 80px 0 100px 0;
    margin: 0;
}

#study .course_body {
    max-width: 1200px;
    width: 100%;
    margin: auto;
}

#study #courselist .ttl h2 {
    max-width: 730px;
    margin: 30px auto;
    text-align: center;
}

#study #courselist .ttl p {
    font-size: 24px;
    line-height: 160%;
}


/* -- 絞り込み -- */

.check_list .check_list_box {
    padding: 20px 0 20px;
}

.check_list .check_list_box:first-of-type {
    padding: 0 0 20px;
    border-top: none;
}

.check_list .check_list_box:last-of-type {
    padding-bottom: 0;
}

.check_body .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 1.0s;
}

.check_body input:checked~.hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}

button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    box-sizing: border-box;
    text-decoration: none;
    background: none;
}

.check_body .check_btn_sh {
    width: 260px;
    cursor: pointer;
    /* width: 80%;
    background: #C92A22 url("../img/icon_btn-arrow_transparent01.png") no-repeat center left 30px;
    background-size: 20px;
    border-radius: 30px;
    padding: 10px 20px 10px 40px;
    font-size: 20px;
    color: #fff;
    box-shadow: 0 4px 0 #fff; */
}

.check_list label {
    display: block;
    width: 100%;
}

#study #courselist .ttl {
    margin: 30px auto;
    text-align: center;
}


/* tab */

#study #course_list {
    margin-top: -90px;
    padding-top: 90px;
}

#study .check_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 1000px;
    margin: 0 auto 15px auto;
}

#study .check_list h2 {
    width: 380px;
    margin: 50px auto -20px;
}


#study .lists_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 1000px;
    margin: 0 auto 15px auto;
    background: url(../img/course_cat.png) no-repeat 50% 15px,
}

#study .lists_btn .tabLabel {
    margin: 50px 0.25% 5px 0.25%;
    padding: 8px 0 8px 0;
    order: -1;
    border-radius: 5px;
    transition: .5s;
    cursor: pointer;
    width: 12%;
    font-size: 16px;
    font-weight: bold;
    line-height: 130%;
    letter-spacing: 0;
    border: 1px solid #ef4d6a;
    color: #ef4d6a;
    text-align: center;
    background: #FFF;
    box-shadow: 0 2px 1px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#study .cat_new .lists_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 1000px;
    margin: 0 auto 15px auto;
    background: url("../img/course_pick-pc.png") no-repeat 50% 15px;
}

#study .cat_new .lists_btn .tabLabel.off50,
#study .cat_new .lists_btn .tabLabel.new {
    width: 20%;
    text-align: center;
    text-decoration: none;
}

#study .lists_btn .tabLabel.mental {
    border: 1px solid #6cc227;
    color: #6cc227;
    padding: 12px 0 12px 0;
}

#study .lists_btn .tabLabel.health {
    border: 1px solid #938dcc;
    color: #938dcc;
    padding: 12px 0 12px 0;
}

#study .lists_btn .tabLabel.food {
    border: 1px solid #e89a00;
    color: #e89a00;
    padding: 12px 0 12px 0;
}

#study .lists_btn .tabLabel.medical {
    border: 1px solid #32aabc;
    color: #32aabc;
    padding: 12px 0 12px 0;
}

#study .lists_btn .tabLabel.childcare {
    border: 1px solid #ff6347;
    color: #ff6347;
    padding: 12px 0 12px 0;
}

#study .lists_btn .tabLabel.business {
    border: 1px solid #94c700;
    color: #94c700;
    padding: 12px 0 12px 0;
}

#study .lists_btn .tabLabel.pet {
    border: 1px solid #c29f37;
    color: #c29f37;
    padding: 12px 0 12px 0;
}

#study .lists_btn .tabLabel.lang {
    border: 1px solid #5b9cd2;
    color: #5b9cd2;
    padding: 12px 0 12px 0;
}

#study .lists_btn .tabLabel.spiritual {
    border: 1px solid #c076b0;
    color: #c076b0;
    padding: 12px 0 12px 0;
}

#study .lists_btn .tabLabel:nth-last-of-type(1) {
    margin-right: 0;
}

#study .lists_btn input {
    display: none;
}

#study .lists_btn .content {
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
}

#study .lists_btn input:checked+.tabLabel {
    color: #fff;
    background: #ef4d6a;
    box-shadow: none;
}

#study .lists_btn input:checked+.tabLabel.mental {
    background: #6cc227;
}

#study .lists_btn input:checked+.tabLabel.health {
    background: #938dcc;
}

#study .lists_btn input:checked+.tabLabel.food {
    background: #e89a00;
}

#study .lists_btn input:checked+.tabLabel.medical {
    background: #32aabc;
}

#study .lists_btn input:checked+.tabLabel.childcare {
    background: #ff6347;
}

#study .lists_btn input:checked+.tabLabel.business {
    background: #94c700;
}

#study .lists_btn input:checked+.tabLabel.pet {
    background: #c29f37;
}

#study .lists_btn input:checked+.tabLabel.lang {
    background: #5b9cd2;
}

#study .lists_btn input:checked+.tabLabel.spiritual {
    background: #c076b0;
}

#study .lists_btn input:checked+.tabLabel+.content {
    height: auto;
    overflow: auto;
    transition: .3s opacity;
    opacity: 1;
    background: #faf5c2;
    border-radius: 10px;
    padding: 20px 20px 30px 20px;
    margin-top: 30px;
}


/* course_lists */

.course_list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
    margin-right: -20px;
    max-width: 1200px;
    width: 100%;
}

.course_list .category_box {
    width: 100%;
}

.course_all-box,
[class^="course_box_category"] {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.course_all-box .osusume {
    display: none !important;
}

.course_list_item {
    background: #fff;
    width: calc(100% / 4 - 20px);
    margin-right: 20px;
    margin-bottom: 40px;
    position: relative;
    border: 2px solid #A47C52;
}

.category_box .tokushu_txt {
    margin: 15px auto 30px;
    font-size: 20px;
    line-height: 160%;
    text-align: center;
}

.target {
    position: absolute;
    opacity: 0;
    height: 0;
    padding: 0;
    overflow: hidden;
}


/* 講座枠 */

.course_list_item img {
    width: 100%;
    line-height: 0;
}

.course_box figure {
    position: relative;
    line-height: 0;
}


.course_box .course_box_txt {
    display: none;
    margin: 3px 0 5px;
    padding: 5px 10px;
    background-size: 16px;
    font-size: 15px;
    line-height: 1.5;
    min-height: 56px;
}

.course_box .course_box_ttl {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
}

.course_box .course_box_price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 10px 18px;
    color: #000;
    line-height: 1;
    font-size: 18px;
}

.course_box .course_price {
    padding: 5px 0 5px 5px;
    color: #E6340C;
    line-height: 1;
    width: 68%;
}

.course_box .course_price em {
    font-size: 38px;
    /* font-size: 40px; */
    font-weight: bold;
    display: inline-flex;
}

.course_box .course_price span.price_small {
    display: inline-flex;
    flex-direction: column-reverse;
    line-height: 1;
}

.course_box .course_price span.price_small span:nth-of-type(1) {
    font-size: 70%;
}

.course_box .course_price span.price_small span:nth-of-type(2) {
    font-size: 25%;
    /* font-size: 30%; */
}

.course_box .course_imanara {
    max-width: 80px;
    width: 31%;
}

.course_box .course_imanara img {
    width: 100%;
}

.course_box .btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.course_box .btn a.application {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    height: 50px;
    margin-bottom: 10px;
    background: #ff0000 url("../img/icon_btn-arrow_transparent01.png") no-repeat center left 8px;
    background-size: 16px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    box-shadow: 0 3px 0 #9e0000;
    border-radius: 5px;
    transition: .3s;
    padding-left: 20px;
}

.course_box .btn a.line_touroku {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    height: 50px;
    margin-bottom: 10px;
    background: #00b400 url("../img/icon_btn-arrow_transparent01.png") no-repeat center left 10px;
    background-size: 20px;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 1px;
    box-shadow: 0 3px 0 #0b510b;
    border-radius: 5px;
    transition: .3s;
}

.course_box .btn a.info {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    height: 40px;
    margin-bottom: 20px;
    background: #fff url("../img/icon_btn-arrow_transparent02.png") no-repeat center left 21%;
    background-size: 16px;
    font-size: 15px;
    letter-spacing: 1px;
    transition: .3s;
    padding-left: 1vw;
   
}

.hidden_off {
    display: none;
}

.hidden_show {
    display: block;
}

.course_box .course_nomalprice {
    display: block;
    text-align: center;
    width: 100%;
    font-size: 16px;
    padding: 5px 0;
    letter-spacing: -1px;
    font-feature-settings: "palt";
}
.course_box .course_nomalprice span{
   font-size: 1rem;
}

.course_box figcaption {
    /* position: relative;
    line-height: 0; */
}

.course_box figure figcaption .course_off {
    position: absolute;
    bottom: 0;
    left: 0;
    /* width: 90%;
    margin: 10px auto 0; */
    background: #ffe33f;
    font-size: 18px;
    color: #ff0000;
    text-align: center;
    line-height: 1;
    display: block;
    padding: 5px 10px;
    font-weight: bold;
    /* border-radius: 50px; */
}

.course_box figure figcaption .course_off em {
    font-size: 130%;
}


/*--------------------------
 contact
------------------------- */

#study #consultation .ttl .worry {
    width: 90%;
    max-width: 760px;
    margin: auto;
    padding: 100px 0 0 0;
    text-align: center;
}

#study #consultation .consultation_list {
    max-width: 1000px;
    width: 100%;
    margin: 60px auto;
}

#study #consultation .consultation_list ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 50px 60px 50px;
    padding: 0;
    list-style: none;
}

#study #consultation .consultation_list ul li {
    width: 48%;
    background: #EEEEEE;
    border-radius: 10px;
    margin-bottom: 30px;
}

#study #consultation .consultation_list ul li h3 {
    text-align: center;
    padding: 15px 0 10px 0;
    border-radius: 10px 10px 0 0;
}

#study #consultation .consultation_list ul li.tel h3 {
    background: #409B83;
}

#study #consultation .consultation_list ul li.line h3 {
    background: #00B900;
}

#study #consultation .consultation_list ul li.chat h3 {
    background: #309AB7;
}

#study #consultation .consultation_list ul li.mail h3 {
    background: #394D8E;
}

#study #consultation .consultation_list ul li .txt {
    padding: 25px;
}

#study #consultation .consultation_list ul li .txt h4 {
    font-size: 16px;
}

#study #consultation .consultation_list ul li .txt h4 small {
    font-size: 14px;
    font-weight: lighter;
}

#study #consultation .consultation_list ul li a {
    background: url("../img/btn_consultation.png") no-repeat 0 50%;
    padding: 0 0 0 30px;
    color: #E6340C;
    font-size: 22px;
    font-weight: bold;
    display: block;
    margin-top: 10px;
    text-decoration: underline;
}

@media (min-width: 751px) {
    a[href^="tel:"] {
        pointer-events: none;
        cursor: default;
    }
}


/*--------------------------
 about
------------------------- */

#study #cam {
    max-width: 1000px;
    width: 100%;
    margin: 100px auto;
    padding: 60px;
    border: 2px solid #e8340c;
}

#study #cam h2 {
    color: #e8340c;
    text-align: center;
    margin-bottom: 20px;
    font-size: 38px;
    line-height: 160%;
}

#study #cam dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

#study #cam dl dt {
    width: 30%;
    margin: 0;
    padding: 10px;
    font-size: 18px;
    font-weight: bold;
    line-height: 160%;
    color: #e8340c;
    border-top: 1px solid #555;
}

#study #cam dl dd {
    width: 70%;
    margin: 0;
    padding: 10px;
    border-top: 1px solid #555;
}

#study #cam dl dt.bnone,
#study #cam dl dd.bnone {
    border: 0;
}


/*--------------------------  choose  ------------------------- */

.choose_box {
    max-width: 860px;
    width: 100%;
    margin: 90px auto 80px;
    padding: 0 10px 10px 10px;
    background: #fff;
    border: 2px #000 solid;
    border-radius: 10px;
}

.choose_box h3 {
    max-width: 500px;
    width: 100%;
    margin: -70px auto 20px auto;
}

.choose_box ul {
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    margin: 10px auto 10px auto;
    list-style-type: none;
}

.choose_box ul li {
    width: 48%;
    max-width: 360px;
    margin: 0 auto 20px auto;
}


/* linemenber */

#study .linemenber {
    position: fixed;
    bottom: 60px;
    left: auto;
    right: 0;
    margin: auto;
    z-index: 1000;
}

#study .linemenber a {
    display: block;
    width: 100%;
    text-decoration: none;
}

#study .linemenber a.btn_line {
    width: 60px;
}

#study .linemenber a:hover {
    opacity: 0.9;
}


/* search */

.search {
    visibility: hidden;
}

.visible {
    visibility: visible;
}

#study .search {
    position: fixed;
    top: 20px;
    left: auto;
    right: 20px;
    margin: auto;
    z-index: 1000;
}

#study .search a {
    display: block;
    width: 100%;
    text-decoration: none;
}

#study .search a.btn_search {
    width: 70px;
}

#study .search a.btn_coupon {
    background: #F46300;
    border-bottom: 5px solid #C94300;
}

#study .search a:hover {
    opacity: 0.9;
}

.coupon_line {
    margin: 0 auto;
    display: block;
    text-align: center;
    z-index: 5;
    position: relative;
}

.coupon_line h2 {
    width: 430px;
    /* width: -moz-fit-content;
    width: fit-content;
    margin: auto; */
    /* padding: 10px 10px 30px; */
    /* background: url(../img/line_coupon_top_bk.png) no-repeat center;
    background-size: contain; */
    /* margin-bottom: 30px; */
    margin: 0 auto 30px;
}

.coupon_line h2 img {
    width: 90%;
}

.coupon_line h2 p {
    margin-top: 10px;
    line-height: 1.2;
}

.coupon_line__txt p{
    font-size: 16px;
    font-weight: bold;
}
.coupon_line__txt a{
    display: inline-block;
    font-size: 16px;
   color: #C92A22;
   margin-top: 5px;
   text-decoration: underline;
}

.coupon_line h2 a {
    color: #309AB7;
    text-decoration: underline;
    font-weight: normal;
}

.coupon_step_wrap {
    background: #0e6633;
    padding: 60px 0;
}

.coupon_app {
    display: block;
    margin: 0 auto;
    text-align: center;
    width: 100%;
}

.coupon_app h2 {
    width: 100%;
    height: 110px;
    background: url(../img/coupon_ttl_bg.png) center center;
    background-repeat: repeat-x;
    margin-bottom: 40px;
    position: relative;
}

.coupon_app h2 img {
    width: 460px;
    height: 110px;
    position: absolute;
    top: 0;
    left: calc(50% - 230px);
}

.coupon_app h2 p {
    width: 460px;
    height: 50px;
    margin-top: 10px;
    line-height: 1.2;
    color: #fff;
    position: absolute;
    bottom: 0;
    left: calc(50% - 230px);
}

.coupon_app h2 a {
    color: #ffe33f;
    text-decoration: underline;
    font-weight: normal;
}

.coupon_step_list {
    max-width: 580px;
    margin: 0 auto;
    position: relative;
}

.coupon_step_list .coupon_step_item {
    position: relative;
}

.coupon_app .swiper-button-prev,
.coupon_app .swiper-button-next {
    position: absolute;
    top: 54%;
    width: 44px;
    height: 44px;
    margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
    z-index: 10;
    cursor: pointer;
    border-radius: 0;
}

.coupon_app .swiper-button-prev:after,
.coupon_app .swiper-button-next:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/arrow_step.png) no-repeat center center;
    background-size: contain;
}

.coupon_app .swiper-button-prev {
    transform: scale(-1, 1);
    left: -50px;
}

.coupon_app .swiper-button-next {
    transform: scale(1, 1);
    right: -50px;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
}

.bg-gray {
    background: #fff;
    padding: 0 0 100px;
}

.coupon_line_tx {
    padding: 30px 0;
}


/*pc last*/


/* アンケート */

#enquete #study {
    background: #fefbda;
}

#enquete h1#mv {
    max-height: 200px;
    text-align: center;
    background: none;
    display: block;
    padding: 0 0 0;
    margin: 0;
}

#enquete h1#mv::before {
    content: "";
    display: none;
}

#enquete h1#mv::after {
    content: "";
    display: none;
}

#enquete h1#mv .mv_box picture {
    max-width: 1000px;
    margin: auto;
    transform: none;
    display: block;
}


/* -- 診断枠 -- */

.contents_box01 {
    overflow: hidden;
}

#enquete_wrapper {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto 80px;
    box-sizing: border-box;
    background: #fff;
}

#enquete_wrapper>h3 {
    margin: -30px auto 0;
    text-align: center;
}

.question {
    padding: 0;
    max-width: 940px;
    width: 100%;
    margin: 0 auto;
    padding: 10px 5% 30px;
    background-size: contain;
}

.campaign_text {
    text-align: center;
    line-height: 1.4;
    font-size: 24px;
    font-weight: bold;
    margin: 30px auto;
}

.campaign_text strong {
    font-size: 160%;
    font-style: normal;
    color: #d73232;
}

.campaign_text em {
    font-style: normal;
    color: #d73232;
}


/*チェックは隠す*/

.question input.cssacc {
    display: none;
}

.question ul {
    max-width: 740px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 20px;
}

.question ul li {
    background: #fce9e9;
    list-style: none;
    margin-bottom: 30px;
    text-align: left;
    overflow: hidden;
}


/*ラベル*/

.question label.obi {
    display: block;
    padding: 11px 12px;
    color: #332614;
    font-weight: bold;
    font-size: 22px;
    background: #f7bebe;
    transition: all 0.2s;
    position: relative;
    cursor: auto;
}

.question ul li:nth-of-type(1) {
    background: none;
    list-style: none;
    margin-bottom: 30px;
    text-align: left;
    overflow: hidden;
}

.question ul li .accshow_box {
    padding: 10px;
}

.question ul li .accshow_box label {
    display: block;
    margin: 5px 30px;
    cursor: pointer;
}

.question input[type=radio],
.question input[type=checkbox] {
    appearance: none;
    margin-right: 25px;
}

.question .radio_clr {
    position: relative;
}

.question .radio_clr::before {
    content: '';
    display: block;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #999999;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 0;
    left: -25px;
}

.question input[type=radio]:checked+.radio_clr::after {
    content: '';
    display: block;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background-color: #e6445c;
    position: absolute;
    top: 4px;
    left: -21px;
}

.question input[type=radio]:checked+.radio_clr::before {
    border: 2px solid #e6445c;
}

.question input[type=checkbox]~.radio_clr::before {
    content: '';
    display: block;
    border-radius: 0;
    background: #fff;
    border: 2px solid #999999;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 0;
    left: -25px;
}

.question input[type=checkbox]:checked+.radio_clr::after {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background: url(../images/check_icon.png) no-repeat;
    background-size: cover;
    position: absolute;
    top: 0px;
    left: -23px;
    z-index: 10;
}

.question input[type=checkbox]:checked+.radio_clr::before {
    border: 2px solid #e6445c;
}

.accshow_mail_box {
    margin: 0 auto;
}

.accshow_mail_box input {
    width: 100%;
    max-width: 640px;
    font-size: 18px;
    height: 60px;
    display: block;
    background: #fff;
    margin: 10px auto 20px;
    padding: 2%;
    border: 3px solid #e6445c;
    border-radius: 5px;
}

.accshow_box input[type=radio],
.accshow_box input[type=checkbox] {
    display: none;
}

.question button {
    display: block;
    margin: 20px auto 30px;
    text-align: center;
    color: #fff;
}

.question>picture,
.accshow_mail_txt,
.contents_box03 picture,
.contents_box04 picture {
    margin: 0 auto;
    text-align: center;
    display: block;
}

.accshow_mail_txt {
    margin: 10px auto 20px;
}


/* セレクトボックス */

.selectbox-002 {
    display: block;
    max-width: 500px;
    width: 80%;
    position: relative;
}


/* .selectbox-002 select {
    display: none;
} */


/* 
.selectbox-002 select option {
    color: #ccc;
} */


/* .selectbox-002 select#category1 {
    display: block;
} */

.selectbox-002::before {
    position: absolute;
    content: '';
    pointer-events: none;
}

.selectbox-002::before {
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    width: 2.8em;
    height: 2.8em;
    border-radius: 0 3px 3px 0;
    background-color: #e6445c;
    content: '▼';
}

.selectbox-002 select {
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 2.8em;
    padding: .4em 3.6em .4em .8em;
    background: #fff;
    border: 3px solid #e6445c;
    border-radius: 5px;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
}

.selectbox-002 select:focus {
    outline: 1px solid #e6445c;
}


/* サンクス画面 */

.thanksbox {
    background: #fff;
    width: 900px;
    margin: 30px auto 30px;
    padding: 3% 0;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    border-radius: 15px;
}

.thanksbox p {
    width: 80%;
    max-width: 540px;
    margin: auto;
}

.thanksbox .campaign_text span {
    font-size: 120%;
}

.thanksbox .campaign_text strong {
    font-size: 180%;
}

.thanksbox .campaign_text button {
    width: 80%;
    max-width: 260px;
    margin-bottom: 20px;
}



.finish_txt {
    margin-top: 100px;
    text-align: center;
    color: red;
}
.finish_txt p {
        display: inline-block;
        border: 2px solid red;
        font-size: 20px;
        font-weight: bold;
        line-height: 2;
        letter-spacing: .1em;
        padding: 20px 30px;
        min-width: 600px;
}