@charset "UTF-8";

/*************************
font_import
*************************/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/*************************
reset style　＆　CMS unique style
*************************/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}*[hidden]{display:none}body{line-height:1}menu,ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body.noscroll{overflow:hidden}.iframe{width:100%;height:100%}.overlay{position:fixed;top:0;left:0;height:100vh;width:100%}.overlay.hidden{top:-100vh}#header.fixed{top:0;height:48px;position:sticky;box-shadow:0 2px 10px #2121211a}#header,#footer{overflow:hidden}@media screen and (min-width: 768px){#header.fixed{height:64px}}

*, *::before, *::after { box-sizing: border-box; }

#header {
	position: relative;
	z-index: 100;
}

#drawer.overlay,
#search-modal.overlay { z-index: 101; }

#drawer.overlay.hidden,
#search-modal.overlay.hidden {
	opacity: 0;
	z-index: 0;
}

/* 以下へページ固有のスタイル記述していく */

/*************************
custom properties
*************************/

#LP {
	--lp-color_white: #fff;
	--lp-color_light-gray: #e7e7e7;
	--lp-color_dark-gray: #95989a;
	--lp-color_black: #0f062b;
	--lp-color_mustard: #fbdb00;
	--lp-color_dark-cyan: #154680;
	--lp-color_middle-cyan: #246CB9;
	--lp-color_light-cyan: #4580bf;
}

/*************************
main
SP_layout（980px未満）
*************************/

/* LP共通 */
#LP {
	color: var(--lp-color_black);
	background-color: var(--lp-color_dark-cyan);
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: -.05em;
}

#LP.is_end { pointer-events: none; }

#LP .device_sp { display: block; }
#LP .device_sp.inline { display: inline; }

#LP .device_pc { display: none; }

#LP .txt_block { display: block; }

#LP img {
	user-select: none;
	vertical-align: bottom;
	width: 100%;
	height: auto;
}

#LP time,
#LP span {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
}

#LP a {
	color: var(--lp-color_white);
	display: block;
	text-decoration: none;
	transition: .4s;
}
#LP a:hover { filter: brightness(.7); }

#LP .common__block { position: relative; }
#LP .common__block:not(:last-of-type) { margin-bottom: 10%; }

#LP .common__header-two {
    position: absolute;
    top: -3%;
    left: 6.3%;
    margin: 0 auto;
    width: 87.4%;
}

#LP .common__button {
	margin: 0 auto;
	width: 76.1%;
}

#LP .common__button.shape-square a { border-radius: 10px; }
#LP .common__button.shape-round a { border-radius: 100px; }

#LP .common__button a,
#LP .common__button.anchorLink a {
	font-size: 3.2vw;
	font-weight: 700;
	text-align: center;
	letter-spacing: -.05em;
	line-height: 1.5;
	transition: .4s;
	user-select: none;
	position: relative;
	padding: 0 1.5em;
	min-height: 3.6em;
}

#LP .common__button a {
	color: var(--lp-color_white);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column wrap;
}

#LP .common__button.anchorLink {
	background-color: var(--lp-color_light-cyan);
	cursor: pointer;
	margin-top: 2em;
}

#LP .common__button.anchorLink a { color: var(--lp-color_white); }

#LP .common__button a::before,
#LP .common__button.anchorLink a::before {
	border-top: 3px solid;
	border-right: 3px solid;
	content: '';
	position: absolute;
	bottom: 0;
	right: .75em;
	transform: rotate(45deg);
	margin: auto;
	width: .5em;
	height: .5em;
}

#LP .common__button a::before {
	border-top-color: var(--lp-color_white);
	border-right-color: var(--lp-color_white);
	transform: rotate(45deg);
	top: 0;
}

#LP .common__button.anchorLink a::before {
	border-top-color: var(--lp-color_white);
	border-right-color: var(--lp-color_white);
	transform: rotate(135deg);
	top: -8px;
}

#LP .common__button a:hover,
#LP .common__button.anchorLink a:hover { filter: brightness(.7); }

#LP .common__font-marker { background: linear-gradient(transparent 70%, var(--lp-color_mustard) 70%); }

#LP .common__headerRibbon {
    background-color: var(--lp-color_black);
    color: var(--lp-color_white);
    clip-path: polygon(0 0, 100% 0, 96% 50%, 100% 100%, 0 100%, 4% 50%);
    font-size: 4.2vw;
    font-weight: 700;
    line-height: 1.2;
    display: flex;
    flex-flow: column wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0 auto;
	margin-bottom: 1.5em;
    min-height: 3.2em;
}

#LP .andmall .common__headerRibbon,
#LP .andmall .common__button a { background-color: #2882ff; }

#LP .outlet .common__headerRibbon,
#LP .outlet .common__button a { background-color: #ff9600; }

/* -------------
キービジュアル
------------- */

#LP .kvArea__inner {
	margin: 0 auto;
	width: 100%;
}

/* -------------
メインコンテンツ
------------- */

#LP .mainArea__inner {
	margin: 0 auto;
	padding: 5% 0 9% 0;
	width: 92%;
}

#LP .mainArea__campaignEnd:not(:last-of-type) { margin-bottom: 10%; }

#LP .mainArea__campaignEnd-window {
	background-color: var(--lp-color_light-gray);
	color: var(--lp-color_dark-cyan);
	font-size: 5vw;
	font-weight: 900;
	line-height: 2;
	letter-spacing: .1em;
	text-align: center;
	margin-bottom: 5%;
	padding: 5%;
}

#LP .mainArea__campaignEnd-block { margin-top: 4%; }

#LP .mainArea__campaignEnd-conditions {
	font-size: .6em;
	font-weight: 500;
	letter-spacing: .1em;
}

#LP .mainArea__campaignEnd-coution {
	color: var(--lp-color_white);
	font-size: 3vw;
	font-weight: 500;
	letter-spacing: .05em;
	text-align: center;
}

#LP .codeSection { font-size: 4vw; }

#LP .codeSection__wrapper {
	background-color: var(--lp-color_white);
	margin: 0 auto;
	padding: 2em 0;
	width: 100%;
}

#LP .codeSection__block {
	margin: 0 auto;
	padding: 0 1em;
	max-width: 1000px;
	width: 100%;
}
#LP .codeSection__block:not(:last-of-type) { margin-bottom: 1.5em; }

#LP .codeSection__box {
	display: flex;
	gap: 1em;
}
#LP .codeSection__box:not(:last-of-type) { margin-bottom: 5%; }

#LP .andmall .codeSection__header,
#LP .andmall .codeSection__body,
#LP .andmall .codeSection__body::before { background-color: #e8f2ff; }

#LP .outlet .codeSection__header,
#LP .outlet .codeSection__body,
#LP .outlet .codeSection__body::before { background-color: #fff4e3; }

#LP .codeSection__header {
	display: flex;
	align-items: center;
    justify-content: center;
	padding: 1.5em 1.25em;
	flex: 1.5;
}

#LP .codeSection__header img {
	margin: initial;
	width: 100%;
	max-width: fit-content;
	height: fit-content;
}

#LP .codeSection__body {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column wrap;
	flex: 1;
	gap: 1em;
    position: relative;
	padding: 1.5em .5em;
}
#LP .codeSection__body::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 -1em;
    -webkit-mask:
        radial-gradient(circle,
            transparent calc(1em / 2),
            var(--lp-color_black) calc(1em / 2))
        center top /
        100%
        calc(1em + .25em)
        repeat-y;
    mask:
        radial-gradient(circle,
            transparent calc(1em / 2),
            var(--lp-color_black) calc(1em / 2))
        center top /
        100%
        calc(1em + .25em)
        repeat-y;
	width: 1em;
}

#LP .js-copytext {
	background-color: var(--lp-color_white);
	border: 3px solid var(--lp-color_dark-cyan);
	color: var(--lp-color_black);
	font-weight: 700;
	text-align: center;
	line-height: 1;
	letter-spacing: -.025em;
	padding: .75em .25em;
	width: 100%;
}

#LP .js-copybtn {
	background-color: var(--lp-color_middle-cyan);
	border-radius: 100px;
	color: var(--lp-color_white);
	cursor: pointer;
	font-size: .6em;
	font-weight: 700;
	text-align: center;
	line-height: 1.3;
	letter-spacing: -.05em;
	transition: .4s;
	user-select: none;
	padding: 1em;
	width: 100%;
}
#LP .js-copybtn:hover { filter: brightness(1.5); }

#LP .codeSection__anchor {
	color: var(--lp-color_black);
	text-align: center;
}

#LP .recommendSection { font-size: 5vw; }

#LP .recommendSection__headerRibbon { padding-bottom: 1.5em; }
#LP .recommendSection__headerRibbon img {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: fit-content;
}

#LP .recommendSection__silder {
	background-color: var(--lp-color_white);
	padding: 1.5em 1em;
}

#LP .recommendSection__silder:not(:last-of-type) { margin-bottom: 2em; }

#LP .recommendSection__silder .sliderWrapper {
	margin: 0 auto;
	padding-bottom: 1.5em;
	max-width: 1000px;
	width: 100%;
}
#LP .recommendSection__silder .sliderDynamic { font-size: .6em; }

#LP .recommendSection__frame {
	background-color: var(--lp-color_white);
	border-radius: 7px;
	margin: 0 auto;
	padding: 6% 4.78%;
}

#LP .recommendSection__frame-h3 {
	color: var(--lp-color_dark-cyan);
	font-size: 4vw;
	font-weight: 900;
	text-align: center;
	padding-bottom: 5%;
}

#LP .recommendSection__frame-list a {
	border-bottom: 1px solid var(--lp-color_black);
	color: inherit;
	display: inline-block;
	padding: 0 .25% .05% .25%;
}

#LP .recommendSection__frame-list > li {
	color:var(--lp-color_black);
	font-size: 3.5vw;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -.05em;
    padding-left: 1.1em;
}

#LP .recommendSection__frame-list > li::before {
	content: '※';
	display: inline-block;
	margin-left: -1em;
	width: 1.1em;
}
#LP .recommendSection__frame-list > li:not(:last-of-type) { margin-bottom: .25em; }

#LP .usageSection {
    font-size: 6vw;
	margin: 0 auto;
	padding: 0;
	max-width: 1000px;
	width: 100%;
}

#LP .usageSection__h2 {
    background-color: var(--lp-color_light-cyan);
    border-radius: 7px 7px 0 0;
    color: var(--lp-color_white);
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
    padding: .5em 0;
}

#LP .usageSection__list {
	background-color: var(--lp-color_white);
	margin: 0 auto;
	padding: 1em 0;
	width: 100%;
	max-width: 1000px;
}

#LP .usageSection__list > li:not(:last-of-type) {
	background-image: url('../images/common/wh_main_icon-arrow_bottom.png');
	background-position: bottom 4% center;
	background-repeat: no-repeat;
	background-size: 18.2% auto;
	padding-bottom: 18%;
}

#LP .usageSection__h3 {
	font-size: 3.5vw;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .35em;
	position: relative;
}

#LP .usageSection__h3 .icon {
	background-color: var(--lp-color_mustard);
	border-radius: 1000px;
	content: '';
	vertical-align: middle;
}
#LP .usageSection__h3 i.number {
	border-radius: 50%;
	color: var(--lp-color_black);
	font-size: 3.2vw;
	font-weight: bold;
	font-style: normal;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 1.5em;
	height: 1.5em;
}
#LP .usageSection__h3 i.number::before {
	font-family: 'Poppins', sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
}
#LP .usageSection__h3 i.number.one::before { content: '1'; }
#LP .usageSection__h3 i.number.two::before { content: '2'; }
#LP .usageSection__h3 i.number.three::before { content: '3'; }
#LP .usageSection__h3 i.number.four::before { content: '4'; }
#LP .usageSection__h3 i.number.five::before { content: '5'; }

#LP .usageSection__h3 .emphasis {
	color: var(--lp-color_light-cyan);
	font-size: 3.5vw;
	font-weight: bold;
	letter-spacing: -.05em;
}
#LP .usageSection__h3 .check {
	font-size: 3.2vw;
	display: inline-flex;
	align-items: center;
}

#LP .usageSection__h3 .box-inner {
	font-size: 3.5vw;
	font-weight: bold;
	letter-spacing: -.05em;
	width: fit-content;
}
#LP .usageSection__h3 .box-inner,
#LP .usageSection__h3 .emphasis,
#LP .usageSection__h3 .device-sp.newline,
#LP .usageSection__h3 .device-sp.inline,
#LP .usageSection__h3 .device-pc.inline { font-weight: bold; }

#LP .usageSection__h3 .device-sp.inline { display: inline; }
#LP .usageSection__h3 .device-pc.inline { display: none; }

#LP .usageSection__image {
	margin: 0 auto;
	padding-top: 2.5%;
	width: 80%;
}

/*************************
main
PC_layout（980px以上）
*************************/

@media screen and (min-width: 980px) {

	/* -------------
	共通
	------------- */

	#LP .device_sp,
	#LP .device_sp.inline { display: none; }

	#LP .device_pc { display: block; }

	#LP .device_pc.inline,
	#LP .device_sp.newline,
	#LP .device_sp.block { display: inline; }

	#LP img {
		margin: 0 auto;
		width: fit-content;
	}

	#LP .common__block:not(:last-of-type) { margin-bottom: 100px; }

	#LP .common__button a,
	#LP .common__button.anchorLink a { font-size: 22px; }

	#LP .common__button {
		width: 100%;
		max-width: 450px;
	}

	#LP .common__button.anchorLink { max-width: 525px; }
	#LP .common__button.anchorLink a { padding: 25px; }

	#LP .common__headerRibbon {
        font-size: 28px;
        min-height: 3em;
        max-width: 650px;
    }

	/* -------------
	キービジュアル
	------------- */

	#LP .kvArea {
		background-color: var(--lp-color_mustard);
		padding: 15px 0;
	}

	#LP .kvArea__inner { background-color: var(--lp-color_dark-cyan); }

	#LP .kvArea__header {
		background-image: url('../images/pc/wh_kv_background.png');
		background-position: center;
		background-repeat: no-repeat;
		background-size: 1340px auto;
	}

	/* -------------
	メインコンテンツ
	------------- */

	#LP .mainArea__inner {
		padding: 40px 10px 75px 10px;
		width: 100%;
		max-width: 1100px;
	}

	#LP .mainArea__campaignEnd:not(:last-of-type) { margin-bottom: 50px; }

	#LP .mainArea__campaignEnd-window {
		font-size: 30px;
		margin-bottom: 50px;
		padding: 25px;
	}

	#LP .mainArea__campaignEnd-block { margin-top: 25px; }

	#LP .mainArea__campaignEnd-conditions { font-size: 20px; }

	#LP .mainArea__campaignEnd-coution {
		font-size: 20px;
		letter-spacing: .2em;
	}

	#LP .codeSection { font-size: 24px; }

	#LP .codeSection__block:not(:last-of-type) { margin-bottom: 50px; }

	#LP .codeSection__box:not(:last-of-type) { margin-bottom: 30px; }

	#LP .codeSection__header { flex: 2; }
	#LP .codeSection__header img { width: fit-content; }

	#LP .codeSection__body {
		flex: 1;
		padding: 1.5em 1.25em;
	}

	#LP .js-copytext {
		border-width: 4px;
		font-size: 1.5em;
		letter-spacing: -.01em;
		padding: .5em;
	}

	#LP .js-copybtn {
		font-size: .65em;
		line-height: 1.5;
		width: fit-content;
	}

	#LP .recommendSection { font-size: 28px; }

	#LP .recommendSection__frame {
		padding: 30px;
		padding-top: 40px;
		width: 800px;
	}

	#LP .recommendSection__frame-h3 {
		font-size: 24px;
		padding-bottom: 30px;
	}

	#LP .recommendSection__frame-list > li {
		font-size: 14px;
		letter-spacing: -.05em;
		padding-left: 1em;
	}

	#LP .usageSection { font-size: 40px; }

	#LP .usageSection__list > li:not(:last-of-type) {
		background-position: bottom 48px center;
		background-size: 104px auto;
		padding-bottom: 118px;
	}

	#LP .usageSection__h3 {
		font-size: .6em;
		font-weight: bold;
		text-align: center;
		padding-left: 0;
	}
	#LP .usageSection__h3 .icon { display: inline-block; }

	#LP .usageSection__h3 .box-inner,
	#LP .usageSection__h3 .emphasis,
	#LP .usageSection__h3 .device-sp.newline { font-size: 16px; }

	#LP .usageSection__h3 i.number { font-size: 22px; }

	#LP .usageSection__h3 .box-inner {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#LP .usageSection__h3 .device-sp.inline { display: none; }
	#LP .usageSection__h3 .device-pc.inline { display: inline; }

	#LP .usageSection__image {
		padding-top: 15px;
		width: 100%;
	}
}