@charset "Shift_JIS";


/* cta */
.cta {
    text-align: center;
    display: flex;
    flex-direction: column;
    /* display: inline-block; */
    gap: 10px;
    margin: 4rem 0;
}

.cta_txt {
    font-size: 1.8rem;
}

.cta_button_wrap {
    display: inline-block;
}

.cta_button {
    background: #eb7800;
    border-radius: 10px;
    color: #fff !important;
    display: inline-block;
    overflow: hidden;
    padding: 20px 40px 20px 20px;
    position: relative;
    text-decoration: none !important;
    font-size: 1.4rem;
    box-shadow: 0px 5px 5px 2px rgba(0, 0, 0, 0.17);
    transition: 0.3s;
}


@media screen and (max-width:768px) {
    .cta_button {
        font-size: 1.2rem;
    }
}


.cta_button:hover {
    background: #f1ad66;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: none;
}

.cta_button:before {
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    content: url("/common/images/arrow_a_btn.png");
    margin-left: 1em;
}

.cta_button:hover {
    box-shadow: none;
}

.cta_button:hover a {
    text-decoration: none;
}

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

    .cta_button,
    .cta_button2 {
        max-width: 100%;
    }
}

.cta_button2 {
    color: #fff !important;
	background: linear-gradient(
		135deg,
		#42b8e8 0%,
		#168fd5 55%,
		#0873bd 100%
	);
	box-shadow:
		0 7px 14px rgba(0, 80, 145, 0.35),
		inset 0 1px 0 rgba(255, 255, 255, 0.35);
	transform: translateY(-2px);
	opacity: 1;
}

.cta_button:hover {
    background: #f1ad66;
}

.cta_button2:hover {
    background: #9be9f3;
}

.cta_button::after {
    animation: 2s 0s shine linear infinite;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, .6) 50%, rgba(255, 255, 255, 0) 75%);
    content: '';
    height: 100%;
    left: -100%;
    position: absolute;
    top: 0;
    transform: skewX(-15deg);
    width: 100%;
}

@keyframes shine {
    20% {
        left: 100%;
    }

    100% {
        left: 100%;
    }
}

/* cta END */


/*????*/
.keyimgBox {
    margin-bottom: 0;
}

/*???*/
#mainColumn article.contents {
    background: #c60011;
    padding: 1rem;
    margin: 0;
    background:
		radial-gradient(
			ellipse at 50% 0%,
			rgba(255, 90, 90, 0.55) 0%,
			rgba(255, 30, 45, 0.25) 35%,
			transparent 65%
		),
		linear-gradient(
			135deg,
			#980014 0%,
			#d6001c 45%,
			#a50016 100%
		);
}

#mainColumn article.contents .contents_inner {
    background: #fff;
    padding: 1rem;
    margin-bottom: 0 !important;
    border-radius: 10px;
}

/*-------------------
??????
-------------------*/

@media screen and (max-width:768px) {
    h1 {
        font-size: 1.8rem;
        text-align: center;
    }
}

h2.cp_ttl {
    color: #fff;
    font-weight: 800;
    text-align: center;
    background-image: url(/shihou/campaign/firstvoicemovie/images/cpttl_bg.jpg);
    border: none;
    padding: 10px 10px 5px 10px;
    margin-bottom: 20px;
    font-size: 1.6rem;
}


@media screen and (max-width:768px) {
    h2.cp_ttl {
        font-size: 1.3rem;
    }

}


h2.cp_ttl:after {
    background: transparent;
}



h3.cp_ttl {
    font-weight: 800;
    font-size: 1.4rem;
}



@media screen and (max-width:768px) {
    h3.cp_ttl {
        font-size: 1.2rem;
    }

}



/*????*/
.point {
    font-weight: 800;
    color: #c60011;
    font-size: 1.2rem;
}


/**/

.gift{
        background:#f8f3ea;
	border-radius:10px;
	padding:1rem;
}

.label {
    position: relative;
    display: inline-block;
    height: 30px;
    line-height: 30px;
    padding: 0 2rem 0 1rem;
    margin-bottom: 10px;
    background-color: #c39f4f;
    color: #fff;
    font-weight: bold;
    text-align: center;
     width: 30%;
}


@media screen and (max-width:768px) {
    .label {
        width: 40%;
    }
}

.label::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 0px;
    height: 0px;
    border-width: 15px 15px 15px 0px;
    border-color: transparent #f8f3ea;
    border-style: solid;
    content: '';
}

dl.gift dd {
    margin-bottom: 5px;
}


/*----------
????
----------*/
.marker {
    background: linear-gradient(transparent 60%, #ff6 60%);
}

ul.present {
    font-weight: 800;
    color: #c60011;
    border: 3px solid #ffbdc2;
    border-radius: 12px;
    padding: 1rem;
    background: #fff5f6;
}