@charset "utf-8";
/* ======================================
	body [ ボディ ]
====================================== */
html {
    width: 100%;
    font-size: 16px;
}
body {
    color: #000000;
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 1.7;
    width: 100%;
    background: #f9ed79;
    font-weight: 400;
    letter-spacing: 0.06em;
}
body * {
    box-sizing: border-box;
    font-weight: inherit;
}
img {
    max-width: 100%;
    vertical-align: bottom;
}
a, a:focus, .slick-slide, area, area:focus {
    outline: none;
}
a {
    color: #000000;
    word-break: break-all;
    text-decoration: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
a:hover {
    text-decoration: none;
    cursor: pointer;
    opacity: 0.8;
}
a.link {
    color: #52b4c8;
    display: block;
}
p, dd {
    text-align: justify;
    text-justify: inter-ideograph;
    line-height: 1.7;
}

/* ======================================
	共通スタイル
====================================== */
.d_sp {
    display: none !important;
}
.d_tb {
    display: none !important;
}
/* スクロールCSS */
.fade-in {
    opacity: 0;
}
.fade-in-up {
    transform: translate(0, 80px);
}
.fade-in-down {
    transform: translate(0, -80px);
}
.fade-in-left {
    transform: translate(-80px, 0);
}
.fade-in-right {
    transform: translate(80px, 0);
}
.scroll-in {
    animation: fadeIn 0.9s ease;
    animation-fill-mode: forwards;
}
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0.4;
    }
    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}
/* font */
.marker_y {
    background: linear-gradient(transparent 2%, #f9ec79 0%);
    display: inline;
    padding: 0 1px 0px;
}

/* ======================================
	コンテンツ
====================================== */
#content {
    overflow: hidden;
}
#main_content {
    position: relative;
}
#main_content::before {
    content: '';
    display: block;
    width: 100vw;
    height: 5.5729vw;
    background: url("../images/content_bg.png") no-repeat 0 0 / 100%;
    position: absolute;
    top: -5.5729vw;
    left: 0;
}
.c_section {
    margin: 0 auto 70px;
    width: 1000px;
    max-width: 92%;
    background: #fff;
    border-radius: 25px;
    padding-top: 55px;
    padding-bottom: 55px;
}
/* mv
 * ************************************************** */
#mv {
	position: relative;
    width: 100%;
    padding-top: 25px;
    padding-bottom: calc(40px + 5.5729vw);
    background: #fddb00;
}
#mv .mv_ttl {
    margin: 0 auto;
    width: 1115px;
    max-width: 94%;
    padding-left: 60px;
}
/* c_period
 * ************************************************** */
#c_period {
    margin: 0 auto;
    width: 1000px;
    max-width: 100%;
}
#c_period .period_inner {
    margin: 0 auto 80px;
    width: 82%;
}
#c_period .period_btn a {
    margin: 70px auto 0;
    width: 500px;
    max-width: 80%;
    position: relative;
    display: block;
    padding: 25px 22px 25px 0;
    background-color: #000000;
    border-radius: 8px;
    color: #fff;
    font-size: 1.625rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: center;
}
#c_period .period_btn a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 22px;
    width: 0;
    height: 0;
    margin: auto;
    border-top: 10px solid transparent;
    border-right: 0 solid transparent;
    border-left: 15px solid #fff;
    border-bottom: 10px solid transparent;
    box-sizing: border-box;
}
/* c_prize
 * ************************************************** */
#c_prize .prize_ttl {
    margin: 0 auto;
    width: 34.7%;
}
#c_prize .prize_img {
    margin: -85px auto 50px;
    width: 87%;
}
#c_prize .prize_txt {
    margin: 0 auto;
    width: 84%;
}
#c_prize .prize_txt .prize_ttl_s {
    margin: 0 auto 10px;
    padding: 16px;
    background: #4d4d4d;
    color: #fff;
    font-size: 1.7rem;
    line-height: 1;
    text-align: center;
}
#c_prize .prize_txt .prize_ttl_s span:last-child {
    font-size: 60%;
    letter-spacing: 0;
}
#c_prize .prize_txt p {
    font-size: 1.25rem;
}
/* c_step
 * ************************************************** */
#c_step .step_inner {
    padding-left: 8.5%;
    padding-right: 8.5%;
}
#c_step .step_ttl {
    margin: 0 auto 30px;
    width: 42%;
}
#c_step .step_lead {
    margin-bottom: 30px;
    text-align: center;
    font-size: 2rem;
    font-weight: 600;
}
#c_step .step_cont {
    padding: 38px 8.571% 33px 5%;
    background: #eaeeed;
    border-radius: 25px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#c_step .step_cont:not(:last-child) {
    margin-bottom: 50px;
}
#c_step .step_cont .step_cont_txt {
    width: 85.95%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
#c_step .step_cont .step_cont_txt .step_cont_txt_num {
    width: 19.7%;
    margin-right: 5%;
    padding: 0 5px 5px;
    background: #000;
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-size: 1.625rem;
    border-radius: 9px;
}
#c_step .step_cont .step_cont_txt .step_cont_txt_num span {
    font-size: 123%;
}
#c_step .step_cont .step_cont_txt .step_cont_txt_inner {
    width: 75.3%;
}
#c_step .step_cont .step_cont_txt .step_cont_txt_inner .step_cont_txt_ttl {
    font-size: 1.375rem;
    font-weight: bold;
    margin-bottom: 5px;
}
#c_step .step_cont .step_cont_txt .step_cont_txt_inner .step_cont_txt_txt {
    font-size: 1.375rem;
    margin-bottom: 30px;
}
#c_step .step_cont .step_cont_txt .step_cont_txt_inner .step_cont_txt_notes li {
    font-size: 1.125rem;
    padding-left: 1em;
    text-indent: -1em;
}
#c_step .step_cont .step_cont_img {
    width: 14.05%;
}
#c_step .step_cont02 .step_cont_img img {
    display: block;
    width: 91.262%;
    margin: -10px auto 0;
}
/* c_product
 * ************************************************** */
#c_product {
    padding-bottom: 110px;
}
#c_product .product_ttl {
    margin: 0 auto 30px;
    width: 60.1%;
}
#c_product .product_lead {
    text-align: center;
    font-size: 1.375rem;
}
#c_product .product_lead_notes {
    margin-bottom: 50px;
    text-align: center;
    font-size: 1.16rem;
}
#c_product .slider {
    margin: 0 auto;
    width: 500px;
    max-width: 94%;
}
#c_product .slider .product_slider_img {
    margin: 0 auto 40px;
    width: 60%;
}
#c_product .slider .product_slider_txt {
    display: flex;
    justify-content: center;
    align-items: center;
}
#c_product .slider .product_slider_txt p {
    font-size: 1.563rem;
    font-weight: 500;
}
/* slick */
#c_product .slick-dots {
    bottom: -40px;
}
#c_product .slick-dots li {
    width: 8px;
    height: 8px;
    margin: 0 12px;
}
#c_product .slick-dots li button {
    width: 8px;
    height: 8px;
    padding: 4px;
    border-radius: 10px;
    background: #000;
    opacity: 0.3;
}
#c_product .slick-dots li.slick-active button {
    background: #000;
    opacity: 1;
}
#c_product .slick-next,
#c_product .slick-prev {
    width: 70px;
    height: 70px;
    bottom: auto;
    top: calc(50% - 35px);
}
#c_product .slick-next {
    background: url("../images/product_arrow_r.png") no-repeat 0 0 / contain;
    right: -15px;
}
#c_product .slick-prev {
    background: url("../images/product_arrow_l.png") no-repeat 0 0 / contain;
    left: -15px;
}
/* c_eligibility
 * ************************************************** */
#c_eligibility .eligibility_ttl {
    margin: 0 auto 30px;
    width: 60.1%;
}
#c_eligibility .eligibility_lead {
    margin-bottom: 40px;
    padding: 0 8%;
    font-size: 1.375rem;
}
#c_eligibility .eligibility_dl {
    padding: 0 8% 0 6%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
#c_eligibility .eligibility_dl_loft {
    width: 36%;
}
#c_eligibility .eligibility_dl_txt {
    width: 64%;
}
#c_eligibility .eligibility_dl_txt_app {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 30px;
}
#c_eligibility .eligibility_dl_txt_app a {
    display: block;
    width: 41.304%;
    margin-right: 25px;
}
#c_eligibility .eligibility_dl_notes {
    font-size: 1.125rem;
    line-height: 1.5;
}
/* c_terms
 * ************************************************** */
#c_terms {
    padding: 100px 0;
    background: #e8eceb;
}
#c_terms .c_section {
    border-radius: 0;
    margin-bottom: 0;
}
#c_terms .terms_product {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 0.3em;
}
#c_terms .terms_product dt {
    width: 9em;
}
#c_terms .terms_product dd {
    width: calc(100% - 9em);
}
/* accordion */
#c_terms .accordion {
    padding: 0 8%;
}
#c_terms .toggle {
	display: none;
}
#c_terms .Label {
	display: block;
	margin: 0 auto;
	width: 650px;
    max-width: 100%;
	padding: 20px 60px 20px 20px;
	color: #fff;
	font-weight: bold;
	background: #000;
	border-radius: 60px;
	font-size: 2rem;
	line-height: 1;
	text-align: center;
	position: relative;
    cursor: pointer;
}
#c_terms .Label::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	background: #fff;
	border-radius: 50%;
}
#c_terms .Label::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 52px;
	width: 20px;
	height: 3px;
	background: #000;
	transform: translate(calc(21px - 50%), -50%);
}
#c_terms .Label span.plus-line {
	position: absolute;
	top: 50%;
	right: 69px;
	width: 3px;
	height: 20px;
	background: #000;
	transform: translate(calc(21px - 50%), -50%);
	border-radius: 1px;
	pointer-events: none;
}
#c_terms .Label,
#c_terms .terms_content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
#c_terms .terms_content {
	height: 0;
	overflow: hidden;
}
#c_terms .toggle:checked + .Label + .terms_content {
	height: auto;
	padding-top: 50px;
	transition: all .3s;
}
#c_terms .toggle:checked + .Label span.plus-line {
	transform: translate(calc(21px - 50%), -50%) scaleY(0);
	opacity: 0;
}
/* footer
 * ************************************************** */
#footer {
    padding: 100px 0 130px;
    background: #fff;
}
#footer .footer_logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}
#footer .footer_logo .footer_logo_loft {
    width: 130px;
    margin: 0 25px;
}
#footer .footer_logo .footer_logo_bcl {
    width: 208px;
    margin: 0 25px;
}
#footer .copy {
    text-align: center;
    color: #333333;
}
@media (max-width: 1060px) {
    #c_prize .prize_txt .prize_ttl_s span:first-child {
        display: block;
    }
    #c_step .step_cont .step_cont_txt .step_cont_txt_inner {
    width: 70%;
    }
    #c_step .step_cont02 .step_cont_img img {
        margin: 0 auto;
    }
}
@media (max-width: 1023px) {
    html {
        font-size: 15px;
    }
    #c_eligibility .eligibility_dl_txt {
        width: 60%;
    }
    #c_eligibility .eligibility_dl_txt_app {
        margin-bottom: 20px;
    }
}