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

#skip-btn
{
	position: fixed;
	right: 5%;
	bottom: 5%;
	z-index: 50000;
	/*display: none;*/
}
#skip-btn a
{
	cursor:pointer;
	display: block;
	color: #ccc;
	padding: 3px 10px;
	/*font-family: 'リュウミン B-KL';*/
	border-radius: 3px;
	border:1px solid #ccc;
}
#skip-btn a:hover
{
    border:1px solid #fff;
    color: #fff;
    text-decoration: none;
}

#logo-movie
{
	display: none;
}

#loadingBg {
    position: fixed;
    left: 0;
    top: 0;
    width: auto;
    min-width: 100%;
    height: auto;
    min-height: 100%;
    background: #000000;
    /*opacity: 0.6;*/
	z-index: 10000;
}
/*#loading {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 400px;
    padding: 50px 20px;
    margin: -70px 0 0 -220px;
	z-index: 10001;
}
#loading #percent {
    margin-bottom: 5px;
    text-align: center;
    font-size: 16px;
	color: #fff;
}
#loading #gauge {
    width: 0px;
    height: 5px;
    background: #ff0000;
    background: #ffffff;
}*/

#top-custom-content .hide
{
	/*display: none;*/
	visibility: hidden;
}

body.home #top-custom-content #news_top.hide
{
	visibility: visible;
}

/*モバイルでautoplayがとまらないようにする*/
#top-custom-content .slider {
  pointer-events: none;
}

body.home .siteHeader
{
	position: relative;
}

body.home .homeHeaderContainer
{
	display: none;
}

body.home #top-custom-content
{
	position: relative;
}

body.home #top-custom-content h1
{
	position: absolute;
	left:0;
	top:0;
	padding :20px 0 0 20px;
	width: 70%;
	z-index: 1000;
	display: none;
}

body.home #top-custom-content .navContainer
{
	display: none;
}

body.home #top-custom-content picture img
{
	width: 100%;
}


.svg-box
{
	display: none;
}

.menu-txt
{
	display: none;
}

body.home .siteFooter
{
	border-top-width: 0;
}

body.home .footerWidget{
	display: none;
}


@media (min-width:567px){
	body.home #top-custom-content h1{
		width: 426px;
	}	
}

@media (min-width:768px){
	body.home #top-custom-content h1{
		width: 460px;
	}	
}


@media (min-width:992px){
	
	#skip-btn
	{
		display: block;
	}
	
	#logo-movie
	{
		display: block;
		position: absolute;
		left: 0;
		top: -100px;
		z-index: 20000;
		width: 100%;
		/*background: #f00;*/
	}

	#logo-movie video
	{
		position: absolute;
		left: 0;
		top: 0;
		/*width: 100%;*/
		max-width: 100% !important;
		z-index: 20000;
	}

	#logo-movie img
	{
		position: absolute;
		left: 0;
		top: 0;
		z-index: 30000;
		display: none;
	}
	
	body.home #top-custom-content h1{
		z-index: 10001;
	}	
	
	body.home .siteHeader
	{
		height: 120px;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
	
	body.home .siteHeadContainer
	{
		display: none;
	}
	
	body.home .homeHeaderContainer
	{
		display: block;
		font-family: 'リュウミン B-KL';
	}
	
	body.home .homeHeaderContainerLogo
	{
		display: inline-block;
		position: absolute;
		left:75px;
		top:20px;
	}
	
	body.home .homeHeaderContainerLogo img
	{
		width: 520px;
	}
	
	body.home .homeHeaderContainer ul
	{
		list-style-type: none;
		padding: 0 75px 0 0 !important;
		margin: 0 !important;
	}

	body.home .homeHeaderContainer ul li
	{
		/*border:1px solid #fff;
		border-radius: 3px;
		color: #fff;
		padding: 3px 10px;
		margin-left: 20px;
		margin-bottom: 0 !important;*/
	}
	
	body.home .homeHeaderContainer ul li span,
	body.home .homeHeaderContainer ul li a
	{
		display: block;
		border-radius: 3px;
		padding: 3px 10px;
		margin-left: 20px;
		margin-bottom: 0 !important;
	}
	
	body.home .homeHeaderContainer ul li span
	{
		border:1px solid #fff;
		color: #fff;
	}
	
	body.home .homeHeaderContainer ul li a
	{
		border:1px solid #ccc;
		color: #ccc;
		
	}
	
	body.home .homeHeaderContainer ul li a:hover
	{
		border:1px solid #fff;
		color: #fff;
		text-decoration: none;
	}
	
	body.home #top-custom-content #hover-images
	{
		width: 100%;
	}
	
	body.home #top-custom-content #hover-images img
	{
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		/*display: none;*/
	}
	
	
	
	body.home #top-custom-content .navContainer
	{
		position: absolute;
		right: 0;
		right: -60%;
		top:0;
		width: 60%;
		height: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		background: transparent url("../images/top_menu_bg.png") left top repeat-y;
		transition: all 0.6s;
	}
	
	body.home #top-custom-content .navContainer.panelactive
	{
		right: 0;
	}
	
	body.home #top-custom-content .navContainer nav
	{
		/*background: #000;*/
		/*padding-right: 20%;*/
		padding-left: 225px;/*背景に対して左側の余白をとる*/
		opacity: 0;
	}
	
	body.home #top-custom-content .navContainer nav.active
	{
		opacity: 1;
		transition: 0.3s;
		transition-delay: 0.6s;
		padding-bottom: 0;
	}
	
	body.home #top-custom-content .navContainer nav ul 
	{
		/*background: #ff0;*/
		padding: 0;
	}
	
	/*hover時に色を変更*/
	body.home #top-custom-content .navContainer nav a
	{
		filter: brightness(87%);
	}
	
	body.home #top-custom-content .navContainer nav a:hover
	{
		filter: brightness(100%);
	}

	
	/*画像サイズは50%とする*/
	/*直下*/
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(1) > a > img
	{
		width: 102px;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(2) > a > img
	{
		width: 109px;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(3) > a > img
	{
		width: 179px;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(4) > a > img
	{
		width: 87px;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(5) > a > img
	{
		width: 97px;
	}
	
	/*孫*/	
	body.home #top-custom-content .navContainer nav ul li li img
	{
		width: 90px;
	}
	
	
	
	body.home #top-custom-content .navContainer nav ul li
	{
		position: relative;
		list-style-type: none;
		/*margin-bottom: 30px;*/
		margin-bottom: 10px;
		/*background: #f00;*/
	}
	
	body.home #top-custom-content .navContainer nav > ul > li
	{
		width: fit-content;
	}
	
	body.home #top-custom-content .navContainer nav > ul > li:first-child,
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(4)
	{
		/*width: 387px;*/
		/*width: 179px;*/
		width: 199px;
	}
	
	/*下の階層を持っているulの指定*/
	body.home #top-custom-content .navContainer nav li.has-child ul
	{
		/*絶対配置で位置を指定*/
		position: absolute;
		/*left:387px;*/
		left:199px;

		top:5px;
		z-index: 1000;
		/*形状を指定*/
		/*width:140px;*/
		width:90px;
		/*はじめは非表示*/
		visibility: hidden;
		opacity: 0;
		/*アニメーション設定*/
		transition: all .3s;
	}
	/*hoverしたら表示*/
	body.home #top-custom-content .navContainer nav li.has-child:hover > ul,
	body.home #top-custom-content .navContainer nav li.has-child ul li:hover > ul,
	body.home #top-custom-content .navContainer nav li.has-child:active > ul,
	body.home #top-custom-content .navContainer nav li.has-child ul li:active > ul
	{
	  visibility: visible;
	  opacity: 1;
		/*background: #f00;*/
	}	
	
	body.home #top-custom-content .navContainer nav ul li li
	{
		/*text-align: right;*/
		/*margin-right: 20px;*/
		margin-bottom: 5px;
	}


	
	.svg-wraper
	{
		position: absolute;
		right: 20px;
		top: calc(50% - 25px);
		width: 50px;
		height: 50px;
		z-index: 3000;
		/*background: #ff0;*/
	}
	
	/*メニュー展開ボタンに影をつける*/
	.svg-wraper svg,
	.svg-wraper span
	{
		filter: drop-shadow(4px 4px 4px #000);
	}
	
	.svg-box
	{
		display: block;
	}
	
	.svg-box, .menu-box
	{
		width: 50px;
		height: 50px;
		position: absolute;
		opacity: 1;
	}
	
	.menu-txt
	{
		display: block;
		position: absolute;
		color:#fff;
		filter: drop-shadow(4px 4px 4px #000);
		/*background: #f00;*/
		width: 6em;
		right: -50%;
		text-align: center;
		bottom:100%;
		/*right: calc(50% - 25px);*/
	}
	
	.svg-box.menuopened
	{
		opacity: 0 !important;
	}
	
	.svg-box .circle1
	{
		stroke:#fff;
		stroke-width:2px;
		fill: #fff;
		stroke-dasharray: 150;
		stroke-dashoffset: 150;
		fill-opacity: 0;
		stroke-opacity: 1;
		transition: stroke-opacity 2s;
		transition: stroke-dashoffset 2s;
		z-index: 3003;
	}
	
	.svg-box .circle1.active
	{
		stroke-dashoffset: 0;
	}	
	

	
	.svg-box .circle2
	{
		stroke:#fff;
		stroke-width:2px;
		fill: #fff;
		fill-opacity:0;
		stroke-opacity :1;
		/*transition: all 2s;*/
		z-index: 3001;
	}
	
	.svg-box .circle2.active
	{
		stroke:#999;
	}
	
	.svg-box .circle3
	{
		stroke:#999;
		stroke-width:2px;
		fill: #fff;
		fill-opacity:0;
		stroke-opacity :0;
		z-index: 3002;
		transition: stroke-opacity 0s 2s;
	}
	
	.svg-box .circle3.active
	{
		stroke-opacity :1;
	}
	

	
	.menu-box .openbtn {
		position: absolute; /*ボタン内側の基点となるためrelativeを指定*/
		/*background: #57a2c7;*/
		cursor: pointer;
		width: 50px;
		height: 50px;
		/*border-radius: 5px;*/
		z-index: 3004;
	}
	
	.menu-box .openbtn span
	{
		display: inline-block;
		transition: all .4s;/*アニメーションの設定*/
		position: absolute;
		left: 14px;
		height: 2px;
		border-radius: 2px;
		background: #fff;
		width: 45%;
	}
	
	.menu-box .openbtn span.active
	{
		background: #999!important;
	}

	.menu-box .openbtn span:nth-of-type(1) {
		top:15px; 
	}

	.menu-box .openbtn span:nth-of-type(2) {
		top:24px;
	}

	.menu-box .openbtn span:nth-of-type(3) {
		top:33px;
	}
	

	.menu-box .openbtn.active span:nth-of-type(1) {
		top: 18px;
		left: 13px;
		transform: translateY(6px) rotate(-45deg);
		width: 50%;
	}

	.menu-box .openbtn.active span:nth-of-type(2) {
		opacity: 0;/*真ん中の線は透過*/
	}

	.menu-box .openbtn.active span:nth-of-type(3){
		top: 30px;
		left: 13px;
		transform: translateY(-6px) rotate(45deg);
		width: 50%;
	}
	
	body.home #news_top {
		position: absolute;
		left:50px;
		bottom:50px;
		visibility: visible;
		pointer-events: auto;
	    opacity: 1;
		transition: all .4s;/*アニメーションの設定*/
	}
	
	body.home #news_top.hide {
		visibility: hidden;
		pointer-events: none;
		opacity: 0;
		transition: all .4s;/*アニメーションの設定*/
	}

}

@media (min-width:1200px)
{
	
	.svg-box, .menu-box
	{
		right: 20px;
	}
	
	.menu-txt
	{
		position: absolute;
		right: calc(-50% + 20px);
	}
}

@media (min-width:1400px)
{
	
	/*画像サイズは100%とする*/
	/*直下*/
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(1) > a > img
	{
		width: auto;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(2) > a > img
	{
		width: auto;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(3) > a > img
	{
		width: auto;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(4) > a > img
	{
		width: auto;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(5) > a > img
	{
		width: auto;
	}
	
	body.home #top-custom-content .navContainer nav ul li li img
	{
		width: auto;
	}
	
	body.home #top-custom-content .navContainer nav > ul > li:first-child,
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(4)
	{
		width: 387px;
	}
	
	
	/*下の階層を持っているulの指定*/
	body.home #top-custom-content .navContainer nav li.has-child ul
	{
		left:387px;
		width:142px;
	}
	
	body.home #top-custom-content .navContainer nav > ul > li
	{
		padding-bottom: 10px;
	}
	
	body.home #top-custom-content .navContainer nav ul li li
	{
		/*text-align: right;*/
		/*margin-right: 20px;*/
		margin-bottom: 20px;
	}
	
	
	/*.svg-box, .menu-box
	{
		right: 40px;
	}*/
}

@media (min-width:1600px)
{
	body.home #top-custom-content .navContainer
	{
		right: -950px;
		width: 950px;
	}
	
	body.home #top-custom-content .navContainer nav
	{
		padding-left: 245px;
	}
	
	
	/*画像サイズは100%とする*/
	/*
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(1) > a > img
	{
		width: auto;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(2) > a > img
	{
		width: auto;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(3) > a > img
	{
		width: auto;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(4) > a > img
	{
		width: auto;
	}
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(5) > a > img
	{
		width: auto;
	}
	
	body.home #top-custom-content .navContainer nav ul li li img
	{
		width: auto;
	}
	
	
	body.home #top-custom-content .navContainer nav > ul > li:first-child,
	body.home #top-custom-content .navContainer nav > ul > li:nth-child(4)
	{
		width: 387px;
	}
	

	body.home #top-custom-content .navContainer nav li.has-child ul
	{
		left:387px;
		width:140px;
	}*/
	
	.svg-box, .menu-box
	{
		right: 50px;
	}
	
	.menu-txt
	{
		position: absolute;
		right: calc(-50% + 50px);
	}
}

@media (min-width:1900px)
{
	
	body.home #top-custom-content h1
	{
		padding :83px 0 0 76px;
		width:711px;
	}
	
	.svg-box, .menu-box
	{
		right: 60px;
	}
	
	.menu-txt
	{
		position: absolute;
		right: calc(-50% + 60px);
	}
}
