@charset "UTF-8";

/*================================================================================
  common
==================================================================================*/
/*---------------------------------------------------- a */
a {
	color: #4c4948;
	text-decoration: none;
} 
/*a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}*/


/* -------------------------------------- UTILITY */
.clear {
	clear:both;
}
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}
.fs10{font-size:1.0rem;}
.fs12{font-size:1.2rem;}
.fs14{font-size:1.4rem;}
.fs16{font-size:1.6rem;}

.indent-1em {display:block;margin-left:1em;text-indent:-1em;}
.indent-2em {display:block;margin-left:2em;text-indent:-2em;}
.indent-3em {display:block;margin-left:3em;text-indent:-3em;}
.indent-4em {display:block;margin-left:4em;text-indent:-4em;}
.indent-5em {display:block;margin-left:5em;text-indent:-5em;}
.indent-6em {display:block;margin-left:6em;text-indent:-6em;}

.text-center {text-align:center!important;}
.text-left   {text-align:left!important;}
.text-right  {text-align:right!important;}

.mt0 {margin-top:0!important;}
.mt5 {margin-top:5px!important;}
.mt10 {margin-top:10px!important;}
.mt15 {margin-top:15px!important;}
.mt20 {margin-top:20px!important;}
.mt25 {margin-top:25px!important;}
.mt30 {margin-top:30px!important;}
.mt40 {margin-top:40px!important;}
.mt50 {margin-top:50px!important;}
.mt60 {margin-top:60px!important;}
.mt70 {margin-top:70px!important;}
.mt80 {margin-top:80px!important;}
.mt90 {margin-top:90px!important;}
.mt100 {margin-top:100px!important;}

.mb0 {margin-bottom:0!important;}
.mb5 {margin-bottom:5px!important;}
.mb10 {margin-bottom:10px!important;}
.mb15 {margin-bottom:15px!important;}
.mb20 {margin-bottom:20px!important;}
.mb25 {margin-bottom:25px!important;}
.mb30 {margin-bottom:30px!important;}
.mb40 {margin-bottom:40px!important;}
.mb50 {margin-bottom:50px!important;}
.mb60 {margin-bottom:60px!important;}
.mb70 {margin-bottom:70px!important;}
.mb80 {margin-bottom:80px!important;}
.mb90 {margin-bottom:90px!important;}
.mb100 {margin-bottom:100px!important;}
.mb150 {margin-bottom:150px!important;}


/*ga*/
@media screen and (min-width: 768px){
        .sp_only{
            display: none!important;
        }
    }
    
@media screen and (max-width: 767px){
        .pc_only{
            display: none!important;
        }
    }

/*================================================================================
  base
==================================================================================*/

html,
body {
	position: relative;
	width: 100%;
	height: 100%;
	font-size: 62.5%;
	color: #4c4948;
}
html {
	overflow-x: hidden; 
}
body {
	font-family:Arial , Helvetica Neue , Verdana , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-weight:normal;
	-webkit-text-size-adjust: none;
	font-size: 1.4rem;
}
/*--------------------------------------------------------- global_menu */
nav.fixed {
	position:fixed;
	height:100px !important;
	z-index:99998;
}
.menubtn {
	position:fixed;
	top:30px;
	right:0;
	display:block;
	width:60px;
	padding:18px 19px 19px;
	background-color:#FFF;
	border:solid 1px #e3e3e3;
	box-sizing:border-box;
	font-size:0;
	cursor:pointer;
}
.menubtn p,
.menubtn p span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menubtn p {
	position: relative;
	width: 24px;
	height: 21px;
}
.menubtn p span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #4c4948;
}
.menubtn p span:nth-of-type(1) {
	top: 0;
}
.menubtn p span:nth-of-type(2) {
	top: 9px;
}
.menubtn p span:nth-of-type(3) {
	bottom: 0;
}
.menubtn.active p span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-315deg);
	transform: translateY(9px) rotate(-315deg);
}
.menubtn.active p span:nth-of-type(2) {
	opacity: 0;
}
.menubtn.active p span:nth-of-type(3) {
	-webkit-transform: translateY(-9px) rotate(315deg);
	transform: translateY(-9px) rotate(315deg);
}

header .logo {
	display:block;
	position:fixed;
	top:30px;
	right:60px;
	height:60px;
	padding:13px 15px;
	background-color:#FFF;
	border:solid #e3e3e3;
	border-width:1px 0 1px 1px;
	box-sizing:border-box;
	z-index:99999;
	opacity:1.0;
	transition: all .2s;
}
body.open header .logo {
	opacity:0.0;
}
header .logo.simple {
	display:block;
	position:fixed;
	top:30px;
	right:0px;
	height:60px;
	padding:13px 15px;
	background-color:#FFF;
	border:solid #e3e3e3;
	border-width:1px 0 1px 1px;
	box-sizing:border-box;
	z-index:998;
}
header .logo img {
	width:110px;
	height:auto;
}

#nav-bg {
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
	background-color:rgba(242,242,242,0.95);
    /*background: #f2f2f2;*/
    -webkit-transition: all .2s ease-out;
    transition: all .2s ease-out;
	opacity: 0;
	z-index:999;
	visibility:hidden;
}

.open #nav-bg {
	opacity: 1;
    -webkit-transition: all .2s ease-out;
    transition: all .2s ease-out;
	visibility: visible;
}

/* nav-list  */
#global-nav .nav_logo {
	position:fixed;
	top:30px;
	left:30px;
	width:200px;
	height:auto;
	opacity: 0;
	visibility:hidden;
}
.open #global-nav .nav_logo {
	opacity: 1;
	-webkit-transition: all .3s ease-out;
	transition: all .3s ease-out;
	visibility: visible;
}
#global-nav{
    position: fixed;
    display: table;
    top: 0;
    height: 100%;
    width: 100%;
    visibility: hidden;
    vertical-align: middle;
    color: #fff;
    text-align: center;
}
.open #global-nav {
  visibility: visible;
  z-index: 1000;
}
#global-nav ul {
	display:table-cell;
	vertical-align:middle;
}
#global-nav ul li {
	opacity: 0;
	margin-bottom:26px;
	font-size:3.0rem;
	font-weight:bold;
	color:#4c4948;
	letter-spacing: 2px;
	-webkit-transform: translateY(-100px);
	transform: translateY(-100px);
}
#global-nav ul li:last-child {
	margin:48px 0 0;
}
#global-nav ul li span {
	display:block;
	font-size:1.4rem;
	color:#F00;
}
.open #global-nav ul li {
	opacity: 1;
	-webkit-transform: translateY(0px);
	transform: translateY(0px);
	
	-webkit-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.open #global-nav ul li:nth-child(1) {-webkit-transition-delay: 0.3s;transition-delay: 0.3s;}
.open #global-nav ul li:nth-child(2) {-webkit-transition-delay: 0.35s;transition-delay: 0.35s;}
.open #global-nav ul li:nth-child(3) {-webkit-transition-delay: 0.4s;transition-delay: 0.4s;}
.open #global-nav ul li:nth-child(4) {-webkit-transition-delay: 0.45s;transition-delay: 0.45s;}
.open #global-nav ul li:nth-child(5) {-webkit-transition-delay: 0.5s;transition-delay: 0.5s;}
.open #global-nav ul li:nth-child(6) {-webkit-transition-delay: 0.55s;transition-delay: 0.55s;}
.open #global-nav ul li:nth-child(7) {-webkit-transition-delay: 0.6s;transition-delay: 0.6s;}
.open #global-nav ul li a {
	transition: all .2s;
}
.open #global-nav ul li a:hover {
	color:#F00;
	transition: all .2s;
}
#global-nav .entry a {
	display:block;
	position:relative;
	max-width:800px;
	width:92%;
	margin:0 auto;
	padding:28px 0 15px;
	color:#FFF;
	font-size:2.2rem;
	vertical-align:middle;
	background: -prefix-linear-gradient(left, #ff8c00, #F00);
	background: linear-gradient(to right, #ff8c00, #F00);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8c00', endColorstr='#ff0000', GradientType=1); /* IE7,8,9 */
}
#global-nav .entry a::after {
	content: '';
	position: absolute;
	top: 0;
	right: 20px;
	width:23px;
	height:100%;
	background:url(../img/icon_arrow02.png) no-repeat center center;
	background-size:contain;
	transition: all .2s;
}
#global-nav .entry a:hover {
	color:#FFF !important;
}
#global-nav .entry a:hover::after {
	right: 15px;
}

/*--------------------------------------------------------- content */
main {
	line-height:1.5;
	letter-spacing: 2px;
}
/*--------------------------------------------------------- h1 */
header h1 {
	letter-spacing: 2px;
}
header h1 p {
	font-size:8.0rem;
	text-align:center;
}
header h1 p span:not(.other) {
	display:block;
	font-size:2.0rem;
	color:#F00;
}
/*--------------------------------------------------------- footer */
footer {
	background: #fff;
	line-height:1.5;
}
footer .inner {
	width: 96%;
	margin: 0 auto;
	max-width: 1020px;
}
footer .inner .box {
	padding: 75px 0 30px 0;
	overflow: hidden;
	border-bottom: 1px solid #ccc;
}
footer .inner .box h2 {
	float: left;
	max-width: 185px;
	font-size:0;
}
footer .inner .box p a {
	position:relative;
	float: right;
	width: 53px;
	height:53px;
	background:url(../img/pagetop01.png) no-repeat;
	background-size:cover;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
footer .inner .box p a img {
	position: absolute;
	top: 0;
	right: 0;
	width: 53px;
	height:53px;
	background:url(../img/pagetop02.png) no-repeat;
	background-size:cover;
	transition: all .2s;
}
footer .inner .box p a:hover img {
	top: -3px;
}
footer .inner nav {
	overflow: hidden;
	margin: 35px 0 70px 0;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap;
}
footer .inner nav .column {
	margin: 0 5% 0 0;
}
footer .inner nav .column a ,
footer .inner nav .column a:hover {
	transition: all .2s;
}
footer .inner nav .column a:hover {
	color:#b4b4b4;
}
footer .inner nav .column h3 {
	margin: 0 0 10px 0;
	font-size: 1.6rem;
}
footer .inner nav .column ul li {
	margin: 0 0 4px 0;
	font-size: 1.2rem;
}
footer .copy {
	padding: 10px 0;
	background: #4c4948;
	font-size: 1.2rem;
	text-align: center;
	color: #fff;
}

@media screen and (max-width:1024px) {
	/*--------------------------------------------------------- footer */
	footer .inner nav .column {
		margin: 0 3.8% 0 0;
	}
	footer .inner nav .column h3 {
		margin: 0 0 10px 0;
		font-size: 1.4rem;
	}
	footer .inner nav .column ul li {
		margin: 0 0 4px 0;
		font-size: 1.0rem;
	}
}
@media screen and (max-width:767px) {
/*--------------------------------------------------------- global_menu */
	.menubtn {
		position:fixed;
		top:0;
		right:0;
		width: auto;
		padding:14px;
		background-color: rgba(255,255,255,0.4);
		border:none;
	}
	.open .menubtn {
		background-color: transparent;
	}
	.menubtn p {
		position: relative;
		width: 22px;
		height: 19px;
	}
	.menubtn span {
		background-color: #4c4948;
	}
	.menubtn p span:nth-of-type(2) {
		top: 8px;
	}
	.menubtn.active p span:nth-of-type(1) {
		-webkit-transform: translateY(8px) rotate(-315deg);
		transform: translateY(8px) rotate(-315deg);
	}
	.menubtn.active p span:nth-of-type(2) {
		opacity: 0;
	}
	.menubtn.active p span:nth-of-type(3) {
		-webkit-transform: translateY(-8px) rotate(315deg);
		transform: translateY(-8px) rotate(315deg);
	}
	header .logo {
		display:none;
	}
	#contact header .logo.simple {
		position:absolute;
		top:10px;
		left:10px;
		width:130px;
		padding:0;
		background:none;
		border:none;
	}
	#contact header .logo.simple img {
		width:100%;
		height:auto;
	}
	/* nav-list  */
	#global-nav .nav_logo {
		position:fixed;
		top:10px;
		left:10px;
		width:130px;
	}
	#global-nav ul {
		padding-top:35px;
	}
	#global-nav ul li {
		margin-bottom:12px;
		font-size:1.8rem;
	}
	#global-nav ul li:last-child {
		margin:26px 0 0;
	}
	#global-nav ul li span {
		font-size:1.0rem;
	}
	#global-nav .entry a {
		padding:14px 0;
		font-size:1.6rem;
	}
	#global-nav .entry a::after {
		content: '';
		position: absolute;
		top: 0;
		right: 15px;
		width:12px;
	}
	#global-nav .entry a:hover::after {
		right: 10px;
	}
    
	/*--------------------------------------------------------- content */
	main {
		letter-spacing: 1px;
	}
    
	/*--------------------------------------------------------- h1 */
	header h1 p {
		font-size:3.2rem;
	}
	header h1 p span:not(.other) {
		font-size:1.4rem;
	}
	/*--------------------------------------------------------- footer */
	footer .inner {
		width: 92%;
	}
	footer .inner .box {
		padding: 30px 0 25px 0;
	}
	footer .inner .box h2 {
		max-width: 133px;
	}
	footer .inner .box p a {
		width: 38px;
		height: 38px;
	}
	footer .inner .box p a img {
		width: 38px;
		height: 38px;
	}
	footer .inner nav {
		margin: 30px 0 20px 0;
	}
	footer .inner nav .column {
		margin: 0 15px;
	}
	footer .inner nav .column h3 {
		font-size: 1.2rem;
	}
	footer .inner nav .column ul {
		display: none;
	}
	footer .copy {
		font-size: 1.0rem;
	}
}



    #global-nav .entry .nav_global_site_txt{
        color: #fff;
        text-align: center;
        font-size: 12px;
        margin-top: 10px;
    }

    #global-nav .entry .nav_global_site_txt svg{
        width: 13px;
        height: 13px;
        vertical-align: middle;
        display: inline-block;
        margin-left: 0.5em;
    }



@media screen and (max-width:767px) {
    #global-nav .entry p.nav_global_site_txt{/*ga*/
        position: absolute;
        left: 50%;
        transform: translate(-50%,-100%);
        top: 50%;
        margin-top: 20px;
        line-height: 1.5em;
        color: #4c4948;
        width: 100%;
        font-size: 12px;
        opacity: 0;
        transition: all .2s;
        
    }
    .open #global-nav .entry p.nav_global_site_txt{/*ga*/
        opacity: 1;
        transform: translate(-50%,50%);
    }
    
    #global-nav .entry p.nav_global_site_txt svg{/*ga*/
        width: 13px;
        height: 13px;
        margin-left: 0.3em;
    }
}
