/* お知らせメッセージ 黄色 */
.info_message {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    background-color: #FEF8D6;
    padding: 6px 12px;
}
.info_message .info_message_inner {
    text-align: center;
}
.info_message .info_message_inner .info_message_detail {
    font-size: 15px;
    font-weight: normal;
}
/* お知らせメッセージ グレー */
.info_message.gray {
    background-color: #f5f5f5;
}
.info_message.gray .info_message_detail {
    font-size: 13px;
    color: #666;
}
/* ステップ */
.progress__wrap{
    margin: 32px auto 16px;
}
.progress__wrap .step{
    display: flex;
}
.progress__wrap .step .step__item{
    width: 33.333%;
    position: relative;
    flex: 1;
    text-align: center;
    color: #999;
    background: #eaeaea;
    height: 40px;
}
.progress__wrap .step .step__item:first-child{
    border-radius: 6px 0 0 6px;
}
.progress__wrap .step .step__item:last-child{
    border-radius: 0 6px 6px 0;
}
.progress__wrap .step .step__item::after,
.progress__wrap .step .step__item::before{
    content: "";
    border-style: solid;
    border-width: 20px 0 20px 15px;
    position: absolute;
    top: 0;
    z-index: 1;
}
.progress__wrap .step .step__item::after{
    right: -14px;
    border-color: transparent transparent transparent #eaeaea;
}
.progress__wrap .step .step__item::before{
    right: -15px;
    border-color: transparent transparent transparent #fff;
}
.progress__wrap .step .step__item .text{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    color: #7b7b7b;
    font-size: 13px;
    font-weight: 400;
}
.progress__wrap .step .step__item .text span {
    font-weight: bold;
}
.progress__wrap .step .step__item.active {
    background: #333;
}
.progress__wrap .step .step__item.active .text{
    color: #fff;
}
.progress__wrap .step .step__item.active::after {
    border-color: transparent transparent transparent #333;
}
.progress__wrap .step .step__item:last-child::after,
.progress__wrap .step .step__item:last-child::before {
    display: none
}
.progress__wrap .step .step__item:nth-child(1).active::before,
.progress__wrap .step .step__item:nth-child(2).active::before{
    border: none;
}
/* コンテンツ */
.main.login {
    overflow-x: hidden;
}
.login__title {
    font-family: "NotoSansJP" , "Roboto", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    padding: 32px 12px 42px;
}
.login__title .login__subTitle {
    font-size: 16px;
    font-weight: normal;
    color: #666;
    margin-top: 4px;
}
.form__block__wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.form__block__wrap .item__wrap {
    display: flex;
    flex-direction: row;
}
.form__block__wrap .item__wrap .form__label__wrap:not(.pt0) {
    margin: 0 16px 0 24px;
    min-width: 100px;
    padding-top: 15px;
}
.form__block__wrap .item__wrap .form__label__wrap p {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}
.form__block__wrap .item__wrap .form__input__wrap {
    max-width: 480px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.form__block__wrap .item__wrap .form__input__wrap .textLink {
    font-size: 14px;
    font-weight: bold;
    text-align: right;
    line-height: 1;
    position: relative;
    display: block;
    margin-top: 12px;
    padding-right: 12px;
}
.form__block__wrap .item__wrap .form__input__wrap .textLink:hover {
    opacity: .65;
}
.form__block__wrap .item__wrap .form__input__wrap .textLink::after {
    content: "";
    display: block;
    width: 7px;
    height: 12px;
    background: url(../images/svg/ic_arrow_red.svg) no-repeat center;
    background-size: contain;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    position: absolute;
    top: 0px;
    bottom: 0px;
    right: 0px;
    left: auto;
}
.form__input {
    display: block;
    border: 1px solid #BDBDBD;
    border-radius: 6px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.6;
    font-size: 16px!important;
    padding: 12px;
}
.profile__input {
    width: 100%;
}

/* アコーディオンリンク */
.accordion {
    margin-bottom: 16px;
}
.accordion .accordion__item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.accordion .accordion__item .accordion__header {
    display: flex;
    justify-content: center;
}
.accordion .accordion__item .accordion__header .accordion__trigger {
    font-size: 13px;
    font-weight: normal;
    color: #666;
    text-align: center;
    background-color: inherit;
    border: none;
    position: relative;
    padding: 0 12px 0 0;

}
.accordion .accordion__item .accordion__header .accordion__trigger:hover {
    opacity: .65;
}
.accordion .accordion__item .accordion__header .accordion__trigger::after {
    position: absolute;
    display: block;
    content: "";
    width: 10px;
    height: 15px;
    background: url(https://members.moviewalker.jp/resources/hz6yk/login/mw-theme/img/account/icon-angle-down.svg) no-repeat center;
    background-size: contain;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    position: absolute;
    top: 0px;
    bottom: 0px;
    margin: auto;
    right: 0px;
    left: auto;
}
.accordion .accordion__item.is-open .accordion__header .accordion__trigger::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(-180deg);
}
.accordion .accordion__item .accordion__detail {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease-out, opacity 0.3s;
    opacity: 0;
}
.accordion__item.is-open .accordion__detail {
    opacity: 1;
}
.accordion .accordion__item .accordion__detail .accordion__content {
    font-size: 11px;
    font-weight: normal;
    color: #666;
    text-align: center;
}
/* 注意事項 */
.notion__text {
    text-align: center;
    font-size: 13px;
    color: #666;
    font-weight: normal;
    margin-bottom: 16px;
}
.notion__text .textLink {
    color: #E71410;
    text-decoration: underline;
}
.notion__text .textLink:hover {
    opacity: .65;
}
/* ボタンエリア */
.form__btnWrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    padding: 48px 16px;
}
.form__btnWrap .btn__wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.form__btnWrap .btn__wrap + .btn__wrap {
    margin-top: 16px;
}
.form__btnWrap .btn-wider {
    width: 320px;
}
.form__btnWrap span {
    display: block;
    font-size: 16px;
    font-weight: normal;
    text-align: center;
    margin-bottom: 8px;
}
.error {
    font-size: 13px;
    color: #E71410;
    text-align: center;
}

/* recommend */
.un_memberRecommend_area {
    background: #F5F5F5;
    padding-top: 50px;
    padding-bottom: 50px;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
.un_memberRecommend_area .un_memberRecommend_title {
    font-size: 1.125rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 1.12rem;
}
.un_memberRecommend_area .un_memberRecommend_list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    width: 35rem;
    margin: 0 auto;
}
.un_memberRecommend_area .un_memberRecommend_list li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #fff;
    border-radius: 50%;
    width: 100%;
    aspect-ratio: 1 / 1;
    text-align: center;
}
.un_memberRecommend_area .un_memberRecommend_list li img {
    width: auto;
    height: 2rem;
    margin: 0 auto;
}
.un_memberRecommend_area .un_memberRecommend_list li span {
    display: block;
    font-size: .6875rem;
    font-weight: 600;
    margin-top: .32rem;
}
.un_memberRecommend_bnrArea {
    margin-top: 1.25rem;
}
.un_memberRecommend_bnrArea .un_memberRecommend_more {
    font-size: 1.125rem;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: .5rem;
}
.un_memberRecommend_bnrArea .un_memberRecommend_more::before {
    background-color: #000;
    border-radius: 3px;
    content: "";
    width: 20px;
    height: 1px;
    margin-right: 1rem;
    transform: rotate(50deg);
}
.un_memberRecommend_bnrArea .un_memberRecommend_more::after {
    background-color: #000;
    border-radius: 3px;
    content: "";
    width: 20px;
    height: 1px;
    margin-left: 1rem;
    transform: rotate(-50deg);
}
.un_memberRecommend_bnrArea .un_memberRecommend_bnr {
    display: block;
    width: 22rem;
    margin: 0 auto;
}
.un_memberRecommend_bnrArea .un_memberRecommend_bnr:hover {
    opacity: .65;
}
@media screen and (max-width: 767px) {
    /* お知らせメッセージ */
    .info_message {
        width: auto;
    }
    /* ステップ */
    .progress__wrap{
        padding: 0 16px;
        margin: 32px auto 0;
    }
    .progress__wrap .step .step__item {
        height: 48px;
    }
    .progress__wrap .step .step__item::after, .progress__wrap .step .step__item::before {
        border-width: 24px 0 24px 15px;
    }
    .progress__wrap .step .step__item .text{
        font-size: 12px;
        line-height: 1.5;
    }
    /* コンテンツ */
    .main.login {
        padding-top: 0;
    }
    .login__title {
        padding: 32px 12px;
    }
    .form__block__wrap {
        padding: 0 16px;
        gap: 16px;
        align-items: center;
    }
    .form__block__wrap .item__wrap {
        flex-direction: column;
        gap: 8px;
        width: 100%;
        max-width: 480px;
    }
    .form__block__wrap .item__wrap .form__label__wrap:not(.pt0) {
        padding: 0;
        margin: 0;
    }
    .form__block__wrap .item__wrap .form__label__wrap p{
        font-size: 16px;
    }
    .form__input__wrap .form__input::placeholder {
        font-size: 16px;
    }
    .form__btnWrap {
        padding-top: 32px;
        gap: 16px;
    }
    .form__btnWrap .btn__wrap + .btn__wrap {
        margin-top: 8px;
    }
    /* recommended */
    .un_memberRecommend_area {
        padding: 32px 24px 48px;
        width: auto;
    }
    .un_memberRecommend_area .un_memberRecommend_title {
        font-size: 18px;
    }
    .un_memberRecommend_area .un_memberRecommend_list {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
        gap: 0;
    }
    .un_memberRecommend_area .un_memberRecommend_list li {
        width: calc((100% - 1.5rem) / 3);
        max-width: 120px;
    }
    .un_memberRecommend_area .un_memberRecommend_list li+li {
        margin-left: .75rem;
    }
    .un_memberRecommend_area .un_memberRecommend_list li span {
        font-size: 13px;
    }
    .un_memberRecommend_area .un_memberRecommend_list li img {
        height: 2.325rem;
    }
    .un_memberRecommend_bnrArea .un_memberRecommend_bnr {
        width: 100%;
        max-width: 480px;
    }
}