@charset "utf-8";
/*====================================================================================
■01.RESET HTML
■02.CLEAR FLOAT
■03.MARGIN DEFAULT
■04.LAYOUT
■05.USE MEDIA
■06.OTHER
■07.PAGE UP
■08.HEADER
■09.GOLABLE NAVIGATION
■10.FOOTER
====================================================================================*/
/*====================================================================================
■01.RESET HTML
====================================================================================*/
ul, li { list-style:none; }
img { margin:0px; padding:0px; border:0px;transition:All 0.3s ease; -webkit-transition:All 0.3s ease; -moz-transition:All 0.3s ease; -o-transition:All 0.3s ease; }
.ov_hover:hover img { opacity:0.7; filter:alpha(opacity=70); -ms-filter: "alpha( opacity=70)"; }
a { color: #333; text-decoration:underline; }
a:hover { text-decoration: none; }
body { font-size:13px; font-family: "Meiryo","メイリオ","MS PGothic","MS Pゴシック",sans-serif; color: #333333; word-break: break-word; word-wrap: break-word; }
/*====================================================================================
■02.CLEAR FLOAT
====================================================================================*/
.clearfix:before, .clearfix:after{content:"\0020"; display:block; height:0; overflow:hidden}
.clearfix:after{clear:both}
.clearfix{zoom:1}
/*====================================================================================
■03.MARGIN DEFAULT
====================================================================================*/
/*--------------------------------------------------
	margin 
-------------------------------------------------- */ 
.m00 { margin: 0px !important; }
.m05 { margin: 5px !important; }
.m10 { margin: 10px !important; }
.m15 { margin: 15px !important; }
.m20 { margin: 20px !important; }
.m25 { margin: 25px !important; }
.m30 { margin: 30px !important; }
.m35 { margin: 35px !important; }
.m40 { margin: 40px !important; }
.m45 { margin: 45px !important; }
.mt00 { margin-top: 0px !important; }
.mt05 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt-10 { margin-top: -10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt33 { margin-top: 33px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }
.mr00 { margin-right: 0px !important; }
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mb00 { margin-bottom: 0px !important; }
.mb05 { 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; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.ml00 { margin-left: 0px !important; }
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
/* 
--------------------------------------------------
	padding
-------------------------------------------------- */
.p00 { padding: 0px !important; }
.p05 { padding: 5px !important; }
.p10 { padding: 10px !important; }
.p15 { padding: 15px !important; }
.p20 { padding: 20px !important; }
.p25 { padding: 25px !important; }
.p30 { padding: 30px !important; }
.p35 { padding: 35px !important; }
.p40 { padding: 40px !important; }
.p45 { padding: 45px !important; }
.pt00 { padding-top: 0px !important; }
.pt05 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pr00 { padding-right: 0px !important; }
.pr05 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
.pr45 { padding-right: 45px !important; }
.pb00 { padding-bottom: 0px !important; }
.pb05 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb45 { padding-bottom: 45px !important; }
.pl00 { padding-left: 0px !important; }
.pl05 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }
.pl45 { padding-left: 45px !important; }
/*====================================================================================
■04.LAYOUT
====================================================================================*/
.container { position: relative; width: 1000px; margin: 0 auto; }
/*====================================================================================
■05.USE MEDIA
====================================================================================*/
.pull_left { float:left !important; }
.pull_right { float:right !important; }
.media, .media-body { overflow:hidden; }
.media > .pull_left { margin-right:20px; }
.media > .pull_right { margin-left:20px; }
.media-text:after { clear: both; display: block; content: ""; height: 0px; visibility: hidden; }
.pic_l .image { float:left; margin: 5px 10px 5px 0; }
.pic_r .image { float:right; margin:5px 0 5px 10px; }
.document p { margin-bottom: 10px; }
/*====================================================================================
■06.OTHER
====================================================================================*/
.text_normal { font-weight:normal !important }
.text_bold { font-weight:bold !important }
.text_left { text-align:left !important }
.text_right { text-align:right !important }
.text_center { text-align:center !important }
.text_blue { color: #014d98 !important;}
.f10{font-size: 10px !important;}
.f11{font-size: 11px !important;}
.f12{font-size: 12px !important;}
.f13{font-size: 13px !important;}
.f14{font-size: 14px !important;}
.f15{font-size: 15px !important;}
.f16{font-size: 16px !important;}
.f17{font-size: 17px !important;}
.f18{font-size: 18px !important;}
.f19{font-size: 19px !important;}
.f20{font-size: 20px !important;}
.f25{font-size: 25px !important;}
.f30{font-size: 30px !important;}
.f35{font-size: 35px !important;}

.l_h7{line-height: 1.7;}
.l_h8{line-height: 1.8;}
.l_h9{line-height: 1.9;}

.w1 {width: 1% !important;}

.w2 {width: 2% !important;}

.w3 {width: 3% !important;}

.w4 {width: 4% !important;}

.w5 {width: 5% !important;}

.w6 {width: 6% !important;}

.w7 {width: 7% !important;}

.w8 {width: 8% !important;}

.w9 {width: 9% !important;}

.w10 {width: 10% !important;}

.w11 {width: 11% !important;}

.w12 {width: 12% !important;}

.w13 {width: 13% !important;}

.w14 {width: 14% !important;}

.w15 {width: 15% !important;}

.w16 {width: 16% !important;}

.w17 {width: 17% !important;}

.w18 {width: 18% !important;}

.w19 {width: 19% !important;}

.w20 {width: 20% !important;}

.w21 {width: 21% !important;}

.w22 {width: 22% !important;}

.w23 {width: 23% !important;}

.w24 {width: 24% !important;}

.w25 {width: 25% !important;}

.w26 {width: 26% !important;}

.w27 {width: 27% !important;}

.w28 {width: 28% !important;}

.w29 {width: 29% !important;}

.w30 {width: 30% !important;}

.w31 {width: 31% !important;}

.w32 {width: 32% !important;}

.w33 {width: 33% !important;}

.w34 {width: 34% !important;}

.w35 {width: 35% !important;}

.w36 {width: 36% !important;}

.w37 {width: 37% !important;}

.w38 {width: 38% !important;}

.w39 {width: 39% !important;}

.w40 {width: 40% !important;}

.w41 {width: 41% !important;}

.w42 {width: 42% !important;}

.w43 {width: 43% !important;}

.w44 {width: 44% !important;}

.w45 {width: 45% !important;}

.w46 {width: 46% !important;}

.w47 {width: 47% !important;}

.w48 {width: 48% !important;}

.w49 {width: 49% !important;}

.w50 {width: 50% !important;}

.w51 {width: 51% !important;}

.w52 {width: 52% !important;}

.w53 {width: 53% !important;}

.w54 {width: 54% !important;}

.w55 {width: 55% !important;}

.w56 {width: 56% !important;}

.w57 {width: 57% !important;}

.w58 {width: 58% !important;}

.w59 {width: 59% !important;}

.w60 {width: 60% !important;}

.w61 {width: 61% !important;}

.w62 {width: 62% !important;}

.w63 {width: 63% !important;}

.w64 {width: 64% !important;}

.w65 {width: 65% !important;}

.w66 {width: 66% !important;}

.w67 {width: 67% !important;}

.w68 {width: 68% !important;}

.w69 {width: 69% !important;}

.w70 {width: 70% !important;}

.w71 {width: 71% !important;}

.w72 {width: 72% !important;}

.w73 {width: 73% !important;}

.w74 {width: 74% !important;}

.w75 {width: 75% !important;}

.w76 {width: 76% !important;}

.w77 {width: 77% !important;}

.w78 {width: 78% !important;}

.w79 {width: 79% !important;}

.w80 {width: 80% !important;}

.w81 {width: 81% !important;}

.w82 {width: 82% !important;}

.w83 {width: 83% !important;}

.w84 {width: 84% !important;}

.w85 {width: 85% !important;}

.w86 {width: 86% !important;}

.w87 {width: 87% !important;}

.w88 {width: 88% !important;}

.w89 {width: 89% !important;}

.w90 {width: 90% !important;}

.w91 {width: 91% !important;}

.w92 {width: 92% !important;}

.w93 {width: 93% !important;}

.w94 {width: 94% !important;}

.w95 {width: 95% !important;}

.w96 {width: 96% !important;}

.w97 {width: 97% !important;}

.w98 {width: 98% !important;}

.w99 {width: 99% !important;}
.w100 {width: 100% !important;}
/*====================================================================================
■07.PAGE UP
====================================================================================*/
.page_up { }
/*========================================== ■13.FLEX ==================================================================================== */
.dis_flex { display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; display: -moz-flex; display: -ms-flex; }
.flex_wrap { -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.flex_align_item_start { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-align-items: flex-start; -moz-align-items: flex-start; -ms-align-items: flex-start; }
.flex_align_item_end { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; -webkit-align-items: flex-end; -moz-align-items: flex-end; -ms-align-items: flex-end; }
.flex_align_item_center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; }
.flex_jus_between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-justify-content: space-between; -moz-justify-content: space-between; -ms-justify-content: space-between; }
.flex_jus_center { -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; }
.flex_jus_around { -ms-flex-pack: distribute; -webkit-justify-content: space-around; justify-content: space-around; }
.flex_jus_start { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; -ms-justify-content: flex-start; }
.flex_jus_end { -webkit-box-pack: end; -ms-flex-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end; }
/*====================================================================================
■08.HEADER
====================================================================================*/
#top{
	background: url(../images/bg_main.jpg) no-repeat center top;
}
#h_bnr{
	float: right;
	margin-right: 10px;
}
#h_bnr a:hover img,#h_bnr a:hover{
	opacity: 1 !important;
	filter: alpha(opacity=1) !important;
}
.h_main .h_link01 ul{
	float: right;
    display: flex;
}
.h_main .h_link01 ul li{
	background: #000 url(../common_img/arrow01.png) no-repeat right 10px center;
	margin-left: 5px;
	text-align: center;
}
.h_main .h_link01 ul li a{
	text-decoration: none;
	color: #fff;
	font-size: 12px;
	display: block;
    padding: 9px 35px;
}
.h_main a:hover,footer a:hover{
	opacity: 0.6;
	filter: alpha(opacity=60);
}
.h_main h1{
	float: left;
}
.h_main .h_link02{
	float: right;
    margin-top: 28px;
}
.h_main .h_link02 ul{
	display: flex;
}
.h_main .h_link02 li{
	font-size: 13px;
	margin-left: 18px;
}
.h_main .h_link02 li:nth-child(1){
	background: url(../common_img/icon01.png) no-repeat left center;
	padding-left: 20px;
	margin-left: 0;
}
.h_main .h_link02 li:nth-child(2){
	background: url(../common_img/icon02.png) no-repeat left center;
	padding-left: 28px;
}
.h_main .h_link02 li:nth-child(3){
	background: url(../common_img/icon03.png) no-repeat left center;
	padding-left: 22px;
}
.h_main .h_link02 li:nth-child(4){
	background: url(../common_img/icon04.png) no-repeat left center;
	padding-left: 23px;
}
.h_main .h_link02 ul li a{
	text-decoration: none;
	color: #fff;
}
#h_bnr{
	width       :190px;
    height      :42px;
    position    :relative;
    overflow    :hidden;
}

.reflection {
    height      :100%;
    width       :30px;
    position    :absolute;
    top         :-180px;
    left        :0;
    background-color: #fff;
    opacity     :0;
    transform: rotate(45deg);
    animation: reflection 2s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflection 2s ease-in-out infinite;
    -moz-transform: rotate(45deg);
    -moz-animation: reflection 2s ease-in-out infinite;
    -ms-transform: rotate(45deg);
    -ms-animation: reflection 2s ease-in-out infinite;
    -o-transform: rotate(45deg);
    -o-animation: reflection 2s ease-in-out infinite;
}
 
@keyframes reflection {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
    0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-ms-keyframes reflection {
    0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -ms-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
    0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}
/*====================================================================================
■09.GOLABLE NAVIGATION
====================================================================================*/
.bnr{
	background-color: #f4f4f4;
	padding: 40px 0;
	margin-top: 100px;
}
.bnr ul li{
	margin-bottom: 10px;
}
.bnr ul li:last-child{
	margin-bottom: 0;
}
.grid-item .project-title {
    position: absolute;
    margin: 0 auto;
    text-align: center;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    background: rgba(0,53,87,0.8);
    max-width: 100%;
    max-height: 100%;
    color: #fff;
    transition: all 0.5s;
    transition: all linear 0.3s;
}
.table_div {
    display: table;
    text-align: center;
    width: 100%;
    position: relative;
    height: 100%;
}
.table_div .tb_cell {
    display: table-cell;
    vertical-align: middle;
    margin-left: auto;
    margin-right: auto;
    padding: 0 15px;
}
.table_div a:after{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	content: "";
	width: 100%;
	height: 100%;
}
.grid-item .project-title:hover {
  opacity: 1;
}
/*==========================================

■10.FOOTER
====================================================================================*/
footer{
	background-color: #002136;
	padding: 40px 0;
}
.f_logo{
	float: left;
	width: 432px;
}
.f_logo ul li{
	float: left;
	padding: 15px 15px 15px 53px;
	position: relative;
}
.f_logo ul li:nth-child(1){
	background: #fff url(../common_img/icon05.png) no-repeat 23px center;
	margin-right: 10px;
}
.f_logo ul li:nth-child(2){
	background: #fff url(../common_img/icon06.png) no-repeat 23px center;
}
.f_logo ul li:nth-child(3){
	background: #fff url(../common_img/icon07.png) no-repeat 23px center;
    width: 362px;
    margin-top: 10px;
    padding: 5px 10px 5px 60px;
}
.f_logo ul li a{
	color: #333;
	text-decoration: none;
}
.f_logo ul li a:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.f_link{
	float: right;
	width: 430px;
    margin-top: 20px;
}
.f_link li{
	background: url(../common_img/arrow01.png) no-repeat left center;
	padding-left: 20px;
	line-height: 2.2;
	font-size: 12px;
}
.f_link ul li a{
	color: #fff;
	text-decoration: none;
}
.f_link ul li a:hover{text-decoration: underline;}
/*==========================================
