@charset "utf-8";
html{
    font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ヒラギノ角ゴ StdN','Hiragino Kaku Gothic StdN', 
        sans-serif;
}
body{
    /*max-width:1920px;*/
    width: 100%;
    margin: 0 auto;
    box-shadow: 0px 5px 22px 0px rgb(0 0 0 / 10%);
    position: relative;
}
h1, h2{
    margin: 0;
    padding: 0;
}
p, a{
    color: #1d1d1d;
}
img{
    display: block;
    width: 100%;
}


.sp{
    display: none;
}
.note{
    display: none;
}
.pc{
    display: block;
}

@media (max-width: 1400px) {
    .note{
        display: block;
    }
}
@media (max-width: 767px) { 
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }
}



header{
    height: 85px;
    background-color: #ffffff;
}
.header-inner {
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5% 2%;
}
.header-inner img {
    display: block;
    height: 65px;
}

.header_cta{
    display:flex;
    align-items: center;
    gap: 10px;
}

@media (max-width: 767px) {
    header {
        height: 105px;
        height: auto;
    }    
    .header-inner h1{
        padding-right: 2%;
    }
    .header-inner {
        width: 96%;
        max-height: 80px;
        padding: 3% 2%;
    }
    .header-inner img{
        height: auto;
        box-sizing: border-box;
        display: block;
    }
    .header-inner img.cta{
        height: 75px;
        padding: 0%;
        height: inherit;
        box-sizing: border-box;
        margin: 0;
    }
}


.fv{
    position: relative;
}
.fv .main{
    position: absolute;
    width: 42%;
    top: 30.5%;
    left: 29%;
    transform: translate(-50%, -50%) scale(1);
    animation: float 1.2s ease-in-out infinite;
    overflow: hidden;
    z-index: 1;
}
/*テキスト上下*/
@keyframes float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

@media (max-width: 767px) {
    .fv .main{
        width: 85%;
        top: 29%;
        left: 8%;
    }
}


.contents{
    max-width: 1300px;
    width: 90%;
    margin: auto;
    text-align: center;
    padding: 5% 0;
}
@media (max-width: 767px) {
    .contents{
        width: 90%;
        padding: 0;
    }
}


.cta-area{
    margin: 0 auto;
    background-image: url(../img/cta_bg_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    vertical-align: middle;
}
.cta-area .contents{
    width: 45%;
}
.cta-area p {
    margin: 5% auto;
    box-sizing: border-box;
    text-align: center;
    font-weight: bold;
    font-size: 1.7rem;
}
.mark {
    font-weight: bold;
    background: linear-gradient(transparent 60%, #ffcdc9 80%);
}
.cta-area .btn{
    display: flex;
    margin: 3% 0 0;
    animation: float 1.2s ease-in-out infinite;
    overflow: hidden;
    z-index: 1;
}
.cta-area .btn a{
    margin: 0 1%;
    display: inline-block;
    position: relative;
    overflow: hidden;
}

/*光*/
.shine-btn {
    display: inline-block;
    position: relative;
    overflow: hidden;
}
.shine-btn::after {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 60%;
    height: 100%;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-20deg);
    animation: shine-glint 3s infinite;
    pointer-events: none;
    z-index: 2;
}
@keyframes shine-glint {
    0% {
        left: -75%;
    }
    100% {
        left: 125%;
    }
}

@media screen and (min-width:768px) and (max-width:1500px) {
    .cta-area .contents {
        width: 75%;
    }
    .cta-area p {
        font-size: 1.6rem;
    }
}

@media (max-width: 767px) {
    .cta-area{
        background-image: url(../img/cta_bg_sp.jpg);
    }
    .cta-area .contents{
        width: 95%;
        padding: 7% 0;
    }
    .cta-area p {
        font-size: 1.2rem;
    }
}

/*エアコンの不調*/
.trouble {
    padding: 3% 0 0;
    background: repeating-linear-gradient(-45deg, #f7eb34, #f7eb34 10px, #fff336 10px, #fff336 20px);
}
.trouble .ttl {
    width: 50%;
    margin: 0 auto 1%;
}
.trouble .contents{
    max-width: 1100px;
}
.trouble .contents img.text {
    padding-top: 5%;
}
.trouble .bg {
    margin: 0 auto;
    background: #222222;
}
.trouble .bg .bottom{
    position: relative;
}
.trouble .bg .bottom .text{
    position: absolute;
    max-width: 1200px;
    width: 90%;
    top: 270px;
    left: 50%;
    transform: translate(-50%,-50%);
}

@media screen and (min-width:768px) and (max-width:1500px) {
    .trouble .bg .bottom .text {
        width: 70%;
        top: 175px;
    }
}


/*4つのポイント*/
.point{
    background: #dcf5ff;
}
.point .ttl{
    width: 100%;
    margin: auto;
    padding: 1% 0;
    margin: 0 auto;
    background-image: url(../img/point_ttl_bg_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}
.point .text{
    width: 35%;
    margin: auto;
    padding: 2% 0;
}
.point .contents{
    max-width: 1920px;
    width: 100%;
    padding: 2% 0 4%;
}
.point .contents img {
    width: 90%;
}
.point .contents img:nth-child(odd) {
    margin-right: auto;
    margin-bottom: 1%;
}
.point .contents img:nth-child(even) {
    margin-left: auto;
    margin-bottom: 1%;
}

/*メーカー*/
.maker{
    background-color: #04a1e2;
}
@media (max-width: 767px) {
       .maker .contents {
        padding: 7% 0;
    }
}

.compare{
    background: repeating-linear-gradient(-45deg, #fff55d, #fff55d 10px, #fff117 10px, #fff117 30px);
}
.compare .contents .ttl{
    margin: 0 auto 4%;
    width: 50%;
}
@media (max-width: 767px) {
       .compare .contents {
        padding: 7% 0;
    }
}

.voice{
    padding: 7% 0;
    background-color: #fff99e;
    padding-bottom: 40px;
}
/*スライダー*/
.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
    width:100%;
    margin:0 auto;
}
.slider img{
    width: 80%;
    margin: 5% auto 3%;
}
.slider .slick-slide {
    transform: scale(1);
    transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
    opacity: 0.5;/*透過50%*/
}
.slider .slick-slide.slick-center{
    transform: scale(1);/*中央の画像のサイズだけ等倍に*/
    opacity: 1;/*透過なし*/
}
/*矢印の設定*/
.slick-prev {/*戻る矢印の位置と形状*/
    left: 22%;
    top: 55%;
    z-index: 100;
}
.slick-next {/*次へ矢印の位置と形状*/
    right: 24%;
    top: 55%;
    z-index: 100;
}
/*ドットナビゲーションの設定*/
.slick-dots {
    text-align:center;
    margin:20px 0 0 0;
}
.slick-dots li {
    display:inline-block;
    margin:0 5px;
}
.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#ccc;/*ドットボタンの色*/
}
.slick-next:before {
    content: '▶';
}
.slick-prev:before {
    content: '◀';
}
.slick-prev:before, .slick-next:before{
    color: #04a1e2;
    font-size: 40px;
}
ul {
    padding-inline-start: 0px;
}
.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #04a1e2;
}

@media screen and (min-width:1301px) and (max-width:1800px) {
    .slider img{
        width: 70%;
    }
    .slick-prev {
        left: 19%;
    }
    .slick-next {
        right: 21%;
    }
}
    
@media screen and (min-width:768px) and (max-width:1300px) {
    .slider img{
        width: 55%;
    }
    .slick-prev {
        left: 4%;
    }
    .slick-next {
        right: 8%;
    }
}

@media (max-width: 767px) {
    .slider img{
    width: 50%;
    }
    .slick-prev {
        left: 3%;
    }
    .slick-next {
        right: 5%;
    }
}
/*スライダー end*/

/*流れ*/
.step{
    background-color: #ebf7ff;
}
.step .ttl {
    width: 70%;
    margin: 0 auto;
}
.step .contents .main{
    width: 70%;
    margin: 3% auto 0;
    text-align: center;
}
@media (max-width: 767px) {
    .step{
        padding: 3% 0;
    }
   .step .contents {
        padding: 7% 0;
    }
}


.map{
    padding-top: 3%;
    background-image: url(../img/area_bg_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}
.map .contents{
    max-width: 1000px;
}


/*FAQ*/
.qa-area{
    padding-top: 4%;
}
.qa-area .contents{
    max-width: 1000px;
    padding: 2% 0 4%;
}
.accordion-menu dt {
    background: #fff117;
    padding: 0.8rem 1.2rem;
    color: #000;
    border-radius: 100px;
    margin-top: 20px;
    margin-bottom: 5px;
    position: relative;
    text-align: left;
}
.accordion-menu dt::before{
    content: 'Q';
    font-size: 1.7rem;
    font-weight: bold;
    margin-right: 5px;
    vertical-align: middle;
}
.accordion-menu dt:first-child {
    border-top: none;
}
.accordion-menu dd {
    display: none;
    padding: 1rem;
    border-radius: 15px;
    color: #222;
    margin-inline-start: 0px;
    border: 2px solid #fff117;
    margin-bottom: 20px;
    position: relative;
    padding-left: 3rem;
    text-align: left;
}
.accordion-menu dd::before{
    position: absolute;
    content: 'A';
    font-size: 1.7rem;
    font-weight: bold;
    margin-right: 5px;
    vertical-align: middle;
    color: #e72517;
    top: 0.5rem;
    left: 1rem;
}
.qa-area dl{
    margin: 0 auto;
}
@media (max-width: 767px) {
    .qa-area .contents {
        width: 95%;
        padding: 2% 0 4%;
    }
    .qa-area{
        padding-top: 7%;
    }
    .qa-area dl {
        width: 90%;
        margin: 0 auto;
    }
}


footer{
    background-color:#dfdfdf;
    padding: 2%;
    margin-top: 125px;
}
footer img{
    display: block;
    width: 13%;
    margin: 0 auto 1%;
}
footer p, footer a{
    text-align: center;
    line-height: 1.5rem;
    font-size: 0.9rem;
    margin-bottom:0;
}
@media (max-width: 767px) {
    footer{
        padding: 5%;
        margin-top: 170px;
    }
    footer img{
        width: 40%;
    }
}

/*追従*/
#follow_cta {
    background-color: #7a7a7a;
    bottom: 0;
    position: fixed;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
}
.follow_inner{
    display: flex;
    max-width: 750px;
    width: 90%;
    align-items: center;
    justify-content: center;
    margin: auto;
    padding: 0.5% 0;
}
.follow_inner_icon {
    display: flex;
    gap: 15px;
    margin: 1%;
}
/*.follow_inner_icon img{
    padding: 0 2%;
}*/
@media (max-width: 767px) {
    footer{
        padding: 9% 6%;
        margin-top: 94px;
    }
    .follow_inner {
        display: block;
        padding: 1% 0;
        width: 100%;
    }
    #follow_cta {
        left: 0;
        transform: none;
    }
    #follow_cta img {
        /*padding: 2% 0 4%;*/
        width: 100%;
        margin: 0 auto;
    }
    .follow_inner p{
        text-align: center;
    }
    footer img {
        display: block;
        width: 60%;
        margin: 0 auto 20px;
    }
    .follow_inner_icon {
        display: flex;
        gap: 10px;
        margin: 2% 4%;
        align-items: center;
    }
}