@charset "UTF-8";


.top_midashi_101 {
    margin-bottom: 40px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f7f3f7;
    font-size: 2.8rem;
    text-align: center;
}
.info .top_midashi_101 {
    border-bottom-color: #dcdcdc;
}
.menu_aco {
    max-width: 1200px;
    margin-right: auto;
    margin-bottom: 25px;
    margin-left: auto;
    ;
}
.menu_aco a {
    display: block;
    padding: 15px;
    color: #000000;
    text-decoration: none;
}

.aco_title {
    display: block;
    position: relative;
    margin: 5px 0 0 0 ;
    padding: 30px 55px 30px 15px;
    border-radius: 5px 5px 0 0;
    background: #f7f7f7;
    color: #313031;
    font-weight: bold;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

.accordion {
    display: none;
}

.menu_aco ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border-radius: 0 0 5px 5px;
    background: #f4f4f4;
    ;
}

.menu_aco li {
    height: 0;
    overflow: hidden;
            transition: all .5s;

    -webkit-transition: all .5s;
       -moz-transition: all .5s;
        -ms-transition: all .5s;
         -o-transition: all .5s;
}

#menu_bar01:checked ~ #links01 li, #menu_bar02:checked ~ #links02 li, #menu_bar03:checked ~ #links03 li, #menu_bar04:checked ~ #links04 li, #menu_bar05:checked ~ #links05 li, #menu_bar06:checked ~ #links06 li, #menu_bar07:checked ~ #links07 li, #menu_bar11:checked ~ #links11 li, #menu_bar12:checked ~ #links12 li, #menu_bar13:checked ~ #links13 li, #menu_bar14:checked ~ #links14 li, #menu_bar15:checked ~ #links15 li {
    opacity: 1;
    height: 100px;
}
section.top_sec2 h2.midashi_sub {
    max-width: 1200px;
    margin-top: 40px;
    margin-right: auto;
    margin-bottom: 20px;
    margin-left: auto;
    font-size: 20px;
    ;
}
.aco_inner {
    margin: 0 15px 10px 15px;
    border-radius: 5px;
    background-color: #ffffff;
    color: #848684;
    line-height: 20px;
}
.info.faq {
    padding-bottom: 5px;
}


.accordion_icon, .accordion_icon span {
    display: inline-block;
    box-sizing: border-box;
    transition: all .4s;
}
.accordion_icon {
    position: absolute;
    top: 22px;
    right: 12px;
    width: 30px;
    height: 30px;
    margin-right: 5px;
}
.accordion_icon span {
    position: absolute;
    left: 6px;
    width: 50%;
    height: 3px;
            border-radius: 4px;
    background-color: #313031;

    -webkit-border-radius: 4px;
       -moz-border-radius: 4px;
        -ms-border-radius: 4px;
         -o-border-radius: 4px;
}
.accordion_icon span:nth-of-type(1) {
    top: 5px;
            transform: rotate(0deg);

    -webkit-transform: rotate(0deg);
       -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
         -o-transform: rotate(0deg);
}
.accordion_icon span:nth-of-type(2) {
    top: 5px;
            transform: rotate(90deg);

    -webkit-transform: rotate(90deg);
       -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
         -o-transform: rotate(90deg);
}
/*＋、－切り替え*/
.accordion_icon.active span:nth-of-type(1) {
    display: block;
}
.accordion_icon.active span:nth-of-type(2) {
    top: 5px;
            transform: rotate(180deg);

    -webkit-transform: rotate(180deg);
       -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
         -o-transform: rotate(180deg);
}
.pc {
    display: block;
}
.pc_inb {
    display: inline-block;
}
.pc_in {
    display: inline;
}
.sp_min {
    display: none;
}
.gray_sentence {
    color: #848684;
    font-size: 16px;
    line-height: 25px;
    letter-spacing: .05em;
    ;
}
.privacy {
    margin-top: 50px;
    margin-bottom: 60px;
    ;
}
.top_midashi_202 {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #dcdcdc;
    font-size: 2.8rem;
}
.mini_title {
    padding: 25px 0 10px 0;
    font-size: 19px;
}
.mini_title.ceo_name {
    padding-top: 40px;
    padding-bottom: 0;
}
.midium_title {
    padding: 10px 0 10px 0;
    font-weight: bold;
    font-size: 20px;
}
.terms_list {
    list-style: decimal;
    list-style-position: inherit;
}
.link_red {
    color: red;
    text-decoration: underline;
    transition: .2s;
}
.link_red:hover {
    opacity: .6;
    transition: .2s;
}
.lists {
    margin-bottom: 8px;
    margin-left: 1.4rem;
}


.hanamaru .top_sec1 .midasi_2_1 {
    margin-bottom: 30px;
    font-size: 3.8rem;
    line-height: 120%;
    letter-spacing: .08em;
    text-align: center;
}
.hanamaru .top_sec1 .midasi_2_1 span:first-of-type {
    margin-bottom: 15px;
    border-bottom: 8px solid #e83820;
    font-size: 2.6rem;
    line-height: .5;
}
.hanamaru .top_sec1 p {
    margin-bottom: 15px;
    font-size: 2.0rem;
    line-height: 135%;
}
.hanamaru .top_sec1 .gray_sentence {
    max-width: 1200px;
    margin: 15px auto 8px auto;
    color: #848684;
    font-weight: normal;
    font-size: 1.8rem;
    line-height: 5rem;
    text-align: left;
}
.hanamaru .top_sec1 .gray_sentence.tx_ce {
    text-align: center;
}

.hanamaru .top_sec1 .midasi_1_1.mpc-b-15 {
    margin-bottom: 15px;
}
.hanamaru .hanachan_box {
    width: 180px;
    height: 150px;
    margin-right: auto;
    margin-left: auto;
    ;
}
.hanamaru .hanachan {
    width: 100%;
    height: auto;
}
.message_movie span {
    display: block;
    width: 100%;
    max-width: 600px;
    height: 300px;
    margin-top: 20px;
    margin-right: auto;
    margin-bottom: 20px;
    margin-left: auto;
    background-color: #e83820;
    ;
}
.big_sentence {
    font-size: 3.5rem;
    line-height: 4.0rem;
    letter-spacing: .18em;
    text-align: center;
}
article.gray_bg {
    background-color: #f7f7f7;
}
.bold {
    font-weight: bold;
}
.hanabtn_box {
    width: 300px;
    height: auto;
    margin-right: auto;
    margin-left: auto;
}
.hanamaru_btn {
    display: inline-block;
    position: relative;
    width: 300px;
    height: 50px;
    margin-top: 20px;
    margin-bottom: 0;
    padding-left: 30px;
    border-radius: 25px;
    background-color: #ffffff;
    ;
}
.hanamaru_btn::before {
    position: absolute;
    top: 10px;
    left: 65px;
    z-index: 0;
    width: 220px;
    height: 40px;
    background-image: url("../img/btn_logo_hana.png");
    background-size: 160px;
    background-repeat: no-repeat;
    content: "";
    ;
}
.hanamaru_btn:hover {
    opacity: .8;
    transition: .2s;
}
.hanamaru .hanabtn_box .btn_desc {
    margin-top: 2px;
    margin-bottom: 40px;
    color: #b6b7b6;
    font-size: 13px;
    line-height: 100%;
    text-align: center;
}
.topbg_wrap {
    position: relative;
    z-index: 1;
}
.topbg_wrap::before {
    position: absolute;
    bottom: 4px;
    z-index: 0;
    border-width: 0 50vw 30vw 50vw;
    border-style: solid;
    border-color: transparent transparent #ffffff transparent;
    content: "";
    ;
}
.hanatop_bg {
    position: relative;
    z-index: -10;
    width: 100%;
    height: auto;
}
.hanatop_desc {
    position: relative;
    z-index: 2;
    margin-top: -30%;
}
.hanatop_desc .red {
    color: #e83820;
}
.hanamaru h2.hanatop_sub {
    margin-bottom: 30px;
    font-size: 2.6rem;
    line-height: 4.6rem;
    text-align: center;
}
.hidden_bar {
    width: 100%;
    height: 40px;
    margin-top: -40px;
    background-color: #ffffff;
}
.hanamaru .top_sec1 {
    border-bottom: none;
}



/*Movie.php*/
.moviemovie .top_category {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    ;
}
.movie_wrap {
    display: flex;
    flex-direction: column;
    margin-top: 0;
    margin-bottom: 30px;
    padding-top: 10px;
    border-top: 1px solid #f8f8f8;
    ;
}
.movie_box {
    display: flex;
    justify-content: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid #f8f8f8;
    column-gap: 10px;
}
.movie_thumbnail {
    width: 40%;
    height: 100%;
}
.movie_img {
    width: 100%;
    padding-right: 20px;
    ;
}
.slider_middle_box.movie_desc {
    width: 60%;
    padding: 0  10px;
    box-shadow: none;
}

.moviemovie .top_category .midasi_3_2 a {
    display: block;
    min-height: 60px;
    color: #313031;
    font-size: 2.2rem;
}
.moviemovie .more a {
    height: 45px;
    font-size: 1.8rem;
    line-height: 45px;
}
.break_box {
    font-size: 2.0rem;
}
.sp_min {
    display: none;
}
.moviemovie .sp_hanamaru {
    display: block;
    width: 140px;
    margin: 0 auto;
    ;
}
.break_title {
    padding-top: 20px;
    font-size: 32px;
    line-height: 45px;
    letter-spacing: .15em;
    text-align: center;
    ;
}


.top_sec202 {
    padding-top: 25px;
    padding-bottom: 0;
}

/*ログイン*/
.contact_page.lecture_page .top_sec2, .regist_page.lecture_page .top_sec2 {
    padding-bottom: 80px;
}
.login_topdesc {
    text-align: center;
}
.c-form_box {
    width: 100%;
    max-width: 850px;
    margin: 40px auto 10px auto;
    padding-right: 30px;
    ;
}
.c-form_box.m-b-50 {
    margin-bottom: 50px;
}
.c-form {
    width: 16%;
    padding-right: 30px;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: right;
    ;
}
.c-form_box2 {
    width: auto;
    max-width: 850px;
    margin: 20px auto 50px auto;
    padding-left: 10%;
    ;
}
.c-form_in {
    width: 100%;
    height: 40px;
    ;
}
.login_sentence {
    margin-bottom: 15px;
}
.login_helps {
    color: #313031;
    text-decoration: underline;
    transition: .2s;
}
.login_helps:hover {
    color: #e83820;
    transition: .2s;
}
.login_btn {
    padding-left: 10px;
}

/*新規登録*/
.regist_page .c-form {
    width: 200px;
    padding-right: 15px;
    text-align: left;
}
.required_color {
    padding-left: 15px;
    color: #e5283f;
    font-weight: bold;
}

.area_select {
    width: 200px;
    height: 40px;
    ;
}
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
    margin: 0;

    -webkit-appearance: none;
}

/*マイページ（お気に入り）*/
.favorite_page .top_midashi {
    margin-bottom: 0;
}

.favo_box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 180px;
}
.left_content {
    width: 23%;
}
.left_menu {
    height: auto;
    padding: 15px;
    padding-top: 20px;
    background-color: #eeeeee;
    ;
}
.my_name {
    padding-top: 0;
    padding-bottom: 20px;
    color: #eb6100;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: center;
    ;
}
.l_menu_li {
    display: flex;
    flex-direction: column;
}
.l_menus {
    display: block;
    width: 100%;
    height: 50px;
    margin-bottom: 20px;
    padding-left: 75px;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 50px;
    text-align: left;
    transition: .2s;
}
.l_menus:hover {
    opacity: .8;
    transition: .2s;
}
.l_menus.w_btn {
    position: relative;
    background-color: #ffffff;
    color: #313031;
}
.l_menus.w_btn::before {
    position: absolute;
    top: 19px;
    left: 35px;
    width: 20px;
    height: 20px;
    background-image: url("../img/arrow_gray.png");
    background-repeat: no-repeat;
    content: "";
}
.l_menus.or_btn {
    position: relative;
    background-color: #eb6100;
    color: #ffffff;
}
.l_menus.or_btn::before {
    position: absolute;
    top: 19px;
    left: 35px;
    width: 20px;
    height: 20px;
    background-image: url("../img/arrow_white.png");
    background-repeat: no-repeat;
    content: "";
}

.right_content {
    width: 77%;
    height: 100%;
    padding-left: 40px;
}
.lecture_page .lecture .top_box2 .favo_title {
    margin-top: 0;
    margin-bottom: 40px;
    font-size: 22px;
    ;
}
.favo_list {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    width: 100%;
    height: 100%;
    padding-bottom: 55px;

    gap: 10px;
}
.favorite_page .slider_child {
    height: auto;
    min-height: 265px;
    padding-bottom: 25px;
}
.favorite_page .slider_child .list_img_box {
    display: block;
}
.favorite_page .top_lower_contents .lists_img {
    width: 100%;
    height: auto;
    margin-bottom: 0;

    object-fit: cover;
}
.favorite_page .slider_middle_box {
    padding: 15px;
}
.favorite_page .icons_img {
    width: 30px;
    margin-right: 10px;
    margin-bottom: 0;
    ;
}
.sp_b_menu {
    display: none;
}

.c-form_ta {
    width: 100%;
    height: 100px;
    height: 200px;
    overflow: scroll;
}
.c-form_ta2 {
    vertical-align: top;
    ;
}
@media screen and (max-width: 1200px) {
    .moviemovie .top_category {
        margin: 0 auto;
        /* 		padding: 0 */
    }
    .left_content {
      display: block;
      margin-bottom: 10%;
      width: auto;
  }
    .right_content {
        width: 100%;
        padding-left: 0;
        ;
    }

    .sp_b_menu {
        display: block;
    }
    .lecture_page .lecture .top_box2 .favo_title2 {
        margin-bottom: 15px;
        padding-bottom: 8px;
        border-bottom: 1.5px solid #f7f3f7;
        letter-spacing: .1em;
        
        ;
    }
    .b_menu_inner {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 60px;
    }
    .b_menu_box {
        display: block;
        width: calc(50% - 5px);
        margin-bottom: 10px;
        padding: 20px;
        padding-left: 65px;
        background-color: #f7f3f7;
        color: #313031;
        font-weight: bold;
        font-size: 18px;
        text-align: center;
        transition: .2s;
        ;
    }
    .b_menu_box:hover {
        opacity: .8;
        transition: .2s;
    }
    .user_i {
        position: relative;
    }
    .user_i::before {
        position: absolute;
        top: 19px;
        left: 28%;
        width: 34px;
        height: 28px;
        background-image: url("../img/user_icon.png");
        background-size: 21px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .edit_i {
        position: relative;
    }
    .edit_i::before {
        position: absolute;
        top: 19px;
        left: 28%;
        width: 34px;
        height: 28px;
        background-image: url("../img/edit_icon.png");
        background-size: 21px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .movie_i {
        position: relative;
    }
    .movie_i::before {
        position: absolute;
        top: 22px;
        left: 28%;
        width: 34px;
        height: 28px;
        background-image: url("../img/movie_icon.png");
        background-size: 21px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .favo_i {
        position: relative;
    }
    .favo_i::before {
        position: absolute;
        top: 22px;
        left: 28%;
        width: 34px;
        height: 28px;
        background-image: url("../img/heart_icon1.png");
        background-size: 19px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .favo_box {
      display: block;
    }
    .favorite_page.lecture_page .top_sec2 {
        padding: 25px 0;
    }
    main {
      padding-bottom: 100px;
    }
}

/*レシポンシブ（768px）*/

@media screen and (max-width:768px) {
    /*お気に入り一覧*/
    .favorite_page.lecture_page .top_sec2 {
        padding-top: 10px;
    }
    .favorite_page .top_midashi {
        padding-bottom: 15px;
    }
    .right_content {
        width: 100%;
        padding-left: 0;
    }
    .lecture_page .lecture .top_box2 .favo_title {
        margin-right: auto;
        margin-left: auto;
        padding-left: 10px;
        font-size: 22px;
        margin-bottom: 30px;
    }
    .lecture_page .lecture .top_box2 .favo_title.sp_min {
        position: relative;
    }
    .lecture_page .lecture .top_box2 .favo_title.sp_min::before {
        position: absolute;
        top: 6px;
        left: -12px;
        width: 34px;
        height: 28px;
        background-image: url("../img/heart_icon1.png");
        background-size: 16px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .favo_list {
        display: flex;
        flex-direction: column;
    }
    .favo_list {
        .slider_bottom_box{
            margin-top: 20px;
            align-items: start;
            right: 10px;
        }
    }
    .favorite_page .slider_child {
        width: 100%;
        display: flex;
        flex-direction: column;
        min-height: 100%;
        margin-bottom: 0;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 0;
    }
    .favorite_page .top_lower_contents .lists_img {
        width: 100%;
        margin-bottom: 0;
    }
    .favorite_page .top_lower_contents .lists_title {
        padding-right: 5px;
        font-size: 17px;
        white-space: unset;
    }

    .favorite_page .icons_img {
        width: 20px;
        margin-right: 0;
        margin-bottom: 0;
    }
    .favorite_page .slider_middle_box {
        width: 100%;
        padding-top: 5px;
    }

    .lesson-item .slider_middle_box {
        width: 100%;
    }

    .favo_box {
      display: block;
  }
    .b_menu_box {
        text-align: left;
    }
    .user_i {
        position: relative;
    }
    .user_i::before {
        position: absolute;
        top: 19px;
        left: 28px;
        width: 34px;
        height: 28px;
        background-image: url("../img/user_icon.png");
        background-size: 21px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .edit_i {
        position: relative;
    }
    .edit_i::before {
        position: absolute;
        top: 19px;
        left: 30px;
        width: 34px;
        height: 28px;
        background-image: url("../img/edit_icon.png");
        background-size: 21px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .movie_i {
        position: relative;
    }
    .movie_i::before {
        position: absolute;
        top: 22px;
        left: 30px;
        width: 34px;
        height: 28px;
        background-image: url("../img/movie_icon.png");
        background-size: 21px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .favo_i {
        position: relative;
    }
    .favo_i::before {
        position: absolute;
        top: 22px;
        left: 33px;
        width: 34px;
        height: 28px;
        background-image: url("../img/heart_icon1.png");
        background-size: 19px;
        background-repeat: no-repeat;
        content: "";
        ;
    }

    main {
      padding-bottom: 100px;
    }



    .pc_inb {
        display: none;
    }
    .pc_in {
        display: none;
    }
    /*ログイン*/
    .contact_page.lecture_page .top_sec2, .regist_page.lecture_page .top_sec2 {
        padding-bottom: 30px;
    }
    .login_topdesc {
        font-size: 14px;
        letter-spacing: .05em;
        text-align: left;
        ;
    }
    .login_sentence {
        text-align: left !important;
    }
    .table_m {
        display: flex;
        flex-direction: column;
    }
    .c-form_box {
        margin-right: 10px;
        margin-left: 10px;
    }
    .c-form {
        width: 100%;
        padding-bottom: 10px;
        font-weight: bold;
        font-size: 2.0rem;
        text-align: left;
        ;
    }
    .regist_page .c-form {
        width: 100%;
        padding-bottom: 10px;
        font-weight: bold;
        font-size: 2.0rem;
        text-align: left;
        ;
    }
    .regist_page .short ~ .sp_ma {
        width: 43%;
    }
    .sp_ma {
        width: calc(100% - 20px);
    }
    .c-form_box2 {
        padding-left: 10px;
        letter-spacing: .05em;
    }


    /*花まる*/
    .hanamaru .top_sec1 .midasi_2_1 {
        margin-bottom: 0;
        font-size: 2.4rem;
        line-height: 120%;
        letter-spacing: .08em;
        ;
    }
    .hanamaru .top_sec1 .midasi_2_1 span:first-of-type {
        margin-bottom: 15px;
        border-bottom: 8px solid #e83820;
        font-size: 2.2rem;
        line-height: .5;
    }
    .hanamaru .top_sec1 p {
        margin-bottom: 8px;
        font-size: 1.6rem;
        line-height: 135%;
    }
    .hanamaru .top_sec1 .gray_sentence {
        margin-top: 15px;
        margin-bottom: 8px;
        color: #848684;
        font-weight: normal;
        font-size: 1.3rem;
        line-height: 22px;
        text-align: left;
    }
    .hanamaru .top_sec1 .gray_sentence.tx_ce {
        text-align: center;
    }
    .hanamaru .hanachan_box {
        width: 100px;
        height: 80px;
        margin-right: auto;
        margin-left: auto;
        ;
    }
    .hanamaru .hanachan {
        width: 100%;
        height: auto;
    }
    .message_movie span {
        display: block;
        width: 100%;
        max-width: 600px;
        height: 300px;
        margin-top: 20px;
        margin-right: auto;
        margin-bottom: 20px;
        margin-left: auto;
        background-color: #e83820;
        ;
    }
    h3.big_sentence {
        font-size: 3.5rem;
        line-height: 4.0rem;
        letter-spacing: .18em;
        text-align: center;
    }
    article.gray_bg {
        background-color: #f7f7f7;
    }
    .bold {
        font-weight: bold;
    }
    .hanabtn_box {
        width: 240px;
        height: auto;
        margin-right: auto;
        margin-left: auto;
    }
    .hanamaru_btn {
        display: inline-block;
        position: relative;
        width: 250px;
        height: 40px;
        margin-top: 5px;
        margin-bottom: 0;
        padding-left: 30px;
        border-radius: 20px;
        background-color: #ffffff;
        ;
    }
    .hanamaru_btn::before {
        position: absolute;
        top: 6px;
        left: 37px;
        z-index: 0;
        width: 200px;
        height: 30px;
        background-image: url("../img/btn_logo_hana.png");
        background-size: 160px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .hanamaru_btn:hover {
        opacity: .8;
        transition: .2s;
    }
    .hanamaru .hanabtn_box .btn_desc {
        margin-top: 2px;
        color: #b6b7b6;
        font-size: 11px;
        line-height: 100%;
        text-align: center;
    }

    .hanamaru .top_sec1 .midasi_2_1.mpc-b-15 {
        margin-bottom: 0;
    }
    .topbg_wrap {
        position: relative;
        z-index: 1;
    }
    .topbg_wrap::before {
        position: absolute;
        z-index: 0;
        /* border-width: 0 48.75vw 28vw 48.75vw; */
        border-style: solid;
        border-color: transparent transparent #ffffff transparent;
        content: "";
        ;
    }
    .hanatop_bg {
        position: relative;
        z-index: -10;
        width: 100%;
        height: auto;
    }
    .hanatop_desc {
        position: relative;
        z-index: 2;
        margin-top: -29%;
    }
    .hanatop_desc .red {
        color: #e83820;
    }
    .hanamaru h2.hanatop_sub {
        margin-top: 10px;
        font-size: 2.0rem;
        line-height: 2.8rem;
        text-align: center;
        ;
    }
    .hidden_bar {
        width: 100%;
        height: 40px;
        margin-top: -40px;
        background-color: #ffffff;
        ;
    }




    .terms_list {
        list-style: decimal;
        list-style-position: inherit;
    }
    .link_red {
        color: red;
        text-decoration: underline;
    }
    .lists {
        margin-bottom: 8px;
        margin-left: 1.4rem;
        ;
    }
    .mini_title.ceo_name {
        padding-top: 25px;
        padding-bottom: 0;
    }
    .mini_title {
        padding: 10px 0;
        font-size: 17px;
    }
    .gray_sentence {
        color: #848684;
        font-size: 15px;
        line-height: 22px;
        letter-spacing: 0;
        ;
    }
    .privacy {
        margin-top: 20px;
        margin-bottom: 15px;
        ;
    }
    .top_midashi_202 {
        margin-bottom: 10px;
        padding-bottom: 10px;
    }
    .msp-b-15 {
        margin-bottom: 15px;
    }
    .menu_aco {
        max-width: 600px;
        margin-right: auto;
        margin-bottom: 25px;
        margin-left: auto;
        ;
    }

    .menu_aco a {
        display: block;
        padding: 15px;
        color: #000000;
        text-decoration: none;
    }

    .aco_title {
        display: block;
        position: relative;
        margin: 5px 0 0 0 ;
        padding: 20px 55px 20px 15px;
        border-radius: 5px 5px 0 0;
        background: #f7f7f7;
        color: #313031;
        font-weight: bold;
        font-size: 16px;
        line-height: 1;
        cursor: pointer;
    }

    .accordion {
        display: none;
    }

    .menu_aco ul {
        list-style: none;
        margin: 0;
        padding: 0;
        border-radius: 0 0 5px 5px;
        background: #f4f4f4;
        ;
    }

    .menu_aco li {
        height: 0;
        overflow: hidden;
                transition: all .5s;

        -webkit-transition: all .5s;
           -moz-transition: all .5s;
            -ms-transition: all .5s;
             -o-transition: all .5s;
    }

    #menu_bar01:checked ~ #links01 li, #menu_bar02:checked ~ #links02 li, #menu_bar03:checked ~ #links03 li, #menu_bar04:checked ~ #links04 li, #menu_bar05:checked ~ #links05 li, #menu_bar06:checked ~ #links06 li, #menu_bar07:checked ~ #links07 li, #menu_bar11:checked ~ #links11 li, #menu_bar12:checked ~ #links12 li, #menu_bar13:checked ~ #links13 li, #menu_bar14:checked ~ #links14 li, #menu_bar15:checked ~ #links15 li {
        opacity: 1;
        height: 100px;
    }
    .top_midashi_101 {
        margin-bottom: 10px;
        text-align: left;
    }
    .info .top_midashi_101 {
        padding-left: 0;
    }
    section.top_sec2 h2.midashi_sub {
        margin-bottom: 10px;
        font-size: 20px;
        ;
    }
    .aco_inner {
        margin: 0 15px 10px 15px;
        border-radius: 5px;
        background-color: #ffffff;
        color: #848684;
        line-height: 20px;
    }
    .info.faq {
        padding-bottom: 5px;
    }


    .accordion_icon, .accordion_icon span {
        display: inline-block;
        box-sizing: border-box;
        transition: all .4s;
    }
    .accordion_icon {
        position: absolute;
        top: 22px;
        right: 12px;
        width: 30px;
        height: 30px;
        margin-right: 5px;
    }
    .accordion_icon span {
        position: absolute;
        left: 6px;
        width: 50%;
        height: 3px;
                border-radius: 4px;
        background-color: #313031;

        -webkit-border-radius: 4px;
           -moz-border-radius: 4px;
            -ms-border-radius: 4px;
             -o-border-radius: 4px;
    }
    .accordion_icon span:nth-of-type(1) {
        top: 5px;
                transform: rotate(0deg);

        -webkit-transform: rotate(0deg);
           -moz-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
             -o-transform: rotate(0deg);
    }
    .accordion_icon span:nth-of-type(2) {
        top: 5px;
                transform: rotate(90deg);

        -webkit-transform: rotate(90deg);
           -moz-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
             -o-transform: rotate(90deg);
    }
    /*＋、－切り替え*/
    .accordion_icon.active span:nth-of-type(1) {
        display: block;
    }
    .accordion_icon.active span:nth-of-type(2) {
        top: 5px;
                transform: rotate(180deg);

        -webkit-transform: rotate(180deg);
           -moz-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
             -o-transform: rotate(180deg);
    }

    .moviemovie .top_category {
        width: calc(100% - 20px);
        margin: 0 auto;
    }
    .moviemovie .top_category p a {
        display: block;
        min-height: 60px;
        color: #313031;
        font-size: 1.6rem;
    }
    .movie_wrap {
        display: flex;
        flex-direction: column;
        margin-top: 0;
        margin-bottom: 30px;
        padding-top: 10px;
        border-top: 1px solid #f8f8f8;
    }
    .movie_box {
        display: flex;
        justify-content: flex-start;
        padding: 10px 0;
        border-bottom: 1px solid #f8f8f8;
        ;
    }

    .movie_img {
        width: 100%;
        padding-right: 10px;
        ;
    }
    .slider_middle_box.movie_desc {
        width: 60%;
        padding: 0 10px;
        box-shadow: none;
        ;
    }
    .moviemovie .top_category p {
        padding-right: 30px;
    }
    .moviemovie .top_category p a {
        color: #313031;
    }
    .more a {
        font-size: 1.6rem;
    }
    .pc {
        display: none;
    }
    .sp_min {
        display: none;
    }
    .break_box {
        font-size: 2.0rem;
    }
    .sp_min {
        display: block;
    }
    .moviemovie .sp_hanamaru {
        display: block;
        width: 140px;
        margin: 0 auto;
        ;
    }
    .break_title {
        padding-top: 20px;
        font-size: 32px;
        line-height: 45px;
        letter-spacing: .15em;
        text-align: center;
        ;
    }


    .top_sec202 {
        padding-top: 25px;
        padding-bottom: 0;
    }
}

@media (max-width: 576px) {
    .break_box {
        font-size: 2.0rem;
    }
    .sp_min {
        display: block;
    }
    .moviemovie .sp_hanamaru {
        display: block;
        width: 140px;
        margin: 0 auto;
        ;
    }
    .break_title {
        padding-top: 20px;
        font-size: 22px;
        line-height: 38px;
        letter-spacing: .1em;
        text-align: center;
        ;
    }
    .moviemovie .break_box p {
        font-size: 14px;
    }
    .moviemovie .break_box img {
        width: 60%;
        margin: 0 auto;
        ;
    }


    .top_sec202 {
        padding-top: 25px;
        padding-bottom: 0;
    }


    .b_menu_box {
        display: block;
        width: calc(50% - 5px);
        margin-bottom: 10px;
        padding: 20px;
        padding-right: 15px;
        padding-left: 35px;
        background-color: #f7f3f7;
        color: #313031;
        font-weight: bold;
        font-size: 14px;
        text-align: center;
        transition: .2s;
        ;
    }
    .b_menu_box:hover {
        opacity: .8;
        transition: .2s;
    }
    .user_i {
        position: relative;
    }
    .user_i::before {
        position: absolute;
        top: 17px;
        left: 15px;
        width: 34px;
        height: 28px;
        background-image: url("../img/user_icon.png");
        background-size: 21px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .edit_i {
        position: relative;
    }
    .edit_i::before {
        position: absolute;
        top: 17px;
        left: 18px;
        width: 34px;
        height: 28px;
        background-image: url("../img/edit_icon.png");
        background-size: 21px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .movie_i {
        position: relative;
    }
    .movie_i::before {
        position: absolute;
        top: 19px;
        left: 18px;
        width: 34px;
        height: 28px;
        background-image: url("../img/movie_icon.png");
        background-size: 21px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .favo_i {
        position: relative;
    }
    .favo_i::before {
        position: absolute;
        top: 19px;
        left: 21px;
        width: 34px;
        height: 28px;
        background-image: url("../img/heart_icon1.png");
        background-size: 19px;
        background-repeat: no-repeat;
        content: "";
        ;
    }
    .moviemovie .top_category .midasi_3_2 a {
        font-size: 1.6rem;
    }
    .movie_thumbnail {
        width: 40%;
    }
    .slider_middle_box.movie_desc {
        width: 60%;
    }
}

.return_ps{
    font-size: 15px;
    font-weight: bold;
    color: red;
    text-align: center !important;
}

.success-color {
    color: #00836B;
}

/* Android Custom App Banner */
.android-app-banner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background-color: #f6f6f6;
    border-bottom: 1px solid #e0e0e0;
    z-index: 10000;
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Body padding adjustment for banners */
body.has-android-banner {
    padding-top: 80px;
}
body.has-ios-banner {
    padding-top: 50px;
}
body.has-android-banner.has-ios-banner {
    padding-top: 130px; /* Both banners (shouldn't happen, but just in case) */
}

@media screen and (max-width: 768px) {
    body.has-android-banner {
        padding-top: 80px;
    }
    body.has-ios-banner {
        padding-top: 50px;
    }
    body.has-android-banner.has-ios-banner {
        padding-top: 130px;
    }
}
.android-app-banner .banner-content {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 10px;
    position: relative;
}
.android-app-banner .close-button {
    background: none;
    border: none;
    font-size: 24px;
    color: #999;
    padding: 10px;
    margin-right: 5px;
    cursor: pointer;
    line-height: 1;
}
.android-app-banner .app-icon {
    width: 54px;
    height: 54px;
    margin-right: 12px;
}
.android-app-banner .app-icon img {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    object-fit: cover;
}
.android-app-banner .app-info {
    flex-grow: 1;
}
.android-app-banner .app-title {
    font-size: 14px;
    font-weight: bold;
    color: #333;
    line-height: 1.2;
}
.android-app-banner .app-vendor {
    font-size: 11px;
    color: #666;
}
.android-app-banner .app-price {
    font-size: 11px;
    color: #666;
}
.android-app-banner .view-button {
    background-color: #2196F3;
    color: white !important;
    padding: 6px 16px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: bold;
    text-decoration: none;
    margin-left: 10px;
}

/* PC Floating App Transition UI */
.pc-app-floating {
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 999;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.pc-app-floating .floating-trigger {
    background-color: #333;
    color: #fff;
    padding: 12px 20px;
    border-radius: 30px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}
.pc-app-floating .floating-trigger i {
    font-size: 20px;
    margin-right: 10px;
}
.pc-app-floating .floating-trigger span {
    font-size: 14px;
    font-weight: bold;
}
.pc-app-floating .floating-popover {
    position: absolute;
    bottom: 60px;
    right: 0;
    width: 320px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
}
.pc-app-floating:hover .floating-popover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.pc-app-floating:hover .floating-trigger {
    background-color: #000;
    transform: translateY(-2px);
}
.pc-app-floating .popover-content p {
    font-size: 13px;
    color: #333;
    text-align: center;
    margin-bottom: 15px;
    line-height: 1.5;
}
.pc-app-floating .qr-codes {
    display: flex;
    justify-content: center;
}
.pc-app-floating .qr-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.pc-app-floating .qr-item img {
    width: 160px;
    height: 160px;
    margin-bottom: 8px;
    border: 1px solid #eee;
}
.pc-app-floating .qr-item span {
    font-size: 12px;
    color: #666;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .pc-app-floating {
        display: none;
    }
}

