@charset "UTF-8";


/* 全ページ共通のcss */



/* ========== 基本設定 ========== */

*,body,div,dl,dt,dd,
ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,input,
button,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;
}
body {
	font-family:"メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-size: 16px;
    *font-size:small;
    *font:x-small;
	line-height: 1.6; /* font-sizeより下に配置 */
	color: #40474d;
	background-color: #DDDDDD;
}

@media screen and (max-width: 768px) {
	body {
background-color: transparent;
	}
}
table,tr,td{
	font-size: 100%;
	line-height: 1.4;
	text-align: left;
	vertical-align: top;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	border: none;
    vertical-align:top;
/*	vertical-align:bottom;/*IEの下スペ回避*/
}
ol, ul {
	list-style-type: none;
}
a {
	outline: none;
}

/*--------- フロート設定 ---------*/

.fleft {float: left;}
.fright {float: right;}
img.fleft {
	margin:0 10px 5px 0;}
img.fright {
	margin:0 0 5px 10px;}
.center{
	text-align:center;
	}
/*--------- フロート解除 ---------*/

.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix {display: inline-block;} 
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */
.clear{clear:both;}


/*--------- 透過 ---------*/
.alpha:hover {
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}


/*--------- アルファ ---------*/
.lightup:hover {
	filter: alpha(opacity=80);
	opacity: 0.8;
}



/* pkg class */

.pkg:after {
	content: ""; /* Vvf */
	display: block; /* ubNxvf */
	clear: both;
	height: 0;
	visibility: hidden;
}

.pkg {
	min-height: 1px;
}

* html .pkg {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}



/*--------- フォント設定 ---------*/
.font_10 {font-size:77%;} /* for setting 10px */
.font_11 {font-size:85%;} /* for setting 11px */
.font_12 {font-size:93%;} /* for setting 12px */
.font_13 {font-size:100%;} /* for setting 13px */
.font_14 {font-size:108%;} /* for setting 14px */
.font_15 {font-size:116%;} /* for setting 15px */
.font_16 {font-size:123.1%;} /* for setting 16px */
.font_17 {font-size:131%;} /* for setting 17px */
.font_18 {font-size:138.5%;} /* for setting 18px */
.font_19 {font-size:146.5%;} /* for setting 19px */
.font_20 {font-size:153.9%;} /* for setting 20px */
.font_21 {font-size:161.6%;} /* for setting 21px */
.font_22 {font-size:167%;} /* for setting 22px */
.font_23 {font-size:174%;} /* for setting 23px */
.font_24 {font-size:182%;} /* for setting 24px */
.font_25 {font-size:189%;} /* for setting 25px */
.font_26 {font-size:197%;} /* for setting 26px */


.pc{display: inline-block;}
.sp{display:none;}
@media screen and (max-width:768px){
    .pc{display:none;}
    .sp{display:inline-block;}
}

.img-responsive{width:100%;}
/* ============================ ▼ 丸長石材 css start ▼ ====================================== */


body {
	background: url(../images/common/html_bg.gif) top repeat-x;
	text-align: center;
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
body {
	background-image: none;
}
}



div#body2 {
	width: 100%;
	height: auto;
}

div#body3 {
	background: url(../images/common/body_bg.jpg) bottom repeat-x;
	padding-bottom: 55px;
}
@media screen and (max-width:768px) {
    div#body3 {
        padding-bottom:0;
    }
    
}


/* ============ 全体を囲む#wrapper ============== */

div#wrapper {
	width: 943px;
	height: auto;
	margin: 0 auto;
	padding-top: 15px;
	text-align: left;
}
@media screen and (max-width:768px){
    div#wrapper {
        width: 100%;
        padding-top: 0px;
    }
}

/* ============ #header ============== */

div#header {
	width: 943px;
	height: auto;
}
@media screen and (max-width:768px){
    div#header {
	width: 100%;
	display: none;
}
}
.header_1{
    padding-top:20px;
    padding-bottom:5px;
    display: flex;
    justify-content: space-between;
}

div#header h1 {
	padding: 0px 0 0 11px;
}
div#header h1 a {
	display: block;
	width: 230px;
	height: 84px;
}
div#header h1 a img{
    width:100%;
}

.header_right{
    padding-top:10px;
}

/* スマホ用 header */
.openRgtmenu{
  position:fixed;  
}
#sp-header{
    display:none;   
}
@media screen and (max-width:768px){
    .logo{
        width: 160px;
    }
    .logo img{
        vertical-align:bottom;
    }
#sp-header{
    display:block;
/*    position: fixed;
*/    z-index: 2;
    background:#fff;
    border-bottom: 1px solid #e83421;
    box-sizing: border-box;
    width: 100%;
    height: 70px;
}
#menu-area{
    display:flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    justify-content: space-between;
    padding-right: 6px;
    padding-left: 6px;
    padding-top:10px;
    padding-bottom:10px;
}

.header-menubtn{
    width: 120px;
}
.header-menubtn ul{
    display:flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
}

.header-menubtn li{
    padding-left: 10px;
}
.header-menubtn li img{
    width:100%;
    vertical-align: bottom;   
}
#sp-menu{
    display:none;
}
#closebtn{
    flex-direction: row-reverse;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    border-bottom: 2px solid #e83421;
}
#closebtn a{
    padding-top: 0px; 
}    
#closebtn a img{
    width: 70%;    
    
}       
body.openRgtmenu #overlay {
    position: absolute;
    top: 0px;
    bottom: 0px;
    right: 0;
    left: 0;
    width: 100%;
    height: 0;
    display: none;
    cursor: pointer;
    z-index: 10;
    background: url(../images/overlay.png);
}
    
    #sp-menu{
    position: fixed;
    display: none;
    width: 280px;
    height:100%;
    top: 0px;
    right: -280px;
    background: #FFFFFF;
    border-left: 1px solid #CCCCCC;
    padding: 0px;
    z-index: 20;
    overflow: auto;
    overflow-y: scroll;
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
    }    
    
    #sp-menu li{
        border-bottom: 1px solid #FDACBC;
    }
    
    #sp-menu li a{
        line-height: 3em;
        width: auto;
        display:block;
        padding-left: 30px;
        font-size: 16px;
        text-decoration: none;
        color:#271003;
    }
}
/* スマホ用 h2 title */
@media screen and (max-width:768px){
    .h2-sp{
        width:100%;    
    }
    .h2-sp h2{
        color:#fff;
        font-size:16px;
        font-weight: normal;
        padding:20px 0 20px 20px;
        background: -webkit-linear-gradient(left, #e83521, #ffa679);
        background: -o-linear-gradient(left, #e83521, #ffa679);
        background: linear-gradient(left, #e83521, #ffa679);  
    }
}



/* header tel 資料請求 など */
div.header_right div.box {
	height: auto;
}

div.header_right .tel {
    width:240px;
}
div.header_right .tel img {
    width:100%;
}


/* ----- グローバルナビ ----- */

nav{
    clear: both;
    height: auto;
    border-top:1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
}
#global_navi{
    width: 943px;
    text-align: center;
    width:auto;
    display: flex;
    justify-content:space-between;
}

#global_navi li{
    width: calc(100%/5);
    border-left: 1px solid #e8e8e8;
}
#global_navi li:first-child{
    border-left: none;
}
#global_navi li a{
    display: block;
    position:relative;
    padding:18px 0;
    text-decoration: none;
    color: #271d1d;
    font-weight: bold;
}

#global_navi li a:before{
    content:"";
    width:100%;
    height:100%;
    position: absolute;
    top:-6px;
    left: 0;
    z-index: -1;
    border-top: 5px solid #ff431e;
    background:#fff;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    
}
#global_navi li a:after{
    content:"";
    width: 100%;
    height:100%;
    position:absolute;
    top:-6px;
    left:0;
    z-index: -2;
    border-top: 5px solid #ff431e;
    background: rgb(240,240,240);
    background: linear-gradient(180deg, rgba(240,240,240,1) 0%, rgba(224,224,224,1) 15%, rgba(255,255,255,1) 55%, rgba(255,255,255,1) 100%);
}
    
#global_navi li a:hover:before{
    opacity: 0;
}

/* ===グローバルナビからフッターまで囲っている枠=== */
div#line_side {
	background: url(../images/common/line_bg.gif) left repeat-y;
	padding: 0 2px 0 1px;
}
@media screen and (max-width:768px) {
    div#line_side {
        background: none;
        padding: 0;
    }
    
}


div#line_bottom {
	background: url(../images/common/line_bottom.gif) left bottom no-repeat;
	padding-bottom: 5px;
	margin-bottom: 27px;
}




/* ========== ページャー ========== */
div#pager {
	clear: both;
	text-align: center;
	font-size: 93%;
}
div#pager img {
	vertical-align: middle;
}

div#pager a {
	color: #0000ff;
	text-decoration: underline;
}
div#pager a:hover {
	color: #FF7200;
	text-decoration: underline;
}

/* ============ 各ページの内容 #main ============== */
div#main {
	float: left;
	width: 716px;
	height: auto;
	padding-bottom: 20px;
}
@media(max-width:768px){
    div#main{
        float:none;
        width:100%;
    }
}

/* ============ 各ページの見出し #main h3============== */
#main h3 {
    margin: 25px 25px 0 25px;
    border-bottom: 1px solid #d4d4d4;
    padding: 5px 5px;
}
@media screen and (max-width:768px) {
    #main h3 {
        margin: 25px 0 10px 0;
    }
}

@media screen and (min-width: 768px) {
	#main h3{
		margin-bottom: 25px;
	}
}


.h3-title {
    color: #ed412d;
    font-size: 1.2rem;
    font-weight: normal;
}
.h3-title span{
    font-size:0.9rem;
    padding-left:20px;
    color:#111;
}

.span-title{
    font-size:0.9rem;
    padding-left:10px;
    color:#111;
}

/* ============ リンク ============== */
.link_icon{
	background-image: url(../images/link_icon.gif);
	background-repeat: no-repeat;
	background-position: left center;
	padding:3px 0 2px 20px;
	margin-top:10px;
	margin-bottom:5px;
}
.link_icon a {
	color: #0E7BDA;
	text-decoration: underline;
}
.link_icon a:hover {
	color: #FF7200;
	text-decoration: underline;
}

/* ============ 横のリンクなど #side ============== */
div#side {
	float: left;
	width: 199px;
	padding-bottom: 20px;
}

/* バナーのリスト */
div#side ul.side_banner li {
	margin-top: 10px;
}
ul.side_banner li ,
ul.side_banner li a {
	display: block;
    width: 205px;
	overflow: hidden;
}

/* バナー */
ul.side_banner li.banner_search a {
	height: 75px;
	background: url(/images/common/side_search.gif) top left no-repeat;
}
ul.side_banner li.banner_reform a {
	height: 75px;
	background: url(/images/common/side_reform.gif) top left no-repeat;
}
ul.side_banner li.banner_build a {
	height: 75px;
	background: url(/images/common/side_build.gif) top left no-repeat;
}
ul.side_banner li.banner_ask a {
	height: 186px;
	background: url(/images/common/side_ask.jpg) top left no-repeat;
}
ul.side_banner li.banner_syokai a {
	height: 81px;
	background: url(/images/common/side_syokai.png) top left no-repeat;
}
ul.side_banner li.banner_hajimete a {
	height: 120px;
	background: url(/images/common/side_hajimete.jpg) top left no-repeat;
}
ul.side_banner li.banner_flier a {
	height: 83px;
	background: url(/images/common/side_flier.jpg) top left no-repeat;
}
ul.side_banner li.banner_tv a {
	height: 83px;
	background: url(/images/common/side_tv.jpg) top left no-repeat;
}
ul.side_banner li.banner_butsu a {
	height: 55px;
	background: url(/images/common/side_butsu.gif) top left no-repeat;
}
ul.side_banner li.banner_info a {
	height: 55px;
	background: url(/images/common/side_info.gif) top left no-repeat;
}
ul.side_banner li.banner_afterservice a {
	height: 118px;
	background: url(/images/common/side_afterservice.jpg) top left no-repeat;
}
ul.side_banner li.banner_koukyuboseki{
	border-top:1px dotted #dddddd;
	padding-top: 15px;
}
ul.side_banner li.banner_koukyuboseki a {
	height: 83px;
	background: url(/images/common/side_koukyuboseki.jpg) top left no-repeat;
}
ul.side_banner li.banner_pet a {
	height: 200px;
	background: url(/images/common/side_pet.jpg) top left no-repeat;
}
ul.side_banner li.banner_company a {
	height: 55px;
	background: url(/images/common/side_company.gif) top left no-repeat;
}
ul.side_banner li.banner_association a {
	height: 55px;
	background: url(/images/common/side_association.gif) top left no-repeat;
}
ul.side_banner li.banner_store a{
	height: 73px;
	margin-bottom: 10px;
	background: url(/images/common/side_store_new.gif) top left no-repeat;
}
ul.side_banner li.banner_seiyaku a{
	height: 80px;
	background: url(/images/common/side_seiyaku.jpg) top left no-repeat;
}

ul.side_banner li.banner_recruit a{
	height: 73px;
	background: url(/images/common/side_recruit.jpg) top left no-repeat;
}

ul.side_banner li.banner_tirashi a{
	height: 78px;
	background: url(/images/common/side_tirashi8.png) top left no-repeat;
}
ul.side_banner li.banner_tirashi07 a{
	height: 78px;
	background: url(/images/common/side_tirashi9.png) top left no-repeat;
}

ul.side_banner li.banner_hekiga a{
	height: 90px;
	background: url(/images/common/side_hekiga.jpg) top left no-repeat;
}
ul.side_banner li.banner_jyumoku a{
	height: 78px;
	background: url(/images/common/side_jyumoku.png) top left no-repeat;
}
ul.side_banner li.banner_rakuten a{
	height: 153px;
	background: url(/images/common/side_rakuten.png) top left no-repeat;
}



ul.side_banner li a:hover {
	filter: alpha(opacity=75);
	-moz-opacity: 0.75;
	opacity: 0.75;
}

/* ============ フッター 企業情報 ============== */
div#footer_tel {
	clear: both;
	padding: 0;
	margin: 10px 0 0 0;
}

.footer_banner_title{
    padding:10px 20px;
    border-top:2px solid #e1e1e1;
    background: #F5F5F5;
    color:#9C9C9C;
    font-weight: normal;
}
.footer_banner{
    padding:0 15px 30px 15px;
    text-align: center;
    background:linear-gradient(to bottom, #f3f3f3 15%,#fff 85%); 
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
@media screen and (max-width:768px){
    .footer_banner{
        padding:0px 15px;
    }
    
}

.footer_banner a{
    width:25%;
    display: inline-block;
    padding:20px 0;
}
/** アコーディオンctrl用 **/
input#menu-2-ctrl{
    display: none;
}
@media screen and (max-width:768px){
    /** sp用アコーディオン **/
    .footer_banner a{
        width:45%;
        padding:0px 5px;
        overflow-y: hidden;
        max-height: 0;
        -webkit-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s;
    }
    #menu-2-ctrl:checked ~ div.footer_banner a{
        max-height: 90px;
        padding:20px 5px;
    
    } 
    #menu-2-ctrl:checked ~ #menu-2 .menu-icon-bar span.vertical{
        -webkit-transform: rotate(180deg);
        transform: rotate(0deg);
    }
    
}


.footer_banner img{
    filter:gray;
    -webkit-filter:grayscale(100%);
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
}
@media screen and (max-width:768px) {
    .footer_banner a>img{
        width: 100%;
    }
    .footer_banner a:last-child img{
        width: auto;
    }
  
}

.footer_banner img:hover{
    -webkit-filter: grayscale(0%);
    filter: none;
}

	



/* ============ フッター　メニュー ============== */

label#menu-1,
label#menu-2{
    display: block;
    padding:16px 20px;
    background:#f3f3f3;
    color: #9c9c9c;
    position:relative;
}
/*
label#menu-1:after{
    content: "";
    position: absolute;
    border: 5px solid #f3f4f3;
    right: 4px;
    top: 20px;
    padding: 2px 16px;
}
label#menu-1:before{
    content: "";
    position: absolute;
    border: 11px solid #ff6200;
    right: 10px;
}
*/
.menu-icon-bar {
    display: none;
}
@media screen and (max-width: 768px) {
    .menu-icon-bar{
        display: block;
    }
    
}
.menu-icon-bar span{
    width: 12px;
    height: 1px;
    display: block;
    background: #868686;
    position: absolute;
    right: 7%;
    top: 50%;
    margin-left: -25px;
}
.menu-icon-bar span.top{
    margin-top:-6px;
}
.menu-icon-bar span.bottom{
    margin-top:6px;
}

.menu-icon-bar span.vertical{
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

@media screen and (max-width:768px) {
    label#menu-1,
    label#menu-2{
        border-bottom: 1px solid #fff;
    }
}


div#footer {
    width:auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0px 20px 20px;
    background:linear-gradient(to bottom, #f3f3f3 6%,#f6f6f6,24%,#fff 70%); 
    justify-content: space-around;
}

@media screen and (max-width: 768px) {
    div#footer {
        padding: 0px 5px;
    }
}


/** アコーディオンctrl用 **/
input#menu-1-ctrl{
    display:none;   
}

div#footer ul.footer_link {
	width: auto;
	height: auto;
	font-size: 0.7rem;
	padding: 0 0 20px 0;
}


@media screen and (max-width:768px){
    /** sp用アコーディオン **/
    div#footer ul.footer_link {
        width: 47%;
        padding:0;
        padding-left:10px;
        font-size: 95%;
        overflow-y:hidden;
        max-height: 0;
        -webkit-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s;
    }
    #menu-1-ctrl:checked ~ div#footer ul.footer_link{
        max-height: 300px;
        padding-top:10px;
    }
    #menu-1-ctrl:checked ~ #menu-1 .menu-icon-bar span.vertical{
       -webkit-transform: rotate(180deg);
        transform: rotate(0deg);
    }
}

div#footer ul.footer_link li {
	padding-bottom: 5px;
	width: auto;
}
@media screen and (max-width:768px){
    div#footer ul.footer_link li {
	margin: 0;
    padding: 5px 0;
}
    
}

div#footer ul.footer_link li a {
	display: block;
	background: url(../images/common/footer_li.gif) 0 50% no-repeat;
	padding-left: 10px;
	color: #2C3135;
	text-decoration: none;
}
div#footer ul.footer_link li.bold a {
	font-weight: bold;
}


div#footer ul.footer_link li a:hover {
	color: #f14025;
	text-decoration: underline;
}

/* footer catchcopy */
@media screen and (max-width:768px) {
    p.footer_copy{
        display:none;
    }
}


/** footer sp用表示部分　**/
.footer-sp{
    display: none;
}
@media screen and (max-width:768px) {
    .footer-sp{
        display:block;
        padding: 10px 10px 20px;
        background: #ff6200;
        color: #fff;
        display: flex;
        justify-content: space-between;
    }    
}
.footer-sp p.toiawase:before{
    content: "";
    display:inline-block;
    background:url("/images/common/sp_footer_contact.png");
    background-size: contain;
    width: 25px;
    height: 20px;    
    vertical-align: middle;
    margin-right: 4px;
}
.footer-sp p.toiawase a{
    color:#fff;
}

/** sp用コンテンツ紹介バナー **/
#sp-banner{
    display: none;
}

@media screen and (max-width:768px) {
    #sp-banner{
        padding:0 15px;
        display: inline-block;
    }
    #sp-banner ul{
        display: flex;
        flex-wrap: wrap;
    }
    #sp-banner ul li{
        width:50%;
        padding:0;
    }
    #sp-banner li img{
        width:100%;
    }

}



/* footer copyright */
div#copyright {
    width: 100%;
    height: 18px;
    color: #ffffff;
    font-size: 11px;
    text-align: center;
}
@media screen and (max-width:768px) {
    div#copyright {
        background: #ff6200;
    }
}
.footer_copy{
	clear: both;
	color:#F24026;
	margin: 0 0 5px 0;
}


#tooltip
{
    text-align: center;
    color: #fff;
    background: #111;
    position: absolute;
    z-index: 100;
    padding: 15px;
    border-radius:5px;
    -webkit-border-radius: 5px;
	-moz-border-radius: 5px;
    
}
 
    #tooltip:after /* triangle decoration */
    {
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 10px solid #111;
        content: '';
        position: absolute;
        left: 50%;
        bottom: -10px;
        margin-left: -10px;
    }
 
        #tooltip.top:after
        {
            border-top-color: transparent;
            border-bottom: 10px solid #111;
            top: -20px;
            bottom: auto;
        }
 
        #tooltip.left:after
        {
            left: 10px;
            margin: 0;
        }
 
        #tooltip.right:after
        {
            right: 10px;
            left: auto;
            margin: 0;
        }


/*** 問合せ用ボタン **/
.btn-1{
    width:auto;
    margin:10px;
    border:1px solid #bfbfbf;
    border-radius:4px;
    text-align:center;
    background: -webkit-linear-gradient(#ccc, #e3e3e3, #f1f1f1 40%);
    background: -o-linear-gradient(#ccc, #e3e3e3, #f1f1f1 40%);
    background: linear-gradient(#ccc, #e3e3e3, #f1f1f1 40%);
    transition:all 0.5s;
}
@media screen and (max-width:768px) {
    .btn-1{
        margin:10px 5px;
    }    
}
.btn-1 a{
    display: block;
    padding:16px 25px 16px 10px;
    text-decoration: none!important;
    position: relative;
    font-weight: bold;
    font-size:1.0rem;
}
.btn-1 a:after{
    content:"";
    position:absolute;
    top:35%;
    vertical-align: middle;
    right:5%;
    border:7px solid transparent;
    border-left:9px solid #7d7d7d;
}
.btn-1:hover{
    border:1px solid #ffd951;
    opacity: 0.7;
}

.text-blue{color:#0E7BDA!important;}
.text-green{color:#5fb306!important;}
.text-orange{color:#0062ff!important;}
.width50{width:50%;}
.text-black{color:#333!important;}
