@charset "UTF-8";

#main-column{
	padding: 0;
}
.special {
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.8;
}
.special img {
	vertical-align: bottom;
	max-width: revert;
	backface-visibility: hidden;
}
.special sup {
	font-size: 10px;
}

.special .cpnhat{
	background: #fffd50;
	padding: 0 0 30px;
}
.special .cpnhat h2{
	margin: 0 0 10px;
	position: relative;
	font-size: 23px;
}
.special .cpnhat h2 figure{
	position: absolute;
	top: -30px;
	left: -600px;
	right: 0;
	width: 160px;
	margin: auto;
	text-align: center;
}
.special .cpnhat h2 figure + figure{
	top: -30px;
	left: 0;
	right: -600px;
}
.special .cpnhat ul{
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	margin: 0 25px;
}
.special .cpnhat ul li{
	width: 48%;
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
.special .cpnhat ul li p{
	width: 230px;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	justify-content: space-between;
	text-align: left;
	font-size: 25px;
	font-weight: bold;
	padding: 0 0 20px;
}
.special .cpnhat ul li a{
	display: block;
	width: 100%;
	background: #0c3e8a;
	color: #fff;
	padding: 20px 0 22px;
	margin-top: 10px;
	position: relative;
	line-height: 1;
	box-shadow: 0 4px 0 0 rgba(0,0,0,.3);
}
.special .cpnhat ul li a span{
	position: relative;
}
.special .cpnhat ul li a span:after {
	content: "";
	position: absolute;
	top: 2px;
	right: -20px;
	bottom: 0;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotateZ(45deg);
}
.special .cpnhat ul li:last-child{
	width: 100%;
	justify-content: center;
	background: #fff;
	border-radius: 10px;
	padding: 30px 0;
	margin-top: 30px;
	gap: 0 20px;
}
.special .cpnhat ul li:last-child p{
	width: 100%;
	text-align: center;
	align-items: center;
}
.special .cpnhat ul li:last-child p strong{
	display: block;
	font-weight: bold;
}
.special .cpnhat ul li:last-child p span{
	position: relative;
	color: #0c3e8a;
	font-weight: 400;
	font-size: 18px;
}
.special .cpnhat ul li:last-child p span:before {
	content: "";
	position: absolute;
	top: 2px;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	margin: auto;
	width: 300px;
	height: 1px;
	background: #0c3e8a;
}
.special .cpnhat ul li:last-child p span small{
	background: #fff;
	padding: 0 20px;
	font-size: 18px;
	z-index: 1;
	position: relative;
}
.special .cpnhat ul li:last-child a{
	width: 440px;
	margin-top: 20px;
}

.special .cpnhat small{
	fomt-size: 14px;
}
.special .cpnhat small a{
	text-decoration: underline;
}

.special .main{

}
.special .main ul{
	display: inline-block;
	text-align: left;
	font-size: 12px;
}

.special .navibtn{
	display: flex;
	justify-content: center;
}
.special .navibtn li{
	position: relative;
	padding: 0 20px;
	font-weight: 500;
}
.special .navibtn li:not(:last-child):before{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	margin: auto;
	width: 1px;
	height: 100%;
	border-left: 1px solid #000;
}
.special .navibtn li a:after{
	content: "";
	position: absolute;
	bottom: -15px;
	left: 0;
	right: 0;
	margin: auto;
	width: 10px;
	height: 10px;
	border-bottom: 2px solid #0c3e8a;
	border-right: 2px solid #0c3e8a;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.special .ox{
	position: relative;
	margin: 100px 0;
}
.special .ox h2{

}
.special .ox p{
	line-height: 2;
}
.special .ox h3{
	margin: 0 0 50px;
}

.special .why{
	margin: 0 0 100px;
}

.special h2.multi{

}
.special .why h3{
	margin: 0 0 50px;
}
.special .why p {
	text-align: left;
	margin: 0 0 50px;
}
.special .why p span{
	background: linear-gradient(transparent 30%, #fffd50 30%);
}
.special .why .water{

}

.special .choose{

}
.special .choose h3{
	margin: 0 0 50px;
}

.special .feature {
	margin: 0 0 120px;
}

.special .voice{

}
.special .voice .inner > small{
	text-align: right;
	display: block;
	margin: 0 0 10px;
}
.special .voice ul{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	text-align: left;
	padding: 40px 40px 70px;
	margin: 0 0 120px;
	position: relative;

/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#cef0fe+0,dbf7f0+100 */
background: rgb(206,240,254); /* Old browsers */
background: -moz-linear-gradient(-45deg, rgba(206,240,254,1) 0%, rgba(219,247,240,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg, rgba(206,240,254,1) 0%,rgba(219,247,240,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg, rgba(206,240,254,1) 0%,rgba(219,247,240,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cef0fe', endColorstr='#dbf7f0',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */

}
.special .voice ul li:not(:last-child){
	width: 48%;
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	align-items: flex-start;
	border: 1px solid  #0c3e8a;
	box-sizing: border-box;
	padding: 20px;
	margin: 0 0 30px;
	background: #fff;
}
.special .voice ul li p{
	width: 225px;
	font-size: 14px;
}
.special .voice ul li p span{
	display: block;
	color: #0c3e8a;
	margin: 0 0 10px;
	font-size: 16px;
}
.special .voice ul li p span small{
	display: block;
	font-size: 13px;
}
.special .voice ul li:last-child{
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	text-align: center;
}
.special .voice h3 img{
	width: 180px;
}
.special .voice dl{
	margin: 60px 40px 150px;
	text-align: left;
}
.special .voice dl dt{
	position: relative;
	border-bottom: 1px solid #03a1d2;
	padding: 0 0 20px 50px;
	margin: 0 0 20px;
}
.special .voice dl dt:after{
	content: "";
	background: url(../img/ico_q.png) no-repeat top center / cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 32px;
}
.special .voice dl dd{
	position: relative;
	padding: 0 0 0 50px;
	margin: 0 0 80px;
	color: #0c3e8a;
}
.special .voice dl dd:after{
	content: "";
	background: url(../img/ico_a.png) no-repeat top center / cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 29px;
	height: 26px;
}

.special .bnr_float{
	background: rgba(0,127,188,.3);
	padding: 10px 0;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 99;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	width: 100%;
}
.special .bnr_float.fixed {
	opacity: 1;
	visibility: visible;
}

.fadein {opacity : 0; transition: .8s;}
.fade_left {transform : translate(-80px, 0);}
.fade_right {transform : translate(80px, 0);}
.fade_up {transform : translate(0, 80px);}
.fade_scale {
	transform: scale(0.5,0.5) translate(0, 200px);
}
.fadein.action {opacity : 1; transform : translate(0, 0);}

/* 2つ目の要素に400msのdelayをかける */
.fadein.delay1 {
    -moz-transition-delay:300ms;
    -webkit-transition-delay:300ms;
    -o-transition-delay:300ms;
    -ms-transition-delay:300ms;
}
.fadein.delay2 {
    -moz-transition-delay:600ms;
    -webkit-transition-delay:600ms;
    -o-transition-delay:600ms;
    -ms-transition-delay:600ms;
}
.fadein.delay3 {
    -moz-transition-delay:900ms;
    -webkit-transition-delay:900ms;
    -o-transition-delay:900ms;
    -ms-transition-delay:900ms;
}
.fadein.delay4 {
    -moz-transition-delay:1200ms;
    -webkit-transition-delay:1200ms;
    -o-transition-delay:1200ms;
    -ms-transition-delay:1200ms;
}
.fadein.delay5 {
    -moz-transition-delay:1500ms;
    -webkit-transition-delay:1500ms;
    -o-transition-delay:1500ms;
    -ms-transition-delay:1500ms;
}

@media screen and (min-width: 769px) {

	html {
		font-size: calc( 10vw / 750 * 100 );
	}

	body {
		min-width: 1024px;
	}
	.sp{
		display: none;
	}
	.inner{
		width: 1000px;
		margin: auto;
		
	}

	.special .main ul li{
		text-indent: -32px;
		margin: 0 0 0 32px;
	}

	.special {
		position: relative;
		margin-bottom: 100px;
	}
	.special .offer{
		margin: 0 auto 30px;
	}
	.special .offer h2{
		padding: 0 0 0 90px !important;
	}
	.special .offer ul li{
		width: 440px;
		margin: 0 10px;
	}
	.special .bnr{
		text-align: center;
		margin: 0 0 100px;
	}
	.special a{
		transition: .3s;
	}
	.special a:hover{
		opacity: .8;
	}
	.special .main{
		position: relative;
		background: url(../img/bg_main.png) no-repeat top center!important;
		height: 550px!important;
		padding: 120px 0 0!important;
		overflow: hidden;
	}
	.special .main h1 {
		position: absolute;
	    top: 120px;
	    left: 50%;
	    transform: translateX(-50%);
	}
	.special .main h1 img{
		position: relative;
		left: 100px;
	}

	.special .ox {
		overflow: hidden;
		margin: 50px 0 20px;
	}
	.special .ox .fadein{
		background: url(../img/bg_oxygenizer.png) no-repeat top center;
		height: 515px;
		margin: 0 0 60px;
	}
	.special .ox h2{
		position: relative;
		padding: 60px 90px 30px 0 !important;
	}
	.special .ox h2 + img{
		position: absolute;
		top: -10px;
		left: -850px;
		right: 0;
		width: 291px;
		height: 591px;
		margin: auto;
	}
	.special .ox p{
		width: 340px;
		margin: 0 auto 140px;
		padding: 0 200px 0 0;
		text-align: left;
	}
	.special .ox h3{
		position: relative;
	}
	.special .ox h3:before{
		content: "";
		position: absolute;
		bottom: 25px;
		left: 50%;
		right: 0;
		width: 1151px;
		height: 26px;
		background: url(../img/bg_investigation.png) no-repeat center;
		transform: translateX(-50%);
		z-index: -1;
	}
	.special .ox figure{
		padding: 0 0 70px;
		margin: 100px 0 0;
		background: url(../img/bg.png) no-repeat bottom center;
	}
	.special .ox picture + h3{
		margin: 100px 0 50px;
	}
	.special h2.multi{
		background: url(../img/bg_multi.png) no-repeat top center;
		height: 299px;
		padding: 0 0 40px !important;
		margin: 0 0 60px;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
	}

	.special .why{

	}
	.special .why p {
		width: 750px;
		margin: 0 auto 50px;
	}
	.special .why .water{
		display: flex;
		align-items: flex-start;
		justify-content: center;
		margin: auto;
		width: 850px;

	}
	.special .why .water p{
		width: 460px;
		margin: 0;
	}
	.special .why .water img{
		margin: 20px 0 0 40px;
	}
	.special .why picture + h3{
		margin: 80px 0 50px;
	}

	.special .feature{
		overflow: hidden;
		margin: 50px 0 40px;
	}
	.special .feature ul{
		position: relative;
	}
	.special .feature ul:before{
		content: "";
		background: url(../img/bg_feature1.png) no-repeat top center;
		position: absolute;
		top: -40px;
		right: -230px;
		width: 232px;
		height: 586px;
	}
	.special .feature ul:after{
		content: "";
		background: url(../img/bg_feature2.png) no-repeat top center;
		position: absolute;
		bottom: 150px;
		left: -230px;
		width: 189px;
		height: 589px;
	}
	.special .feature ul li{
		position: relative;
		padding: 0 20px 0 480px;
		text-align: left;
		height: 300px;
		display: flex;
		align-items: flex-start;
		justify-content: center;
		flex-flow: column;
		margin: 0 0 40px;
		z-index: 1;
	}
	.special .feature ul li:nth-child(2n){
		padding: 0 480px 0 20px;
	}
	.special .feature ul li figure{
		position: absolute;
		top: 0;
		left: -480px;
	}
	.special .feature ul li:nth-child(2n) figure{
		left: auto;
		right: -480px;
	}
	.special .feature ul li p{
		margin: 10px 0 0;
	}

	.special .choose{
		background: url(../img/bg_about.jpg) no-repeat bottom center;
		padding: 0 0 40px;
	}
	.special .choose p{
		width: 750px;
		margin: 0 auto 50px;
		text-align: left;
	}
	.special .choose img + p{
		margin: 80px auto 40px;
	}

	.special .point{
		background: url(../img/bg_point.jpg) no-repeat top center;
		padding: 0 0 130px;

	}
	.special .point h2{
		padding: 55px 0 0 !important;
	}

	.special .voice{

	}
	.special .voice h2{
		margin: 0 0 20px;
	}

	.special .voice ul li:nth-child(3){
		margin: 0;
	}
	.special .voice ul li:nth-child(4){
		margin: 0;

	}
	.special .voice ul li:last-child{

	}

	.special .offer ul{
		display: flex;
		justify-content: center;
		align-items: flex-end;
		margin: 20px 0 10px;
		text-align: left;
	}
	.special .offer .single{
		justify-content: center;
		margin: 20px 0 10px;
	}
	.special .offer .single li{
		position: relative;
	}
	.special .offer .single li a{
		position: absolute;
		right: -10px;
		bottom: 17px;
	}

}

@media screen and (max-width: 768px) {

	html {
		font-size: calc( 10vw / 1920 * 100 );
	}
	body {
		font-size: 16px;
	}
	.pc{
		display: none;
	}

	.inner{
		margin: 0 16px;
	}

	.special {
		position: relative;
		overflow: hidden;
		padding: 0 0 100px;
		line-height: 1.6;
	}
	.special img{
		width: 100%;
	}
	
	.special .main h1{
		padding: 0 0 10px!important;
	}
	.special .main ul{
		margin: 0 16px;
		font-size: 10px;
	}
	.special .main ul li{
		text-indent: -25px;
		margin: 0 0 0 25px;
	}

	.special .navibtn{
		flex-flow: wrap;
		margin: 0;
	}
	.special .navibtn li{
		width: 50%;
		box-sizing: border-box;
		padding: 0;
		font-size: calc( 28vw / 750 * 100 );
		font-weight: bold;
		line-height: 1.4;
	}
	.special .navibtn li:not(:last-child):before {
		bottom: 0;
		height: 60%;
	}
	.special .navibtn li:nth-child(2):before{
		content: none;
	}
	.special .navibtn li:nth-child(2),
	.special .navibtn li:nth-child(1){
		margin: 0 0 10px;
	}
	.special .navibtn li:nth-child(1):after, 
	.special .navibtn li:nth-child(2):after {
		content: "";
		position: absolute;
		bottom: -5px;
		right: 0;
		left: 0;
		margin: auto;
		width: 80%;
		height: 1px;
		border-top: 1px solid #000;
	}
	.special .navibtn li a{
		display: block;
		padding: 0 0 15%;
	}
	.special .navibtn li a:after {
		bottom: 16%;
	}
	.special .navibtn li:last-child a{
		padding: 6% 0 15%;
	}

	.special .ox{
		margin: 0 0 12%;
	}
	.special .ox h2{
		padding: 0!important;
		margin: 0 0 50px;
	}
	.special .ox h3{
		margin: 0 -16px 20px;
	}
	.special .ox figure{
		margin: 60px 0 0;
	}

	.special .why{
		margin: 0 0 40%;
	}
	.special .why h2{
		padding: 0 0 20px!important;
	}
	.special .why p{
		font-size: calc( 28vw / 750 * 100 );
	}
	.special .why h3{
		margin: 0 0 20px;
	}
	.special .why .water{
		text-align: center;
	}
	.special .why .water img{
		width: 60%;
	}
	.special .why picture + h3{
		margin: 50px 0 20px;
	}

	.special .offer{
		margin: 0 0 20px!important;
		padding: 0 16px 20px;
	}
	.special .offer h2{
		padding: 0!important;
		margin: 0 5% 8%;
	}
	.special .offer h2 img{
		margin: -25% 0 0;
	}
	.special .offer ul{

	}
	.special .offer ul li:not(:last-child){
		margin: 0 0 10%;
	}
	.special .offer ul li:not(:last-child) > picture img{
		width: 76%;
	}
	.special .offer ul li a{
		width: 70%;
		margin: 10px auto 0;
		display: block;
	}
	.special .offer ul + small{
		display: block;
		margin: 20px 0 0;
		text-align: left;
		font-size: calc( 22vw / 750 * 100 );
	}
	.special .bnr{
		text-align: center;
		margin: 0 0 12%!important;
	}

	.special .cpnhat h2{
		margin: 0 calc( 30vw / 750 * 100 );
		font-size: calc( 32vw / 750 * 100 );
		padding: calc( 60vw / 750 * 100 ) 0 0!important;
	}
	.special .cpnhat h2 figure{
		width: 20%;
		top: -10vw;
		left: -2vw;
		right: auto;
	}
	.special .cpnhat h2 figure + figure{
		top: -10vw;
		right: -2vw;
		left: auto;
		width: 26%;
	}
	.special .cpnhat ul{
		margin: calc( 30vw / 750 * 100 );
	}
	.special .cpnhat ul li p{
		font-size: calc( 30vw / 750 * 100 );
		padding: calc( 10vw / 750 * 100 ) 0 0;
	}
	.special .cpnhat ul li p span{
		margin-top: calc( 20vw / 750 * 100 );
		font-size: calc( 32vw / 750 * 100 );
	}
	.special .cpnhat ul li p span small{
		font-size: calc( 24vw / 750 * 100 );
	}
	.special .cpnhat ul li a{
		padding: calc( 25vw / 750 * 100 ) 0 calc( 30vw / 750 * 100 );
		font-size: calc( 28vw / 750 * 100 );
	}
	.special .cpnhat ul li:last-child{
		padding: calc( 30vw / 750 * 100 ) calc( 30vw / 750 * 100 );
		margin-top: 30px;
		gap: 0 20px;
		box-sizing: border-box;
	}
	.special .cpnhat ul li:last-child p{
		padding: 0 0 calc( 40vw / 750 * 100 );
	}
	.special .cpnhat ul li:last-child p span{
		margin: 0;
	}
	.special .cpnhat ul li:last-child p span::before{
		width: 160%;
	}
	.special .cpnhat ul li:last-child p span small{
		font-size: calc( 24vw / 750 * 100 );
		padding: 0 calc(20vw / 750 * 100);
	}

	.special .feature{
		overflow: hidden;
		margin: calc( 50vw / 750 * 100 ) 0 calc( 30vw / 750 * 100 );
	}
	.special .feature h2{
		padding: 0!important;
		margin: 0 0 30px;
	}
	.special .feature ul li{
		position: relative;
	}
	.special .feature ul li > *{
		position: relative;
	}
	.special .feature ul li:before{
		content: "";
		background: url(../img/bg_feature1.png) no-repeat top center / 100%;
		position: absolute;
		top: 0;
		right: 0;
		width: 28%;
		height: 85%;
		margin: 40% 0 0;
	}
	.special .feature ul li:nth-child(2n):before{
		content: "";
		background: url(../img/bg_feature2.png) no-repeat top center / 100%;
		left: 0;
		right: auto;
		margin: 60% 0 0;
	}
	.special .feature ul li:nth-child(3):before{
		margin: 60% 0 0;
	}
	.special .feature ul li:nth-child(4):before{
		margin: 70% 0 0;
		height: 75%;
	}
	.special .feature ul li:nth-child(5):before{
		content: none;
	}
	.special .feature ul li{
		position: relative;
	}
	.special .feature ul li > *{
		position: relative;
	}
	.special .feature ul li:nth-child(3):before{
		margin: 60% 0 0;
	}
	.special .feature ul li:nth-child(4):before{
		margin: 70% 0 0;
		height: 75%;
	}
	.special .feature ul li:nth-child(5):before{
		content: none;
	}

	.special .feature ul li{
		text-align: left;
		margin: 0 0 40px;
	}
	.special .feature ul li > img{
		width: auto;
		height: 32px;
	}
	.special .feature ul li figure{
		position: relative;
		left: -16px;
		margin: 0 0 20px;
	}
	.special .feature ul li:nth-child(2n) figure{
		position: relative;
		left: auto;
		right: -16px;
	}
	.special .feature ul li figure img{

	}
	.special .feature ul li p{
		margin: 10px 0 0;
		font-size: calc( 28vw / 750 * 100 );
	}

	.special .choose{
		margin: 0 0 5%;
		padding: 0 0 12%;
		background: url(../img/bg_about_sp.jpg) no-repeat bottom center / 100%;
	}
	.special .choose h2{
		padding: 0!important;
		margin: 0 0 30px;
	}
	.special .choose h3{
		margin: 0 0 20px;
	}
	.special .choose p{
		text-align: left;
		margin: 40px 16px 20px;
		font-size: calc( 28vw / 750 * 100 );
	}
	.special .choose h3 + p{
		margin: 0 16px 30px;
		
	}
	.special .choose p + img{
		width: 94%;
	}

	.special .point{
		margin: 0 0 35%;
	}

	.special .voice {

	}
	.special .voice h2{
		padding: 0!important;
		margin: 0 0 10px;
	}
	.special .voice .inner > small{
		font-size: calc( 22vw / 750 * 100 );
		text-align: center;
		margin: 0 0 20px;
	}
	.special .voice .inner{
		margin: 0;
	}
	.special .voice ul{
		padding: 16px;
		margin: 0 0 35%;
		display: block;
	}
	.special .voice ul li:not(:last-child){
		width: auto;
		display: block;
		position: relative;
	}
	.special .voice ul li img{
		width: 34%;
	}
	.special .voice ul li p{
		width: auto;
		margin: 20px 0 0;
		font-size: calc( 28vw / 750 * 100 );
	}
	.special .voice ul li p span{
		position: absolute;
		top: 0;
		left: 40%;
		line-height: 1.4;
		margin: 9% 0 0;
		font-size: calc( 28vw / 750 * 100 );
	}
	.special .voice ul li p span small{
		margin: 10px 0 0;
		font-size: calc( 24vw / 750 * 100 );
	}
	.special .voice ul li:last-child img{
		width: 70%;
	}


	.special .voice h3{
		margin: 0 0 30px;
	}
	.special .voice h3 img{
		width: 180px;
	}
	.special .voice dl{
		margin: 0 16px 40%;
	}
	.special .voice dl dt{
		font-size: calc( 28vw / 750 * 100 );
		padding: 0 0 20px 40px;
	}
	.special .voice dl dd{
		font-size: calc( 28vw / 750 * 100 );
		padding: 0 0 0 40px;
		margin: 0 0 50px;
	}


	.special .bnr_float{
		padding: 0;
		background: none;
	}
	.special .bnr_float img{
		
	}

	#page-top a{
		margin: -16% 0 0;
	}

}