@charset "utf-8";

/*=====================================================
COMMON-LAYOUT
======================================================*/

/*　ページ崩れの元を下記で削除*/
div:after, dl:after, ul:after{
	content:none;
}

header{
	position: fixed;
	left:0;
	top:0;
	width:100%;
	height:53px;
	background:url("../images/common/sp_nav_bg.jpg") center top repeat;
	display:none;
	z-index:5555;
}

.nav_btn {
    position:absolute;
	right:0;
	top:0;
    cursor: pointer;
    z-index: 10;
    width: 60px;
    height: 53px;
	text-align:center;
}

.nav_btn hr {
    width: 30px;
    background: #6A5051;
    height: 3px;
    position: absolute;
    border: none;
    transform-origin: center center;
    left: 0;
    right: 0;
    margin: 0 auto;
	transition: 0.3s all ease-in-out 0s;
}


.nav_btn hr:nth-child(1){
	top: 14px;
}

.nav_btn hr:nth-child(2){
	top: 24px;
}

.nav_btn hr:nth-child(3){
	top: 34px;
}

body.nav_open .nav_btn hr{
	transition:0.3s all ease-in-out 0s;
}

body.nav_open hr:nth-child(1){
	transform:rotate(45deg);
	top: 23px;
}

body.nav_open hr:nth-child(2){
	opacity:0;
	transform:translateX(10px);
}

body.nav_open hr:nth-child(3){
	transform:rotate(-45deg);
	top: 23px;
}

.nav_open .gnavi_wrap {
    pointer-events: all;
    opacity: 1;
}







h1{
	display: none;
}

div.contents_wrap{
	width:100%;
	/*background:url("../images/common/bg.jpg") center top repeat;*/
}

div.container{
	max-width:950px;
	margin:0 auto;
	padding:0px 20px;
	box-sizing: content-box;
}



.img_cap{
	position: relative;
}

.img_cap span{
	background: rgba(0,0,0,0.6);
	font-size:10px;
	display: block;
	padding:3px 5px;
	line-height: 1.5;
	color: #FFFFFF;
	position: absolute;
	bottom: 0;
	right: 0;
	text-align: right;
}

.img_cap.white span{
	background: rgba(255,255,255,0.6);
	color: #333333;
}

.fix_btn{
	position: fixed;
	top:50%;
	right:10px;
	margin-top:-116px;
	text-align: center;
	z-index:100001;
}

.fix_btn li{
	margin-bottom:15px;
}

.fix_btn li:last-child{
	margin-bottom:0;
}

.fix_btn li:nth-child(1){
	font-size:12px;
	transform:rotate(90deg);
	position:relative;
	margin-bottom: 100px;
	line-height: 1;
}

.fix_btn li:nth-child(1):after{
	content:"";
	position:absolute;
	left:120%;
	top:45%;
	right:0;
	width:160%;
	height: 1px;
	
	border-top:1px solid #000;
}



/*	各ページ共通メニュー	*/

nav{
	position: relative;
	z-index:100000;
}

nav#footer-nav{
	position: relative;
	z-index:5550;
}



.gnavi_wrap{
	position: fixed;
	left:0;
	top:0;
	width:100%;
	transition:0.3s all ease-in-out 0s;
	background:#D1E4EE;
	height:60px;
}

#top .gnavi_wrap{
	position: relative;
	height:80px;
}



.menu_navi{
	/*max-width:890px;*/
	max-width:1200px;
	margin:0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	flex-wrap:wrap;
}

body#top .menu_navi{
	max-width:1200px;
}

.menu_navi.vsp{
	display:none;
}

.menu_navi>li{
	width:11.5%;
	position: relative;
	height:60px;
	display:flex;
	box-sizing: content-box;
	justify-content:space-between;
}

.menu_navi>li.inner_logo{
	width:8%;
}

.menu_navi>li.inner_logo a{
	background:none!important;
	padding:0 5px;
}

.menu_navi>li.inner_logo a:after{
	content:none;
}


body#top .menu_navi>li.inner_logo{
	display: none;
}

/*
.menu_navi>li:nth-child(odd) a{
	background:#5bbfd8;
	
}

.menu_navi>li:nth-child(even) a{
	background:#f7b635;
}
*/

.menu_navi>li.inner_navi{
	width:8%;
	align-items:center;
	justify-content: center;
}


.menu_navi>li.inner_navi p{
	text-align: center;
	padding:0 5px;
}

.menu_navi>li.inner_navi a{
	background:none;
}

.menu_navi>li.inner_navi a:after{
	content:none;
}

body#top .menu_navi>li{
	width:calc(100% / 7);
	height:80px;
}

body#top .menu_navi>li.inner_navi{
	display: none;
}

.menu_navi>li>a{
	width: 100%;
	padding-top:10px\0;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction: column;
	text-align: center;
	font-size:12px;
	color:#333;
	background:#D1E4EE;
	box-sizing:border-box;
	position: relative;
	line-height: 1.25;
	border-right:1px solid #FFF;
	transition:0.3s all ease-in-out 0s;
	font-feature-settings: "palt";
}

.menu_navi>li.inner_logo>a{
	border-right:none;
}

.menu_navi>li.first>a{
	border-left:1px solid #FFF;
	pointer-events: none;
}

body#top .menu_navi>li .sub_nav_wrap a{
	font-size: 14px;
}

.menu_navi>li .sub_nav_wrap{
	position: absolute;
	left:1px;
	top:100%;
	width: 280px;
	background:#FFF;
	transition: 0.3s clip-path ease-in-out 0s;
	clip-path:inset(0 0 100% 0);
	pointer-events: none;
	background:#D1E4EE;
	display: flex;
	flex-direction: column;
}

.menu_navi>li.subnav.hover .sub_nav_wrap{
	clip-path:inset(0 0 0 0);
	pointer-events: all;
}

	
.menu_navi>li .sub_nav_wrap a{
	font-size: 12px;
	padding:8px 10px;
	line-height: 1.8;
	position: relative;
}

.menu_navi>li .sub_nav_wrap a:hover{
	color:#333;
}

.menu_navi>li .sub_nav_wrap a:after{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	right: 4px;
	bottom: 4px;
	border: 6px solid transparent;
	border-bottom: 6px solid #FFF;
	border-right: 6px solid #FFF;
}

.menu_navi>li .sub_nav_wrap a:not(:first-of-type){
	border-top:1px solid #FFF;
}


.menu_navi>li>a .plus_icon{
	right: 10px;
    top: 50%;
    position: absolute;
    width: 32px;
    height: 32px;
    transform: translateY(-50%);
	
	display: none;
}

.menu_navi>li>a .plus_icon:before,
.menu_navi>li>a .plus_icon:after{
	position: absolute;
    content: "";
    display: block;
    transition: transform 0.4s;
    background: #2D2C37;
    left: 50%;
    top: 50%;
    width: 53.125%;
    height: 1px;
    transform: translate(-50%, -50%);
}

.menu_navi>li>a .plus_icon:before{
    transform: translate(-50%, -50%) rotate(90deg);
}

.menu_navi>li>a .plus_icon.active:before{
	transform: translate(-50%, -50%) rotate(0deg); 
}

body#top .menu_navi>li>a{
	font-size:14px;	
	padding:8px 10px;
}

body:not(.mobile) .menu_navi>li>a:hover{
	opacity:0.7;
}


.menu_navi>li>a:after{
	content:"";
	position: absolute;
	width:0;
	height:0;
	right:4px;
	bottom:4px;
	border:6px solid transparent;
	border-bottom:6px solid #FFF;
	border-right:6px solid #FFF;
}

.menu_navi>li>a .new{
	font-size:12px;
	display: block;
	color:#DE0012;
}

.menu_navi>li>a .new:before{
	content:"";
	display: inline-block;
	width:1px;
	margin-right:5px;
	height: 10px;
	background:#de0012;
	transform: scale(0.8) skewX(20deg);
}

.menu_navi>li>a .new:after{
	content:"";
	display: inline-block;
	width:1px;
	margin-left:5px;
	height: 10px;
	background:#de0012;
	transform: scale(0.8) skewX(-20deg);
}

body#top .menu_navi>li>a .new{
	font-size:15px;
}

body#top .menu_navi>li>a .new:before{
	height: 14px;
}

body#top .menu_navi>li>a .new:after{
	height: 14px;
}

.menu_navi>li>a .text_min{
	font-size: 11px;
}
.menu_navi>li.first>a{
	padding-bottom:0;
}


.menu_navi>li .sub_navi{
	position: absolute;
	right:0;
	top:60px;
	max-height:0px;
	overflow:hidden;
	transition:0.3s max-height ease-in-out 0s;
	z-index:1000;
	pointer-events: none;
	width:100%;
}

body#top .menu_navi>li .sub_navi{
	top:80px;
}
 
.menu_navi>li .sub_navi:after{
	content:none;
}

.menu_navi>li .sub_navi .sub_navi_in{
	padding:5px; 
	background:#FFF;
	border:1px dotted #f7b635;
}

.menu_navi>li:nth-child(2):hover .sub_navi{
	max-height:158px;
	opacity:1;
	pointer-events:visible;
}

.menu_navi>li:nth-child(2){
	cursor:pointer;
}

.menu_navi>li .sub_navi a{
	display:block;
	font-size:11px!important;
	color:#FFF;
	padding:5px 2px 5px 5px;
	box-sizing:border-box;
	letter-spacing: -0.05em;
	transition:0.5s all ease-in-out 0s;
	background:#f7b635;
	margin-bottom:5px;
}

body#top .menu_navi>li .sub_navi a{
	font-size:13px!important;	
}

.menu_navi>li .sub_navi a:hover{
	opacity:0.7;
}

@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.menu_navi>li .sub_navi a{
		padding:5px 5px 0;
	}
}

.menu_navi>li .sub_navi a:last-child{
	margin-bottom:0;
}

.menu_navi>li .sub_navi a:after{
	content:none;
}


.menu_navi>li.none a {
	pointer-events: none;
	color:#898989;
}

.pagetop{
	position: fixed;
	right:-70px;
	bottom:85px;
	transition:0.8s all ease-in-out 0s;
	z-index:5550;
}

.pagetop:hover{
	opacity:0.7;
}

.scrolled .pagetop{
	right:20px;	
}


div#footer div#footer-inner{
	max-width:950px!important;
	width:100%!important;
	
}





@media screen and (max-width: 1100px){

	.menu_navi>li>a{
		font-size:10px;
	}

	
	.fix_btn{
		position: static;
		padding:20px 10px;
		display:flex;
		justify-content: center;
		align-items: center;
		margin-top:0;
	    /*background: url(../images/common/bg.jpg) center top repeat;*/
	}
	
	
	.fix_btn li{
		margin-bottom:0;
		margin-right:10px;
	}
	
	.fix_btn li:nth-child(1){
		transform:rotate(0deg);
		line-height: 1;
		margin-right:50px;
		margin-bottom:0;
	}
	
	.fix_btn li:nth-child(1):after{
		width:80%;
	}

}


@media screen and (max-width: 960px){
	
	body#top .menu_navi>li>a{
		font-size:1.45vw;
	}
}

@media screen and (max-width: 768px){
	
	header{
		display:block;
		background:url("../images/top/head_deco.png") center top repeat-x;
	}
	
	
	
	.gnavi_wrap,
	#top .gnavi_wrap{
		height:0;
	}

	.menu_navi>li>a:after{
		right: 10px;
		bottom: 10px;
	}

	
	.gnavi_wrap{
		position: fixed;
		top: 53px!important;
		left: 0;
		right: 0;
		display: flex;
		justify-content: center;
		opacity: 0;
		transition: all 0.5s ease-in-out 0s;
		z-index:5555;
		pointer-events: none;
	}
	
	body#top .gnavi_wrap{
		position: fixed;
	}

	
	ul.menu_navi {
		position: absolute;
		background: rgba(255,255,255,0.9);
		top: 0;
		left: 0;
		right: 0;
		z-index: 9999;
		display: none;
		width:100%;
		align-items:center;
		justify-content: center;
		box-sizing:border-box;
	}
	
	.menu_navi>li{
		width:100%;
		height:auto;
		display:block;
		margin-right:0;
		text-align: center;
	}
	
	.menu_navi>li.inner_logo{
		width:100%;
	}
	
	.menu_navi>li.inner_logo a{
		padding:15px 10px;
		text-align: center;
	}
	
	body#top .menu_navi>li{
		width:100%;	
		height:auto;
	}
	
	.menu_navi>li>a .new{
		left:0;
		right:0;
		text-align: center;
		font-size:13px;
	}
	
	body#top .menu_navi>li>a{
		font-size:16px;
	}
	
	
	
	
	body#top .menu_navi>li>a .new{
		font-size:13px;
	}
	
	.menu_navi>li:last-child{
		width: 100%;
	}
	
	
	.menu_navi>li:nth-child(2){
		padding-left:0;
		/*max-width:320px;*/
		max-width:100%;
		margin:0 auto;
		/*background:#f7b635;*/
		padding:0;
 	}
	
	.menu_navi>li .cs{
		left:calc(50% + 110px);
		right:auto;
		top:-30%!important;
		width:auto;
	}
	
	.menu_navi>li .great{
		right:calc(50% + 90px);
		left:auto;
		width:auto;
		top:-10px!important;
	}
	
	
	.menu_navi>li:last-child:after{
		width:100px;
		margin:auto;
		top:50%;
		margin-top:-1px;
	}
	
	.menu_navi>li>a{
		/*max-width:320px;*/
		max-width:100%;
		border-right:none;
		text-align: left;
		width:100%;
		margin:0 auto;
		font-size:18px;
		
		padding:20px!important;
		display: inline-block;
	}
	
	.menu_navi>li:nth-child(2)>a{
		padding:20px;
	}
	
	body#work .menu_navi>li:nth-child(2) .sp_navi{
		color:#F00;
	}
	
	.menu_navi>li:nth-child(2)> .sp_navi{
		font-size:20px;
		color:#FFF;
	}
	
	
	.menu_navi>li:nth-child(2)> .sub{
		transition: 0.5s all ease-in-out 0s;
		list-style: none;
		max-width:260px;
		margin:10px auto 0;	
	}

	
	.menu_navi>li:nth-child(2)> .sub a{
		text-align: left;
		padding:5px 15px;
		color:#FFF;
	}
	
	.menu_navi>li:nth-child(2)> .sub a:after{
		content:none;
	}

	.menu_navi>li:nth-child(2)> .sub a{
		color:#f7b635;
		background:#FFF;
		font-size:17px;
		padding:5px 15px;
		margin-bottom:5px;
	}
	
	.menu_navi>li:nth-child(2)> .sub a:last-child{
		margin-bottom:0;
	}
	
	.menu_navi>li:nth-child(2)> .sub a:after{
		content:none;
	}
	
	
	
	.menu_navi>li:nth-child(2)>a{
		pointer-events: visible;
	}
	
	div.contents_wrap{
		padding-top:53px;
	}
	
	.meiji_logo_b{
		padding:20px;
	}
	
	.inner_navi_wrap{
		margin-top:0;
	}
	
	.gnavi_wrap{
		padding:0;
	}
	
	
	.menu_navi>li.first > a:after{
		content:none;
	}
	
	.menu_navi>li>a .plus_icon{
		display: block;	
	}
	
	.menu_navi>li .sub_nav_wrap{
		position: relative;
		left:auto;
		top:auto;
		width: 100%;
		clip-path:unset;
		pointer-events: all;
		background:#EEF7FA;
		text-align: left;
		
		display: none;
	}
	
	.menu_navi>li .sub_nav_wrap a:not(:first-of-type){
		border-top: 1px dotted #D1E4EE;
	}
	
	.menu_navi>li .sub_nav_wrap a{
		display: block;
		padding: 15px 20px 15px 40px;
	}
	
	.menu_navi>li.first>a{
		border:none;
	}
	
}


@media screen and (max-width: 640px){

	.pagetop{
		position: static;
		text-align: center;
		padding:0 10px 10px;
		/*background: url(../images/common/bg.jpg) center top repeat;*/
	}

}

@media screen and (max-width: 767px) and (orientation: landscape){
	
	ul.menu_navi{
		padding:10px 0;
	}
	
	.menu_navi>li.first a img{
		max-width:70px;
		margin:0 auto;
	}
	
	
	.menu_navi>li>a{
		padding:7px 20px;
		max-width:100%;
		font-size:12px;
	}
	
	.menu_navi>li:nth-child(2){
		padding:8px 10px;
	}
	
	.menu_navi>li:nth-child(2) .sp_navi{
		font-size:12px;
	}
	
	.menu_navi>li:nth-child(2)> .sub{
		max-width:100%;
		display:flex;
	}	
	
	
	.menu_navi>li:nth-child(2)> .sub a{
		font-size:12px;
		margin-bottom:0;
		width:33%;
		padding:3px 10px;
		margin-right:0.5%;
	    text-align: center;
	}
	
	.menu_navi>li:nth-child(2)> .sub a:last-child{
		margin-right:0;
	}
	
	.menu_navi>li:nth-child(2):after{
		max-width:100%;
	}
	
	
}

@media screen and (max-width: 480px){

	body#top .menu_navi>li>a{
		font-size:15px;
	}
	
	.menu_navi>li>a{
		font-size:15px;
		padding:13px 15px;
	}
	
}

@media screen and (max-width: 375px){
	
}
	
@media screen and (max-width: 320px){
	
	body#top .menu_navi>li>a,
	.menu_navi>li>a{
		font-size:13px;
	}	
	
	body#top .menu_navi>li .sub_nav_wrap a,
	.menu_navi>li .sub_nav_wrap a{
		font-size: 12px;
	}
	
	.menu_navi>li .great{
		right:auto;
		left:-5px;
	}
	

	
}
	
	
	



/* palallax */

.parallax{
	
}

.fadeup{
	transition:all 0.6s ease-in-out 0s,margin-top 0s ease-in-out 0s;
	opacity:0;
	transform:translateY(30px);
}

.fadeup.paraview{
	opacity:1;
	transform:translateY(0px);
}


.shiny,
a.shiny  {
    display: inline-block;
	max-width:100%;
    position: relative;
    overflow: hidden;
}

.shiny:before,
a.shiny:before {
    display: block;
    position: absolute;
    z-index: 10;
    left: -100%;
    top: 0;
    content: "";
    width: 100%;
    height: 100%;
	background: linear-gradient(135deg,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,0.5) 50%,rgba(255,255,255,0) 75%,rgba(255,255,255,0) 100%);
	animation: shiny 4s infinite linear 0s;
}


@keyframes shiny {
    0% {
        left: -100%;
    }
    20%,100% {
        left: 100%;
    }
}



.big_sm{
	animation: big_sm 2s infinite ease-in-out 0s;
	
}

@keyframes big_sm {
    0% {
        transform:scale(1);
		transform-origin:center;
    }
    50% {
        transform:scale(1.1);
		transform-origin:center;
    }
}









