@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;600&family=Noto+Sans+JP:wght@400;600&display=swap');

/*
font-family: 'Hanken Grotesk', sans-serif;
font-family: 'Noto Sans JP', sans-serif;

*/
html,
body {
	padding: 0;
	margin: 0;
}
img {
	width: 100%;
	border: none;
}
a {
	text-decoration: none;
	color: #FFF;
}
ul,li {
	list-style: none;
	padding: 0;
	margin: 0;
}
.spview {
	display: none;	
}
@media only screen and (max-width: 768px)  {
	.spview {
		display: block;	
	}	
	.pcview {
		display: none;	
	}		
}
#cl {
	width: 100%;
	min-width: 1000px;
	margin: 0 auto;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 2;
}

#main_visual {
	position: relative;
	height: 100vh;
	overflow: hidden;
}
#main_visual .visual {
	line-height: 0;
	opacity: 0;
	transition: 1.5s all 0s ease;
}
#main_visual.ac .visual {
	opacity: 1;
}
#main_visual .logo {
	position: absolute;
	top: 25px;
	left: 50%;
	width: 32%;
	max-width: 150px;
	transform: translate(-50%,0);
}
#main_visual .title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 65%;
	max-width: 600px;
	line-height: 0;
}
@media only screen and (max-width: 768px)  {
	#cl {
		width: 100%;
		min-width: 100%;
		margin: 0 auto;
		font-family: 'Noto Sans JP', sans-serif;
		line-height: 2;
	}

	#main_visual {
		position: relative;
		height: auto;
		overflow: hidden;
	}
	#main_visual .logo {
		position: absolute;
		top: 15px;
	}
}

#main_read {
	position: relative;
	margin: -8% auto 0%;
	background: #FFF;
	width: 100%;
	max-width: 900px;
	z-index: 10;
	box-sizing: border-box;
	padding: 75px 100px;
}

#main_read .txt {
	font-size: 14px;
	line-height: 2;
	margin-bottom: 75px;
}
@media only screen and (max-width: 768px)  {

	#main_read {
		position: relative;
		margin: 10% auto;
		padding: 0 ;
	}	
	#main_read .txt {
		font-size: 12px;
		line-height: 2;
		margin-bottom: 10%;
		padding: 0 10%;
	}
}




#main_contents {
	margin: 0% auto;
}
#main_contents .section {
	position: relative;
	margin: 4% auto 8%;
}

#main_contents .section .box {
}
#main_contents .section .box .tit {
	width: 60%;
	max-width: 300px;
	margin: 0 auto 25px;
}
#main_contents .section .box .txt {
	text-align: center;
	font-size: 12px;
}
#main_contents .section .img {
	width: 100%;
	max-width: 600px;
	margin: 5% auto;
}
#main_contents .section .slide {
	margin: 5% auto;
}
#main_contents .section .slide .data {
	font-size: 12px;
	text-align: center;
}
#main_contents .section .slide .data .btn {
	max-width: 200px;
	margin: 0px auto 25px;
	padding: 0 0 5px;
	border-bottom: 1px solid #000;
}
@media only screen and (max-width: 768px)  {
	#main_contents {
		margin: 15% auto;
	}
	#main_contents .section {
		position: relative;
		margin: 15% auto;
	}
	#main_contents .section .box .txt {
		text-align: center;
		font-size: 11px;
		padding: 0 10px;
	}
}



#main_contents .section.csg {
	background: #002367;
	color: #FFF;
}
#main_contents .section.csg .inner {
	max-width:600px;
	margin: 0 auto;
	padding: 0 0 10%;
}
#main_contents .section.csg .inner .c_logo{
	width: 40%;
	margin: 0 auto;
	padding: 18% 0;
	line-height: 0;
}
#main_contents .section.csg .inner .concept{
	font-size: 12px;
	text-align: center;
	margin: 0 auto 50px;
}
#main_contents .section.csg .inner .concept p {
	margin: 0;
}
#main_contents .section.csg .inner .concept p.mb {
	margin-bottom: 30px
}
#main_contents .section.csg .inner .ig {
	max-width: 200px;
	margin: 100px auto 0;
}
@media only screen and (max-width: 768px)  {
	#main_contents .section.csg .inner .concept{
		font-size: 11px;
		text-align: center;
	}
}



#main_contents .section .list {
	max-width: 600px;
	width: 90%;
	margin: 35px auto;
	text-align: center;
	font-family: 'Hanken Grotesk', sans-serif;
	font-weight: 600;
	border-bottom: 1px solid #000;
	padding-bottom: 5px;
	font-size:22px;
	line-height: 1.6;
}

#main_contents .section .list span {
	font-size:16px;
}

#main_contents .section .info {
	font-size:12px;
	text-align: center;
	margin-top: 50px;
}

#main_contents .section .info a {
	color: #000;
	text-decoration: underline;
}
@media only screen and (max-width: 768px)  {
	#main_contents .section .list {
		font-size:20px;
	}

	#main_contents .section .list span {
		font-size:16px;
	}
	
	#main_contents .section .info {
		font-size:11px;
		text-align: center;
		margin-top: 50px;
	}

}
#main_footer {
	margin: 10% auto 0;
}
#main_footer .logo {
	max-width: 200px;
	width: 60%;
	filter: invert(1);
	padding: 5% 0;
	margin: 0 auto;
}

.swiper-pagination {
	position: relative;
	bottom: auto;
	left: auto;
	margin-top: 35px;
}
.swiper-pagination-bullet {
  background-color: #000;
}
.anim {
	opacity: 0;
	transition: 1.5s all 0s ease;
}
.anim.ac {
	opacity: 1;
}

