/*
-----------------------------------------------------------------
追加ページ共通
-----------------------------------------------------------------
*/

.add_hide {
    display: none !important;
}

.common_hover_opa {
    transition-duration: 0.4s;
}

@media(any-hover:hover) {
    .common_hover_opa:hover {
        opacity: 0.5;
    }
}

.common_select_frame {
    position: relative;
    width: 310px;
}

.common_select_frame::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 15px 0 15px;
    border-color: #5bc24b transparent transparent transparent;
    pointer-events: none;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.common_select_frame select {
    display: block;
    cursor: pointer;
    width: 100%;
    height: 60px;
    border-radius: 30px;
    text-align: center;
    padding: 0 32px 0 12px;
    background-color: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 24px;
    font-weight: bold;
    color: #5bc24b;
    text-align: center;
    border: none;
}



/*ボタンクリック時のローディング処理*/
.js_loading_button {
    position: relative;
    cursor: pointer;
    border: none;
    background: none;

}

.js_click_rock {
    pointer-events: none !important;
    box-shadow: none !important;
    transform: translateY(3px);
    opacity: 0.5;
}

.js_loader_frame {
    position: absolute;
    right: -20px;
    top: -20px;
    opacity: 0;
}

.js_click_rock .js_loader_frame {
    opacity: 1;
}

.js_loader {
    margin: auto;
    font-size: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: relative;
    text-indent: -9999em;
    -webkit-animation: load5 1.1s infinite ease;
    animation: load5 1.1s infinite ease;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    pointer-events: none;
}

@-webkit-keyframes load5 {

    0%,
    100% {
        box-shadow: 0em -2.6em 0em 0em #000000, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.5), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.7);
    }

    12.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.7), 1.8em -1.8em 0 0em #000000, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.5);
    }

    25% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.5), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.7), 2.5em 0em 0 0em #000000, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);
    }

    37.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.5), 2.5em 0em 0 0em rgba(0, 0, 0, 0.7), 1.75em 1.75em 0 0em #000000, 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);
    }

    50% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.5), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.7), 0em 2.5em 0 0em #000000, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);
    }

    62.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.5), 0em 2.5em 0 0em rgba(0, 0, 0, 0.7), -1.8em 1.8em 0 0em #000000, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);
    }

    75% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.5), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.7), -2.6em 0em 0 0em #000000, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);
    }

    87.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.5), -2.6em 0em 0 0em rgba(0, 0, 0, 0.7), -1.8em -1.8em 0 0em #000000;
    }
}

@keyframes load5 {

    0%,
    100% {
        box-shadow: 0em -2.6em 0em 0em #000000, 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.5), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.7);
    }

    12.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.7), 1.8em -1.8em 0 0em #000000, 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.5);
    }

    25% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.5), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.7), 2.5em 0em 0 0em #000000, 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);
    }

    37.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.5), 2.5em 0em 0 0em rgba(0, 0, 0, 0.7), 1.75em 1.75em 0 0em #000000, 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);
    }

    50% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.5), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.7), 0em 2.5em 0 0em #000000, -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.2), -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);
    }

    62.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.5), 0em 2.5em 0 0em rgba(0, 0, 0, 0.7), -1.8em 1.8em 0 0em #000000, -2.6em 0em 0 0em rgba(0, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);
    }

    75% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.5), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.7), -2.6em 0em 0 0em #000000, -1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2);
    }

    87.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(0, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(0, 0, 0, 0.2), 2.5em 0em 0 0em rgba(0, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(0, 0, 0, 0.2), 0em 2.5em 0 0em rgba(0, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(0, 0, 0, 0.5), -2.6em 0em 0 0em rgba(0, 0, 0, 0.7), -1.8em -1.8em 0 0em #000000;
    }
}


#main.add_page_main {
    overflow: hidden;
}

#main.add_page_main * {
    box-sizing: border-box;
}

#main.add_page_main>div {
    background: none;
}

#main.add_page_main .common_loading_button {
    cursor: pointer;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.35);
}

#main.add_page_main .common_loading_button.click_lock {
    box-shadow: none !important;
    opacity: 0.7 !important;
    pointer-events: none !important;
    box-shadow: none !important;
    transform: translateY(3px) !important;
}

#main.def_page_main .contents1 {
    background-color: #fff !important;
}

/*以下、ページネーション*/
.page_nation_frame strong {
    font-weight: normal;
    display: block;
    margin: 0.4em 0;
    text-align: center;
}

.page_nation {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 40px;
}

.page_nation .page-numbers {
    text-decoration: none;
    color: #4fc882;
}

.page_nation .current {
    text-decoration: underline;
}

.page_nation .page-numbers.dots {
    background: none;
    border: none;
    background: none;
}

/*以上、ページネーション*/


/*
-----------------------------------------------------------------
ヘッダー
-----------------------------------------------------------------
*/
/*
-----------------------------------------------------------------
ヘッダー
-----------------------------------------------------------------
*/

#common_header {
    width: 100%;
    position: fixed;
    z-index: 30;
    background-color: #fff;
}

#common_header a {
    text-decoration: none;
    transition-duration: 0.4s;
}

@media(any-hover:hover) {
    #common_header a:hover {
        opacity: 0.5;
    }
}

#common_header .header_inner {
    padding-left: 28px;
    padding-right: 36px;
}

#common_header .header_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 90px;
}

#common_header .header_left {
    display: flex;
    align-items: center;
}

#common_header .header_logo {
    display: block;
    /* width:504px; */
    width: 400px;
}

#common_header .header_logo img {
    width: 100%;
}

#common_header .login_button {
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    padding: 0 24px;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    background-color: #5bc24b;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.35);
    margin-left: 44px;
}

#common_header .drawer_open {
    cursor: pointer;
    min-width: 50px;
    min-height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#common_header .drawer_open_inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#common_header .drawer_open .bar {
    width: 50px;
    height: 8px;
    background-color: #5bc24b;
    transition-duration: 0.2s;
}

#common_header .drawer_open .bar02 {
    margin: 8px 0;
}

#common_header .drawer_open.active .bar01 {
    transform: translateY(2px) rotate(-45deg);
    height: 5px;
}

#common_header .drawer_open.active .bar02 {
    display: none;
}

#common_header .drawer_open.active .bar03 {
    transform: translateY(-2px) rotate(45deg);
    height: 5px;
}

#drawer_menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 28;
    width: 100%;
    height: 100vh;
    transition-duration: 0.7s;
    opacity: 0;
    pointer-events: none;
    padding-top: 90px;
    background-color: rgba(255, 255, 255, 0.9);
}

#drawer_menu.show {
    opacity: 1;
    pointer-events: auto;
}

#drawer_menu .drawer_menu_inner {
    height: 100%;
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

#drawer_menu .drawer_menu_inner::-webkit-scrollbar {
    display: none;
}

#drawer_menu .drawer_menu_contents {}

#drawer_menu .drawer_menu_contents .parent_menu {
    padding: 40px 0 0;
}

#drawer_menu .drawer_menu_contents .parent_menu li {
    border-bottom: 1px solid #ccc;
}

#drawer_menu .drawer_menu_contents .parent_menu li:last-child {
    border-bottom: none;
    text-align: center;
}

#drawer_menu .drawer_menu_contents .parent_menu a {
    padding: 1.5em 1em;
    color: #4d4d4d;
    line-height: 1.6;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}

#side_icon {
    display: none;
}


#main {
    padding-top: 90px !important;
}

/*
-----------------------------------------------------------------
フッター
-----------------------------------------------------------------
*/
/* #common_footer{
  padding-bottom: 56px;
}

#common_footer a{
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  #common_footer a:hover{
    opacity: 0.5;
  }
}


#common_footer .footer_logo{
  display: block;
} */

/*
-----------------------------------------------------------------
アカウント利用停止
-----------------------------------------------------------------
*/

.member_err_body .p01 {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-top: 24px;
}

.member_err_body .p02 {
    margin-top: 24px;
    text-align: center;
    font-size: 15px;
}

.member_err_body .m_button {
    margin-top: 24px;
    padding-bottom: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/*
-----------------------------------------------------------------
イベント詳細
-----------------------------------------------------------------
*/
.party_body .party .article iframe {
    height: 300px;
    margin-top: 8px;
    margin-bottom: 8px;
}




/*
-----------------------------------------------------------------
プライバシーポリシー
-----------------------------------------------------------------
*/

.policy_body .policy_text01 {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}


.policy_body .policy_text02 {
    font-weight: bold;
    font-size: 18px;
    margin-top: 32px;
}

.policy_body .policy_text04 {
    margin-top: 4px;
}

.policy_body .policy_text04 a {
    color: rgb(77, 77, 77);
    text-decoration: none;
}

/*
-----------------------------------------------------------------
ご利用規約
-----------------------------------------------------------------
*/


.agreement_body .agreement_text01 {
    font-size: 18px;
    font-weight: bold;
    margin-top: 32px;
}

.agreement_body .agreement_text02 {
    margin-top: 8px;
}

.agreement_body .agreement_text03 {
    margin-top: 8px;
}

.agreement_body ol {
    margin-top: 8px;
}

.newmember_remainder_body .agreement_text01 {
    font-weight: bold;
    margin-top: 24px;
    margin-bottom: 0;
}

.agreement_body .agreement_text02 {
    font-size: 14px;
    margin-top: 8px;
}

.agreement_body .agreement_text03 {
    font-size: 14px;
    margin-top: 8px;
}


/*
-----------------------------------------------------------------
イベントリストのカード
-----------------------------------------------------------------
*/

.eventlist .add_event_stamp {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 36px;
    color: #fff;
    background-color: #ec5840;
    font-weight: bold;
    font-size: 18px;
}

.eventlist .add_event_stamp_blank {
    /* height:36px; */
}

.eventlist .imgwrap img {
    width: 100%;
    /* height:178px; */
    aspect-ratio: 1/0.56;
    object-fit: cover;
}

.eventlist .application a {
    height: 36px;
    padding-top: 2px !important;
    padding-bottom: 0 !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.eventlist .cancel_wait a {
    background: rgba(128, 128, 128, 0.8) !important;
    font-size: 12px;
    line-height: 1.2;
    padding-top: 3px !important;
}

.eventlist .cancel_wait a:hover {
    background: rgba(128, 128, 128, 0.9) !important;
}

/*
-----------------------------------------------------------------
トップページ
-----------------------------------------------------------------
*/

.top_body #main {
    padding-top: 0 !important;
    overflow: hidden;
}

.top_body #foot {
    box-shadow: none;
}

.top_body #main>div {
    padding: 0;
}

.top_body a {
    text-decoration: none;
}

.top_section {}

.top_section .container {
    max-width: 1000px;
    width: 92%;
    margin: 0 auto;
}

.top_section .top_sec_head {
    display: flex;
    justify-content: center;
}

.top_section .top_sec_head img {
    height: 80px;
}

.top_section .sub_head {
    margin-top: 28px;
    text-align: center;
    color: rgba(0, 0, 0, 0.75);
    font-size: 18px;
}


.top_mv_section {
    overflow: hidden;
    padding-bottom: 120px !important;
}

.top_mv_section .mv_frame {
    position: relative;
    max-width: 1920px;
    margin: 0 auto;
    height: 1130px;
    display: flex;
    justify-content: flex-end;
}

.top_mv_section .mv_frame .mv {
    max-width: 1920px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
    background-image: url('../img_add/top/mv02.jpg');
    background-repeat: no-repeat;
    background-position: top center;
    /* background-position: -300px; */
    background-size: cover;
}


.top_mv_section .mv_frame .mv_item {
    position: absolute;
    width: 415px;
    left: 38px;
    top: 325px;
}

.top_mv_section .search_area {
    position: absolute;
    background-color: #5bc24b;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.35);
    padding: 24px 25px 25px;
    top: 140px;
    left: 40px;
}

.top_mv_section .search_area .search_head_text {
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    text-align: center;
    margin-bottom: 14px;
}

.top_mv_section .guide_link {
    position: absolute;
    bottom: 256px;
    z-index: 2;
    left: calc(50% + 140px);
    width: 565px;
}

.top_mv_section .guide_link img {
    width: 100%;
}

.top_mv_section .regist_link {
    position: absolute;
    top: 140px;
    left: calc(50% + 450px);
    border-radius: 50%;
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5);
}

.top_mv_section .regist_link img {
    width: 285px;
    border-radius: 50%;
    display: block;
}

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

    .top_mv_section .mv_frame .mv {
        background-position: -350px;
    }

    .top_mv_section .guide_link {
        left: auto;
        right: 53px;
    }

    .top_mv_section .regist_link {
        left: auto;
        right: 48px;
    }
}

.top_mv_section .recent_area {
    position: relative;
    z-index: 5;
    margin-top: -195px;
}

.top_mv_section .recent_slide {
    width: 500px;
    padding: 0 20px;
}

.top_mv_section .recent_card {
    display: block;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.top_mv_section .recent_card .recent_thumb {
    aspect-ratio: 1 / 0.56;
    display: block;
}

.top_mv_section .recent_card .recent_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top_mv_section .recent_card .recent_flex {
    display: flex;
    justify-content: space-between;
    margin-top: 4px;
    padding: 0 8px;
}

.top_mv_section .recent_card .recent_left {
    text-align: center;
    white-space: nowrap;
    width: 49%;
    padding-top: 12px;
}

.top_mv_section .recent_card .recent_date {
    text-align: center;
    font-size: 18px;
    color: #4d4d4d;
    font-weight: bold;
    line-height: 1;
}

.top_mv_section .recent_card .recent_age {
    margin-top: 12px;
    color: #338c24;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
}

.top_mv_section .recent_card .recent_right {
    width: 49%;
}

.top_mv_section .recent_card .recent_city {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    min-width: 170px;
    min-height: 32px;
    border-radius: 40px;
    background-color: #e6c493;
    padding: 3px 8px;
    font-size: 19px;
    font-weight: bold;
    line-height: 1.3;
    color: #fff;
    margin: 0 auto;
}

.top_mv_section .recent_card .recent_place {
    display: flex;
    justify-content: center;
    font-size: 14px;
    line-height: 1.3;
    margin-top: 3px;
}

.top_mv_section .recent_card .recent_room {
    display: flex;
    justify-content: center;
    font-size: 14px;
    line-height: 1.3;
    margin-top: 3px;
}

.top_mv_section .recent_card .entry_flex {
    margin-top: 6px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 8px;
}

.top_mv_section .recent_card .entry_box {
    width: 48%;
}

.top_mv_section .recent_card .entry_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 178px;
    height: 38px;
    border-radius: 20px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.35);
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    margin: 0 auto;
}

.top_mv_section .recent_card .men .entry_button {
    background-color: #80caff;
}

.top_mv_section .recent_card .women .entry_button {
    background-color: #ff91ae;
}


.top_mv_section .recent_card .full .entry_button {
    background-color: #808080 !important;
    pointer-events: none !important;
}

.top_mv_section .recent_card .entry_fee {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 8px;
    font-weight: bold;
    line-height: 1;
}

.top_mv_section .recent_card .entry_normal {
    font-size: 18px;
}

.top_mv_section .recent_card .entry_arrow {
    font-size: 14px;
    margin: 0 8px;
}

.top_mv_section .recent_card .entry_special {
    font-size: 24px;
}

.top_mv_section .recent_card .entry_status {
    display: flex;
    justify-content: center;
    margin-top: 6px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
}

.top_mv_section .recent_card .men .entry_status {
    color: #5ebcff;
}

.top_mv_section .recent_card .women .entry_status {
    color: #ff91ae;
}

.top_mv_section .recent_card .cancel .entry_status,
.top_mv_section .recent_card .full .entry_status {
    color: #808080;
}

.top_mv_section .recent_card .recent_detail {
    margin-top: 10px;
    display: flex;
    justify-content: center;
    background-color: #d7eee1;
    font-size: 20px;
    line-height: 1.4;
    padding: 4px 12px;
}


.top_mv_section .point_area {
    padding-top: 88px;
}

.top_mv_section .point_list {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

.top_mv_section .point_block {
    width: 385px;
    padding: 32px 24px 108px;
    text-align: center;
    white-space: nowrap;
}


.top_mv_section .point_block:nth-child(2) {
    border-left: 1px solid #ffd4ad;
    border-right: 1px solid #ffd4ad;
}

.top_mv_section .point_block .point_head {
    font-size: 62px;
    line-height: 1.3;
    font-weight: bold;
}

.top_mv_section .point_block .point_head span {
    color: #ff91ae;
}

.top_mv_section .point_block .point_text {
    margin-top: 56px;
    font-size: 38px;
    font-weight: bold;
    line-height: 1.5;
    color: #5bc24b;
    position: relative;
}

.top_mv_section .point_block .point_num {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.top_mv_section .point_block .point_num img {
    width: 100%;
}

.top_mv_section .point_block .point_num01 {
    width: 144px;
}

.top_mv_section .point_block .point_num02 {
    width: 193px;
}

.top_mv_section .point_block .point_num03 {
    width: 212px;
}


.top_mv_section .banner_list {
    display: flex;
    justify-content: space-between;
    max-width: 1400px;
    width: 90%;
    margin: 40px auto 0;
}

.top_mv_section .banner_list li {
    width: 32%;
    max-width: 445px;
}

.top_mv_section .banner_list li a,
.top_mv_section .banner_list li a img {
    display: block;
    width: 100%;
}




.top_body #plist {
    background: none;
}

.top_event_section {
    background-color: #f2f2f2;
    padding-bottom: 60px;
}

.top_event_section .search_head_area {
    margin-bottom: 72px;
}

.top_event_section .search_head {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #5bc24b;
    padding: 12px 24px;
}

.top_event_section .search_head .search_head_text {
    font-size: 24px;
    color: #fff;
    font-weight: bold;
    line-height: 1;
    margin-right: 40px;
}

.top_event_section .top_sec_head {
    margin-bottom: 64px;
}

.top_body #voice {
    background: none;
    overflow: hidden;
}

.top_voice_section {
    padding-top: 60px !important;
}

.top_voice_section .voice_inner {
    position: relative;
}

.top_voice_section .voice_list_link {
    position: absolute;
    display: block;
    width: 326px;
    text-align: center;
    white-space: nowrap;
    border-bottom: 2px solid #7db0ff;
    font-size: 22px;
    font-weight: bold;
    color: #7db0ff;
    top: 30px;
    left: calc(50% + 390px);
}

@media screen and (max-width:1500px) {
    .top_voice_section .voice_list_link {
        left: auto;
        right: 32px;
    }

}

.top_voice_section .voicewrap {
    margin-top: 40px;
}

.top_voice_section .voice_slide {
    width: 480px;
    padding: 0 15px;
}

.top_voice_section .voice_card {
    box-sizing: border-box;
    width: 450px;
    height: 231px;
    background-image: url('../img_add/top/voice_card_bg.png');
    background-size: contain;
    background-repeat: no-repeat;
    padding-top: 40px;
    padding-left: 80px;
    padding-right: 80px;
    color: #4d4d4d;
    overflow: hidden;
}

.top_voice_section .voice_card .voice_name {
    font-weight: bold;
}

.top_voice_section .voice_card .voice_text {
    margin-top: 8px;
    line-height: 1.6;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.top_voice_section .voice_post_link {
    width: 380px;
    max-width: 100%;
    height: 50px;
    border-radius: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 48px auto 0;
    background-color: #a3c7ff;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
}


.top_body #report {
    background: none;
    overflow: hidden;
}

.top_report_section {
    padding-top: 88px !important;
}

.top_report_section .report_inner {
    position: relative;
}

.top_report_section .report_list_link {
    position: absolute;
    display: block;
    width: 326px;
    text-align: center;
    white-space: nowrap;
    border-bottom: 2px solid #b17fe7;
    font-size: 22px;
    font-weight: bold;
    color: #b17fe7;
    top: 30px;
    left: calc(50% + 330px);
}

@media screen and (max-width:1500px) {
    .top_report_section .report_list_link {
        left: auto;
        right: 32px;
    }

}

.top_report_section .sub_head {
    margin-bottom: 40px;
}


.top_blog_section {
    padding-top: 72px !important;
}

.top_blog_section .blog_inner {
    position: relative;
}

.top_blog_section .blog_list_link {
    position: absolute;
    display: block;
    width: 326px;
    text-align: center;
    white-space: nowrap;
    border-bottom: 2px solid #c7c700;
    font-size: 22px;
    font-weight: bold;
    color: #c7c700;
    top: 30px;
    left: calc(50% + 270px);
}

@media screen and (max-width:1500px) {
    .top_blog_section .blog_list_link {
        left: auto;
        right: 32px;
    }
}

.top_blog_section .top_sec_head {
    margin-bottom: 56px;
}


.top_search_seciton {
    padding-top: 88px !important;
    padding-bottom: 88px !important;

}

.top_search_seciton a {
    transition-duration: 0.4s;
    text-decoration: none;
}

@media(any-hover:hover) {
    .top_search_seciton a:hover {
        opacity: 0.5;
    }
}


.top_search_seciton .search_frame {
    max-width: 900px;
    margin: 0 auto;
}

.top_search_seciton .search_area {
    margin-top: 48px;
}

.top_search_seciton .search_head {
    font-size: 36px;
    color: #318a23;
    font-weight: bold;
    line-height: 1;
}

.top_search_seciton .search_contents {
    margin-top: 40px;
}

.top_search_seciton .search_area01 .search_contents {
    padding-left: 80px;
}

.top_search_seciton .search_area02 .search_contents {
    padding-left: 96px;
}

.top_search_seciton .region_block+.region_block {
    margin-top: 24px;
}

.top_search_seciton .region_block .region_head {
    display: flex;
    align-items: center;
}

.top_search_seciton .region_block .region_head::before,
.top_search_seciton .region_block .region_head::after {
    content: '';
    height: 3px;
    background-color: #5bc24b;
}

.top_search_seciton .region_block .region_head::before {
    flex-shrink: 0;
    width: 120px;
}

.top_search_seciton .region_block .region_head::after {
    width: 100%;
}

.top_search_seciton .region_block .region_head p {
    flex-shrink: 0;
    width: 240px;
    color: #4d4d4d;
    font-size: 24px;
    font-weight: bold;
    list-style: 1;
    text-align: center;
}

.top_search_seciton .region_block .pre_list {
    margin-top: 12px;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
}

.top_search_seciton .region_block .pre_list a {
    width: fit-content;
    min-width: 80px;
    height: 32px;
    border-radius: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #dff0dd;
    padding: 0 8px;
    color: #4d4d4d;
    font-weight: bold;
    line-height: 1;

}

.top_search_seciton .city_line {
    display: flex;
    align-items: flex-start;
}

.top_search_seciton .city_line+.city_line {
    margin-top: 4px;
}

.top_search_seciton .city_line .pre_head {
    width: fit-content;
    min-width: 80px;
    height: 32px;
    border-radius: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #dff0dd;
    padding: 0 8px;
    color: #4d4d4d;
    font-weight: bold;
    line-height: 1;
    flex-shrink: 0;
    margin-right: 20px;
}

.top_search_seciton .city_list {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    padding-top: 3px;
    gap: 12px 16px;
}

.top_search_seciton .city_list li {}

.top_search_seciton .city_list li a {
    padding: 0 3px 3px;
    color: #4d4d4d;
    font-weight: bold;
    border-bottom: 1px solid #4d4d4d;
}

.ftwrap .footer_banner_list {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 48px;
}

.ftwrap .footer_banner_list a {
    width: 92%;
    max-width: 400px;
}

.ftwrap .footer_banner_list a+a {
    margin-top: 32px;

}

.ftwrap .footer_banner_list a img {
    width: 100%;
}

.ftwrap .koukoku-b img {
    width: 332px;
    height: 128px;
    object-fit: cover;
}

/*
-----------------------------------------------------------------
イベント詳細
-----------------------------------------------------------------
*/
body.event_body {}

body.event_body #main>div {
    /* padding: 2.5em 0 4em; */
    background: none;
}

body.event_bod #foot {
    box-shadow: none;
}

body.event_bod #main>div {
    padding: 0;
}

body.event_bod a {
    text-decoration: none;
}

#main.event_main {
    overflow: hidden;
}

.event_section {}

.event_section .container {
    max-width: 1000px;
    width: 92%;
    margin: 0 auto;
}

.event_section .event_sec_head {
    display: flex;
    justify-content: center;
}

.event_section .event_sec_head img {
    height: 80px;
}


.event_mv_section {}

.event_mv_section .event_mv {
    display: flex;
    justify-content: center;
}

.event_mv_section .event_mv img {
    width: 100%;
    max-width: 750px;
}

.event_info_section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.event_info_section .pc_hide {
    display: none;
}

.event_info_section #plist {
    background: none;
}

.event_info_section #plist .eventlist {
    justify-content: center;
}

.event_info_section #plist .eventlist li {
    flex-basis: auto;
    width: 750px;
    max-width: 100%;
    font-size: 0.875em;
    background: #fff;
    border: 1px solid #ccc;
    margin: 0 0.35em 2em;
    display: flex;
    flex-direction: column;
}

.event_info_section .event_detail_area {
    margin-top: 40px;
}

.event_info_section h2 p {
    display: block;
    padding-left: 0;
    background: none;
    min-height: auto;
    font-size: 24px;
    font-weight: bold;
}

.event_access_section {
    padding-top: 48px !important;
    padding-bottom: 0 !important;
}


.event_access_section .event_access_frame {
    width: fit-content;
    margin: 24px auto 0;
    color: #4d4d4d;
}

.event_access_section .event_place {
    font-size: 18px;
    font-weight: bold;
}

.event_access_section .event_adress {
    line-height: 1.5;
}

.event_access_section .event_access {
    margin-top: 16px;
}

.event_access_section .event_map {
    max-width: 750px;
    height: 400px;
    margin: 24px auto 0;
}

.event_access_section .event_map iframe {
    display: block;
    width: 100%;
    height: 100%;
}


.event_detail_section {
    padding-top: 56px !important;
    padding-bottom: 0 !important;
}

.event_detail_section .point_list {
    margin-top: 48px;
}

.event_detail_section .point_block {
    max-width: 755px;
    margin: 0 auto;
}

.event_detail_section .point_block+.point_block {
    margin-top: 48px;
}

.event_detail_section .point_thumb img {
    width: 100%;
}

.event_detail_section .point_text {
    margin-top: 24px;
    color: #4d4d4d;
    line-height: 1.5;
}

.event_detail_section .use_head {
    position: relative;
    font-size: 32px;
    font-weight: bold;
    line-height: 1;
    margin-top: 72px;
    text-align: center;
}

.event_detail_section .use_head::before {
    content: '';
    width: 521px;
    height: 100px;
    background-image: url('../img_add/event/text_bg_green.png');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: -1;
}

.event_detail_section .use_frame {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    margin-top: 40px;
}

.event_detail_section .use_list {
    width: 92%;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.event_detail_section .use_list li {
    width: 32%;
    max-width: 450px;
}

.event_detail_section .use_list li img {
    width: 100%;
}

.event_detail_section .use_text {
    font-size: 18px;
    line-height: 1.5;
    margin-top: 40px;
}

.event_detail_section .regist_head {
    margin-top: 48px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;

}

.event_detail_section .regist_link {
    display: block;
    width: 180px;
    margin: 20px auto 0;
    border-radius: 50%;
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5);
    overflow: hidden;
}

.event_detail_section .regist_link img {
    width: 100%;
    border-radius: 50%;

}

.event_flow_section {
    padding-top: 48px !important;
    padding-bottom: 0 !important;
}

.event_flow_section .flow_list {
    margin-top: 48px;
}

.event_flow_section .flow_block+.flow_block {
    margin-top: 40px;
}

.event_flow_section .flow_block .flow_head {
    width: fit-content;
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 6px;
    border-bottom: 1px solid #5bc24b;
}

.event_flow_section .flow_block .flow_text {
    margin-top: 8px;
    font-size: 18px;
    line-height: 1.5;
    padding-left: 8px;
}

.event_faq_section {
    padding-top: 64px !important;
    padding-bottom: 0 !important;
}

.event_faq_section .faq_list {
    margin-top: 32px;
}

.event_faq_section .faq_block {
    border-bottom: 1px solid #4d4d4d;
}

.event_faq_section .faq_block .faq_question {
    cursor: pointer;
    position: relative;
    padding: 12px 56px 12px 40px;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
}

.event_faq_section .faq_block .faq_question::before {
    content: 'Q.';
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    position: absolute;
    left: 4px;
    top: 12px;
}

.event_faq_section .faq_block .faq_question::after {
    content: '';
    width: 23px;
    height: 10px;
    background-image: url('../img_add/icon_angle_bottom_black.svg');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    top: 24px;
}

.event_faq_section .faq_block .faq_question.active::after {
    transform: rotateZ(180deg);
}

.event_faq_section .faq_block .faq_answer {
    padding: 4px 56px 32px 40px;
    line-height: 1.75;
    display: none;
}

.event_faq_section .faq_link {
    margin-top: 48px;
    text-align: center;
}

.event_faq_section .faq_link a {
    font-size: 20px;
    font-weight: bold;
    color: #5bc24b;
    text-decoration: none;
}

.event_faq_section .guide_link {
    margin-top: 32px;
    text-align: center;

}

.event_faq_section .guide_link a {
    font-size: 20px;
    font-weight: bold;
    color: #4d4d4d;
    text-decoration: none;
    padding: 0 8px 4px;
    border-bottom: 1px solid #4d4d4d;
}

.event_alert_section {
    padding-top: 96px !important;
    padding-bottom: 0 !important;
}

.event_alert_section .alert_text {
    margin-top: 40px;
    line-height: 1.5;
}


/*
-----------------------------------------------------------------
イベント一覧
-----------------------------------------------------------------
*/
body.event_list_body {}

body.event_list_body #main>div {
    /* padding: 2.5em 0 4em; */
    background: none;
}

body.event_list_bod #foot {
    box-shadow: none;
}

body.event_list_bod #main>div {
    padding: 0;
}

body.event_list_bod a {
    text-decoration: none;
}

#main.event_list_main {
    overflow: hidden;
}

body.event_list_body .event_list_wrapper {
    padding: 0 !important;
}

.event_list_section {}

.event_list_section .container {
    max-width: 1000px;
    width: 92%;
    margin: 0 auto;
}

.event_list_section01 {

    position: relative;
    padding-bottom: 40px;
}

.event_list_section01::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #f2f2f2;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -3;
}

.event_list_section01 .search_head_area {
    position: relative;
}

.event_list_section01 .search_head_area::before {
    content: '';
    width: 100vw;
    height: 100%;
    background-color: #7ac26f;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: -1;
}

.event_list_section01 .search_head {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 0;
}

.event_list_section01 .search_head .search_head_text {
    margin-left: 32px;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    line-height: 1;
}

.event_list_section01 .prefecture_head {
    width: fit-content;
    min-width: 270px;
    padding: 0 12px 8px;
    border-bottom: 2px solid #4fc883;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    margin: 30px auto 0;
    color: #5bc24b;
}

.event_list_section01 .city_list {
    width: fit-content;
    margin: 24px auto 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 24px 44px;
}

.event_list_section01 .city_list a {
    padding: 3px 24px;
    min-height: 40px;
    border-radius: 100px;
    border: 1px solid #4fc882;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #4fc882;
    font-size: 18px;
    text-decoration: none;
    transition-duration: 0.4s;
}

.event_list_section01 .city_list a.active {
    background-color: #4fc882;
    color: #fff;
}

@media(any-hover:hover) {
    .event_list_section01 .city_list a:hover {
        background-color: #4fc882;
        color: #fff;
    }
}

.event_list_section01 .city_text {
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    margin-top: 12px;
}

.event_list_section01 .eventlist {
    margin-top: 40px;
}

/*
-----------------------------------------------------------------
マイページ
-----------------------------------------------------------------
*/

.mypage_body .m_button {
    text-align: center;
    margin-bottom: 0;
    margin-top: 48px;
}

.mypage_body .mypage_flex {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 32px;
    padding-bottom: 40px;
}

.mypage_body .mypage_flex * {
    box-sizing: border-box;
}

.mypage_body .user_box_frame {
    width: 100%;
    margin-bottom: 32px;
}

.mypage_body .user_box {
    width: 100%;
    margin: 0 auto;
    padding: 20px 20px 24px;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    background-image: url('../img_add/mypage/mypage_bg.png');
    background-size: cover;
    border-radius: 10px;
    color: #fff;
}

.mypage_body .user_box .user_head {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;


}

.mypage_body .user_box .user_head::before {
    content: '';
    width: 75px;
    height: 35px;
    margin-right: 32px;
    background-image: url('../img_add/mypage/icon_mypage.svg');
    background-size: cover;
}

.mypage_body .user_box .user_box_text01 {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.3;
    display: flex;
    justify-content: center;
}

.mypage_body .user_box .user_box_text02 {
    margin-top: 8px;
    font-size: 18px;
    line-height: 1.3;
    display: flex;
    justify-content: center;
}

.mypage_body .user_box .user_point {
    text-align: center;
    margin-top: 16px;
    font-size: 18px;
}

.mypage_body .user_box .user_point span {
    font-size: 36px;
    font-weight: bold;
}

.mypage_body .point_box {}

.mypage_body .point_box .point_button {
    box-sizing: border-box;
    width: 380px;
    height: 88px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: 50px;
    position: relative;
    padding: 5px;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    background-image: url('../img_add/mypage/point_get_bg.png');
    background-size: cover;
}

.mypage_body .point_box .point_button.off {
    cursor: default;
    background: gray;
}

.mypage_body .point_box .point_button::after {
    content: '';
    width: 44px;
    height: 50px;
    background-image: url('../img_add/mypage/icon_point_get.svg');
    background-size: cover;
    position: absolute;
    right: 32px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.mypage_body .point_box .point_button_inner {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 3px solid #dcb74f;
    border-radius: 50px;
    box-sizing: border-box;
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    line-height: 1.4;
}

.mypage_body .change_frame {
    width: calc(100% - 400px);
    display: flex;
    justify-content: flex-end;
}

.mypage_body .change_frame .point_change_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #3e3a3a;
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
    text-decoration: none;
}

.mypage_body .change_frame .point_change_link::after {
    content: '';
    width: 53px;
    height: 40px;
    background-image: url('../img_add/mypage/icon_point_change.svg');
    background-size: cover;
    margin-top: 6px;
}

.mypage_body .news_frame {
    width: 100%;
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

.mypage_body .news_box {
    width: 100%;
}

.mypage_body .news_box .news_head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
    color: #27944a;
    padding-bottom: 6px;
    border-bottom: 3px solid #27944a;
    margin-bottom: 12px;
}

.mypage_body .news_box .news_head a {
    font-size: 18px;
    color: #3e3a3a;
    font-weight: 400;
    text-decoration: none;
}

.mypage_body .news_box ul li {
    margin-bottom: 8px;
    display: flex;
    align-items: flex-start;
    line-height: 1.5;
}

.mypage_body .news_box ul li .news_date {
    flex-shrink: 0;
    width: 120px;
}

.mypage_body .news_box ul li .news_text {
    width: 100%;
}

.mypage_body .news_box ul li .news_text br {
    display: none;
}


.mypage_body .campaign_area {
    margin-top: 48px;
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
}

.mypage_body .campaign_area * {
    box-sizing: border-box;
}

.mypage_body .campaign_box {
    max-width: 680px;
    margin: 0 auto;
    padding: 20px 48px 32px;
    background-image: url('../img_add/mypage/campaign_bg.png');
    background-size: cover;
}

.mypage_body .campaign_head {
    display: flex;
    justify-content: center;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.35);
}

.mypage_body .campaign_head img {
    width: 100%;
}

.mypage_body .campaign_line {
    margin-top: 32px;
    padding-left: 32px;
    position: relative;
    color: #3e3e3d;
}

.mypage_body .campaign_line::before {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
    background-color: #3e3a3a;
    position: absolute;
    left: 12px;
    top: 10px;
}

.mypage_body .campaign_day {
    font-size: 23px;
    font-weight: bold;
    line-height: 1;
}

.mypage_body .campaign_day span {
    font-size: 30px;
    padding-right: 4px;
}

.mypage_body .campaign_text {
    text-align: right;
    font-size: 38px;
    font-weight: bold;
    color: #9c461e;
}

.mypage_body .campaign_text span {
    font-size: 23px;
    color: #3e3a3a;
}

.mypage_body .campaign_remark {
    color: #9c461e;
    margin-top: 12px;
}

.mypage_body .campaign_remark+.campaign_remark {
    margin-top: 0;
}

.mypage_body .campaign_bottom_text {
    text-align: center;
    font-size: 23px;
    line-height: 1.5;
    margin-top: 20px;
}

.mypage_body .info_link {
    text-align: right;
    margin-top: 12px;
    margin-bottom: 24px;
}

/*
-----------------------------------------------------------------
マイページのバナー
-----------------------------------------------------------------
*/

.mypage_body #side_icon {
    display: none;
}




.mypage_body #mypage_banner01 {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: block;
    z-index: 1000;
    padding: 0;
    background-color: transparent;
    opacity: 1;
}

.mypage_body #mypage_banner01:hover,
.mypage_body #mypage_banner01:hover img {
    opacity: 1 !important;
}

.mypage_body #mypage_banner01 img {
    width: 100%;
}

.mypage_body #mypage_banner02:hover,
.mypage_body #mypage_banner02:hover a,
.mypage_body #mypage_banner02:hover img {
    opacity: 1 !important;
}

.mypage_body #mypage_banner01 img {
    width: 100%;

}


.mypage_body .banner_popup {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
    height: 100svh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.4) !important;
    padding: 0 !important;
    transition-duration: 0.4s;
}

.mypage_body .banner_popup.vanish {
    opacity: 0;
    pointer-events: none;
}

.mypage_body .banner_popup .banner_popup_close {

    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-image: url('../img_add/icon_close_black.svg');
    cursor: pointer;
    position: absolute;
    top: -30px;
    right: -20px;
}

.mypage_body .banner_popup .banner_frame {
    width: 80%;
    position: relative;
    /* max-height: 80%; */
}

.mypage_body .banner_popup .banner_inner {
    width: 100%;
    max-height: 80svh;
    overflow-y: scroll;
    scrollbar-width: none;
    /*Firefox対応のスクロールバー非表示コード*/
    -ms-overflow-style: none;
    /*Internet Explore対応のスクロールバー非表示コード*/
}

.mypage_body .banner_popup .banner_inner::-webkit-scrollbar {
    display: none;
    /*Google Chrome、Safari、Microsoft Edge対応のスクロールバー非表示コード*/
}

.mypage_body .banner_popup #mypage_banner02 {
    display: block;
    width: 100%;
}


.mypage_body .banner_popup #mypage_banner02 img {
    width: 100%;

}

@media screen and (min-width:601px) {
    .mypage_body #mypage_banner01 {
        display: none !important;
    }

    .mypage_body .banner_popup {
        display: none !important;
    }

}

/*@media screen and (min-width:601px){*/


@media (max-width: 800px) {
    .mypage_body #foot {
        padding-bottom: 150px;
    }
}

/*
-----------------------------------------------------------------
ユーザー情報変更
-----------------------------------------------------------------
*/

.user_setting_body .add_retire_text {
    font-size: 18px;
    font-weight: bold;
    margin-top: 24px;
}

/*
-----------------------------------------------------------------
申し込み画面
-----------------------------------------------------------------
*/

.step1_body .cancel_wait_text {
    width: fit-content;
    margin: 0 auto;
    color: rgb(211, 0, 0);
    font-weight: bold;
}

.step1_body .add_flex {
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    margin-top: 40px;
}

.step1_body .add_flex .add_text {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 8px;
}

.step1_body .add_flex a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 380px;
    max-width: 100%;
    height: 56px;
    color: #fff;
    text-decoration: none;
}

.step1_body .add_flex .add_box01 a {
    background-color: #009245;
}

.step1_body .add_flex .add_box02 a {
    background-color: #ed8e8e;
}

.add_agree_area {
    margin-top: 48px;
    margin-bottom: 56px;
}

.add_agree_area .agree_text_frame {
    max-height: 200px;
    overflow-y: scroll;
    padding: 2.5em;
    padding-top: 1em;
    background-color: #fff;
    border: 1px solid #4d4d4d;
}

.add_agree_area .agree_head {
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    margin-top: 32px;
    margin-bottom: 16px;
}

.add_agree_area ol {
    margin-top: 8px;
}

.add_agree_area ol li {
    list-style-type: decimal;
    margin-left: 2em;
}

.add_agree_area .agree_text01 {
    font-weight: bold;
    margin-top: 24px;
    margin-bottom: 0;
}

.add_agree_area .agree_text02 {
    margin-top: 8px;
}

.add_agree_area .agree_text03 {
    /* font-size: 14px; */
    margin-top: 8px;
}

.add_agree_area label {
    cursor: pointer;
    width: fit-content;
    display: block;
    margin: 8px auto 0;

}



.cancel_agree_area {
    width: fit-content;
    margin: 32px auto;

}

.cancel_agree_area .cancel_agree_head {
    text-align: center;
    color: rgb(211, 0, 0);
    font-size: 18px;
    font-weight: bold;
}


.cancel_agree_area .cancel_agree_text {
    margin-top: 16px;
    line-height: 1.5;
}

.cancel_agree_area .cancel_agree_text span {
    color: rgb(211, 0, 0);
    font-weight: bold;
}

.cancel_agree_area label {
    cursor: pointer;
    width: fit-content;
    display: block;
    margin: 8px auto 0;

}

.add_alert_text {
    width: fit-content;
    font-size: 18px;
    font-weight: bold;
    margin: 8px auto 0;
}

/*
-----------------------------------------------------------------
婚活パーティー初めてガイド　詳細
-----------------------------------------------------------------
*/

.singe_guide_main .article p {
    margin: 24px 0;
}

.singe_guide_main .article h2 {
    margin: 24px 0;
}

.singe_guide_main .article dd {
    padding-bottom: 40px;
}

/*
-----------------------------------------------------------------
ブログ
-----------------------------------------------------------------
*/

.blog_main .article p {
    margin: 24px 0;
}

.blog_main .article h2 {
    margin: 24px 0;
}

.blog_main .article dd {
    padding-bottom: 40px;
}



/*
-----------------------------------------------------------------
ポイント交換
-----------------------------------------------------------------
*/


.point_section01 {}


.point_section01 .p01 {
    text-align: center;
    font-weight: 500;
}

.point_section01 .point_link {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #019929;
    color: #fff;
    width: 240px;
    height: 60px;
    border-radius: 30px;
    margin: 20px auto 0;
    font-size: 16px;
    list-style: 1;
    font-weight: bold;
    text-decoration: none;
}

.point_section01 .p02 {
    margin-top: 40px;
    font-weight: 500;
    text-align: center;
}

.point_section01 .form_frame {
    background-color: #fafafa;
    padding: 24px 24px 40px;
    max-width: 820px;
    margin: 24px auto 0;
}

.point_section01 .form_line {
    margin-top: 16px;
}

.point_section01 .form_line:first-child {
    margin-top: 0;
}

.point_section01 .form_line .label {
    margin-bottom: 6px;
}

.point_section01 .form_line select {
    display: block;
    width: 310px;
    height: 36px;
    padding: 0 8px;
    border-radius: 0;
    border: 1px solid #4d4d4d;
}

.point_section01 .form_line input[type='text'] {
    display: block;
    width: 100%;
    height: 36px;
    border-radius: 0;
    border: 1px solid #4d4d4d;
    padding: 0 8px;
}

.point_section01 .form_line .notice {
    line-height: 1.5;
    margin-top: 16px;
}

.point_section01 .check_label {
    width: fit-content;
    margin: 32px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.point_section01 .check_label input {
    margin-right: 8px;
    width: 16px;
    height: 16px;
}

.point_section01 .send_button {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 32px auto 0;
    width: 230px;
    height: 48px;
    background-color: #333333;
    color: #fff;

}

.point_section01 .p03 {
    margin-top: 40px;
    font-weight: 500;
    text-align: center;
}

/*
-----------------------------------------------------------------
アプローチ一覧
-----------------------------------------------------------------
*/


.approachlist_section01 .approach_info_text {
    font-size: 18px;
    text-align: center;
    line-height: 1.5;
    /* font-weight: bold; */
}

.approachlist_section01 .p01 {
    font-size: 16px;
    text-align: center;
    line-height: 1.75;
    margin-top: 48px;
}

.approachlist_section01 .input_area {
    margin-top: 12px;
}

.approachlist_section01 .input_frame {
    width: 260px;
    margin: 12px auto 0;
}

.approachlist_section01 .input_frame input {
    display: block;
    width: 100%;
    height: 40px;
    border: 1px solid #5c5c5c;
    border-radius: 0px;
    color: #4d4d4d;
    font-size: 20px;
    font-weight: normal;
    text-align: center;
}

.approachlist_section01 .key_err {
    color: #ff0000;
    text-align: center;
}

.approachlist_section01 .send_key_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 155px;
    height: 32px;
    background-color: #f78b6e;
    border-radius: 6px;
    font-size: 16px;
    color: #fff;
    line-height: 1;
    font-weight: 700;
    margin: 24px auto 0;
}

.approachlist_section01 h3 {
    background: none;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 8px;
    border-bottom: 3px solid #62a67e;
    color: #4d4d4d;
    margin-top: 32px;
    padding-left: 60px;
}

.approachlist_section01 h3::before {
    content: "";
    width: 18px;
    height: 24px;
    background-image: url('../img_add/icon_exclamation_black.svg');
    position: absolute;
    left: 18px;
    top: 3px;
}

.approachlist_section01 h3 span {
    font-size: 14px;
    line-height: 1;
    font-weight: normal;
}

.approachlist_section01 .list_area {
    margin-top: 48px;
}

.approachlist_section01 .list_head {
    display: flex;
    justify-content: space-between;
}

.approachlist_section01 .head_item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 220px;
    height: 50px;
    border-radius: 16px;
    background-color: #cdcdcd;
    text-align: center;
    color: #5c5c5c;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
}

.approachlist_section01 .head_date {
    width: 142px;
}

.approachlist_section01 .head_place {
    width: 220px;
}

.approachlist_section01 .head_human {
    width: 190px;
    font-size: 16px;
    line-height: 1.2;
}

.approachlist_section01 .head_human::before {
    content: "";
    width: 22px;
    height: 19px;
    background-image: url('../img_add/icon_heart_black.svg');
    margin-right: 10px;
}

.approachlist_section01 .head_human span {
    font-size: 12px;
}

.approachlist_section01 .head_limit {
    width: 135px;
}

.approachlist_section01 .head_status {
    width: 220px;
}

.approachlist_section01 .approach_list {
    margin-top: 20px;
}

.approachlist_section01 .approach_block {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 16px 0;
    border-bottom: 1px solid #62a67e;
    font-size: 20px;
    line-height: 1.2;
    position: relative;
}

.approachlist_section01 .approach_block.approach_get::before {
    content: '';
    width: 100vw;
    height: calc(100% + 2px);
    background-color: #cbf5e2;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: -3;
}

.approachlist_section01 .approach_block.limit_over {
    display: none;
}

.approachlist_section01 .approach_date {
    width: 142px;
    white-space: nowrap;
    padding-left: 6px;
}

.approachlist_section01 .approach_place {
    width: 220px;
}

.approachlist_section01 .approach_human {
    width: 190px;
    word-wrap: break-word;
    position: relative;
    display: flex;
    flex-wrap: wrap;
}

.approachlist_section01 .approach_human span::after {
    content: ',';
}

.approachlist_section01 .approach_human span:last-child:after {
    content: none;
}

.approachlist_section01 .approach_human::before {
    content: '';
    width: calc(100% + 8px);
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: -1;
}

.approachlist_section01 .approach_human.approve_wait,
.approachlist_section01 .approach_human.available_chat,
.approachlist_section01 .approach_human.get_heart {
    padding-left: 12px;
    padding-top: 2px;
}

.approachlist_section01 .approach_human.approve_wait::before {
    background-color: #f5c35f;
}

.approachlist_section01 .approach_human.available_chat::before {
    background-color: #62D1A2;
}

.approachlist_section01 .approach_human.get_heart::before {
    background-color: #4F9AF5;
}

.approachlist_section01 .approach_block.limit_over .approach_human.approve_wait::before,
.approachlist_section01 .approach_block.limit_over .approach_human.available_chat::before,
.approachlist_section01 .approach_block.limit_over .approach_human.get_heart::before {
    background-color: #A6A6A6 !important;
}

.approachlist_section01 .approach_limit {
    width: 135px;
    color: #de582c;
}

.approachlist_section01 .approach_block.limit_over .approach_limit {
    color: #4d4d4d;
}

.approachlist_section01 .approach_status {
    width: 220px;
}

.approachlist_section01 .list_button {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    border-radius: 25px;
    position: relative;
    padding-left: 32px;
    font-size: 17px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.25);
    text-decoration: none;
}

.approachlist_section01 .list_button::before {
    content: "";
    position: absolute;
    background-size: cover;
    background-position: center;
    top: 0;
    bottom: 0;
    margin: auto;
}

.approachlist_section01 .approach_block.limit_over .list_button {
    background-color: #A6A6A6 !important;
}

.approachlist_section01 .list_button.approach_send {
    background-color: #EDA088;
}

.approachlist_section01 .list_button.approach_send::before {
    width: 24px;
    height: 16px;
    background-image: url('../img_add/icon_mail_white.svg');
    left: 24px;
}

.approachlist_section01 .list_button.approve_wait {
    background-color: #F5C35F;
}

.approachlist_section01 .list_button.approve_wait::before {
    width: 13px;
    height: 21px;
    background-image: url('../img_add/icon_wait_white.svg');
    left: 32px;
}

.approachlist_section01 .list_button.available_chat {
    background-color: #62D1A2;
}

.approachlist_section01 .list_button.available_chat::before {
    width: 22px;
    height: 22px;
    background-image: url('../img_add/icon_chat_white.svg');
    left: 24px;
}

.approachlist_section01 .list_button.get_heart {
    background-color: #4F9AF5;
}

.approachlist_section01 .list_button.get_heart::before {
    width: 26px;
    height: 22px;
    background-image: url('../img_add/icon_heart_white.svg');
    left: 22px;
}


.approachlist_section01 .approach_pop {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    opacity: 0;
    transition-duration: 0.7s;
}

.approachlist_section01 .approach_pop.show {
    pointer-events: auto;
    opacity: 1;
}

.approachlist_section01 .approach_pop .pop_frame {}


/*
-----------------------------------------------------------------
アプローチ送信
-----------------------------------------------------------------
*/


.approach_send_section01 {}

.approach_send_section01 h3 {
    background: none;
    position: relative;
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 8px;
    border-bottom: 3px solid #62a67e;
    color: #4d4d4d;
    padding-left: 16px;
}

.approach_send_section01 h3::before {
    content: "";
    width: 31px;
    height: 21px;
    background-image: url('../img_add/icon_mail_black.svg');
    margin-right: 20px;
}

.approach_send_section01 .list_head {
    display: flex;
    justify-content: space-between;
    margin-top: 48px;
}

.approach_send_section01 .head_item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    border-radius: 16px;
    background-color: #cdcdcd;
    text-align: center;
    color: #5c5c5c;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
}

.approach_send_section01 .head_date {
    width: 142px;
}

.approach_send_section01 .head_place {
    width: 220px;
}

.approach_send_section01 .head_human {
    width: 190px;
    font-size: 16px;
    line-height: 1.2;
}

.approach_send_section01 .head_human::before {
    content: "";
    width: 22px;
    height: 19px;
    background-image: url('../img_add/icon_heart_black.svg');
    margin-right: 10px;
}

.approach_send_section01 .head_human span {
    font-size: 12px;
}

.approach_send_section01 .head_limit {
    width: 135px;
}

.approach_send_section01 .head_select {
    width: 220px;
}

.approach_send_section01 .approach_block {
    display: flex;
    justify-content: space-between;
    font-size: 20px;
    line-height: 1.2;
    position: relative;
    margin-top: 32px;
}

.approach_send_section01 .approach_date {
    width: 142px;
}

.approach_send_section01 .approach_place {
    width: 220px;
}

.approach_send_section01 .approach_human {
    width: 190px;
    word-wrap: break-word;
    position: relative;
    display: flex;
    flex-wrap: wrap;
}

.approach_send_section01 .approach_human span::after {
    content: ',';
}

.approach_send_section01 .approach_human span:last-child:after {
    content: none;
}

.approach_send_section01 .approach_human::before {
    content: '';
    width: calc(100% + 8px);
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: -1;
}

.approach_send_section01 .approach_limit {
    width: 135px;
    color: #de582c;
}

.approach_send_section01 .approach_select {
    width: 220px;
}

.approach_send_section01 .approach_select .select_frame {
    position: relative;
    width: 150px;
    margin: 0 auto;
}

.approach_send_section01 .approach_select .select_frame::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px calc(18px / 2) 0 calc(18px / 2);
    border-color: #5c5c5c transparent transparent transparent;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.approach_send_section01 .select_approach_number {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    display: block;
    width: 100%;
    height: 40px;
    border: 1px solid #5c5c5c;
    padding-left: 40px;
    color: #4d4d4d;
    font-size: 20px;
    font-weight: normal;
    cursor: pointer;
}

.approach_send_section01 .message_area {
    margin-top: 32px;
}

.approach_send_section01 .message_head {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 220px;
    height: 50px;
    border-radius: 16px;
    background-color: #cdcdcd;
    text-align: center;
    color: #5c5c5c;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
}

.approach_send_section01 .approach_message {
    display: block;
    border-radius: 0;
    width: 100%;
    height: 170px;
    border: 1px solid #5c5c5c;
    padding: 16px;
    margin-top: 20px;
}

.approach_send_section01 .submit_area {
    margin-top: 32px;
    display: flex;
    justify-content: center;
}

.approach_send_section01 .submit_button {
    border: none;
    background: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 220px;
    height: 50px;
    border-radius: 25px;
    position: relative;
    background-color: #EDA088;
    font-size: 17px;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    cursor: pointer;

}


/*
-----------------------------------------------------------------
チャット
-----------------------------------------------------------------
*/
.chat_modal {
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    top: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;

}

.chat_modal .chat_modal_frame {
    width: 795px;
    background-color: #fff;
    border-radius: 12px;
    padding-top: 88px;
    padding-bottom: 48px;
    position: relative;
}

.chat_modal .sh {
    font-size: 20px;
    text-align: center;
}

.chat_modal input[type='button'],
.chat_modal input[type='submit'] {
    cursor: pointer;
}

.chat_body #ms_messages {
    overflow: visible;
    padding-top: 0;
    background: #8DB4E5;
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2) inset;
    height: 77vh;
}

.chat_body .chat_list_inner {
    height: calc(100% - 80px);
    overflow-y: scroll;
    padding-bottom: 32px;
}


.chat_body #ms_send {
    position: relative;
}

.chat_body .ms_left {
    float: none;
}

.chat_body .ms_right {
    float: none;

}

.chat_body #ms_send .chat_info_text {
    text-align: center;
    width: 100%;
    position: absolute;
    bottom: 50px;
    margin: 0;
}

.chat_body #ms_send .chat_info_text br {
    display: none;
}



.chat_body #ms_send .chat_info_text01 {}

.chat_body #ms_send .chat_info_text02 {
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.3;
    font-size: 20px;
    margin: 0;
}

/*
-----------------------------------------------------------------
お知らせ一覧
-----------------------------------------------------------------
*/

.news_list_section01 {}

.news_list_section01 h3 {
    background: none;
    position: relative;
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 8px;
    border-bottom: 3px solid #62a67e;
    color: #4d4d4d;
    padding-left: 16px;
}

.news_list_section01 h3::before {
    content: "";
    width: 18px;
    height: 24px;
    background-image: url('../img_add/icon_exclamation_black.svg');
    margin-right: 20px;
}

.news_list_section01 .news_list {
    margin-top: 56px;
}

.news_list_section01 .news_list li {
    margin-top: 40px;
}

.news_list_section01 .news_list li:first-child {
    margin-top: 0;
}

.news_list_section01 .news_block {
    display: flex;
    font-size: 20px;
    line-height: 1.5;
}

.news_list_section01 .news_block .news_date {
    width: 180px;
    margin-right: 48px;
    flex-shrink: 0;
}

.news_list_section01 .news_block .news_contents {
    width: 100%;
}

.news_list_section01 .news_block .news_date_head {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    border-radius: 16px;
    background-color: #cdcdcd;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
}

.news_list_section01 .news_block .news_contents_head {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    border-radius: 25px;
    background-color: #cdcdcd;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
}

.news_list_section01 .news_date p {
    padding-left: 32px;
}

.news_list_section01 .news_contents .news_text {
    padding: 0 28px;
}

.news_list_section01 .news_page_nation {
    margin-top: 32px;
}

/*
-----------------------------------------------------------------
退会
-----------------------------------------------------------------
*/

.delete_section01 {}

.delete_section01 .p01 {
    color: #656565;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
}

.delete_section01 .retire_button {
    border: none;
    background: none;
    width: 165px;
    height: 44px;
    border-radius: 22px;
    background-color: #178240;
    font-size: 21px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 72px auto 0;
}

.delete_section01 .top_link {
    margin: 72px auto 0;
    display: flex;
    justify-content: center;
    width: fit-content;
    padding: 0 10px 6px;
    border-bottom: 1px solid #424242;
    color: #4d4d4d;
    font-size: 19px;
    font-weight: 400;
    text-decoration: none;
}


/*
-----------------------------------------------------------------
管理画面共通
-----------------------------------------------------------------
*/

body.manage_body {}

body.manage_body * {
    box-sizing: border-box;
}

body.manage_body a {
    text-decoration: none;
    transition-duration: 0.4s;
}

body.manage_body a:hover {
    opacity: 0.5;
}

main.manage_main {
    padding-top: 40px;
    padding-bottom: 64px;
}

main.manage_main .hide {
    display: none !important;
}

.manage_container {
    max-width: 960px;
    margin: 0 auto;
}


/*管理画面ヘッダー*/
header.manage_header {
    width: 100%;
    background-color: #378257;
}


header.manage_header .manage_header_inner {
    max-width: 960px;
    margin: 0 auto;
}

header.manage_header .manage_header_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 40px;
}

header.manage_header .manage_header_left {
    display: flex;
    align-items: center;
}

header.manage_header .manage_drawer_open {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    width: 30px;
    height: 24px;
    cursor: pointer;
}

header.manage_header .manage_drawer_open .bar {
    height: 5px;
    background-color: #fff;
    transition-duration: 0.5s;
}

header.manage_header .manage_drawer_open.active .bar1 {
    transform: translateY(9.2px) rotate(-45deg);
}

header.manage_header .manage_drawer_open.active .bar2 {
    display: none;
}

header.manage_header .manage_drawer_open.active .bar3 {
    transform: translateY(-9.2px) rotate(45deg);
}

header.manage_header .manage_header_title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    margin-left: 32px;
}

header.manage_header .manage_header_right {
    height: 100%;
    position: relative;
    padding-right: 40px;
}

header.manage_header .manage_header_logout {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 32px;
    background-color: #f78b6e;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    border-radius: 0 0 6px 6px;

}

/*ドロワーメニュー*/
#manage_drawer {
    background-color: #378257;
    padding: 24px 0;
    display: none;
}

#manage_drawer .manage_drawer_inner {
    max-width: 960px;
    margin: 0 auto;
}

#manage_drawer ul li {
    margin-top: 8px;
}

#manage_drawer ul li a {
    color: #fff;
    font-size: 18px;
    font-weight: bold;
}

/*管理画面フッター*/
footer.manage_footer {
    padding-top: 20px;
    padding-bottom: 56px;
    border-top: 3px solid #378257;
}

footer.manage_footer .footer_copy {
    color: #378257;
    font-size: 18px;
    text-align: center;
}


/*管理画面のページネーション*/
main.manage_main .manage_pagenation {
    width: fit-content;
    margin: 64px auto 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
}

main.manage_main .manage_pagenation span.current {
    text-decoration: underline;
    font-size: 14px;
    line-height: 1;
    color: rgba(0, 0, 0, 0.6);
}

main.manage_main .manage_pagenation a.page-numbers {
    font-size: 14px;
    line-height: 1;
    color: rgba(0, 0, 0, 0.6);
}

main.manage_main .manage_pagenation a.page-numbers:hover {
    text-decoration: underline;
}

main.manage_main .manage_pagenation a.page-numbers.next:hover,
main.manage_main .manage_pagenation a.page-numbers.prev:hover {
    text-decoration: none;
}

/*
-----------------------------------------------------------------
管理画面トップ
-----------------------------------------------------------------
*/

body.manage_top_body {}

main.manage_top_main {}

main.manage_top_main .table {
    border-collapse: collapse;
}





.manage_top_section01 {}

.manage_top_section01 .menu_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.manage_top_section01 .menu_list ul {
    margin: 0 30px;
}

.manage_top_section01 .menu_list ul li p {
    text-align: center;
}

.manage_top_section01 .menu_list ul li+li {
    margin-top: 24px;
}

.manage_top_section01 .menu_list a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 45px;
    background-color: #6aba8c;
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
}

.manage_top_section01 .menu_list .ul03 a {
    border: 3px solid #6aba8c;
    color: #fff;
    width: 230px;
}

.manage_top_section01 .manage_entry_link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 260px;
    height: 40px;
    border: 3px solid #6aba8c;
    font-size: 23px;
    line-height: 1;
    font-weight: 700;
    color: #6aba8c;
}

.manage_top_section02 {
    padding-top: 40px;
}

.manage_top_section02 .title_flex {
    display: flex;
    align-items: flex-start;
}

.manage_top_section02 .title_flex h2 {
    display: flex;
    align-items: center;
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
    color: #4d4d4d;
}

.manage_top_section02 .title_flex h2::before {
    content: '';
    width: 18px;
    height: 18px;
    background-color: #4d4d4d;
    margin-right: 20px;
}

.manage_top_section02 .title_flex p {
    margin-left: 88px;
    font-size: 14px;
    color: #595959;
    line-height: 1.5;
}

.manage_top_section02 form {
    margin-top: 24px;
}

.manage_top_section02 .form_flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-left: 40px;
}

.manage_top_section02 .import_left {
    display: flex;
    align-items: flex-start;
}

.manage_top_section02 .import_left .file_delete {
    width: 15px;
    margin-top: 8px;
    cursor: pointer;
    flex-shrink: 0;
}

.manage_top_section02 .import_left label {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 135px;
    height: 30px;
    border: 1px solid #595959;
    font-size: 16px;
    color: #656565;
    line-height: 1;
    font-weight: 400;
    margin-left: 40px;
    flex-shrink: 0;
}

.manage_top_section02 .csv_file_name {
    margin-left: 32px;
    color: #595959;
    font-size: 18px;
    line-height: 1.3;
    padding-top: 3px;
}

.manage_top_section02 .csv_file {
    /* display: none; */
    margin-left: 24px;
}


.manage_top_section02 .form_flex .import_button {
    border: none;
    background: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 155px;
    height: 32px;
    font-size: 16px;
    line-height: 1;
    color: #fff;
    font-weight: bold;
    border-radius: 6px;
    background-color: rgba(102, 98, 163, 0.6);
    flex-shrink: 0;
    margin-left: 48px;
}

.manage_top_section02 .form_flex .import_button.no_upload {
    opacity: 0.5;
    pointer-events: none;
}

.manage_top_section02 .csv_err {
    color: #ff0000;
    margin-top: 3px;
    margin-left: 40px;
}

.manage_top_section02 .history_flex {
    display: flex;
    align-items: flex-start;
    margin-top: 40px;
    padding-left: 40px;
}

.manage_top_section02 .history_head {
    flex-shrink: 0;
    margin-right: 32px;
    color: #595959;
    font-size: 18px;
    line-height: 1.3;
}

.manage_top_section02 .history_box {
    width: 100%;
    height: 170px;
    overflow-y: scroll;
    border: 1px solid #424242;
}

.manage_top_section02 .history_list {
    padding: 16px 40px;
}

.manage_top_section02 .history_item {
    display: flex;
    margin-top: 4px;
    color: #595959;
    font-size: 18px;
    line-height: 1.4;
}

.manage_top_section02 .history_time {
    width: 190px;
    flex-shrink: 0;
}

/*
-----------------------------------------------------------------
管理画面 クチコミ管理
-----------------------------------------------------------------
*/

body.manage_review_body {}

main.manage_review_main {}

.manage_review_section01 {
    padding-bottom: 60px;
}

.manage_review_section01 .button_frame {
    width: fit-content;
    margin: 0 auto;
    position: relative;
}

.manage_review_section01 .button_frame .button_frame_text {
    position: absolute;
    white-space: nowrap;
    color: #626473;
    font-size: 14px;
    line-height: 1;
    display: flex;
    align-items: center;
    top: 0;
    bottom: 0;
    right: calc(100% + 24px);
    margin: auto;
}

.manage_review_section01 .save_button {

    display: flex;
    justify-content: center;
    align-items: center;
    width: 155px;
    height: 32px;
    background-color: #f78b6e;
    border-radius: 6px;
    font-size: 16px;
    color: #fff;
    line-height: 1;
    font-weight: 700;
}

.manage_review_section01 .review_table {
    margin-top: 48px;
    table-layout: fixed;
}

.manage_review_section01 .review_table th {
    border: none;
    text-align: center;
    font-size: 14px;
    font-weight: normal;
    color: #626473;
}

.manage_review_section01 .review_table .th01 {
    width: 45px;
    max-width: 50px;
}

.manage_review_section01 .review_table .th02 {
    width: 105px;
    max-width: 105px;
}

.manage_review_section01 .review_table .th03 {
    width: 110px;
    max-width: 110px;
}

.manage_review_section01 .review_table .th04 {
    width: 320px;
    max-width: 320px;
}

.manage_review_section01 .review_table .th05 {
    width: 390px;
    max-width: 390px;
}

.manage_review_section01 .review_table td {
    vertical-align: text-top;
    border: 1px solid #5965a1;
    padding: 6px 10px;
    font-size: 14px;
    color: #626473;
    font-weight: 400;
    line-height: 1.3;
    height: auto;
    position: relative;
}


.manage_review_section01 .review_table .td_show {
    border: none;
    text-align: center;
    position: relative;
    width: 45px;
    max-width: 45px;
    padding-top: 1px 0;

}

.manage_review_section01 .review_table .td_show label {
    cursor: pointer;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 2px;
    display: flex;
    justify-content: center;
}

.manage_review_section01 .review_table .td_show p {
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
}

.manage_review_section01 .review_table .td_show .show_text {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1px solid #626473;
    margin-top: 6px;
}

.manage_review_section01 .review_table .td_show input {
    display: none;
}

.manage_review_section01 .review_table .td_show input:checked+.show_frame .hidden_text {
    display: none;
}

.manage_review_section01 .review_table .td_show .show_text {
    display: none;
}

.manage_review_section01 .review_table .td_show input:checked+.show_frame .show_text {
    display: block;
}

.manage_review_section01 .review_table .td_date {
    width: 105px;
    max-width: 105px;
}

.manage_review_section01 .review_table .td_name {
    width: 110px;
    max-width: 110px;
    overflow-x: scroll;
    white-space: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.manage_review_section01 .review_table .td_name::-webkit-scrollbar {
    display: none;
}

/* 
.manage_review_section01 .review_table .td_name p{
  max-width: 100%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
} */

.manage_review_section01 .review_table .td_comment {
    padding-right: 32px;
    width: 320px;
    max-width: 320px;
}

.manage_review_section01 .review_table .td_comment p {
    max-width: 100%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.manage_review_section01 .review_table .td_reply {
    width: 390px;
    max-width: 390px;
}

.manage_review_section01 .review_table .td_reply p {
    max-width: 100%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.manage_review_section01 .review_table .td_reply textarea {
    display: none;
}

.manage_review_section01 .review_modal_open {
    position: absolute;
    cursor: pointer;
    width: 14px;
    top: 6px;
    right: 7px;
}


.manage_review_section01 .review_modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition-duration: 0.4s;
}

.manage_review_section01 .review_modal.show {
    opacity: 1;
    pointer-events: auto;
}

.manage_review_section01 .review_modal .review_modal_close {
    position: absolute;
    width: 24px;
    cursor: pointer;
    top: 12px;
    right: 24px;
    border-radius: 50%;
}

.manage_review_section01 .review_modal_frame {
    width: 760px;
    min-height: 330px;
    border: 1px solid #424242;
    background-color: #fff;
    padding-top: 32px;
    padding-bottom: 40px;

    position: relative;
}

.manage_review_section01 .review_modal .review_modal_inner {
    padding-right: 60px;
    max-height: calc(80vh - 72px);
    overflow-y: scroll;
}

.manage_review_section01 .review_modal .review_modal_contents {
    width: 100%;
}

.manage_review_section01 .review_modal .modal_line {
    display: flex;
    align-items: flex-start;
    margin-bottom: 24px;
}

.manage_review_section01 .review_modal .modal_line_left {
    width: 110px;
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end;
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.6);
    padding-top: 7px;
}

.manage_review_section01 .review_modal .modal_line_right {
    width: 100%;
    padding-left: 20px;
}

.manage_review_section01 .review_modal .modal_comment_text {
    font-size: 18px;
    line-height: 1.6;
    padding-left: 20px;
    color: #000;
}

.manage_review_section01 .review_modal textarea {
    display: block;
    width: 100%;
    height: 95px;
    border: 1px solid #424242;
    padding: 10px 18px;
}

.manage_review_section01 .review_modal .modal_button_frame {
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    position: relative;
}

.manage_review_section01 .review_modal .modal_button_frame p {
    white-space: nowrap;
    color: #626473;
    font-size: 14px;
    line-height: 1;
    margin-right: 24px;
}

.manage_review_section01 .review_modal .review_modal_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 155px;
    height: 32px;
    background-color: #f78b6e;
    border-radius: 6px;
    font-size: 16px;
    color: #fff;
    font-weight: bold;
    line-height: 1;
}

/*
-----------------------------------------------------------------
管理画面 レインボーファクトリー　会員一覧
-----------------------------------------------------------------
*/

body.manage_member_list_body {}

main.manage_member_list_main {
    overflow: visible;
}

.manage_member_list_section01 {
    padding-bottom: 40px;
}


.manage_member_list_section01 .button_flex {
    max-width: 960px;
    margin: 0 auto 24px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.manage_member_list_section01 .link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 118px;
    height: 32px;
    background-color: #6aba8c;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    border-radius: 6px;
}

.manage_member_list_section01 .export_frame p {
    font-size: 13px;
    margin-top: 4px;
    text-align: center;
}

.manage_member_list_section01 .export_link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    padding: 0 24px;
    height: 32px;
    background-color: rgba(102, 98, 163, 0.6);
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    border-radius: 6px;
    letter-spacing: 0;
}

.manage_member_list_section01 .search_flex {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.manage_member_list_section01 .search_box p {
    color: #626473;
    line-height: 1;
    margin-bottom: 6px;
    padding-left: 6px;
}

.manage_member_list_section01 .select_frame {
    position: relative;
}

.manage_member_list_section01 .select_frame::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #808080 transparent transparent transparent;
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
    pointer-events: none;
}

.manage_member_list_section01 select {
    border: none;
    background: none;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    display: block;
    width: 100%;
    height: 24px;
    padding: 0 10px;
    border: 1px solid #5965a1;
    color: #626473;
    font-weight: 400;
}

.manage_member_list_section01 .search_box01 {
    width: 140px;
}

.manage_member_list_section01 .search_box02 {
    width: 240px;
    margin: 0 24px;
}

.manage_member_list_section01 .search_box02 .search_value {
    border: none;
    background: none;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    display: block;
    width: 100%;
    height: 24px;
    padding: 0 10px;
    border: 1px solid #5965a1;
    color: #626473;
    font-weight: 400;
}

.manage_member_list_section01 .button_frame {
    position: relative;
}

.manage_member_list_section01 .button_frame_text {
    position: absolute;
    white-space: nowrap;
    color: #626473;
    font-size: 16px;
    line-height: 1;
    display: flex;
    align-items: center;
    top: 0;
    bottom: 0;
    left: calc(100% + 14px);
    margin: auto;
}

.manage_member_list_section01 .search_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65px;
    height: 24px;
    background-color: rgba(102, 98, 163, 0.6);
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    border-radius: 6px;
    letter-spacing: 0;
}

.manage_member_list_section02 {
    padding-bottom: 116px;
}


.manage_member_list_section02 .no_result {
    text-align: center;
}

.manage_member_list_section02 .table_frame {
    position: relative;
    width: fit-content;
    margin: 0 auto;
    padding: 0 40px;
}

.manage_member_list_section02 .member_table th {
    position: relative;
    font-weight: 400;
    vertical-align: bottom;
    padding-bottom: 8px;
    padding-left: 0;
    padding-right: 0;
    font-size: 16px;
    font-weight: 400;
    color: #626473;
    border: none;
    line-height: 1.2;
    text-align: left;
    width: 100px;
}

.manage_member_list_section02 .member_table .js_cell_wide_switch {
    width: 9px;
    height: 15px;
    background: none;
    background-image: url('../img_add/manage/icon_extend.svg');
    position: absolute;
    right: 4px;
    bottom: 10px;
    cursor: pointer;
    transform: rotateZ(180deg);
}

.manage_member_list_section02 .member_table .js_cell_wide_switch.extend {
    transform: rotateZ(0);
}

.manage_member_list_section02 .member_table .w_35 {
    width: 35px;
    min-width: 35px;
    max-width: 35px;
}

.manage_member_list_section02 .member_table .w_45 {
    width: 45px;
    min-width: 45px;
    max-width: 45px;
}

.manage_member_list_section02 .member_table .w_60 {
    width: 60px;
    min-width: 60px;
    max-width: 60px;
}

.manage_member_list_section02 .member_table .w_70 {
    width: 70px;
    min-width: 70px;
    max-width: 70px;
}

.manage_member_list_section02 .member_table .w_75 {
    width: 75px;
    min-width: 75px;
    max-width: 75px;
}

.manage_member_list_section02 .member_table .w_95 {
    width: 95px;
    min-width: 95px;
    max-width: 95px;
}

.manage_member_list_section02 .member_table .w_125 {
    width: 125px;
    min-width: 125px;
    max-width: 125px;
}

.manage_member_list_section02 .member_table th p {
    width: fit-content;
    margin: 0 auto;
    white-space: nowrap;
}

.manage_member_list_section02 .member_table td {
    border: 1px solid #5965a1;
    padding: 6px;
    font-size: 14px;
    position: relative;
    /* vertical-align: top; */
}

.manage_member_list_section02 .member_table td.no_border {
    border: none;
}

.manage_member_list_section02 .member_table td.shrink p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.manage_member_list_section02 .member_table td.extend {
    width: auto !important;
    max-width: none !important;
    white-space: nowrap;
}

.manage_member_list_section02 .member_table .prof_edit_link {
    display: block;
    width: 13px;
    height: 16px;
    margin: 0 auto;
    background-image: url('../img_add/manage/icon_prof.svg');
    background-size: cover;
}

.manage_member_list_section02 .member_table .age_cell,
.manage_member_list_section02 .member_table .no_cell,
.manage_member_list_section02 .member_table .count_cell,
.manage_member_list_section02 .member_table .point_cell {
    text-align: right;
}

.manage_member_list_section02 .member_table .gender_cell {
    text-align: center;
}

.manage_member_list_section02 .member_table .point_cell {
    padding-right: 30px;
}

.manage_member_list_section02 .member_table .status_cell {
    padding: 0;
}

.manage_member_list_section02 .member_table .status_cell .select_frame {
    height: 20px;
}

.manage_member_list_section02 .member_table .status_cell select {
    display: block;
    width: 100%;
    height: 20px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    background: none;
    padding: 0;
    padding: 0 3px;
    text-align: center;
    color: #4d4d4d;
    cursor: pointer;
}

.manage_member_list_section02 .member_table .point_modal_open {
    cursor: pointer;
    position: absolute;
    width: 12px;
    z-index: 1;
    right: 6px;
    top: 11px;
}

.manage_member_list_section02 .member_table .input_member_delete {
    display: block;
    margin: 0 auto;
}

.manage_member_list_section02 .member_table .entry_checl_link {
    display: block;
    margin: 0 auto;
    width: 16px;
    height: 17px;
    background-image: url('../img_add/manage/icon_entry.svg');
}

.manage_member_list_section02 .save_button {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 56px auto 0;
    width: 155px;
    height: 32px;
    border-radius: 6px;
    background-color: #f78b6e;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
}

.manage_member_list_section02 .point_modal {
    position: absolute;
    z-index: 20;
    width: 320px;
    top: 40px;
    left: -100px;
    pointer-events: none;

}

.manage_member_list_section02 .point_modal.show {
    pointer-events: auto;
}

.manage_member_list_section02 .point_modal .modal_inner {
    padding: 32px 40px;
    position: relative;
    opacity: 0;
    pointer-events: none;
    transition-duration: 0.4s;
    border: 1px solid #424242;
    background-color: #fff;
    color: rgba(0, 0, 0, 0.6);
}


.manage_member_list_section02 .point_modal.show .modal_inner {
    opacity: 1;
    pointer-events: auto;
}

.manage_member_list_section02 .point_modal .point_modal_close {
    position: absolute;
    width: 24px;
    cursor: pointer;
    top: 12px;
    right: 16px;
    border-radius: 50%;
    ;
}



.manage_member_list_section02 .point_modal .modal_line {
    display: flex;
    align-items: center;
}

.manage_member_list_section02 .point_modal .modal_left {
    width: 55px;
    margin-right: 20px;
    flex-shrink: 0;
    text-align: right;
    font-weight: bold;
    display: flex;
    justify-content: flex-end;
}

.manage_member_list_section02 .point_modal .modal_right {
    width: 55px;
    flex-shrink: 0;
    text-align: center;
    font-size: 18px;
    font-weight: 400;
}

.manage_member_list_section02 .point_modal .modal_center {
    width: 100%;
}

.manage_member_list_section02 .point_modal .point_text {
    padding-right: 12px;
    text-align: right;
    font-size: 18px;
    font-weight: 400;
}

.manage_member_list_section02 .point_modal .modal_line02 {
    margin-top: 10px;
}

.manage_member_list_section02 .point_modal .modal_border {
    height: 1px;
    background-color: #424242;
    margin-top: 8px;
    margin-bottom: 8px;
}

.manage_member_list_section02 .point_modal .change_point {
    display: block;
    width: 100%;
    height: 32px;
    border: 1px solid #424242;
    padding: 0 12px;
    text-align: right;
}

.manage_member_list_section02 .point_modal .point_switch {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border-radius: 50%;
    background-image: url('../img_add/manage/icon_point_plus.svg');
    cursor: pointer;
    transform: translateX(5px);
}

.manage_member_list_section02 .point_modal .point_switch.minus {
    background-image: url('../img_add/manage/icon_point_minus.svg');
}

.manage_member_list_section02 .point_modal .modal_point_save_button {
    width: 112px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f78b6e;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    margin: 24px auto 0;
}

.manage_member_list_section02 .csv_table {
    display: none;
}

/*
-----------------------------------------------------------------
レインボーファクトリー　会員  個別情報
-----------------------------------------------------------------
*/

body.manage_member_prof_body {}

main.manage_member_prof_main {
    overflow: visible;
}

.manage_member_prof_section01 {
    padding-bottom: 100px;
}


.manage_member_prof_section01 .p01 {
    color: #626473;
    font-size: 14px;
    padding-left: 72px;
}

.manage_member_prof_section01 .new_link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 36px;
    border-radius: 6px;
    background-color: #6aba8c;
    font-size: 19px;
    font-weight: 400;
    line-height: 1;
    color: #fff;
    margin-left: auto;
}

.manage_member_prof_section01 .flex {
    display: flex;
    align-items: center;
}

.manage_member_prof_section01 .flex01 {
    margin-top: 40px;
}

.manage_member_prof_section01 .flex02 {
    margin-top: 28px;
}

.manage_member_prof_section01 .box {
    display: flex;
    align-items: center;
}

.manage_member_prof_section01 .label {
    text-align: right;
    white-space: nowrap;
    flex-shrink: 0;
    color: rgba(0, 0, 0, 0.6);
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    margin-right: 20px;
}

.manage_member_prof_section01 input[type="text"],
.manage_member_prof_section01 input[type="password"],
.manage_member_prof_section01 input[type="number"] {
    display: block;
    height: 30px;
    border: 1px solid #424242;
    border-radius: 0;
    padding: 0 12px;
    font-size: 18px;
    color: rgba(0, 0, 0, 0.6);
    font-weight: 400;
}

.manage_member_prof_section01 .select_frame {
    position: relative;
}

.manage_member_prof_section01 .select_frame::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #5c5c5c transparent transparent transparent;
    position: absolute;
    right: 8px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.manage_member_prof_section01 select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    height: 30px;
    border: 1px solid #424242;
    border-radius: 0;
    padding: 0;
    padding-left: 12px;
    padding-right: 30px;
    font-size: 18px;
    color: rgba(0, 0, 0, 0.6);
    font-weight: 400;
}

.manage_member_prof_section01 .box01 .label {
    width: 85px;
}

.manage_member_prof_section01 .box01 input {
    width: 320px;
}

.manage_member_prof_section01 .box02 .label {
    width: 72px;
}

.manage_member_prof_section01 .box02 select {
    width: 65px;
}

.manage_member_prof_section01 .box03 .label {
    width: 70px;
}

.manage_member_prof_section01 .box03 input {
    width: 65px;
    padding-right: 0;
}

.manage_member_prof_section01 .box04 .label {
    width: 84px;
}

.manage_member_prof_section01 .box04 select {
    width: 110px;
}

.manage_member_prof_section01 .box05 .label {
    width: 72px;
}

.manage_member_prof_section01 .box05 input {
    width: 435px;
}

.manage_member_prof_section01 .box06 input {
    width: 93.5px;
}

.manage_member_prof_section01 .box06 .label {
    width: 85px;
}

.manage_member_prof_section01 .box06 .hyphen {
    flex-shrink: 0;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    width: 20px;
}

.manage_member_prof_section01 .button_area {
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: 72px;
}

.manage_member_prof_section01 .save_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 155px;
    height: 32px;
    background-color: #f78b6e;
    border-radius: 6px;
    font-size: 16px;
    color: #fff;
    line-height: 1;
    font-weight: 700;
}

.manage_member_prof_section01 .cancel_link {
    position: absolute;
    color: #626473;
    line-height: 1;
    font-weight: 400;
    font-size: 16px;
    padding: 0 20px 4px;
    border-bottom: 1px solid #000000;
    z-index: 1;
    left: 120px;
    bottom: 4px;
}

.manage_member_prof_section01 .delete_area {
    position: relative;

}

.manage_member_prof_section01 .delete_block {
    position: absolute;
    z-index: 1;
    top: -34px;
    right: 120px;
}

.manage_member_prof_section01 .delete_button {
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 105px;
    height: 36px;
    border-radius: 6px;
    background-color: rgba(77, 77, 77, 0.7);
    font-size: 19px;
    color: #fff;
    line-height: 1;
    font-weight: 400;
    cursor: pointer;
}

.manage_member_prof_section01 .delete_button.rock {
    pointer-events: none;
    opacity: 0.6;
}

.manage_member_prof_section01 .err_text {
    text-align: center;
    margin-top: 6px;
    color: #ff0000;

}

.manage_member_prof_section01 .complete_text {
    text-align: center;
    margin-top: 6px;
    font-size: 18px;
    color: #4F9AF5;
}

/*
-----------------------------------------------------------------
レインボーファクトリー　ポイント設定画面
-----------------------------------------------------------------
*/

body.manage_point_body {}

main.manage_point_main {}

.manage_point_section h2 {
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    color: #4d4d4d;
}

.manage_point_section h2::before {
    content: '';
    width: 18px;
    height: 18px;
    background-color: #4d4d4d;
    margin-right: 16px;
}

.manage_point_section01 {
    padding-bottom: 48px;
}

.manage_point_section01 .head_flex {
    display: flex;
    align-items: center;
}

.manage_point_section01 .head_flex p {
    font-size: 14px;
    color: #595959;
    line-height: 1;
    margin-left: 64px;
}

.manage_point_section01 .flex {
    margin-top: 36px;
    display: flex;
    justify-content: center;
}

.manage_point_section01 .block {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
}

.manage_point_section01 .block .under_text {
    margin-top: 20px;
    font-size: 14px;
    color: #656565;
    line-height: 1.5;
}

.manage_point_section01 .block .label {
    color: #656565;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
}

.manage_point_section01 .block .input_line {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #656565;
    margin-top: 24px;
}

.manage_point_section01 .block .input_line+.input_line {
    margin-top: 18px;
}

.manage_point_section01 .block .input_line p {
    font-size: 16px;
    line-height: 1;
}

.manage_point_section01 .block .input_line p span {
    font-size: 18px;
    font-weight: bold;
}

.manage_point_section01 .block input {
    display: block;
    width: 100px;
    height: 30px;
    padding: 0 20px;
    margin: 0 12px;
    border: 1px solid #424242;
    color: #656565;
    font-size: 16px;
    font-weight: 400;
    text-align: right;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.manage_point_section01 .block input::-webkit-outer-spin-button,
.manage_point_section01 .block input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.manage_point_section01 .block02 {
    margin: 0 120px;
}

.manage_point_section01 .sec_border {
    height: 3px;
    background-color: #4d4d4d;
    margin-top: 56px;
    margin-bottom: 20px;
}

.manage_point_section01 .err_text {
    text-align: center;
    color: #ff0000;
    margin-top: 16px;
}

.manage_point_section01 .save_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 155px;
    height: 32px;
    background-color: #f78b6e;
    border-radius: 6px;
    font-size: 16px;
    color: #fff;
    line-height: 1;
    font-weight: 700;
    margin: 96px auto 0;
}

.manage_point_section01 .table_area {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 0 24px;
}

.manage_point_section01 .table_list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: fit-content;
    margin: 0 auto 0;
}

.manage_point_section01 .table_block {
    margin-right: 24px;
    height: 400px;
    overflow-y: scroll;
    margin-top: 64px;
}

.manage_point_section01 .table_block:last-child {
    margin-right: 0;
}

.manage_point_section01 .point_table {
    border-collapse: collapse;
    font-size: 14px;
    position: relative;
}


.manage_point_section01 .point_table .gray_th {
    background-color: #f2f2f2;
}

.manage_point_section01 .men_table_list .color_th {
    position: relative;
}

.manage_point_section01 .men_table_list .color_th {
    background-color: rgba(119, 186, 216, 0.4);
}

.manage_point_section01 .women_table_list .color_th {
    background-color: rgba(237, 142, 142, 0.4);
}

.manage_point_section01 .point_table th,
.manage_point_section01 .point_table td {
    border: 1px solid #000;

    vertical-align: middle;
}

.manage_point_section01 .point_table .no_border {
    border: none;
}

.manage_point_section01 .point_table thead {
    position: sticky;
    top: 0;
    left: 0;
}

.manage_point_section01 .point_table thead th {
    position: relative;
}

.manage_point_section01 .point_table thead th::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -10;
}



.manage_point_section01 .point_table th {
    font-weight: bold;
    text-align: center;
    padding: 4px;
    font-size: 13px;
}

.manage_point_section01 .point_table td {
    text-align: left;
    height: 35px;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 4px;
    padding-right: 4px;
}

.manage_point_section01 .point_table .w_40 {
    width: 40px;
    min-width: 40px;
    max-width: 40px;
}

.manage_point_section01 .point_table .w_60 {
    width: 60px;
    min-width: 60px;
    max-width: 60px;
}

.manage_point_section01 .point_table .w_160 {
    width: 160px;
    min-width: 160px;
    max-width: 160px;
}

.manage_point_section01 .point_table .w_240 {
    width: 240px;
    min-width: 240px;
    max-width: 240px;
}

.manage_point_section01 .point_table .w_220 {
    width: 220px;
    min-width: 220px;
    max-width: 220px;
}

.manage_point_section01 .point_table label {
    text-align: center;
    cursor: pointer;
}

.manage_point_section01 .point_table input[type='radio'] {
    display: block;
    margin: 0 auto;
    cursor: pointer;
}

.manage_point_section01 .point_table .num_flex {
    display: flex;
    align-items: center;
}

.manage_point_section01 .point_table .plus {
    /* margin-right: 6px; */
    font-size: 13px;
    margin-left: -2px;
}

.manage_point_section01 .point_table .minus {
    display: inline-block;
    width: 5px;
    height: 2px;
    background-color: #4d4d4d;
    margin-right: 6px;

}

.manage_point_section01 .point_table .num_flex input {
    width: 40px;
    -moz-appearance: textfield;
    padding: 0 2px;
    text-align: right;
}

.manage_point_section01 .point_table .num_flex input::-webkit-outer-spin-button,
.manage_point_section01 .point_table .num_flex input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/*
-----------------------------------------------------------------
レインボーファクトリー　イベント管理(メール履歴にも流用)
-----------------------------------------------------------------
*/

body.manage_event_body {}

main.manage_event_main {
    overflow: visible;
}

.manage_event_section01 {
    padding-bottom: 40px;
}

.manage_event_section01 .event_form {
    position: relative;
}

.manage_event_section01 .button_area {
    height: 100px;
    position: sticky;
    top: 0;
    left: 0;
    background-color: #fff;
    padding-top: 40px;
    padding-bottom: 10px;
    z-index: 1;
}


.manage_event_section01 .button_frame {
    width: fit-content;
    margin: 0 auto;
    position: relative;
    display: none;
}

.manage_event_section01 .button_frame .button_frame_text {
    position: absolute;
    white-space: nowrap;
    color: #626473;
    font-size: 14px;
    line-height: 1;
    display: flex;
    align-items: center;
    top: 0;
    bottom: 0;
    right: calc(100% + 24px);
    margin: auto;
}

.manage_event_section01 .save_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 155px;
    height: 32px;
    background-color: #f78b6e;
    border-radius: 6px;
    font-size: 16px;
    color: #fff;
    line-height: 1;
    font-weight: 700;
}


.manage_event_section01 .search_flex {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.manage_event_section01 .search_box p {
    color: #626473;
    line-height: 1;
    margin-bottom: 6px;
    padding-left: 6px;
}

.manage_event_section01 .select_frame {
    position: relative;
}

.manage_event_section01 .select_frame::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #808080 transparent transparent transparent;
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
    pointer-events: none;
}

.manage_event_section01 select {
    border: none;
    background: none;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    display: block;
    width: 100%;
    height: 24px;
    padding: 0 10px;
    border: 1px solid #5965a1;
    color: #626473;
    font-weight: 400;
}

.manage_event_section01 .search_box01 {
    width: 140px;
}

.manage_event_section01 .search_box02 {
    width: 140px;
    margin: 0 24px;
}

.manage_event_section01 .search_box02 .search_value {
    border: none;
    background: none;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    display: block;
    width: 100%;
    height: 24px;
    padding: 0 10px;
    border: 1px solid #5965a1;
    color: #626473;
    font-weight: 400;
}

.manage_event_section01 input[type="date"] {
    border: none;
    background: none;
    border-radius: 0;
    display: block;
    height: 24px;
    border: 1px solid #5965a1;
    color: #626473;
    font-weight: 400;
}

.manage_event_section01 .wave {
    font-weight: bold;
    margin: 0 16px;
}


.manage_event_section01 .search_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65px;
    height: 24px;
    background-color: rgba(102, 98, 163, 0.6);
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    border-radius: 6px;
    letter-spacing: 0;
    margin-left: 24px;
}


.manage_event_section01 .table_frame {
    position: relative;
    width: fit-content;
    margin: 32px auto 0;
    padding: 0 40px;
}

.manage_event_section01 .event_table {
    position: relative;
    border-collapse: collapse;
}


.manage_event_section01 .event_table .event_off td {
    background-color: #ccc !important;
}


.manage_event_section01 .event_table thead {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 100000;
    background-color: #fff;
}

.manage_event_section01 .event_table th {
    position: relative;
    font-weight: 400;
    vertical-align: bottom;
    padding-bottom: 8px;
    padding-left: 0;
    padding-right: 0;
    font-size: 14px;
    font-weight: 400;
    color: #626473;
    border: none;
    line-height: 1.2;
    text-align: left;
}

.manage_event_section01 .event_table .js_cell_wide_switch {
    width: 9px;
    height: 15px;
    background: none;
    background-image: url('../img_add/manage/icon_extend.svg');
    position: absolute;
    right: 4px;
    bottom: 10px;
    cursor: pointer;
    transform: rotateZ(180deg);
}

.manage_event_section01 .event_table .js_cell_wide_switch.extend {
    transform: rotateZ(0);
}

.manage_event_section01 .event_table .w_30 {
    width: 30px;
    min-width: 30px;
    max-width: 30px;
}

.manage_event_section01 .event_table .w_35 {
    width: 35px;
    min-width: 35px;
    max-width: 35px;
}

.manage_event_section01 .event_table .w_45 {
    width: 45px;
    min-width: 45px;
    max-width: 45px;
}

.manage_event_section01 .event_table .w_60 {
    width: 60px;
    min-width: 60px;
    max-width: 60px;
}

.manage_event_section01 .event_table .w_70 {
    width: 70px;
    min-width: 70px;
    max-width: 70px;
}

.manage_event_section01 .event_table .w_90 {
    width: 90px;
    min-width: 90px;
    max-width: 90px;
}

.manage_event_section01 .event_table .w_105 {
    width: 105px;
    min-width: 105px;
    max-width: 105px;
}

.manage_event_section01 .event_table .w_115 {
    width: 115px;
    min-width: 115px;
    max-width: 115px;
}

.manage_event_section01 .event_table .w_125 {
    width: 125px;
    min-width: 125px;
    max-width: 125px;
}

.manage_event_section01 .event_table .w_160 {
    width: 160px;
    min-width: 160px;
    max-width: 160px;
}

.manage_event_section01 .event_table .w_230 {
    width: 230px;
    min-width: 230px;
    max-width: 230px;
}


.manage_event_section01 .event_table th p {
    width: fit-content;
    margin: 0 auto;
    white-space: nowrap;
}

.manage_event_section01 .event_table td {
    border: 1px solid #5965a1;
    padding: 0 6px;
    font-size: 14px;
    position: relative;
    height: 30px;
}

.manage_event_section01 .event_table td.no_border {
    border: none;
}

.manage_event_section01 .event_table .event_off td.no_border {
    background-color: transparent !important;
}

.manage_event_section01 .event_table td.shrink p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.manage_event_section01 .event_table td.extend {
    width: auto !important;
    max-width: none !important;
    white-space: nowrap;
}

.manage_event_section01 .event_table .event_link {
    display: block;
    width: 13px;
    height: 16px;
    margin: 0 auto;
    background-image: url('../img_add/manage/icon_prof.svg');
    background-size: cover;
}

.manage_event_section01 .event_table td.select_cell {
    padding: 0;
}

.manage_event_section01 .event_table td.red {
    background-color: #ff8c8c;
}

.manage_event_section01 .event_table td.green {
    background-color: #91e398;
}

.manage_event_section01 .event_table td.yellow {
    background-color: #fffb00;
}

.manage_event_section01 .event_table td.stamp_bg_blue {
    background-color: #00d5ff;
}

.manage_event_section01 .event_table td.stamp_bg_blue select {
    /* color:#000; */
}

.manage_event_section01 .event_table td.stamp_text_blue select {
    color: #005fff;
}

.manage_event_section01 .event_table td.stamp_text_red select {
    color: #ff0000;
}


.manage_event_section01 .event_table .select_frame {
    position: relative;
    height: 100%;

}

.manage_event_section01 .event_table .select_frame::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px calc(18px / 2) 0 calc(18px / 2);
    border-color: #5c5c5c transparent transparent transparent;
    position: absolute;
    right: 8px;
    top: 0;
    bottom: 0;
    margin: auto;
    pointer-events: none;
}

.manage_event_section01 .event_table select {
    border: none;
    border-radius: 0;
    display: block;
    width: 100%;
    height: 100%;
    font-size: 14px;
    color: #626473;
    text-align: left;
    padding: 0;
    padding-left: 6px;
    padding-right: 24px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    background: none;
}

.manage_event_section01 .event_table input[type='checkbox'] {
    display: block;
    margin: 0 auto;
}

.manage_event_section01 .event_table .hidden_input_th,
.manage_event_section01 .event_table .hidden_input_td {
    border: none;
    display: none;
}

.manage_event_section01 .event_table .save_button {
    position: static;
    margin: 0 auto;
    width: 50px;
    font-size: 14px;
    height: 24px;
}

.manage_event_section01 .thumb_modal_open {
    display: block;
    width: 13px;
    height: 16px;
    margin: 0 auto;
    background-image: url('../img_add/manage/icon_prof.svg');
    background-size: cover;
    cursor: pointer;
}


.manage_event_section01 .thumb_modal {
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    top: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    opacity: 0;
    transition-duration: 0.7s;
}

.manage_event_section01 .thumb_modal.show {
    pointer-events: auto;
    opacity: 1;
}

.manage_event_section01 .thumb_modal .hide {
    display: none;
}

.manage_event_section01 .thumb_modal .thumb_modal_frame {
    width: 600px;
    max-width: 90%;
    background-color: #fff;
    border-radius: 12px;
    padding-top: 64px;
    padding-bottom: 32px;
    position: relative;
}

.manage_event_section01 .thumb_modal .thumb_demo {
    display: block;
    width: 316px;
    height: 177px;
    object-fit: cover;
    margin: 0 auto;
}

.manage_event_section01 .thumb_modal .thumb_modal_close {
    position: absolute;
    cursor: pointer;
    width: 32px;
    border-radius: 50%;
    top: 20px;
    right: 20px;
}

.manage_event_section01 .thumb_modal .thumb_modal_p01 {
    text-align: center;
    margin-bottom: 8px;
}

.manage_event_section01 .thumb_modal label {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 24px;
}

.manage_event_section01 .thumb_modal .thumb_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 155px;
    height: 32px;
    background-color: #f78b6e;
    border-radius: 6px;
    font-size: 16px;
    color: #fff;
    line-height: 1;
    font-weight: 700;
    margin: 16px auto 0;
}

.manage_event_section01 .thumb_modal .thumb_comp_text {
    margin-top: 8px;
    text-align: center;
    color: #ff0000;
}

/*
-----------------------------------------------------------------
レインボーファクトリー　メール履歴
-----------------------------------------------------------------
*/

.manage_mail_section01 .mail_table .js_mail_text_open {
    cursor: pointer;
    width: 14px;
    height: 17px;
    margin: 0 auto;
    background-image: url('../img_add/manage/icon_prof.svg');
}

.manage_mail_section01 .mail_modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20000000;
    width: 100%;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition-duration: 0.4s;
}

.manage_mail_section01 .mail_modal.show {
    opacity: 1;
    pointer-events: auto;
}

.manage_mail_section01 .mail_modal_frame {
    width: 760px;
    height: 500px;
    max-height: 80vh;
    border: 1px solid #424242;
    background-color: #fff;
    position: relative;

}

.manage_mail_section01 .mail_modal_contents {
    height: 100%;
    padding-top: 32px;
    padding-bottom: 40px;
    padding-left: 60px;
    padding-right: 60px;
    overflow-y: scroll;
}

.manage_mail_section01 .mail_modal .mail_modal_close {
    position: absolute;
    width: 24px;
    cursor: pointer;
    top: 12px;
    right: 24px;
    border-radius: 50%;
}

/*
-----------------------------------------------------------------
レインボーファクトリー　申込者一覧
-----------------------------------------------------------------
*/

body.manage_entry_list_body {}

main.manage_entry_list_main {
    overflow: visible;
}



.manage_entry_list_section01 {
    padding-bottom: 64px;
}


.manage_entry_list_section01 .center_frame {
    position: relative;
    width: fit-content;
    margin: 0 auto;
    padding: 0 40px;
}

.manage_entry_list_section01 .flex {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.manage_entry_list_section01 .calendar_area {
    flex-shrink: 0;
    margin-right: 50px;
}

.manage_entry_list_section01 .calender_year {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #626473;
    line-height: 1;
}

.manage_entry_list_section01 .month_flex {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 12px;
}

.manage_entry_list_section01 .month_flex a,
.manage_entry_list_section01 .month_flex p {
    color: #626473;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
}

.manage_entry_list_section01 .month_flex p {
    margin: 0 36px;
}

.manage_entry_list_section01 .calender_body {
    width: 185px;
    display: flex;
    flex-wrap: wrap;
    margin: 24px auto 0;
}


.manage_entry_list_section01 .day_box {
    width: 14.28%;
    height: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 1;
    text-align: center;
    color: #626473;
    font-weight: 400;
}

.manage_entry_list_section01 .day_box.today {
    pointer-events: none;
    background-color: rgba(55, 130, 87, 0.5);
}

.manage_entry_list_section01 .entry_table {
    border-collapse: collapse;
}

.manage_entry_list_section01 .entry_table th {
    position: relative;
    font-weight: 400;
    vertical-align: bottom;
    padding-bottom: 8px;
    padding-left: 0;
    padding-right: 0;
    font-size: 14px;
    font-weight: 400;
    color: #626473;
    border: none;
    line-height: 1.2;
    text-align: left;
    white-space: nowrap;
}

.manage_entry_list_section01 .entry_table .js_cell_wide_switch {
    width: 9px;
    height: 15px;
    background: none;
    background-image: url('../img_add/manage/icon_extend.svg');
    position: absolute;
    right: 4px;
    bottom: 10px;
    cursor: pointer;
    transform: rotateZ(180deg);
}

.manage_entry_list_section01 .entry_table .js_cell_wide_switch.extend {
    transform: rotateZ(0);
}

.manage_entry_list_section01 .entry_table .w_30 {
    width: 30px;
    min-width: 30px;
    max-width: 30px;
}

.manage_entry_list_section01 .entry_table .w_35 {
    width: 35px;
    min-width: 35px;
    max-width: 35px;
}

.manage_entry_list_section01 .entry_table .w_55 {
    width: 55px;
    min-width: 55px;
    max-width: 55px;
}

.manage_entry_list_section01 .entry_table .w_100 {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
}

.manage_entry_list_section01 .entry_table .w_110 {
    width: 110px;
    min-width: 110px;
    max-width: 110px;
}

.manage_entry_list_section01 .entry_table .w_120 {
    width: 120px;
    min-width: 120px;
    max-width: 120px;
}

.manage_entry_list_section01 .entry_table .w_125 {
    width: 125px;
    min-width: 125px;
    max-width: 125px;
}

.manage_entry_list_section01 .entry_table th p {
    width: fit-content;
    margin: 0 auto;
    white-space: nowrap;
}

.manage_entry_list_section01 .entry_table td {
    border: 1px solid #5965a1;
    padding: 0 6px;
    font-size: 14px;
    position: relative;
    height: 30px;
}

.manage_entry_list_section01 .entry_table td.right {
    text-align: right;
}

.manage_entry_list_section01 .entry_table td.center {
    text-align: center;
}

.manage_entry_list_section01 .entry_table td.no_border {
    border: none;
}

.manage_entry_list_section01 .entry_table td.shrink p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.manage_entry_list_section01 .entry_table td.extend {
    width: auto !important;
    max-width: none !important;
    white-space: nowrap;
}


/*
-----------------------------------------------------------------
キャンセル待ち編集
-----------------------------------------------------------------
*/

.manage_cancel_edit_section01 {}

.manage_cancel_edit_section01 .save_button {

    display: flex;
    justify-content: center;
    align-items: center;
    width: 155px;
    height: 32px;
    background-color: #f78b6e;
    border-radius: 6px;
    font-size: 16px;
    color: #fff;
    line-height: 1;
    font-weight: 700;
    margin: 24px auto 0;
}

.manage_cancel_edit_section01 .ems_edit_frame {
    margin-top: 12px;
}

.manage_cancel_edit_section01 .ems_id_input {
    height: 28px;
    width: 80px;
    display: block;
    margin: 4px auto 0;
    padding: 0 4px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #4d4d4d;
}



/*
-----------------------------------------------------------------
レインボーファクトリー　バナー設定
-----------------------------------------------------------------
*/

.manage_banner_section01 .manage_banner_container {
    max-width: 1200px;
    margin: 0 auto;
}

.manage_banner_section01 #acf-form>.acf-fields {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.manage_banner_section01 #acf-form>.acf-fields>.acf-field {
    width: 48%;
    margin-top: 100px !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    border-top: none !important;
}

.manage_banner_section01 #acf-form>.acf-fields>.acf-field>.acf-label {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px;
    font-size: 24px;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 10;
    /* background-color: #f9f9f9; */
    color: #fff;
}

.manage_banner_section01 #acf-form>.acf-fields>[data-name="mypage_banner01_men_list"]>.acf-label,
.manage_banner_section01 #acf-form>.acf-fields>[data-name="mypage_banner02_men_list"]>.acf-label {
    background: #77bad8;
}

.manage_banner_section01 #acf-form>.acf-fields>[data-name="mypage_banner01_women_list"]>.acf-label,
.manage_banner_section01 #acf-form>.acf-fields>[data-name="mypage_banner02_women_list"]>.acf-label {
    background: #ed8e8e;
}

.manage_banner_section01 #acf-form>.acf-fields>.acf-field>.acf-label label {
    font-weight: bold !important;
}

.manage_banner_section01 .acf-fields.-left>.acf-field>.acf-input {
    width: 100%;
    padding: 0;
}

.manage_banner_section01 .acf-fields.-left>.acf-field:before {
    content: none;
}

.manage_banner_section01 .acf-form-submit {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
}

.manage_banner_section01 [data-name="mypage_banner01_men_list"] .acf-image-uploader .image-wrap img,
.manage_banner_section01 [data-name="mypage_banner02_men_list"] .acf-image-uploader .image-wrap img,
.manage_banner_section01 [data-name="mypage_banner01_women_list"] .acf-image-uploader .image-wrap img,
.manage_banner_section01 [data-name="mypage_banner02_women_list"] .acf-image-uploader .image-wrap img {
    max-width: 100%;
    min-width: 100%;
    height: auto;
    max-height: none !important;
}

.manage_banner_section01 [data-name="mypage_banner01_men_list"] [data-type="group"]>.acf-label label,
.manage_banner_section01 [data-name="mypage_banner02_men_list"] [data-type="group"]>.acf-label label {
    font-weight: bold;
    color: blue;
    font-size: 20px;
}

.manage_banner_section01 [data-name="mypage_banner01_women_list"] [data-type="group"]>.acf-label label,
.manage_banner_section01 [data-name="mypage_banner02_women_list"] [data-type="group"]>.acf-label label {
    font-weight: bold;
    color: red;
    font-size: 20px;
}

.manage_banner_section01 [data-name="mypage_banner02_men_list"] {}



/*
-----------------------------------------------------------------
レインボーファクトリー　ポイント交換品設定
-----------------------------------------------------------------
*/

.manage_point_list_section {}

.manage_point_list_section .err_text {
    text-align: center;
    color: #ff0000;
    margin-bottom: 16px;
}

.manage_point_list_section .complete_text {
    text-align: center;
    margin-bottom: 32px;
    font-size: 20px;
    font-weight: bold;
}

.manage_point_list_section .point_change_list {
    margin-top: 24px;
    padding-bottom: 16px;
}

.manage_point_list_section .point_change_list_area {
    max-width: 800px;
    margin: 0 auto;
}

.manage_point_list_section .point_change_line {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 12px 0;
}

.manage_point_list_section .js_point_change_line {
    cursor: move !important;
}

.manage_point_list_section .point_change_line+.point_change_line {
    /* margin-top: 12px; */
}

.manage_point_list_section .point_change_line.head_line {
    font-weight: bold;
    text-align: center;
}

.manage_point_list_section .point_change_line input {
    padding: 0 12px;
    display: block;
    box-sizing: border-box;
    border: 1px solid #000;
    background: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 8px;
    width: 100%;
    height: 40px;
    -moz-appearance: textfield;
}

.manage_point_list_section .point_change_line input[type="number"] {
    text-align: right;
}

.manage_point_list_section .point_change_line input::-webkit-outer-spin-button,
.manage_point_list_section .point_change_line input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.manage_point_list_section .point_change_line input::placeholder {
    opacity: 0.4;
}

.manage_point_list_section .change_name_block {
    width: 500px;
}

.manage_point_list_section .change_num_block {
    width: 150px;
}

.manage_point_list_section .change_button_block {
    width: 50px;
}

.manage_point_list_section .delete_line_button {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid #000;
}

.manage_point_list_section .change_line_add {
    position: relative;
    width: 50px;
    height: 40px;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid #000;
    margin-top: 24px;
}

.manage_point_list_section .change_line_add::before,
.manage_point_list_section .change_line_add::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(77, 77, 77);
}

.manage_point_list_section .change_line_add::before {
    width: 20px;
    height: 4px;
}

.manage_point_list_section .change_line_add::after {
    width: 4px;
    height: 20px;
}

.manage_point_list_section .js_point_change_line:first-child .delete_line_button {
    display: none;
}

.manage_point_list_section .save_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 155px;
    height: 32px;
    background-color: #f78b6e;
    border-radius: 6px;
    font-size: 16px;
    color: #fff;
    line-height: 1;
    font-weight: 700;
    margin-top: 24px;
    cursor: pointer;
}


/*
---------------------------------------
キャンペーンページ
---------------------------------------
*/

.campaign_body {}

.campaign_body #common_header {
    top: 0;
}

.campaign_body .campaign_main_inner {
    overflow: clip;
}

.campaign_main {
    padding-bottom: 100px;
}

.campaign_section img {
    display: block;
    width: 100%;
}

.campaign_section .img_head {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 3;
}

.campaign_section .img_head img {
    height: 78px;
    width: auto;
}

.campaign_section .campaign_inner {
    max-width: 1040px;
    margin-inline: auto;
    padding-inline: 20px;
}

.campaign_fv_section {}

.campaign_fv_section .fv_frame {
    display: flex;
    justify-content: center;
}

.campaign_fv_section .fv_frame img {
    width: 100vw;
    max-width: none;
    min-width: 740px;
    flex-shrink: 0;
}

.campaign_info_section {
    padding-top: 64px;
    font-family: 'メイリオ', 'Meiryo', sans-serif;
}

.campaign_info_section .sec_head {
    font-weight: bold;
    font-size: 36px;
    line-height: 1.4;
    color: #5bc24b;
    text-align: center;
}

.campaign_info_section .present {
    max-width: 1000px;
    margin-inline: auto;
    margin-top: 32px;
}


.campaign_info_section .info_text01 {
    text-align: center;
    margin-top: 50px;
    font-size: 36px;
    font-weight: bold;
}

.campaign_info_section .info_text01 strong {
    color: #EC8E8E;
    font-size: 118px;
    padding-inline: 32px;
    display: inline-block;
    line-height: 1;
}

.campaign_info_section .info_text02 {
    margin-top: 20px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.campaign_info_section .info_text02 strong {
    font-size: 40px;
    font-weight: bold;
    color: #EC8E8E;
    padding-inline: 32px;
}

.campaign_info_section .form_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    min-width: 265px;
    padding-top: 4px;
    min-height: 56px;
    border-radius: 9999px;
    margin-inline: auto;
    margin-top: 30px;
    background-color: #FF91AE;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.35);
    text-decoration: none;
    box-sizing: border-box;
}

.campaign_info_section .remark {
    margin-top: 32px;
    font-size: 16px;
    line-height: 1.3;
    text-align: center;

}

.campaign_event_section {}

.campaign_event_section .campaign_inner {
    padding-top: 80px;
}

.campaign_event_section .event_no_result {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 260px;
    margin-top: -40px;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.2;
    color: #808080;
    position: relative;
}

.campaign_event_section .event_no_result::before {
    content: '';
    width: 100vw;
    height: 100%;
    background-color: rgba(122, 194, 111, 0.1);
    position: absolute;
    top: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.campaign_event_section .city_area_wrap {
    margin-top: 32px;
}

.campaign_event_section .city_area {
    padding-top: 24px;
    padding-bottom: 24px;
    position: relative;
}

.campaign_event_section .city_area:nth-child(odd)::before {
    content: '';
    width: 100vw;
    height: 100%;
    background-color: rgba(122, 194, 111, 0.1);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
}

.campaign_event_section .city_head {
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 55px;
    border-radius: 9999px;
    padding-top: 4px;
    padding-bottom: 2px;
    padding-inline: 30px;
    margin-inline: auto;
    background-color: #808080;
    font-weight: bold;
    font-size: 25px;
    line-height: 1;
    color: #fff;
    box-sizing: border-box;
    position: relative;
    z-index: 3;
}

.campaign_event_section #plist {
    background-color: transparent !important;
}

.campaign_event_section .eventlist {
    position: relative;
    z-index: 3;
    margin-top: 32px;
}

.campaign_event_section .eventlist li {
    background-color: #fff;
    cursor: pointer;
    overflow: clip;
    border-radius: 10px;
    border-width: 4px !important;
    border-color: #808080 !important;
    box-sizing: border-box;
}

.campaign_event_section .eventlist li a {
    display: block;
    min-height: 100%;
    color: #4d4d4d;
    text-decoration: none;
}

.campaign_form_section {}

.campaign_form_section * {
    box-sizing: border-box;
}

.campaign_form_section .campaign_inner {
    padding-top: 100px;
}

.campaign_form_section .guide_text {
    position: relative;
    width: fit-content;
    margin-inline: auto;
    font-weight: bold;
    font-size: 36px;
    line-height: 1.5;
    text-align: center;
    color: #1a1a1a;
}

.campaign_form_section .guide_text span {
    color: #EC5E5E;
}

.campaign_form_section .guide_text p {
    position: relative;
    z-index: 2;
}

.campaign_form_section .guide_text::before {
    content: '';
    width: 1088px;
    height: 182px;
    background-image: url('../img_add/campaign/text_bg.png');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
}

.campaign_form_section .guide_remark {
    text-align: center;
    position: relative;
    z-index: 2;
    margin-top: 32px;
    font-size: 16px;
    color: #000;
}

.campaign_form_section .img_head {
    margin-top: 88px;
}

.campaign_form_section .form_area {
    margin-top: 40px;
}

.campaign_form_section .form_line {
    margin-top: 40px;
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

.campaign_form_section .form_label {
    width: 240px;
    flex-shrink: 0;
    min-height: 50px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.3;
}

.campaign_form_section .form_right {
    width: 100%;
}

.campaign_form_section .form_line input {
    display: block;
    width: 100%;
    height: 50px;
    padding-inline: 20px;
    border: 1px solid #4D4D4D;
    background-color: #fff;
    border-radius: 0;
}

.campaign_form_section .form_line select {
    color: #4D4D4D;
    display: block;
    width: 100%;
    height: 50px;
    padding-inline: 20px;
    border: 1px solid #4D4D4D;
    background-color: #fff;
    border-radius: 0;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.campaign_form_section .form_line .form_flex {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 40px 80px;
}

.campaign_form_section .form_line .name_block {
    max-width: 200px;
}

.campaign_form_section .form_line .age_area {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

.campaign_form_section .form_line .age_area label {
    flex-shrink: 0;
    min-height: 50px;
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.3;
}

.campaign_form_section .form_line .age_select_frame {
    width: 130px;
    position: relative;
}

.campaign_form_section .form_line .age_select_frame::after {
    content: '';
    width: 19px;
    height: 8px;
    background-color: #4d4d4d;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    pointer-events: none;
}

.campaign_form_section .form_line .event_text_box {
    background-color: #fff;
    border: 1px solid #4D4D4D;
    background-color: #fff;
    position: relative;
    height: 50px;
    padding-left: 24px;
    padding-right: 56px;
    display: flex;
    align-items: center;
    width: 100%;
}

.campaign_form_section .form_line .event_text_box::after {
    content: '';
    width: 19px;
    height: 8px;
    background-color: #4d4d4d;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    pointer-events: none;
}

.campaign_form_section .form_line .event_text_box select {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 3;
    top: 0;
    left: 0;
}

.campaign_form_section .form_line .event_text_box_inner {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.3;
    color: #4d4d4d;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% - 24px - 56px);
}

.campaign_form_section .form_line .event_text_box p {}

.campaign_form_section .form_line .agree_text_frame {
    height: 300px;
    overflow-y: auto;
    border: 1px solid #4d4d4d;
    margin-top: 0;
    padding-inline: 20px;
    padding-bottom: 20px;
    margin-bottom: 0;
}

.campaign_form_section .form_line .add_agree_area .agree_head {
    text-align: left;
}

.campaign_form_section .agree_check_area {
    margin-top: 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.campaign_form_section .agree_label {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 18px;
    font-weight: bold;
}


.campaign_form_section .entry_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    min-width: 265px;
    padding-top: 2px;
    min-height: 56px;
    border-radius: 9999px;
    margin-inline: auto;
    margin-top: 48px;
    background-color: #FF91AE;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.35);
    text-decoration: none;
}

.campaign_form_section .c_result_area {
    display: flex;
    flex-direction: column;
    align-items: center;
	margin-bottom: 32px;
	margin-top: 32px;
}

.campaign_form_section .c_err_text{
	color:#ff0000;
	font-size: 14px;
	margin-top:6px;
}