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

/*----- FIRSTVIEW -----*/

#firstview{
	width:100%;
	height:100vh;
	
	position: relative;
}

#firstview div.bg_slider{
	width:100%;
	height:100%;
	
	/*background-color:#aaa;*/
	color:#444;
	
	overflow: hidden;
	position: relative;
}

#firstview div.bg_slider::after{
	display:none;
	content:"";
	
	width:100%;
	height:100%;
	
	background-color: rgba(255,255,255,0.5);
	
	position: absolute;
	top:0;
	left:0;
	
	z-index: 10;
	border-radius:2.5px;
}

#firstview div.bg_slider span{
	position: absolute;
	top: 0;
	left: 0;
	
	width: 100%;
	height: 100%;
	
	z-index: 5;
	opacity: 0;
	
	animation-name: bg_slider;
	animation-duration: 25s;
	animation-iteration-count: infinite;
	
	background-repeat: no-repeat;
	background-size:cover;
	background-position: center;
}

@keyframes bg_slider {
	
	0%{
		opacity: 0;
	}
	
	10%{
		opacity: 1;
	}
	
	90%{
		opacity: 1;
		/*transform: scale(1.1);*/
	}
	
	100%{
		opacity: 0;
		z-index: 0;
	}

}

/*-- 画像のURLはページ内に記述 --*/

#firstview div.bg_slider span:nth-of-type(1){
}

#firstview div.bg_slider span:nth-of-type(2){
	animation-delay: 5s;
}

#firstview div.bg_slider span:nth-of-type(3){
	animation-delay: 10s;
}

#firstview div.bg_slider span:nth-of-type(4){
	animation-delay: 15s;
}

#firstview div.bg_slider span:nth-of-type(5){
	animation-delay: 20s;
}

#firstview div.bg_slider span img{
	display:block;
	
	width:100%;
	height:100%;
	
	position: absolute;
	top:0;
	left:0;
	
	object-fit: cover;
	object-position: center;
}

#firstview div.bg_slider span picture{
	display:block;
	
	width:100%;
	height:100%;
	
	position: absolute;
	top:0;
	left:0;
	
	object-fit: cover;
	object-position: center;
}

#firstview div.content{
	width:100%;
	height:100%;
	
	position: absolute;
	top:0;
	left:0;
	
	box-sizing: border-box;
	padding:10px;
	
	z-index: 10;
}

#firstview div.content_block{
	width:100%;
	/*max-width: 1080px;*/
	height:100%;
	
	/*margin:0 auto;*/
	
	background-color: rgba(255,255,255,0.25);
	color:#444;
	
	border-radius:5px;
	
	display:flex;
	align-items: center;
	justify-content: center;
}

#firstview div.statement{
	width:auto;
}

#firstview div.statement p{
	font-size:1.5rem;
	line-height:40px;
	font-weight:600;
	
	letter-spacing: 0.05em;
	
	margin-bottom:10px;
}

#firstview div.statement p:last-child{
	margin-bottom:0;
}

#firstview div.statement p span{
	display:inline-block;
	width:auto;
	
	box-sizing: border-box;
	padding:0 10px;
	
	background-color:#048;
	color:#fff;
	
	border-radius:2.5px;
}

#firstview div.statement p:nth-child(1) span{
	transform: translateX(-10px);
}

#firstview div.statement p:nth-child(2) span{
	transform: translateX(10px);
}

#firstview p.btn_movie{
	display:block;
	width:240px;
	
	margin:0 auto;
	margin-top:45px;
	
	position:relative;
}

#firstview p.btn_movie button{
	display:block;
	width:100%;
	
	background-color: #0ac;
	color:#fff;
	
	box-sizing:border-box;
	border: solid 2.5px #0ac;
	outline: none;
	
	padding: 0;
	margin: 0;
	
	font-size:1.0rem;
	line-height:50px;
	font-weight:bold;
	text-align:center;
	
	cursor: pointer;
	appearance: none;
	border-radius:5px;
	
	transition:0.25s;
}

#firstview p.btn_movie button:hover{
	opacity:0.5;
	text-decoration:none;
}

#firstview p.btn_movie button::before{
	display:block;
	content:"";
	
	width:50px;
	height:50px;
	
	position:absolute;
	top:0;
	bottom:0;
	left:25px;
	
	background-image: url("../_assets-common/img/icon/fff/icon_movie.webp");
	background-repeat: no-repeat;
	background-size:35%;
	background-position: center;
}

@media only screen and (min-width: 1024px){
	
	#firstview p.btn_movie{
		margin:45px 0 0 40px;
	}
	
}

#firstview div.scroll_down{
	width:70px;
	height:70px;
	
	position: absolute;
	left:0;
	right:0;
	bottom:20px;
	
	margin:0 auto;
}

#firstview div.scroll_down span{
	display:block;
	
	font-size:0.6rem;
	line-height:25px;
	font-weight:bold;
	
	letter-spacing: 0.05em;
	
	text-align: center;
	
	background-color: rgba(0,170,205,0.50);
	color:#fff;
	
	box-sizing: border-box;
	padding-bottom:45px;
	
	border-radius:2.5px;
}

#firstview div.scroll_down span::after{
	display:block;
	content:"";
	
	width:50px;
	height:50px;
	
	background-color:transparent;
	background-image: url("../_assets-common/img/icon/fff/icon_arrow03-bottom.webp");
	background-repeat: no-repeat;
	background-size:50%;
	background-position: center;
	
	position: absolute;
	bottom:5px;
	left:0;
	right:0;
	
	margin:0 auto;
	animation: scroll 3.0s infinite;
}

@keyframes scroll {
	
	0% {
		opacity: 0;
		transform: translate(0, -10px);
	}
	
	40% {
		opacity: 1;
	}
	
	80% {
		opacity: 0;
		transform: translate(0, 10px);
	}
	
	100% {
		opacity: 0;
	}
	
}

@media only screen and (min-width: 768px){
	
	#firstview div.content{
		padding:15px;
	}
	
	#firstview div.statement p{
		font-size:2.0rem;
		line-height:50px;
	}
	
	#firstview div.statement p span{
		padding:0 15px;
	}
	
	#firstview div.scroll_down{
		bottom:25px;
	}
	
}

@media only screen and (min-width: 1024px){
	
	#firstview div.content{
		padding:20px;
	}
	
	#firstview div.content_block{
		justify-content: flex-start;
	}
	
	#firstview div.statement{
		width:100%;
		max-width: 1080px;
		
		margin:0 auto;
	}
	
	#firstview div.statement p:nth-child(1) span{
		transform: translateX(20px);
	}
	
	#firstview div.statement p:nth-child(2) span{
		transform: translateX(40px);
	}
	
	#firstview div.scroll_down{
		bottom:40px;
	}
	
}

/*----- STATEMENT -----*/

#statement{
	width:100%;
	
	background-color:transparent;
	background-image: url("img/bg_statement_small.webp");
	background-repeat: no-repeat;
	background-size:cover;
	background-position: center;
	background-attachment: fixed;
}

#statement div.content{
	width:100%;
	margin:0 auto;
	max-width: 1080px;
	
	box-sizing: border-box;
	padding:10px;
}

#statement div.child{
	width:100%;
	margin-bottom:10px;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color: rgba(255,255,255,0.75);
	color:#444;
	
	border-radius:5px;
}

#statement div.child:last-child{
	margin-bottom:0;
}

#statement div.text{
	width:100%;
	margin-bottom:10px;
}

#statement p.count{
	font-size:0.8rem;
	line-height:30px;
	font-weight:bold;
}

#statement p.count span{
	color:#048;
}

#statement h3{
	font-size:1.5rem;
	line-height:40px;
	font-weight:bold;
	
	color:#048;
	
	margin-bottom:10px;
}

#statement p.thumbnail{
	width:100%;
	position: relative;
	
	border-radius:5px;
	overflow: hidden;
}

#statement p.thumbnail::before{
	display:block;
	content:"";
	
	box-sizing: border-box;
	padding-top:100%;
}

#statement p.thumbnail img{
	display:block;
	
	width:100%;
	height:100%;
	
	position: absolute;
	top:0;
	left:0;
	
	object-fit: cover;
	object-position: center;
}

#statement div.thumbnail{
	width:100%;
	position: relative;
	
	border-radius:5px;
	overflow: hidden;
}

#statement div.thumbnail::before{
	display:block;
	content:"";
	
	box-sizing: border-box;
	padding-top:100%;
}

#statement div.thumbnail picture{
	display:block;
	
	width:100%;
	height:100%;
	
	position: absolute;
	top:0;
	left:0;
	
	object-fit: cover;
	object-position: center;
}

@media only screen and (min-width: 768px){
	
	#statement{
		background-image: url("img/bg_statement_medium.webp");
	}
	
	#statement div.content{
		padding:15px;
	}
	
	#statement div.child{
		padding:15px;
		margin-bottom:15px;
		
		display:flex;
		flex-flow: row wrap;
		align-items: stretch;
		justify-content: flex-start;
	}
	
	#statement div.text{
		width:50%;
		margin-bottom:0;
		
		box-sizing: border-box;
		padding-right:15px;
		
		display:flex;
		align-items: center;
		justify-content: flex-start;
	}
	
	#statement div.text_block{
		width:auto;
	}
	
	#statement p.thumbnail{
		width:50%;
	}
	
	#statement div.thumbnail{
		width:50%;
	}
	
}

@media only screen and (min-width: 1024px){
	
	#statement{
		background-image: url("img/bg_statement_large.webp");
	}
	
	#statement div.content{
		padding:20px;
	}
	
	#statement div.child{
		padding:20px;
		margin-bottom:20px;
	}
	
	#statement div.text{
		padding-right:20px;
	}
	
}

/*----- TOPIX -----*/

#topix{
	width:100%;
	
	background-color: transparent;
	background-image: url("img/bg_topix_small.webp");
	background-repeat: no-repeat;
	background-size:cover;
	background-position: center;
	background-attachment: fixed;
}

#topix div.content{
	width:100%;
	margin:0 auto;
	max-width: 1080px;
	
	box-sizing: border-box;
	padding:10px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
}

#topix div.child{
	width:100%;
	margin-bottom:10px;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color: rgba(255,255,255,0.75);
	color:#444;
	
	border-radius:5px;
}

#topix div.child:last-child{
	margin-bottom:0;
}

#topix h3{
	font-size:3.0rem;
	line-height:70px;
	font-weight:bold;
	
	color:#0ac;
	
	margin-bottom:10px;
}

#topix h3 span.note{
	display:block;
	
	font-size:1.0rem;
	line-height:30px;
	
	color:#048;
}

#topix p.btn_readmore{
	width:100%;
	margin-top:10px;
}

#topix p.btn_readmore a{
	display:inline-block;
	transition:0.25s;
}

#topix p.btn_readmore a:hover{
	opacity: 0.75;
	text-decoration: none;
}

#topix p.btn_readmore span{
	display:block;
	width:160px;
	
	font-size:0.8rem;
	line-height:30px;
	font-weight:bold;
	
	text-align: center;
	
	background-color:#0ac;
	color:#fff;
	
	border-radius:2.5px;
}

@media only screen and (min-width: 768px){
	
	#topix{
		background-image: url("img/bg_topix_medium.webp");
	}
	
	#topix div.content{
		padding:15px;
	}
	
	#topix div.child{
		width:calc(50% - 7.5px);
		margin-bottom:0;
		
		padding:15px;
	}
	
	#topix div.child:nth-child(1){
		margin-right:7.5px;
	}
	
	#topix div.child:nth-child(2){
		margin-left:7.5px;
	}
	
}

@media only screen and (min-width: 1024px){
	
	#topix{
		background-image: url("img/bg_topix_large.webp");
	}
	
	#topix div.content{
		padding:20px;
	}
	
	#topix div.child{
		width:calc(50% - 10px);
		padding:20px;
	}
	
	#topix div.child:nth-child(1){
		margin-right:7.5px;
	}
	
	#topix div.child:nth-child(2){
		margin-left:7.5px;
	}
	
}

/*-- BUSINESS --*/

#business div.branch{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	margin-top:20px;
}

#business div.branch div.row{
	width:100%;
	margin-bottom:10px;
	
	box-sizing: border-box;
	padding:20px;
	
	background-color:#048;
	color:#fff;
	
	border-radius:2.5px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
}

#business div.branch div.row:last-child{
	margin-bottom:0;
}

#business div.branch div.row p.thumbnail{
	width:90px;
	position: relative;
	
	background-color:#fff;
	border-radius:2.5px;
}

#business div.branch div.row p.thumbnail::before{
	display:block;
	content:"";
	
	box-sizing: border-box;
	padding-top:100%;
}

#business div.branch div.row p.thumbnail img{
	display:block;
	width:75%;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	
	margin:auto;
}

#business div.branch div.row div.text{
	width:calc(100% - 90px);
	
	box-sizing: border-box;
	padding-left:20px;
	
	text-align: center;
}

#business div.branch div.row div.text p.eng{
	width:100%;
	height:25px;
	
	position: relative;
}

#business div.branch div.row div.text p.eng::after{
	display:block;
	content:"";
	
	width:100%;
	height:1px;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
}

#business div.branch div.row div.text p.eng span{
	display:inline;
	
	width:100px;
	
	font-size:0.8rem;
	line-height:25px;
	font-weight:bold;
	
	letter-spacing: 0.05em;
	
	box-sizing: border-box;
	padding:0 10px;
	
	background-color:#048;
	color:#fff;
	
	text-align: center;
	
	position: absolute;
	top:0;
	left:0;
	right:0;
	
	margin:0 auto;
	z-index: 10;
}

#business div.branch div.row div.text h6{
	font-weight:bold;
}

#business div.branch div.row div.text ul{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	
	width:100%;
	margin-top:5px;
}

#business div.branch div.row div.text ul li{
	display:inline-block;
	
	font-size:0.6rem;
	line-height:15px;
}

#business div.branch div.row div.text ul li::after{
	display:inline-block;
	content:"/";
	
	box-sizing: border-box;
	padding:0 5px;	
}

#business div.branch div.row div.text ul li:last-child::after{
	display:none;
}

@media only screen and (min-width: 1024px){
	
	#business div.branch div.row{
		width:calc(50% - 10px);
		margin-bottom:0;
	}
	
	#business div.branch div.row:nth-child(1){
		margin-right:10px;
	}
	
	#business div.branch div.row:nth-child(2){
		margin-left:10px;
	}
	
	#business div.branch div.row p.thumbnail{
		width:90px;
		margin:0 auto 15px;
	}
	
	#business div.branch div.row div.text{
		width:100%;
		padding-left:0;
	}
	
}

/*-- NEWS --*/

#news div.archives{
	width:100%;
}

#news div.archives div.row{
	width:100%;
	margin-bottom:20px;
	
	position: relative;
}

#news div.branch div.row:last-child{
	margin-bottom:0;
}

#news div.archives div.row::after{
	display:block;
	content:"";
	
	width:100%;
	height:1px;
	
	background-color:#aaa;
	
	position: absolute;
	bottom:-10px;
	left:0;
}

#news div.archives div.row a{
	display:block;
	transition:0.25s;
}

#news div.archives div.row a:hover{
	opacity: 0.75;
	text-decoration: none;
}

#news div.archives div.row p.update{
	font-size:0.8rem;
	line-height:20px;
	font-weight:bold;
	
	color:#444;
}

#news div.archives div.row h4{
	font-weight:bold;
	color:#000;
}
