@charset "UTF-8";

.pc {}

.sp {
	display: none;
}

body {
	overflow: hidden;
}

/* フェードインで要素を表示
---------------------------------------------------------- */
.fadein {
	opacity: 0;
	transform: translateY(30px);
	transition: all 1s;
}

/*---カバー画像---*/
#Top_Cover {
	width: 94%;
	max-width: 1680px;
	margin: 0 auto;
}

.Item {
	width: 100%;
	height: auto;
	cursor: pointer;
}

/*---背景色---*/
.Cont_wrap {
	font-size: 20px;
	background: #fff;
	padding: 60px 0 80px;
}

.Bg_Gray {
	background: #eaeaec;
	padding: 0px 0 10px;
}

.Bg_Voice {
	/*background: #e0f2fc;*/
	padding: 20px 0 60px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.6), rgba(14, 110, 192, 0.6)), url(../img/voice_bg.jpg);
	background-size: cover;
}

.Bg_Voice_Cont {
	background: #fff;
	padding: 40px 40px 60px;
}

.Bg_Voice_Cont02 {
	background: #eae9e2;
	padding: 10px 40px 20px;
}

.Bg_Labo {
	background-image: url(../img/bg_green.jpg);
	background-repeat: repeat;
	padding: 20px 0;
}

.Bg_Labo02 {
	background-image: url(../img/bg_green.jpg);
	background-repeat: repeat;
	padding: 40px 0 80px;
}

.Bg_Labo02_Cont {
	width: 86%;
	background: #fff;
	padding: 40px 0 20px;
}

/*---区切り線---*/
.Txt_Line {
	height: 1px;
	border-top: 1px solid #000;
	width: 100%;
	margin: 5px auto;
}

.Txt_Line02 {
	height: 1px;
	border-top: 1px solid #ccc;
	width: 100%;
	margin: 40px auto;
}

.Txt_Line03 {
	height: 1px;
	border-top: 1px solid #000;
	width: 100%;
	margin: 20px auto;
}

/*---下線---*/
.Txt_Line_bottom_Center {
	font-size: 34px;
	color: #07285e;
	position: relative;
	display: inline-block;
	margin-bottom: 1em;
	line-height: 1.1em;
}

.Txt_Line_bottom_Center:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -5px;
	/*線の上下位置*/
	display: inline-block;
	width: 300px;
	height: 1px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	/*位置調整*/
	background-color: #918c89;
}

.Txt_Line_bottom_Center .fz20 {
	font-size: 20px;
	color: #3d3834;
}

/*---タイトル（機能）---*/
.Tit_Feature {
	font-size: 34px;
	color: #07285e;
	text-align: center;
	background: #e0f2fc;
	padding: 20px 0;
}

/*---タイトル（お客さまの声）---*/
.Tit_Voice {
	font-size: 40px;
	color: #07285e;
	padding: 0;
	border-bottom: 3px solid #07285e;
	letter-spacing: 0.2em;
}

/*---ボタン（詳しく）---*/
.button_detail {
	display: inline-block;
	position: relative;
	z-index: 2;
	width: 120px;
	height: 28px;
	text-align: center;
	text-decoration: none;
	background-color: #8d0010;
	color: #fff;
	line-height: 28px;
	overflow: hidden;
	font-size: 14px;
	border-radius: 14px;
	-webkit-border-radius: 14px;
	-moz-border-radius: 14px;
}

.button_detail::before {
	content: "";
	width: 120px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: #b20a1e;
	transform-origin: 100% 50%;
	transform: scaleX(0);
	transition: transform ease .5s;
}

.button_detail:hover {
	color: #fff;
}

.button_detail:hover::before {
	transform-origin: 0% 50%;
	transform: scaleX(1);
}

/*---ボタン（READ MORE）---*/
.button_readmore {
	display: inline-block;
	position: relative;
	z-index: 2;
	width: 160px;
	height: 28px;
	text-align: center;
	text-decoration: none;
	background-color: #8d0010;
	color: #fff;
	line-height: 28px;
	overflow: hidden;
	font-size: 14px;
}

.button_readmore::before {
	content: "";
	width: 160px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: #b20a1e;
	transform-origin: 100% 50%;
	transform: scaleX(0);
	transition: transform ease .5s;
}

.button_readmore:hover {
	color: #fff;
}

.button_readmore:hover::before {
	transform-origin: 0% 50%;
	transform: scaleX(1);
}

/*---youtube---*/
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/*---フェードイン---*/
.fadein {
	opacity: 0;
	transform: translateY(30px);
	transition: all 1s;
}

/*---幅設定---*/
.wdh60per {
	width: 60%;
}

.wdh70per {
	width: 70%;
}

.wdh90per {
	width: 90%;
}

.wdh_lineup {
	width: 90%;
}

/*---文字サイズ設定---*/
.fsz12 {
	font-size: 12px;
}

.fsz14 {
	font-size: 14px;
}

.fsz18 {
	font-size: 18px;
}

.fsz20 {
	font-size: 20px;
}

.fsz26 {
	font-size: 26px;
}

.fsz30 {
	font-size: 30px;
}

/*---文字色設定---*/
.fcrBlue {
	color: #07285e;
}

.fcrRed {
	color: #8c000f;
}

/*---カラム数1つに（機能）---*/
.sec01_box {
	margin-top: -16px;
}

.sec01_box .col {
	float: left;
}

.sec01_box.col3 .col {
	margin: 16px 2.2% 0 0;
	width: 31.86%;
}

.sec01_box.col3 .col:nth-child(3n) {
	margin-right: 0;
}

.sec01_box.col3 .col:nth-child(3n+1) {
	clear: both;
}

@media screen and (max-width:767px) {

	.sec01_box .col,
	.sec01_box.col3 .col {
		float: none;
		width: auto;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

}

/*---2カラム設定（乾太くん）---*/
.sec02_box {
	display: table;
	padding: 0;
	width: 100%;
	background-color: #fff;
}

.sec02_box .box_left {
	float: left;
	display: table-cell;
	width: 25%;
}

.sec02_box .box_right {
	float: right;
	display: table-cell;
	width: 70%;
}

.sec03_box {
	margin-top: -16px;
	text-align: center;
}

.sec03_box .col {
	float: left;
}

.sec03_box .col .fsz14 {
	font-size: 14px;
}

.sec03_box.col4 .col {
	margin-top: 16px;
	margin-right: 8%;
	width: 19%;
	text-align: left;
	display: inline-block;
	float: none;
	padding-bottom: 30px;
}

.sec03_box.col4 .col:nth-child(5n) {
	margin-right: 0;
}

.sec03_box.col4 .col:nth-child(5n+1) {
	clear: both;
}

.sec04_box {
	margin-top: -16px;
}

.sec04_box .col {
	float: left;
}

.sec04_box.col2 .col {
	margin-top: 16px;
	margin-right: 2.2%;
	width: 48.9%;
}

.sec04_box.col2 .col:nth-child(2n) {
	margin-right: 0;
}

.sec04_box.col2 .col:nth-child(2n+1) {
	clear: both;
}

@media screen and (max-width:768px) {

	.sec02_box {
		display: table;
		margin: 0;
		padding: 10px;
		width: 100%;
		background-color: #fff;
	}

	.sec02_box .box_left {
		clear: both;
		width: 100%;
		margin-top: 10px;
	}

	.sec02_box .box_right {
		clear: both;
		width: 100%;
	}

	/*---4→2---*/
	.sec03_box.col4 .col {
		margin: 16px 2% 0;
		width: 46%;
	}

	.sec03_box.col4 .col:nth-child(2n+1) {
		/*奇数*/
		clear: both;
	}

	.sec03_box.col4 .col:nth-child(6n) {
		/*6の倍数*/
		float: left;
	}

	.sec03_box .col .fsz14 {
		font-size: 10px;
	}

	/*---2→1---*/
	.sec04_box.col2 .col {
		margin: 16px 0 0;
		width: 100%;
	}

}

/*---2カラム設定（機能）---*/
.Feature_box {
	display: table;
	margin: 0px;
	width: 100%;
	background-color: #fff;
}

.Feature_box .box_30 {
	float: left;
	display: table-cell;
	width: 28%;
}

.Feature_box .box_40 {
	float: left;
	display: table-cell;
	width: 38%;
}

.Feature_box .box_50 {
	float: left;
	display: table-cell;
	width: 48%;
}

.Feature_box .box_60 {
	float: left;
	display: table-cell;
	width: 58%;
}

.Feature_box .box_70 {
	float: left;
	display: table-cell;
	width: 68%;
}

.Feature_box .box_center {
	float: left;
	display: table-cell;
	width: 4%;
}

@media screen and (max-width:767px) {

	/*---幅・マージン調整---*/
	.Feature_box {
		margin: 0px;
		width: 100%;
	}

	.Feature_box .box_30 {
		width: 100%;
	}

	.Feature_box .box_40 {
		width: 100%;
	}

	.Feature_box .box_50 {
		width: 100%;
	}

	.Feature_box .box_60 {
		width: 100%;
	}

	.Feature_box .box_70 {
		width: 100%;
	}

	.Feature_box .box_center {
		width: 100%;
	}

}

/*---テーブル（お客さまの声）---*/
.table_voice {
	width: 100%;
	background-color: #fff;
	border-collapse: separate;
	border: none;
	font-size: 16px;
	line-height: 1.6em;
}

.table_voice th,
.table_voice td {
	border: none;
	padding: 5px 0;
	vertical-align: top;
}

.table_voice th {
	vertical-align: top;
	padding-right: 5px;
	color: #8c000f;
	font-weight: bold;
	font-size: 20px;
}


/*--- お客様の声のリンクバナー ---*/
.voice_btnbox {}

.voice_btnbox img {
	display: block;
	width: 90%;
	max-width: 640px;
	height: auto;
	margin: 0 auto;
}

.voice_btnbox p {
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	color: #9bc83a;
}

.voice_btnbox a {
	transition: .3s;
}

.voice_btnbox a:hover {
	opacity: .6;
}


/*-- キャンペーンバナー --*/
.bn_box {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	padding: 90px 0 0;
}

.bn_box a {
	transition: .3s;
}

.bn_box a:hover {
	opacity: .7;
}


/*-- 動画 --*/
.movie02 {
	width: 96%;
	max-width: 960px;
	margin: 0 auto;
}

/*-- お客様の声 --*/
.Voice_wrap {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
}

.bnr_value {
	width: 94%;
	max-width: 800px;
	margin: 0 auto;
}

.bnr_value a {
	transition: .3s;
}

.bnr_value a:hover {
	opacity: .6;
}


@media screen and (max-width:768px) {

	.table_voice {
		margin-top: 20px;
		width: 100%;
		background-color: #fff;
		border-collapse: separate;
		border: none;
		font-size: 12px;
		line-height: 1.6em;
	}

	.table_voice th,
	.table_voice td {
		border: none;
		padding: 5px 0;
		vertical-align: top;
	}

	.table_voice th {
		vertical-align: top;
		padding-right: 5px;
		color: #8c000f;
		font-weight: bold;
		font-size: 14px;
	}

}

/* ▼768px以上の場合に適用
--------------------------------------------------------------------- */
@media only screen and (min-width: 769px) {

	#Sp_Cover {
		display: none;
	}

}

/* ▼768px以下の場合に適用（iPad portrait以下）
---------------------------------------------------------------------- */
@media only screen and (max-width: 768px) {

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}


	.Bg_Green {
		height: 50px;
		background: #a3d6ce;
		padding: 0;
		margin-bottom: 20px;
	}

	#Heading {
		height: 60px;
		background: url(../img/tit_01.png) no-repeat left top;
		background-size: 60px;
		font-size: 18px;
		padding: 4px 0px 0px 70px;
		position: relative;
		top: 8px;
	}

	/*---背景色---*/
	.Cont_wrap {
		font-size: 12px;
		background: #fff;
		padding: 20px 0;
	}

	.Bg_Gray {
		background: #eaeaec;
		padding: 0;
	}

	.Bg_Voice {
		background: #e0f2fc;
		padding: 20px 0;
	}

	.Bg_Voice_Cont {
		background: #fff;
		padding: 10px 10px 20px;
	}

	.Bg_Voice_Cont02 {
		background: #eae9e2;
		padding: 10px 10px 20px;
	}

	.Bg_Labo {
		background-image: url(../img/bg_green.jpg);
		background-repeat: repeat;
		padding: 4px 0 20px;
	}

	.Bg_Labo02 {
		background-image: url(../img/bg_green.jpg);
		background-repeat: repeat;
		padding: 10px 0 20px;
	}

	.Bg_Labo02_Cont {
		width: 100%;
		background: #fff;
		padding: 10px 0 0px;
	}

	/*---区切り線---*/
	.Txt_Line02 {
		height: 1px;
		border-top: 1px solid #ccc;
		width: 100%;
		margin: 20px auto;
	}

	.Txt_Line03 {
		height: 1px;
		border-top: 1px solid #000;
		width: 100%;
		margin: 10px auto;
	}

	/*---下線---*/
	.Txt_Line_bottom_Center {
		font-size: 20px;
		color: #07285e;
		position: relative;
		display: inline-block;
		margin-bottom: 1em;
		line-height: 1.1em;
	}

	.Txt_Line_bottom_Center:before {
		content: '';
		position: absolute;
		left: 50%;
		bottom: -5px;
		/*線の上下位置*/
		display: inline-block;
		width: 200px;
		height: 1px;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		/*位置調整*/
		background-color: #918c89;
	}

	.Txt_Line_bottom_Center .fz20 {
		font-size: 12px;
		color: #3d3834;
	}

	/*---タイトル（機能）---*/
	.Tit_Feature {
		font-size: 16px;
		color: #07285e;
		text-align: center;
		background: #e0f2fc;
		padding: 6px 0;
	}

	/*---タイトル（お客さまの声）---*/
	.Tit_Voice {
		font-size: 20px;
		color: #07285e;
		padding: 0;
		border-bottom: 3px solid #07285e;
		letter-spacing: 0.2em;
	}

	/*---ボタン（詳しく）---*/
	.button_detail {
		display: inline-block;
		position: relative;
		z-index: 2;
		width: 80px;
		height: 20px;
		text-align: center;
		text-decoration: none;
		background-color: #8d0010;
		color: #fff;
		line-height: 20px;
		overflow: hidden;
		font-size: 12px;
		border-radius: 14px;
		-webkit-border-radius: 14px;
		-moz-border-radius: 14px;
	}

	.button_detail::before {
		content: "";
		width: 80px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		background: #b20a1e;
		transform-origin: 100% 50%;
		transform: scaleX(0);
		transition: transform ease .5s;
	}

	.button_detail:hover {
		color: #fff;
	}

	.button_detail:hover::before {
		transform-origin: 0% 50%;
		transform: scaleX(1);
	}

	/*---ボタン（READ MORE）---*/
	.button_readmore {
		display: inline-block;
		position: relative;
		z-index: 2;
		width: 100px;
		height: 20px;
		text-align: center;
		text-decoration: none;
		background-color: #8d0010;
		color: #fff;
		line-height: 22px;
		overflow: hidden;
		font-size: 12px;
	}

	.button_readmore::before {
		content: "";
		width: 100px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		background: #b20a1e;
		transform-origin: 100% 50%;
		transform: scaleX(0);
		transition: transform ease .5s;
	}

	.button_readmore:hover {
		color: #fff;
	}

	.button_readmore:hover::before {
		transform-origin: 0% 50%;
		transform: scaleX(1);
	}

	/*---幅設定---*/
	.wdh60per {
		width: 80%;
	}

	.wdh70per {
		width: 90%;
	}

	.wdh90per {
		width: 90%;
	}

	.wdh_lineup {
		width: 98%;
	}

	/*---文字サイズ設定---*/
	.fsz12 {
		font-size: 8px;
	}

	.fsz14 {
		font-size: 12px;
	}

	.fsz18 {
		font-size: 14px;
	}

	.fsz20 {
		font-size: 14px;
	}

	.fsz26 {
		font-size: 16px;
	}

	.fsz30 {
		font-size: 18px;
	}

	/*---画像サイズ---*/
	.Sp_Photo80per {
		width: 80%;
	}

	.Sp_Photo90per {
		width: 90%;
	}

	/*--- お客様の声のリンクバナー ---*/
	.voice_btnbox p {
		font-size: 18px;
	}

}

/* 曲線で区切る */
.arc {
	min-height: 180px;
	min-height: 200px;
	border-top-right-radius: 1400px 240px;
	border-top-left-radius: 1400px 240px;
	border-bottom-right-radius: 1400px 240px;
	border-bottom-left-radius: 1400px 240px;
	margin-left: -120px;
	margin-right: -120px;
	padding: 40px 120px 80px;
}