@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Poppins:400,700');

body{ 
text-align:justify;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.fixed_body {
position: fixed;
width: 100%;
height: 100%;
}

.sans-serif { 
font-family:'Poppins', sans-serif;
font-weight:bold;
}

.mincho{ font-family: 游明朝, "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }


/*----------------------------------------------------------------------------------------------------------------------block_anime----------*/


.block-revealer__element {
position: absolute;
top: 0;
left: 0;
z-index:9999;
width: 100%;
height: 100%;
background:#000;
pointer-events: none;
opacity: 0;
}

#rev-0, #rev-1, #rev-2, #rev-3{
width:100%;
height:auto;
}

/*----------------------------------------------------------------------------------------------------------------------br_sp----------*/

.br_sp{ display:none; }

.br_no_sp{ display:inline; }

@media screen and (max-width:740px){ 

.br_sp{ display:inline; }

.br_no_sp{ display:none; }

}


/*----------------------------------------------------------------------------------------------------------------------css_btn----------*/

.cssbtn {
display: inline-block;
text-align: center;
outline: none;
box-sizing:border-box;
}

.cssbtn::before,
.cssbtn::after {
position: absolute;
z-index: -1;
display: block;
content: '';
}

.cssbtn,
.cssbtn::before,
.cssbtn::after {
-webkit-transition: all .3s;
transition: all .3s;
}

/*----------------------------------------------------------------------------------------------------------------------header----------*/

header{ 
width:100%;
height:150px;
position:relative;
position:fixed;
background-color:rgba(255,255,255,1.0);
z-index:100;
}

header h1{
text-indent:-9999px;
background:url("../images/top_logo.svg");
background-repeat:  no-repeat;            
background-position:center center;
background-size: contain;
width: 100%;
height: 65px;
margin-top: 32px;
}

/*------#gnav------*/

#gnav{
width:100%;
position:absolute;
top:130px;
right:0px;
padding-right:0px;
background-color: #B3B3B3;
}

#gnav ul{
width:980px;
margin:0 auto;
padding-left: 45px;
}

#gnav li{ 
width:16%;
max-width:163px;
display:inline-block;
position:relative;
padding:10px;
font-size: 17px;
}

#gnav li a{ color: #fff;}

/*#gnav li a::after{
background-color:#fff000;
content: "";
display:block;
position:absolute;
height:2px;
left: 0;
width: 0%;
transition: all 0.25s cubic-bezier(0.19, 1, 0.22, 1);
}*/

#gnav li a:hover{ color: #000; }

#gnav li a:hover::after{ width:100%; }

#gnav .more{
width:156px;
height:36px;
position:absolute;
top:0;
right:0;
}

#gnav .more a {
background-color:#3051a1;
border: 1px solid #3051a1;
border-radius:18px;
color: #fff;
line-height: 34px;
width:100%;
font-size: 14px;
}

#gnav .more a:hover {
background-color:#fff;
border: 1px solid #3051a1;
color:#3051a1;
}


@media screen and (max-width:1024px){

header{
height:100px;
}
	
header h1{
background:url("../images/top_logo.svg") no-repeat left top;
background-size: contain;
width: 180px;
height: 40px;
top:20px;
left:20px;
margin-top: 25px;
}

	
#gnav{ display: none; }

}



@media screen and (max-width:740px){

header{
height:80px;
}
	
header h1{
background:url("../images/top_logo.svg") no-repeat left top;
background-size: contain;
width: 180px;
height: 40px;
top:20px;
margin-left: 20px;
margin-top: 15px;
}


}


/*----------------------------------------------------------------------------------------------------------------------sp_menu----------*/

#sp_menu{ display: none; }


@media screen and (max-width:1024px){

#sp_menu{
display: block;
position:fixed;
top:0;
left:0;
z-index:2000;
width:100%;
}

.menu-trigger,
.menu-trigger span {
display: inline-block;
transition: all .3s;
box-sizing: border-box;
}

.menu-trigger {
position: relative;
width: 55px;
height: 55px;
}

.menu-trigger span {
position: absolute;
left: 0;
width: 40%;
height: 2px;
background-color:#B3B3B3;
}

.menu-trigger span:nth-of-type(1) { top: 36%; left: 35%; }
.menu-trigger span:nth-of-type(2) { top: 47%; left: 35%; }
.menu-trigger span:nth-of-type(3) { top: 58%; left: 35%; }

.menu-trigger.active span:nth-of-type(1) {
-webkit-transform: translateY(6px) rotate(-45deg);
transform: translateY(6px) rotate(-45deg);
background-color:#fff;
}

.menu-trigger.active span:nth-of-type(2) { opacity: 0; }

.menu-trigger.active span:nth-of-type(3) {
-webkit-transform: translateY(-6px) rotate(45deg);
transform: translateY(-6px) rotate(45deg);
background-color:#fff;
}

#sp_menu .btn {
position: absolute;
top:18px;
right:1px;
z-index:10000;
}

#sp_menu .drawr {
display: none;
background-color:rgba(179,179,179,0.9);
position: absolute;
top:0;
right:0;
width:100%;
z-index: 999;
font-size:15px;
text-align: center;
}

.sp_inner{
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
width:80%;
font-size:25px;
font-weight: bold;
}

.drawr ul{ overflow:hidden; }

.drawr li{ width:100%; }

/*.drawr li:first-child{ border-top:1px dotted #5070a1; }*/

.drawr li a{
color:#fff;
display:block;
width:100%;
height:60px;
line-height:60px;
/*border-bottom:1px dotted #5070a1;*/
/*background:url("../images/arrow_wh.png") no-repeat right 5% center;
background-size:15px 15px;*/
}


}


@media screen and (max-width:740px){
	
#sp_menu .btn { top:9px; }

}


/*----------------------------------------------------------------------------------------------------------------------#cont----------*/

#mainimg{
width:calc(100%);
margin:0;
}

#cont{
width:calc(100% - 0px);
background-color: #B3B3B3;
}

.cont_cmn_top{ padding-top:0px; }
.cont_cmn_page{ padding-top:180px; }

.tit_en{
font-size:25px !important;
color:#3051a1;
letter-spacing:2px;
}


.tit_sec{
font-size:17px !important;
font-weight: bold;
color: #4d4d4d;
letter-spacing:0.5px;
line-height:1.7;
}

.tit_sec::after{
background-color:#3051a1;
content:"";
display:block;
height:1px;
margin-top:14px;
width:auto;
}


@media screen and (max-width:1024px){

.cont_cmn_page{ padding-top:0px; }
}


@media screen and (max-width:740px){
	
#cont{
width:calc(100% - 0px);
margin:0 0px;
}	
	
.cont_cmn{ padding-top:0px; }
.cont_cmn_page{ padding-top:0px; }

.tit_en{ font-size:14px; }

.tit_sec{ font-size:22px; }

}



/*----------------------------------------------------------------------------------------------------------------------#page_tit----------*/

#page_tit{
width:100%;
height:500px;
}

#page_tit h2{
padding-top:260px;
text-align:center;
color: #fff;
font-size:20px;
letter-spacing:5px;
/*text-shadow:2px 2px 3px #595757;*/
}

#page_tit h2 span{
display:block;
font-size:50px;
line-height:1.2;
font-weight:600;
letter-spacing:10px;
color: #fff;
}

@media screen and (max-width:1024px){

#page_tit_img{ height:500px; }

#page_tit h2{ padding-top:100px; }

#page_tit h2 span{ font-size:44px; }

}


@media screen and (max-width:740px){
	
#page_tit{ height:360px; }

#page_tit h2{ 
padding-top:150px;
font-size:16px;
}

#page_tit h2 span{
font-size:36px;
letter-spacing:5px;
}

}



/*----------------------------------------------------------------------------------------------------------------------footer----------*/

footer{
margin:50px 0px 0px 0px;
position:relative;
width: calc(100%);
padding:0px 0px 80px 50px;
}

footer a{ color:#5D5D5D; }

footer .inner{
width:90%;
max-width:1080px;
color:#5D5D5D;
font-size:12px;
margin:0 auto;
position:relative;
}

.back_top{
position:absolute;
top:20px;
right:0;
}

.back_top a{
display:block;
transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
opacity:1;
margin-top:0;
}

.back_top a:hover{ 
opacity:0.5;
margin-top:-8px;
}

.info_footer{
border-bottom:0.5px dotted #5D5D5D;
padding-bottom:20px;
}

.info_footer p{
font-size: 14px;
line-height:1.6;
margin-top:15px;
}

.botom_footer{ margin:20px auto 0; }

.footer_menu{ 
float: left;
width:60%;
}

.footer_menu li {
display: inline-block;
margin-right:14px;
}

.footer_menu li a{ 
color:#5D5D5D;
position:relative;
}

.footer_menu li a::after{
background-color:#5D5D5D;
content: "";
display:block;
position:absolute;
left: 0;
bottom:-5px;
width: 0%;
height:1px;
transition: all 0.25s cubic-bezier(0.19, 1, 0.22, 1);
}

.footer_menu li a:hover::after{ width:100%; }

.botom_footer .copy{
font-size:10px;
font-weight:500;
text-align:center;
letter-spacing:2px;
color: #5D5D5D;
}

/*▼SNSアイコン*/

footer ul{
text-align:center;
margin-top:25px;
}

footer ul li{
display:inline-block;
padding:0 5px;
}

footer h2 img,
footer .ft_insta img{
width:100%;
height:auto;
}

footer .ft_insta a{
transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
opacity:1;
}

footer .ft_insta a:hover{ opacity:0.5; }


@media screen and (max-width:1024px){

.footer_menu{ 
float: none; 
width:100%;
}

.botom_footer .copy{
text-align:left;
margin-top:10px;
}

}

@media screen and (max-width:740px){

footer{
margin:20px 0px 0px 0px;
padding:20px 0 100px;
width: calc(100%);
}
	

footer .inner{ width:80%; }

.back_top{
position:static;
text-align:center;
padding-bottom:20px;
}
	
.botom_footer{ margin:0 auto; }

	
.footer_menu li {
display:block;
width:50%;
float:left;
margin-right:0;
border-bottom:1px dotted #484848;
padding:14px 0;
}	

.botom_footer .copy{ margin-top:20px; }

.back_top a:hover{ 
opacity:1;
margin-top:0;
}

}