@charset "UTF-8";


/* base ---------------------------------------*/

@font-face {
	font-family: "ShoraiSansWESTERX-custom";
	font-style: normal;
	font-weight: 300;
	font-stretch: normal;
	font-display: swap;
	src: url("/assets/fonts/wesmo/shoraisans_westerx/ShoraiSansforWESTERX-Light.woff2") format("woff2"), url("/assets/fonts/wesmo/shoraisans_westerx/ShoraiSansforWESTERX-Light.woff") format("woff"); 
}

@font-face {
	font-family: "ShoraiSansWESTERX-custom";
	font-style: normal;
	font-weight: 400;
	font-stretch: normal;
	font-display: swap;
	src: url("/assets/fonts/wesmo/shoraisans_westerx/ShoraiSansforWESTERX-Demi.woff2") format("woff2"), url("/assets/fonts/wesmo/shoraisans_westerx/ShoraiSansforWESTERX-Demi.woff") format("woff"); 
}

body {
	font-size: 1.4rem;
	font-family: ShoraiSansWESTERX-custom,YuGothic, "Yu Gothic", Arial, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.8;
	letter-spacing: 0.08em;
	font-weight: 500;
	font-feature-settings: "palt";
	color: #363636;
}

.u-font-wesmo {
	font-feature-settings: "calt" 1, "kern" 1, "liga" 1;
	-webkit-font-feature-settings: "calt" 1, "kern" 1, "liga" 1;
	-moz-font-feature-settings: "calt" 1, "kern" 1, "liga" 1;
	-moz-font-feature-settings: "calt=1, kern=1, liga=1";
	-ms-font-feature-settings: "calt" 1, "kern" 1, "liga" 1;
	-o-font-feature-settings: "calt" 1, "kern" 1, "liga" 1;
}

.l-main {
	overflow: unset!important;
}

/* common item ---------------------------------------*/

.clearfix::after,
.inner::after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.ov-h{overflow: hidden;}

/* lenis ---------------------------------------*/

html.lenis {
	height: auto;
}

.lenis.lenis-smooth {
	scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

.lenis.lenis-stopped {
	overflow: hidden;
}


/* header ---------------------------------------*/
header{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	z-index:1010;
}

.header-logo{
	position: absolute;
	left: calc(12 / var(--spWidth) * 100vw);
	top: calc(18 / var(--spWidth) * 100vw);
	width: calc(92 / var(--spWidth) * 100vw);
	z-index: 1001;
}

.header-logo img {
	width: 100%;
}

.header-menubtn {
	position: absolute;
	right: calc(10 / var(--spWidth) * 100vw);
	top: calc(7 / var(--spWidth) * 100vw);
	display: flex;
	align-items: center;
	gap: 0 calc((13 / var(--spWidth) ) * 100vw);
	z-index: 1001;
	cursor:pointer;
}

.header-menubtn-switch {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	width: calc((56 / var(--spWidth) ) * 100vw);
	height: calc((56 / var(--spWidth) ) * 100vw);
	border-radius: 50%;
	border: calc(1 / var(--spWidth) * 100vw) solid #fff;
	color: #fff;
	font-weight: 300;
	background: linear-gradient(180deg, #0074C1 0%, #00499F 100%);
	appearance: none;
	font-weight: 500;
}

.header-menubtn-switch-open {
	font-size: calc((11 / var(--spWidth) ) * 100vw);
}

.header-menubtn.is-open .header-menubtn-switch-open {
	display: none;
}

.header-menubtn-switch-close {
	display: none;
	font-size: calc((10 / var(--spWidth) ) * 100vw);
}

.header-menubtn.is-open .header-menubtn-switch-close {
	display: block;
}

.header-menubtn-switch-close i {
    position: relative;
    margin: 0 auto 3px;
    display: block;
    aspect-ratio: 1 / 1;
    width: calc((16 / var(--spWidth) ) * 100vw);
    transform: rotate(45deg);
}

.header-menubtn-switch-close i:before,
.header-menubtn-switch-close i:after {
	position: absolute;
	z-index: 5;
	top: calc(50% - 1px);
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
	content: "";
	display: block; }

.header-menubtn-switch-close i:after {
	transform: rotate(90deg);
}


/* btn ---------------------------------------*/
.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(5 / var(--spWidth) * 100vw);
	position: relative;
	font-size: calc((12 / var(--spWidth) ) * 100vw);
	text-align: center;
	letter-spacing: 0.08em;
	color: #fff;
	padding-bottom: calc(2 / var(--spWidth) * 100vw);
	border-radius: calc(100 / var(--spWidth) * 100vw);
	z-index: 0;
	filter: drop-shadow(0 0 37.5px rgba(0, 40, 87, 0.24));
}

.btn::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	content: '';
	background: linear-gradient(180deg, #0074C1 0%, #00499F 100%);
	border: calc(2.5 / var(--spWidth) * 100vw) solid #fff;
	border-radius: calc(100 / var(--spWidth) * 100vw);
	transition: all .25s ease;
	opacity: 1;
}

.btn::after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	content: '';
	background: #fff;
	border-radius: calc(100 / var(--spWidth) * 100vw);
}

.btn:hover {color: #00499F;}
.btn:hover::before {opacity: 0;}


/* gnav ---------------------------------------*/

.gnav {
	position: fixed;
	background-image: linear-gradient(to top, var(--blue_2), #00499F);
	padding: calc(100 / var(--spWidth) * 100vw) calc(14 / var(--spWidth) * 100vw);
	overflow-y: auto;
	z-index:1000;
	left: 0;
	top: 0;
	transform: scale(0);
	transform-origin: 100% 0%;
	width:100%;
	max-width: unset;
	height: 100dvh!important;
	transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.gnav.is-active {
	pointer-events: all;
	transform: scale(1);
}

.gnav-list { 
	padding: 0 calc(20 / var(--spWidth) * 100vw);
	margin-bottom: calc(30 / var(--spWidth) * 100vw);
}

.gnav-list > li { 

}

.gnav-list > li + li { 
	margin-top: calc(16 / var(--spWidth) * 100vw);
}

.gnav-list > li a { 
	display: block;
	position: relative;
	font-size: calc((20 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.08em;
	color: #fff;
}

.gnav-list > li a .gnav-list-text { 
	position: relative;
	padding-bottom: calc(2 / var(--spWidth) * 100vw);
}

.gnav-list > li a .gnav-list-text::after { 
	position: absolute;
	left: 0;
	bottom: calc(-1 / var(--spWidth) * 100vw);
	transform: scale(0, 1);
	z-index: 1;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, transparent 87%, #E1FF8F 87%, #B1EA14 100%);
	content: '';
	transform-origin: left top;
	transition: transform 0.3s ease;
}

.gnav-list > li a:hover .gnav-list-text::after { 
	transform: scale(1, 1);
}

/* .gnav-list > li a::before {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	width: calc((32 / var(--spWidth) ) * 100vw);
	height: calc((32 / var(--spWidth) ) * 100vw);
	background: url(../../../../../img/wesmo/cp/user/wesico-jrw/icon_arrow_circle_down.svg) no-repeat;
	background-size: contain;
	content: '';
} */

.gnav-list > li a .icon-arrow-circle-right {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	width: calc(32 / var(--spWidth) * 100vw);
    height: calc(32 / var(--spWidth) * 100vw);
}

.gnav-block { 
	background: rgba(255, 255, 255, 0.8);
	padding: calc(20 / var(--spWidth) * 100vw) calc(20 / var(--spWidth) * 100vw);
	width: calc(350 / var(--spWidth) * 100vw);
	border-radius: calc(20 / var(--spWidth) * 100vw);
}

.gnav-block-lead { 
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: calc(16 / var(--spWidth) * 100vw);
	margin-bottom: calc(28 / var(--spWidth) * 100vw);
}

.gnav-block-lead img { 
	display: block;
	flex-shrink: 0;
	width: calc(64 / var(--spWidth) * 100vw);
}

.gnav-block-lead p { 
	font-size: calc((14 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-align: center;
	color: #00499F;
}

.gnav-block-btnlist { 
	display: flex;
	align-items: center;
	gap: calc(16 / var(--spWidth) * 100vw);
}

.gnav-block-btnlist > li { 
	
}

.gnav-block-btnlist > li a { 
	display: block;
	width: 100%;
}

.gnav-block-btnlist > li a:hover { opacity: 0.7;}


.gnav-block-btnlist li a img { 
	width: 100%;
}

.gnav-btn.btn {
	font-size: calc((14 / var(--spWidth) ) * 100vw);
	width: calc(362 / var(--spWidth) * 100vw);
	height: calc(56 / var(--spWidth) * 100vw);
	margin-top: 10vw;
}


/* common ---------------------------------------*/
.section-band { 
	display: flex;
	width: calc(1580 / var(--spWidth) * 100vw);
	overflow: hidden;
	white-space: nowrap;
}

.section-band img {
	width: calc(790 / var(--spWidth) * 100vw);
	animation: scroll 26s linear infinite;
}

.section-band img:nth-of-type(2) {
	margin-left: calc(-1 / var(--spWidth) * 100vw);
}

@keyframes scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}

.marker-green { 
	background: linear-gradient(180deg, transparent 80%, #E1FF8F 80%, #B1EA14 100%);
}

.marker-orange { 
	background: linear-gradient(180deg, transparent 80%, #F4A847 80%, #F4A847 100%);
	padding: 0 1vw;
}

.icon-link { 
	display: inline-block;
	width: calc(12 / var(--spWidth) * 100vw);
	height: calc(12 / var(--spWidth) * 100vw);
	background: url(../../../../../img/wesmo/cp/user/wesico-jrw/icon_link.svg) no-repeat;
	background-size: contain;
}

.icon-arrow-circle-right {
	flex-shrink: 0;
	position: relative;
	display: inline-block;
	width: calc(30 / var(--spWidth) * 100vw);
	height: calc(30 / var(--spWidth) * 100vw);
	border: calc(1 / var(--spWidth) * 100vw) solid #00499F;
	border-radius: 50%;
	background: #00499F;
	transition: all .25s ease;
}

.icon-arrow-circle-right::after {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	width: calc(14 / var(--spWidth) * 100vw);
	height: calc(14 / var(--spWidth) * 100vw);
	-webkit-mask-image: url(../../../../../img/wesmo/cp/user/wesico-jrw/icon_arrow_right.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url(../../../../../img/wesmo/cp/user/wesico-jrw/icon_arrow_right.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: 0 0;
	content: '';
	background: #fff;
	transition: all .25s ease;
}

.icon-arrow-circle-right.-transparent {
	width: calc(26 / var(--spWidth) * 100vw);
    height: calc(26 / var(--spWidth) * 100vw);
	border: calc(1 / var(--spWidth) * 100vw) solid #fff;
	background: unset;
}

.icon-arrow-circle-right.-transparent::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	content: '';
	background: linear-gradient(90deg, #0074C1 0%, #00499F 100%);
	border-radius: 50%;
	transition: all .25s ease;
	opacity: 0;
}

.icon-arrow-circle-right.-transparent.-down {
	transform: rotate(90deg);
}

a:hover .icon-arrow-circle-right.-transparent {border: calc(1 / var(--spWidth) * 100vw) solid rgba(255, 255, 255, 0);}
a:hover .icon-arrow-circle-right.-transparent::before {opacity: 1;}

.icon-caution {
	display: inline-block;
	width: calc(26 / var(--spWidth) * 100vw);
	height: calc(23 / var(--spWidth) * 100vw);
	background: url(../../../../../img/wesmo/cp/user/wesico-jrw/icon_caution.svg) no-repeat;
	background-size: contain;
}

.icon-benefit-02 {
	display: inline-block;
	width: calc(54 / var(--spWidth) * 100vw);
	height: calc(22 / var(--spWidth) * 100vw);
	background: url(../../../../../img/wesmo/cp/user/wesico-jrw/icon_benefit_02.svg) no-repeat;
	background-size: contain;
}

.list-link { 
	width: fit-content;
	margin: 0 auto;
}

.list-link a { 
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.5vw;
}

.list-link-text {
	display: flex;
	position: relative;
	font-size: calc((15 / var(--spWidth) ) * 100vw);
	line-height: 1.4;
	letter-spacing: 0.08em;
	white-space: nowrap;
	color: #00499F;
	background: linear-gradient(#00499F, #00499F) no-repeat 0 100%;
    background-size: 100% calc(1 / var(--spWidth) * 100vw);
}

.list-link-text .icon-link { 
	margin: 0 0 0 1vw;
}

.list-link a:hover .list-link-text {
	animation: underline .25s ease 0s 1 both;
	opacity: 1;
}

@keyframes underline {
	0% {
		background-size: 0 calc(1 / var(--spWidth) * 100vw);
	}
	100% {
		background-size: 100% calc(1 / var(--spWidth) * 100vw);
	}
}

.list-link a:hover .icon-arrow-circle-right { 
	background: #fff;
}

.list-link a:hover .icon-arrow-circle-right::after { 
	background: #00499F;
}

.text-link { text-decoration: underline;}
.text-link:hover { text-decoration: none;}


/* kv ---------------------------------------*/
.kv { 
	position: relative;
}

.kv-image { 
	width: 100%;
}

.kv-image img { 
	width: 100%;
}

.kv-btn {
	position: absolute;
	bottom: 11.6%;
	left: 50%;
	transform: translateX(-50%);
	width: calc(309 / var(--spWidth) * 100vw);
	height: calc(46 / var(--spWidth) * 100vw);
	z-index: 2;
}


/* intro ---------------------------------------*/
.intro { 
	padding: 8vw 0 0;
	background: #DFF7FF;
	overflow: hidden;
}

.intro-image-top { 
	width: 100%;
	padding-bottom: 4vw;
}

.intro-image-top img { 
	width: 100%;
}


/* campaign ---------------------------------------*/
.campaign { 
	position: relative;
}

.campaign-bg { 
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
}

.campaign-bg img { 
	width: 100%;
	height: 100dvh;
	position: sticky;
	z-index: -1;
	top: 0;
	object-fit: cover;
}

.campaign-tag { 
	padding-top: 12.5vw;
	width: 100%;
	margin-bottom: 5.5vw;
}

.campaign-tag img { 
	width: 100%;
}

.campaign-title { 
	width: 100%;
	margin-bottom: 8vw;
}

.campaign-title img { 
	width: 100%;
}

.benefit-list { 
	padding: 0 calc(20 / var(--spWidth) * 100vw);
	margin-bottom: 10.5vw;
}

.benefit-list > li { 
	position: relative;
}

.benefit-list > li + li { 
	margin-top: -1.5vw;
}

.benefit-list-image { 
	width: 100%;
}

.benefit-list-image img { 
	width: 100%;
}

.benefit-list-text { 
	position: absolute;
	top: 13vw;
	left: 5.5vw;
	font-size: calc((15 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.benefit-list-caption { 
	position: absolute;
	top: 27vw;
	left: 5vw;
	font-size: calc((10 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.08em;
	color: #5F5F5F;
	padding-left: calc(13 / var(--spWidth) * 100vw);
	width: calc(180 / 350 * 100%);
}

.benefit-list-caption::before { 
	position: absolute;
	top: 0;
	left: 0;
	font-size: calc((10 / var(--spWidth) ) * 100vw);
	content: '※';
}

.campaign-list { 
	padding: 0 calc(20 / var(--spWidth) * 100vw);
	margin-bottom: 9vw;
}

.campaign-list > li { 
	position: relative;
	font-size: calc((11 / var(--spWidth) ) * 100vw);
	line-height: 1.7;
	padding-left: calc(11 / var(--spWidth) * 100vw);
}

.campaign-list > li b { 
	font-size: calc((13 / var(--spWidth) ) * 100vw);
}

.campaign-list > li::before { 
	position: absolute;
	top: 0;
	left: 0;
	font-size: calc((11 / var(--spWidth) ) * 100vw);
	content: '※';
}

.campaign-list > li.campaign-list-strong { 
	font-size: calc((13 / var(--spWidth) ) * 100vw);
	color: #E00000;
	padding-left: calc(13 / var(--spWidth) * 100vw);
}

.campaign-list > li.campaign-list-strong::before { 
	font-size: calc((13 / var(--spWidth) ) * 100vw);
}

.campaign-list > li + li { 
	margin-top: 2vw;
}

.benefit-more { 
	position: relative;
	margin: 0 auto 23vw;
	padding: 0 calc(20 / var(--spWidth) * 100vw);
}

.benefit-more-image { 
	border-radius: calc(20 / var(--spWidth) * 100vw);
	filter: drop-shadow(0 0 24px rgba(0, 40, 87, 0.08));
	width: 100%;
}

.benefit-more-image img { 
	width: 100%;
}

.benefit-more-text { 
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	font-size: calc((13 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
	width: 100%;
}

.benefit-more-text:first-of-type { top: 31%;}

.campaign-band-wrapper {
	overflow: hidden;
}

/* step ---------------------------------------*/
.step { 
	padding: 12vw 0 0;
	background: linear-gradient(180deg, #00499F 0%, #5BC1D8 100%);
	overflow: hidden;
}

.step-title { 
	width: 100%;
	margin-bottom: 15vw;
}

.step-title img { 
	width: 100%;
}

.step-list { 
	padding: 0 calc(20 / var(--spWidth) * 100vw) 1.5vw;
}

.step-list > li { 
	position: relative;
}

.step-list > li + li { 
	margin-top: 4vw;
}

.step-list > li#steplist04 { 
	margin-top: 5vw;
}

.step-list-image { 
	width: 100%;
}

.step-list-image img { 
	width: 100%;
}

.step-list-btn { 
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: absolute;
	top: 56%;
	left: 50%;
	transform: translateX(-50%);
	width: calc(315 / 350  * 100%);
}

.step-list-btn > li:first-of-type { width: calc(132 / 315 * 100%);}
.step-list-btn > li:nth-of-type(2) { width: calc(165 / 315 * 100%);}

.step-list-btn > li a { 
	display: block;
	width: 100%;
}

.step-list-btn > li a:hover { opacity: 0.7;}

.step-list-btn > li a img { 
	width: 100%;
}

.step-list-text {
	position: absolute;
	left: 40%;
	font-size: calc((13 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
	width: calc(198 / 350 * 100%);
}

.step-list > li:nth-of-type(2) .step-list-text { top: 32.5%;}
.step-list > li:nth-of-type(3) .step-list-text { top: 30.5%;}
.step-list > li:nth-of-type(4) .step-list-text { 
	left: 0;
	top: 20%;
	width: 100%;
}

.step-list .list-link { 
	position: absolute;
	bottom: 20.5vw;
	left: 50%;
	transform: translateX(-50%);
}

.step-benefit { 
	padding: 0 calc(20 / var(--spWidth) * 100vw) 12vw;
}

.step-benefit-title { 
	width: 100%;
}

.step-benefit-title img { 
	width: 100%;
}

.step-benefit .benefit-list { 
	margin-top: -14.5vw;
	padding: 17vw calc(18 / 350 * 100%) 9vw;
	background: #F5F6F8;
	border-radius: calc(20 / var(--spWidth) * 100vw);
}

.step-benefit .benefit-list > li + li { 
	margin-top: 5vw;
}

.step-benefit .benefit-list-text { 
	left: 6%;
	font-size: calc((13 / var(--spWidth) ) * 100vw);
	letter-spacing: 0.12em;
}

.step-benefit .benefit-list-text strong { 
	font-size: calc((18 / var(--spWidth) ) * 100vw);
	letter-spacing: 0.13em;
}

.step-benefit .benefit-list > li:first-of-type .benefit-list-text { top: 21%;}


/* precaution ---------------------------------------*/
.precaution { 
	padding: 7vw 0 0;
	background: #fff;
	overflow: hidden;
}

.precaution-title { 
	width: 100%;
	margin-bottom: 2.5vw;
}

.precaution-title img { 
	width: 100%;
}

.precaution-list { 
	padding: 0.5vw calc(20 / var(--spWidth) * 100vw) 22vw;

}

.precaution-list > li { 
	position: relative;
	background: #F5F6F8;
	border-radius: calc(20 / var(--spWidth) * 100vw);
	padding: 6.5vw calc(20 / 350 * 100%) 8vw;
}

.precaution-list > li:nth-of-type(2) { 
	padding: 6.5vw calc(20 / 350 * 100%) 11vw;
}

.precaution-list > li + li { 
	margin-top: 7.5vw;
}

.precaution-list-title { 
	font-size: calc((19 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.06em;
	color: #004A9E;
	margin-bottom: 6vw;
}

.precaution-list-title .icon-caution { 
	margin: 0 2vw -1.5vw 0;
}

.precaution-list-text { 
	font-size: calc((13 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.precaution-list-text strong { 
	font-size: calc((18 / var(--spWidth) ) * 100vw);
	letter-spacing: 0.1em;
    line-height: 1.8;
}

.precaution-list-text .icon-benefit-02 { 
	margin: 1vw 1vw -1vw 0;
}

.precaution-list > li:first-of-type .precaution-list-image { margin-top: 4vw;}
.precaution-list > li:nth-of-type(2) .precaution-list-image { margin-top: 6vw;}

.precaution-list-image img { 
	width: 100%;
}

.precaution-list > li .list-link{ 
	margin: 6.5vw auto 0;
}

.precaution-list-caution {
	font-size: calc((13 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #E00000;
	margin: 6.5vw auto 2vw;
}

.precaution-list > li .text-link {
	font-size: calc((12 / var(--spWidth) ) * 100vw);
}

.precaution-list-deco { 
	position: absolute;
	top: 97%;
    right: -2%;
	width: calc(112 / 350 * 100%);
}

.precaution-list-deco img { 
	width: 100%;
}


/* faq ---------------------------------------*/
.faq { 
	padding: 18vw 0 0;
	background: linear-gradient(180deg, #5BC1D8 0%, #A0E9FA 100%);
	overflow: hidden;
}

.faq-title { 
	width: 100%;
	margin-bottom: 9vw;
}

.faq-title img { 
	width: 100%;
}

.faq-list { 
	padding: 0 calc(10 / var(--spWidth) * 100vw) 0;
}

.faq-list > li { 
	background: rgba(255, 255, 255, 0.88);
	border-radius: calc(10 / var(--spWidth) * 100vw);
}

.faq-list > li + li { 
	margin-top: calc(14 / var(--spWidth) * 100vw);
}

.faq-list-question { 
	display: flex;
	gap: calc((6 / var(--spWidth) ) * 100vw);
	position: relative;
	padding: calc(12 / var(--spWidth) * 100vw) calc(54 / var(--spWidth) * 100vw) calc(12 / var(--spWidth) * 100vw) calc(14 / var(--spWidth) * 100vw);
	cursor: pointer;
}

.faq-list-question-q { 
	font-size: calc((12 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #00499F;
}

.faq-list-question-text { 
	font-size: calc((12 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #00499F;
}

.faq-list-question i {
	display: block;
	position: absolute;
	z-index: 5;
	top: 50%;
	right: calc(14 / var(--spWidth) * 100vw);
	transform: translateY(-50%);
	width: calc(32 / var(--spWidth) * 100vw);
	aspect-ratio: 1 / 1;
}
.faq-list-question i::before {
	pointer-events: none;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: calc(50 / var(--spWidth) * 100vw);
	border: calc(1 / var(--spWidth) * 100vw) solid transparent;
	background: linear-gradient(to bottom, #00499F, var(--blue_2), #00BEEB) border-box;
	-webkit-mask: linear-gradient(#fff, #fff) padding-box, linear-gradient(#fff, #fff) border-box;
	mask: linear-gradient(#fff, #fff) padding-box, linear-gradient(#fff, #fff) border-box;
	mask-composite: exclude;
	-webkit-mask-composite: destination-out;
}
.faq-list-question i::after {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	content: "";
	display: block;
	width: calc(14 / var(--spWidth) * 100vw);
	aspect-ratio: 1 / 1;
	-webkit-mask-image: url(/assets/img/wesmo/cmn_ic10.svg);
	-webkit-mask-position: 50% 50%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% auto;
	mask-image: url(/assets/img/wesmo/cmn_ic10.svg);
	mask-position: 50% 50%;
	mask-repeat: no-repeat;
	mask-size: 100% auto;
	background: linear-gradient(to bottom, #00499F, var(--blue_2), #00BEEB);
	transition: ease background 0.2s;
}
.faq-list-question.open i::after {
	-webkit-mask-image: url(/assets/img/wesmo/cmn_ic11.svg);
	mask-image: url(/assets/img/wesmo/cmn_ic11.svg);
}
.faq-list-question i > span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	background: linear-gradient(to bottom, #00499F, var(--blue_2), #00BEEB);
	border-radius: 50%;
	transform: scale(0);
	transition: ease transform 0.2s;
}

.faq-list-answer { 

}

.faq-list-answer-inner { 
	display: flex;
	gap: calc((6 / var(--spWidth) ) * 100vw);
	padding: 0  calc(14 / var(--spWidth) * 100vw) calc(16 / var(--spWidth) * 100vw);
}

.faq-list-answer-a { 
	font-size: calc((12 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.faq-list-answer-text { 
	font-size: calc((12 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.faq .list-link {
	margin: 10vw auto 0;
	padding-bottom: 22vw;
}

/* guideline ---------------------------------------*/
.guideline { 
	padding: 14.5vw 0 22.5vw;
	background: #DFF7FF;
}

.guideline-title { 
	width: 100%;
	margin-bottom: 13vw;
}

.guideline-title img { 
	width: 100%;
}

.guideline-list { 
	padding: 0 calc(20 / var(--spWidth) * 100vw);
}

.guideline-list > li { 
	position: relative;
	border-radius: calc(20 / var(--spWidth) * 100vw);
	border: calc(2 / var(--spWidth) * 100vw) solid #0074c1;
	background: #fff;
}

.guideline-list > li:first-of-type { padding: calc(28 / var(--spWidth) * 100vw) calc(24 / var(--spWidth) * 100vw) calc(16 / var(--spWidth) * 100vw);}
.guideline-list > li:nth-of-type(2) { padding: calc(32 / var(--spWidth) * 100vw) calc(22 / var(--spWidth) * 100vw) calc(40 / var(--spWidth) * 100vw);}

.guideline-list > li + li { 
	margin-top: 12vw;
}

.guideline-list-title { 
	position: absolute;
	top: calc(-20 / var(--spWidth) * 100vw);
	left: calc(14 / var(--spWidth) * 100vw);
	font-size: calc((13 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
	background: #0074c1;
	color: #fff;
	padding: calc(8 / var(--spWidth) * 100vw) calc(25 / var(--spWidth) * 100vw);
	border-radius: calc(40 / var(--spWidth) * 100vw);
}

.guideline-list-text { 
	font-size: calc((13 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.guideline-list-textlist { 

}

.guideline-list-textlist > li { 
	position: relative;
	font-size: calc((13 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
	padding-left: calc(10 / var(--spWidth) * 100vw);
}

.guideline-list-textlist > li::before { 
	position: absolute;
	top: calc(8 / var(--spWidth) * 100vw);
	left: 0;
	width: calc(6 / var(--spWidth) * 100vw);
	height: calc(6 / var(--spWidth) * 100vw);
	border-radius: 50%;
	background: #0074c1;
	content: '';
}

.guideline-list-textlist > li + li { 
	margin-top: calc(18 / var(--spWidth) * 100vw);
}

.guideline-list-textlist > li .text-link { 
	color: #5F5F5F;
}

.guideline-list-numlist {
	margin-top: calc(5 / var(--spWidth) * 100vw);
	margin-left: calc(-10 / var(--spWidth) * 100vw);
}

.guideline-list-numlist > li {
	position: relative;
	font-size: calc((12 / var(--spWidth) ) * 100vw);
	line-height: 1.4;
	letter-spacing: 0.12em;
	color: #00499F;
	padding-left: calc(15 / var(--spWidth) * 100vw);
}

.guideline-list-numlist > li::before { 
	position: absolute;
	top: 0;
	left: 0;
	font-size: calc((12 / var(--spWidth) ) * 100vw);
}

.guideline-list-numlist > li:first-of-type::before { content: '①';}
.guideline-list-numlist > li:nth-of-type(2)::before { content: '②';}
.guideline-list-numlist > li:nth-of-type(3)::before { content: '③';}

.guideline-list-numlist > li + li { 
	margin-top: calc(3 / var(--spWidth) * 100vw);
}


/* other ---------------------------------------*/
.other { 
	padding: 18.5vw 0 16.5vw;
	background: #F5F6F8;
}

.other-title { 
	width: 100%;
	margin-bottom: 7vw;
}

.other-title img { 
	width: 100%;
}

.other-container { 
	width: calc(100% - calc(40 / var(--spWidth) * 100vw));
	margin: 0 auto 6.5vw;
	border-radius: calc(20 / var(--spWidth) * 100vw);
	border: calc(2 / var(--spWidth) * 100vw) solid #0074c1;
	background: #fff;
	padding: calc(32 / var(--spWidth) * 100vw) calc(22 / var(--spWidth) * 100vw) calc(42 / var(--spWidth) * 100vw);
}

.other-list { 

}

.other-list > li { 
	position: relative;
	font-size: calc((11 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
	padding-left: calc(11 / var(--spWidth) * 100vw);
}

.other-list > li::before { 
	position: absolute;
	top: calc(5 / var(--spWidth) * 100vw);
	left: 0;
	width: calc(6 / var(--spWidth) * 100vw);
	height: calc(6 / var(--spWidth) * 100vw);
	border-radius: 50%;
	background: #0074c1;
	content: '';
}

.other-list > li + li { 
	margin-top: calc(15 / var(--spWidth) * 100vw);
}

.other-linklist { 
	margin-top: 4vw;
}

.other-linklist > li { 
	font-size: calc((11 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #5F5F5F;
}

.other-linklist > li + li { 
	margin-top: calc(14 / var(--spWidth) * 100vw);
}

.other-notelist {
	padding: 0 calc(20 / var(--spWidth) * 100vw);
}

.other-notelist > li { 
	position: relative;
	font-size: calc((11 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	letter-spacing: 0.15em;
	color: #5F5F5F;
	padding-left: calc(18 / var(--spWidth) * 100vw);
}

.other-notelist > li::before { 
	position: absolute;
	top: 0;
	left: calc(5 / var(--spWidth) * 100vw);
	font-size: calc((11 / var(--spWidth) ) * 100vw);
	content: '・';
}

.other-notelist > li + li { 
	margin-top: 1.2vw;
}

/* cta ---------------------------------------*/
.cta { 
	padding: 16.5vw calc(10 / var(--spWidth) * 100vw) 15.5vw;
	background: url(../../../../../img/wesmo/cp/user/wesico-jrw/bg_cta.webp), linear-gradient(180deg, #00499F 0%, #0074C1 50%, #00BEEB 100%);
	background-size: contain;
	background-position: top center;
	background-repeat: no-repeat;
}

.cta-title { 
	font-size: calc((22 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.1em;
	color: #fff;
	width: 100%;
	margin-bottom: 4.5vw;
}

.cta-block { 
	display: flex;
	align-items: center;
	gap: calc(10 / var(--spWidth) * 100vw);
}

.cta-block-image { 
	width: calc(124 / var(--spWidth) * 100vw);
	margin-left: calc(18 / var(--spWidth) * 100vw);
}

.cta-block-image img { 
	width: 100%;
}

.cta-block-summary { 
	flex: 1;
}

.cta-block-text { 
	font-size: calc((12 / var(--spWidth) ) * 100vw);
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.1em;
	color: #fff;
	margin-bottom: 6vw;
}

.cta-block-btnlist { 

}

.cta-block-btnlist > li { 
	margin: 0 auto;
}

.cta-block-btnlist > li:first-of-type { 
	width: calc(147 / var(--spWidth) * 100vw);
}

.cta-block-btnlist > li:nth-of-type(2) { 
	width: calc(183 / var(--spWidth) * 100vw);
}

.cta-block-btnlist > li + li { 
	margin-top: calc(20 / var(--spWidth) * 100vw);
}

.cta-block-btnlist > li a { 
	display: block;
}

.cta-block-btnlist > li a:hover { opacity: 0.7;}


.cta-block-btnlist >li a img { 
	width: 100%;
}


/* fixedbottom ---------------------------------------*/
.fixedbottom { 
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 1000;
}

.fixedbottom-block { 
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: #fff;
	padding: calc(16 / var(--spWidth) * 100vw) calc(20 / var(--spWidth) * 100vw);
}

.fixedbottom-text { 
	font-size: calc((13 / var(--spWidth) ) * 100vw);
	line-height: 1.3;
	letter-spacing: 0.08em;
	color: #00499F;
	margin-right: calc(15 / var(--spWidth) * 100vw);
}

.fixedbottom-link { 

}

.fixedbottom-link:hover { opacity: 0.7;}

.fixedbottom-link img { 
	width: 100%;
}

.fixedbottom-link-appstore {
	width: calc(98 / var(--spWidth) * 100vw);
	margin-right: calc(18 / var(--spWidth) * 100vw);
}

.fixedbottom-link-googleplay {
	width: calc(122 / var(--spWidth) * 100vw);
}


/* animation ---------------------------------------*/

.animation {
	transform: scale(0.5);
	transform-origin: 50% 100%;
	opacity: 0;
}

.animation.on {
	opacity: 1;
	transform: scale(1) translateZ(0);
	transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}


/* pc only */
@media screen and (min-width: 768px){
	.sp{display: none !important;}

	.l-main {
		min-width: unset;
	}

	.icocacontainer {
		position: relative;
		z-index: 2;
		width: max(25vw, 480px);
		max-width: 480px;
		margin: 0 auto;
		transition: all 0.8s ease;
		opacity: 0;
		filter: blur(50px);
		pointer-events: none;
		padding-top: 50vh;
		background: #DFF7FF;
	}

	.icocacontainer.is-show {
		opacity: 1;
		filter: blur(0);
		pointer-events: auto;
	}

	/* header ---------------------------------------*/
	.header-logo{
		left: 3.2vw;
		top: 2.3vw;
		width: 303px;
	}

	.header-menubtn {
		right: 20px;
		top: 14px;
		gap: 0 26px;
	}

	.header-menubtn-switch {
		width: 112px;
		height: 112px;
		border: 2px solid #fff;
	}

	.header-menubtn-switch-open {
		font-size: 22px;
	}

	.header-menubtn-switch-close {
		font-size: 20px;
	}

	.header-menubtn-switch-close i {
		width: 32px;
	}


	/* btn ---------------------------------------*/
	.btn {
		gap: calc(5px * 480 / var(--spWidth));
		font-size: calc((12px * 480 / var(--spWidth)) );
		padding-bottom: calc(2px * 480 / var(--spWidth));
		border-radius: calc(100px * 480 / var(--spWidth));
	}

	.btn::before {
		border: calc(2.5px * 480 / var(--spWidth)) solid #fff;
		border-radius: calc(100px * 480 / var(--spWidth));
	}

	.btn::after {
		border-radius: calc(100px * 480 / var(--spWidth));
	}


	/* common ---------------------------------------*/
	.section-band { 
		display: flex;
		width: calc(1580px * 480 / var(--spWidth));
		overflow: hidden;
		white-space: nowrap;
	}

	.section-band img {
		width: calc(790px * 480 / var(--spWidth));
	}

	.section-band img:nth-of-type(2) {
		margin-left: -1px;
	}

	.marker-orange { 
		padding: 0 calc(2px * 480 / 100);
	}

	.icon-link { 
		width: calc(12px * 480 / var(--spWidth));
		height: calc(12px * 480 / var(--spWidth));
	}

	.icon-arrow-circle-right {
		width: calc(30px * 480 / var(--spWidth));
		height: calc(30px * 480 / var(--spWidth));
		border: calc(1px * 480 / var(--spWidth)) solid #00499F;
	}

	.icon-arrow-circle-right::after {
		width: calc(14px * 480 / var(--spWidth));
		height: calc(14px * 480 / var(--spWidth));
	}

	.icon-arrow-circle-right.-transparent {
		width: calc(26px * 480 / var(--spWidth));
		height: calc(26px * 480 / var(--spWidth));
		border: calc(1px * 480 / var(--spWidth)) solid #fff;
	}

	a:hover .icon-arrow-circle-right.-transparent {border: calc(1px * 480 / var(--spWidth)) solid rgba(255, 255, 255, 0);}

	.icon-caution {
		width: calc(26px * 480 / var(--spWidth));
		height: calc(23px * 480 / var(--spWidth));
	}

	.icon-benefit-02 {
		width: calc(54px * 480 / var(--spWidth));
		height: calc(22px * 480 / var(--spWidth));
	}

	.list-link a { 
		gap: calc(1.5px * 480 / 100);
	}

	.list-link-text {
		font-size: calc(15px * 480 / var(--spWidth));
		background-size: 100% calc(1px * 480 / var(--spWidth));
	}

	.list-link-text .icon-link { 
		margin: 0 0 0 calc(1px * 480 / 100);
	}

	@keyframes underline {
		0% {
			background-size: 0 calc(1px * 480 / var(--spWidth));
		}
		100% {
			background-size: 100% calc(1px * 480 / var(--spWidth));
		}
	}


	/* kv ---------------------------------------*/
	.kv { 
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 1;
	}

	.kv-image { 
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: auto;
		max-height: 100vh;
		height: 100vh;
		padding: 96px 0 143px;
		z-index: 2;
		transition: all 1.2s ease;
	}

	.kv-image img { 
		height: 100%;
		object-fit: contain;
	}

	.kv.is-show .kv-image { 
		opacity: 0;
		filter: blur(50px);
	}

	.kv-btn {
		bottom: 34px;
		left: 50.4%;
		width: 395px;
		height: 58px;
		transition: all 1s ease;
	}

	.kv.is-show .kv-btn { 
		opacity: 0;
		filter: blur(50px);
	}

	.kv-deco { 
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
		z-index: 1;
		transition: all 1s ease;
		opacity: 1;
		filter: blur(0);
	}

	.kv-deco img { 
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.kv.is-show .kv-deco { 
		opacity: 0;
		filter: blur(50px);
	}

	.kv-bg { 
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
		z-index: -1;
	}

	.kv-bg img { 
		width: 100%;
		height: 100%;
		object-fit: cover;
	}


	/* intro ---------------------------------------*/
	.intro { 
		padding: 0;
	}

	.intro-image-top { 
		padding-bottom: calc(4px * 480 / 100);
	}


	/* campaign ---------------------------------------*/
	.campaign-tag { 
		padding: calc(12.5px * 480 / 100) 0 0;
		margin-bottom: calc(5.5px * 480 / 100);
	}

	.campaign-title { 
		margin-bottom: calc(8px * 480 / 100);
	}

	.benefit-list { 
		padding: 0 calc(20px * 480 / var(--spWidth));
		margin-bottom: calc(10.5px * 480 / 100);
	}

	.benefit-list > li + li { 
		margin-top: calc(-1.5px * 480 / 100);
	}

	.benefit-list-text { 
		top: calc(12.5px * 480 / 100);
		left: calc(6px * 480 / 100);
		font-size: calc(15px * 480 / var(--spWidth));
	}

	.benefit-list-caption { 
		top: calc(27px * 480 / 100);
		left: calc(5px * 480 / 100);
		font-size: calc(10px * 480 / var(--spWidth));
		padding-left: calc(13px * 480 / var(--spWidth));
		width: calc(180 / 350 * 100%);
	}

	.benefit-list-caption::before { 
		font-size: calc(10px * 480 / var(--spWidth));
	}

	.benefit-more { 
		margin: 0 auto calc(23px * 480 / 100);
		padding: 0 calc(20px * 480 / var(--spWidth));
	}

	.benefit-more-image { 
		border-radius: calc(20px * 480 / var(--spWidth));
	}

	.benefit-more-text { 
		font-size: calc(13px * 480 / var(--spWidth));
	}

	.campaign-list { 
		padding: 0 calc(20px * 480 / var(--spWidth));
		margin-bottom: calc(9px * 480 / 100);
	}

	.campaign-list > li { 
		font-size: calc(11px * 480 / var(--spWidth));
		padding-left: calc(11px * 480 / var(--spWidth));
	}

	.campaign-list > li b { 
		font-size: calc(13px * 480 / var(--spWidth));
	}

	.campaign-list > li strong { 
		font-size: calc(13px * 480 / var(--spWidth));
	}

	.campaign-list > li::before { 
		font-size: calc(11px * 480 / var(--spWidth));
	}

	.campaign-list > li.campaign-list-strong { 
		font-size: calc(13px * 480 / var(--spWidth));
		padding-left: calc(13px * 480 / var(--spWidth));
	}
	
	.campaign-list > li.campaign-list-strong::before { 
		font-size: calc(13px * 480 / var(--spWidth));
	}

	.campaign-list > li + li { 
		margin-top: calc(2px * 480 / 100);
	}


	/* step ---------------------------------------*/
	.step { 
		padding: calc(12px * 480 / 100) 0 0;
	}

	.step-title { 
		margin-bottom: calc(15px * 480 / 100);
	}

	.step-list { 
		padding: 0 calc(20px * 480 / var(--spWidth)) calc(1.5px * 480 / 100);
	}

	.step-list > li:nth-of-type(2) .step-list-text {top: 32.5%;}
	.step-list > li:nth-of-type(3) .step-list-text {top: 30.5%;}

	.step-list > li + li { 
		margin-top: calc(4px * 480 / 100);
	}

	.step-list > li#steplist04 { 
		margin-top: calc(5px * 480 / 100);
	}

	.step-list-text {
		font-size: calc(13px * 480 / var(--spWidth));
	}

	.step-list .list-link { 
		bottom: calc(20.5px * 480 / 100);
	}

	.step-benefit { 
		padding: 0 calc(20px * 480 / var(--spWidth)) calc(12px * 480 / 100);
	}

	.step-benefit .benefit-list { 
		margin-top: calc(-14.5px * 480 / 100);
		padding: calc(17px * 480 / 100) calc(18 / 350 * 100%) calc(9px * 480 / 100);
		border-radius: calc(20px * 480 / var(--spWidth));
	}

	.step-benefit .benefit-list > li + li { 
		margin-top: calc(5px * 480 / 100);
	}

	.step-benefit .benefit-list-text { 
		font-size: calc(13px * 480 / var(--spWidth));
	}

	.step-benefit .benefit-list-text strong { 
		font-size: calc(18px * 480 / var(--spWidth));
	}


	/* precaution ---------------------------------------*/
	.precaution { 
		padding: calc(7px * 480 / 100) 0 0;
	}

	.precaution-title { 
		margin-bottom: calc(2.5px * 480 / 100);
	}

	.precaution-list { 
		padding: calc(0.5px * 480 / 100) calc(20px * 480 / var(--spWidth)) calc(22px * 480 / 100);
	}

	.precaution-list > li { 
		border-radius: calc(20px * 480 / var(--spWidth));
		padding: calc(6.5px * 480 / 100) calc(20 / 350 * 100%) calc(8px * 480 / 100);
	}

	.precaution-list > li:nth-of-type(2) {
		padding: calc(6.5px * 480 / 100) calc(20 / 350 * 100%) calc(11px * 480 / 100);
	}

	.precaution-list > li + li { 
		margin-top: calc(7.5px * 480 / 100);
	}

	.precaution-list-title { 
		font-size: calc(19px * 480 / var(--spWidth));
		margin-bottom: calc(6px * 480 / 100);
	}

	.precaution-list-title .icon-caution { 
		margin: 0 calc(2px * 480 / 100) calc(-1.5px * 480 / 100) 0;
	}

	.precaution-list-text { 
		font-size: calc(13px * 480 / var(--spWidth));
	}

	.precaution-list-text strong { 
		font-size: calc(18px * 480 / var(--spWidth));
	}

	.precaution-list-text .icon-benefit-02 { 
		margin: calc(1px * 480 / 100) calc(1px * 480 / 100) calc(-1px * 480 / 100) 0;
	}

	.precaution-list > li:first-of-type .precaution-list-image { margin-top: calc(4px * 480 / 100);}
	.precaution-list > li:nth-of-type(2) .precaution-list-image { margin-top: calc(6px * 480 / 100);}

	.precaution-list > li .list-link{ 
		margin: calc(6.5px * 480 / 100) auto 0;
	}

	.precaution-list-caution {
		font-size: calc(13px * 480 / var(--spWidth));
		margin: calc(6.5px * 480 / 100) auto calc(2px * 480 / 100);
	}

	.precaution-list > li .text-link {
		font-size: calc(12px * 480 / var(--spWidth));
	}


	/* faq ---------------------------------------*/
	.faq { 
		padding: calc(18px * 480 / 100) 0 0;
	}

	.faq-title { 
		margin-bottom: calc(8px * 480 / 100);
	}

	.faq-list { 
		padding: 0 calc(10px * 480 / var(--spWidth)) 0;
	}

	.faq-list > li { 
		border-radius: calc(10px * 480 / var(--spWidth));
	}

	.faq-list > li + li { 
		margin-top: calc(14px * 480 / var(--spWidth));
	}

	.faq-list-question { 
		gap: calc(6px * 480 / var(--spWidth));
		padding: calc(12px * 480 / var(--spWidth)) calc(54px * 480 / var(--spWidth)) calc(12px * 480 / var(--spWidth)) calc(14px * 480 / var(--spWidth));
	}

	.faq-list-question-q { 
		font-size: calc(12px * 480 / var(--spWidth));
	}

	.faq-list-question-text { 
		font-size: calc(12px * 480 / var(--spWidth));
	}

	.faq-list-question i {
		right: calc(14px * 480 / var(--spWidth));
		width: calc(32px * 480 / var(--spWidth));
	}
	.faq-list-question i::before {
		border-width: calc(2px * 480 / var(--spWidth));
	}
	.faq-list-question i::after {
		width: calc(14px * 480 / var(--spWidth));
	}
	.faq-list-question:hover i::after {
		background: #fff;
	}
	.faq-list-question:hover i > span {
		transform: scale(1);
	}

	.faq-list-answer-inner { 
		gap: calc(6px * 480 / var(--spWidth));
		padding: 0  calc(14px * 480 / var(--spWidth)) calc(16px * 480 / var(--spWidth));
	}

	.faq-list-answer-a { 
		font-size: calc(12px * 480 / var(--spWidth));
	}

	.faq-list-answer-text { 
		font-size: calc(12px * 480 / var(--spWidth));
	}

	.faq .list-link {
		margin: calc(10px * 480 / 100) auto 0;
        padding-bottom: calc(22px * 480 / 100);
	}


	/* guideline ---------------------------------------*/
	.guideline { 
		padding: calc(14.5px * 480 / 100) 0 calc(22.5px * 480 / 100);
	}

	.guideline-title { 
		margin-bottom: calc(13px * 480 / 100);
	}

	.guideline-list { 
		padding: 0 calc(20px * 480 / var(--spWidth));
	}

	.guideline-list > li { 
		border-radius: calc(20px * 480 / var(--spWidth));
		border: calc(2px * 480 / var(--spWidth)) solid #00499F;
	}

	.guideline-list > li:first-of-type { padding: calc(28px * 480 / var(--spWidth)) calc(24px * 480 / var(--spWidth)) calc(16px * 480 / var(--spWidth));}
	.guideline-list > li:nth-of-type(2) { padding: calc(32px * 480 / var(--spWidth)) calc(22px * 480 / var(--spWidth)) calc(40px * 480 / var(--spWidth));}

	.guideline-list > li + li { 
		margin-top: calc(12px * 480 / 100);
	}

	.guideline-list-title { 
		position: absolute;
		top: calc(-20px * 480 / var(--spWidth));
		left: calc(14px * 480 / var(--spWidth));
		font-size: calc(13px * 480 / var(--spWidth));
		padding: calc(8px * 480 / var(--spWidth)) calc(25px * 480 / var(--spWidth));
		border-radius: calc(40px * 480 / var(--spWidth));
	}

	.guideline-list-text { 
		font-size: calc(13px * 480 / var(--spWidth));
	}

	.guideline-list-textlist > li { 
		font-size: calc(13px * 480 / var(--spWidth));
		padding-left: calc(10px * 480 / var(--spWidth));
	}

	.guideline-list-textlist > li::before { 
		top: calc(8px * 480 / var(--spWidth));
		width: calc(6px * 480 / var(--spWidth));
		height: calc(6px * 480 / var(--spWidth));
	}

	.guideline-list-textlist > li + li { 
		margin-top: calc(18px * 480 / var(--spWidth));
	}

	.guideline-list-numlist {
		margin-top: calc(5px * 480 / var(--spWidth));
		margin-left: calc(-10px * 480 / var(--spWidth));
	}

	.guideline-list-numlist > li {
		font-size: calc(12px * 480 / var(--spWidth));
		padding-left: calc(15px * 480 / var(--spWidth));
	}

	.guideline-list-numlist > li::before { 
		font-size: calc(12px * 480 / var(--spWidth));
	}

	.guideline-list-numlist > li + li { 
		margin-top: calc(3px * 480 / var(--spWidth));
	}


	/* other ---------------------------------------*/
	.other { 
		padding: calc(18.5px * 480 / 100) 0 calc(16.5px * 480 / 100);
	}

	.other-title { 
		margin-bottom: calc(7px * 480 / 100);
	}

	.other-container { 
		width: calc(100% - calc(40px * 480 / var(--spWidth)));
		border-radius: calc(20px * 480 / var(--spWidth));
		border: calc(2px * 480 / var(--spWidth)) solid #00499F;
		padding: calc(32px * 480 / var(--spWidth)) calc(22px * 480 / var(--spWidth)) calc(42px * 480 / var(--spWidth));
		margin: 0 auto calc(6.5px * 480 / 100);
	}

	.other-list > li { 
		font-size: calc(11px * 480 / var(--spWidth));
		padding-left: calc(11px * 480 / var(--spWidth));
	}

	.other-list > li::before { 
		top: calc(5px * 480 / var(--spWidth));
		width: calc(6px * 480 / var(--spWidth));
		height: calc(6px * 480 / var(--spWidth));
	}

	.other-list > li + li { 
		margin-top: calc(15px * 480 / var(--spWidth));
	}

	.other-linklist { 
		margin-top: calc(4px * 480 / 100);
	}

	.other-linklist > li { 
		font-size: calc(11px * 480 / var(--spWidth));
	}

	.other-linklist > li + li { 
		margin-top: calc(14px * 480 / var(--spWidth));
	}

	.other-notelist {
		padding: 0 calc(20px * 480 / var(--spWidth));
	}

	.other-notelist > li { 
		font-size: calc(11px * 480 / var(--spWidth));
		padding-left: calc(18px * 480 / var(--spWidth));
	}

	.other-notelist > li::before { 
		left: calc(5px * 480 / var(--spWidth));
		font-size: calc(11px * 480 / var(--spWidth));
		content: '・';
	}

	.other-notelist > li + li { 
		margin-top: calc(1.2px * 480 / 100);
	}

	/* cta ---------------------------------------*/
	.cta { 
		padding: calc(16.5px * 480 / 100) calc(10px * 480 / var(--spWidth)) calc(15.5px * 480 / 100);
	}

	.cta-title { 
		font-size: calc(22px * 480 / var(--spWidth));
		margin-bottom: calc(4.5px * 480 / 100);
	}

	.cta-block { 
		gap: calc(10px * 480 / var(--spWidth));
	}

	.cta-block-image { 
		width: calc(124px * 480 / var(--spWidth));
		margin-left: calc(18px * 480 / var(--spWidth));
	}

	.cta-block-text { 
		font-size: calc(12px * 480 / var(--spWidth));
		margin-bottom: calc(6px * 480 / 100);
	}

	.cta-block-btnlist > li:first-of-type { 
		width: calc(147px * 480 / var(--spWidth));
	}

	.cta-block-btnlist > li:nth-of-type(2) { 
		width: calc(183px * 480 / var(--spWidth));
	}

	.cta-block-btnlist > li + li { 
		margin-top: calc(20px * 480 / var(--spWidth));
	}


	/* fixedbottom ---------------------------------------*/
	.fixedbottom { 
		left: 50%;
		transform: translateX(-50%);
		width: max(25vw, 480px);
		max-width: 480px;
		transition: all 0.8s ease;
		opacity: 0;
		filter: blur(50px);
		pointer-events: none;
	}

	.fixedbottom.is-show {
		opacity: 1;
		filter: blur(0);
		pointer-events: auto;
	}

	.fixedbottom-block { 
		padding: calc(16px * 480 / var(--spWidth)) calc(20px * 480 / var(--spWidth));
	}

	.fixedbottom-text { 
		font-size: calc(13px * 480 / var(--spWidth));
		margin-right: calc(15px * 480 / var(--spWidth));
	}

	.fixedbottom-link-appstore {
		width: calc(98px * 480 / var(--spWidth));
		margin-right: calc(18px * 480 / var(--spWidth));
	}

	.fixedbottom-link-googleplay {
		width: calc(122px * 480 / var(--spWidth));
	}


	/* p-footer ---------------------------------------*/
	.p-footer {
		width: max(25vw, 480px);
		max-width: 480px;
		margin: 0 auto;
		transition: all 0.8s ease;
		overflow: hidden;
		opacity: 0;
		filter: blur(50px);
		pointer-events: none;
		padding: calc(85px * 480 / var(--spWidth)) 0 calc(110px * 480 / var(--spWidth));
	}

	.p-footer.is-show {
		opacity: 1;
		filter: blur(0);
		pointer-events: auto;
	}

	.u-block {
        width: auto;
        padding-inline: calc(20px * 480 / var(--spWidth));
    }

	.p-footer-logo {
		margin-left: 0;
	}

	.p-footer-logo img {
		margin-left: calc(3px * 480 / var(--spWidth));
		width: calc(134px * 480 / var(--spWidth));
	}

	.p-footer-logo__label {
		margin-top: calc(9px * 480 / var(--spWidth));
		font-size: calc(29px * 480 / var(--spWidth));
	}

	.p-footer-layout {
		gap: calc(38px * 480 / var(--spWidth)) 0;
		grid-template-columns: 100%;
	}

	.p-footer-layout__left {
		padding-top: 0;
		order: 2;
	}

	.p-footer-layout__right {
		order: 1;
		display: grid;
		justify-content: space-between;
		align-items: flex-end;
		grid-template-columns: calc(175px * 480 / var(--spWidth)) calc(126px * 480 / var(--spWidth));
		margin-right: 0;
	}

	.p-footer-layout-foot {
		margin-top: calc(56px * 480 / var(--spWidth));
	}

	.p-footer-layout-foot-v2 {
		margin-top: calc(50px * 480 / var(--spWidth));
	}

	.p-footer-navgroup {
		margin-top: calc(32px * 480 / var(--spWidth));
	}

	.p-footer-navgroup__title {
		margin: 0 0 calc(8px * 480 / var(--spWidth));
		font-size: calc(20px * 480 / var(--spWidth));
	}

	.p-footer-nav-lv1 {
		grid-template-columns: repeat(2, auto);
		gap: calc(16px * 480 / var(--spWidth)) calc(40px * 480 / var(--spWidth));
		font-size: calc(13px * 480 / var(--spWidth));
		letter-spacing: 0.1em;
	}

	.p-footer-nav-lv2-wrap {
		flex-direction: column;
		gap: calc(16px * 480 / var(--spWidth)) 0;
	}

	.p-footer-nav-lv2 {
		gap: calc(16px * 480 / var(--spWidth));
		font-size: calc(12px * 480 / var(--spWidth));
	}

	.p-footer-nav-lv2 a.is-pdf:after {
		top: -1px;
		margin-left: calc(5px * 480 / var(--spWidth));
		width: calc(28px * 480 / var(--spWidth));
		height: calc(13px * 480 / var(--spWidth));
	}

	.p-footer-nav-lv2 a.is-blank:after {
		top: -2px;
		margin-left: calc(5px * 480 / var(--spWidth));
		width: calc(12px * 480 / var(--spWidth));
	}

	.p-footer-note-text {
		margin-top: calc(36px * 480 / var(--spWidth));
	}

	.p-footer-sns {
		margin: 0;
		padding: 0 0 2px;
	}

	.p-footer-sns__popup {
		width: calc(126px * 480 / var(--spWidth));
		filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));
	}

	.p-footer-sns__list {
		margin: 13px 0 0 0;
	}

	.p-footer-sns__list li {
		width: 28px;
	}

	.p-footer-pagetop {
		border: none;
		background: transparent;
		display: block;
		margin: calc(8px * 480 / var(--spWidth)) 0 0 auto;
		padding: 0;
		width: calc(53px * 480 / var(--spWidth));
	}

	.p-footer-copyright {
		margin-top: calc(40px * 480 / var(--spWidth));
		font-size: calc(10px * 480 / var(--spWidth));
		text-align: center;
	}

}


/* small pc */
@media screen and (min-width: 1100px){
	.header-menubtn {
		display: none;
	}

	.kv.is-show .kv-image { 
		top: 53%;
		left: calc(25% - 120px);
		height: min(50vw, 80vh);
		max-height: 660px;
		opacity: 1;
		filter: blur(0);
		padding: 0;
	}

	/* gnav ---------------------------------------*/
	.gnav {
		background-image: unset;
		padding: 70px 20px;
		left: 50%;
		top: 50%;
		transform: scale(1) translate(-50%, -50%);
		transform-origin: unset;
		width: calc(50vw - 240px);
		max-width: 404px;
		height: fit-content!important;
		transition: all 1.2s ease;
		filter: blur(100px);
		opacity: 0;
		pointer-events: none;
	}

	.gnav.is-show {
		left: calc(75% + 120px);
		filter: blur(0);
		opacity: 1;
		transform: scale(1) translate(-50%, -50%);
		pointer-events: all;
		overflow-y: unset;
	}

	.gnav-list { 
		background: linear-gradient(to top, rgba(0, 116, 193, 0.7), rgba(0, 73, 159, 0.7));
		padding: 48px calc(20 / 364 * 100%);
		width: 100%;
		border-radius: 20px;
		margin-bottom: 24px;
	}

	.gnav-list > li { 
		max-width: 237px;
		margin: 0 auto;
	}

	.gnav-list > li + li { 
		margin-top: 16px;
	}

	.gnav-list > li a { 
		font-size: 20px;
		color: #fff;
	}

	.gnav-list > li a .gnav-list-text { 
		padding-bottom: calc(2px * 480 / var(--spWidth));
	}
	
	.gnav-list > li a .gnav-list-text::after { 
		bottom: calc(-1px * 480 / var(--spWidth));
	}

	/* .gnav-list > li a::before {
		width: 32px;
		height: 32px;
	} */

	.gnav-list > li a .icon-arrow-circle-right {
		width: 32px;
		height: 32px;
	}

	.gnav-block { 
		padding: 26px calc(24 / 364 * 100%) 32px;
		width: 100%;
		border-radius: 20px;
	}

	.gnav-block-lead { 
		gap: calc(18 / 316 * 100%);
		margin-bottom: 18px;
	}

	.gnav-block-lead img { 
		width: calc(64 / 316 * 100%);
	}

	.gnav-block-lead p { 
		font-size: 14px;
	}

	.gnav-block-btnlist { 
		gap: calc(19 / 316 * 100%);
	}

	.gnav-block-btnlist > li:first-of-type { 
		width: calc(132 / 316 * 100%);
	}

	.gnav-block-btnlist > li:last-of-type { 
		width: calc(165 / 316 * 100%);
	}

	.gnav-btn.btn {
		font-size: min(0.972vw, 14px);
		height: 56px;
		width: 100%;
		margin-top: 24px;
	}

}


@media screen and (min-width: 768px) and (max-width: 999px){
	.header-logo{width:100px;}

}

@media screen and (min-width: 1000px) and (max-width: 1200px){
	.header-logo{width:200px;}

}

@media screen and (min-width: 1100px) and (max-width: 1300px){
    .kv.is-show .kv-image {
        height: min(41vw, 80vh);
    }

}


/* sp only */
@media screen and (max-width: 767px){
	
	.pc{display: none !important;}
	
	/* header ---------------------------------------*/
	header{
	}

	.header-logo{
		/* left:10px;
		top:16px; */
	}

	/* .header-logo img{width:92px;} */

	/* kv ---------------------------------------*/

}

@media screen and (min-width: 1100px) and (max-height: 700px){
    .gnav.is-show {
        top: 0;
        transform: scale(1) translate(-50%, 0);
		height: 100vh !important;
        padding: 20px;
		overflow-y: auto;
    }
}




/* iphone5 iphoneSE用 */
@media screen and (max-width: 370px){

}