@charset "UTF-8";
/* CSS Document */

/* maincolor  rgba(0,77,132,1.00)    */

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
 
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
img{
	vertical-align: bottom;
	max-width: 100%;
}
body {
    line-height:1.75em;
	font-family:'Hiragino Kaku Gothic ProN',Meiryo, 'Lucida Grande',
sans-serif;
    font-size:16px;
    padding-bottom: 135px;
}
 
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
 
nav ul , li{
    list-style:none;
}
 
blockquote, q {
    quotes:none;
}
 
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
 
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
 
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
 
/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
 
del {
    text-decoration: line-through;
}
 
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
 
table {
    border-collapse:collapse;
    border-spacing:0;
}
 
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
 
input, select {
    vertical-align:middle;
}



.sp{
		display:none;	
	}
.cf:after {
	content: "";
	clear: both;
	display: block;
}

/*---------------------
common
----------------------*/
.content{
	width: 1100px;
	margin: auto;
}

.title02{
    padding: 30px 0;
    font-size:35px;
    color:#fff;
    text-align: center;
}

.nv_bk_p{
    background-color:rgba(25,48,77,1.00);
}

.nv{
    border-top-color:rgba(25,48,77,1.00) ;
}

.bl_bk_p{
    background-color:rgba(2,113,186,1.00);
}

.bl{
    border-top-color:rgba(2,113,186,1.00);
}

.wt_bk_p{
    background-color:#fff;
}

.wt{
    border-top-color:#fff;
}

.arrow{
	position: absolute;
  width: 0px;
  border-style: solid;
  border-width: 15px;
  border-left-color: transparent;
  border-bottom: transparent;
  border-right-color: transparent;
	left: calc(50% - 15px);
}


.t_nv{
    color: rgba(34,46,102,1.00);
}

.t_gr{
    color:rgba(77,77,77,1.00);
}

.ft22{
    font-size: 22px;
    line-height: 1.75em;
}

.ft30{
    font-size: 30px;
    font-weight: bold;
}

.ft20{
    font-size: 20px;
    font-weight: bold;
}

.ft13{
    font-size: 13px;
    line-height: 1.75em;
}

.ft12{
    font-size: 12px;
    line-height: 1.75em;
}


.ft14{
    font-size: 14px;
    line-height: 1.75em;
}



.ft18{
    font-size: 18px;
}

.top03 p{
    margin-bottom: 5px;
}

.tc{
    text-align: center;
}

.bg_gray{
    background: rgba(233,233,233,1.00);
    border-top: 1px rgba(187,187,187,1.00) solid;
    border-bottom: 1px rgba(187,187,187,1.00) solid;
    padding-top: 40px;
}

.pb60{
    padding-bottom: 60px;
}

.pb80{
    padding-bottom: 80px;
}

.pd30{padding: 10px 30px;text-align: left;}

.mt40{
    margin-top: 40px;
}

.mt30{
    margin-top: 30px;
}

.pt40{
    padding-top: 40px;
}

.rlt{
    position: relative;
}

.ank{
    position: absolute;
    height: 48px;
    width:100%;
    top:-48px;
}



/*---------------------
header
----------------------*/
.header_wrap{
	margin: auto;
    padding: 20px 10px;
    box-sizing: border-box;
}
header h1{
	float: left;
}

header{
    width:100%;
    background-color: inherit;
    top:0;
    z-index: 99999;
    position:absolute;
}

.fixed{
    position:fixed;
    background: rgba(0,0,0,0.87);
}



.header_right{
	float: right;
}

.page{
    background: rgba(0,0,0,0.85);
}
/* Toggle Button */
@media screen and (max-width:1000px){
    header{
        position: fixed;
    background: rgba(0,0,0,0.87);
    }
    
    .h100{
        height: 100%;
        overflow:auto;
    }
    header h1 {
    width: 240px;
}
    
.header_wrap {
    padding: 10px;
    }
    
	#nav-toggle {
		display: none;
		position: absolute;
		right: 20px;
		top: 35px;
		width: 34px;
		height: 36px;
		cursor: pointer;
		z-index: 101;
	}
	#nav-toggle div {
		position: relative;
	}
	#nav-toggle span {
		display: block;
		position: absolute;
		height: 4px;
		width: 100%;
		background: #fff;
		left: 0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	#nav-toggle span:nth-child(1) {
		top: 0;
	}
	#nav-toggle span:nth-child(2) {
		top: 11px;
	}
	#nav-toggle span:nth-child(3) {
		top: 22px;
	}
	   
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -600px;
        background:rgba(0,0,0,0.87);
        width: 100%;
        text-align: center;
        padding: 10px 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #global-nav > ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
        font-size: 14px;
		width: 100%;
   		line-height: 3em;
		color:#fff;
    }
    #global-nav > ul > li {
        float: none;
        position: static;
        margin-top: 0;
        margin-left: 0;
    }
    #top-head #global-nav > ul > li > a,
    #top-head.fixed #global-nav > ul > li > a {
        width: 100%;
        display: block;
        color: #fff;
        padding: 12px 0;
    }
    #nav-toggle {
        display: block;
    }
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(698px);
        -webkit-transform: translateY(698px);
        transform: translateY(698px);
    }
	
	#global-nav > ul > li  a {
		color: #fff;
		font-size: 12px;
        text-decoration: none;
		display: block;
	}
	#global-nav > ul > li > a:hover {
		text-decoration:none;
	}
	
	#global-nav > ul > li{
		position:relative;
        font-size: 12px;
	}
	
	#global-nav > ul > li:after{
		position:absolute;
		content:"＞";
		top:0;
		right:10px;
		color: #fff;
	}
    
    .header_right{display:none;}
    
    .dropmenu li.nolink:after{
  content: "▼" !important;
}
.dropmenu li.active:after{
  content: "▲" !important;
}
.dropmenu > ul > li > ul {
  display: none;
}
.submenu li{
  display: block;
  font-size: 12px;
  position: relative;
  border-bottom:dashed 1px #000;
    margin-bottom:5px;
}
    
    .footer_area {
    font-size: 14px !important;
    line-height: 1.75em !important;
}
    
#footer_follow {
    height: 55px !important;
}
    
#footer_follow li{
    width:150px !important;
}
     
}

/* nav */
        @media screen and (min-width:1000px){
            #global-nav{
                display: flex;
                flex-wrap: wrap;
            }
            
            #nav_wrap{
               position: relative; 
            }
            
            #nav_wrap:before{
                content:"";
                position: absolute;
                    top:0;
                display:block;
                width:100%;
                height: 1px;
                background: rgba(255,255,255,0.81);
            }
            
            #nav_wrap:after{
                content:"";
                position: absolute;
                    bottom:0;
                display:block;
                width:100%;
                height: 1px;
                background: rgba(255,255,255,0.81);
            }
            
            #global-nav > li{
                float: left;
            }
            
            #global-nav > ul > li > a,
            #global-nav li.nolink{
                padding: 10px 30px;
                text-decoration: none;
                font-size: 18px;
                color: #ffffff;
                display: block;
            }
            
            #global-nav > ul > li > a:hover{
                background-color: rgba(255,255,255,0.43);
            }
            
            .fixed .header_wrap{
                display: none;
            }
            
            #global-nav > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}
            
                       .dropmenu{
  *zoom: 1;
}
.dropmenu li{
  position: relative;
}
.dropmenu li ul{
  list-style: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
}

.dropmenu li ul li{
  width: 100%;
}
.dropmenu li ul li a{
  padding: 5px 5px;
                text-decoration: none;
                font-size: 12px;
                color: #ffffff;
                display: block;
    background: rgba(0,0,0,0.84);
    width: 100%;
    box-sizing: border-box;
}
.dropmenu li:hover > a{
  background: rgba(0,0,0,0.5);
}
.dropmenu li a:hover{
  background: rgba(0,0,0,0.5);
}
            
.fade-in2 li ul{
  opacity: 0;
  top: 50%;
  visibility: hidden;
  transition: .5s;
    width: 100%;
    text-align: center;
}
.fade-in2 li:hover ul{
  top: 100%;
  visibility: visible;
  opacity: 1;
}


        }
        
        /* mainimage */
        .bxslider li div.content{position:relative;height: 657px;
        }
        .bxslider li{
            background: #000000;
            height: 657px;
        }
        .bxslider .no1{
            background: url(../images/slide01.jpg) center no-repeat;
            background-size:cover;
            
        }
        .bxslider .no2{
            background: url(../images/slide02.jpg) center no-repeat;
            background-size:cover;
            
        }
        .bxslider .no3{
            background: url(../images/slide03.jpg) center no-repeat;
            background-size:cover;  
        }
        
@media screen and (-webkit-min-device-pixel-ratio:2),
                  (min-resolution: 2dppx){
.bxslider .no1{
            background: url(../images/slide01@2x.jpg) center no-repeat;
            background-size:cover;
            
        }
        .bxslider .no2{
            background: url(../images/slide02@2x.jpg) center no-repeat;
            background-size:cover;
            
        }
        .bxslider .no3{
            background: url(../images/slide03@2x.jpg) center no-repeat;
            background-size:cover;  
        }
        
}

        .bx-wrapper{
            margin: 0 !important;
        }
        
        .abs01{
            position: absolute;
            bottom: 130px;
            left:0;
            text-shadow: 1px 1px 5px #000;
            color: #fff;
            font-size:18px;
            min-width: 400px;
        }
        
        .ft25{
            font-size: 25px;
        }
        
        .lh175{
            line-height: 1.75em;
        }
        
        .ls{
            letter-spacing: 0.25px;
        }
        
        .abs01 span{
            font-size:33px;
        }
        
        .abs01 a span{
            font-size:26px;
        }
        
        .abs01 a{
            padding: 10px 0 5px;
            text-align: center;
            text-shadow: 1px 1px 5px #000;
            color: #fff;
            font-size:18px;
            text-decoration: none;
            box-shadow: 1px 1px 3px 3px rgba(0,0,0,0.43);
            border: solid 1px #fff;
            display: block;
            margin-bottom: 5px;
            position: relative;
        }
        
        .abs01 a:hover{
         background: rgba(255,255,255,0.3) ;
        }
        
        .abs01 a:after{
            content: "＞";
            right:10px;
            top:calc(50% - 16px);
            position: absolute;
        }

.top01{
    height:553px;
    background: url(../images/top_img01.jpg) no-repeat bottom;
    background-size: contain;
    padding: 40px 0 120px;
    color: rgba(34,46,102,1.00);
    text-align: center;
}
@media screen and (-webkit-min-device-pixel-ratio:2),
                  (min-resolution: 2dppx){
    .top01{
    background: url(../images/top_img01@2x.jpg) no-repeat bottom;
    background-size: contain;
}
}

.title01{
    color: rgba(34,46,102,1.00);
    font-size:25px;
    line-height: 1.75em;
    padding: 30px 0;
    position: relative;
}

.title01:before{
    content: url(../images/title_img.png);
    top:calc(50% - 62px);
    left: calc(50% - 65px);
    position:absolute;
}

.gr{
    color:rgba(77,77,77,1.00);
}

.top_title{
    border: rgba(34,46,102,1.00) 1px solid;
    padding: 5px 20px;
    margin: 20px 0;
    display: inline-block;
}

.column3{
    display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
}

.column3 li{
    float: left;
    width: 32%;
    margin-bottom: 15px;
}

.column3 li:nth-child(3n + 2){

}

.box{
    font-size: 10px;
    line-height: 1em;
    padding: 5px 10px;
    background: rgba(232,234,239,1.00);
    color: rgba(34,46,102,1.00);
    display: inline-block;
}

.top03 .column3 li{
    background: #fff;
}

.title03{
    text-align: center;
    margin-bottom: 40px;
    font-size:48px;
    font-weight: bold;
    color:rgba(77,77,77,1.00);
}

.top03_inner{
    padding: 10px;
    background: #fff;
    margin-top: -5px;
}

.top04 dt{
    font-size:30px;
    color: rgba(34,46,102,1.00);
    font-weight: bold;
    padding-left: 80px;
    position: relative;
    border-bottom: 1px solid #cdcdcd;
    padding-top: 20px;
    padding-bottom: 30px;
}

.top04 dd{
    font-size:18px;
    color:rgba(102,102,102,1.00);
    padding-left: 80px;
    padding-top: 20px;
    position: relative;
    margin-top: 10px;
    margin-bottom: 40px;
}

.top04 dt:before{
    content:url(../images/top04_icon01.jpg);
    position: absolute;
    top:0;
    left:0;
}

.top04 dd:before{
    content:url(../images/top04_icon02.jpg);
    position: absolute;
    top:0;
    left:0;
}

.top05{
    background: rgba(238,239,243,1.00);
}

.flow li > div{
    float:left;
}

.flow li{
    background: #ffffff;
    position: relative;
    margin-bottom: 40px;
}

.flow li > div:nth-child(2){
    padding:30px 15px;
    max-width: calc(100% - 274px)
}

.flow li > div.second{
    padding:20px 15px;
}

.flow li:before{
    content:" ";
	position: absolute;
  width: 0px;
  border-style: solid;
  border-width: 15px;
  border-left-color: transparent;
  border-bottom: transparent;
  border-right-color: transparent;
	left: calc(50% - 15px);
    bottom: -15px;
    border-top-color: #fff;
}

.flow li:last-child:before{
    border:none;
    margin-bottom: 20px;
}

.title4{
    font-size:28px;
    color:rgba(34,46,102,1.00);
    font-weight: bold;
    margin-bottom: 5px;
}

.top06{background: rgba(238,239,243,1.00);text-align: center;}
.top06 .tab{overflow:hidden;display: inline-block;}
.top06 .tab li{background:#ccc; padding:10px 100px; float:left; cursor: pointer;color:#fff;font-size:22px;}
.top06 .tab li.select{background:rgba(19,48,79,1.00);cursor: default;}

.top06 .inner li > div{
 float: left;
    width:calc(50% - 10px);
}

.top06 .inner li > div:nth-child(2){
 margin-left: 20px;
}

.top06 .hide {display:none;}
.inner dl{
    border: 1px solid #cdcdcd;
    margin-bottom: 20px;
        box-sizing:border-box;
    background: #ffffff;
    text-align: left;
}

.inner dt{
    background: rgba(10,48,82,1.00);
    font-weight: bold;
    font-size: 21px;
    color:#ffffff;
    padding: 10px;
}

.inner dd{
    padding: 10px;
    box-sizing:border-box;
    font-size: 18px;
    color: rgba(51,51,51,1.00);
}

.inner_pb100{
padding-bottom: 100px !important;
}

.footer_area{
    background: #000000;
    color:#ffffff;
    text-align: center;
    font-size:18px;
    padding: 50px 0;
}

#footer_follow {
    position: fixed;
    height: 135px;
    padding: 10px 0;
    background:#000000;
    width:100%;
    text-align: center;
}

#footer_follow li{
 display: inline-block;   
}

/* other pages */

.p_title_wrap{
            background: url(../images/page_bg.jpg) center no-repeat;
            background-size:cover; 
    height: 230px;
    margin-top: 173px;
    position: relative;
        }

@media screen and (-webkit-min-device-pixel-ratio:2),
                  (min-resolution: 2dppx){
.p_title_wrap{
            background: url(../images/page_bg@2x.jpg) center no-repeat;
            background-size:cover;   
        }
}

.page_title{
    position:absolute;
    text-shadow: 1px 1px 3px #000;
    font-size:40px;
    top:110px;
    text-align:center;
    width:100%;
    letter-spacing: 1px;
    color:#fff;
}

.page01 h3{
    display: inline-block;
    margin-bottom: 20px;
}
.page01 div:nth-child(1){
    float: left;
    width:calc(100% - 600px);
}

.page01 div:nth-child(2){
    float: right;
}

.page01{
    padding: 30px 0 60px;
}

.p_sub_title{
    color: rgba(33,46,102,1.00);
    font-weight: bold;
    padding: 8px 0;
    padding-left: 30px;
    margin: 20px 0;
    position: relative;
}

.p_sub_title:before{
    content: "";
    background:rgba(33,46,102,1.00);
    width:15px;
    height:100%;
    position: absolute;
    left:0;
    top:0;
}

.page_table{
    width:100%;
}

.page_table *{
    vertical-align: middle;
}

.page_table th{
 text-align: center;
    padding: 10px;
    color: #ffffff;
    background: rgba(34,46,102,1.00);
    width:258px;
    border-bottom: 2px #fff solid;
}

.page_table td{
 text-align: left;
    padding: 10px;
    color:rgba(77,77,77,1.00);
    background:rgba(238,239,243,1.00);
    font-size:14px;
    border-bottom: 2px #fff solid;
}

.page_table td span{
 font-weight: bold;
    color:#000000;
    font-size:18px;
}

.p_title{
            padding-left: 50px;
            font-weight: bold;
            color:rgba(34,46,102,1.00);
            font-size:25px;
            padding-top: 8px;
            margin-bottom: 30px;
            position: relative;
        }
        
        .p_title:before{
         content:url(../images/page_icon.png);   
            position: absolute;
            left:0;
            top:0;
        }
        
        .p_title span{
            display: block;
            width:100%;
            padding-bottom: 8px;
            border-bottom: 1px solid rgba(238,239,243,1.00);
        }

.page05 div:nth-child(2){
            float:left;
        }
        
        .page05 div:nth-child(3){
            float:right;
            width:calc(100% - 520px);
        }


#sidearea {
	width: 270px;
	float: right;
        font-size:14px;
}
        
.sdmttl {
    color: #ffffff;
    padding: 10px 0px 10px 15px;
    background-color:rgba(34,45,106,1.00);
    letter-spacing: 5px;
    box-sizing: border-box;
}
        
        .sdmttl:before {
        content:"》";
        }
        
.sidemenu ul li a{
    border-bottom: dashed 1px rgba(34,45,106,1.00);
    padding: 10px 10px 10px 15px;;
    width:100%;
    display: block;
    color:rgba(34,45,106,1.00);
    text-decoration: none;
    box-sizing: border-box;
}

        .sidemenu ul li a:before{
    content:"》";
        }
    
        .main_area{
            width:calc(100% - 270px);
            float: left;
            box-sizing: border-box;
            padding-right: 20px;
        }
        
        .main_area td{
            color:#000000;
        }
        
        .work_info{
            margin-top: 30px;
        }

.works a{
    font-size:18px;
    color: rgba(33,46,102,1.00);
    text-decoration: none;
}

.works li{
    margin-bottom: 65px;
}

.works a:before{
    content:"＞ "
}

.privacy_title{
    font-size:20px;
    color:rgba(33,46,102,1.00);
    margin: 20px 0;
}

.pvc{
    color:rgba(254,1,0,1.00);
}

@media screen and (min-width:1000px){
    .comp th , .comp td{
        height: 100px;
    }   
}

@media screen and (min-width:640px){
    .abs01 ft25{
        font-size: 35px;
    }
    
    .abs01 {
    position: absolute;
    bottom: 100px;
    left: 0;
    text-shadow: 1px 1px 5px #000;
    color: #fff;
    font-size: 28px;
    min-width: 550px;
    line-height: 1.75em;
}
    
    .abs01 a span {
    font-size: 36px;
}
    
    .abs01 span {
    font-size: 43px;
}
    
    .abs01 a {
    line-height: 2em;
    margin-top: 10px;
}
	
	.no3 {
    display: flex;
    justify-content: space-between;
    padding-top: 40px;
}

.no3 .tc {
    text-align: center;
    width: 33%;
}
	
	
}




