html {
	font-size: 62.5%;
}
html.parent {
overflow:hidden;
}
:root {
	--color-red: #cc0000;
	--color-blue:#406492;
	--color-aqua:#5ec2d0;
	--color-sky:#29abe2;
	--color-ocean:#0071bc;
	--color-gray: #f3f3f3;
	--color-black: #333333;
	--font-sp-x-large:clamp(1.82rem, 5.2vw, 2.34rem);
	--font-sp-large:clamp(1.68rem, 4.8vw, 2.16rem);
	--font-sp-normal:clamp(1.4rem, 4vw, 1.6rem);
	--font-sp-small:clamp(1.2rem, 3.7vw, 1.4rem);
	--font-sp-x-small:clamp(1.1rem, 3.4vw, 1.3rem);
}
body {
	position: relative;
}
body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label {
	font-family:"游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
body,th,td,li,dt,dd,input,select,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label {
	color: var(--color-black);
}
@media screen and (max-width : 767px){
	body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label,button {
	font-size: var(--font-sp-normal);
	}
	input[type=text],input[type=tel],input[type=email] ,textarea,select {
	font-size: 1.6rem;
	scale(0.8);
	}
	p {
	padding-bottom:1.5em;
	}
}
@media screen and (min-width : 768px){
body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label,button {
	font-size: 1.6rem;
	}
	p {
	padding-bottom:2em;
	}
	*.smaller {
		font-size:1.4rem;
	}
}
.noto,h1,h2,h3,h4,h5,h6,
.wrap-list-2 li {
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing:0.1em;
}
p.noto {
	letter-spacing: 0;
}
a {
	outline: none;
	text-decoration:none;
}
a:hover {
	text-decoration:none;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}
p {
	line-height:200%;
	word-wrap:break-word;
}
p.nobottom {
	padding-bottom:0;
}
hr {
	border: none;
	border-bottom:1px solid #dddddd;
	margin-top:1em;
	margin-bottom:1em;
}
ol li {
	list-style-type:decimal;
	margin-left:16px;
	padding-left:4px;
	line-height:200%;
}
ul.dot li {
	list-style-type:disc;
	margin-left:16px;
	padding-left:4px;
	line-height:200%;
}
img {
	max-width:100%;
	height:auto;
}
:focus {
	outline: none;
}
.red {
	color:var(--color-red);
}
.blue {
	color:var(--color-blue);
}
.ocean {
	color:var(--color-ocean);
}
.bg-gray {
	background-color:var(--color-gray);
}
.bg-pink {
	background-color:#f8eff0;
}
/*-----------------------------------------
master-layout-control
------------------------------------------*/
.container,
.container-full {
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
@media (max-width: 767px) {
	.container {
	padding-right: 4vw;
	padding-left: 4vw;
	}
	.sp-only {display:block !important;}
	.pc-only {display:none !important;}
}
@media (min-width: 768px) and (max-width: 807px) {
	.container {
		padding-left:20px;
		padding-right:20px;
	}
	.sp-only,
	.desktop-only {display:none !important;}
	.pc-only {display:block !important;}
}
@media (min-width: 808px) {
	.container {
		min-width:768px;
		max-width:1240px;
		padding-left:20px;
		padding-right:20px;
	}
	.container-full {
		min-width:1240px;
	}
	.sp-only,
	.desktop-only {display:none !important;}
	.pc-only {display:block !important;}
}
@media (min-width: 960px) {
	.desktop-only {display:block !important;}
}
.flex {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
}
.flex-wrap {
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.flex-middle { /* Safari */
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
}
.flex-center { /* Safari */
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
}
.flex-right {
	-webkit-box-pack:end;
	-ms-flex-pack:end;
	justify-content:flex-end;
}
.flex-between { /* Safari */
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
}
.flex-column { /* Safari */
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
@media (max-width: 767px) {
	.flex-sp {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	}
	.grid-2-pc {
		display:grid;
		grid-row-gap: 8vw;
	}
	.grid-2-img {
		grid-area: 1 / 1 / 2 / 2;
	}
	.grid-2-txt {
		grid-area: 2 / 1 / 3 / 2;
	}
	.kasou-page {
		padding-top:8vw;
	}
}
@media (min-width : 768px){
	.flex-pc {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	}
	.container-middle {
		max-width:960px;
		margin-left:auto;
		margin-right:auto;
	}
	.container-half {
		max-width:640px;
		margin-left:auto;
		margin-right:auto;
	}
	.kasou-page {
		padding-top:80px;
	}
	.grid-2-pc {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		align-items: center;
	}
	.grid-2-pc.grid-2-vtop {
		align-items: flex-start;
	}
	.grid-2-txt {
		padding-right:60px;
	}
	}
	.text-center-pc {
		text-align: center;
	}
}
.picbox img {
	border-radius:8px;
	overflow: hidden;
}
.text-center {
	text-align: center;
}
/*-----------------------------------------
header
------------------------------------------*/
.header {
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 99;
	background:rgba(255,255,255,0);
}
.header.smaller {
	background:rgba(255,255,255,0.5);
	-webkit-box-shadow:0 2px 3px 0 rgba(0,0,0,0.3);
	box-shadow:0 2px 3px 0 rgba(0,0,0,0.3);
	backdrop-filter: blur(20px);
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}
.header-logo {
	opacity: 0;
	height:30px;

}
.header.smaller .header-logo {
	opacity: 1;
}
.header-logo img {
	height:30px;
}
@media (max-width: 767px) {
	.header {
		height:50px;
	}
	.header-logo {
		margin-top:10px;
	}
}
@media (min-width : 768px){
	.header {
		height:70px;
	}
	.pc-nav {
		padding-top:20px;
	}
	.pc-nav .flex {
		column-gap: 10px;
	}
	.pc-nav .btn {
		min-width:140px;
	}
	.sp-nav {
		display:none;
	}

}
/*-----------------------------------------
drawr(SP mode menu)
------------------------------------------*/
body.drawer-body-on {
	position:fixed;
	z-index: 1;
}
.drawr-btn {
    width:50px;
    height: 50px;
    position: fixed;
    top:0px;
    right:0px;
	margin-left:auto;
	margin-right:0;
    cursor: pointer;
    z-index: 9999;
}
@media screen and (max-width : 767px){
	.drawr-btn {
		display:block;
	top: 12px;
	right:-12px;
	}
}
@media screen and (min-width : 768px) {
	.drawr-btn {
	display:none;
	}
}
.drawr-btn span {
	border-bottom: 2px solid var(--color-black);
	width: 20px;
	height:20px;
	position: absolute;
	display:block;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	text-indent:100%;
	white-space:nowrap;
}
.drawr-btn span:before,.drawr-btn span:after {
	content: '';
	display: inline-block;
	border-top: 2px solid var(--color-black);
	width: 20px;
	position: absolute;
	left: 50%;
	margin-left: -10px;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.drawr-btn span:before {top:6px;}
.drawr-btn span:after {top: 12px;}
.drawr-btn-peke span {
	border-bottom: 1px solid #ffffff;
	border-bottom: none;
}
header.smaller .drawr-btn.drawr-btn-peke span {
	border-bottom: none;
}
.drawr-btn-peke span:before,header.smaller .drawr-btn-peke span:before {
	border-top: 2px solid #ffffff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top:12px;
}
.drawr-btn-peke span:after,header.smaller .drawr-btn-peke span:after {
	border-top: 2px solid #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 12px;
}
.drawr-bg {
	background-color:var(--color-ocean);
	position: fixed;
	z-index: 990;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	transform: scale(0);
	right:-50px;
	top:-50px;
	-webkit-transition: all 0.8s;
	transition: all 0.8s;
}
.drawr-bg.drawr-bg-on {
	transform: scale(50);
}
.drawr {
	display:none;
	position: fixed;
	z-index: 999;
	width:70vw;
	top:30px;
	left:15vw;
	text-align: center;
	animation-name:gnaviAnime;
	animation-duration:1s;
	animation-delay:0.2s;
	animation-fill-mode:forwards;
	opacity:0;
}
.drawr-on {
	display:block;
	-webkit-transition: all 0.8s;
	transition: all 0.8s;
}
@keyframes gnaviAnime{
0% { opacity: 0;}
100% { opacity: 1;}
}

.drawr h2 {
	padding-top:6vw;
	color:#ffffff;
	text-align: center;
	font-size:var(--font-sp-large);
}
.drawer-menu {
	margin-top:4vw;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
	border-top:1px solid #ffffff;
}
.drawer-menu li {
	border-bottom:1px solid #ffffff;
}
.drawer-menu li a {
	display:block;
	text-align:center;
	color:#ffffff;
	padding-top:4vw;
	padding-bottom:4vw;
	
}

/*-----------------------------------------
mainvisual
------------------------------------------*/
.mainvisual {
	position: relative;
	z-index: 1;
	background-image:url(../images/mainvisual-top.jpg);
	background-size:cover;
	background-position: center center;
}
.mainvisual-kasou {
	position: relative;
	z-index: 1;
	background-image:url(../images/mainvisual-sub.jpg);
	background-size:cover;
	background-position: center center;
}
.topcopy * {
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.1em;
	text-align: center; 
}
.topcopy-1,
.topcopy-2 span,
.mainvisual-icon p {
	color:var(--color-blue);
	position: relative;
	z-index: 2;
}
.topcopy-2 span {
	display:inline-block;
	padding-bottom:0.2em;
	background-image: linear-gradient(#f8ea43, #f8ea43);
	background-size: 0 30%;
	background-position: 0 100%;
	background-repeat: no-repeat;
}
.topcopy-2 span.putactionon {
	background-size: 100% 30%;
}
.topcopy-3 {
	line-height:160%;
}
.mainvisual-icon div img {
	border-radius: 50%;
	overflow: hidden;
}
@media (max-width: 767px) {
	.mainvisual {
		height:100vh;
		overflow: hidden;
	}
	.mainvisual-kasou,
	.kasou-logo {
		height:80px;
	}
	.topcopy {
		padding-top:70px;
	}
	.topcopy-2 {
		margin-top:6vw;
		margin-bottom:6vw;
	}
	.topcopy-2 span {
		font-size: var(--font-sp-x-large);
	}
	.topcopy h1 {
		width:75vw;
		margin-left:auto;
		margin-right:auto;
	}
	.topcopy-3 {
		font-size: var(--font-sp-large);
		margin-top:8vw;
		margin-bottom:12vw;
	}
	.mainvisual-icon {
		margin-left:auto;
		margin-right:auto;
		column-gap:clamp(10px, 3vw, 20px);
	}
	.mainvisual-icon img {
		width:clamp(40px, 16vw, 80px);
	}
	.mainvisual-icon p {
		font-size:1.1rem;
	}
	.kasou-logo {
		display:flex;
		justify-content:center;
		flex-direction: column;
		max-width:280px;
	}
	.kasou-logo .spenit {
		font-size:1.1rem;
		display:inline-block;
		padding-bottom:1em;
		letter-spacing: 0;
	}
	.kasou-logo img {
		max-width:50vw;
	}
}
@media (min-width : 768px){
	.mainvisual {
		height:800px;
	}
	.mainvisual-kasou,
	.kasou-logo {
		height:250px;
	}
	.topcopy {
		padding-top:90px;
	}
	.topcopy-2 {
		font-size:2.4rem;
		margin-top:27px;
		margin-bottom:27px;
	}
	.topcopy-2 span {
		font-size:2.4rem;
	}
	.topcopy-3 {
		font-size:clamp(2.0rem, 2.5vw, 3.0rem);
		margin-top:52px;
		margin-bottom:62px;
	}
	.mainvisual-icon {
		column-gap:clamp(20px, 3vw, 40px);
	}
	.mainvisual-icon img {
		width:clamp(60px, 10vw, 120px);
	}
	.kasou-logo {
		display:flex;
		justify-content:center;
		flex-direction: column;
		max-width:350px;
	}
	.kasou-logo .spenit {
		font-size:1.2rem;
		display:inline-block;
		padding-bottom:1em;
	}
	.kasou-logo img {
		max-width:260px;
	}
}
@media (max-width: 767px) {
	.top-pic {
		position: absolute;
		z-index: 3;
		top:120vw;
		right:50%;
		margin-right:-17vw;
		width:30vw;
	}
	.scrolldown {
		display:none;
		bottom:15vw;
	}
}
@media (min-width : 768px) and (max-width : 959px) {
	.top-pic {
		position: absolute;
		z-index: 3;
		top:328px;
		right:10px;
	}
	.scrolldown {
		bottom:20px;
	}
}
@media (min-width : 960px){
	.top-pic {
		position: absolute;
		z-index: 3;
		top:328px;
		right:60px;
	}
	.scrolldown {
		bottom:20px;
	}
}
.scrolldown {
	position:absolute;
	left:50%;
	height:50px;
	z-index: 5;
}

.scrolldown span {
	display: block;
	position: absolute;
	top:-2em;
	width:40px;
	left:50%;
	margin-left:-20px;
	color:#333333;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0em;
	font-size:1.4rem;
	text-align: center;
}

.scrolldown:after{
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 30px;
	background: #333333;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:50px;
		opacity: 0;
	}
}
/*-----------------------------------------
btn
------------------------------------------*/
.btn {
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
	text-align: center;
	border-radius:30px;
	font-size:1.4rem;
	font-family: 'Noto Sans JP', sans-serif;
	min-height:30px;
	line-height:120%;
	padding-left:15px;
	padding-right:15px;
}
.btn-center {
	margin-left:auto;
	margin-right:auto;
}
.btn-white,
.btn-aqua:hover {
	color:var(--color-aqua);
	background-color:#ffffff;
}
.btn-aqua,
.btn-white:hover {
	color:#ffffff;
	background-color:var(--color-aqua);
}
@media (max-width: 767px) {
	.btn {
		padding-top:4px;
		padding-bottom:4px;
	}
	.topbtn {
		margin:6vw auto;
		max-width:50vw;
	}
}
@media (min-width : 768px) {
	.topbtn {
		margin:44px auto;
		max-width:200px;
	}
}
/*-----------------------------------------
pageparts
------------------------------------------*/
.page-tt-big span {
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.1em;
	display:inline-block;
	padding-bottom:0.1em;
	margin-bottom:1em;
	background-image: linear-gradient(#f8ea43, #f8ea43);
	background-size: 0 20%;
	background-position: 0 100%;
	background-repeat: no-repeat;
}
.page-tt-big span.putactionon {
	background-size: 100% 20%;
}
.page-tt-border {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-left:auto;
	margin-right:auto;
}
.page-tt-border:before,
.page-tt-border:after {
	content: '';
	height: 1px;
	background-color: #000000;
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}
.page-tt-border:before {
	margin-right:1em;
}
.page-tt-border:after {
	margin-left:1em;
}
.page-tt-center {
	text-align: center;
}
.tt-balloon {
	color:#ffffff;
	background-color:var(--color-ocean);
	padding:0.5em 1em;
	font-size:larger;
	border-radius:20px;
	text-align: center;
	max-width:200px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:2em;
	position: relative;
	z-index: 1;
}
.tt-balloon:after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -10px;
	border: 10px solid transparent;
	border-top: 15px solid var(--color-ocean);
}
.page-testtop-icon,
.page-tt-test {
	text-align: center;
}
.page-testtop-icon img {
	display:block;
	border-radius:50%;
	margin-left:auto;
	margin-right:auto;
}
.test-strong {
	color:var(--color-red);
}
@media (max-width: 767px) {
	.page-tt-big span {
		font-size:clamp(2rem, 6.66vw, 2.5rem);
	}
	.page-tt-border {
		font-size:var(--font-sp-large);
		margin-top:4vw;
		margin-bottom:4vw;
	}
	.page-tt-center {
		font-size:var(--font-sp-large);
		margin-bottom:2em;
	}
	.page-tt-test {
		font-size:var(--font-sp-x-large);
		margin-top:0.75em;
		margin-bottom:1em;
	}
	.test-strong {
		font-size:var(--font-sp-large);
	}
}
@media (min-width : 768px){
	.two-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.page-tt-big span {
		font-size:clamp(4.0rem, 5vw, 6.0rem);
	}
	.page-tt-border {
		font-size:2.4rem;
		max-width:720px;
		margin-top:40px;
		margin-bottom:40px;
	}
	.page-tt-center {
		font-size:3.0rem;
		margin-bottom:1.5em;
	}
	.page-tt-test {
		font-size:clamp(4.0rem, 5vw, 6.0rem);
		margin-top:0.75em;
		margin-bottom:1em;
	}
	.test-strong {
		font-size:clamp(2.0rem, 2.5vw, 3.0rem);
	}
}
/*-----------------------------------------
top-section-1
------------------------------------------*/
.top-section-1-btnbox div {
	text-align: center;
}
.top-section-1-btn {
	display: block;
	overflow: hidden;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:1em;
}
.top-section-1-btn img {
	display: block;
	border-radius:50%;
	margin-left:auto;
	margin-right:auto;
}
@media (max-width: 767px) {
	.top-section-1 {
		padding-top:8vw;
		padding-bottom:8vw;
	}
	.top-section-1-btnbox {
		margin-left:auto;
		margin-right:auto;
		display:grid;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: 4vw;
	}
	.top-section-1-btnbox div {
		max-width:50vw;
		margin:8vw auto;
	}
}
@media (min-width : 768px){
	.top-section-1 {
		padding-top:100px;
		padding-bottom:100px;
	}
	.top-pic-1 {
		padding-left:40px;
	}
	.top-section-1-btnbox {
		width:620px;
		margin-left:auto;
		margin-right:auto;
		display:grid;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: 6vw;
	}
	.top-section-1-btn {
		max-width:120px;
		max-height:120px;
	}
	.top-section-1-btn:hover {
		opacity: 0.6;
	}
}
/*-----------------------------------------
top-section-2
------------------------------------------*/
.top-section-2-btnbox div {
	text-align: center;
}
.top-section-2-btnbox p {
	margin-top:1.5em;
	text-align: left;
	font-weight:500;
}
@media (max-width: 767px) {
	.top-section-2 {
		padding-top:6vw;
		padding-bottom:6vw;
	}
	.top-section-2-btnbox {
		padding-top:6vw;
	}
	.top-section-2-btnbox div {
		max-width:75vw;
		margin-left:auto;
		margin-right:auto;
	}
	.top-section-2-btnbox h3 {
		font-size:var(--font-sp-large);
		margin:1em auto;
	}
	.top-section-2-btnbox img {
		max-width:30vw;
		margin-left:auto;
		margin-right:auto;
	}
}
@media (min-width : 768px){
	.top-section-2 {
		padding-top:60px;
		padding-bottom:60px;
	}
	.top-section-2-btnbox {
		max-width:880px;
		margin-left:auto;
		margin-right:auto;
		display:grid;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: clamp(4.0rem, 6vw, 8.0rem);
		padding-top:30px;
	}
	.top-section-2-btnbox h3 {
		font-size:2.4rem;
		margin:1em auto;
	}
	.top-section-2-btnbox a:hover img {
		opacity: 0.6;
	}
}
/*-----------------------------------------
top-section-3
------------------------------------------*/
.samplepic {
	position: relative;
}
.samplepic img {
	display: block;
	border-radius:8px;
	position: relative;
	z-index: 1;
}
.samplepic h3 {
	position: absolute;
	display: flex;
	align-items:center;
	justify-content:center;
	z-index: 2;
	right:0;
	bottom:0;
	background:rgba(255,255,255,0.7);
	border-radius:8px 0 8px 0;
}
@media (max-width: 767px) {
	.top-section-3 {
		padding-top:6vw;
		padding-bottom:6vw;
	}
	.top-section-3-picbox{
		margin-left:auto;
		margin-right:auto;
		display:grid;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: clamp(1rem, 2vw, 2rem);
		grid-row-gap: clamp(1rem, 2vw, 2rem);
		padding-top:4vw;
	}
	.samplepic h3 {
		min-width:16vw;
		min-height:12vw;
	}
}
@media (min-width : 768px){
	.top-section-3 {
		padding-top:60px;
		padding-bottom:60px;
	}
	.top-section-3-picbox {
		margin-left:auto;
		margin-right:auto;
		display:grid;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: clamp(3.7rem, 3.9vw, 4.7rem);
		grid-row-gap: clamp(3.7rem, 3.9vw, 4.7rem);
		padding-top:40px;
	}
	.samplepic h3 {
		min-width:75px;
		min-height:75px;
	}
}
/*-----------------------------------------
top-section-4
------------------------------------------*/
.top-section-4 {
	position: relative;
	z-index: 1;
	background-color:#f3fafb;
	overflow: hidden;
}
.top-faq-container {
	position: relative;
	z-index: 5;
}
@media (max-width: 767px) {
	.top-faq-left {
		padding-top:6vw;
		text-align: center;
	}
	.top-faq-left h2 {
		font-size:var(--font-sp-large);
		line-height:150%;
		margin-bottom:0.25em;
	}
}
@media (min-width : 768px) and (max-width: 959px){
	.top-faq-left {
		padding-top:6vw;
		padding-bottom:6vw;
		text-align: center;
	}
	.top-faq-left h2 {
		font-size:var(--font-sp-large);
		line-height:150%;
		margin-bottom:0.25em;
	}
	.top-faq-left .btn {
		max-width:200px;
		margin-left:auto;
		margin-right:auto;
	}
}
@media (min-width : 960px) {
	.top-section-4:before {
		content:"";
		position: absolute;
		z-index: 2;
		background-color:#e0f3f6;
		transform: rotate(20deg);
		width:50vw;
		height:75vw;
		top:-25vw;
		left:-10vw;
	}
	.top-faq-container {
		min-height:320px;
		display: flex;
		justify-content:space-between;
	}
	.top-faq-left {
		padding-top:90px;
	}
	.top-faq-left h2 {
		font-size:3.0rem;
		line-height:150%;
		margin-bottom:0.25em;
	}
	.top-faq-left .btn {
		max-width:200px;
	}
	.top-faq-right {
		padding-top:70px;
	}
}
/*-----------------------------------------
faq
------------------------------------------*/
.section-faq {
	background-color:#f3fafb;
}
.faq-container .answer {
	display:none;
}
.question {
	position: relative;
	border-radius:8px;
	background-color:#ffffff;
	color:var(--color-aqua);
	line-height:150%;
	overflow: hidden;
	cursor: pointer;
}
.question:before {
	content:"Q";
	position: absolute;
	color:#ffffff;
	background-color:var(--color-aqua);
	top:0;
	left:0;
	text-align: center;
	display: flex;
	align-items:center;
	justify-content:center;
}
.answer {
	position: relative;
	border-radius:8px;
	background-color:#fbeef4;
	color:#cb3b7b;
	line-height:150%;
	padding-top:0.75em;
	padding-bottom:0.75em;
	padding-right:1em;
	margin-bottom:1em;
	overflow: hidden;
}
.answer:before {
	content:"A";
	position: absolute;
	color:#cb3b7b;
	display: flex;
	justify-content:center;
}
@media (max-width: 767px) {
	.section-faq {
		padding-top:6vw;
		padding-bottom:6vw;
	}
	.top-faq-left .btn {
		max-width:50vw;
		margin-left:auto;
		margin-right:auto;
	}
	.top-faq-right {
		padding-top:8vw;
	}
	.question {
		width:100%;
		margin-bottom:4vw;
		padding-left:10vw;
		padding-top:1vw;
		padding-bottom:1vw;
		padding-right:1vw;
	}
	.answer {
		padding-left:10vw;
		padding-top:1vw;
		padding-bottom:1vw;
		padding-right:1vw;
	}
	.question:before,
	.answer:before {
		width:7vw;
		height:100%;
		font-size:4vw;
	}
	.answer:before {
		top:1vw;
		left:1vw;
		width:7vw;
	}
}
@media (min-width : 768px){
	.section-faq {
		padding-top:40px;
		padding-bottom:40px;
	}
	.question {
		width:100%;
		margin-bottom:16px;
		padding-left:66px;
		padding-top:0.75em;
		padding-bottom:0.75em;
		padding-right:1em;
	}
	.top-faq-right,
	.top-faq-right .faq-container {
		width:100%;
		max-width:600px;
	}
	.answer {

		margin-left:45px;
		padding-left:64px;
	}
	.question:before,
	.answer:before {
		width:45px;
		height:100%;
		font-size:2.4rem;
	}
	.answer:before {
		top:10px;
		left:10px;
		width:24px;
	}
}
/*-----------------------------------------
top-section-5
------------------------------------------*/
.top-section-5 h3 {
	line-height:150%;
}
.product-container {
	display: grid;
}
.product-txt h5 {
	padding:0.75em;
	background-color:var(--color-gray);
	margin:1em auto;
}
.wrap-list-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	padding-left:0.5em;
	margin:1em auto;
}
.howto-container h4 {
	color:#ffffff;
	text-align: center;
	margin-left:auto;
	margin-right:auto;
	font-size:larger;
	padding:0.5em 1em;
	max-width:200px;
}
.howto-use h4 {
	background-color:var(--color-ocean);
}
.howto-caution h4 {
	background-color:var(--color-red);
}
.howto-caution li {
	color:var(--color-red);
}
.product-pic1 img,
.product-pic2 img {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
@media (max-width: 767px) {
	.top-section-5 {
		padding-top:6vw;
		padding-bottom:6vw;
	}
	.top-section-5 h3 {
		margin-bottom:4vw;
	}
	.product-container {
		display: grid;
		grid-template-columns: 2fr 3fr;
		align-items: center;
		grid-column-gap: 4vw;
		grid-row-gap: 4vw;
	}
	.product-pic1 { grid-area: 1 / 1 / 2 / 2; }
	.product-pic2 { grid-area: 1 / 2 / 2 / 3; }
	.product-txt { grid-area: 2 / 1 / 3 / 3; }
	.product-txt {
		padding-top:6vw;
	}
	.howto-container h4 {
		margin-top:6vw;
		margin-bottom:6vw;
	}
}
@media (min-width : 768px){
	.top-section-5 {
		padding-top:60px;
		padding-bottom:60px;
	}
	.top-section-5 h3 {
		font-size:2.0rem;
		margin-bottom:16px;
	}
	.product-container {
		grid-template-columns: 1fr 2fr 3fr;
		margin-top:40px;
		margin-bottom:40px;
	}
	.howto-container {
		display:grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.howto-use {
		padding-right:40px;
		border-right:1px solid #333333;
	}
	.howto-caution {
		padding-left:40px;
	}
	.howto-container h4 {
		margin-bottom:30px;
	}
	.howto-container li {
		font-weight:500;
	}
}
/*-----------------------------------------
sanka-titan
------------------------------------------*/
.text-nedo p:last-child {
	padding-bottom:0;
}
@media (max-width: 767px) {
	.sanka-titan-2 {
		padding-top:8vw;
		padding-bottom:8vw;
	}
	.tt-nedo h2 {
		font-size:var(--font-sp-x-large);
		text-align:center;
	}
	.tt-nedo p {
		padding-top:1em;
		font-size:var(--font-sp-x-small);
	}
	.tt-nedo .btn {
		max-width: 50vw;
		margin-left:auto;
		margin-right:auto;
		margin-bottom:6vw;
	}
}
@media (min-width : 768px){
	.sanka-titan-2 {
		padding-top:50px;
		padding-bottom:50px;
	}
	.grid-nedo {
		display: grid;
		grid-template-columns: 1fr 2fr;
		align-items: center;
	}
	.tt-nedo {
		padding-right:50px;
	}
	.tt-nedo h2 {
		font-size:clamp(3.0rem, 3.3vw, 4.0rem);
		letter-spacing: 0;
	}
	.tt-nedo p {
		letter-spacing: 0;
	}
	.tt-nedo .btn {
		max-width: 200px;
	}
}
/*-----------------------------------------
apatite
------------------------------------------*/
.tt-point {
	position:relative;
	color:var(--color-blue);
	padding-left:56px;
	line-height:150%;
	margin-bottom:0.75em;
}
.tt-point:before {
	content:"POINT";
	position: absolute;
	left:0;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0;
	line-height: 0;
	text-align: center;
	font-size:1.1rem;
	color:#ffffff;
	background-color:var(--color-blue);
	border-radius:3px;
	width:50px;
	height:22px;
	line-height:22px;
}
.tt-point:after {
	content: "";
	position: absolute;

	left: 20px;
	border: 6px solid transparent;
	border-top: 10px solid var(--color-blue);
}
@media (max-width: 767px) {
	.tt-point:after {
	top: 22px;
	}
}
@media (min-width : 768px){
	.tt-point {
		font-size:3.0rem;
	}
	.tt-point:before {
		top:1.2rem;
	}
	.tt-point:after {
	top: 32px;
	}
}
/*-----------------------------------------
test
------------------------------------------*/
.data-table {
	width:100%;
	border-top:1px solid #333333;
	border-left:1px solid #333333;
}
.data-table th,
.data-table td {
	text-align: center;
	vertical-align: middle;
	border-right:1px solid #333333;
	border-bottom:1px solid #333333;
}
.data-table thead tr {
	background-color:var(--color-blue);
}
.data-table thead tr th {
	color:#ffffff;
}

.grid-stink div {
	text-align: center;
}
.grid-stink h2 span {
	display:inline-block;
	border-bottom:1px solid #333333;
	padding-bottom:0.5em;
	margin-bottom:0.25em;
}
.grid-stink p {
	font-size:smaller;
}
@media (max-width: 767px) {
	.data-table {
		margin-bottom:4vw;
	}
	.data-table th,
	.data-table td {
		padding:0.5em 0.4em;
	}
	.grid-astm {
		padding-top:6vw;
		padding-bottom:6vw;
	}
	.tt-astm {
		font-size:var(--font-sp-large);
		padding-bottom:6vw;
	}
	.grid-astm p {
		padding-bottom:0;
	}
	.grid-bacteria h3 {
		padding-top:4vw;
		padding-bottom:3vw;
	}
	.grid-stink h2 {
		padding-top:4vw;
	}
}
@media (min-width : 768px){
	.data-table {
		margin-bottom:40px;
	}
	.data-table th,
	.data-table td {
		padding:8px;
	}
	.grid-astm {
		display: grid;
		grid-template-columns: 1fr 2fr;
		align-items: center;
		padding-top:30px;
		padding-bottom:30px;
	}
	.tt-astm {
		font-size:clamp(3.0rem, 3.3vw, 4.0rem);
	}
	.grid-astm p {
		padding-bottom:0;
	}
	.grid-bacteria {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: 31px;
		align-items: center;
		padding-top:30px;
	}
	.grid-bacteria h3 {
		min-height:64px;
		margin-bottom:0.5em;
	}
	.grid-stink {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 40px;
		grid-row-gap: 40px;
	}
	.grid-stink h2 span {
		font-size:clamp(1.8rem, 2vw, 2.4rem);
	}
}
/*-----------------------------------------
footer
------------------------------------------*/
footer {
	color:#ffffff;
	background-color:var(--color-blue);
}
footer h2,footer h3 {
	color:#ffffff;
}
.footer-address {
	color:#ffffff;
	line-height:160%;
}
@media (max-width: 767px) {
	.footer-contact {
		padding-top:6vw;
		padding-bottom:30w;
		text-align: center;
	}
	.footer-contact .btn {
		max-width:50vw;
		margin:4vw auto;
	}
	.footer-address {
		text-align: center;
		padding-bottom:8vw;
	}
}
@media (min-width : 768px){
	.footer-box {
		display: flex;
		justify-content:space-between;
		align-items:center;
	}
	.footer-contact {
		padding-top:30px;
		padding-bottom:30px;
	}
	.footer-contact h2 {
		font-size:clamp(2.0rem, 2.5vw, 3.0rem);
		margin-bottom:1em;
	}
	.footer-contact .btn {
		max-width:200px;
	}
	.footer-address {
		text-align: right;
	}
}
/*-----------------------------------------
animation
------------------------------------------*/
.fadeup {
	opacity: 0;
	-webkit-transition: 0.8s;
	transition: 0.8s;
	-webkit-transform: translate3d(0,10px,0);
	transform: translate3d(0,10px,0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.fadeupon {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}
.fadein,.fadeincross{
	opacity: 0;
	-webkit-transition: 0.8s;
	transition: 0.8s;
}
.putaction {
	-webkit-transition: 0.8s;
	transition: 0.8s;
}
.fadeinon,.fadeincrosson {
	opacity: 1;
}
.delay1 {
	-webkit-transition-delay:0.2s;
	transition-delay:0.2s;
}
.delay2 {
	-webkit-transition-delay:0.4s;
	transition-delay:0.4s;
}
.delay3 {
	-webkit-transition-delay:0.6s;
	transition-delay:0.6s;
}
.delay4 {
	-webkit-transition-delay:0.8s;
	transition-delay:0.8s;
}
.delay5 {
	-webkit-transition-delay:1.0s;
	transition-delay:1.0s;
}
.delay6 {
	-webkit-transition-delay:1.2s;
	transition-delay:1.2s;
}