@charset "UTF-8";
html,
body {
	width: 100%;
	margin: 0 auto;
}

body {
	overflow-x: hidden;
	background-color: #f6faf9;
}

img {
	width: 100%;
	height: auto;
	display: block;
	border: 0;
}

a {
	display: block;
	text-decoration: none;
	transition: all 0.4s;
	color: #141416;
}
@media screen and (min-width: 769px) {
	a:hover {
		opacity: 0.6;
		transition: all 0.4s;
	}
}

*, *::before, *::after {
  box-sizing: border-box;
}



/*---------------- indention ----------------*/
@media screen and (min-width: 768px){   
	.pcline-break { display:block; }
	.spline-break { display:none; }
}
@media screen and (max-width: 767px){   
	.pcline-break { display:none; }
	.spline-break { display:block; }
}


/* ---------------------------------------------------------
	hero img
----------------------------------------------------------*/
.hero__staticimg {
	padding: 0;
	width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0px;
	margin-bottom: 120px;
	position: relative;
}
.hero__staticimg img {
	max-width: 100%;
	height: auto;
}

/*---------------- TB ----------------*/
@media screen and (min-width: 768px) and ( max-width: 959px) {
	.hero__staticimg {
		width: 100%;
		max-width: 1500px;
		height:auto;
		margin-top: 0px;
		margin-bottom: 150px;
	}
}

/*---------------- PC ----------------*/
@media screen and (min-width: 960px) {
	.hero__staticimg {
		width: 100%;
		height: auto;
		margin-top: -90px;
		margin-bottom: 180px
	}
}


/* ---------------------------------------------------------
	item wapper
----------------------------------------------------------*/
.item-wapper {
	width: 100%;
	padding: 0;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 210px;
	position: relative;
}
.item-wapper img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.item-wapper-mid {
	width: 100%;
	padding: 0;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 120px;
	position: relative;
}
.item-wapper-mid img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.item-wapper-small {
	width: 100%;
	padding: 0;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 90px;
	position: relative;
}
.item-wapper-small img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

/*---------------- PC ----------------*/
@media screen and (min-width: 768px) {
	.item-wapper {
		max-width: 500px;
		margin-bottom: 310px;
	}
	.item-wapper-mid {
		max-width: 500px;
		margin-bottom: 150px;	
	}
	.item-wapper-small {
		max-width: 500px;
		margin-bottom: 120px;
	}
}


/* ---------------------------------------------------------
	margin bottom
----------------------------------------------------------*/
.spmb_10 {
	margin-bottom: 10px;
}
.spmb_30 {
	margin-bottom: 30px;
}
.spmb_45 {
	margin-bottom: 45px;
}
.spmb_60 {
	margin-bottom: 60px;
}
.spmb_90 {
	margin-bottom: 90px;
}
.spmb_120 {
	margin-bottom: 120px;
}
.spmb_150 {
	margin-bottom: 150px;
}
.spmb_180 {
	margin-bottom: 180px;
}
.spmb_210 {
	margin-bottom: 210px;
}
.spmb_240 {
	margin-bottom: 240px;
}

.mb30 {
	margin-bottom: 30px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb90 {
	margin-bottom: 90px;
}

.spmt_30 {
	margin-top: 30px;
}

.sppt_60 {
	padding-top: 50px;
}

/*---------------- PC ----------------*/
@media screen and (min-width: 960px) {
	.spmb_30 {
		margin-bottom: 60px;
	}
	.spmb_45 {
		margin-bottom: 75px;
	}
	.spmb_60 {
		margin-bottom: 90px;
	}
	.spmb_90 {
		margin-bottom: 120px;
	}
	.spmb_120 {
		margin-bottom: 150px;
	}
	.spmb_150 {
		margin-bottom: 180px;
	}
	.sppt_60 {
		padding-top: 80px;
	}
}


/* ---------------------------------------------------------
	relative box
----------------------------------------------------------*/
.inner_wide__area {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.inner_large__area {
	width: 92.3%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.inner_mid__area {
	width: 84.6%;
	margin-left: auto;
	margin-right: auto;
}

/*---------------- PC ----------------*/
@media screen and (min-width: 960px) {
	.inner_large__area {
		width: 100%;
		padding-top: 120px;
	}
}


/* ---------------------------------------------------------
	static img
----------------------------------------------------------*/
.static_wide__box {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/*---------------- PC ----------------*/
@media screen and (min-width: 960px) {

}


/* ---------------------------------------------------------
	flex layout
----------------------------------------------------------*/
.flex_scbw_midbx {
	display: flex;
	justify-content: space-between;
	width: 84.6%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.flex_scbw_midbx::after {
	content: "";
	display: inline-block;
	width: 100vw;
	height: 300px;
	margin: 0 calc(50% - 50vw);
	position: absolute;
	left: 0%;
	bottom: -180px;
	background-image: url("../images/flexscbwbx_after__img.png");
	background-size: contain;
	background-repeat: no-repeat;
	
}

.twocolimg_half {
	width: 50%;
	background-color: #ffffff;
	z-index: 20;
}

.twocolimg__spc {
	width: 49%;
}

/*---------------- PC ----------------*/
@media screen and (min-width: 960px) {
	.flex_scbw_midbx::after {
		width: 600px;
		max-width: 100%;
		height: 350px;
		margin: 0 auto;
		left: 0%;
		bottom: -180px;
	}
}


/* ---------------------------------------------------------
	grid layout
----------------------------------------------------------*/
.three_radimg__bx {
	display: grid;
	grid-template-columns: 53.8% 3.2% 3.2% 36.6% 3.2%;
	grid-template-rows: auto;
	grid-column-gap: 0px;
	grid-row-gap: 0px;
}
.three_radimg__left {
	grid-area: 3 / 1 / 6 / 3;
	align-self: start;
}
.three_radimg__center {
	/* grid-area: 5 / 3 / 8 / 5; */
	grid-area: 5 / 3 / 8 / 6;
	align-self: end;
}
.three_radimg__right {
	grid-area: 1 / 4 / 4 / 6;
	align-self: start;
}
.three_radimg__prc {
	grid-area: 7 / 1 / 8 / 3;
	align-self: end;
	padding-left: 1em;
}

.twocol_spc_grdbox {
	display: grid;
	grid-template-columns: calc(50% - 5px) calc(50% - 5px);
	grid-template-rows: auto;
	grid-column-gap: 10px;
	grid-row-gap: 0px;
}
.leftside__upper {
	grid-area: 1 / 1 / 3 / 2;
	align-self: start;
}
.rightside__lower {
	grid-area: 2 / 2 / 4 / 3;
	align-self: end;
}
.leftside__prc {
	grid-area: 3 / 1 / 4 / 2;
	align-self: end;
	white-space: nowrap;
}

.twocol_llarge_grdbox {
	display: grid;
	grid-template-columns: calc(61.5% - 5px) calc(38.5% - 5px);
	grid-template-rows: auto;
	grid-column-gap: 10px;
	grid-row-gap: 0px;
}

.twoimg_overlap__bx {
	display: grid;
	grid-template-columns: 53.8% 7.7% 38.5%;
	grid-template-rows: auto;
	grid-column-gap: 0px;
	grid-row-gap: 0px;
}
.overlap__left {
	grid-area: 1 / 1 / 3 / 3;
	align-self: start;
}
.overlap__right {
	grid-area: 2 / 2 / 4 / 4;
	align-self: end;
}
.overlap__prc {
	grid-area: 3 / 1 / 4 / 2;
	align-self: end;
}


.three_ovlimg__bx {
	display: grid;
	grid-template-columns: 7.7% 27.9% 2.9% 15.3% 46.2%;
	grid-template-rows: 190px auto auto auto auto;
	grid-column-gap: 0px;
	grid-row-gap: 0px;
}
.three_ovlimg__left{
	grid-area: 1 / 2 / 3 / 5;
	align-self: start;
}
.three_ovlimg__right {
	grid-area: 2 / 4 / 5 / 6;
	align-self: end;
}
.three_ovlimg__lund {
	grid-area: 4 / 1 / 6 / 3;
	align-self: end;
}


.fourimg_radcol__bx {
	display: grid;
	grid-template-columns: 23% 38.5% 3.2% 12.3% 23%;
	grid-template-rows: auto;
	grid-column-gap: 0px;
	grid-row-gap: 0px;
}
.fourimg_radcol__cntup {
	grid-area: 1 / 2 / 4 / 5;
}
.fourimg_radcol__right {
	grid-area: 3 / 4 / 6 / 6;
}
.fourimg_radcol__leftup {
	grid-area: 5 / 1 / 8 / 3;
}
.fourimg_radcol__rund {
	grid-area: 7 / 4 / 10 / 6;
	align-self: end;
}
.fourimg_radcol__prc {
	grid-area: 9 / 1 / 10 / 4;
	align-self: end;
	padding-left: 1em;
	white-space: nowrap;
}


/*---------------- PC ----------------*/
@media screen and (min-width: 960px) {
	.fourimg_rightup__prc {
		padding-right: 0em;
	}
	.three_radimg__prc {
		padding-left: 0em;
	}
	.fourimg_radcol__prc {
		padding-left: 0em;
	}
}


/* ---------------------------------------------------------
	slides box
----------------------------------------------------------*/
.center__widebox {
	width: 100%;
	margin-left: auto;	
	margin-right: auto;
	position: relative;
}

.center__largebox {
	width: 92.3%;
	margin-left: auto;	
	margin-right: auto;
}
.center__biggerbox {
	width: 84.6%;
	margin-left: auto;	
	margin-right: auto;
}
.center__midbox {
	width: 76.9%;
	margin-left: auto;	
	margin-right: auto;
}

.center__box {
	width: 61.5%;
	margin-left: auto;	
	margin-right: auto;
}

.left__vastbox {
	width: 92.3%;
	margin-right: auto;
}
.left__largebox {
	width: 84.6%;
	margin-right: auto;
}
.left__midbox {
	width: 76.9%;
	margin-right: auto;
}
.left__box {
	width: 61.5%;
	margin-right: auto;
}

.right__largebox {
	width: 84.6%;
	margin-left: auto;
}
.right__midbox {
	width: 69.2%;
	margin-left: auto;
}
.right__box {
	width: 61.5%;
	margin-left: auto;
}


/*---------------- PC ----------------*/
@media screen and (min-width: 960px) {

}


/* ---------------------------------------------------------
	subheading
----------------------------------------------------------*/
.subheading__01-1 {
	width: 30.8%;
	position: absolute;
	top: -1%;
	right: 1.6%;
	z-index: 10;
	pointer-events: none;
}
.subheading__01-2 {
	width: 3.2%;
	position: absolute;
	top: 7%;
	right: 9.9%;
	z-index: 10;
	pointer-events: none;
}

.subheading__02-1 {
	width: 30.8%;
	position: absolute;
	top: 0%;
	right: 1.6%;
	z-index: 10;
	pointer-events: none;
}
.subheading__02-2 {
	width: 53.8%;
	position: absolute;
	top: 49%;
	left: 3.8%;
	z-index: 10;
	pointer-events: none;
}

.subheading__03-1 {
	width: 30.8%;
	position: absolute;
	top: 0%;
	right: 1.6%;
	z-index: 10;
	pointer-events: none;
}
.subheading__03-2 {
	width: 3.2%;
	position: absolute;
	top: 68%;
	right: 3.9%;
	z-index: 10;
	pointer-events: none;
}

.subheading__04-1 {
	width: 23.1%;
	position: absolute;
	top: -4%;
	right: 1.6%;
	z-index: 10;
	pointer-events: none;
}
.subheading__04-2 {
	width: 61.5%;
	margin-left: auto;
	margin-right: auto;
	pointer-events: none;
}

.subheading__ctabtn {
	width: 30.8%;
	position: absolute;
	top: -25px;
	right: 34.6%;
	z-index: 10;
	pointer-events: none;
}

/*---------------- PC ----------------*/
@media screen and (min-width: 960px) {
	.subheading__02 {
		top: 46%;
	}
	.subheading__underribbon {
		bottom: -25%;
	}
}


/* ---------------------------------------------------------
	swing
----------------------------------------------------------*/
.swing_ribbon img {
	animation: swing 3s infinite;
	transform: rotate(10deg);
}
@keyframes swing {
    0% {
        transform: rotate(10deg);
    }
    50% {
        transform: rotate(-10deg);
    }
    100% {
        transform: rotate(10deg);
    }
}

/*---------------- PC ----------------*/
@media screen and (min-width: 960px) {

}


/* ---------------------------------------------------------
	swiper
----------------------------------------------------------*/
.swiper {
	width: 100%;
	height: auto;
	object-fit: cover;
}
.swiper img {
	max-width: 100%;
	height: auto;
	display: block;	
}


/* ---------------------------------------------------------
	price box
----------------------------------------------------------*/
.center_prc__bx {
	width: 84.6%;
	margin-left: auto;
	margin-right: auto;
}
.center_prc__bx .items_price_center a {
	font-size: clamp( 1rem, calc( 0.85rem + 0.7500000000000001vw ), 1.3rem );
	line-height: 1;
	letter-spacing: 0.05em;
	color: #3371b2;
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
}
.center_prc__bx .price_yen {
	font-size: clamp( 1rem, calc( 0.85rem + 0.7500000000000001vw ), 1.3rem );
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
	color:#3371b2;
	font-feature-settings: "palt" 1;
}

/*---------------- PC ----------------*/
@media screen and (min-width: 960px) {

}

/* ---------------------------------------------------------
	items center
----------------------------------------------------------*/
.items_price_center {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.items_price_center li {
	font-size: clamp( 1rem, calc( 0.85rem + 0.7500000000000001vw ), 1.3rem );
	line-height: 1;
	letter-spacing: 0.05em;
	color: #4484c9;
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
}

.items_price_center li:nth-child(even) {
	padding-left: 1em;
}

.items_price_center li:nth-child(n+3) {
	padding-top: 1em;
}

.items_price_center a {
	font-size: clamp( 1rem, calc( 0.85rem + 0.7500000000000001vw ), 1.3rem );
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
	color:#4484c9;
	letter-spacing: 0.05em;
	text-decoration: underline;
	text-decoration-color:#4484c9;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25ex;
	text-decoration-skip-ink: none;
	white-space: nowrap;
}


/* ---------------------------------------------------------
	list right
----------------------------------------------------------*/
.items_price_right_col {
	list-style: none;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.items_price_right_col li {
	font-size: clamp( 1rem, calc( 0.85rem + 0.7500000000000001vw ), 1.3rem );
	line-height: 1;
	letter-spacing: 0.05em;
	color:#4484c9;
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
}
.items_price_right_col li:not(:first-child) {
	padding-top: 1em;
}

.items_price_right_col a {
	font-size: clamp( 1rem, calc( 0.85rem + 0.7500000000000001vw ), 1.3rem );
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
	color:#4484c9;
	letter-spacing: 0.05em;
	text-decoration: underline;
	text-decoration-color:#4484c9;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25ex;
	text-decoration-skip-ink: none;
	white-space: nowrap;
}


/* ---------------------------------------------------------
	list left
----------------------------------------------------------*/
.items_price_left {
	list-style: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.items_price_left li {
	font-size: clamp( 1rem, calc( 0.85rem + 0.7500000000000001vw ), 1.3rem );
	line-height: 1;
	letter-spacing: 0.05em;
	color:#4484c9;
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
}
.items_price_left li:not(:first-child) {
	padding-top: 1em;
}

.items_price_left a {
	font-size: clamp( 1rem, calc( 0.85rem + 0.7500000000000001vw ), 1.3rem );
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
	color:#4484c9;
	letter-spacing: 0.05em;
	text-decoration: underline;
	text-decoration-color:#4484c9;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25ex;
	text-decoration-skip-ink: none;
	white-space: nowrap;
}

/* ---------------------------------------------------------
	yen
----------------------------------------------------------*/
.price_yen {
	font-size: clamp( 0.75rem, calc( 0.6375rem + 0.5625vw ), 0.975rem );
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
	color:#4484c9;
	font-feature-settings: "palt" 1;
}

.line_br {
	width: 100%;
}


/* ---------------------------------------------------------
	item btn
----------------------------------------------------------*/
.itembtn_wapper {
	text-align: center;
	width: 92.3%;
	margin-left: auto;
	margin-right: auto;
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
}

.itemlk {
	display: inline-block;
	width: 100%;
	padding: 1.5em 0;
	margin: 0 auto;
	border: 1px #72a2d6 solid;
	border-radius: 100%;
	transition: all .3s ease-out;
	font-size: clamp( 1.0625rem, calc( 0.6959375rem + 1.8328125000000002vw ), 1.795625rem );
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
	letter-spacing: 0.7em;
	text-indent: 0.7em;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

.itembtn_wapper a {
	font-size: clamp( 1.0625rem, calc( 0.6959375rem + 1.8328125000000002vw ), 1.795625rem );
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
	letter-spacing: 0.7em;
	text-indent: 0.7em;
	color: #72a2d6;
	text-decoration: none;
}
.itembtn_wapper span {
	font-size: 85%;
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
	color: #72a2d6;
}

/* --------------- PC --------------- */
@media screen and (min-width: 768px) {
	.itemlk {
		width: 100%;
	}
}


/* ---------------------------------------------------------
	footer
----------------------------------------------------------*/
footer {
	background-image: url("../images/footer_bg_img.png");
	background-repeat:  no-repeat; 
	background-size: cover;
	/* background-color: #eaf2f0; */
	margin: 0 auto;
	padding: 60px 0 30px;
	width: 100%;
	max-width: 9999px;
	z-index: 10;
	color: #ffffff;
	/* border-top: 3px solid #72a2d6; */
}
footer #footer__box {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 20px 0 20px;
}
footer #niceclaup_logo {
	width: 25%;
	margin-left: auto;	
	margin-right: auto;
	margin-top: 1em;
}
footer .footer__p {
	display: block;
	text-align: center;
	color: #ffffff;
	font-size: clamp(1.5625rem, calc(1.0796875rem + 2.4140625000000004vw), 2.528125rem);
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.5;
}
footer .footer__txtlink {
	display: block;
	padding: 1em 0 4em;
	text-align: center;
}
footer .footer__txtlink a {
	text-align: center;
	font-family: "Noto Serif JP", serif;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.2em;
	font-size: clamp(1rem, calc(0.691rem + 1.5450000000000002vw), 1.618rem);
	line-height: 1;
	color: #ffffff;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2ex;
	text-decoration-skip-ink: none;
}
footer .footer_r {
	display: block;
	text-align: center;
	color: #ffffff;
	font-size: clamp(0.625rem, calc(0.431875rem + 0.965625vw), 1.01125rem);
	padding-top: 1em;
	line-height: 1;
	font-family: "ivyora-display", sans-serif;
	font-style: normal;
	font-weight: 300;
	font-feature-settings: "palt" 1;
	/*text-shadow: #FFFFFF 2px 0 5px, 0 0 0.5em #ffffff, 1px 1px 0.2em #c83138;*/
}
footer #sns__area {
	list-style: none;
	width: 70%;
	margin-left: auto;
	margin-right: auto;
	padding: 20px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 15px;
}
footer #sns__area li {
	width: calc(100% / 4 - 35px);
}

/*---------------- TB ----------------*/
@media screen and (min-width: 768px) and ( max-width: 959px) {
	footer #niceclaup_logo {
		width: 15%;
	}
	footer #sns__area {
		width: 40%;
		column-gap: 15px;
	}
	footer #sns__area li {
		width: calc(100% / 4 - 45px);
	}
}

/*---------------- PC ----------------*/
@media screen and (min-width: 960px) {
	footer {
		padding: 90px 0 30px;
	}
	footer #niceclaup_logo {
		width: 130px;
	}
	footer #sns__area {
		width: 500px;
		max-width: 100%;
		column-gap: 110px;
	}
	footer #sns__area li {
		width: calc((100% / 4 - 440px) 960 * 100vw);
	}
}