@charset "UTF-8";
.txtEx {
	text-indent: 120%;
	white-space: nowrap;
	overflow: hidden;
}
.PC {display: none;}
.SP {display: inherit;}

html {
	font-size: 1.302vw; /*defaultFontsize(10px) / maxWidth(750px) * 100*/
}
body {
}
img {
	width: 100%;
	height: auto;
}

/*--------------------
No1*/

/*--No2*/

/*No3*/

.lparea {}
.lparea .imgblock {
}
.lparea .imgblock .ib_bg {
	width: 100%;
	max-width: none;
}



/*メニュー*/
	/*--機能*/
.js-togglemenu {
	position: fixed;
		z-index: 1000;
	display: block;
}
.js-togglemenu .box_btn {
}
.js-togglemenu .box_btn .btn {
}
	/*btn*/
.js-togglemenu .box_btn .btn span {
}
	.js-togglemenu .box_btn .btn:before,
	.js-togglemenu .box_btn .btn:after {
	}
		/*When the menu is opened*/
		.js-togglemenu .box_btn .btn.is-open {
			display: flex;
				justify-content: center;
				align-items: center;
		}
		.js-togglemenu .box_btn .btn.is-open span {
			opacity: 0;
		}
		.js-togglemenu .box_btn .btn.is-open:before,
		.js-togglemenu .box_btn .btn.is-open:after {
			position: absolute;
		}
		.js-togglemenu .box_btn .btn.is-open:before{
				transform: rotate(45deg);
		}
		.js-togglemenu .box_btn .btn.is-open:after{
				transform: rotate(-45deg);
		}
	/*menu*/
.js-togglemenu .box_menu {
	visibility: hidden;
	position: fixed;
		z-index: 1000;
	display: block;
}
	/*--デザイン*/
.js-togglemenu .box_btn {
	width: 100%;
}
.js-togglemenu .box_btn .logo {
}
.js-togglemenu .box_btn .btn {
	display: block;
}
.js-togglemenu .box_btn .btn span {
}
	.js-togglemenu .box_btn .btn:before,
	.js-togglemenu .box_btn .btn:after {
	}
.js-togglemenu .box_menu {
	background: rgba(51,44,41,0.9);
}
.js-togglemenu .box_menu a {
	display: block;
	width: 60rem;
	margin: 0 auto;
	padding: 0rem;
	color: #fff;
	font-size: 3.5rem;
	text-align: center;
	line-height: 3;
}
	.js-togglemenu .box_menu a:after {
		height: 0.3rem;
	}

/*ヘッダー*/
.lparea header {
	display: flex;
	max-width: none;
	min-height: 14rem;
	height: auto;
	margin: 0 auto;
}
.lparea .js-togglemenu {
	display: flex;
		align-items: center;
	width: 100%;
	min-height: 14rem;
	background: #fff;
}
.lparea header .box_btn {
	display: flex;
		justify-content: space-between;
	width: 100%;
	padding: 0 2.7rem;
}
.lparea header .box_btn .logo {
	width: 24rem;
}
.lparea header .box_menu {
		align-items: center;
	margin: 14rem 0 0 auto;
	padding-top: 2.5rem;
}
	.lparea header .box_menu a {
		letter-spacing: 0.1em;

	}
.lparea header .box_menu .btn {
	width: 60rem;
	height: 9.4rem;
	margin: 0 auto;
	margin-top: 5.5rem;
	background-image: url("../images/spheader_btn.png");
}
	.lparea header .box_menu .btn:after {
		display: none;
	}


.fv {
	margin-top: 0;
}
.fv .lists {
		top: 120rem;
	display: flex;
		justify-content: space-between;
	width: 71rem;
	padding-left: 0rem;
}
	.fv .lists li {
		width: 22.8rem;
		height: 19.5em;
		margin-bottom: 0rem;
		padding-top: 2rem;
		line-height: 1.28;
	}
		.fv .lists li p {
			transform: scaleX(0.9);
			transform-origin: center center;
			font-size: 2.1rem;
			letter-spacing: -0.1em;
		}
.fv .notes {
			bottom: 5rem;
	width: 100%;
	padding-left: 5rem;
	font-size: 1.7rem;
	line-height: 1.52;
}
/*--box01*/
.box01 {
	padding: 8rem 0 11rem 0;
	background-image: url("../images/spbox01_bg.jpg");
	background-size: 100% 100%;
}
/*cv*/
.cv {
	width: 68.2rem;
}
.cv .content {
		grid-template-columns: max-content max-content;
		grid-template-rows: min-content 1fr min-content min-content;
		grid-template-areas:
			"cv_prodimg cv_letstxt"
			"cv_prodimg cv_nametxt"
			"cv_pricetxt cv_pricetxt"
			"cv_pointtxt cv_pointtxt";
	padding: 4rem 0 calc(3rem + 1rem) 0;
}
	.cv_prodimg { width: 27.6rem; margin: 0.4rem 0 0 0; }
	.cv_letstxt { width: 35.3rem; margin: 0rem 0 0 0; }
	.cv_nametxt { width: 33.6rem; margin: 1.3rem 0 3rem 0; }
	.cv_pricetxt { width: 63.6rem; margin: 0 0 2rem 0; }
	.cv_pointtxt {  }
.cv .cv_letstxt {}
.cv .cv_letstxt .mincho {
	padding-top: 1.4rem;
	font-size: 3.9rem;
	text-align: center;
	line-height: 1.35;
}
	.cv .cv_letstxt .mincho mark {
		display: block;
	}
.cv .cv_nametxt {
	text-align: center;
}
.cv .cv_nametxt .in {
	position: static;
	display: inline-block;
	margin-top: 1.6rem;
	padding-right: 0.5em;
	font-size: 2.7rem;
	letter-spacing: 0.06em;
	border: 0.1rem solid #000;
	background: #fff;
}
	.cv .cv_nametxt .in mark {
		margin-right: 1rem;
		padding: 0 0.5em;
		background: #000;
	}
	.cv .cv_nametxt .in mark span {
	}
.cv .cv_pointtxt {
	width: 63.6rem;
}
.cv .cv_pointtxt .txt {
	width: 20.2rem;
	height: calc(9.4rem - 1rem * 2);
	padding: 0rem 0;
	font-size: 2.5rem;
	line-height: 1.1;
	letter-spacing: 0.08em;
}
	.cv .cv_pointtxt .txt:before {
		border-bottom: 1rem solid #000;
		border-left: 1rem solid transparent;
		border-right: 0rem solid transparent;
	}
	.cv .cv_pointtxt .txt:after {
		border-top: 1rem solid #000;
		border-left: 0rem solid transparent;
		border-right: 1rem solid transparent;
	}
	.cv .cv_pointtxt .txt mark {
		font-size: 3rem;
	}
	.cv .cv_pointtxt .txt mark span {
	}
.cv .content_btn {
	padding: 2.5rem 0;
}
.cv .content_btn .btn {
	width: 60rem;
	height: 13rem;
	font-size: 4.2rem;
	line-height: 1.095;
	text-align: center;
	background-image: url("../images/spcv_btnarea.png");
	background-size: 100% 100%;
}

/*--box02*/
.box02 {
	padding-top: 0;
	background:
		url("../images/spbox02_bgi01.jpg") no-repeat center top 424rem,
		url("../images/spbox02_bgi02.jpg") no-repeat center top 708rem,
		url("../images/spbox02_bgi03.jpg") no-repeat center top 867rem,
		url("../images/spbox02_bgi04.jpg") no-repeat center bottom,
		url("../images/spbox02_bg.jpg") no-repeat center top,
		linear-gradient(180deg, transparent 1%, #000 1%, #000 100%);
	background-size: 100%;
}
.exp {}
.exp .head {
	width: 100%;
	margin-bottom: -6rem;
}
.exp .content {
	position: relative;
	display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: min-content min-content 1fr;
		justify-content: center;
		align-content: center;
		justify-items: center;
		align-items: start;
		grid-template-areas:
			"exp_cro_badge"
			"exp_cro_img"
			"exp_cro_txt";
	width: 100%;
	margin: 0 auto 0rem auto;
	padding-top: 0rem;
}
	.exp_cro_badge { width: 68.8rem; }
	.exp_cro_txt { width: auto; margin: 0rem 0 0 0; }
	.exp_cro_img { width: 100%; margin: 0rem 0 -17rem 0; }
			ul.exp_cro_badge {
				display: flex;
					justify-content: space-between;
				width: 71rem;
				margin-bottom: 2rem;
				padding-top: 1rem;
			}
				.exp_cro_badge li {
					width: 22.8rem;
					height: 19.4em;
					margin-bottom: 1rem;
					padding-top: 2.2rem;
					filter: none;
				}
					.exp_cro_badge li p {
						font-size: 2.1rem;
						letter-spacing: -0.1em;
						transform: scaleX(0.9);
					}
.exp_cro_txt {
	position: relative;
		z-index: 11;
	width: 66.8rem;
	margin: 0 auto;
	padding: 0 0 19rem 4rem;
	color: #fff;
	font-size: 2.8rem;
	line-height: 1.92;
	background: url("../images/spexp_cro_bg.png") no-repeat left 0rem top 2rem;
	background-size: 1.1rem;
}
	.exp_cro_txt .notes {
		margin-top: 4rem;
		font-size: 1.4rem;
		letter-spacing: 0.1em;
	}
.exp_cro_img {
}
	.exp_cro_img img {
		position: static;
		width: 100%;
		margin-top: 0rem;
	}
.exp .matelists {
	max-width: none;
	margin: 0 auto;
	padding-bottom: 11rem;
	overflow: visible;
}
	.exp .matelists li {
			grid-template-columns: 1fr;
			grid-template-rows:  min-content min-content min-content min-content min-content 1fr ;
			grid-auto-flow: row;
			align-content: center;
			align-items: start;
			grid-template-areas:
				"exp_mate_icon"
				"exp_mate_name"
				"exp_mate_lead"
				"exp_mate_img "
				"exp_mate_text"
				"exp_mate_note";
		width: 100%;
		max-width: none;
		margin: 0 auto 0rem auto;
		padding: 0 4.3rem 15rem 4.3rem;
	}
	.exp_mate_icon { grid-area: exp_mate_icon; }
	.exp_mate_name { grid-area: exp_mate_name; }
	.exp_mate_lead { grid-area: exp_mate_lead; }
	.exp_mate_text { grid-area: exp_mate_text; }
	.exp_mate_note { grid-area: exp_mate_note; }
	.exp_mate_img { grid-area: exp_mate_img; }

						.exp .matelists li.bla {
							background: #1a1a1a url("../images/spbox02_bgi02a.jpg") no-repeat;
							background-size: 100%;
						}

				.exp .matelists li:nth-child(even) {
						justify-content: center;
						grid-template-areas:
							"exp_mate_icon"
							"exp_mate_name"
							"exp_mate_lead"
							"exp_mate_img "
							"exp_mate_text"
							"exp_mate_note";
					padding: 0 4.3rem 15rem 4.3rem;
				}
					.exp .matelists li:nth-child(even):before,
					.exp .matelists li:nth-child(even):after {
						display: none;
					}
					.exp .matelists li:nth-child(even):before {
					}
					.exp .matelists li:nth-child(even):after {
					}
								.exp .matelists li:nth-child(4n):before,
								.exp .matelists li:nth-child(4n):after {
								}
								.exp .matelists li:nth-child(4n):before {
								}
								.exp .matelists li:nth-child(4n):after {
								}
				.exp .matelists li:nth-child(even) .exp_mate_icon {
					margin-right: -4.3rem;
				}
				.exp .matelists li:nth-child(even) .exp_mate_text {
					margin-right: 0;
				}
				.exp .matelists li:nth-child(even) .exp_mate_img {
					margin-right: 0rem;
				}
.exp .exp_mate_icon {
	position: relative;
		z-index: 20;
	display: flex;
		align-items: center;
	margin: 0 -4.3rem 4rem 0;
	transform: translateY(-50%);
}
	.exp .exp_mate_icon:after {
		margin-left: 2.5rem;
	}
	.exp .exp_mate_icon span {
			flex-shrink: 0;
		margin-left: 1.3rem;
		color: #dcb482;
		font-size: 1.6rem;
		font-weight: 700;
		letter-spacing: 0.2em;
		line-height: 1;
	}
	.exp .exp_mate_icon img {
			flex-shrink: 0;
		width: 2.2rem;
	}
			.exp .bio .exp_mate_icon {  }
			.exp .cit .exp_mate_icon {  }
			.exp .arg .exp_mate_icon {  }
			.exp .mac .exp_mate_icon {  }
			.exp .zin .exp_mate_icon {  }
			.exp .bla .exp_mate_icon {  }
			.exp .ton .exp_mate_icon {  }
			.exp .gin .exp_mate_icon {  }
			.exp .imp .exp_mate_icon {  }
.exp .exp_mate_name {
	margin-bottom: 2rem;
	font-size: 6.7rem;
}
			.exp .imp .exp_mate_name { font-size: 3.4rem; letter-spacing: 0.06em; line-height: 1.52; }
	.exp .exp_mate_name.less {
		letter-spacing: -0.01em;
	}
.exp .exp_mate_lead {
	margin-bottom: 5rem;
	font-size: 3.2rem;
}
	.exp .exp_mate_lead.less {
		letter-spacing: 0.04em;
	}
.exp .exp_mate_text {
	width: 68.2rem;
	margin-right: 4rem;
	font-size: 2.8rem;
	line-height: 1.92;
}
.exp .exp_mate_note {
	width: 68.2rem;
	margin-top: 4.5rem;
	font-size: 2.2rem;
	line-height: 2;
	letter-spacing: 0.1em;
}
.exp .exp_mate_img {
	width: 68.2rem;
	margin-bottom: 6.5rem;
	box-shadow: 0.5rem 0.5rem 4rem rgba(220,180,100,0.5);
}

/*--box03*/
.box03 {
	padding-top: 4rem;
	background-color: #fff;
	background-image: url("../images/spsaf_bg.png");
	background-size: 100%;
}
.saf {
}
.saf .saf_ico {
	padding: 0 0.6rem 0 1rem;
	font-size: 2.6rem;
}
.saf .head {
	margin-bottom: 4rem;
}
.saf .head .t01 {
	margin-bottom: 3.5rem;
	font-size: 3rem;
	letter-spacing: 0.1em;
}
.saf .head .t02 {
	display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	line-height: 1;
}
.saf .head .t02 .under {
	margin-right: 0rem;
	margin-bottom: 1.5rem;
	font-size: 4.2rem;
	line-height: 1.6;
}
	.saf .head .t02 .under:after {
		content: "";
		display: block;
		height: 0.1rem;
		background: #000;
	}
.saf .head .t02 .big {
	font-size: 9.4rem;
}
.saf .lists {
	padding-bottom: 0rem;
}
	.saf .lists > li {
		display: grid;
			grid-template-columns: 1fr;
			grid-template-rows:  min-content min-content min-content min-content min-content min-content;
			grid-template-areas:
				"list_img"
				"list_icon"
				"list_name "
				"list_text"
				"list_add"
				"list_note";
		width: 100%;
		margin: 0 auto 8rem auto;
		padding: 0 calc((100% - 100rem) / 2);
		text-align: left;
	}
		.list_icon { grid-area: list_icon; }
		.list_name { grid-area: list_name; }
		.list_text { grid-area: list_text; }
		.list_note { grid-area: list_note; }
		.list_img { grid-area: list_img; }
			.saf .lists > li:nth-child(even) {
					grid-template-areas:
						"list_img"
						"list_icon"
						"list_name "
						"list_text"
						"list_add"
						"list_note";
				margin-bottom: 12rem;
			}
			.saf .lists .list_icon:before {
				content: "";
				position: absolute;
					z-index: -1;
					top: -6rem;
					left: -16rem;
				width: 30rem;
				height: 30rem;
				background: url("../images/saf_listicon.png") no-repeat;
				background-size: 100%;
			}
				.saf .lists li:nth-child(even) .list_icon:before {
				}
			.saf .lists li:nth-child(even) .list_img {
				margin: 0 auto 4.5rem 0;
			}

.saf .list_icon {
	width: 68.4rem;
	margin: 0 auto;
	margin-bottom: 1.5rem;
	font-size: 2rem;
}
	.saf .list_icon.spacing {
		height: 5rem;
	}
.saf .list_name {
	display: flex;
	width: 68.4rem;
	margin: 0 auto;
	margin-bottom: 4rem;
	font-size: 4.2rem;
	line-height: 1.3;
}
	.saf .list_name:before {
		content: "";
		margin-right: 1.5rem;
	}
.saf .list_text {
	width: 68.4rem;
	margin: 0 auto;
	margin-bottom: 3.5rem;
	font-size: 2.8rem;
	line-height: 1.92;
}
	.saf .list_text.long {
		width: 68.4rem;
	}
.saf .list_note {
	width: 68.4rem;
	margin: 0 auto;
	font-size: 2.2rem;
}
.saf .list_add {
	display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	width: 68.4rem;
	margin: 0 auto;
}
	.saf .list_add > li {
		width: 12.2rem;
		height: 12.2rem;
		margin-bottom: 1.5rem;
		font-size: 2.7rem;
		line-height: 1.18;
		letter-spacing: 0.12em;
		text-shadow:
			0.5rem 0.5rem 0 #f2f2f2, -0.5rem -0.5rem 0 #f2f2f2,
			-0.5rem 0.5rem 0 #f2f2f2, 0.5rem -0.5rem 0 #f2f2f2,
			0 0.5rem 0 #f2f2f2,  0-0.5rem 0 #f2f2f2,
			-0.5rem 0 0 #f2f2f2, 0.5rem 0 0 #f2f2f2;
	}
.saf .list_img {
	width: 72.6rem;
	margin: 0 0 4.5rem auto;
}
	.saf .list_img img {
		position: static;
		width: 100%;
	}

/*--box04*/
.box04 {
	padding-top: 10rem;
	background-image: url("../images/spnym_bg.jpg");
	background-size: 100%;
}
.nym {
	text-align: center;
}
.nym .nym_ico {
	margin-bottom: 4rem;
	font-size: 2.6rem;
}
.nym .head {
	margin-bottom: 3.4rem;
}
.nym .head .t01 {
	margin-bottom: 0rem;
	font-size: 2.8rem;
}
.nym .head .t02 {
	display: block;
	margin-bottom: 2.5rem;
}
.nym .head .t02 .under {
	font-size: 6rem;
	letter-spacing: 0.025em;
}
	.nym .head .t02 .under:after {
		content: "";
		display: block;
		background: #000;
	}
.nym .head .t02 .big {
	font-size: 7.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}
.nym .lists {
	position: relative;
	width: 100rem;
	min-height: 38.6rem;
	margin: 0 auto;
	padding-top: 1.5rem;
	padding-left: 5rem;
}
	.nym .lists:before {
		content: "";
		position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
		background: url("../images/nym_img.png") no-repeat right 5rem bottom;
		background-size: 54rem;
	}
.nym .lists > li {
	width: 54rem;
	margin-bottom: 1rem;
	padding: 0 0 0 1.5rem;
	font-size: 2.8rem;
}
	.nym .lists > li:before {
		content: "";
		margin-right: 1.4rem;
	}
	.nym .lists > li strong {
		font-weight: 900;
	}


/*--box05*/
.box05 {}
.sv {
	margin-top: -11rem;
	padding-top: 19rem;
	padding-bottom: 3rem;
	background-image: url("../images/spfin_bg01.jpg");
	background-size: 100% 100%;
}
.sv .arr {
	width: 26rem;
	margin-bottom: 5.5rem;
}
.sv .come {
	margin-bottom: 8rem;
	font-size: 3rem;
}
	.sv .come:before,
	.sv .come:after {
		content: "";
		position: absolute;
			z-index: 10;
			top: 50%;
			transform: translateY(-50%);
		display: block;
		width: 1rem;
		height: 3.5rem;
		margin-bottom: 5.4rem;
		border: 0.1rem solid #000;
		border-right: 0;
	}
	.sv .come:before {
			left: -4rem;
	}
	.sv .come:after {
			right: -4rem;
		border: 0.1rem solid #000;
		border-left: 0;
	}
.sv .prod {
	width: 100%;
	min-height: 68.1rem;
	padding: 7rem 31rem 0 0;
	background:
		url("../images/spfin_svimg.png") no-repeat right 0rem top 0rem,
		url("../images/spfin_svbg.png") no-repeat;
	background-size:
		49.2rem,
		100%;
}
	.sv .prod mark {
	}
.sv .prod .t01 {
	margin-top: -1rem;
	margin-bottom: 2rem;
	font-size: 3rem;
}
.sv .prod .t02 {
	margin-bottom: 3rem;
	font-size: 6.4rem;
	line-height: 1.2;
}
	.sv .prod .t02:after {
		content: "";
		width: 39rem;
		margin-top: 2.5rem;
	}
.sv .prod .t03 {
	margin-bottom: 4rem;
	font-size: 2.8rem;
	line-height: 1.35;
}
.sv .prod .t04 {
	position: absolute;
	display: flex;
		justify-content: center;
		align-items: flex-end;
	width: 100%;
	font-size: 2.2rem;
}
.sv .prod .t04 .img {
	width: 26rem;
	margin: 0;
	margin-right: 1.2rem;
}
.sv .prod .t04_a {
	margin-bottom: 0.5rem;
}
	.sv .prod .t04_a strong {
		margin-right: 0.8rem;
		padding: 0 0.6em 0 0.8em;
		font-size: 2rem;
	}

.performance {
	padding-top: 7rem;
	text-align: center;
	background-image: url("../images/spfin_bg02.jpg");
	background-size: 100% 100%;
}
.performance .head {
	margin-bottom: 3rem;
	font-size: 5rem;
}
	.performance .head span {
		font-size: 3rem;
	}


.box05 .cvarea {
	padding-bottom: 9rem;
	background-image: url("../images/spfin_bg03.jpg");
	background-size: 100%;
}