@charset "UTF-8";

body{
	text-align:center;
    color: #000;
	font-size:14px;
	min-width:1024px;
}
@media screen and (max-width: 767px) {
    body{
        min-width: inherit;
    }
}

a{
	color:#000;
	transition: all 300ms 0s ease;
}
a:hover{
	color:#7D7D7D;
	text-decoration:none;
}
a:focus, *:focus { outline:none; }

/*bootstrap余白調整*/
.row {
    margin-right: -12px;
    margin-left: -12px;
}
p{
	margin: 15px 0;
    line-height: 1.8;
}
ul{
	margin:0;
	padding:0;
}

.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{
	padding:0 12px;
}

/*bootstrapリスト高さ調整(autoHeight代用)
.row-eq-height {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
}*/

.fixed {
    position: fixed !important;
    top: 0;
    left: 0;
	z-index:9999;
    width: 100%;
}

#loading {
    width: 100%;
    height: 100%;
    margin: 0;
    background: #fff;
    opacity: 1.0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

#loading img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

svg.defs{
    display: none;
}

/*******************************
 
CommandCss
 
*******************************/
.red      { color: #e00 !important; }
.blue     { color: #00F !important; }
.green    { color: #0F0 !important; }
.yellow   { color: #FF0 !important; }
.orange   { color: #F90 !important; }
.white    { color: #FFF !important; }
.black    { color: #000 !important; }
.gray     { color: #888 !important; }

.m0  { margin: 0    !important; }
.m5  { 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; }
.m50 { margin: 50px !important; }
.m60 { margin: 60px !important; }
.m70 { margin: 70px !important; }
.m80 { margin: 80px !important; }
.m90 { margin: 90px !important; }
.m100 { margin: 100px !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; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !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; }

.mr0  { margin-right: 0    !important; }
.mr5  { 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; }
.mr50 { margin-right: 50px !important; }
.mr60 { margin-right: 60px !important; }
.mr70 { margin-right: 70px !important; }
.mr80 { margin-right: 80px !important; }
.mr90 { margin-right: 90px !important; }
.mr100 { margin-right: 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; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !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; }

.ml0  { margin-left: 0    !important; }
.ml5  { 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; }
.ml50 { margin-left: 50px !important; }
.ml60 { margin-left: 60px !important; }
.ml70 { margin-left: 70px !important; }
.ml80 { margin-left: 80px !important; }
.ml90 { margin-left: 90px !important; }
.ml100 { margin-left: 100px !important; }

.p0  { padding: 0    !important; }
.p5  { 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; }
.p50 { padding: 50px !important; }
.p60 { padding: 60px !important; }
.p70 { padding: 70px !important; }
.p80 { padding: 80px !important; }
.p90 { padding: 90px !important; }
.p100 { padding: 100px !important; }

.pt0  { padding-top: 0    !important; }
.pt5  { 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; }
.pt50 { padding-top: 50px !important; }
.pt60 { padding-top: 60px !important; }
.pt70 { padding-top: 70px !important; }
.pt80 { padding-top: 80px !important; }
.pt90 { padding-top: 90px !important; }
.pt100 { padding-top: 100px !important; }

.pr0  { padding-right: 0    !important; }
.pr5  { 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; }
.pr50 { padding-right: 50px !important; }
.pr60 { padding-right: 60px !important; }
.pr70 { padding-right: 70px !important; }
.pr80 { padding-right: 80px !important; }
.pr90 { padding-right: 90px !important; }
.pr100 { padding-right: 100px !important; }

.pb0  { padding-bottom: 0    !important; }
.pb5  { 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; }
.pb50 { padding-bottom: 50px !important; }
.pb60 { padding-bottom: 60px !important; }
.pb70 { padding-bottom: 70px !important; }
.pb80 { padding-bottom: 80px !important; }
.pb90 { padding-bottom: 90px !important; }
.pb100 { padding-bottom: 100px !important; }

.pl0  { padding-left: 0    !important; }
.pl5  { 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; }
.pl50 { padding-left: 50px !important; }
.pl60 { padding-left: 60px !important; }
.pl70 { padding-left: 70px !important; }
.pl80 { padding-left: 80px !important; }
.pl90 { padding-left: 90px !important; }
.pl100 { padding-left: 100px !important; }

.mincho{
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
}
.g-font{
    font-family: 'Anton', sans-serif;
}

.txtright{text-align:right; width:100%;}
.txtleft{text-align:left; width:100%;}
.txtcenter{text-align:center; width:100%;}
.float_r{float:right; display:inline;}
.pc_float_r{float:right; display:inline;}
.float_l{float:left; display:inline;}
.vtop{ vertical-align:top;}
.imgover{}


@media screen and (max-width: 767px) {
	.pc_float_r{float:none; display:block;}
	.sp_txtleft{text-align:left;}
}


/*******************************
 
baseCss
 
*******************************/
.builder{
	max-width:1000px;
	margin:0 auto;
	text-align:left;
}

.bootBuilder{
	max-width:1000px;
	margin:0 auto;
	text-align:left;
	overflow-x:hidden;
}

.pc{
	display:block;
}
.smh{
	display:none;
}


@media screen and (max-width: 767px) {
    .builder{
        width:100%;
        text-align:left;
    }

    .bootBuilder{
        width:90%;
        margin:0 5%;
        text-align:left;
        overflow-x:hidden;
    }

    img.smhImg{
        width:100%;
        height:auto;
    }


    .pc{
        display:none;
    }
    .smh{
        display:block;
    }


}


/*******************************
 
layoutCss
レイアウトベースで利用するCSS
 
*******************************/

/*　　パンクズ　　*/
.breadcrumb{
    margin: 105px 0 0;
	padding:0;
	font-size:12px;
    background: #404040;
    border-radius: 0;
}
.breadcrumb ul{
    max-width: 1000px;
    overflow: hidden;
    margin: auto;
}
.breadcrumb li{
    float: left;
    padding: 4px 0;
    position: relative;
}
.breadcrumb li, .breadcrumb a{
    color: #fff;
}
.breadcrumb a:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    -webkit-transform: skew(-15deg);
    -moz-transform: skew(-15deg);
    -o-transform: skew(-15deg);
    border-right: solid 1px #fff;
    position: absolute;
    top: 0;
    left: 0;
}
.breadcrumb li span{
    padding: 7px 10px;
}


/*******************************
 
HeadderCss
 
*******************************/

header:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}
header{ display: inline-block; }
/*\*/
* html header{height:1%;}

header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
	text-align:right;
	line-height:0;
	margin: 0 auto;
    padding: 15px 0;
	width:auto;
}

header h1{
	display: block;
    float: left;
    width: 30%;
    max-width: 178px;
    margin: 0;
    padding: 5px 0 0;
    transition: all 300ms 0s ease;
}
header h1 svg{
    width: 100%;
    height: auto;
    max-height: 70px;
    vertical-align: top;
}

header.fixed{
    background: rgba(255,255,255,0.90);
}
header.fixed h1{
    width: 12%;
    height: 50px;
}

#spBtn{
	display:none;
}

@media screen and (max-width: 990px) {
    header{
        padding: 0;
    }
    header h1{
        margin: 6px 15px 0;
    }
    header.fixed h1{
        width: 30%;
        height: 40px;
    }
    header h1 a{
        display: block;
        width: 100%;
        height: 100%;
    }

    .subSet:after {
        content: "."; 
        display: block; 
        height: 0; 
        clear: both; 
        visibility: hidden;
    }
    .subSet{ display: inline-block; }
    /*\*/
    * html .subSet{height:1%;}
    .subSet{display:block;}
    .subSet{
        float: right;
        display: inline-block;
        text-align:right;
        vertical-align:top;
        padding: 5px;
        background:#000;
    }
    
    #spBtn{
        display:block;
        margin-right:5%;
        padding-top:10px;
    }

    #spBtn span{
        display:block;
        padding:5px;
        border-radius:10%;
        color:#fff;
    }

}

/*******************************
 
navCss
 
*******************************/

#gnavi{
    float: right;
	text-align:right;
	width:65%;
	margin-top:0;
}
#gnavi ul:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}
#gnavi ul{ display: inline-block; }
/*\*/
* html #gnavi ul{height:1%;}
#gnavi ul{
    width: 100%;
	display:table;
	margin: 0 0 0 auto;
    padding-right: 2%;
}

#gnavi ul.pc{
    display: table!important;
    height: auto!important;
}

#gnavi ul li{
	text-align:center;
	display:table-cell;
}
#gnavi ul li:first-child{
	margin-left:0;
}

#gnavi ul li a{
	position:relative;
	display:block;
	padding:1em 2em;
	color:#000;
    font-size: 14px;
    line-height: 1.3;
	text-decoration:none;
}
#gnavi ul li a:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    -webkit-transform: skew(-15deg);
    -moz-transform: skew(-15deg);
    -o-transform: skew(-15deg);
    border-left: solid 1px #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all 300ms 0s ease;
}
#gnavi ul li:last-child a:before{
    border-right: solid 1px #000;
}
#gnavi ul li a:hover:before{
    background: rgba(0,0,0,0.2);
}
#gnavi ul li a span{
    display: block;
    font-size: 20px;
    letter-spacing: .05em;
}
#gnavi ul li a:hover{
	text-decoration:none;
}
#gnavi ul li:hover a:after{
	transform: scaleX(1);
}

#gnavi.fixed{
	background:#fff;
	text-align:center;
	margin-top:0;
	box-shadow: 0px 0px 3px #ccc;
	-moz-box-shadow: 0px 0px 3px #ccc;
	-webkit-box-shadow: 0px 0px 3px #ccc;
}
#gnavi.fixed li{
	display:inline-block;
	float:none;
}

header.fixed #gnavi ul li a {
    padding: .5em 2em;
    font-size: 12px;
}

@media screen and (max-width: 990px) {
    #gnavi{
        float: none;
        width: 100%;
        clear: both;
    }
    #gnavi ul{
        display: none;
        background: #000;
        padding: 0;
    }
    #gnavi ul li{
        display: block;
        text-align: left;
        border-bottom: solid 1px #2F2F2F;
    }
    #gnavi ul li a{
        font-size: 12px;
        color: #7E7E7E!important;
        padding: 1.5em;
    }
    #gnavi ul li a:active{
        background: rgba(57,57,57,1.00);
    }
    #gnavi ul li a span{
        display: inline;
        vertical-align: middle;
        line-height: 100%;
        color: #fff;padding-right: 10px;
    }
    #gnavi ul li a:before, #gnavi ul li:last-child a:before{
        display: none;
    }
    #gnavi.fixed{
        background:none;
        margin-top:0;
    }

    header.fixed #gnavi ul li a {
        padding: 1.5em;
    }
}
/*******************************
 
FooterCss
 
*******************************/
footer{
	padding:30px 0 0;
    text-align: center;
}
footer .copy{
    background: #ececec;
    margin: 30px 0 0;
    padding: 20px 0;
}
.footer-logo{
    margin-bottom: 15px;
}
footer .tel{
    font-size: 30px;
    font-weight: bold;
}
footer .tel:before{
    content: url("../img/common/ico_tel.png");
    display: inline-block;
    vertical-align: top;
    margin-right: 5px;
}
#topback02{
    background: rgba(16,88,157,1.00);
    color: #fff;
    font-size: 56px;
    line-height: 100%;
    margin-bottom: 50px;
    padding: 5px 0 10px;
    cursor: pointer;
}
#topback02, #topback02 span{
    transition: all 300ms 0s ease;
}
#topback02:active,
#topback02:hover{
    background: rgba(16,88,157,0.9);
}
#topback02:active span,
#topback02:hover span{
    transform: translateY(-5px)
}

.footer-nav li{
    display: inline-block;
}
.footer-nav li a:after{
    content: "\f105";
    font-family: FontAwesome;
    margin-left: 5px;
}
.footer-nav li a {
    margin-right: 8px;
}

@media screen and (max-width: 767px) {
    .footer-logo{
        margin-bottom: 10px;
    }
    footer .tel{
        font-size: 28px;
    }
    footer .copy {
        margin: 20px 0 0;
        padding: 10px 0;
    }
    #topback02{
        font-size: 40px;
        margin-bottom: 30px;
    }
    
}

/*******************************
 
共通見出しCSS
 
*******************************/
h1,h2,h3,h4,h5{ line-height: 1.5;}
h2{ font-size: 24px; }
h3{ font-size: 16px; }

/*背景写真タイトル*/
h1.ttl-bg-photo{
	background-size: cover;
	background-position: center;
}
/*背景青タイトル*/
h1.ttl-bg-blue{
	background: url("../img/common/bg_straipe.jpg");
}
/*タイトルcommon*/
h1.ttl-bg-blue,
h1.ttl-bg-photo{
	color: #fff;
	font-size: 18px;
	line-height: 1.2;
	padding: 70px 0; 
}
h1.ttl-bg-blue span,
h1.ttl-bg-photo span{
	display: block;
	font-size: 63px;
}

/*斜線一本*/
.ttl-strip-single{
    font-size: 48px;
    font-weight: normal;
    position: relative;
    padding: 20px 0 0 44px;
    overflow: hidden;
}
.ttl-strip-single:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    -webkit-transform: skew(-22deg);
    -moz-transform: skew(-22deg);
    -o-transform: skew(-22deg);
    border-left: solid 12px #10589d;
    position: absolute;
    top: -10px;
    left: 22px;
}


/*左ボーダー背景灰色*/
.ttl-bg-gry{
    font-size: 18px;
    font-weight: normal;
    background: #efefef;
    border-left: solid 10px #10589d;
    margin-bottom: 25px;
    padding: 14px 10px 14px 30px;
}

/*左丸*/
.ico-list:before{
    content: "・";
    color: #10589d;
}

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

	/*背景写真タイトル*/
	h1.ttl-bg-photo{
		font-size: 16px;
		padding: 40px 0; 
	}
	h1.ttl-bg-photo span{
		font-size: 50px;
	}
    h2{ font-size: 20px; }
    h3{ font-size: 16px; }
    
    /*斜線一本*/
    .ttl-strip-single{
        font-size: 26px;
        padding-left: 25px;
    }
    .ttl-strip-single:before {
        border: none;
        width: 50px;
        height: 50px;
        background: #10589d;
        top: 0;
        left: -25px;
        -webkit-transform: skew(-45deg);
        -moz-transform: skew(-45deg);
        -o-transform: skew(-45deg);
    }
    
    /*左ボーダー背景灰色*/
    .ttl-bg-gry{
        font-size: 16px;
        padding: 12px 10px 12px 20px;
    }
}


