﻿.bg_color1 {background-color: #05498e;}
.bg_color4 {background-color: #f1f1f1;}
.border_color1 {border-color: #01b5bd;}
.txt_color1 {color: #05498e;}
.txt_color3 {color: #05498e;}
.txt_color4 {color: #01b5bd;}

.hvr_txt_color1:hover {color: #01b5bd;}
/* ----------　all　---------- */
.linkStyle{
	color:#2e7ec2;
}
.linkStyle:hover{
	color:#2e7ec2;
	opacity: 0.7;
	transition: all 0.5s;
}
body,.font_en{
    font-family: 'Noto Sans JP', sans-serif;
}
body,.font_14 {
    font-size: 16px;
}
.txt_shadow-b {
    text-shadow: none;
}
header{
    border-right: 3px solid #05498e;
    box-shadow: 2px 4px 20px rgba(202 ,227, 225 ,0.6);
    width: 250px!important;

}
header .head_box{
    padding: 0;
    margin: 0;
}
header #logo{
    width: 80%;
}
#main_menu ul li a {
    color: #05498e;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    padding-left: 0px;
    border-bottom: 1px solid #05498e;
    padding-top: 15px;
    padding-bottom: 15px;
    margin-bottom: 0;
}
#main_menu ul li a:hover {
    color: #01b5bd;
}
#main_menu ul li a:hover {
    padding-left: 0px;
}
#main_menu ul li a:before{
    display: none;
}
header .contact_bt a,header .tel_bt a{
    background-color: #05498e;
    border: none;
    color: white;
}
header .tel_bt{
    margin-top: 2px; 
}
header .tel_bt a{
    background-color: #01b5bd;
}
header .contact_bt a:hover, header .tel_bt a:hover{
        color: #ffd242;
}
.main_box {
        width: calc(100% - 250px)!important;
    margin-left: 250px;
    min-width: 700px;
}
.button:hover::after {
    box-shadow: inset 0 0 0 15em #01b5bd;
}
footer .logo img{
    max-width: 400px;
}
.button2:hover {
    box-shadow: none;
    color: #fff;
    background-color: #01b5bd;
}
#sp_nav li a{
    font-size: 18px;
}
.banner_fix {
    position: fixed;
    bottom: 20px;
    right: 0px;
    left: 0;
    margin: auto;
    z-index: 5;
    width: 80%;
    max-width: 500px;
    transition: 0.3s;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
.banner_fix:hover{
    opacity: 0.6;
}
.banner_fix a{
        background-color: #05498e;
    color: #fff;
    padding: 15px 0px;
    width: 100%;
    transition: 0.5s;
    display: inline-block;
}
.banner_fix a span{
    color: #ffd242;
}
/* ----------　TOP　---------- */
#main_img img {
    object-position: 100% 0%;
}
#contents1{
        max-width: 90%;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}
#contents1 h2{
    font-weight: bold;
    font-size: 45px;
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: 4px;
    line-height: 1.7;
}
#contents1 h2 .span1{
    font-size: 55px;
    color: #e3ad00;
}
#contents1 h2 .span2{
    font-size: 55px;
    color: #01b5bd;
    position: relative;
}
#contents1 h2 .span2:before{
    content: '';
    width: 100%;
    height: 15px;
    background-color: rgb(227 173 0 / 36%);
    position: absolute;
    bottom: 0;
    z-index: -1;
}
#contents1 .con1_box {
        display: flex;
    align-items: flex-end;
}
#contents1 .con1_box .con1_item{
    width: 75%;
    margin-bottom: 50px;
    margin-right: 3%;
}
#contents1 p{
        font-weight: bold;
    font-size: 16px;
    line-height: 2.5;
}
.con1_item p span {
    font-size: 25px;
    font-weight: bolder;
    line-height: 1.2;
    color: #1d69b6!important;
}
#contents1 .intro_photo{
    margin-top: 50px;
}

#contents1 .con1_box .con1_img{
        width: 25%;
}
#attach{
    background-size: cover;
    background-attachment: local;
        padding: 80px 0 340px;
    height: auto;

}
#attach:before {
    background-color: rgba(46 ,126, 194,0.55);
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
}
#attach:after {
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    background-image: url(Dup/img/line.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100%;
    z-index: 3;
}
#attach .con2_img{
    position: absolute;
    width: 700px;
    bottom: 0;
    left: -45px;
    z-index: 2;
}

#attach #contents2{
    position: relative;
    z-index: 1;
}
#attach #contents2 div{
    padding: 0px;
    width: 90%!important;
    margin: auto;
}
#attach #contents2 div h2,#attach #contents2 div p{
    color: #fff;
}
#attach #contents2 div h2{
    font-size: 45px;
    font-weight: bold;
    text-align: center;
        letter-spacing: 5px;
    margin-bottom: 40px;
}
#attach #contents2 div h2 span{
    font-size: 55px;
    color: #e3ad00;
    text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
    letter-spacing: 15px;
}
#attach #contents2 div p{
    line-height: 3;
    background-color: rgba(255 ,255 ,255 ,0.9);
    color: #05498e;
    padding: 30px;
    font-weight: bold;
    font-size: 17px;
}
#attach #contents2 .grid_6 p span {
    font-size: 25px;
    font-weight: bolder;
    line-height: 1.2;
    color: #e3ad00!important;
}
#contents3 {
    
    background-color: #f7f7f7;
}
#contents3 .con3_title{
    font-size: 35px;
    font-weight: bold;
    text-align: center;
    color: #05498e;
    border-bottom: 3px solid;
    margin-bottom: 40px;
    padding-bottom: 10px;
    letter-spacing: 2px;
        position: relative;
}
#contents3 .con3_title:before {
    background: linear-gradient(to top right, rgba(255,255,255,0) 50%, #05498e 50.5%) no-repeat top left/50% 100%, linear-gradient(to top left, rgba(255,255,255,0) 50%, #05498e 50.5%) no-repeat top right/50% 100%;
    content: '';
    position: absolute;
    width: 40px;
    height: 20px;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}
#contents3 div.grid_6 h4{
    background-color: #01b5bd;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
}
#contents3 div.grid_6 h3{
    font-weight: bold;
}
#contents3 .con_link {
    text-align: center;
    font-size: 30px;
    margin: auto;
    width: 80%;
    max-width: 500px;
    font-weight: bold;
    margin-top: 60px;
}
#contents3 .con_link a{
    background-color: #05498e;
    color: #fff;
    padding: 15px 10px;
    width: 100%;
    transition: 0.5s;
    display: inline-block;
}
#contents3 .con_link a:hover {
    transform: translateY(-5px);
    
    box-shadow: 2px 2px 15px rgba(5 ,73 ,142 ,0.3);
}
#contents3 .con_link a span{
        color: #ffd242;
}
#contents3 .con_link a i{
    margin-left: 10px;
}
#contents3 .con3_wrap,.top_cms_box{
    max-width: 90%;
    margin: auto;
}
#top_cms .cms_title h2{
    font-weight: bold;
    font-size: 35px;
}
#top_cms .cms_5-c.cms_wrap{
        border: 1px solid #b2b2b2;
    padding: 40px;
}
/* ----------　下層ページ　---------- */
.page article.width_1280-max , .page section.width_1000-max{
    max-width: 90%;
    margin: auto;
}
#page_title .page_box::before ,.cms_title::before{
    background-color: #737373;
}
#page_title .page_box h2{
    font-weight: bold;
    font-size: 45px;
}
#page_title .page_box p{
        color: #01b5bd;
}
.cate_list li a{
    font-size: 20px;
    font-weight: bold;
    padding: 15px 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cate_title {
    font-weight: bold;
    font-size: -webkit-calc(1rem + 12px);
    font-size: calc(1rem + 12px);
}
.box_title1{
    font-weight: bold;
    font-size: -webkit-calc(1rem + 10px);
    font-size: calc(1rem + 10px);
}
/* 当店について */
#cms_2-a .box_title1{
        border-bottom: 3px solid #05498e;
    padding-bottom: 5px;
    margin-bottom: 20px;
}
/* 施工事例 */
.BA_type2 .box_img1_wrap, .BA_type2 .box_img2_wrap {
	width: 48%!important;
	margin: 0 1%;
}
.BA_type2 .box_img1_wrap::before, .BA_type2 .box_img2_wrap::before {
	position: absolute;
	content: "Before";
	width: 121px;
	background-color: #01b5bd;
    color: #fff;
	text-align: center;
	display: block;
	left: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
	font-size: 14px;
	letter-spacing: 1px;
	padding: 4px 0px;
	box-sizing: border-box;
}
.BA_type2 .box_img2_wrap::before {
	content: "After";
	background-color: #05498e;
}
/* よくある質問 */
#cms_5-c .box_txt1::before,.cms_5-c .box_txt1::before {
    color: #01b5bd;
}
/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
#page7 .box_item h3, #page9 .box h3{
    font-weight: bold;
    font-size: -webkit-calc(1rem + 5px);
    font-size: calc(1rem + 5px);
}
/* サイトマップ */
#page10 li a{
        font-size: 20px;
    font-weight: bold;
    padding: 15px 0;
}
/*-------------------------------------------------------
			            IE
-------------------------------------------------------*/

@media all and (-ms-high-contrast: none){
  .sample{

  }
}

/*-------------------------------------------------------
			          タブレット
-------------------------------------------------------*/
@media screen and (max-width: 768px){
header {
    border-right: none;
    box-shadow: 4px 0px 20px rgba(202, 227 ,225 ,0.6);
    border-bottom: 3px solid #6bcfc7;
    padding: 17px 0!important;
}   
header #logo {
    width: 90%;
    max-width: 300px;
}
.main_box {
    width: 100%!important;
    margin-left: 0;
        min-width: inherit;
}
/* ----------　TOP　---------- */
#contents1 {
    position: relative;
    padding-bottom: 50px;
}
#contents1 h2 {
    font-size: 40px;
}
#contents1 h2 .span1 ,#contents1 h2 .span2{
    font-size: 50px;
}
#contents1 .con1_box {
    flex-direction: column;
}
#contents1 .con1_box .con1_item {
    width: 100%;
    margin-right: 0%;
}
#contents1 .intro_photo {
    margin-top: 50px;
    width: 70%;
}
#contents1 .con1_box .con1_img {
    width: 35%;
    position: absolute;
    bottom: 0;
    right: -20px;
}
#attach {
    padding: 25px 0 220px;
}
#attach .con2_img {
    width: 65%;
}
/* ----------　下層ページ　---------- */
#page_title .page_box {
    padding-left: 60px;
}
#page_title .page_box::before {
    width: 45px;
}
#page_title .page_box h2 {
    font-size: 40px;
}
.cate_list li{
        width: 50%!important;
}
.cate_list li a{
    font-size: 18px;
}
.page section.width_1000-max {
    max-width: 100%;
}
.box_title1 {
    font-size: -webkit-calc(1rem + 8px);
    font-size: calc(1rem + 8px);
}
/* サイトマップ */
#page10 li{
    width: 50%!important;  
}
}

/*-------------------------------------------------------
		            	スマホ
-------------------------------------------------------*/
@media screen and (max-width: 667px){
header {
    padding: 15px 0!important;
}
header #logo {
    max-width: 200px;
    margin-left: 5%;
}
footer .logo img {
    width: 90%!important;
}
.banner_fix {
    font-size: 16px;
}
/* ----------　TOP　---------- */
#contents1 .intro_photo {
    width: 85%;
        margin-top: 30px;
}
 #contents1 h2 {
    font-size: 21px;
    letter-spacing: 3px;
}
#contents1 h2 .span1, #contents1 h2 .span2 {
     font-size: 30px;
}
#contents1 p {
    font-size: 14px;
}
.con1_item p span {
    font-size: 20px;
}
#attach {
    padding: 25px 0 145px;
}
#attach .con2_img {
    width: 85%;
}
#attach #contents2 div h2 {
    font-size: 21px;
    line-height: 2;
}
#attach #contents2 div h2 span {
    font-size: 30px;
    
}
#attach #contents2 div p {
    font-size: 14px;
    line-height: 2.2;
}
#attach #contents2 .grid_6 p span {
    font-size: 20px;
}
#contents3 .con3_wrap,.top_cms_box{
    max-width: 100%;
}
#contents3 .con3_title {
    font-size: 21px;
    
}
#contents3 .con_link {
    font-size: 21px;
    width: 100%;
}
#contents3 .con_link a {
    padding: 15px 0px;
}
.cms_title::before {
    width: 20px;
}
#top_cms .cms_title h2 {
    font-size: 32px;
}
.cate_title {
    font-size: -webkit-calc(1rem + 8px);
    font-size: calc(1rem + 8px);
}
.cms_title {
    padding-left: 35px;
}
.box_title1 {
    font-size: -webkit-calc(1rem + 4px);
    font-size: calc(1rem + 4px);
}
#top_cms .cms_5-c.cms_wrap {
    padding: 20px 20px;
}
/* ----------　下層ページ　---------- */
#page_title .page_box {
    padding-left: 35px;
}
#page_title .page_box::before {
    width: 25px;
}
#page_title .page_box h2 {
    font-size: 28px;
    letter-spacing: 2px;
}
.page article.width_1280-max, .page section.width_1000-max {
    max-width: 100%;
}
.cate_list li {
    width: 100%!important;
}
.cate_list li a {
    font-size: 16px;
    padding: 10px 10px;
}
/* 施工事例 */    
.BA_type2 .box_img1_wrap::before, .BA_type2 .box_img2_wrap::before{
	width: 76px;
	font-size: 13px;
}
.BA_type2 .box_img1_wrap::before, .BA_type2 .box_img2_wrap::before{
    padding: 1px 0px;
}
/* 会社情報 */
#page7 .box_item h3, #page9 .box h3 {
    font-size: -webkit-calc(1rem + 3px);
    font-size: calc(1rem + 3px);
}
/* サイトマップ */
#page10 li {
    width: 100%!important;
}
#page10 li a {
    font-size: 17px;
}
}
