:root {
	--b_margin: 3.2rem;
	--b_padding: 1.6rem;
}

html {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-size: calc(100vw * 10 / 390);
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	color:#333333;
	margin: 0;
	padding: 0;
}
body {
	position: relative;
	margin: 0;
	padding: 0;
	padding-top: 6rem;
	font-size: 1.4em;
	text-align: center;
}
img {
	max-width: 100%;
}

header {
	width: 100%;
	box-sizing: border-box;
	padding: 1rem;
	background-color: #ffffff;
	position : fixed;
	top: 0;
	z-index: 100;

	-webkit-box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, .1);
	box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, .1);
}
#logo_set {
	display: grid;
	width: 58.975vw;
	margin:auto;
	grid-template-columns: 90fr 140fr;
}
#logo_set a {
	display: block;
}
#logo_set img {
	vertical-align: middle;
}
#logo_docomo {
	box-sizing: border-box;
	border-right: solid 1px #808080;
	padding: 0.7rem 1.4rem 1rem;
	box-sizing: border-box;
}
#logo_prime{
	padding: 1.1rem 1.8rem 0.6rem;
}
#mv_bottom {
	padding: 2.4rem 1.4rem;
}
.btn_box {
	padding:2.4rem 8rem;
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
	align-items: center;
	justify-content: center;
}
.btn_box a {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 23 / 5;
	color: #ffffff;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.8rem;
	background: url("../images/btn.svg") no-repeat;
	font-feature-settings: "palt";
	transition: all 0.25s ease;
}
.btn_box a:hover {
	filter: drop-shadow(0.2rem 0.2rem 0.2rem #00000099) brightness(120%);
}

#cp_detail {
	background-size: auto auto;
	background-color: rgba(254, 118, 4, 1);
	background-image: repeating-linear-gradient(135deg, transparent, transparent 50px, rgba(254, 100, 4, 1) 50px, rgba(254, 100, 4, 1) 100px );
	padding: 2.4rem 0 2.4rem;
}
#cp_detail .inner {
	margin: auto 2.4rem;
}
#cp_detail h4 {
	display: inline-block;
	position: relative;
	margin: auto auto 2rem;
	text-align: center;
	font-weight: 700;
	font-size: 1.7rem;
	color: #ffffff;
}
#cp_detail h4::before ,
#cp_detail h4::after {
	content: "";
	display: block;
	position: absolute;
	top: -0.25rem;
	width: 0.15rem;
	height: 125%;
	background-color: #ffffff;
}
#cp_detail h4::before {
	left: -1em;
	transform: rotate(-30deg);
}
#cp_detail h4::after {
	right: -1em;
	transform: rotate(30deg);
}

#cp_detail .box {
	text-align: left;
	padding: 2rem;
	border-radius: 1rem;
	background-color: #ffffff;
}
#cp_detail .box dt {
	padding-bottom: 1rem;
	border-bottom: 1px solid #bbbbbb;
	margin-bottom: 1.6rem;

	font-weight: normal;
}
#cp_detail .box dd {
	margin-bottom: 3.8rem;
	font-size: 1.3rem;
	line-height: 2.1rem;
}
#cp_detail .box dd:last-child {
	margin-bottom: 0rem;
}
#cp_detail .att {
	margin-left: 1em;
	text-indent: -1em;
}
#cp_detail .att_b {
	font-weight: bold;
	margin-left: 1em;
	text-indent: -1em;
}
#cp_detail .term {
	margin-bottom: 2.8rem;
}
.term_list {
	margin-bottom: 3.8rem;
}
.term_list li {
	position: relative;
	padding-left: 3.6em;
	counter-increment: cnt;
}
.term_list li::before {
	content: "条件" counter(cnt) "．";
	position: absolute;
	left: 0em;
}
.base_box {
	margin: auto;
}
#precaution_box {
	margin: 2.4rem;
	padding: 2rem 1.6rem;
	border-radius: 1rem;
	background-color: #ffffff;
	border: solid 1px #b5b5b5;
	box-sizing: border-box;
}
#precaution_box h5 {
	font-weight: bold;
	margin-bottom: 2.8rem;
}
#precaution_box ul {
	list-style-type: "・ ";
	padding-left: 1rem;
}
#precaution_box li {
	text-align: left;
	font-feature-settings: "palt";
}
#precaution_box a {
	all: revert;
}

.cp_list {
	margin-bottom: 8rem;
}

footer {
	background-color: #000000;
	font-size: 1.2rem;
}
#copy {
	color: #ffffff;
	font-size: 1.2rem;
	line-height: 2.8rem;
}

/* ==================== ap_bottom ==================== */
#ap_btn1 {
	position: relative;
	display: grid;
	margin: 0rem 6.8rem 0rem;
	width: auto;
	margin-bottom: 1rem;
	aspect-ratio: 230 / 53;
	pointer-events: none;
	filter: saturate(0%) brightness(150%);
	transition: all 0.25s ease 0s;
}
#ap_btn1::before {
	content: "";
	display: block;
	position: absolute;
	width: 96%;
	height: 100%;
	top: 0;
	left: 2%;
	background: linear-gradient(90deg, #00913a 0%, #006934 100%);
	transform: skewX(-12deg);
	z-index: 0;
}
#ap_btn1.entry-btnStyle_checked {
	filter: saturate(100%) brightness(100%);
}
#ap_btn1.entry-btnStyle_checked::before {
	pointer-events: all;
}
#ap_btn1::after {
	content: "今すぐエントリー";
	display: grid;
	position: absolute;
	width: 88%;
	height: 100%;
	top: 0;
	left: 0;
	place-items: center;
	font-size: 2rem;
	font-weight: bold;
	font-feature-settings: "palt";
	color: #ffffff;
	z-index: 0;
}
#ap_btn1 span {
	position: absolute;
	display: block;
	width: 2.2rem;
	height: 2.2rem;
	top: 30%;
	right: 14%;
	transition: all 0.25s ease;
}
#ap_btn1:hover span {
	right: 12%;
}
#ap_btn1 span::after{
	content: url("../images/btn_arrow.svg");
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: unset;
}

#entry-chkbox {
	-webkit-appearance: checkbox;
	appearance: checkbox;
}
#entry-chkbox + label {
	margin-left: 1rem;
	vertical-align: middle;
}

/* ==================== thanks ==================== */
#end_page {
	min-height: 100vh;
	padding-top: 0;
	display: grid;
	grid-template-rows: max-content 1fr max-content;
}
#thanks {
	background: url("../images/thanks_bg.png") repeat top center;
	background-size: 180%;
	padding: 3rem 0 2.4rem;
	min-height: 100%;
}
#thanks .inner {
	margin: auto 2.4rem;
}
#thanks .box {
	text-align: center;
	padding: 2rem;
	border-radius: 1rem;
	background-color: #ffffff;
}
#thanks h1 {
	margin-bottom: 2.4rem;
}
#thanks h3 {
	font-weight: bold;
	margin-bottom: 1rem;
}
#thanks h4 {
	display: inline-block;
	color: #e50211;
	background-color: #fff100;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 0 0.5em;
}
#thanks h4:last-of-type {
	margin-bottom: 1.6rem;
}
#thanks .att {
	text-align: left;
	margin-left: 1em;
	text-indent: -1em;
}
#thanks h5 {
	display: inline-block;
	position: relative;
	margin: 2rem auto 0.8rem;
	text-align: center;
	font-weight: 700;
	font-size: 1.6rem;
}
#thanks h5::before ,
#thanks h5::after {
	content: "";
	display: block;
	position: absolute;
	top: -0.25rem;
	width: 0.15rem;
	height: 125%;
	background-color: #000000;
}
#thanks h5::before {
	left: -1em;
	transform: rotate(-30deg);
}
#thanks h5::after {
	right: -1em;
	transform: rotate(30deg);
}

#ap_entry_end_1 ,
#ap_entry_end_2 {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 294 / 80;
	color: #ffffff;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 2.2rem;
	vertical-align: -0.6rem;
	transition: all 0.25s ease;
}
#ap_entry_end_1 span ,
#ap_entry_end_2 span {
	margin-top: -0.75rem;
}
#ap_entry_end_1 {
	background: url("../images/thanks_btn1.svg") no-repeat;
	background-size: contain;
	margin-top: 2.4rem;
}
#ap_entry_end_2 {
	background: url("../images/thanks_btn2.svg") no-repeat;
	background-size: contain;
	margin-top: 0rem;
}
#ap_entry_end_1:hover ,
#ap_entry_end_2:hover {
	filter: drop-shadow(0.2rem 0.2rem 0.2rem #00000099) brightness(120%);
}
#ap_entry_end_1 span {
	transform: translateX(-0.2em);
}

/* ==================== thanks header ==================== */
#end_page header {
	position: relative;
	padding: 0;
	max-height: unset;
}
.cp-hd-inner {
    background-color: #fff;
    overflow: hidden;
}
.cp-hd {
	position: relative;
	display: grid;
	justify-content: space-between;
    width: 100%;
	height: 17.7vw;
	padding: 0 1.4rem;
    grid-template-columns: 1fr 1fr;
    align-items: center;
	justify-items: start;	
}
.cp-logo-docomo a{
	display: inline-block;
	background-color: unset;
}
.cp-logo-docomo img {
	width: calc(23.8vw * 2);
	transform: scale(0.5);
	transform-origin: left center;
}
.cp-logo-daccount {
	justify-self: end;
}
@media (min-width: 690px) {

.cp-hd {
	padding: 0 2.8rem;
}

}
@media (min-width: 1024px) {
.cp-hd {
	height: 88px;
	max-width: 640px;
	margin: 18px auto;
	padding: 0;
	overflow: hidden;
}
.cp-logo-docomo img {
	max-width: none;
	width: calc(172px * 1.25);
	transform: scale(0.8);
}

}
/* ======================================== */
/*                 690px以上                 */
/* ======================================== */
@media (min-width: 690px) {

html {
	font-size: calc(100vw * 10 / 690);
}
body {
	padding-top: 9rem;
}
header {
	padding-top: 1.4rem;
	padding-bottom: 1.4rem;
}
#logo_set {
	width: 49.7%;
	grid-template-columns: 138fr 210fr;
}
#logo_docomo {
    padding: 1.7rem 2.4rem 2.2rem;
}
#logo_prime{
	padding: 1.8rem 2.8rem 1.1rem;
}

#mv {
	margin-left: auto;
	margin-right: auto;
}
#mv_bottom {
    padding: 4.8rem 2.4rem;
}
.btn_box {
	padding-bottom: 4.8rem;
}

.btn_box a {
	width: 34.5rem;
	font-size: 2.0rem;
	line-height: 2.8rem;
}


#cp_detail {
	padding-top: 3rem;
	padding-left: 2.4rem;
	padding-right: 2.4rem;
}
#cp_detail .inner {
	margin-left: auto;
	margin-right: auto;
}
#cp_detail .box {
	padding: 40px;
}

#precaution_box {
	margin: 4.8rem 2.4rem;
}

#ap_btn1 {
	margin-left: auto;
	margin-right: auto;
	max-width: 60%;
}
#ap_btn1::after {
	font-size: 3rem;
}
#ap_btn1 span {
	width: 4rem;
	height: 4rem;
}

#thanks {
	padding: 6rem 0 4rem;
}
#thanks .inner {
	margin: auto 4rem;
}
#thanks h1 {
    margin-bottom: 4rem;
}

#thanks .box {
	font-size: 2.2rem;
	padding: 4.8rem;
	border-radius: 2rem;
}
#thanks h3 {
	font-size: 2.8rem;
}
#thanks h4 {
	font-size: 3.2rem;
}
#thanks h5 {
	font-size: 2.8rem;
	margin-top: 3.2rem;
	margin-bottom: 1.6rem;
}
#ap_entry_end_1 ,
#ap_entry_end_2 {
	font-size: 2.6rem;
	line-height: 4rem;
}

#copy {
    font-size: 2.2rem;
    line-height: 5rem;
}

br.sp {
	display: none;
}

}

/* ======================================== */
/*                 1024px以上                 */
/* ======================================== */
@media (min-width: 1024px) {
html {
	font-size: 10px;
}

header {
	max-height: 90px;
}
#logo_set {
	max-width: 348px;
}

#mv {
	max-width: 700px;
}
#cp_detail .inner {
	max-width: 700px;
}

.base_box {
	max-width: 700px;
}
#precaution_box {
	margin-left: 0;
	margin-right: 0;
	padding:  30px;
}
#thanks {
	background-size:auto;
}

#thanks .inner {
	max-width: 614px;
	margin-left: auto;
	margin-right: auto;
}



/*.btn_box a {
	width: 100%;
	height: auto;
	aspect-ratio: 23 / 5;
}*/


}