@charset "utf-8";
* {
    font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',"游ゴシック体","YuGothic","游ゴシック","Yu Gothic",'Meiryo','メイリオ', sans-serif;
}
body{
    margin: 0 auto;
    padding: 0;
    max-width: 500px;
}
.fcr {
    color: #ff0000;
}

.fcb {
    color: #0047b2;
}
.fcO{
    color: #eb7d2d;
}
.fsS {
    font-size: 10px;
}
.fsll {
    font-size: 23px;
}
.tal {
    text-align: left;
}
.tar {
    text-align: right;
}
.tac {
    text-align: center;
}
.bold {
    font-weight: bold;
}
.mark {
    background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%,#ffff00 0%) repeat scroll 0 0;
}
#wrapper{
    margin: auto;
}
img,video {
    width: 100%;
    vertical-align: middle;
}
.din {
    font-family: din-2014, sans-serif;
    font-weight: 600;
    font-style: normal;
}

h2{
    margin: 0 auto;
}


@media only screen and (min-width: 767px){
    #wrapper{
        margin: auto;
        max-width: 1920px;
    }
    .pc {
        display: block;
    }
    .sp {
        display: none;
    }
}

@media only screen and (max-width: 767px){
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }
}


/*---------------- ここからコンテンツ  ----------------*/

/* fv */
.fv h1{
    margin: 0;
}
@media only screen and (min-width: 767px){
}

/* プレゼント */
div.campaign{
    padding-bottom: 2%;
}

/* ctaエリア */
section.cta{
    padding: 5% 4% 6%;
}
.ctatop_text{
    margin-bottom: 2%;
}

.form_btn img{
    transition: opacity 0.2s ease;
    margin: 0 auto;
}
.form_btn:hover img{
    opacity: 0.7;
    filter: brightness(0.8);
}



/* point */
section.point{
    margin: 0 auto;
}


/* 物件例 */
section.property{
    background: #f9dd93;
    padding: 5% 0;
}
section.property h2 img{
    padding: 3% 4%;
    margin:  0 auto;
    width: 92%;
}
.slidertop_text img{
    margin: 0 auto;
    width: 92%;
    padding: 3% 4%;
}

.property_btn img{
    width: 76%;
    margin: 2% auto;
    display: block;
    padding: 3% 0 0;
}

/* スライダー */
.property .slick-dotted.slick-slider {
    margin: auto;
    margin-bottom: 30px;
    width: 87%;
    max-width: 800px;
}
.property .slick-dots li button:before {
    font-size: 100px;
    top: -15px;
    content: '-';
    color: #eb8137 !important;
    opacity: .4;
}
.property .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #ea7927;
}

.property .slick-prev:before,.property .slick-next:before {
    content: '';
    background-image: url(../img/arrow_slide.png);
    width: 26px;
    height: 30px;
    display: block;
    background-size: contain;
}
.slick-prev {
    left: -15px !important;
    z-index: 100;
}
.property .slick-next:before {
    content: '';
    background-image: url(../img/arrow_slide.png);
    transform: scale(-1, 1);
}
.slick-next {
    right: -9px !important;
}
@media only screen and (min-width: 767px){
    .slider01 img {
        transform: scale(.8);
        transition: transform .3s;
        opacity: 0.6;
    }
    .slider01 .slick-center img {
        transform: scale(1);
        opacity: 1;
    }
    .property .slick-dots li button:before {
        top: 0px;
    }
}



/* お客様の声 */
section.voice{
    background: #f9dd93;
    padding: 5% 0;
}
section.voice h2 img{
    padding: 3% 4%;
    margin:  0 auto;
    width: 92%;
}


/* スライダー */
.voice .slick-dotted.slick-slider {
    margin: auto;
    margin-bottom: 30px;
    width: 87%;
    max-width: 800px;
}
.voice .slick-dots li button:before {
    font-size: 100px;
    top: -15px;
    content: '-';
    color: #eb8137 !important;
    opacity: .4;
}
.voice .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #ea7927;
}
.voice .slick-prev:before,.voice .slick-next:before {
    content: '';
    background-image: url(../img/arrow_slide.png);
    width: 26px;
    height: 30px;
    display: block;
    background-size: contain;
}
.voice .slick-next:before {
    content: '';
    background-image: url(../img/arrow_slide.png);
    transform: scale(-1, 1);
}
@media only screen and (min-width: 767px){
    .voice .slick-dots li button:before {
        top: 0px;
    }
}


/* 質問 */
section.faq{
    padding: 13% 4% 5%;
    background: #feead2;
}
section.faq h2{
    margin-bottom: 7%;
}

.faq_box {
    width: 100%;
    margin: auto;
    max-width: 700px;
}
.faq_box h3{
    margin: 5% 0 3%;
}

.q_icon{
    width: 5%;
    padding-right: 4%;
}
.a_icon{
    margin: 3% 0 0 0;
    width: 6%;
}

/* アコーディオン QA挙動 */
.accordion-001:not([open]) {
    margin-bottom: 7px;
}
.accordion-001 summary {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    padding: 0.7em 1.2em 0.7em 0.8em;
    border-radius: 5px;
    background-color: #eb7d2d;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    font-size: 1.1em;
}
.accordion-001 summary::-webkit-details-marker {
    display: none;
}
.accordion-001 summary::before,
.accordion-001 summary::after {
    width: 3px;
    height: .9em;
    border-radius: 5px;
    background-color: #fff;
    content: '';
}
.accordion-001 summary::before {
    position: absolute;
    right: 1.2em;
    rotate: 90deg;
}
.accordion-001 summary::after {
    transition: rotate .3s;
    right: 1.2em;
    position: absolute;
}
.accordion-001[open] summary{
    border-radius: 5px 5px 0 0;
}
.accordion-001[open] summary::after {
    rotate: 90deg;
}

.accordion-001 .answer_flex{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    background: #fff;
    margin-top: 0;
    color: #333333;
    transform: translateY(-10px);
    opacity: 0;
    transition: transform .5s, opacity .5s;
    border-radius: 0 0 5px 5px;
    margin: 0 0 1.2em 0;
    padding: 0 0 0 3.5%;
}
.accordion-001 p {
    margin: 0;
    padding: 1em 1.0em 1.4em 0.5em;
}
.accordion-001[open] .answer_flex {
    transform: none;
    opacity: 1;
}


/* さらに表示ボタン */
.faq-toggle-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    margin: 20px auto;
    padding: 3% 6% 3% 10%;
    background: #f1ba2a;
    color: #000000;
    border: none;
    border-radius: 50px;
    text-align: unset;
    font-size: 1.3em;
    font-weight: 600;
    gap: 10%;
    cursor: pointer;
    transition: background 0.2s;
    text-align: center;
}

.faq-more {
    display: block; /* ← ここで常にblockにしておく */
    max-height: 0;
    opacity: 0;
    transform: translateY(20px);
    overflow: hidden;
    transition: 
        max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.5s ease 0.2s,
        transform 0.5s ease 0.2s;
}
.faq-more.open {
    max-height: 3000px; /* 必要に応じて調整 */
    opacity: 1;
    transform: translateY(0);
}

.qaarrow-icon{
    width: 16%;
}

/* ボタン矢印の動き */
.qaarrow-icon {
    transition: transform 0.3s ease;
}

.qaarrow-icon.rotated {
    transform: rotate(180deg);
}


@media only screen and (max-width: 768px){
    .faq_box {
        width: 100%;
        margin: auto;
        max-width: 700px;
    }
}


/* inquiry */
.inquiry h4{
    margin: 0;
}


/* フッター */

footer {
    background-color: #e97927;
    text-align: center;
    padding: 3vh 0 1%;
}

.footer_logo{
    margin: 1% 4% 4%;
}
footer .link01{
    margin-bottom: 1%;
}
footer .link01 a {
    padding: 0 1%;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.9em;
    color: #ffecbb;
}
footer .link02 a {
    color: #fff;
    padding: 1%;
}
footer p.wight{
    color: #fff;
    margin-top: 5%;
}

/*
@media only screen and (min-width: 767px){
    footer {
        text-align: left;
    }
    footer>div {
        display: flex;
        justify-content: center;
    }
    footer .txt01 {
        margin-right: 2%;
    }
    footer .txt01 p {
        margin-top: 5px;
    }
}
*/
