﻿@import url('https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap');

.yuji-syuku-regular {
  font-family: "Yuji Syuku", serif;
  font-weight: 400;
  font-style: normal;
}

/* 全体 */
body{
    min-height:100vh;
}

#wrap {
    background-image: url(/Files/img/pixta_57014396_M.png);    /* 背景画像指定 */
    background-size:  20%;  
    min-height:100vh;
}

/* 全体 フッター */
#info .txt_color1{
    color:var(--black);
}
#info .txt_color_nomal{
    color:var(--color1);
}
#info .txt_color_nomal:hover{
    color:var(--color3);
}

/* 共通 下層ページタイトル */
/* #page_title .back_color{
    background-color: var(--color1);
    opacity: 0.5;
} */

#page_title h2{
    text-shadow:none;
    color:var(--color1);
    font-family: "Yuji Syuku", serif;
    font-size:130%;
}

/* 共通 カテゴリリスト */
.cate_list li{
    background-color: var(--color4);
}

.cate_list li:hover{
    background-color: var(--color2);
}

.cate_list a:hover{
    color:#fff!important;
}

/* fv */
#main_img {
    min-height: 72vh;
}

.fv_item02{
    width: 34%;
    position: absolute;
    top: 34%;
    left: 12%;
}

.fv_img03 {
    width: 34%;
    position: absolute;
    top: 15%;
    right: 7%;
    animation: fv_img03 10s infinite cubic-bezier(0.45, 0, 0.55, 1) alternate;
}
@keyframes fv_img03 {
	0% {transform:translate(0, 0) rotate(-3deg);}
	50% {transform:translate(0, -5px) rotate(0deg);}
	100% {transform:translate(0, 0) rotate(3deg);}
}

.fv_img04{
    width: 25%;
    position: absolute;
    top: 49%;
    right: 28%;
    animation: fv_img04 12s infinite cubic-bezier(0.45, 0, 0.55, 1) alternate;
}
@keyframes fv_img04 {
    0% {
        transform: translate(0, 0) scale(1) rotate(-2deg);
    }
    25% {
        transform: translate(0, -3px) scale(1.02) rotate(0deg);
    }
    50% {
        transform: translate(0, -6px) scale(1.04) rotate(2deg);
    }
    75% {
        transform: translate(0, -3px) scale(1.02) rotate(0deg);
    }
    100% {
        transform: translate(0, 0) scale(1) rotate(-2deg);
    }
}

@media screen and (max-width: 1510px){
    #main_img {
    min-height: 64vh;
}
}
@media screen and (max-width: 1300px){
    #main_img {
    min-height: 57vh;
}
}
@media screen and (max-width: 1200px){
    #main_img {
    min-height: 52vh;
}
}
@media screen and (max-width: 1000px){
    .fv_item02 {
    width: 43%;
    top: 28%;
    left: 5%;
}
.fv_img03 {
    width: 38%;
    top: 22%;
}
.fv_img04 {
    width: 27%;
    top: 49%;
    right: 34%;
}
}

@media screen and (max-width: 768px){
    #main_img {
        min-height: 70vh;
    }
    .fv_item02 {
    width: 56%;
    position: absolute;
    top: 14%;
    left: 8%;
}
.fv_img03 {
    width: 49%;
    position: absolute;
    top: 34%;
    right: 3%;
}
.fv_img04 {
    width: 41%;
    position: absolute;
    top: 51%;
    right: 44%;
}
}

@media screen and (max-width: 667px){
    .fv_item02 {
    width: 76%;
    }
    .fv_img03 {
    width: 64%;
    top: 45%;
    }
    .fv_img04 {
    width: 55%;
    top: 64%;
    right: 38%;
    }
}

/* top intro */
#intro h2 img{
    width: auto;
    height:30vh;
}
@media screen and (min-width: 768px){
#intro_txt .font_14_tb{
    font-size:120%;
}
 #contents .back_color2{
    background-position: 78% 0;
} 
}

@media screen and (max-width: 768px){
    #intro {
    height: 300px;
    max-height: 300px;
    }
    #contents h2 .svg_box{
        left: 110%!important;
    }
    #contents h2 img {
    height: 50vh!important;
    margin-right: -8%!important;
    margin-top: -2%!important;
}
}

@media screen and (max-width: 667px) {
    #intro {
        height: 460px;
        max-height: 460px;
    }
    #contents h2 .svg_box {
        left: 60% !important;
    }
    #contents h2 img {
        height: 40vh !important;
        margin-top: 0% !important;
        margin-left: 41%;
    }
}

/* top コンテンツ */
@media screen and (max-width: 667px) {
    #top_cms .top_cms_box .width_1280-max {
        width: 85%;
    }
}

#contents h2 img{
    height: 67vh;
    width: auto;
    margin-right: 16%;
    margin-top: 10%;
}

#top_cms .cms_title .title_box {
    background-color: var(--color1);
    opacity: 0.8;
}

#top_cms .cms_title .title_box h2{
    color:#fff;
    font-family: "Yuji Syuku", serif;
}

/* top 施工事例 */
.link_type_slick .box_txt1 {
    height: 6em;
	line-height: 1.7;
}
.link_type_slick .date {
    padding: 9px 22px 7px;
    border-radius: 45px;
}
.slick-slide img {
    box-shadow: 0 2px 4px rgb(0 0 0 / 0%);
}
/*--- slick ------------------------------------*/
.link_type_slick .slick-box{
    opacity: 0;
    transition: 3s;
}
.link_type_slick .slick-initialized{
    opacity: 1
}
.link_type_slick .slick-box .prev,.slick-box .next {
    display: block;
	cursor: pointer;
	position: absolute;
	top: 40%;
	z-index: 1;
	padding: 15px;
}
.link_type_slick .slick-container{
    padding-left: 30px;
    padding-right: 30px;
}
.link_type_slick .slick-box .prev {
	left: -54px;
}
.link_type_slick .slick-box .next {
	right: -54px;
}
/* counter */
.link_type_slick .slick-counter{
    position: absolute;
    bottom: -35px;
	left: 50%;
	transform: translateX(-50%);
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
/* 最後まで行ったら、矢印透過する */
.link_type_slick .slick-disabled{
	opacity: 0.3;
}
/* 要素の高さを合わせる */
.link_type_slick .slick-slide {
	height: auto !important;
}
.link_type_slick .slick-track {
	display: flex;
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.link_type_slick .slick-container{
    padding-left: 0;
    padding-right: 0;
}
.link_type_slick .slick-box .prev {
	left: -8px;
}
.link_type_slick .slick-box .next {
	right: -8px;
}
/* 両サイドの画像を透過 */
.link_type_slick .slick-initialized .slick-slide{
	opacity: 0.1; 
}
/* センター画像を非透過 */
.link_type_slick .slick-initialized .slick-slide.slick-center{
	opacity: 1; 
}
}

/* 住宅設備 */
@media screen and (max-width: 667px){
#cms_3-e .box_wrap .cate_box{
    padding-top:30px!important;
}    
}