@charset "UTF-8";
html{overflow-y:scroll;}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-style:normal;font-weight:400;font-size:100%;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}blockquote,q{quotes:none;}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none;}input,textarea{margin:0;padding:0;}ol,ul{list-style:none;}table{border-collapse:collapse;border-spacing:0;}caption,th{text-align:left;}*,*:before,*:after{box-sizing:border-box;}body{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}sub,sup{line-height:1;font-size:50%;}sup{vertical-align:super;}sub{vertical-align:sub;}a:active,a:focus,a:hover{outline:0;}.clearfix{clear:both;padding:0;line-height:0;}

body, html {
	min-width: 900px;
	font-size: 16px;
}
body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: #4d4d4d;
	line-height: 1.6;
	overflow: hidden;
}
a {
	text-decoration: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	color: inherit;
}
a img {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
a:hover {
	text-decoration: none;
	color: inherit;
}
a:hover img {
	opacity: .8;
}
span {
	font-weight: inherit;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
.inner {
	width: 900px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
}
.pc_none {
	display: none;
}
@media screen and (max-width: 767px) {
	body, html {
		min-width: inherit;
		font-size: 10px;
	}
	.inner {
		width: 100%;
		padding-left: 4%;
		padding-right: 4%;
	}
	.sp_none {
		display: none;
	}
	.pc_none {
		display: block;
	}
}




h2 {
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 2em;
}
h2 .ttl {
	font-size: 4rem;
	line-height: 1.2;
	font-family: dunbar-tall, sans-serif;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	h2 {
		font-size: 1.4em;
	}
}

/*section#top*/
#top {
	padding: 1.5em 0 3em;
	position: relative;
}
#top .inner {
	position: relative;
	z-index: 0;
	width: 100%;
	max-width: 1200px;
}
#top .inner:before {
	content: "";
	position: absolute;
	top: 0;
	left: 16%;
	width: 886px;
	height: 532px;
	background-image: url("../img/top_02.png");
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 886px;
	z-index: -1;
}
#top h1 {
	margin-bottom: 2em;
	font-size: 1.5em;
	font-weight: bold;
}
#top h1 img {
	display: block;
	width: 280px;
	margin: 0 0 1em 0;
}
#top h1 p.ttl {
	font-size: 4rem;
	line-height: 1.15;
	font-family: dunbar-tall, sans-serif;
	font-weight: bold;
	font-style: normal;
}
#top .intro > p {
	width: 600px;
	margin: 0;
	padding: 10px 10px 10px 0;
	background: rgba(255, 255, 255, 0.9);
}
#top .swiper-container {
	position: absolute;
	bottom: 3em;
	right: 30px;
	width: 352px;
	background: rgba(247, 247, 247, 0.9);
	overflow: hidden;
	box-shadow: 5px 5px 8px 0 rgba(0, 0, 0, 0.2);
}
#top .swiper-slide {
	padding: 1em;
	line-height: 1.2;
}
#top .swiper-slide img {
	display: block;
	margin-bottom: 0.5em;
	width: 100%;
}
#top .swiper-slide a {
	font-size: 0.8em;
}
@media screen and (max-width: 767px) {
	#top .inner:before {
		top: 8em;
		left: -4vw;
		width: 100vw;
		height: 60vw;
		background-size: cover;
	}
	#top h1 img {
		width: 50%;
	}
	#top .intro > p {
		width: 100%;
		margin-top: 12em;
		font-size: 1.3rem;
	}
	#top .swiper-container {
		position: static;
		width: 92%;
		margin-top: 2em;
		margin-left: auto;
		margin-right: auto;
	}
	#top .swiper-slide a {
		font-size: 1.2em;
	}
}


/*section#nayami*/
#nayami .top_01 {
	background: #000;
	padding: 0.8em 0;
	position: relative;
	z-index: 0;
	text-align: center;
}
#nayami .top_01:before,
#nayami .top_01:after {
	content: "";
	position: absolute;
	top: 0;
	width: 50vw;
	height: 100%;
	background-color: #000;
	z-index: -1;
}
#nayami .top_01:before {
	right: 50%;
}
#nayami .top_01:after {
	left: 50%;
}
#nayami .top_01 a {
	text-align: center;
	color: #fff;
	font-size: 1.25em;
	font-weight: bold;
}
#nayami .top_02 {
	padding: 3em 0 6em 180px;
	font-weight: bold;
	background: url("../img/top_03.png") no-repeat left 50px/180px;
}
#nayami .top_02 p {
	font-size: 2.5em;
	font-weight: bold;
	margin-bottom: 0.3em;
}
#nayami .top_02 li {
	font-size: 1.35em;
	font-weight: bold;
	padding-left: 1em;
	text-indent: -1em;
}
#nayami .top_02 li + li {
	margin-top: 8px;
}
#nayami .top_02 li .color {
	color: #306EC4;
}
@media screen and (max-width: 767px) {
	#nayami .top_01 {
		font-size: 1.5em;
	}
	#nayami .top_02 {
		width: 100%;
		margin-bottom: 2em;
		padding: 2em 0 20em;
		background: url("../img/top_03.png") no-repeat center bottom/40%;
	}
	#nayami .top_02 p {
		text-align: center;
	}
	#nayami .top_02 li {
		font-size: 1.4em;
	}
}



/*section#btn_cta*/
#btn_cta {
	height: 5em;
	margin: 0;
	position: fixed;
	width: 100%;
	bottom: 0;
	z-index: 999;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	justify-content: center;
	align-items: center;
}
#btn_cta ul {
	display: flex;
	justify-content: center;
}
#btn_cta ul li {
	text-align: center;
	margin: 0 10px;
}
#btn_cta ul li a {
	display: block;
	font-size: 1.2em;
	font-weight: bold;
	color: #fff;
	border-radius: 3em;
	padding: 0.5em 2em;
	background: #306EC4;
}
#btn_cta ul li a:hover {
	background: #004989;
}
@media screen and (max-width: 767px) {
	#btn_cta {
		height: 7em;
	}
	#btn_cta ul li {
		margin: 0 5px;
		flex: 1 0 auto;
	}
	#btn_cta ul li a {
		padding: 0.5em 1em;
	}
}



/*section#solution*/
#solution {
	background: #F7F7F7;
	padding-top: 3em;
	padding-bottom: 1em;
}
#solution h3 {
	position: relative;
	background: #004989;
	font-size: 1.5em;
	line-height: 2;
	font-weight: bold;
	color: #fff;
	margin: 3em 0 1.5em;
	padding: 0.2em 1em;
	overflow: hidden;
	z-index: 0;
}
#solution h3:before {
	content: "";
	position: absolute;
	right: -20%;
	bottom: 0;
	display: inline-block;
	height: 5em;
	width: 40%;
	background: #306EC4;
	transform: skewX(-50deg);
	z-index: -1;
}
#solution h3 span {
	position: relative;
	display: inline-block;
	z-index: 5;
	color: #fff;
}
.solution_link {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.solution_link p {
	width: 100%;
	margin: 0 2% 0 0;
	background: #004989;
	position: relative;
	overflow: hidden;
}
.solution_link p:last-child {
	margin-right: 0;
}
.solution_link p a {
	position: relative;
	display: block;
	color: #fff;
	padding: 1em 0 1.5em;
	text-align: center;
	z-index: 5;
}
.solution_link p a:before {
	content: "";
	position: absolute;
	right: -5em;
	bottom: 0;
	display: inline-block;
	height: 5em;
	width: 5em;
	background: #306EC4;
	transform: skewX(-55deg);
	z-index: -1;
	transition: all .3s;
}
.solution_link p a:hover:before {
	right: -15em;
	width: 22em;
	height: 20em;
}
.solution_link p a:after {
	display: block;
	width: 1em;
	height: 1em;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(135deg);
	content: "";
	margin: 0 auto;
}
.solution_items {
	margin-bottom: 7em;
}
.solution_items > div {
	margin-bottom: 3em;
}
.solution_items a,
.solution_items .flex {
	display: flex;
}
.solution_items a img,
.solution_items .flex img {
	width: 350px;
}
.solution_items a p,
.solution_items .flex p {
	padding-left: 2%;
}
.solution_items a p span,
.solution_items .flex p span {
	display: block;
	font-size: 2.2rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	#solution h3 {
		padding: 0.5em 1em;
		font-size: 1.8em;
	}
	#solution h3 span {
		line-height: 1.4;
	}
	.solution_link {
		flex-wrap: wrap;
	}
	.solution_link p {
		width: 48%;
		margin-bottom: 1em;
	}
	.solution_link p a {
		font-size: 1.3em;
	}
	.solution_link p:nth-child(2n) {
		margin-right: 0;
	}
	.solution_items a,
	.solution_items .flex {
		flex-direction: column;
	}
	.solution_items a img,
	.solution_items .flex img {
		width: 100%;
	}
	.solution_items a p,
	.solution_items .flex p {
		padding-left: 0;
		margin-top: 1em;
		font-size: 1.3em;
	}
	.solution_items a p span,
	.solution_items .flex p span {
		font-size: 2rem;
	}
}


/*section#news*/
#news {
	padding: 3em 0;
}
#news ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#news ul li {
	font-size: 17px;
	border-bottom: 1px solid #4d4d4d;
	width: 48%;
	margin: 0 4% 0 0;
	padding: 0.5em 1% 0.5em;
}
#news ul li:nth-child(2n) {
	margin-right: 0;
}
#news ul li:nth-child(1),
#news ul li:nth-child(2) {
	border-top: 1px solid #4d4d4d;
}
#news ul li a {
	display: flex;
	-ms-align-items: center;
	align-items: center;
}
#news ul li a img {
	width: 30%;
}
#news ul li a div {
	width: 70%;
	padding-left: 2%;
}
#news .news_cap {
	font-size: 13px;
	margin-bottom: 5px;
}
#news .news_txt {
	font-size: 17px;
	font-weight: bold;
	text-decoration: underline;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#news .btn_more {
	background: #808080;
	width: 3em;
	height: 3em;
	border-radius: 3em;
	margin: 3em auto 1em;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
}
#news .btn_more span {
	display: block;
	width: 1em;
	height: 1em;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: translateY(-5px) rotate(135deg);
}
#news .btn_more.active span {
	transform: translateY(5px) rotate(-45deg);
}
@media screen and (max-width: 767px) {
	#news ul {
		display: block;
	}
	#news ul li {
		width: 100%;
		margin: 0;
	}
	#news ul li:nth-child(2) {
		border-top: none;
	}
	#news ul li a img {
		width: 20%;
	}
	#news ul li a div {
		width: 80%;
	}
	#news .news_txt {
		font-size: 15px;
	}
	#news .btn_more span {
		transform: translateY(-2px) rotate(135deg);
	}
	#news .btn_more.active span {
		transform: translateY(2px) rotate(-45deg);
	}
}


/*section#topics*/
#topics {
	background: #f7f7f7;
	padding-top: 4em;
	padding-bottom: 6em;
}
#topics h4 {
	text-align: center;
	font-size: 2em;
	font-weight: bold;
	margin: 0 auto 2em;
}
#topics h4 span {
	display: block;
	font-size: 0.75em;
	font-weight: normal;
}
#topics .topics_box {
	display: flex;
	justify-content: space-between;
}
#topics .topics_box a {
	display: block;
	width: 50%;
}
#topics .topics_box img {
	width: 50%;
	display:block;
	height:100%;
}
#topics .topics_box .topics_txt {
	width: 50%;
	padding-left: 1.5em;
}
#topics .topics_box .topics_txt ul li + li {
	margin-top: 10px;
}
#topics .topics_box .topics_txt ul li .num {
	font-size: 12px;
	background-color: #306EC4;
	color: #fff;
	font-weight: bold;
	padding: 2px 5px;
	display: inline-block;
}
#topics .topics_box .topics_txt ul li .ttl {
	font-size: 16px;
	font-weight: bold;
	margin: 5px 0;
}
#topics .topics_box .topics_txt ul li .txt {
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	#topics .topics_box {
		flex-direction: column;
	}
	#topics .topics_box a {
		width: 100%;
	}
	#topics .topics_box .topics_txt {
		width: 100%;
		padding-left: 0;
		margin-top: 2em;
		font-size: 1.3em;
	}
	#topics .topics_box .topics_txt ul li + li {
		margin-top: 20px;
	}
	#topics .topics_box img {
	width: 100%;
	display:block;
	height:100%;

}


}
/*footer*/
footer {
	background: #000;
	text-align: center;
	color: #fff;
	line-height: 3;
	margin-bottom: 5em;
}
@media screen and (max-width: 767px) {
	footer {
		font-size: 0.8em;
		line-height: 2;
		margin-bottom: 7rem;
	}
}