.page-kamaitachi3 .container_kamaitachi3 {
    max-width: 800px;
    padding: 0 20px;
}

.page-kamaitachi3 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.page-kamaitachi3 .text-center {
    text-align: center;
}

.page-kamaitachi3 .d-none {
    display: none;
}

.page-kamaitachi3 .open-part-1 {
    background: url("/common/design/user/img/kamaitachi3/bg-open-part-1.jpg") center no-repeat;
    background-size: cover;
    font-size: 26px;
    line-height: 35px;
    padding: 20px 0;
    font-weight: 700;
    color: #ffffff;
    border-start-start-radius: 10px;
    border-start-end-radius: 10px;
    margin-bottom: 20px;
}

.page-kamaitachi3 .part-1-event {
    padding-bottom: 40px;
}

.page-kamaitachi3 .open-part-event {
    font-size: 26px;
    line-height: 35px;
    padding-bottom: 10px;
    border-bottom: 4px solid #d61518;
    color: #000000;
    font-weight: 700;
    margin-bottom: 25px;
    width: fit-content;
    z-index: 2;
    position: relative;
}

.page-kamaitachi3 .box-open-part-event {
    position: relative;
}

.page-kamaitachi3 .box-open-part-event:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 4px;
    background: #000000;
    left: 0;
    bottom: 0;
}


.page-kamaitachi3 .head-part-2 {
    background-color: #ecfdff;
    padding: 12px 9px;
    font-size: 20px;
    line-height: 28px;
    color: #0a82b4;
    font-weight: 700;
    align-items: center;
}

.page-kamaitachi3 .head-part-2 img {
    margin-right: 10px;
    width: 40px;
}

.page-kamaitachi3 .text-part-2 {
    font-size: 18px;
    line-height: 24px;
    padding: 15px 0;
}

.page-kamaitachi3 .text-part-2 span {
    font-weight: 500;
    font-size: 16px;
    color: #717171;
}

.page-kamaitachi3 .content-part-2:last-child {
    padding-bottom: 50px;
}

.page-kamaitachi3 .box-idol {
    justify-content: space-between;
    padding-bottom: 30px;
}

.page-kamaitachi3 .item-sell {
    width: 49%;
    border-radius: 10px;
    background-color: #e7f4ff;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 25px 20px;
}

.page-kamaitachi3 .pr-img {
    display: flex;
    background-color: #FFFFFF;
    width: 90%;
    position: relative;
    padding: 5px;
    align-items: center;
    margin: 0 auto;
}

.page-kamaitachi3 .name-idol {
    font-size: 20px;
    line-height: 28px;
    font-weight: 700;
    color: #1e649f;
    padding: 20px 0;
}

.page-kamaitachi3 .intro-idol {
    padding: 25px 0;
    font-size: 16px;
    line-height: 28px;
}

.page-kamaitachi3 .intro-idol span {
    font-size: 20px;
    font-weight: 700;
}

.page-kamaitachi3 .but-tool {
    background-color: #e61e02;
    font-weight: 700;
    font-size: 28px;
    line-height: 35px;
    position: relative;
    border-radius: 5px;
    width: 100%;
    padding: 18px 0;
    color: #ffffff;
    text-align: center;
}

.page-kamaitachi3 .but-tool:after {
    content: '';
    background: url(/common/design/user/img/gachamuku/icon-arrow.png) no-repeat center;
    background-size: cover;
    height: 25px;
    width: 25px;
    position: absolute;
    top: 10px;
    right: 0;
    transform: translate(-50%, 50%);
}

.page-kamaitachi3 .info-shirt {
    font-size: 16px;
    line-height: 26px;
}

.page-kamaitachi3 .box-open-3 {
    position: relative;
}

.page-kamaitachi3 .text-part-3 {
    font-size: 26px;
    line-height: 34px;
    color: #ffffff;
    position: absolute;
    transform: translate(-50%, 50%);
    top: 35%;
    left: 50%;
}

.page-kamaitachi3 .ytb-video {
    margin: 0 auto;
    width: fit-content;
}

.page-kamaitachi3 .part-3-event {
    padding-bottom: 30px;
}

.page-kamaitachi3 .text-intro-4 {
    font-size: 16px;
    line-height: 26px;
    padding: 15px 0 25px;
}

.page-kamaitachi3 .box-intro-idol {
    background-color: #e7f4ff;
    padding: 40px 60px;
    border-radius: 10px;
}

.page-kamaitachi3 .box-img-idol {
    justify-content: space-between;
}

.page-kamaitachi3 .name-idol-intro {
    font-size: 20px;
    line-height: 32px;
    font-weight: 700;
    padding: 15px 0;
}

.page-kamaitachi3 .part-img-idol {
    width: 32%;
}

.page-kamaitachi3 .img-idol-intro {
    border: 2px solid #09b7ff;
    border-radius: 100px;
}

.page-kamaitachi3 .box-info-idol {
    justify-content: space-between;
}

.page-kamaitachi3 .part-info {
    width: 32%;
}

.page-kamaitachi3 .text-info {
    font-size: 20px;
    line-height: 55px;
    margin-bottom: 8px;
}

.page-kamaitachi3 .text-mid {
    color: #ffffff;
    background-color: #00b4ff;
}

.page-kamaitachi3-sp .text-mid {
    padding: 0 9px;
    text-align: right;
}

.page-kamaitachi3 .container-event {
    margin: 0 10px;
}

.page-kamaitachi3-sp .open-part-1 {
    font-size: 15px;
    line-height: 23px;
    padding: 10px 0;
    border-start-start-radius: 5px;
    border-start-end-radius: 5px;
    margin-bottom: 10px;
}

.page-kamaitachi3-sp .open-part-event {
    font-size: 16px;
    line-height: 22px;
    padding-bottom: 0;
    margin-bottom: 15px;
    border-bottom: 2px solid #d61518;
}

.page-kamaitachi3-sp .head-part-2 {
    padding: 7px 8px;
    font-size: 13px;
    line-height: 20px;
}

.page-kamaitachi3-sp .head-part-2 img {
    margin-right: 5px;
    width: 26px;
}

.page-kamaitachi3-sp .text-part-2 {
    font-size: 12px;
    line-height: 18px;
    padding: 10px 0;
}

.page-kamaitachi3-sp .text-part-2 span {
    font-size: 12px;
    line-height: 18px;
}

.page-kamaitachi3-sp .ytb-video iframe {
    width: 100%;
    height: 100%;
}

.page-kamaitachi3-sp .img-idol {
    width: 70%;
    margin: 0 auto;
}

.page-kamaitachi3-sp .name-idol {
    font-size: 12px;
    line-height: 18px;
    padding: 8px 0 10px;
}

.page-kamaitachi3-sp .intro-idol {
    padding: 8px 0;
    font-size: 12px;
    line-height: 18px;
    height: 100%;
}

.page-kamaitachi3-sp .intro-idol span {
    font-size: 12px;
    line-height: 18px;
}

.page-kamaitachi3-sp .item-sell {
    width: 49%;
    border-radius: 5px;
    padding: 10px;
    justify-content: flex-start;
}

.page-kamaitachi3-sp .but-tool {
    font-size: 14px;
    line-height: 12px;
    border-radius: 5px;
    padding: 13px 0;
}

.page-kamaitachi3-sp .but-tool:after {
    height: 15px;
    width: 15px;
    top: 4px;
    right: 0;
}

.page-kamaitachi3-sp .info-shirt {
    font-size: 12px;
    line-height: 18px;
}

.page-kamaitachi3-sp .text-part-3 {
    font-size: 14px;
    line-height: 22px;
    top: 30%;
}

.page-kamaitachi3-sp .part-3-event {
    padding-bottom: 25px;
}

.page-kamaitachi3-sp .text-intro-4 {
    font-size: 12px;
    line-height: 18px;
    padding: 20px 0 15px;
}

.page-kamaitachi3-sp .box-intro-idol {
    padding: 15px 10px;
    border-radius: 5px;
}

.page-kamaitachi3-sp .name-idol-intro {
    font-size: 12px;
    line-height: 18px;
    padding: 5px 0;
}

.page-kamaitachi3-sp .text-info {
    font-size: 12px;
    line-height: 30px;
    margin-bottom: 4px;
}

.page-kamaitachi3-sp .part-img-idol {
    width: 18%;
}

.page-kamaitachi3 .part-info {
    width: 39%;
}

.page-kamaitachi3-sp .box-img-idol:first-child {
    padding-bottom: 20px;
}

.page-kamaitachi3 .box-join {
    padding: 0 25px 25px;
    background: url("/common/design/user/img/kamaitachi3/bg-join.jpg") center no-repeat;
    background-size: 100% 96%;
    position: relative;
    margin-bottom: 60px;
}

.page-kamaitachi3 .head-join {
    width: 70%;
    margin: 0 auto;
    top: -12px;
    position: relative;
}

.page-kamaitachi3 .box-way-join {
    justify-content: space-between;
}

.page-kamaitachi3 .ways-join {
    width: 49%;
    background-color: #ffffff;
    border-radius: 6px;
    padding: 25px 20px;
}

.page-kamaitachi3 .head-box {
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;
}

.page-kamaitachi3 .text-join {
    font-size: 16px;
    line-height: 26px;
    padding: 20px 0 10px;
}

.page-kamaitachi3 .text-join span {
    color: #d61518;
    padding-right: 20px;
}

.page-kamaitachi3 .notice-join {
    font-size: 16px;
    line-height: 24px;
    color: #676767;
    padding-top: 15px;
}

.page-kamaitachi3 .img-join-part {
    position: absolute;
    transform: translate(-50%, 50%);
    width: 14%;
}

.page-kamaitachi3 .img-join-1 {
    top: -26.5%;
    right: -5%;
}

.page-kamaitachi3 .img-join-2 {
    top: -15.5%;
    left: 9%;
}

.page-kamaitachi3-sp .box-join {
    padding: 0 10px 32px;
    margin-bottom: 30px;
}

.page-kamaitachi3-sp .box-way-join {
    flex-direction: column;
    gap: 10px;
}

.page-kamaitachi3-sp .ways-join {
    width: 100%;
    border-radius: 5px;
    padding: 20px 10px 10px;
}

.page-kamaitachi3-sp .head-join {
    width: 103%;
    top: 0;
}

.page-kamaitachi3-sp .head-box {
    font-size: 15px;
    line-height: 18px;
}

.page-kamaitachi3-sp .text-join {
    font-size: 14px;
    line-height: 20px;
    padding: 10px 0 5px;
}

.page-kamaitachi3-sp .notice-join {
    font-size: 12px;
    line-height: 14px;
    padding-top: 5px;
}

.page-kamaitachi3 .text-tiktok {
    font-size: 20px;
    line-height: 30px;
    font-weight: 700;
    padding-bottom: 5px;
}

.page-kamaitachi3 .open-tiktok {
    font-size: 16px;
    line-height: 26px;
    padding: 5px 15px;
    font-weight: 700;
    background-color: #f2f2f2;
    margin-bottom: 10px;
    width: fit-content;
}

.page-kamaitachi3 .link-tiktok {
    padding-bottom: 50px;
}

.page-kamaitachi3-sp .text-tiktok {
    font-size: 14px;
    line-height: 18px;
    padding-bottom: 5px;
}

.page-kamaitachi3-sp .open-tiktok {
    font-size: 12px;
    line-height: 16px;
    padding: 5px 10px;
    margin-bottom: 6px;
}

.page-kamaitachi3-sp .box-open-part-event:after {
    height: 2px;
}

.page-kamaitachi3-sp .text-join span {
    padding-right: 15px;
}

.page-kamaitachi3 .box-ytb {
    padding-bottom: 40px;
}

.page-kamaitachi3-sp .box-ytb {
    padding-bottom: 20px;
}

.page-kamaitachi3-sp .ytb-video {
    width: 100%;
    height: 220px;
}
.page-kamaitachi3 .img-part-1 {
    position: relative;
}
.page-kamaitachi3 .img-part-1 h1 {
    position: absolute;
    left: -9999px;
}
.page-kamaitachi3 .banner-content-box {
    background: url("/common/design/user/img/kamaitachi3/icon-kamatachi-news-sp-2.png") no-repeat;
    background-size: 100% 100%;
    min-height: 100px;
    padding: 23px 15px 16px;
    margin: -34px auto 0;
    position: relative;
    z-index: 9;
    width: calc(100% - 20px);
}
@media (min-width: 992px) {
    .page-kamaitachi3 .banner-content-box {
        background: url("/common/design/user/img/kamaitachi3/icon-kamatachi-news-2.png") no-repeat;
        background-size: 100% 100%;
        margin: -38px auto 0;
        padding: 46px 66px 36px;
        max-width: 628px;
        width: 100%;
    }
}
.page-kamaitachi3 .banner-content-box h2 {
    font-size: 16px;
    line-height: 18px;
    letter-spacing: 0.3px;
    color: #ff6600;
    font-weight: 700;
    margin-bottom: 14px;
    text-align: center;
}
@media (min-width: 992px) {
    .page-kamaitachi3 .banner-content-box h2 {
        font-size: 24px;
        line-height: 32px;
        letter-spacing: 0.6px;
        margin-bottom: 18px;
    }
}
.page-kamaitachi3 .banner-content-box p {
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.3px;
    color: #000;
    margin-bottom: 0;
}
@media (min-width: 992px) {
    .page-kamaitachi3 .banner-content-box p {
        font-size: 18px;
        line-height: 28px;
        letter-spacing: 0.6px;
        text-align: center;
    }
}
.page-kamaitachi3 .img-part-1 img {
    min-height: 196px;
}
@media (min-width: 360px) {
    .page-kamaitachi3 .img-part-1 img {
        min-height: 222px;
    }
}
@media (min-width: 375px) {
    .page-kamaitachi3 .img-part-1 img {
        min-height: 232px;
    }
}
@media (min-width: 390px) {
    .page-kamaitachi3 .img-part-1 img {
        min-height: 242px;
    }
}
@media (min-width: 414px) {
    .page-kamaitachi3 .img-part-1 img {
        min-height: 257px;
    }
}
@media (min-width: 430px) {
    .page-kamaitachi3 .img-part-1 img {
        min-height: 268px;
    }
}