@charset "utf-8";
/* ======================================
	body [ ボディ ]
====================================== */
html {
    width: 100% !important;
    font-size: 3vw;
}
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% !important;
    min-width: 100%;
    overflow: hidden;
    background: #f9ed79;
    font-weight: 400;
    letter-spacing: 0.06em;
}
body * {
    box-sizing: border-box;
    font-weight: inherit;
}
.wrapper {
    overflow: hidden;
}
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.link {
    color: #52b4c8;
}
p, dd {
    text-justify: inter-ideograph;
    line-height: 1.7;
}

/* ======================================
	共通スタイル
====================================== */
.d_pc,
.d_tb {
    display: none;
}
.d_sp {
    display: block!important;
}
.note {
    font-size: 0.85rem;
}
.note li {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 5px;
}
/* スクロール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.8s 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;
}

/* ======================================
	コンテンツ
====================================== */
#main_content {
    position: relative;
    padding: 5vw 3.333vw 0;
}
#main_content::before {
    content: '';
    display: block;
    width: 100vw;
    height: 8vw;
    background: url("../images/content_bg_sp.png") no-repeat 0 0 / 100%;
    position: absolute;
    top: -8vw;
    left: 0;
}
.c_section {
    margin: 0 auto 4vw;
    background: #fff;
    border-radius: 4.667vw;
    padding: 5.867vw 4vw;
}
/* mv
 * ************************************************** */
#mv {
	position: relative;
    width: 100%;
    padding-top: 3.3vw;
    background: #fff;
}
/* c_period
 * ************************************************** */
#c_period {
    margin-bottom: 8vw;
}
#c_period .period_btn a {
    margin: 8vw auto 0;
    width: 100%;
    position: relative;
    display: block;
    padding: 5vw 7vw 5.5vw 0;
    background-color: #000000;
    border-radius: 2vw;
    color: #fff;
    font-size: 5.2vw;
    line-height: 1;
    letter-spacing: 0.15em;
    font-weight: bold;
    text-align: center;
}
#c_period .period_btn a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5vw;
    width: 0;
    height: 0;
    margin: auto;
    border-top: 2.5vw solid transparent;
    border-right: 0 solid transparent;
    border-left: 4vw solid #fff;
    border-bottom: 2.5vw solid transparent;
    box-sizing: border-box;
}
/* c_prize
 * ************************************************** */
#c_prize .prize_ttl {
    margin: 0 auto 3.333vw;
    width: 61.6vw;
}
#c_prize .prize_img {
    margin: 0 auto 6vw;
    width: 83.667vw;
}
#c_prize .prize_txt .prize_ttl_s {
    margin: 0 auto 3vw;
    padding: 2.667vw 0;
    background: #4d4d4d;
    color: #fff;
    font-size: 5.1vw;
    line-height: 1;
    text-align: center;
}
#c_prize .prize_txt .prize_ttl_s span:first-child {
    display: block;
}
#c_prize .prize_txt .prize_ttl_s span:last-child {
    font-size: 70%;
    letter-spacing: 0;
}
#c_prize .prize_txt p {
    font-size: 1.25rem;
}
/* c_step
 * ************************************************** */
#c_step .step_ttl {
    margin: 0 auto 5.333vw;
    width: 61.6vw;
}
#c_step .step_lead {
    margin-bottom: 5.067vw;
    text-align: center;
    font-size: 4.2vw;
    letter-spacing: 0;
    font-weight: 600;
}
#c_step .step_cont {
    padding: 6.667vw 4.667vw;
    background: #eaeeed;
    border-radius: 4.667vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}
#c_step .step_cont:not(:last-child) {
    margin-bottom: 5.333vw;
}
#c_step .step_cont .step_cont_txt {
    width: 100%;
}
#c_step .step_cont .step_cont_txt .step_cont_txt_num {
    margin: 0 auto 2vw 20.5%;
    width: 22vw;
    padding: 1.4vw 0 2.5vw;
    background: #000;
    color: #fff;
    font-weight: 600;
    text-align: center;
    font-size: 5vw;
    line-height: 1;
    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 .step_cont_txt_ttl {
    font-size: 4vw;
    font-weight: bold;
    margin-bottom: 5px;
    text-align: center;
    width: 72%;
}
#c_step .step_cont .step_cont_txt .step_cont_txt_inner .step_cont_txt_txt {
    font-size: 3.8vw;
    text-align: center;
    margin-bottom: 5vw;
    width: 72%;
}
#c_step .step_cont .step_cont_txt .step_cont_txt_inner .step_cont_txt_notes li {
    padding-left: 1em;
    text-indent: -1em;
}
#c_step .step_cont .step_cont_img {
    width: 18.133vw;
    position: absolute;
    top: 8.8vw;
    right: 7.333vw;
}
#c_step .step_cont02 .step_cont_img {
    width: 19vw;
    top: 6vw;
    right: 8vw;
}
/* c_product
 * ************************************************** */
#c_product {
    padding-bottom: 18vw;
}
#c_product .product_ttl {
    margin: 0 auto 5.333vw;
    width: 81.6vw;
}
#c_product .product_lead {
    font-size: 3.8vw;
    margin-bottom: 2vw
}
#c_product .product_lead_notes {
    margin-bottom: 6vw;
    text-indent: -1em;
    padding-left: 1em;
}
#c_product .slider .product_slider_img {
    margin: 0 auto 5vw;
    width: 70%;
}
#c_product .slider .product_slider_txt {
    display: flex;
    justify-content: center;
    align-items: center;
}
#c_product .slider .product_slider_txt p {
    font-size: 4.4vw;
    font-weight: 500;
}
/* slick */
#c_product .slick-dots {
    bottom: -14vw;
}
#c_product .slick-dots li {
    width: 7px;
    height: 7px;
    margin: 0 9px;
}
#c_product .slick-dots li button {
    width: 7px;
    height: 7px;
    padding: 3px;
    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: 12vw;
    height: 12vw;
    bottom: auto;
    top: calc(50% - 6vw);
}
#c_product .slick-next:before,
#c_product .slick-prev:before {
    width: 12vw;
    height: 12vw;
    top: 0;
    right: 0;
}
#c_product .slick-next {
    background: url("../images/product_arrow_r.png") no-repeat 0 0 / contain;
    right: -6.2vw;
}
#c_product .slick-prev {
    background: url("../images/product_arrow_l.png") no-repeat 0 0 / contain;
    left: -5vw;
}
/* c_eligibility
 * ************************************************** */
#c_eligibility .eligibility_ttl {
    margin: 0 auto 6vw;
    width: 81.333vw;
}
#c_eligibility .eligibility_lead {
    margin-bottom: 6.667vw;
    font-size: 3.8vw;
}
#c_eligibility .eligibility_dl_loft {
    margin: 0 auto 6.933vw;
    width: 64.533vw;
}
#c_eligibility .eligibility_dl_txt_app {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3vw;
}
#c_eligibility .eligibility_dl_txt_app a {
    display: block;
    width: 47.5%;
}
/* c_terms
 * ************************************************** */
#c_terms {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 4vw 3.333vw;
    background: #e8eceb;
}
#c_terms .c_section {
    border-radius: 0;
    padding: 4vw;
    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 .toggle {
	display: none;
}
#c_terms .Label {
	display: block;
	padding: 3.2vw 7.2vw 3.2vw 3.2vw;
	color: #fff;
	font-weight: bold;
	background: #000;
	border-radius: 60px;
	font-size: 4.3vw;
	line-height: 1;
	text-align: center;
	position: relative;
    cursor: pointer;
}
#c_terms .Label::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 5vw;
    transform: translateY(-50%);
    width: 5.6vw;
    height: 5.6vw;
    background: #fff;
    border-radius: 50%;
}
#c_terms .Label::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 9.9vw;
	width: 3.4vw;
	height: 0.4vw;
	background: #000;
	transform: translate(calc(5.6vw - 50%), -50%);
}
#c_terms .Label span.plus-line {
	position: absolute;
	top: 50%;
	right: 12.9vw;
	width: 0.4vw;
	height: 3.4vw;
	background: #000;
	transform: translate(calc(5.6vw - 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: 4vw;
	transition: all .3s;
}
#c_terms .toggle:checked + .Label span.plus-line {
	transform: translate(calc(21px - 50%), -50%) scaleY(0);
	opacity: 0;
}
/* footer
 * ************************************************** */
#footer {
    padding: 8vw 0;
    background: #fff;
}
#footer .footer_logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 4vw;
}
#footer .footer_logo .footer_logo_loft {
    width: 16.8vw;
    margin: 0 4vw;
}
#footer .footer_logo .footer_logo_bcl {
    width: 22.933vw;
    margin: 0 4vw;
}
#footer .copy {
    text-align: center;
    color: #333333;
    font-size: 2.8vw;
    letter-spacing: 0;
}