﻿
/* ------------- my css ------------- */
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

body{
    font-size: 16px;
}

/* color */
.txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--black);}
:root{
    --color1: #113758; 
    --color2: #c5d0d8; 
    --color3: #e86f0c; 
    --color4: #f9f6d7; 
    --black: #151a1e; 
}

.txt_red, .hvr_txt_red:hover{color: #C12326;}
.txt_gray, .hvr_txt_gray:hover{color: #ccc}
.txt_color1, .hvr_txt_color1:hover{color: var(--color1)} /* メインカラー */
.txt_color2, .hvr_txt_color2:hover{color: var(--color2)} /* サブカラー */
.txt_color3, .hvr_txt_color3:hover{color: var(--color3)} /* アクセントカラー1 */
.txt_color4, .hvr_txt_color4:hover{color: var(--color4)} /* アクセントカラー2 */

/* background-color */
.bg_black, .hvr_bg_black:hover{background-color: var(--black)} /* 黒背景 */
.bg_gray, .hvr_bg_gray:hover{background-color: #ccc}
.bg_color1, .hvr_bg_color1:hover{background-color: var(--color1)} /* メインカラー */
.bg_color2, .hvr_bg_color2:hover{background-color: var(--color2)} /* サブカラー */
.bg_color3, .hvr_bg_color3:hover{background-color: var(--color3)} /* アクセントカラー1 */
.bg_color4, .hvr_bg_color4:hover{background-color: var(--color4)} /* アクセントカラー2 */
.bg_color_clear, .hvr_bg_color_clear:hover{background-color: transparent!important}

/* border-color ※!important */
.border_black, .hvr_border_black:hover{border-color: var(--black)}
.border_gray, .hvr_border_gray:hover{border-color: #ccc}
.border_color1, .hvr_border_color1:hover{border-color: var(--color1)}
.border_color2, .hvr_border_color2:hover{border-color: var(--color2)}
.border_color3, .hvr_border_color3:hover{border-color: var(--color3)}
.border_color4, .hvr_border_color4:hover{border-color: var(--color4)}


/*自動リンク設定*/
.linkStyle{
    color:var(--color1);
}
.linkStyle:hover{
	opacity:0.7
}

#wrap{
    min-width: 1200px;
}

@media screen and (max-width: 768px) {
    #wrap{
    min-width: auto;
}
}
.font_en {
    font-family: "Roboto", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, " メイリオ", Meiryo, Osaka, " ＭＳ Ｐゴシック", MS PGothic, " sans-serif";
}

.point_no{
    pointer-events: none;
}

/*-------------load---------------*/
#loading_bg.bg_color4{
    background: var(--color3);
}

/*-------------header---------------*/
header{
    min-width: 300px;
    /*background-color: transparent !important;*/
}
/*#main_menu ul li a{
    color: var(--color1);
}
.contact_bt .txt_white ,.tel_bt .txt_white{
    color: var(--color1);
    background-color: rgba(255, 255, 255, 0.7);
}
#main_menu ul li a::before {
    content: "";
    position: absolute;
    top: 42%;
    left: 0;
    width: 20px;
    height: 1px;
    background-color:  var(--color1);
    transition: .5s;
}*/

.fat-nav li {
    font-size: 14px;
}
@media screen and (max-width: 768px) {
    header{
    min-width: auto;
}
}
@media screen and (max-width: 768px) {
    .hamburger {
        top: 12px;
    }
    
}
@media screen and (max-width: 667px) {
    .hamburger {
        top: 7px;
    }
}

/*-------------FV---------------*/
.main_item1{
    right: 2%;
    bottom: 0;
    width: 30%;
    max-width: 420px;
    z-index: 3;
}
.main_txt1{
        top: 41%;
    left: 46%;
    transform: translate(-50%, -50%);
        width: 55%;
    max-width: 800px;
    mix-blend-mode: hard-light;
    filter: drop-shadow(0px 0px 7px rgba(25, 25, 25, 0.5));
    z-index: 3;
}

@media screen and (max-width: 768px){
        #main_img {
            max-height: 90vh;
    }
    .main_item1 {
        right: auto;
    left: 52%;
    transform: translate(-50%, 0);
    width: 65%;
    max-width: 488px;
    }
    .main_txt1 {
        top: 26%;
    left: 50%;
    width: 80%;
    }
}

@media screen and (max-width: 667px){
    #main_img {
        max-height: 85vh;
    }
    .main_txt1 {
        top: 34%;
       width: 88%;
    }
}

/*-------------TOP---------------*/

.main_box{
    min-width: 950px;
}
/*.main_box {
    width: 100% !important;
    margin-left: 0;
}*/
.blur {
    background-color: rgba(49, 47, 47, 0.3);
}

/*#contents1,#contents2,#contents3,#contents4{
    margin-left: 22%;
}
#top_cms{
    margin-left: 3%;
}*/

/*content1*/
.contents1_wrap{
    background-image: url(/files/img/con1_bg.jpg);
    object-fit: cover;
    padding:150px 50px 130px;
}
.contents1_bg{
    top: 45%;
    left: 50%;
    width: 80%;
    transform: translate(-50%, -50%) rotate(-26deg);
}
.contents1_bg1{
    top: 0;
    left: 11%;
    height: 35vh;
    max-height: 220px;
    transform: rotate(0deg);
}
.contents1_bg2{
    top: 0;
    left: 0;
    height: 35vh;
    max-height: 220px;
    transform: rotate(0deg);
}
.contents1_bg3{
    top: 0;
    left: -26%;
    height: 35vh;
    max-height: 220px;
    transform: rotate(0deg);
}
.contents1_bg4{
    top: 0;
    left: 6%;
    height: 35vh;
    max-height: 220px;
    transform: rotate(0deg);
}

#contents1{
    width: 70%;
}
#contents1 .title {
    border:none;
}
#contents1 .title .pc_txt{
    font-size: 55px;
    line-height: 1.3;
}
#contents1 .title:before {
    display: none;
}
#contents1 .title span{
    padding-left: 0;
}

#contents4 .title{
    font-size: 30px;
}
#contents4 p{
    font-size: 16px;
    font-weight: bold;
    line-height: 2;
}
#contents4 .title{
    border-bottom: 1px solid;
}
#contents1 .title::first-letter,#contents2 .title::first-letter,#contents3 .title::first-letter,#contents4 .title::first-letter{
    font-size: 150%;
}

.blog_wrap{
    padding-left: 30px;
    padding-right: 30px;
}

.cms_2-g .swiper-button-next {
    left: 45px;
}

.banner{
    display: none;
}
@media screen and (max-width: 768px){
    .main_box{
    min-width: auto;
}
    .contents1_wrap {
        padding: 120px 50px 100px;
    }
    #contents1 .title .pc_txt {
    font-size: 40px;
    }
    
    	#contents4 .title {
		font-size: 23px;
	}
	    .main_box {
        padding-top: 60px;
	    }
	    
}
@media screen and (max-width: 667px){
    .contents1_bg{
    top: 47%;
    width: 120%;
    }
        .contents1_wrap {
        padding: 70px 20px 50px;
    }
    .contents1_bg1 {
    left: 59%;
    }
      .contents1_bg1,  .contents1_bg2,  .contents1_bg3,  .contents1_bg4{
          height: 22vh;
      }
      #contents1 .title .sp_txt {
        font-size: 26px;
      }
	#contents4 p{
		font-size: 14px;
	}
	.main_box {
        padding-top: 50px;
    }
    .blog_wrap{
        padding: 0;
    }
}
/*-------------下層---------------*/
@media screen and (max-width: 667px){
#page_title h2{
        font-size: 22px;
    letter-spacing: 0;
}
}


/*-------------お客様の声---------------*/
#cms_5-f .cate_box .open_bt .box_title1, .cms_5-f .cate_box .open_bt .box_title1 {
    margin-left: 45px;
}

/*------------- ビフォーアフター -------------*/

#cms_4-b .cate_box {
    margin: 0 auto;
}

#cms_4-b .cate_box.width_50per{
    width: 49% !important;
}

.before_txt{
    top: 0;
    padding: 10px 25px;
    border-radius: 0 0 20px 0;
}
@media screen and (max-width: 667px) {
#cms_4-b .cate_box.width_50per {
    width: 100% !important;
}
.before_txt {
    padding: 5px 15px;
    border-radius: 0 0 15px 0;
}
}

/*-------------お問い合わせ---------------*/


.line_btn a {
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 20px 25px;
    line-height: 1.8;
}
.line_btn a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.line_btn a:hover:after {
    border-color: var(--color3);
}

@media screen and (max-width: 667px) {
    #page8 .pd_20px_sp{
        padding: 10px 0 40px;
    }
}

/*-------------footer---------------*/
.item2{
    bottom: 0;
    right: 5%;
    width: 19%;
    z-index: 2;
}
@media screen and (max-width: 667px) {
    .item2{
        width: 40%;
    }
}
/*-------------fix_bnr---------------*/
#fix_bnr{
	bottom: 10px;
	right: 40px;
	z-index: 8;
	width: 200px;
}

#fix_bnr a:hover{
    scale: 1.15;
}

@media screen and (max-width: 667px){
	#fix_bnr{
	    width: 135px;
	    bottom: 8px;
	    right: 5px;
	    
	}
}