@charset "utf-8";

/*-------------------------------
    基本設定
-------------------------------*/

*,
*::before,
*::after{
    box-sizing: border-box;
    line-height: var(--line-height);
    word-wrap: break-word;
}
html{
    /* font-size: var(--root-font-size); */
    font-size:min(0.8333333333333vw,62.5%);
}
/* 10px / innerサイズ(1200px) * 100 */

body{
    width: 100%;
    font-size: var(--font-size);
    /* letter-spacing: .05em; */
    font-weight: 400;
    -webkit-text-size-adjust: 100%;
    color: var(--blackcolor);
    /* font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; */
    font-family: var(--jp);
}

p {
    line-height:2.25;
    font-weight:500;
    letter-spacing: 0.01em;
}

/*----- 画像関連 */
img{
    max-width:100%;
    height: auto;
    vertical-align: bottom;
}

/* SVG表示されないとき */
.svg{
    line-height: 1;
    display: block;
}
.svg img{
    display: block;
    width: 100%;
    height: auto;
    line-height: 1;
}

/*----- ホバー系 */
a,
.a{
    transition: var(--transition);
    color: var(--maincolor);
}
*:not(.not-a) > a:hover,
*:not(.not-a) > .a:hover{
    opacity: var(--opacity);
}

/*----- コンテンツ */
#wrap,
section,
article,
main {
    width:100%;
    position:relative;
    overflow:hidden;
}

#wrap {
    opacity:0;
    /* transition:all 2s; */
}

.display_on {
    opacity:1!important;
}

.inner {
    width:100%;
    max-width:135rem;
    margin:0 auto;
    padding:0 5rem;
}

.obf_cover,
.obf_contain {
    width:100%;
}

.obf_cover img {
    width:100%;
    height:100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

.obf_contain img {
    width:100%;
    height:100%;
    object-fit: contain;
    font-family: 'object-fit: contain;';
}



@media screen and (min-width:769px) , print{

    a[href^="tel:"]{
        pointer-events: none;
    }

}

@media screen and (max-width:768px){

    html{
        font-size: var(--root-font-size);
    }

}



/*-------------------------------
    パーツ
-------------------------------*/

/*----- 見出し */
/* 大見出し */

.h_title {
    text-align: center;
    position:relative;
    margin-bottom:7rem;
}

.h_title::before {
    content:"";
    display: block;
    width:6rem;
    height:2.1rem;
    background:url(../images/common/icon_3line.svg) no-repeat center / contain;
    margin:0 auto 1rem;
}

.h_title span {
    font-size:2.4rem;
    font-weight:700;
    text-align: center;
    display: block;
    letter-spacing: 0.01em;
    position:relative;
    color:var(--blueblack);
}

.h_title span::before {
    content:attr(data-en);
    font-size:5.3rem;
    font-weight:700;
    letter-spacing: 0.01em;
    font-family:var(--en);
    display: block;
    color:var(--maincolor);
}

.h_title_white,
.h_title_white span,
.h_title_white span::before {
    color:#fff;
}

.h_title_white::before {
    background:url(../images/common/icon_3line_white.svg) no-repeat center / contain;
}

/* 中見出し */

.h_icon {
    text-align: center;
    position:relative;
}

.h_icon::before {
    content:"";
    display: block;
    width:8.6rem;
    height:8.6rem;
    margin:0 auto 1.5rem;
}

.h_icon span {
    font-size:3rem;
    letter-spacing: 0.01em;
    font-weight:700;
    line-height:1.5;
    color:var(--blueblack);
}

.h_icon_microphone::before {
    background:url(../images/common/icon_microphone.svg) no-repeat center / contain;
}

.h_icon_shop::before {
    background:url(../images/common/icon_shop.svg) no-repeat center / contain;
}

.h_icon_modelroom::before {
    background:url(../images/common/icon_modelroom.svg) no-repeat center / contain;
}

.h_icon_apartment::before {
    background:url(../images/common/icon_apartment.svg) no-repeat center / contain;
}

.h_icon_parking::before {
    background:url(../images/common/icon_parking.svg) no-repeat center / contain;
}

/* 中見出し */

.h_nami {
    position:relative;
    text-align: center;
}

.h_nami span {
    font-size:3.2rem;
    font-weight:700;
    color:var(--maincolor);
    letter-spacing: 0.01em;
    line-height:1.5;
    position:relative;
}

.h_nami span::before {
    content:attr(data-en);
    display: block;
    /*font-size:2.4rem;*/
    font-size: 1.6rem;
    font-weight:700;
    font-family: var(--en);
    /*color:var(--maincolor);*/
    color: #65B1E8;
    text-align: center;
}

.h_nami span::after {
    content:"";
    display: block;
    width:18.6rem;
    height:0.8rem;
    background:url(../images/common/border_naminami_blue.svg) no-repeat center / contain;
    margin:0.5rem auto 0;
}


/*----- ボタン */

.btn {
    display:flex;
    align-items: center;
    justify-content: center;
    width:100%;
    max-width:28.5rem;
    height:4.8rem;
    line-height:1.25;
    border:1px solid var(--maincolor);
    background:var(--maincolor);
    box-shadow: 0.3rem 0.3rem 0 0 rgba(0, 0, 0, 1);
    border-radius:2.4rem;
    position:relative;
    padding:0 4.5rem;
    transition:background .3s, border .3s;
}

.btn span {
    color:#fff;
    font-size:1.8rem;
    font-weight:700;
    letter-spacing: 0.06em;
}

.btn::after {
    content:"";
    display: block;
    width:1.8rem;
    height:1.9rem;
    background:url(../images/common/btn_arrow_white.svg) no-repeat center / contain;
    position:absolute;
    right:2.4rem;
    top:0;
    bottom:0;
    margin:auto 0;
}

.btn_white {
    max-width:30rem;
    height:7rem;
    border-radius: 3.5rem;
    background:#fff;
    border:1px solid #fff;
    box-shadow: 0.3rem 0.3rem 0 0 var(--maincolor);
}

.btn_white span {
    color:var(--maincolor);
}

.btn_white::after {
    background:url(../images/common/btn_arrow.svg) no-repeat center / contain;
}

.btn_icon::before {
    content:"";
    display:block;
    width:4.4rem;
    height:4.4rem;
    border-radius:50%;
    background:url(../images/common/icon_mail.svg) no-repeat center / contain;
    position:absolute;
    left:1rem;
    top:0;
    bottom:0;
    margin:auto 0;
}

.icon_mail_yellow::before {
    background:url(../images/common/icon_mail_yellow.svg) no-repeat center / contain;
}

.btn:hover {
    opacity:1!important;
    background:#fff;
    border:1px solid var(--maincolor);
}

.btn:hover span {
    color:var(--maincolor);
}

.btn:hover::after {
    background:url(../images/common/btn_arrow.svg) no-repeat center / contain;
}

.btn_white:hover {
    background:var(--yellowcolor);
    border:1px solid var(--yellowcolor);
}

.btn_back::after {
    right:auto;
    left:2.4rem;
    transform:scale(-1,1);
}

/*-------------------------------
    box shadow
-------------------------------*/

.b_shadow {
    box-shadow: .3rem .3rem var(--maincolor);
}

/*-------------------------------
    header
-------------------------------*/

.header{
    width: 100%;
    height:11rem;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    z-index: 9900;
    background: #fff;
}

.header_inner {
    height:100%;
    padding:0 7rem;
    flex-wrap:nowrap;
}

.header_logo {
    width:26rem;
}

.header_nav {
    position:relative;
}

@media screen and (max-width:1240px) {

.header_inner {
    padding:0 5rem;
}
} /* end 1240px */

/*-------------------------------
    nav arrow
-------------------------------*/

@media screen and (min-width:769px){

.header_nav {
    display: block!important;
}

}/* end over 769px */

.nav_arrow {
    padding-top:2rem;
    margin-bottom:1.5rem;
}

.nav_arrow li {
    margin-left:2.5rem;
    line-height:1;
}

.nav_arrow .nav_arrow_maru {
    padding-left:2rem;
    position:relative;
    color:var(--blueblack);
    letter-spacing: 0.06em;
    font-size:1.4rem;
    font-weight:500;
    line-height:1;
}

.nav_arrow .nav_arrow_maru::before {
    content:"";
    display: block;
    width:1.6rem;
    height:1.6rem;
    background:url(../images/common/nav_arrow_maru.svg) no-repeat center / contain;
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    margin:auto 0;
}

.nav_arrow .nav_youtube {
    width:2.8rem;
    height:2.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius:50%;
    border:1px solid var(--blueblack);
    padding:0.3rem;
}

/*-------------------------------
    nav main
-------------------------------*/

.nav_main {
    position:relative;
}

.nav_main li,
.nav_main .nav_parent {
    line-height:1;
}

.nav_main > li {
    padding-bottom:2rem;
}

.nav_main > li:not(:first-of-type) {
    margin-left:4rem;
}

.nav_main li a,
.nav_main .nav_parent span {
    font-weight:700;
    color:var(--blueblack);
    letter-spacing: 0.06em;
    line-height:1.5;
    transition: var(--transition);
}

.nav_main .nav_parent span {
    padding-right:1.8rem;
    position:relative;
}

.nav_main .nav_parent span::after {
    content:"";
    display: block;
    width:1.1rem;
    height:0.7rem;
    background:url(../images/common/nav_arrow_bottom.svg) no-repeat center / contain;
    position:absolute;
    right:0;
    bottom:0;
    top:0.2rem;
    margin:auto 0;
}

.nav_parent_wrap {
    position:relative;
}

.nav_child_wrap {
    width: max-content;
    height:0;
    position:absolute;
    top:calc(100% - 0.4rem);
    left:50%;
    transform:translate(-50%,-1rem);
    transition:height .4s, opacity .4s, transform .4s;
    overflow: hidden;
    box-shadow: 0px 0px 0.6rem 0px rgba(0, 0, 0, 0.16);
    border-radius:1rem;
    opacity:0;
}

.nav_child {
    padding:2rem 2.5rem;
    background:#fff;
}

.nav_child li:not(:last-of-type){
    margin-bottom:1rem;
}

@media screen and (min-width:769px) {

.nav_main li a:hover,
.nav_main .nav_parent span:hover {
    opacity:1;
    color:var(--maincolor);
}

.nav_parent_wrap:hover .nav_child_wrap {
    height:max-content;
    opacity:1;
    transform:translate(-50%, 0);
}

} /* end over 769px */

/*-------------------------------
    hamburger
-------------------------------*/

.hamburger {
    display: none;
}

/*-------------------------------
    footer
-------------------------------*/

.footer {
    width:100%;
    position:relative;
}

.footer_inner {
    width:100%;
    max-width:120rem;
    padding:0 5rem;
    margin:0 auto;
    position:relative;
}

.footer_bg {
    padding:14rem 0 13rem;
    position:relative;
    background:url(../images/common/bg_footer.jpg) no-repeat center / cover;
}

.footer_bg::before {
    content:"";
    display: block;
    width:100%;
    height:100%;
    background:var(--blueblack);
    opacity:0.5;
    position:absolute;
    left:0;
    top:0;
}

.footer_info {
    width:38rem;
}

.footer_logo {
    width:30.5rem;
    margin-bottom:1.8rem;
}

.footer_info p,
.footer_tel,
.footer_tel a{
    color:#fff;
}

.footer_info address {
    margin-bottom:0.8rem;
}

.footer_info address,
.footer_info address p {
    line-height:1.425;
    font-size:1.4rem;
}

.footer_hours,
.footer_hours p {
    line-height:1.7;
    font-size:1.4rem;
}

.footer_tel {
    margin-top:1rem;
    font-size:4.8rem;
    font-family: var(--en);
    font-weight:700;
    line-height:1.25;
}

.footer_tel::before {
    content:attr(data-tag);
    display: inline-block;
    font-size:2.5rem;
}

.footer_gmap {
    width:calc(100% - 38rem);
    max-width:62.5rem;
}

.gmap_wrap {
    width:100%;
    overflow:hidden;
    border-radius: 2rem;
    margin-bottom:1.5rem;
}

.gmap_wrap iframe {
    width: 100%;
    height:44rem;
}

.footer_maplink {
    text-align: right;
}

.footer_maplink a {
    display: inline-block;
    font-size:1.4rem;
    line-height:2;
    border-bottom:1px solid #fff;
    padding-right:2.85em;
    position:relative;
    color:#fff;
    font-weight:500;
}

.footer_maplink a span {
    font-size:1.4rem;
}

.footer_maplink a::after {
    content:"";
    display: block;
    width:1em;
    height:1.1em;
    background:url(../images/common/icon_tab_white.svg) no-repeat center / contain;
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    margin:auto 0;
}

.footer_btn {
    margin-top:3.2rem;
}

.footer_btn .btn {
    margin-bottom:2.5rem;
}

.footer_btn .btn span {
    font-size:1.6rem;
}

.footer_bottom {
    background:#65B1E8;
    padding:3rem 0 2rem;
}

.footer_nav {
    flex-direction: column;
    max-width:94rem;
    max-height:16rem;
    margin:0 auto;
}

.footer_nav li {
    margin-bottom:1em;
}

.footer_nav li a,
.footer_copy a {
    color:#fff;
    letter-spacing: 0.06em;
    color:#fff;
    display: inline-block;
    position:relative;
    padding-left:1.25em;
    line-height:1.25;
}

.footer_nav li a::before,
.footer_copy a::before {
    content:"";
    display: block;
    width:1em;
    height:1em;
    position:absolute;
    left:0;
    top:0.2em;
    background:url(../images/common/nav_arrow_maru_white.svg) no-repeat center / contain;
}

.footer_nav .icon_tab_white::before,
.footer_copy .icon_tab_white::before {
    width:0.875em;
    height:1em;
    background:url(../images/common/icon_tab_white.svg) no-repeat center / contain;
}

.footer_copy {
    margin-top:2.5rem;
    padding:2rem 0 0 0;
    position:relative;
}

.footer_copy::before {
    content:"";
    display: block;
    width:100vw;
    height:1px;
    background:#fff;
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
}

.footer_copy a {
    padding-left:0;
    padding-right:1.5em;
    font-size:1.4rem;
    font-weight:700;
}

.footer_copy a span {
    font-size:1.4rem;
}

.footer_copy .icon_tab_white::before {
    left:auto;
    right:0;
}

.footer_copy small {
    color:#fff;
    font-size:1.2rem;
    font-weight:500;
    letter-spacing: 0.02em;
}

/*-------------------------------
    subpage keyvisual
-------------------------------*/

.sub_keyvisual {
    width:100%;
    border-radius:0 0 10rem 10rem;
    overflow: hidden;
    height:max(36.7rem,26.87vw);
    background:url(../images/common/bg_sub_keyvisual.svg) no-repeat center / cover;
    padding-top:max(18.4rem,13.47vw);
}

/*-------------------------------
    ぱんくず
-------------------------------*/

.Breadclumb{
    margin:1.2rem 0 6rem;
}

.Breadclumb__inner{
    width:100%;
    max-width:120rem;
    padding:0 5rem;
    margin:0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.Breadclumb__item {
    color: var(--blueblack);
    font-size: 1.4rem;
    font-weight:500;
    letter-spacing: 0.06em;
}
.Breadclumb__item:not(:last-child)::after{
    content: ">";
    margin-left: .5rem;
    margin-right: .5rem;
    transform:translateY(-0.1em);
    display: inline-block;
}
.Breadclumb__item a {
    font-size: 1.4rem;
    color: var(--blueblack);
    letter-spacing: 0.06em;
    font-weight:500;
}

/*-------------------------------
    illust wrap
-------------------------------*/

.illust_wrap {
    position:absolute;
    left:0;
    top:0;
    z-index: 1;
    width:100%;
    height:100%;
    pointer-events: none;
}

.illust {
    position:absolute;
}

.illust_reflect {
    transform:scale(-1,1);
}

.illust_tree01 {
    width:10.3rem;
}

.illust_tree01-2 {
    width:7.7rem;
}

.illust_tree02 {
    width:8.8rem;
}

.illust_tree03 {
    width:9.1rem;
}

.illust_family01 {
    width:9.7rem;
}

.illust_family02 {
    width:5.8rem;
}

.illust_family03 {
    width:8.3rem;
}

.illust_family04 {
    width:12.8rem;
}

.illust_stroll01 {
    width:12.6rem;
}

.illust_stroll02 {
    width:17rem;
}

.illust_stroll03 {
    width:5.1rem;
}

.illust_stroll04 {
    width:7.5rem;
}

.illust_businessman01 {
    width:11.3rem;
}

.illust_businessman02 {
    width:15.3rem;
}

.illust_businessman03 {
    width:10.2rem;
}

.illust_house01 {
    width:13.9rem;
}

.illust_house02 {
    width:8.4rem;
}

.illust_house03 {
    width:14rem;
}

.illust_house04 {
    width:11.2rem;
}

.illust_apartment01 {
    width:14.6rem;
}

.illust_apartment02 {
    width:14.8rem;
}

.illust_apartment03 {
    width:11.9rem;
}

.illust_cloud01 {
    width:15rem;
}

.illust_cloud02 {
    width:11rem;
}

.illust_dining01 {
    width:30rem;
}

.illust_living01 {
    width:21rem;
}

.illust_car_yellow01,
.illust_car_red01 {
    width:9.3rem;
}

.illust_building01 {
    width:14.7rem;
}

.illust_children01 {
    width:8.7rem;
}

.illust_children02 {
    width:9.8rem;
}

.illust_school01 {
    width:18.8rem;
}

.illust_running01 {
    width:9.1rem;
}

.illust_running02 {
    width:8.6rem;
}

.illust_man01 {
    width:3.5rem;
}

.illust_party01 {
    width:12rem;
}

.illust_mountain01 {
    width:72rem;
}


/*-------------------------------
    yukinyan
-------------------------------*/

.illust_yukinyan01 {
    width:14.5rem;
}

.illust_yukinyan02 {
    width:16rem;
}

.illust_yukinyan03 {
    width:14rem;
}

.illust_yukinyan04 {
    width:25.5rem;
}

.yukinyan_mushimegane {
    width:15.7rem;
}

.yukinyan_onegai {
    width:15rem;
}

.yukinyan_onpu {
    width:14.5rem;
}

.yukinyan_shikushiku {
    width:14rem;
}

.yukinyan_handup {
    width:15.7rem;
}

.yukinyan_handup02 {
    width:11.8rem;
}

.yukinyan_zzz {
    width:18rem;
}

.yukinyan_tanomu {
    width:18rem;
}

.yukinyan_yatta {
    width:14.5rem;
}

/*-------------------------------
    animation
-------------------------------*/

/*-------------------------------
    anime shake
-------------------------------*/

.anime_shake {
    animation:shake 1s steps(1) infinite both;
}

.anime_delay01 {
    animation-delay: 0.5s;
}

@keyframes shake {

    0% {
        transform:rotate(2deg);
    }
    50% {
        transform:rotate(-2deg);
    }
    100% {
        transform:rotate(2deg);
    }
} /* end shake */

/*-------------------------------
    anime float
-------------------------------*/

.anime_float {
    animation:float 3s ease-in-out infinite;
}

.anime_delay02 {
    animation-delay: 1.5s;
}

@keyframes float {

    0% {
        transform:translateY(0);
    }
    50% {
        transform:translateY(-1rem);
    }
    100% {
        transform:translateY(0);
    }
} /* end float */

/*-------------------------------
    anime jump
-------------------------------*/

.anime_jump {
    animation:jump 2s steps(1) infinite both;
}

.anime_jump2 {
    animation:jump2 2s steps(1) infinite both;
}

.anime_delay03 {
    animation-delay:1s;
}


@keyframes jump {

    0% {
        transform:translateY(0);
    }
    10% {
        transform:translateY(-0.3rem);
    }
    20% {
        transform:translateY(0);
    }
    30% {
        transform:translateY(-0.3rem);
    }
    40% {
        transform:translateY(0rem);
    }
    50% {
        transform:translateY(0);
    }
} /* end jump */

@keyframes jump2 {

    0% {
        transform:translateY(0);
    }
    10% {
        transform:translateY(-2rem);
    }
    20% {
        transform:translateY(0);
    }
    30% {
        transform:translateY(-2rem);
    }
    40% {
        transform:translateY(0rem);
    }
    50% {
        transform:translateY(0);
    }
} /* end jump */

/*-------------------------------
    fadein
-------------------------------*/

.fadein {
    opacity : 0;
    transition : transform 0.4s, opacity 0.4s;
    transform : translate(-5rem,0);
}

.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

/*-------------------------------
    hover scale
-------------------------------*/

.hover_scale {
    opacity:1!important;
}

.hover_scale figure img {
    transition:var(--transition);
}

.hover_scale figure {
    overflow:hidden;
}

.hover_scale:hover figure img {
    transform:scale(1.1);
}

/*-------------------------------
    pager
-------------------------------*/

.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap:wrap;
}

.previouspostslink,
.nextpostslink {
    display: block;
    width:1.5rem;
    height:1.7rem;
    position:relative;
    margin:0 1rem;
}

.previouspostslink::before,
.nextpostslink::before {
    content:"";
    display: block;
    width:100%;
    height:100%;
    background:url(../images/common/arrow_pager.svg) no-repeat center / contain;
    position:absolute;
    left:0;
    top:0;
}

.nextpostslink::before {
    transform:scale(-1,1);
}

.page,
.current {
    font-size:1.5rem;
    font-weight:500;
    letter-spacing: 0.01em;
    display: block;
    width:3rem;
    height:3rem;
    line-height:3rem;
    border-radius:50%;
    background:#AEBEC9;
    color:#fff;
    text-align: center;
    opacity:1!important;
    margin:0 1rem;
}

.current,
.page:hover {
    background:var(--maincolor);
}

/*-------------------------------
    model room card
-------------------------------*/

.modelroom_card {
    padding:5.5rem 0 11rem;
    background:#E8F6FF;
}

.modelroom_card::before {
    content:"";
    display: block;
    width:100%;
    height:max(58rem , 43vw);
    background:url(../images/common/bg_modelroom_card.svg) no-repeat center bottom / cover;
    position:absolute;
    left:0;
    bottom:0;
}

.modelroom_card .inner {
    position:relative;
}

.modelroom_card .title_ribon {
    width:57.8rem;
    margin:0 auto 11rem;
}

.card_list {
    max-width:110rem;
    margin:0 auto;
    padding:0 2.5rem;
}

.card_list .swiper {
    overflow: visible;
}

.card_list .swiper-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.card_list .swiper-slide {
    width:31.5%;
    max-width:33rem;
    border-radius:2rem;
    background:#fff;
    padding:2.5rem 2.5rem 5rem;
    position:relative;
    opacity:1!important;
}

.card_list .swiper-slide:nth-of-type(n+4) {
    display: none;
}

.card_list .swiper-slide:hover {
    background:#FFFFE8;
}

.card_list .swiper-slide::after {
    content:"";
    display: block;
    width:2.4rem;
    height:2.4rem;
    background:url(../images/common/arrow_maru_white.svg) no-repeat center / contain;
    position:absolute;
    right:2.5rem;
    bottom:2.5rem;
}

.card_list .card_img {
    width:100%;
    height:23.4rem;
    margin-bottom:3.5rem;
    border-radius:2rem;
}

.card_txt {
    padding-left:1.5rem;
}

.card_tag span {
    display: inline-block;
    font-size:2rem;
    font-weight:500;
    letter-spacing: 0.01em;
    color:#fff;
    position:relative;
    padding:0.25em 1em 0.25em 0;
    background:#9AD4FF;
}

.card_tag span::before {
    content:"";
    display: block;
    width:calc(2.5rem + 1.5rem);
    height:100%;
    background:#9AD4FF;
    position:absolute;
    top:0;
    right:100%;
}

.card_name {
    font-size:2.2rem;
    font-weight:700;
    letter-spacing: 0.01em;
    color:var(--blueblack);
    margin:0.5em 0 0.25em;
}

.card_dl dt,
.card_dl dd {
    font-size:1.6rem;
    line-height:1.875;
    font-weight:500;
    color:var(--blackcolor);
}

.card_dl dt::after {
    content:"：";
    display: inline-block;
}

.card_btn_wrap {
    position:relative;
}

.card_btn_wrap .btn {
    margin:6rem auto 0;
}

.modelroom_card .illust_family01 {
    left:calc(50% + 33rem);
    top:0rem;
}

.modelroom_card .yukinyan_handup02 {
    left:calc(50% + 33rem);
    top:0;
}

/*-------------------------------
    no list
-------------------------------*/

.no_list {
    counter-reset: item;
}

.no_list > li {
    position:relative;
    padding-left:1.5em;
    line-height:2.25;
}

.no_list > li::before {
    counter-increment: item;
    content: counter(item)'.';
    position:absolute;
    left:0;
    top:0;
    line-height:2.25;
}

/*-------------------------------
    responsive
-------------------------------*/

@media screen and (max-width:960px) {

p {
    font-size:1.8rem;
}

/*-------------------------------
    header
-------------------------------*/

.header_logo {
    width:24rem;
}

/*-------------------------------
    nav arrow
-------------------------------*/

.nav_arrow .nav_arrow_maru {
    font-size:1.8rem;
}

/*-------------------------------
    nav main
-------------------------------*/

.nav_main > li:not(:first-of-type) {
    margin-left:2.5rem;    
}

.nav_main li a,
.nav_main .nav_parent span {
    font-size:1.8rem;
}

/*-------------------------------
    footer
-------------------------------*/

.footer_logo {
    width:34rem;
}

.footer_info address,
.footer_info address p,
.footer_hours,
.footer_hours p {
    font-size:1.7rem;
}

.footer_maplink a,
.footer_maplink a span,
.footer_nav li a,
.footer_copy a {
    font-size:1.8rem;
}

.footer_copy small {
    font-size:1.7rem;
}

.footer_btn .btn span {
    font-size:1.7rem;
}

/*-------------------------------
    ぱんくず
-------------------------------*/

.Breadclumb__item,
.Breadclumb__item a {
    font-size: 1.7rem;
}

/*-------------------------------
    pager
-------------------------------*/

.page,
.current {
    font-size:1.7rem;
}

.previouspostslink,
.nextpostslink {
    width:1.8rem;
    height:2.1rem;
}

/*-------------------------------
    model room card
-------------------------------*/

.card_dl dt,
.card_dl dd {
    font-size:1.8rem;
}

} /* end 960px */

/*-------------------------------
    ver sp
-------------------------------*/

@media screen and (max-width:768px) {
    
/*-------------------------------
    contents
-------------------------------*/

.inner {
    max-width:100%;
    padding: 0 6rem;
}

p {
    font-size:2.8rem;
}

/*-------------------------------
    パーツ
-------------------------------*/

/*----- 見出し */
/* 大見出し */

.h_title {
    margin-bottom:6rem;
}

.h_title span {
    font-size:3rem;
}

.h_title span::before {
    font-size:6rem;
}

/* 中見出し */

.h_icon::before {
    width:11.3rem;
    height:11.3rem;
    margin:0 auto 3rem;
}

.h_icon span {
    font-size:3.6rem;
}

/* 中見出し */

.h_nami span {
    font-size:3.6rem;
}

.h_nami span::before {
    /*font-size:2.4rem;*/
    font-size: 1.6rem;
}

/*----- ボタン */

.btn {
    max-width:51rem;
    height:8.8rem;
    border-radius:4.4rem;
    padding:0 11rem;
}

.btn span {
    font-size:3.6rem;
}

.btn::after {
    width:4rem;
    height:4.2rem;
    right:6.8rem;
}

.btn_white {
    max-width:51rem;
    height:10.4rem;
    border-radius: 5.2rem;
}

.btn_white span {
    font-size:2.8rem;
}

.btn_white::after {
    width:2.7rem;
    height:2.8rem;
    right:3rem;
}

.btn_icon::before {
    width:6.6rem;
    height:6.6rem;
    left:3rem;
}

.btn_back::after {
    right:auto;
    left:6.8rem;
    transform:scale(-1,1);
}


/*-------------------------------
    box shadow
-------------------------------*/

.b_shadow {
    box-shadow: .6rem .6rem var(--maincolor);
}

/*-------------------------------
    header
-------------------------------*/

.header{
    width: 100%;
    height:13.4rem;
}

.header_inner {
    padding:0 3rem;
}

.header_logo {
    width:42rem;
    position:relative;
    z-index: 999;
}

/*-------------------------------
    nav arrow
-------------------------------*/

.header_nav {
    display: none;
    overflow-y:auto;
    background:#fff;
    position:fixed;
    top:13.4rem;
    left:0;
    padding:3rem 6rem 15rem;
    z-index: 99;
    max-height:calc(100vh - 13.4rem);
}

.header_nav_inner {
    display: flex;
    flex-wrap:wrap;
}

.nav_arrow {
    padding-top:0rem;
    margin-bottom:4.5rem;
    width:100%;
    display: block;
    border-bottom:0.2rem solid #DDDDDD;
}

.nav_arrow li {
    margin-left:0rem;
    line-height:1;
    border-top:0.2rem solid #DDDDDD;
}

.nav_arrow .nav_arrow_maru {
    padding:3rem 4rem 3rem 0;
    position:relative;
    font-size:3rem;
    display: block;
}

.nav_arrow .nav_arrow_maru::before {
    width:2.9rem;
    height:3rem;
    background:url(../images/common/btn_arrow02.svg) no-repeat center / contain;
    left:auto;
    right:0;
}

.nav_arrow .sp_arrow_tab::before {
    width:2.9rem;
    height:3.2rem;
    background-image:url(../images/common/icon_tab02.svg);
}

/*-------------------------------
    nav main
-------------------------------*/

.nav_main {
    position:relative;
    width:100%;
    order:-1;
    display: block;
}

.nav_main li,
.nav_main .nav_parent {
    line-height:1;
}

.nav_main > li {
    padding-bottom:1rem;
    border-top:0.2rem solid #DDDDDD;
    padding-top:1rem;
}

.nav_main > li:not(:first-of-type) {
    margin-left:0rem;
}

.nav_main > li > a {
    font-weight:700;
    display: block;
    padding:6rem 10rem 6rem 3rem;
    position:relative;
    font-size:3rem;
}

.nav_main > li > a::after {
    content:"";
    display: block;
    width:2.5rem;
    height:2.2rem;
    background:url(../images/common/btn_arrow_white.svg) no-repeat center / contain;
    position:absolute;
    top:0;
    bottom:0;
    right:5rem;
    margin:auto 0;
}

.nav_main > li > a.sp_arrow_tab::after {
    width:2.9rem;
    height:3.2rem;
    background:url(../images/common/icon_tab_white.svg) no-repeat center / contain;
    right:4.6rem;
}

.nav_main .nav_parent {
    position: relative;
}

.nav_main > li > a::before,
.nav_main .nav_parent::before {
    content:"";
    display: block;
    width:6.6rem;
    height:6.6rem;
    background:var(--maincolor);
    position:absolute;
    right:3rem;
    top:0;
    bottom:0;
    margin:auto 0;
    border-radius:50%;
}

.nav_main .nav_parent span {
    display: block;
    background:rgba(176,186,196,0.21);
    border-radius:1.8rem;
    padding:5rem 10rem 5rem 3rem;
    font-size:3rem;
    position:relative;
}

.nav_main .nav_parent span::before,
.nav_main .nav_parent span::after {
    content:"";
    display: block;
    width:3rem;
    height:0.2rem;
    background:#fff;
    position:absolute;
    right:4.8rem;
    bottom:0;
    top:0;
    margin:auto 0;
    transition:var(--transition);
}

.nav_main .nav_parent span::after {
    transform:rotate(-90deg);
}

.nav_main .nav_parent.open span::after {
    transform:rotate(0deg);
}

.nav_parent_wrap {
    position:relative;
}

.nav_child_wrap {
    display: none;
    width: 100%;
    height:auto;
    position:relative;
    top:auto;
    left:auto;
    transform:none;
    overflow: hidden;
    box-shadow: none;
    border-radius:0;
    opacity:1;
    margin-bottom:2.5rem;
    transition:none;
}

.nav_child {
    padding:1rem 0 0 6rem;
    background:none;
}

.nav_child li:not(:last-of-type){
    margin-bottom:0rem;
}

.nav_child li a {
    display: block;
    padding:2rem 7rem 2rem 0;
    font-size:3rem;
    border-bottom:0.2rem solid var(--blueblack);
    position:relative;
    font-weight:500;
}

.nav_child li a::after {
    content:"";
    display: block;
    width:4.2rem;
    height:4.2rem;
    background:url(../images/common/nav_arrow_maru.svg) no-repeat center / contain;
    position:absolute;
    right:3rem;
    top:0;
    bottom:0;
    margin:auto 0;
}

/*-------------------------------
    nav_sp_bottom
-------------------------------*/

.nav_sp_bottom {
    width:100%;
}

.nav_sp_bottom .btn_white {
    background:#E8F6FF;
    margin-bottom:3.5rem;
}

.nav_sp_bottom .nav_youtube {
    width:8.6rem;
    height:8.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding:2rem 1.7rem;
    border:0.2rem solid var(--blackcolor);
    border-radius: 50%;
}

/*-------------------------------
    hamburger
-------------------------------*/

.hamburger {
    display: block;
}

.hamburger {
    width:8.8rem;
    height:8.8rem;
    position: relative;
    z-index : 999;
    border-radius:1.4rem;
    background:var(--maincolor);
    margin-left:auto;
}

.hamburger span {
  display : block;
  position: absolute;
  width   :3.8rem;
  height  : 0.4rem;
  border-radius:0.2rem;
  left    : 2.5rem;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 2.8rem;
}

.hamburger span:nth-child(2) {
  top:4.2rem;
}

.hamburger span:nth-child(3) {
  top: 5.6rem;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top:4.2rem;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top:4.2rem;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/*-------------------------------
    footer
-------------------------------*/

.footer_inner {
    max-width:100%;
    padding:0 6rem;
}

.footer_inner .h_title {
    margin-bottom:12rem;
}

.footer_bg {
    padding:12rem 0 10rem;
    background:url(../images/common/bg_footer.jpg) no-repeat center / cover;
}

.footer_info {
    width:100%;
}

.footer_logo {
    width:49.5rem;
    margin-bottom:3rem;
}

.footer_info p,
.footer_tel {
    font-size:2.4rem;
    line-height:1.65;
}

.footer_info address {
    margin-bottom:0;
}

.footer_info address,
.footer_info address p {
    font-size:2.4rem;
    line-height:1.65;
}

.footer_hours,
.footer_hours p {
    font-size:2.4rem;
    line-height:1.65;
}

.footer_tel {
    margin-top:0rem;
    font-size:7.8rem;
    text-align: center;
    line-height:1;
}

.footer_tel::before {
    font-size:4rem;
}

.footer_tel_hours {
    text-align: center;
}

.footer_tel_hours p {
    font-size:2.8rem;
    color:#fff;
    letter-spacing: 0.01em;
    font-weight:500;
}

.footer_maplink {
    text-align: center;
    margin-top:6rem;
    margin-bottom:11rem;
    padding-bottom:10rem;
    border-bottom:.2rem solid #fff;
}

.footer_maplink a {
    font-size:3rem;
    border-width:.2rem;
    padding-right:1.65em;
}

.footer_maplink a span {
    font-size:3rem;
}

.footer_btn {
    margin-top:8.5rem;
}

.footer_btn .btn {
    margin:0 auto 3.5rem;
}

.footer_btn .btn span {
    font-size:2.8rem;
}

.footer_bottom {
    padding:2.5rem 0 1.5rem;
}

.footer_nav {
    display: none;
}

.footer_copy {
    margin-top:0rem;
    padding:0;
    position:relative;
    justify-content: center;
}

.footer_copy::before {
    display:none;
}

.footer_copy a {
    padding-left:0;
    font-size:2.4rem;
}

.footer_copy a span {
    font-size:2.4rem;
}

.footer_copy .icon_tab_white::before {
    left:auto;
    right:0;
}

.footer_copy small {
    margin-top:2.5rem;
    font-size:2rem;
    width:100%;
    text-align: center;
}

/*-------------------------------
    subpage keyvisual
-------------------------------*/

.sub_keyvisual {
    width:100%;
    height:36.7rem;
    background:url(../images/common/bg_sub_keyvisual_sp.svg) no-repeat center / cover;
    padding-top:11rem;
    margin-top:13.4rem;
    border-radius: 0;
    margin-bottom:6rem;
}

/*-------------------------------
    ぱんくず
-------------------------------*/

.Breadclumb{
    display: none;
}

/*-------------------------------
    illust wrap
-------------------------------*/

.illust_wrap {
    position:absolute;
    left:0;
    top:0;
    z-index: 1;
    width:100%;
    height:100%;
    pointer-events: none;
}

.illust {
    position:absolute;
}

.illust_tree01 {
    width:12rem;
}

.illust_tree02 {
    width:8.8rem;
}

.illust_tree03 {
    width:9.1rem;
}

.illust_family01 {
    width:11.5rem;
}

.illust_family02 {
    width:7rem;
}

.illust_family04 {
    width:16rem;
}

.illust_stroll01 {
    width:12.6rem;
}

.illust_stroll02 {
    width:19.6rem;
}

.illust_stroll03 {
    width:6.4rem;
}

.illust_stroll04 {
    width:9.4rem;
}

.illust_businessman01 {
    width:13.9rem;
}

.illust_businessman02 {
    width:16.3rem;
}

.illust_house02 {
    width:11.4rem;
}

.illust_house03 {
    width:19rem;
}

.illust_house04 {
    width:14rem;
}

.illust_apartment02 {
    width:18.5rem;
}

.illust_apartment03 {
    width:14.9rem;
}

.illust_dining01 {
    width:18.9rem;
}

.illust_living01 {
    width:13.9rem;
}

.illust_car_yellow01,
.illust_car_red01 {
    width:12rem;
}

.illust_building01 {
    width:18.4rem;
}

.illust_children01 {
    width:10.9rem;
}

.illust_children02 {
    width:12.3rem;
}

.illust_school01 {
    width:23.5rem;
}

.illust_running01 {
    width:11.4rem;
}

.illust_running02 {
    width:10.8rem;
}

.illust_man01 {
    width:4.4rem;
}

.illust_party01 {
    width:15rem;
}

.illust_mountain01 {
    width:90rem;
}
/*-------------------------------
    yukinyan
-------------------------------*/

.illust_yukinyan01 {
    width:17.5rem;
}

.illust_yukinyan02 {
    width:16rem;
}

.illust_yukinyan03 {
    width:16.2rem;
}

.illust_yukinyan04 {
    width:28.5rem;
}

.yukinyan_mushimegane {
    width:19.3rem;
}

.yukinyan_onegai {
    width:18.8rem;
}

.yukinyan_onpu {
    width:19.5rem;
}

.yukinyan_shikushiku {
    width:18.3rem;
}

.yukinyan_handup {
    width:19.3rem;
}

.yukinyan_zzz {
    width:22.6rem;
}

.yukinyan_tanomu {
    width:18rem;
}

.yukinyan_yatta {
    width:18.8rem;
}


/*-------------------------------
    animation
-------------------------------*/

/*-------------------------------
    anime float
-------------------------------*/

@keyframes float {

    0% {
        transform:translateY(0);
    }
    50% {
        transform:translateY(-1rem);
    }
    100% {
        transform:translateY(0);
    }
} /* end float */

/*-------------------------------
    anime jump
-------------------------------*/

@keyframes jump {

    0% {
        transform:translateY(0);
    }
    10% {
        transform:translateY(-0.6rem);
    }
    20% {
        transform:translateY(0);
    }
    30% {
        transform:translateY(-0.6rem);
    }
    40% {
        transform:translateY(0rem);
    }
    50% {
        transform:translateY(0);
    }
} /* end jump */

/*-------------------------------
    fadein
-------------------------------*/

.fadein {
    transform : translate(-10rem,0);
}

/*-------------------------------
    pager
-------------------------------*/

.previouspostslink,
.nextpostslink {
    width:3rem;
    height:3.4rem;
    margin:0 1.5rem;
}

.page,
.current {
    font-size:3rem;
    width:6rem;
    height:6rem;
    line-height:6rem;
    margin:0 1.5rem;
}

/*-------------------------------
    model room card
-------------------------------*/

.modelroom_card {
    padding:13rem 0 0rem;
}

.modelroom_card::before {
    display: none;
}

.modelroom_card .inner {
    position:relative;
    padding:0;
}

.modelroom_card .h_title {
    margin-bottom:10rem;
}

.card_list {
    max-width:100%;
    margin:0 auto;
    padding:0 0 15rem;
    position:relative;
}

.card_list::before {
    content:"";
    display: block;
    width:100%;
    height:31.8rem;
    background:url(../images/common/bg_modelroom_card.svg) no-repeat center bottom / cover;
    position:absolute;
    left:0;
    bottom:0;
}

.card_list .swiper {
    overflow: visible;
}

.card_list .swiper-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.card_list .swiper-slide {
    width:43.3rem!important;
    max-width:100%;
    padding:0rem 0rem 8rem;
    margin:0 2.5rem;
    overflow: hidden;
}

.card_list .swiper-slide:nth-of-type(n+4) {
    display: block;
}

.card_list .swiper-slide::after {
    width:3.8rem;
    height:3.8rem;
    right:2.5rem;
    bottom:2.5rem;
}

.card_list .card_img {
    width:100%;
    height:31.1rem;
    margin-bottom:2.5rem;
    border-radius:0;
}

.card_txt {
    padding:0 4rem 0;
}

.card_tag span {
    font-size:2.8rem;
}

.card_tag span::before {
    width:4rem;
}

.card_name {
    font-size:3.6rem;
}

.card_dl dt,
.card_dl dd {
    font-size:2.8rem;
}

.card_btn_wrap {
    background:#fff;
    padding:7rem 0 13rem;
}

.card_btn_wrap .btn {
    margin:0 auto 0;
    padding:0 6rem 0 11rem;
}

.card_btn_wrap .btn::after {
    left:6rem;
}

.modelroom_card .illust_family01 {
    width:12.8rem;
    left:calc(50% + 20rem);
    top:7rem;
}

.modelroom_card .yukinyan_handup02 {
    width:11.8rem;
    left:calc(50% + 20rem);
    top:8rem;
}

/*-------------------------------
    scroll hint
-------------------------------*/

.js_scroll .scroll-hint-icon {
    width:24rem;
    left:calc(50% - 12rem);
    top:calc(50% - 5rem);
    padding:4rem 2rem 2rem 2rem;
}

.scroll-hint-text {
    font-size:2rem;
}

.scroll-hint-icon:before {
    width:8rem;
    height:8rem;
}

.scroll-hint-icon:after {
    width:6.8rem;
    height:2.8rem;
    top:2rem;
    margin-left:-4rem;
    background-size:contain;
}

/*-------------------------------
    
-------------------------------*/

/*-------------------------------
    
-------------------------------*/


} /* end 768px */


