﻿@font-face {
font-family: "gennei";
  src: url("./Dup/img/gennei.ttf") format("ttf"),url("./Dup/img/gennei.eot") format("eot"),url("./Dup/img/gennei.woff") format("woff"),url("./Dup/img/gennei.woff2") format("woff2");
}
.font1{font-family: "gennei","sans-serif";}
/*--------------------------------
疑似要素にオブジェクト
--------------------------------*/
#contents .box figure{position: relative;}
/*リピートなし*/
#contents .box figure:before{
content: "";
display: block;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
}

#contents .box1 figure:before{
background-image: url(./Dup/img/obj1.png);
background-size: 100%;
width: 20vw;
height: 15vw;
top: -17%;
left: -7%;
z-index: 2;
}
#contents .box2 figure:before{
background-image: url(./Dup/img/obj2.png);
background-size: 100%;
width: 20vw;
height: 12vw;
top: -17%;
left: -15%;
z-index: 2;
}
#contents .box3 figure:before{
background-image: url(./Dup/img/obj3.png);
background-size: 100%;
width: 20vw;
height: 12vw;
top: -27%;
right: -17%;
z-index: 2;
}
/*--------------------------------
全体
--------------------------------*/
body{overflow: hidden;}

#loading_logo{max-width: 300px;width: 80%;}
.nav .logo.width_10per{width: 20%!important;}

footer{background-color: #000;}
footer:before{
content: "";
display: block;
background-image: url(./Dup/img/footer.jpg);
background-size: cover;
width: 100%;
height: 100%;
position: absolute;
bottom: 0;
left: 0;
opacity: 0.5;
}
footer .logo.width_50per{width: 80%!important;}

.img-container:before{background: #191950;}
/*--------------------------------
TOP
--------------------------------*/
#video{ height: 100vh; }
#video video{
width: 100%!important;
height: auto;
top: 50%;
left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

.main_img_wrap .catch{
font-size: 60px;
bottom: auto;
left: auto;
top:50%;
right: 15px;
-ms-transform: translate(0,-50%);
-webkit-transform: translate(0,-50%);
transform: translate(0,-50%);
}
.main_img_wrap .catch span{line-height: 1;}

.t_cms_img2 .img-container:before{background: #af0000;}
#contents .box .txt_wrap{
position: relative;
z-index: 2;
}

.other .box{background-color: #000;}
.other .box figure{opacity: 0.7;}
.other .box:hover figure{opacity: 0.5;}
.other .box p, .other .box h2 span{color: #fff;}
/*--------------------------------
下層
--------------------------------*/
#page_title .txt_shadow-l{text-shadow: none;}
#page_title p.font_45{
font-family: "gennei","sans-serif";
font-weight: normal;
text-shadow:
2px  2px 0px #ffffff,
-2px  2px 0px #ffffff,
2px -2px 0px #ffffff,
-2px -2px 0px #ffffff,
2px  0px 0px #ffffff,
0px  2px 0px #ffffff,
-2px  0px 0px #ffffff,
0px -2px 0px #ffffff;
}
.cms_wrap.width_90per,#page7,#page8,#page9,#page10{
width: 100%!important;
max-width: none;
margin: 0;
padding-left: 20%;
padding-right: 5%;
}


@media  screen and (max-width: 1600px){
#video video{
width: auto!important;
height: 100%;
}
}

@media  screen and (max-width: 1280px){

#contents .box3 figure:before{
top: -25%;
right: -12%;
}

}

/*タブレット用（768px以下）*/
@media  screen and (max-width: 768px){

.top_page header .logo{width: 45%;}
header .logo{width: 45%;}
#nav_menu{background-color: #fff;}


#video{ height: 40vh; }
#video video{
width: 100%!important;
height: auto;
}

.main_img_wrap{height: 40vh;}
.main_wrap{margin-top: 41vh;}
.main_img_wrap .catch{font-size: 35px;}

#contents .box .txt_wrap{
width: 100%;
padding-right: 0;
}
#contents .box figure{
width: 80%;
margin-top: 50px;
}
#contents .box2 figure{
margin-top: 0;
margin-bottom: 50px;
}
#contents .box:nth-child(odd) figure:after{right: 50%;}

#contents .box1 figure:before{
width: 31vw;
height: 23vw;
top: -11%;
left: -7%;
}
#contents .box2 figure:before{
width: 30vw;
height: 19vw;
top: -9%;
left: -12%;
}
#contents .box3 figure:before{
width: 33vw;
height: 20vw;
top: -17%;
right: -12%;
}
#page_title p.font_45{
text-shadow:
1px  1px 0px #ffffff,
-1px  1px 0px #ffffff,
1px -1px 0px #ffffff,
-1px -1px 0px #ffffff,
1px  0px 0px #ffffff,
0px  1px 0px #ffffff,
-1px  0px 0px #ffffff,
0px -1px 0px #ffffff;
}

}

/*スマホ用（667px以下）*/
@media  screen and (max-width: 667px){

.top_page header .logo{width: 60%;}
header .logo{width: 60%;}

.ip678 #video,.ip678 .main_img_wrap{ height: 31vh; }
.ipX #video,.ipX .main_img_wrap{ height: 26vh; }
.ip678 .main_wrap{margin-top: 31vh;}
.ipX .main_wrap{margin-top: 26vh;}
.main_img_wrap .catch{
font-size: 20px;
top: 65%;
right: 10px;
}
#contents .box figure{
width: 90%;
margin-top: 30px;
}
#contents .box2 figure{
margin-top: 0;
margin-bottom: 0;
}

#contents .box1 figure:before{
width: 43vw;
height: 32vw;
top: -17%;
left: -10%;
}
#contents .box2 figure:before{
width: 36vw;
height: 22vw;
top: -7%;
left: -8%;
}
#contents .box3 figure:before{
width: 37vw;
height: 22vw;
top: -22%;
right: -8%;
}

#page_title p.font_45{text-shadow: none;}
#page_title .img-container::after{background-color:rgba(25,25,80,0.25);}
.cms_wrap.width_90per,#page7,#page8,#page9,#page10{padding-left: 5%;}

#cms_1-e .pager li{
margin-right: 20px!important;
margin-left: 20px!important;
}


}

/*IE*/
@media all and (-ms-high-contrast: none) {}




/*--------------------------------
自動リンク
--------------------------------*/
/* color */
.linkStyle{color: #af0000; text-decoration: underline;}
.txt_color_nomal .linkStyle{color: #af0000;}
.txt_white .linkStyle{color: white;}
.txt_red .linkStyle{color: red;}
.bg_color1 .linkStyle{color: #fff;}
.bg_color2 .linkStyle{color: #191950;}
.bg_color3 .linkStyle{color: #fff;}
.bg_color4 .linkStyle{color: #af0000;}

/*IEのみ*/
@media all and (-ms-high-contrast: none) {
.linkStyle{display: inline-block;}
}

/*--------------------------------
カラー
--------------------------------*/
body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: #333333;}
.txt_black,.hvr_txt_black:hover{color: black;}
.txt_white,.hvr_txt_white:hover{color: white;}
.txt_red,.hvr_txt_red:hover{color: red;}
.txt_color1,.hvr_txt_color1:hover{color: #191950;} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #e5e5ec;} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #af0000;} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #f2f2f2;} /* アクセントカラー2 */

/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: white;} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: black;} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: #191950;} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #e5e5ec;} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #af0000;} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #f2f2f2;} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}

/* border-color */
.border_white,.hvr_border_white:hover{border-color: white;}
.border_black,.hvr_border_black:hover{border-color: black;}
.border_color1,.hvr_border_color1:hover{border-color: #191950;}
.border_color2,.hvr_border_color2:hover{border-color: #e5e5ec;}
.border_color3,.hvr_border_color3:hover{border-color: #af0000;}
.border_color4,.hvr_border_color4:hover{border-color: #f2f2f2;}