@charset "UTF-8";
/*******************************
 
下層共通 StyleCss
 
*******************************/

/*---------メイン画像---------*/
.page #hero{
    overflow: hidden;
    
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.page #hero .ttl{
    color: #fff;
    font-size: 24px;
    letter-spacing: .1em;
    padding: 8% 0 6%;
}
.page #hero .ttl .en{
    display: block;
    font-size: 14px;
    margin: 15px 0;
}
.page #hero .ttl:after{
    content: "▼";
    font-size: 10px;
    display: block;
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .page #hero .ttl{
        font-size: 20px;
    }
    .page #hero .ttl .en{
        font-size: 12px;
        margin: 8px 0;
    }
}


/*---------パンくず---------*/
.breadcrumbs{
    text-align: left;
    font-size: 0;
    margin: 12px 0;
}
.breadcrumbs li{
    font-size: 12px;
    font-weight: bold;
    display: inline-block;
}
.breadcrumbs li a{
    color: #8c8c8c;
}
.breadcrumbs li a:after{
    content: "\f105";
    font-family: FontAwesome;
    margin: 12px;
}


/*---------メインコンテンツ---------*/
.contents{
    margin-top: 86px;
}
/*==== tablet タブレット用css ===*/
@media screen and (max-width: 1024px){
    .contents{
        margin-top: 60px;
    }
}
/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px){
    .contents{
        margin-top: 40px;
    }
}


/*******************************
 
下層2カラム StyleCss
 
*******************************/
/*---------共通---------*/
.page-col-2 .main,
.page-col-2 .side{
    float: right;
}

/*---------メイン---------*/
.page-col-2 .main{
    width: 74%;
    padding-left: 60px;
    text-align: left;
}
.page-col-2 .main .head-catch{
    font-size: 24px;
    font-weight: bold;
    letter-spacing: .04em;
    line-height: 1.8;
    margin-bottom: 30px;
}

/*主な事業内容ブロック*/
.block-works{
    margin: 40px 0;
}
.block-works dt{
    font-weight: bold;
    letter-spacing: 4px;
    margin-bottom: 15px;
    font-size: 0;
    position: relative;
    overflow: hidden;
}
.block-works dt span{
    background: #fff;
    display: inline-block;
    vertical-align: middle;
    font-size: 14px;
}
.block-works dt .jp{
    letter-spacing: .03em;
    font-size: 12px;
    margin: 0 10px;
}
.block-works dt:after{
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    top: 9px;
}
.block-works dd{
    border-bottom: dotted 1px #bbb;
    background: url(../img/common/ico_works.png) no-repeat left 10px;
    padding: 8px 0 8px 26px;
}

/*メッセージブロック*/
.block-message{
    position: relative;
    margin: 70px 0;
}
.block-message .ico{
    overflow: hidden;
    position: relative;
}
.block-message .ico:after{
    content: "";
    width: 100%;
    height: 1px;
    background: #f6f0e4;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: -1;
}
.block-message .img{
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}
.block-message .comment{
    max-width: 390px;
    background: #fff;
    padding: 34px 34px 0 0;
    line-height: 2;
}

/*インフォメーションブロック*/
.block-info ul {
    text-align: left;
}
.block-info ul li {
    padding: 10px 0;
    font-size: 0;
}
.block-info ul li a {
    display: block;
    padding: 2px 0;
}
.block-info ul li time, .block-info ul li span {
    display: inline-block;
}
.block-info ul li time,
.block-info ul li .cate{
    margin-right: 10px;
}
.block-info ul li time{
	font-weight: bold;
    font-size: 12px;
}
.block-info ul li .cate {
	border: solid 1px #737373;
    border-radius: 5px;
    color: #737373;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: -.03em;
    padding: 4px 0;
    width: 135px;
    text-align: center;
}
.block-info ul li .comment {
    font-size: 14px;
    margin: 5px 0;
}


/*---------サイド---------*/
.page-col-2 .side{
    width: 26%;
}

/*ナビゲーション*/
.page-col-2 .side .navi{
    box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.2);
    margin-bottom: 20px;
}
.page-col-2 .side .navi dt,
.page-col-2 .side .navi dd a{
    text-align: left;
}
.page-col-2 .side .navi dt{
    background: -moz-linear-gradient(top, rgba(140,140,140,1) 0%, rgba(88,88,88,1) 100%);
    background: -webkit-linear-gradient(top, rgba(140,140,140,1) 0%,rgba(88,88,88,1) 100%);
    background: linear-gradient(to bottom, rgba(140,140,140,1) 0%,rgba(88,88,88,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8c8c8c', endColorstr='#585858',GradientType=0 );
    
    font-size: 18px;
    color: #fff;
    padding: 15px 22px;
}
.page-col-2 .side .navi dd a{
    display: block;
    background: #fff;
    border-bottom: solid 1px #eee;
    overflow: hidden;
    font-size: 15px;
    position: relative;
    padding: 15px 36px 15px 30px;
}
.page-col-2 .side .navi dd:last-child a{
    border-bottom: none;
}
.page-col-2 .side .navi dd a:after{
    content: "\f105";
    font-family: FontAwesome;
    line-height: 1;
    font-size: 20px;
    font-weight: bold;
    position: absolute;
    top: 32%;
    right: 20px;
}

.page-col-2 .side .navi dd a:hover,
.page-col-2 .side .navi dd a:active{
    background: #ebe1cc;
    opacity: 1;
}

/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px){
    /*---------共通---------*/
    .page-col-2 .main,
    .page-col-2 .side{
        float: none;
        width: 100%;
        padding: 0;
    }
    
    /*---------メイン---------*/
    .page-col-2 .main .head-catch{
        font-size: 20px;
    }
    
    /*---------サイド---------*/
    .page-col-2 .side{
        margin: 40px 0 10px;
    }
}

/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    /*メッセージブロック*/
    .block-message{
        margin: 40px 0;
    }
    .block-message .ico img{
        width: 100px;
    }
    .block-message .ico:after{
        content: "";
        width: 100%;
        height: 1px;
        background: #f6f0e4;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        z-index: -1;
    }
    .block-message .img,
    .block-message .comment{
        width: 92%;
        margin: auto;
    }
    .block-message .img{
        position: static;
        margin-top: -30px;
    }
    .block-message .comment{
        padding: 20px 0;
    }

}


/*******************************
 
装飾 StyleCss
 
*******************************/
/*---下線ドット---*/
.bd-dot{
    border-bottom: dotted 1px #bbb;
}

/*---二重枠線---*/
.double-line{
    position: relative;
    border: solid 3px #e1d0a9;
    padding: 15px;
}
.double-line:before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    margin: auto;
    border: solid 2px #fff;
    -webkit-box-shadow: 0px 0px 0px 1px #e1d0a9 inset;
    -moz-box-shadow: 0px 0px 0px 1px #e1d0a9 inset;
    box-shadow: 0px 0px 0px 1px #e1d0a9 inset;
}

/*---背景白斜線---*/
.bg-str-wh{
    background-image: url(../img/common/bg_str_wh.png);
}

/*---タイトル背景ダークグレー---*/
.ttl-bg-gry-d{
    background: #3d3d3d;
    color: #fff;
    padding: 12px 30px;
    font-size: 18px;
    letter-spacing: .03em;
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .ttl-bg-gry-d{
        padding: 12px 20px;
    }
}

/*---タイトル左線ゴールド---*/
.ttl-left-gold{
    background-image: url(../img/common/bg_str_wh.png);
    background-color: #f5f0e5;
    border-left: solid 10px #9f8756;
    margin-bottom: 30px;
    padding: 12px;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: .05em;
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .ttl-left-gold{
        font-size: 16px;
    }
}

/*---タイトル上線ゴールド---*/
.ttl-bt-gold{
    color: #9f8756;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: .03em;
    border-top: solid 2px #d5d5d5;
    position: relative;
    padding: 15px 0;
    margin: 20px 0 10px;
}
.ttl-bt-gold:before{
    content: "";
    width: 40px;
    height: 2px;
    background: #9f8756;
    position: absolute;
    top: -2px;
    left: 0;
}

/*---タイトル ラージアイコン---*/
.ttl-ico-lg{
    background: url(../img/common/ico_lg.png) no-repeat;
    background-position: left 11px;
    font-size: 30px;
    margin-bottom: 20px;
    padding-left: 34px;
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .ttl-ico-lg{
        background-position: left 4px;
        font-size: 22px;
        margin-bottom: 15px;
        padding-left: 34px;
    }
}



/*---icon 四角オレンジ---*/
.ico-sq-orange span,
.ico-sq-orange:before{
    display: inline-block;
    vertical-align: middle;
}
.ico-sq-orange:before{
    content: "■";
    color: #ed7240;
    font-size: 10px;
    margin-right: 8px;
}

/*---icon pdf---*/
.ico-pdf:before{
    content: "\f1c1";
    font-family: FontAwesome;
    margin-right: 5px;
}


/*******************************
 
ボタン StyleCss
 
*******************************/
/*---ゴールドグラデーション---*/
.btn-gold{
    display: block;
    width: 100%;
    max-width: 290px;
    margin: auto;
    padding: 10px 15px;
    color: #fff;
    background: -moz-linear-gradient(top, rgba(225,207,169,1) 0%, rgba(190,165,115,1) 100%);
    background: -webkit-linear-gradient(top, rgba(225,207,169,1) 0%,rgba(190,165,115,1) 100%);
    background: linear-gradient(to bottom, rgba(225,207,169,1) 0%,rgba(190,165,115,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e1cfa9', endColorstr='#bea573',GradientType=0 );
    border-radius: 10px;
}


/*******************************
 
会員権販売バナーStyleCss
 
*******************************/
.bnr-membership p{
    font-size: 18px;
    color: #83784f;
    margin: 0 0 5px;
}
.bnr-membership a{
    font-size: 18px;
}
.bnr-membership a:after{
    content: "\f138";
    font-family: FontAwesome;
    line-height: 1.5;
    margin-left: 5px;
}


/*******************************
 
お問い合わせ窓口バナーStyleCss
 
*******************************/
.contact-ttl{
	background-color: #2d4483;
    padding: 15px;
    font-size: 18px;
    color: #fff;
    letter-spacing: 2px;
    text-align: center;
}
.contact-con{
	border: solid 1px #2d4483;
    display: block;
    text-align: center;
}
.contact-con li{
	display: inline-block;
	font-weight: bold;
	vertical-align: middle;
	text-align: left;
	padding: 30px 20px;
}
.contact-con .contact-tel{
    font-size: 30px;
	color: #2d4483;
}
.contact-con .contact-tel:before{
	content: '';
    display: inline-block;
    width: 30px;
    height: 49px;
    background-image: url(../../contact/img/ico_phone@2x.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    padding-right: 20px;
}

/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px){
    .contact-con li {
        padding: 20px;
    }
    .contact-con .contact-tel {
        padding-bottom: 0;
    }
}


/*******************************
 
ゴールド枠付きバナーStyleCss
 
*******************************/
.bnr-spe.double-line{
    background-image: url(../img/common/bg_str_wh.png);
    background-color: #fcf5e6;
    margin: 60px auto 80px;
    text-align: center;
}
.bnr-spe.double-line:before{
    z-index: 0;
}
.bnr-spe.double-line:after{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    margin: 0 auto;
    width: 50%;
    height: 90%;
    content: '';
    box-shadow: 0 10px 20px rgba(0,0,0,.2);
    border-radius: 100px / 15px;
    opacity: 1;
    transition: all 300ms 0s ease;
}
.bnr-spe.double-line .waku1,
.bnr-spe.double-line .waku2{
    position: absolute;
    left: -3px;
    z-index: 1;
    width: 100%;
}
.bnr-spe.double-line .waku1{
    top: -3px;
}
.bnr-spe.double-line .waku2{
    bottom: -3px;
}
.bnr-spe.double-line .waku1:before,
.bnr-spe.double-line .waku1:after,
.bnr-spe.double-line .waku2:before,
.bnr-spe.double-line .waku2:after{
    content: "";
}

.bnr-spe.double-line .waku1:before,
.bnr-spe.double-line .waku2:before{
    float: left;
}

.bnr-spe.double-line .waku1:after,
.bnr-spe.double-line .waku2:after{
    float: right;
    margin-right: -6px;
}

.bnr-spe.double-line .waku1:before{
    border-bottom: 16px solid transparent;
    border-left: 16px solid #9f8756;
}
.bnr-spe.double-line .waku1:after{
    border-top: 16px solid #9f8756;
    border-bottom: 16px solid transparent;
    border-left: 16px solid transparent;
}
.bnr-spe.double-line .waku2:before{
    height: 16px;
    border-right: 16px solid transparent;
  border-bottom: 16px solid #9f8756;
}
.bnr-spe.double-line .waku2:after{
    border-top: 16px solid transparent;
    border-bottom: 16px solid #9f8756;
    border-left: 16px solid transparent;
}

.bnr-spe.double-line p,
.bnr-spe.double-line a {
    position: relative;
    z-index: 1;
}
.bnr-spe.double-line p{
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5;
    margin: 28px 0 20px;
}
.bnr-spe.double-line a{
    display: inline-block;
    margin-bottom: 24px;
    padding: 12px 60px;
    color: #fff;
    background: -moz-linear-gradient(top, rgba(225,207,169,1) 0%, rgba(190,165,115,1) 100%);
    background: -webkit-linear-gradient(top, rgba(225,207,169,1) 0%,rgba(190,165,115,1) 100%);
    background: linear-gradient(to bottom, rgba(225,207,169,1) 0%,rgba(190,165,115,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e1cfa9', endColorstr='#bea573',GradientType=0 );
    border-radius: 22px;
}
.bnr-spe.double-line a:after{
    content: "\f105";
    font-family: FontAwesome;
    margin-left: 10px;
}
/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px){
    .bnr-spe.double-line {
        margin: 40px auto;
    }
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    .bnr-spe.double-line p {
        font-size: 18px;
    }
    .bnr-spe.double-line a{
        padding: 12px 20px;
}



/*==== tablet タブレット用css ===*/
@media screen and (max-width: 1024px){
    
}
/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px){
    
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px){
    
}