@charset "UTF-8";
/* CSS Document */

.contents_box {
    margin-top: 0;
}
/*============
トップイメージ
============*/
#topimage {
	background-repeat:no-repeat;
	background-position:bottom;
	background-color:#333;
	width:100%;
	/*max-height: 864px;height: auto;*/
	height: 100vh;
	position:relative;
	overflow: hidden;
	margin-bottom: 0;
	margin-top: 0;
}
/*#topimage #video*/
#topimage #video {
	position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	z-index: 9;
	width: auto;
	height: auto;
}
/*--*/
#topimage > .img {
	width: 100%;
	height: 100%;
	z-index: 8;
}
#topimage .title {
	position: absolute;
	top: calc(50% + 57px);
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	width: 90%;
	z-index: 10;
}
#topimage .title h1 {
	display:block;
	line-height:1;
	background:none;
	transition-duration:1s;
    color: #FFFFFF;
    font-size: 1.4em;
    letter-spacing: 5.5px;
    margin: 0px;
    padding: 0px;
}
#topimage .title h2 {
	display:block;
	line-height:1.25;
	background:none;
	transition-duration:1s;
    color: #FFFFFF;
    font-size: 0.7em;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    letter-spacing: 7px;
    margin-top: 30px;
}

/*scroll_arrow*/
#topimage .scroll_arrow {
	position: absolute;
	bottom:80px;
	left:0;right:0;
	margin: auto;
	z-index: 20;
}
#topimage .animated{
	animation-name:expansion;
	animation-duration:2s;
	animation-timing-function:ease-in-out;
	animation-iteration-count:infinite;
}
@keyframes expansion{
	0%{
	opacity: 0;
	transform: translate(0, 0);
	}
	50%{
	opacity: 1;
	}
	100%{
	opacity: 0;
	transform: translate(0, 20px);
	}
}

@media screen and (max-width: 760px) {
	#topimage {
		margin-top: 114px;
		height: calc(100vh - 114px);
	}
	#topimage .title {
		top:45%
	}
	#topimage .title h1 {
		font-size: 1.2em;
		margin-top: 1em;
	}
	#topimage .title h2 {
		margin-top: 1em;
	}
}
@media screen and (max-width: 480px) {
	#topimage {
		margin-top: 75px;
		height: calc(100vh - 75px);
	}
	#topimage #video {
	}
	#topimage .title {
	position: absolute;
	top: calc(50% - 1.5em);
        text-align: left;
	}
    #topimage .title h1 {
		display:block;
		line-height:1.5em;
		background:none;
		transition-duration:1s;
		color: #FFFFFF;
		font-size: 1.3em;
		letter-spacing: 3px;
        margin: 0px;
		margin-top: -0.15em;
        margin-left: 30px;
}
	#topimage .title h2 {
		display:block;
		line-height:1.5em;
		background:none;
		transition-duration:1s;
		color: #FFFFFF;
		font-size: 0.5em;
		font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		letter-spacing: 1px;
		margin: 20px auto;
        margin-left: 30px;
	}
	#topimage .scroll_arrow {
		bottom:115px;
	}
}
/*============*/


/*============
contents
============*/
.contents_box {
	padding-bottom:0;
	width:100%;
	padding-left:0;
	padding-right:0;
}
section .title {
	display: block;
	text-align: center;
	border: none;
	padding: 0;
	margin-top: 94px;
	margin-bottom:0;
	margin-left: 5%;
	margin-right: 5%;
	padding-bottom: 0;
	/*webフォント*/
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 2.25em;
	letter-spacing: 5px;
	color:#000;
}
section .catch {
	font-weight:bold;
	font-size:1.3em;
	letter-spacing: 0.05em;
	line-height: 1.6em;
	margin-top:0.5em;
	margin-bottom:2em;
	color:#000;
}
@media screen and (max-width: 480px) {
	.contents_box {
		overflow: hidden;
	}
	section .title {
		font-size: 1.4em;
		letter-spacing: 5px;
	}
	section .catch {
		font-size:1.1em;
		letter-spacing: 0;
	}
}


/*============
rinen
============*/
section.rinen {
	display: block;
	text-align:center;
	padding-bottom: 50px;
	padding-left: 5%;
	padding-right: 5%;
	margin-left: 0;
	margin-right: 0;
	overflow: hidden;
    margin-bottom:80px;
}
section.rinen p {
	margin-bottom:80px;
	margin:30px  0px 0px 0px;
	line-height: 2.2em;
	font-size:15px;
}
section.rinen p img {
	text-align: center;
	margin: 0;
	display: inline;
}

@media screen and (min-width: 815.1px){	
  .rinen .br-wide { display:block; }
  .rinen .br-narrow { display:none; }

}
@media screen and (max-width: 815px){	
  .rinen .br-wide { display:none; }
  .rinen .br-narrow { display:block; }

}
@media screen and (max-width: 480px) {
	section.rinen {
		display:block;
		overflow: hidden;
		width:100%;
		margin:auto 0;
		text-align:center;
        padding: 25px 30px 79px 30px;
	}
	section.rinen .title {
		margin-bottom:35px;
		margin-top: 35px;
		margin-left: 0;
		margin-right: 0;
		padding: 0;
		text-align: center;
		border: none;
		overflow-wrap: break-word;
		letter-spacing: 0;
		font-size: 1.4em;
		letter-spacing: 5px;
	}
	section.rinen .catch {
		letter-spacing: 0;
		font-size: 1em;
		line-height: 1.8em;
		font-weight: bold;
	}
	section.rinen p {
		font-size: 0.9em;
		line-height:1.8em;
		margin-bottom:0px;
		text-justify:auto;
		padding:8px 0%;
		text-align:justify;
        margin: 0px;
	}
	section.rinen p.center {
		text-align: center;
	}
}


/*-- service*/
section.service {
	display:block;
	background-color:#000;
	text-align:center;
	overflow:hidden;
	font-size:15px;
	color:#FFF;
	padding: 0 30px;
}
section.service .title {
	color:#FFF;
}
section.service .catch {
	margin-bottom:77px;
	font-size: 1.1em;
	line-height: 1.6em;
	color:#FFF;
	font-weight: bold;
}
section.service .wrap {
	display:flex;
	flex-wrap: wrap;
	justify-content:space-around;
	max-width: 1280px;
	margin:0 auto 65px;
	padding:0 auto;
	text-align: center;
}
section.service .wrap .col {
	width:232px;
	height:auto;
	margin:auto 2em 70px;
	padding:0;
}
section.service .wrap .col .mark {
	text-align: center;
	margin-bottom: 30px;
}
section.service .wrap .col .mark img {
	margin: 0 auto;
	height: 51px;
}
section.service .wrap .col h3 {
	display: block;
	font-size:1.35em;
	line-height: 1.5em;
	color:#FFF;
	padding: 0;
	margin:0 auto 26px;
	/*webフォント*/
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1em;
}
section.service .wrap .col h4 {
	display: block;
	font-size:0.9em;
	line-height: 1.2em;
	color:#FFF;
	text-decoration:none;
	font-weight: normal;
	border: none;
	padding: 0 auto;
	margin:0 auto 26px;
}
section.service .wrap .col p {
	display: block;
	margin:auto;
	color:#FFF;
	text-decoration:none;
	font-size:14px;
	line-height:1.6em;
	padding-top: 32px;
	border-top: solid 6px #FFF;
}
@media screen and (max-width: 480px) {
	section.service .catch {
		font-size: 1em;
		line-height: 1.8em;
		font-weight: bold;
		color:#FFF;
		margin-bottom:77px;
	}
}


/*--company*/
section.company {
	display: block;
	padding-bottom: 135px;
	overflow: hidden;
}
@media screen and (max-width: 480px) {
	section.company {
		padding: 0 8% 135px;
	}
	section.company .title {
		font-size: 1.4em;
		letter-spacing: 0;
	}
}
/*table*/
section.company table.type1 {
	margin-left: auto;
	margin-right: auto;
}
section.company table.type1 th {
	white-space: nowrap;
	letter-spacing: 0.2em;
	transition:width 0.5s;
}
section.company table.type1 td {
	white-space: nowrap;
    text-align: left;
}
@media screen and (max-width: 1000px) {
	section.company table.type1 th {
		width: 33%;
	}
	section.company table.type1 td {
		white-space:inherit;
	}
}
@media screen and (max-width: 480px) {
	section.company table.type1 th,
	section.company table.type1 td
	{
		font-size: 0.9em;
	}
	section.company table.type1 th {
		padding: 1em 0;
	}
}


