@charset "utf-8";

/*
grn {
    color: #62b79c;
}
黄緑 {
    color: #cd5; rgba(204, 221, 85, .5);
}
青 {
    color: #006fb4;
}
オレンジ {
    color: #f9ab03;
}
茶色 {
    color: #696660;
}
ベージュ {
    color: #f2ede7;
}
黄色 {
    color: #d6a856;
}

EN
Warbler Banner Regular
    font-family: "warbler-banner", sans-serif;
    font-weight: 400;
    font-style: normal;
Warbler Banner Italic
    font-family: "warbler-banner", sans-serif;
    font-weight: 400;
    font-style: italic;
Warbler Banner Bold
    font-family: "warbler-banner", sans-serif;
    font-weight: 700;
    font-style: normal;
Warbler Banner Bold Italic
    font-family: "warbler-banner", sans-serif;
    font-weight: 700;
    font-style: italic;
Warbler Deck Regular
    font-family: "warbler-deck", sans-serif;
    font-weight: 400;
    font-style: normal;
Warbler Deck Italic
    font-family: "warbler-deck", sans-serif;
    font-weight: 400;
    font-style: italic;
Warbler Deck Bold
    font-family: "warbler-deck", sans-serif;
    font-weight: 700;
    font-style: normal;
Warbler Deck Bold Italic
    font-family: "warbler-deck", sans-serif;
    font-weight: 700;
    font-style: italic;
Warbler Display Regular
    font-family: "warbler-display", sans-serif;
    font-weight: 400;
    font-style: normal;
Warbler Display Italic
    font-family: "warbler-display", sans-serif;
    font-weight: 400;
    font-style: italic;
Warbler Display Bold
    font-family: "warbler-display", sans-serif;
    font-weight: 700;
    font-style: normal;
Warbler Display Bold Italic
    font-family: "warbler-display", sans-serif;
    font-weight: 700;
    font-style: italic;
Warbler Text Regular
    font-family: "warbler-text", sans-serif;
    font-weight: 400;
    font-style: normal;
Warbler Text Italic
    font-family: "warbler-text", sans-serif;
    font-weight: 400;
    font-style: italic;
Warbler Text Bold
    font-family: "warbler-text", sans-serif;
    font-weight: 700;
    font-style: normal;
Warbler Text Bold Italic
    font-family: "warbler-text", sans-serif;
    font-weight: 700;
    font-style: italic;

Akshar Regular
    font-family: "akshar", sans-serif;
    font-weight: 400;
    font-style: normal;
Akshar Bold
    font-family: "akshar", sans-serif;
    font-weight: 700;
    font-style: normal;

JP
Shippori Mincho Regular
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
Shippori Mincho Bold
    font-family: "shippori-mincho", sans-serif;
    font-weight: 700;
    font-style: normal;

*/

/* ------------------------------------------------ 共通 */
* {
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

html, body {
    width: 100%;
    overflow-x: hidden;
}

body {
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: 16px;/*13px*/
    font-family: "游ゴシック体","游ゴシック","YuGothic","Yu Gothic","Noto Sans JP","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"MS Pゴシック","MS PGothic",sans-serif;;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 2.5px;
    line-height: 180%;
    -webkit-text-size-adjust: 100%;
}
    @media only screen and (max-width: 767px) {
        body {
            font-size: 14px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        body {
            font-size: 14px;
        }
    }

a {
    font-size: 16px;
    text-decoration: none;
    color: #000;
    letter-spacing: 2.5px;
    line-height: 180%;
}
a:hover {
    transition: 0.7s;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
    @media only screen and (max-width: 767px) {
        a {
            font-size: 14px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        a {
            font-size: 14px;
        }
    }

p {
    font-size: 16px
    text-align: justify;
    text-justify: inter-ideograph;
    letter-spacing: 2.5px;
    line-height: 180%;
}
    @media only screen and (max-width: 767px) {
        p {
            font-size: 14px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        p {
            font-size: 14px;
        }
    }

img {
    display: block;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    margin: 0;
    padding: 0;
}

.justify {
    text-align: justify;
    text-justify: inter-ideograph;
}

.l_height280 {
    line-height: 280%;
}
    @media only screen and (max-width: 767px) {
        .l_height280 {
            line-height: 220%;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .l_height280 {
            line-height: 220%;
        }
    }

.marker {
    background:linear-gradient(transparent 40%, #ff6 40%);
}

.grecaptcha-badge {
    visibility: hidden;
}

/* ------------------------------------------------ 配置 */
.center {
    text-align: center;
}
.center img {
    display: block;
    margin: 0 auto;
}

/* ------------------------------------------------ マージン */
.mb15 {
    margin-bottom: 15px;
}
.mb30 {
    margin-bottom: 30px;
}
.mb60 {
    margin-bottom: 60px;
}
.mb90 {
    margin-bottom: 90px;
}
.mb120 {
    margin-bottom: 120px;
}

.mt15 {
    margin-top: 15px;
}
.mt30 {
    margin-top: 30px;
}
.mt60 {
    margin-top: 60px;
}
.mt90 {
    margin-top: 90px;
}
.mt120 {
    margin-top: 120px;
}
    @media only screen and (max-width: 767px) {
        .mb15 {
            margin-bottom: 8px;
        }
        .mb30 {
            margin-bottom: 15px;
        }
        .mb60 {
            margin-bottom: 30px;
        }
        .mb90 {
            margin-bottom: 45px;
        }
        .mb120 {
            margin-bottom: 60px;
        }

        .mt15 {
            margin-top: 8px;
        }
        .mt30 {
            margin-top: 15px;
        }
        .mt60 {
            margin-top: 30px;
        }
        .mt90 {
            margin-bottom: 45px;
        }
        .mt120 {
            margin-top: 60px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .mb15 {
            margin-bottom: 8px;
        }
        .mb30 {
            margin-bottom: 15px;
        }
        .mb60 {
            margin-bottom: 30px;
        }
        .mb90 {
            margin-bottom: 45px;
        }
        .mb120 {
            margin-bottom: 60px;
        }

        .mt15 {
            margin-top: 8px;
        }
        .mt30 {
            margin-top: 15px;
        }
        .mt60 {
            margin-top: 30px;
        }
        .mt90 {
            margin-bottom: 45px;
        }
        .mt120 {
            margin-top: 60px;
        }
    }

/* ------------------------------------------------ FONT */
.font10 {
    font-size: 10px;
}
.font12 {
    font-size: 12px;
}
.font14 {
    font-size: 14px;
}
.font16 {
    font-size: 16px;
}
.font18 {
    font-size: 18px;
}
.font20 {
    font-size: 20px;
}

/* ------------------------------------------------ 横からフェードイン */
.fadein-before_left {
    opacity: 0;
    transform: translateX(150px);
    transition:opacity 3s,transform 3s;
}
.fadein-before_right {
    opacity: 0;
    transform: translateX(-150px);
    transition:opacity 3s,transform 3s;
}
.fadein-after {
    opacity: 1;
    transform: translate(0);
}

/* ------------------------------------------------ コンテンツフェードイン */
.fuwatAnime {
    -webkit-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 1.5s;
    -ms-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-name: fuwatAnime;
    -ms-animation-name: fuwatAnime;
    animation-name: fuwatAnime;
    visibility: visible !important;
}
    @-webkit-keyframes fuwatAnime {
        0% {
            opacity: 0;
            -webkit-transform: translateY(50px);
        }
        100% {
            opacity: 1;
            -webkit-transform: translateY(0);
        }
    }
    @keyframes fuwatAnime {
        0% {
            opacity: 0;
            -webkit-transform: translateY(50px);
            -ms-transform: translateY(50px);
            transform: translateY(50px);
        }
        100% {
            opacity: 1;
            -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
            transform: translateY(0);
        }
    }

/* ------------------------------------------------ ヘッダ */
header {
    position: fixed;
    width: 100%;
    background: #696660;/*rgba(255,255,255,0)*/
    height: 60px;
    padding: 10px 0;
    z-index: 9999999;
    transition: 1s;
}
.header_inner {
    position: relative;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: center;
    width: 1200px;
    margin: 0 auto;
}
header.is-animation {
    background: rgba(255,255,255,.8);
    height: 50px;
    padding: 5px 0;
    transition: 1s;
    z-index: 99999;
}
    @media only screen and (max-width: 767px) {
        .header_inner {
            display: inherit;
            flex-flow: inherit inherit;
            justify-content: inherit;
            align-items: inherit;
            width: 100%;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .header_inner {
            display: inherit;
            flex-flow: inherit inherit;
            justify-content: inherit;
            align-items: inherit;
            height: 50px;
            width: 100%;
        }
    }

/* ヘッダロゴ */
h2.logo {
    width: 108px;
    height: 40px;
    transition: 1s;
}
h2.logo a {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 108px;
    height: 40px;
    background-image: url(../images/common/logo_wht.svg);
    font-size: 0.1em;
    text-indent: -9999em;
    transition: 1s;
}
.is-animation h2.logo {
    transition: 1s;
}
.is-animation h2.logo a {
    background-image: url(../images/common/logo_blk.svg);
    transition: 1s;
}
    @media only screen and (max-width: 767px) {
        h2.logo {
            width: 81px;
            height: 30px;
        }
        h2.logo a {
            top: 20px;
            left: 15px;
            width: 81px;
            height: 30px;
        }
        .is-animation h2.logo a {
            top: 20px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        h2.logo {
            width: 81px;
            height: 30px;
        }
        h2.logo a {
            top: 20px;
            left: 10px;
            width: 81px;
            height: 30px;
        }
    }

/* Gナビ */
#g-nav {
    vertical-align: middle;
    margin-left: -587px;/* センターから調整 */
}
#g-nav-list ul li {
    float: left;
    padding-right: 30px;
}
#g-nav-list ul li a {
    font-size: 16px;
    color: #fff;
    transition: 1s;
}
.is-animation #g-nav-list ul li a {
    color: #696660;
    transition: 1s;
}
#g-nav-list ul li a::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 12px;
    background-image: url(../images/common/icon_navi_arrow_wht.svg);
    background-position: center;
    background-size: contain;
    margin-right: 5px;
    transition: 1s;
}
#g-nav-list ul li.parent_menu a:hover::before {
    transform: rotate(90deg);
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    transition: 1s;
}
.is-animation #g-nav-list ul li a::before {
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    transition: 1s;
}
#g-nav-list ul li a:hover::before {
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    transition: 1s;
}
    @media only screen and (max-width: 767px) {
        #g-nav {
            margin-left: 0;
        }
        #g-nav-list ul li a {
            color: #fff;
        }
        #g-nav-list ul li a::before {
            background-image: url(../images/common/icon_navi_arrow_wht.svg);
        }
        .is-animation #g-nav-list ul li a::before {
            background-image: url(../images/common/icon_navi_arrow_wht.svg);
        }

        .is-animation #g-nav-list ul li a {
            color: #fff;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        #g-nav {
            margin-left: 100px;
        }
        #g-nav-list ul li a {
            color: #fff;
        }
        #g-nav-list ul li a::before {
            background-image: url(../images/common/icon_navi_arrow_wht.svg);
        }
        .is-animation #g-nav-list ul li a::before {
            background-image: url(../images/common/icon_navi_arrow_wht.svg);
        }

        .is-animation #g-nav-list ul li a {
            color: #fff;
        }
    }

/* ドロップダウンメニュー */
#g-nav-list ul li ul.child_menu {
    position: relative;
    display: none;
}
#g-nav-list ul li:hover ul.child_menu {
    position: absolute;
    display: block;
    width: 355px;
    animation: appear 2s ease;
}
@keyframes appear {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
    @media only screen and (max-width: 767px) {
        #g-nav-list ul li ul.child_menu {
            display: block;
        }
        #g-nav-list ul li:hover ul.child_menu {
            position: inherit;
            width: 100%;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        #g-nav-list ul li ul.child_menu {
            display: block;
        }
        #g-nav-list ul li:hover ul.child_menu {
            position: inherit;
            width: 100%;
        }
    }

#g-nav-list ul li ul.child_menu li a {
    display: block;
    width: 355px;
    color: #fff;
    background-color: rgba(000,000,000, .5);
    padding: 10px;
    border-bottom: 1px solid #999;
}
#layer #g-nav-list ul li ul.child_menu li a {
    color: #fff;
}
#g-nav-list ul li ul.child_menu li:last-of-type a {
    border-bottom: none;
}
#g-nav-list ul li ul.child_menu li a::before {
    position: relative;
    top: -3px;
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background-image: url(../images/common/icon_dot_wht.svg);
    background-position: center;
    background-size: contain;
    margin-right: 5px;
}
#layer #g-nav-list ul li ul.child_menu li a::before {
    background-image: url(../images/common/icon_dot_wht.svg);
}
.is-animation #g-nav-list ul li ul.child_menu li a {
    background-color: rgba(000, 000, 000, .5);
}
    @media only screen and (max-width: 767px) {
        #g-nav-list ul li ul.child_menu li a {
            font-size: 13px;
            width: 100%;
            background-color: rgba(255, 255, 255, 0);
            margin-left: -25px;
            padding: 0;
            border-bottom: none;
        }
        #g-nav-list ul li ul.child_menu li a::before {
            top: -3px;
            background-image: url(../images/common/icon_dot_wht.svg);
        }
        .is-animation #g-nav-list ul li ul.child_menu li a {
            background-color: rgba(000, 000, 000, 0);
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        #g-nav-list ul li a {
            font-size: 20px;
        }
        #g-nav-list ul li ul.child_menu li a {
            font-size: 17px;
            width: 100%;
            background-color: rgba(255, 255, 255, 0);
            margin-left: -25px;
            padding: 0;
            border-bottom: none;
        }
        #g-nav-list ul li ul.child_menu li a::before {
            top: -3px;
            background-image: url(../images/common/icon_dot_wht.svg);
        }
        .is-animation #g-nav-list ul li ul.child_menu li a {
            background-color: rgba(000, 000, 000, 0);
        }
    }

/* ヘッダ:SNS */
.header_sns {
    position: absolute;
    top: 9px;
    right: -100px;
}
.header_sns div {
    position: relative;
    display: inline-block;
    width: 25px;
    height: 25px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
.header_sns div a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.header_sns div:hover {
    transition: 0.7s;
    opacity: 0.7;
    filter: alpha(opacity=50);
    -ms-filter: "alpha(opacity=50)";
}
.header_sns_fb {
    margin-right: 15px;
    background: url(../images/common/icon_fb_wht.svg);
    transition: 1s;
}
.header_sns_fb:hover {
    background: url(../images/common/icon_fb_4c.svg);
}
.is-animation .header_sns_fb {
    background: url(../images/common/icon_fb_blk.svg);
}
.is-animation .header_sns_fb:hover {
    background: url(../images/common/icon_fb_4c.svg);
}

.header_sns_insta {
    background: url(../images/common/icon_insta_wht.svg);
    transition: 1s;
}
.header_sns_insta:hover {
    background: url(../images/common/icon_insta_4c.svg);
    transition: 1s;
}
.is-animation .header_sns_insta {
    background: url(../images/common/icon_insta_blk.svg);
}
.is-animation .header_sns_insta:hover {
    background: url(../images/common/icon_insta_4c.svg);
}
        @media only screen and (max-width: 767px) {
            .header_sns {
                position: fixed;
                top: 17px;
                right: 100px;
                transition: 1s;
            }
            .is-animation .header_sns {
                top: 15px;
            }
            .header_sns div {
                width: 25px;
                height: 25px;
            }
            .header_sns_fb {
                margin: 0 5px 0 0;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .header_sns {
                position: fixed;
                top: 17px;
                right: 100px;
                transition: 1s;
            }
            .is-animation .header_sns {
                top: 15px;
            }
            .header_sns div {
                width: 25px;
                height: 25px;
            }
            .header_sns_fb {
                margin: 0 5px 0 0;
            }
        }

/* ヘッダ：お問い合わせ */
.header_contact {
    position: relative;
    text-align: center;
    width: 180px;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    color: #696660;
    background-color: #fff;
    transition: 1s;
    padding-left: 35px;
    position: absolute;
    top: 0;
    right: 0;
}
.header_contact span {
    position: relative;
    font-family: "shippori-mincho", sans-serif;
    font-size: 16px;
    font-weight: bold;
}
.is-animation .header_contact {
    color: #fff;
    background-color: #696660;
    transition: 1s;
}
.header_contact::before {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: "";
    display: inline-block;
    width: 33.33px;
    height: 20px;
    background-image: url(../images/common/icon_mail_blk.svg);
    background-position: center;
    background-size: contain;
    transition: 1s;
}
.is-animation .header_contact::before {
    background-image: url(../images/common/icon_mail_wht.svg);
}
.header_contact a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.header_contact:hover::before {
    left: 10px;
    background-image: url(../images/common/icon_mail_wht.svg);
}
.header_contact:hover {
    transition: 1s;
    color: #fff;
    background-color: #696660;
}
.is-animation .header_contact:hover {
    transition: 1s;
    color: #696660;
    background-color: #fff;
    border: 1px solid #696660;
}
    @media only screen and (max-width: 767px){
        .header_contact {
            position: fixed;
            top: 14.5px;
            right: 65px;
            transform: inherit;
            -webkit-transform: inherit;
            -ms-transform: inherit;
            width: 25px;
            height: 25px;
            line-height: inherit;
            border-radius: inherit;
            color: inherit;
            background-color: inherit;
            padding-left: inherit;
        }
        .header_contact span {
            display: none;
        }
        .is-animation .header_contact {
            background-color: rgba(0, 0, 0, 0);
        }
        .header_contact::before {
            left: inherit;
            right: 0;
            width: 25px;
            height: 25px;
            background-image: url(../images/common/icon_mail_sp_wht.svg);
            margin: 3px 0 0 0;
        }
        .is-animation .header_contact::before {
            background-image: url(../images/common/icon_mail_sp_blk.svg);
        }
        .header_contact:hover::before {
            left: inherit;
        }
        .header_contact:hover {
            background-color: inherit;
        }
        .is-animation .header_contact {
            top: 11px;
        }
        .is-animation .header_contact:hover {
            background-color: inherit;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .header_contact {
            position: fixed;
            top: 14.5px;
            right: 65px;
            transform: inherit;
            -webkit-transform: inherit;
            -ms-transform: inherit;
            width: 25px;
            height: 25px;
            line-height: inherit;
            border-radius: inherit;
            color: inherit;
            background-color: inherit;
            padding-left: inherit;
        }
        .header_contact span {
            display: none;
        }
        .is-animation .header_contact {
            background-color: rgba(0, 0, 0, 0);
        }
        .header_contact::before {
            left: inherit;
            right: 0;
            width: 25px;
            height: 25px;
            background-image: url(../images/common/icon_mail_sp_wht.svg);
            margin: 3px 0 0 0;
        }
        .is-animation .header_contact::before {
            background-image: url(../images/common/icon_mail_sp_blk.svg);
        }
        .header_contact:hover::before {
            left: inherit;
        }
        .header_contact:hover {
            background-color: inherit;
        }
        .is-animation .header_contact {
            top: 11px;
        }
        .is-animation .header_contact:hover {
            background-color: inherit;
        }
    }

/************************************************** 下層ページヘッダ */
#layer h2.logo a {
    background-image: url(../images/common/logo_blk.svg);
}
/* Gナビ */
#layer #g-nav-list ul li a {
    color: #696660;
}
#layer #g-nav-list ul li a::before {
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
}
#layer .header_sns_fb {
    background: url(../images/common/icon_fb_blk.svg);
}
#layer .header_sns_insta {
    background: url(../images/common/icon_insta_blk.svg);
}
        @media only screen and (max-width: 767px) {
            #layer #g-nav-list ul li a::before {
                background-image: url(../images/common/icon_navi_arrow_wht.svg);
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #layer #g-nav-list ul li a::before {
                background-image: url(../images/common/icon_navi_arrow_wht.svg);
            }
        }

/* ヘッダ：お問い合わせ */
#layer .header_contact {
    color: #fff;
    background-color: #696660;
}
#layer .header_contact::before {
    background-image: url(../images/common/icon_mail_wht.svg);
}
#layer .header_contact:hover::before {
    background-image: url(../images/common/icon_mail_blk.svg);
}
#layer .header_contact:hover {
    color: #696660;
    background-color: #fff;
    border: 1px solid #696660;
}
        @media only screen and (max-width: 767px) {
            #layer .header_contact {
                color: inherit;
                background-color: inherit;
            }
            #layer .header_contact::before {
                background-image: url(../images/common/icon_mail_sp_blk.svg);
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #layer .header_contact {
                color: inherit;
                background-color: inherit;
            }
            #layer .header_contact::before {
                background-image: url(../images/common/icon_mail_sp_blk.svg);
            }
        }

/* ------------------------------------------------ コンテンツエリア */
section {
    width: 100%;
    margin: 0 auto;
}
.inner {
    position: relative;
    width: 1200px;
    margin: 0 auto;
    padding: 120px 0;
}
.inner_full {
    position: relative;
    width: 100%;
    margin: 120px auto;
}
    @media only screen and (max-width: 767px){
        .inner {
            width: 80%;
            padding: 60px 0;
        }
        .inner_full {
            margin: -60px auto 0;
            padding: 0 0 60px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .inner {
            width: 80%;
            padding: 60px 0;
        }
        .inner_full {
            margin: -60px auto 0;
            padding: 0 0 60px;
        }
    }

/* ------------------------------------------------ メインビジュアル */
#outside {
    position: relative;
    width: 100%;
    padding-top: 60px;
}
.cycle-slideshow img {
    position: relative;
    width: 100%;
    overflow: hidden;
    object-fit: cover;
}
/* ページネーション */
#prev {
    position: absolute;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 30px;
    height: 60px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background: url(../images/top/prev_wht.svg);
    cursor: pointer;
    z-index: 200;
    transition: 1s;
}
#prev:hover {
    background: url(../images/top/prev_blk.svg);
}
#next {
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 30px;
    height: 60px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background: url(../images/top/next_wht.svg);
    cursor: pointer;
    z-index: 200;
    transition: 1s;
}
#next:hover {
    background: url(../images/top/next_blk.svg);
}
    @media (max-width: 767px) {
        #outside {
            z-index: -1;
        }
        #prev {
            left: 5px;
            width: 10px;
            height: 20px;
        }
        #next {
            right: 5px;
            width: 10px;
            height: 20px;
        }
    }
    @media (min-width: 768px) and (max-width: 980px) {
        #outside {
            z-index: -1;
        }
        #prev {
            left: 5px;
            width: 10px;
            height: 20px;
        }
        #next {
            right: 5px;
            width: 10px;
            height: 20px;
        }
    }

/* キャッチコピー */
.copy_main {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    font-family: "shippori-mincho", sans-serif;
    text-align: center;
    color: #fff;
    z-index: 300;
}
.copy_main .copy_main_en {
    display: block;
    font-size: 35px;
    margin-bottom: 15px;
    text-shadow: 0 0 5px rgba(0, 0, 0, 1);
}
.copy_main .copy_main_jp {
    font-size: 20px;
    text-shadow: 0 0 5px rgba(0, 0, 0, 1);
}
        @media only screen and (max-width: 767px) {
            .copy_main {
                display: none;
            }
            .copy_main span {
                display: none;
            }
            .copy_main_sp {
                font-family: "shippori-mincho", sans-serif;
                font-weight: 400;
                font-style: normal;
                line-height: 100%;
                text-align: center;
                width: 85%;
                margin: 20px auto 0;
            }
            .copy_main_sp .copy_main_en {
                display: block;
                font-size: 16px;
                line-height: 130%;
                margin-bottom: 15px;
                text-shadow: 0 0 5px rgba(255, 255, 255, 1);
            }
            .copy_main_sp .copy_main_jp {
                font-size: 18px;
                line-height: 100%;
                text-shadow: inherit;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .copy_main {
                width: 85%;
                margin: 0 auto;
            }
            .copy_main .copy_main_en {
                display: block;
                font-size: 30px;
                margin-bottom: 15px;
            }
            .copy_main .copy_main_jp {
                font-size: 20px;
            }
        }

/* ------------------------------------------------ ページイメージ */
.flexbox_pageimg {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    width: 100%;
    height: 400px;
    overflow: hidden;
    padding-top: 60px;
}
.f_item_pageimg:nth-child(1) {
    position: relative;
    width: 15%;
}
.vertical_rl {
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 35px;
    height: 100%;
    line-height: 110%;
    padding-top: 30px;
}
.f_item_pageimg:nth-child(2) {
    width: 85%;
}
.f_item_pageimg img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center;
}
        @media only screen and (max-width: 767px) {
            .flexbox_pageimg {
                height: 250px;
                padding-top: 50px;
            }
            .f_item_pageimg:nth-child(1) {
                width: 25%;
            }
            .vertical_rl {
                font-size: 23px;
                padding-top: 15px;
            }
            .f_item_pageimg:nth-child(2) {
                width: 75%;
            }
            .f_item_pageimg img {
                height: 250px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .flexbox_pageimg {
                height: 250px;
                padding-top: 50px;
            }
            .vertical_rl {
                font-size: 23px;
                padding-top: 15px;
            }
            .f_item_pageimg img {
                height: 250px;
            }
        }

/* ------------------------------------------------ パンくず */
.page_guide {
    height: 50px;
    border-bottom: 1px solid #f5f5f5;
    margin-bottom: 30px;
}
.page_guide_wrap {
    width: 1200px;
    margin: 0 auto;
}
.aioseo-breadcrumbs {
    text-align: right;
    font-size: 12px;
    line-height: 50px;
}
.aioseo-breadcrumbs a {
    font-size: 12px;
    line-height: 50px;
}
    @media (max-width: 767px) {
        .page_guide_wrap {
            width: 85%;
            white-space: nowrap;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        .page_guide_wrap::-webkit-scrollbar {
            display: none;
        }
        .aioseo-breadcrumbs {
            font-size: 10px;
        }
        .aioseo-breadcrumbs a {
            font-size: 10px;
        }
    }
    @media (min-width: 768px) and (max-width: 980px) {
        .page_guide_wrap {
            width: 85%;
            white-space: nowrap;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        .page_guide_wrap::-webkit-scrollbar {
            display: none;
        }
        .aioseo-breadcrumbs {
            font-size: 10px;
        }
        .aioseo-breadcrumbs a {
            font-size: 10px;
        }
    }

/* ------------------------------------------------ ボタン */
.btn {
    position: relative;
    display: inline-block;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #333;
    border: 1px solid #696660;
    padding: 10px 75px;
    border-radius: 30px;
}
    @media only screen and (max-width: 767px) {
        .btn {
            padding: 10px 50px 10px 30px;
        }
        #insta .btn,
        #youtube .btn {
            padding: 10px 50px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .btn {
            padding: 10px 50px;
        }
    }
.btn a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.btn:hover {
    color: #fff;
    background-color: #696660;
    border: 1px solid #696660;
    transition: 1S;
}
.btn p::after {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    z-index: 1;
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url(../images/common/icon_circle_arrow_blk.svg) no-repeat;
    background-size: contain;
    transition: 1s;
}
.btn:hover p::after {
    right: 8px;
    background: url(../images/common/icon_circle_arrow_wht.svg) no-repeat;
}

.txt_link {
    position: relative;
    margin-bottom: 5px;
}
.txt_link a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.txt_link p {
    display: inline-block;
    vertical-align: middle;
}
.txt_link::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url(../images/common/icon_circle_arrow_blk.svg);
    background-position: center;
    background-size: contain;
    vertical-align: middle;
    transition: 1s;
}
.txt_link:hover::before {
    background-image: url(../images/common/icon_circle_arrow_red.svg);
}
    @media only screen and (max-width: 767px) {
        .txt_link::before {
            margin-top: -17px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .txt_link::before {
            margin-top: -17px;
        }
    }


/* ------------------------------------------------ TOP：コンセプト */
h2.logo_concept {
    width: 135px;
    height: 50px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background: url(../images/common/logo_blk.svg);
    margin: 0 auto 60px;
}

.top_concept_box {
    position: relative;
    width: 480px;
    margin: 0 auto;
}
.top_concept_box::before {
    position: absolute;
    top: -30px;
    left: -450px;
    content: "";
    display: inline-block;
    width: 526px;
    height: 350px;
    background-image: url(../images/top/concept01.jpg);
    background-position: center;
    background-size: contain;
    opacity: .6;
    z-index: 0;
}
.top_concept_box::after {
    position: absolute;
    top: -30px;
    right: -450px;
    content: "";
    display: inline-block;
    width: 526px;
    height: 350px;
    background-image: url(../images/top/concept02.jpg);
    background-position: center;
    background-size: contain;
    opacity: .6;
    z-index: -1;
}
.top_concept_ttl {
    position: absolute;
    top: -60px;
    left: 0px;
    height: 400px;
    writing-mode: vertical-rl;
    font-family: "shippori-mincho", sans-serif;
    font-size: 38px;
    line-height: 180%;
    z-index: 99;
}
.top_concept_ttl span {
    display: block;
}
.top_concept_ttl span:nth-child(2) {
    margin-top: 120px;
}
.top_concept_txt {
    margin-left: 150px;
}
    @media only screen and (max-width: 767px) {
        .top_concept_box {
            width: 100%;
        }
        .top_concept_box::before {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            width: 256px;
            height: 339px;
            opacity: .2;
        }
        .top_concept_box::after {
            display: none;
        }
        .top_concept_ttl {
            position: inherit;
            top: inherit;
            left: inherit;
            height: inherit;
            writing-mode: inherit;
            font-size: 35px;
            line-height: inherit;
            z-index: 1;
        }
        .top_concept_ttl span {
            display: block;
            margin-bottom: 30px;
        }
        .top_concept_ttl span:nth-child(2) {
            margin-top: inherit;
        }
        .top_concept_txt {
            margin-left: inherit;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .top_concept_box {
            margin: 0 auto 30px;
        }
        .top_concept_ttl {
            z-index: 1;
            margin-bottom: 15px;
        }
        .top_concept_box::before {
            position: absolute;
            top: -30px;
            left: -200px;
            opacity: .3;
        }
        .top_concept_box::after {
            position: absolute;
            top: -30px;
            right: -170px;
            opacity: .3;
        }
    }

/* ------------------------------------------------ TOP：事業内容 */
#business {
    position: relative;
    width: 100%;
    background-image: url(../images/common/bgi_stone.png);
}

/* タイトル */
#business .ttl_top_en_box {
    position: absolute;
    top: 45px;
    left: 0;
}
#business .ttl_top_en_box::before {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: '';
    display: block;
    width: 300px;
    height: 1px;
    background-color: #ccc;
}
#business .ttl_top_en {
    position: absolute;
    top: 50%;
    left: 315px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-family: "shippori-mincho", sans-serif;
}
        @media only screen and (max-width: 767px) {
            #business .ttl_top_en_box {
                position: inherit;
                top: inherit;
                left: inherit;
                padding-top: 60px;
            }
            #business .ttl_top_en_box::before {
                position: inherit;
                top: inherit;
                left: inherit;
                transform: inherit;
                -webkit-transform: inherit;
                -ms-transform: inherit;
                width: 85px;
            }
            #business .ttl_top_en {
                top: 60px;
                left: 100px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #business .ttl_top_en_box {
                position: inherit;
                top: inherit;
                left: inherit;
                padding-top: 60px;
            }
            #business .ttl_top_en_box::before {
                position: inherit;
                top: inherit;
                left: inherit;
                transform: inherit;
                -webkit-transform: inherit;
                -ms-transform: inherit;
                width: 85px;
            }
            #business .ttl_top_en {
                top: 60px;
                left: 100px;
            }
        }

#business .ttl_vertical-rl_box {
    position: absolute;
    top: -45px;
    left: 0;
    font-family: "shippori-mincho", sans-serif;
    writing-mode: vertical-rl;
}
#business .ttl_vertical-rl_01 {
    font-size: 33px;
    margin-left: 30px;
}
#business .ttl_vertical-rl_02 {
    font-size: 48px;
    margin-top: 145px;
}
    @media only screen and (max-width: 767px) {
        #business .ttl_vertical-rl_box {
            position: inherit;
            top: -15px;
            left: -30px;
            writing-mode: inherit;
            display: block;
            width: 100%;
            margin-bottom: 30px;
        }
        #business .ttl_vertical-rl_01 {
            display: inline-block;
            font-size: 30px;
            margin-left: 0;
            margin-bottom: 20px;
        }
        #business .ttl_vertical-rl_02 {
            display: inline-block;
            font-size: 40px;
            margin-top: 0;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        #business .ttl_vertical-rl_box {
            position: inherit;
            top: -15px;
            left: inherit;
            writing-mode: inherit;
            display: block;
            width: 100%;
            margin-bottom: 30px;
        }
        #business .ttl_vertical-rl_01 {
            display: inline-block;
            font-size: 30px;
            margin-left: 0;
            margin-bottom: 20px;
        }
        #business .ttl_vertical-rl_02 {
            display: inline-block;
            font-size: 40px;
            margin-top: 0;
        }
    }

.flexbox_top_business {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.f_item_top_business:nth-child(1) {
    position: relative;
    width: 10%;
}
.f_item_top_business:nth-child(2),
.f_item_top_business:nth-child(3),
.f_item_top_business:nth-child(4) {
    position: relative;
    width: 27%;
}
    @media only screen and (max-width: 767px) {
        .f_item_top_business {
            width: 100%;
            margin: 0 auto;
        }
        .f_item_top_business:nth-child(1) {
            width: 80%;
        }
        .f_item_top_business:nth-child(2),
        .f_item_top_business:nth-child(3) {
            margin-bottom: 30px;
        }
        .f_item_top_business:nth-child(2),
        .f_item_top_business:nth-child(3),
        .f_item_top_business:nth-child(4) {
            width: 100%;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .f_item_top_business {
            width: 100%;
            margin: 0 auto;
        }
        .f_item_top_business:nth-child(1) {
            width: 45%;
        }
        .f_item_top_business:nth-child(2) {
            margin-bottom: 30px;
        }
        .f_item_top_business:nth-child(2),
        .f_item_top_business:nth-child(3),
        .f_item_top_business:nth-child(4) {
            width: 45%;
        }
    }

.link_box {
    position: relative;
}
.link_box a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.top_business_name {
    position: relative;
    display: block;
    font-family: "shippori-mincho", sans-serif;
    font-size: 24px;
    text-align: center;
    margin: 0 auto;
    padding: 0 60px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    background-color: #fff;
    padding: 10px;
}
.top_business_copy {
    font-family: "shippori-mincho", sans-serif;
    font-size: 18px;
    text-align: center;
    margin-bottom: 15px;
}
.f_item_top_business img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    margin-bottom: 15px;
}
/*
.top_business_txt {
    border-bottom: 1px dotted #ccc;
    margin-bottom: 15px;
    padding-bottom: 15px;
}
*/
    @media only screen and (max-width: 767px) {
        .top_business_name {
            font-size: 20px;
        }
        .top_business_copy {
            font-size: 18px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .top_business_name {
            font-size: 20px;
        }
        .top_business_copy {
            font-size: 18px;
        }
    }

ul.business li {
    font-size: 14px;
    margin-bottom: 5px;
}
ul.business li a::before {
    position: relative;
    top: 0;
    content: "";
    display: inline-block;
    width: 6px;
    height: 12px;
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    background-position: center;
    background-size: contain;
    margin-right: 10px;
    transition: 1s;
}
ul.business li a:hover::before {
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    margin-right: 5px;
}

/* ------------------------------------------------ TOP：施工実績 */
#works {
    position: relative;
    width: 100%;
}

/* タイトル */
#works .ttl_top_en_box {
    position: absolute;
    top: -60px;
    right: 0;
    z-index: 1;
}
#works .ttl_top_en_box::before {
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: '';
    display: block;
    width: 400px;
    height: 1px;
    background-color: #ccc;
}
#works .ttl_top_en {
    position: absolute;
    top: 50%;
    right: 415px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-family: "shippori-mincho", sans-serif;
}
        @media only screen and (max-width: 767px) {
            #works .ttl_top_en_box {
                position: inherit;
                top: inherit;
                left: inherit;
            }
            #works .ttl_top_en_box::before {
                position: inherit;
                top: inherit;
                left: inherit;
                transform: inherit;
                -webkit-transform: inherit;
                -ms-transform: inherit;
                width: 85px;
            }
            #works .ttl_top_en {
                top: 0;
                left: 100px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #works .ttl_top_en_box {
                position: inherit;
                top: inherit;
                left: inherit;
            }
            #works .ttl_top_en_box::before {
                position: inherit;
                top: inherit;
                left: inherit;
                transform: inherit;
                -webkit-transform: inherit;
                -ms-transform: inherit;
                width: 85px;
            }
            #works .ttl_top_en {
                top: 0;
                left: 100px;
            }
        }

#works .ttl_vertical-rl_box {
    position: absolute;
    top: 0;
    right: 90px;
    width: 300px;
    font-family: "shippori-mincho", sans-serif;
}
#works .ttl_vertical-rl_01 {
    font-size: 30px;
    margin-bottom: 30px;
}
#works .ttl_vertical-rl_02 {
    font-size: 45px;
    margin: 0 0 60px 90px;
}
    @media only screen and (max-width: 767px) {
        #works .ttl_vertical-rl_box {
            position: inherit;
            top: 30px;
            left: 30px;
            writing-mode: inherit;
        }
        #works .ttl_vertical-rl_01 {
            display: inline-block;
            font-size: 30px;
            margin-bottom: 20px;
        }
        #works .ttl_vertical-rl_02 {
            display: inline-block;
            font-size: 40px;
            margin: 0 0 30px 0;
        }
        .ttl_vertical-rl_box p {
            margin-bottom: 15px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        #works .ttl_vertical-rl_box {
            position: inherit;
            top: 30px;
            left: 30px;
            writing-mode: inherit;
            width: 100%;
        }
        #works .ttl_vertical-rl_01 {
            font-size: 30px;
            margin-bottom: 20px;
        }
        #works .ttl_vertical-rl_02 {
            font-size: 40px;
            margin: 0 0 30px 0;
        }
        .ttl_vertical-rl_box p {
            margin-bottom: 15px;
        }
    }

#works .inner {
    position: relative;
    margin: 120px auto 0;
    padding: 0;
}
#works .inner_full {
    width: 70%;
    margin: 0 0 120px;
}
#works .ttl_stroke_box {
    text-align: inherit;
    margin: 0 auto;
}
        @media only screen and (max-width: 767px) {
            #works .inner {
                margin: 60px auto 0;
            }
            #works .inner_full {
                width: 100%;
                margin: 0 auto;
            }
            #works .ttl_stroke_box {
                text-align: center;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #works .inner {
                margin: 60px auto 0;
            }
            #works .inner_full {
                width: 100%;
                margin: 0 auto;
            }
            #works .ttl_stroke_box {
                text-align: center;
            }
        }

.slider_item {
    position: relative;
}
.cat_name {
    display: inline-block;
    font-size: 12px;
    position: absolute;
    top: 5px;
    left: 5px;
    border-radius: 15px;
    padding: 0 15px;
    z-index: 10;
}
.cat_name a {
    color: #fff;
}
.cat_name_newconstruction {
    background-color: #006fb4;
}
.cat_name_renovation {
    background-color: #f9ab03;
}

.link_box {
    position: relative;
}
.link_box a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.link_box:hover {
    transition: all 0.5s;
    opacity: 0.5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha(opacity=50)";
}

.slider_item img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.works_ttl_top {
    position: relative;
}
.works_ttl_top::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 10px;
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    margin-right: 5px;
}

.prev_icon,
.next_icon {
    width: 50px;
    cursor: pointer;
    z-index: 1;
}
.prev_icon {
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -50px;
}
.next_icon {
    position: absolute;
    top: 50%;
    left: 30px;
    margin-top: -50px;
}
    @media (max-width: 767px) {
        .slider_item img {
            height: 200px;
            margin-bottom: 10px;
        }
        .prev_icon,
        .next_icon {
            width: 40px;
        }
        .prev_icon {
            right: 5px;
        }
        .next_icon {
            left: 5px;
        }
    }
    @media (min-width: 768px) and (max-width: 980px) {
        .slider_item img {
            height: 200px;
            margin-bottom: 10px;
        }
        .prev_icon {
            right: 5px;
        }
        .next_icon {
            left: 5px;
        }
    }

/* ------------------------------------------------ TOP：不動産 */
#estate {
    position: relative;
    width: 100%;
    background-image: url(../images/common/bgi_stone.png);
}

/* タイトル */
#estate .ttl_top_en_box {
    position: absolute;
    top: 45px;
    left: 0;
}
#estate .ttl_top_en_box::before {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: '';
    display: block;
    width: 150px;
    height: 1px;
    background-color: #ccc;
}
#estate .ttl_top_en {
    position: absolute;
    top: 50%;
    left: 165px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-family: "shippori-mincho", sans-serif;
    width: 200px;
}
        @media only screen and (max-width: 767px) {
            #estate .ttl_top_en_box {
                position: inherit;
                top: inherit;
                left: inherit;
                padding-top: 60px;
            }
            #estate .ttl_top_en_box::before {
                position: inherit;
                top: inherit;
                left: inherit;
                transform: inherit;
                -webkit-transform: inherit;
                -ms-transform: inherit;
                width: 85px;
            }
            #estate .ttl_top_en {
                top: 60px;
                left: 100px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #estate .ttl_top_en_box {
                position: inherit;
                top: inherit;
                left: inherit;
                padding-top: 60px;
            }
            #estate .ttl_top_en_box::before {
                position: inherit;
                top: inherit;
                left: inherit;
                transform: inherit;
                -webkit-transform: inherit;
                -ms-transform: inherit;
                width: 85px;
            }
            #estate .ttl_top_en {
                top: 60px;
                left: 100px;
            }
        }

#estate .ttl_vertical-rl_box {
    position: absolute;
    top: -45px;
    left: 0;
    font-family: "shippori-mincho", sans-serif;
    writing-mode: vertical-rl;
}
#estate .ttl_vertical-rl_01 {
    font-size: 30px;
    margin-left: 30px;
}
#estate .ttl_vertical-rl_02 {
    font-size: 45px;/*45px*/
    margin-left: 30px;
    margin-top: 15px;
}
    @media only screen and (max-width: 767px) {
        #estate .ttl_vertical-rl_box {
            position: inherit;
            top: -20px;
            left: 0;
            writing-mode: inherit;
        }
        #estate .ttl_vertical-rl_01 {
            font-size: 30px;
            margin-left: 0;
            margin-bottom: 20px;
        }
        #estate .ttl_vertical-rl_02 {
            font-size: 40px;
            margin-top: 0;
            margin-bottom: 30px;
        }
        .ttl_vertical-rl_box p {
            margin-bottom: 15px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        #estate .ttl_vertical-rl_box {
            position: inherit;
            top: -20px;
            left: 0;
            writing-mode: inherit;
        }
        #estate .ttl_vertical-rl_01 {
            font-size: 30px;
            margin-left: 0;
            margin-bottom: 20px;
        }
        #estate .ttl_vertical-rl_02 {
            font-size: 40px;
            margin-top: 0;
            margin-bottom: 30px;
        }
        .ttl_vertical-rl_box p {
            margin-bottom: 15px;
        }
    }

.flexbox_top_estate {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-bottom: 60px;
}
.f_item_top_estate:nth-child(1) {
    position: relative;
    width: 10%;
}
.f_item_top_estate:nth-child(2),
.f_item_top_estate:nth-child(3) {
    position: relative;
    width: 40%;
}
.f_item_top_estate a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.f_item_top_estate:hover {
    transition: 0.7s;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
    @media only screen and (max-width: 767px) {
        .f_item_top_estate:nth-child(1) {
            width: 100%;
        }
        .f_item_top_estate:nth-child(2) {
            margin-bottom: 30px;
        }
        .f_item_top_estate:nth-child(2),
        .f_item_top_estate:nth-child(3) {
            width: 49%;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .f_item_top_estate:nth-child(1) {
            width: 100%;
        }
        .f_item_top_estate:nth-child(2),
        .f_item_top_estate:nth-child(3) {
            width: 48%;
        }
    }

.top_estate_img_box,
.top_estate_img {
    position: relative;
}
.sold_message {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    color: #fff;
    background-color: rgba(000, 000, 000, .5);
    padding: 15px 50px;
}
.f_item_top_estate img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    margin-bottom: 15px;
}
    @media only screen and (max-width: 767px) {
        .sold_message {
            font-size: 13px;
            padding: 10px 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .sold_message {
            font-size: 13px;
            padding: 10px 30px;
        }
    }

.cat_new {
    position: absolute;
    top: 6px;
    left: 0;
    font-size: 14px;
}
span.new_icon {
    color: #fff;
    background-color: #f00;
    margin-right: -7px;
    padding: 10px 20px;
}
.cat_new span.usedbuilding {
    color: #fff;
    background-color: #7c6c77;
    padding: 10px 30px;
}
.cat_new span.landforsale {
    color: #696660;
    background-color: #dad2bc;
    padding: 10px 30px;
}
.cat_new span.other {
    color: #fff;
    background-color: #e94f37;
    padding: 10px 30px;
}

.top_estate_day {
    text-align: right;
    font-size: 12px;
}
.top_estate_catch {
    font-size: 16px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
    padding-bottom: 10px;
}
.top_estate_txt {
    font-size: 12px;
    margin-bottom: 15px;
}
.estate_no_result_box {
    margin: 0 auto;
}
.estate_no_result {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-align: center;
    font-size: 14px;
}
    @media only screen and (max-width: 767px) {
        .f_item_top_estate img {
            height: 120px;
        }
        .top_estate_day {
            font-size: 10px;
        }

        .top_estate_catch {
            font-size: 15px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .f_item_top_estate img {
            height: 230px;
        }
        .top_estate_day {
            font-size: 10px;
        }

        .top_estate_catch {
            font-size: 15px;
        }
    }

.f_item_top_estate .more {
    text-align: right;
}
.f_item_top_estate .more::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 10px;
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    margin-right: 5px;
    transition: 1s;
}
.f_item_top_estate:hover .more::before {
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    margin-right: 3px;
}

/* ------------------------------------------------ TOP：SHOEI MEDIA */
#magazine {
    width: 100%;
    position: relative;
}
#magazine .inner {
    width: 1200px;
}
/*
#magazine::after {
    position: absolute;
    right: 0;
    bottom: 0;
    content: "";
    display: inline-block;
    width: 90%;
    height: 250px;
    background-color: #f2ede7;
    z-index: -1;
}
*/
        @media only screen and (max-width: 767px) {
            #magazine::after {
                width: 100%;
                height: 300px;
            }
            #magazine .inner {
                width: 85%;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #magazine::after {
                width: 100%;
                height: 300px;
            }
            #magazine .inner {
                width: 85%;
            }
        }

#magazine .block_ttl_box {
    text-align: center;
    margin-bottom: 60px;
}
#magazine .block_ttl_en {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 35px;
    margin-bottom: 15px;
}
#magazine .block_ttl_jp {
    font-family: "shippori-mincho", sans-serif;
    font-size: 16px;
}
        @media only screen and (max-width: 767px) {
            #magazine .block_ttl_box {
                margin-bottom: 30px;
            }
            #magazine .block_ttl_en {
                font-size: 35px;
                line-height: 110%;
                margin-bottom: 15px;
            }
            #magazine .block_ttl_jp {
                font-size: 14px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #magazine .block_ttl_box {
                margin-bottom: 30px;
            }
            #magazine .block_ttl_en {
                font-size: 35px;
                margin-bottom: 15px;
            }
            #magazine .block_ttl_jp {
                font-size: 14px;
            }
        }

.flexbox_magazine_top {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 60px;
}
.f_item_magazine_top {
    position: relative;
    width: 23%;
    margin: 0 1%;
}
#magazine_list .f_item_magazine_top {
    margin-bottom: 30px;
}
.f_item_magazine_top a {
    position: absolute;
    top: 0;
    height: 0;
    width: 100%;
    height: 100%;
}
.f_item_magazine_top:hover {
    transition: 0.7s;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
.f_item_magazine_top img {
    width: 100%;
    margin-bottom: 15px;
}
.magazine_imgbox {
    position: relative;
}
.magazine_imgbox img {
    width: 100%;
    height: 200px;
    margin-bottom: 15px;
    object-fit: cover;
    transition: 1s;
}
.magazine_datebox {
    position: absolute;
    top: 0;
    left: 0;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-align: center;
    background-color: #fff;
    padding: 10px;
    border-radius: 0 0 30px 0;
}
.post_year_list {
    text-align: center;
}
.post_day_list {
    text-align: center;
    font-size: 30px;
    margin-top: -15px;
}
.magazine_ttl {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    margin-bottom: 15px;
}
        @media only screen and (max-width: 767px) {
            .flexbox_magazine_top {
                margin-bottom: 15px;
            }
            .f_item_magazine_top {
                width: 48%;
                margin: 0 1% 15px;
            }
            .magazine_imgbox img {
                height: 120px;
            }
            .magazine_ttl {
                font-size: 14px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .flexbox_magazine_top {
                margin-bottom: 15px;
            }
            .f_item_magazine_top {
                margin: 0 1% 15px;
            }
            .magazine_imgbox img {
                height: 135px;
            }
            .magazine_ttl {
                font-size: 14px;
            }
        }

.f_item_magazine_top .more {
    text-align: right;
}
.f_item_magazine_top .more::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 10px;
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    margin-right: 5px;
    transition: 1s;
}
.f_item_magazine_top:hover .more::before {
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    margin-right: 3px;
}

/* ------------------------------------------------ TOP：イベント */
#insta {
    width: 100%;
    background-image: url(../images/common/bgi_stone.png);
}
#insta .inner {
    position: relative;
    margin: 0 auto;
    padding: 120px 0 0;
}
#insta .inner_full {
    width: 100%;
    margin: 0;
    padding: 0 0 120px;
}
        @media only screen and (max-width: 767px) {
            #insta .inner {
                padding: 60px 0 0;
            }
            #insta .inner_full {
                padding: 0 10px 60px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #insta .inner {
                padding: 60px 0 0;
            }
            #insta .inner_full {
                padding: 0 10px 60px;
            }
        }

#insta .block_ttl_box {
    text-align: center;
    margin-bottom: 60px;
}
#insta .block_ttl_en {
    position: relative;
    display: inline-block;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 35px;
    margin-bottom: 15px;
}
.ttl_insta::before {
    position: absolute;
    top: 50%;
    left: -40px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: "";
    display: inline-block;
    width: 28px;
    height: 28px;
    background-image: url(../images/common/icon_ttl_insta.svg);
}
#insta .block_ttl_jp {
    font-family: "shippori-mincho", sans-serif;
    font-size: 14px;
}
        @media only screen and (max-width: 767px) {
            #insta .block_ttl_box {
                margin-bottom: 30px;
            }
            #insta .block_ttl_en {
                font-size: 35px;
                margin-bottom: 15px;
            }
            #insta .block_ttl_jp {
                font-size: 14px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #insta .block_ttl_box {
                margin-bottom: 30px;
            }
            #insta .block_ttl_en {
                font-size: 35px;
                margin-bottom: 15px;
            }
            #insta .block_ttl_jp {
                font-size: 14px;
            }
        }

.flexbox_insta_top {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-bottom: 60px;
}
.f_item_insta_top {
    width: 12.5%;
    margin: 0;
}
        @media only screen and (max-width: 767px) {
            .flexbox_insta_top {
                margin-bottom: 30px;
            }
            .f_item_insta_top {
                width: 33.3333%;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .flexbox_insta_top {
                margin-bottom: 30px;
            }
        }

.icon_insta span {
    position: relative;
}
.icon_insta span::before {
    position: absolute;
    top: 50%;
    left: -30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../images/common/icon_ttl_insta.svg);
}

/* ------------------------------------------------ TOP：YouTube */
#youtube .block_ttl_box {
    text-align: center;
    margin-bottom: 60px;
}
#youtube .block_ttl_en {
    position: relative;
    display: inline-block;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 35px;
    margin-bottom: 15px;
}
.ttl_youtube::before {
    position: absolute;
    top: 50%;
    left: -40px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: "";
    display: inline-block;
    width: 28px;
    height: 28px;
    background-image: url(../images/common/icon_ttl_youtube.svg);
}
#youtube .block_ttl_jp {
    font-family: "shippori-mincho", sans-serif;
    font-size: 14px;
}
        @media only screen and (max-width: 767px) {
            #youtube .block_ttl_box {
                margin-bottom: 30px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #youtube .block_ttl_box {
                margin-bottom: 30px;
            }
        }

.flexbox_youtube_top {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 60px;
}
.f_item_youtube_top {
    width: 48%;
    margin: 0 1%;
}

.youtube_box {
    position: relative;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
}
.youtube_box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
        @media only screen and (max-width: 767px) {
            .flexbox_youtube_top {
                margin-bottom: 30px;
            }
            .youtube_box {
                margin-bottom: 15px;
                padding-bottom: 56.25%;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .flexbox_youtube_top {
                margin-bottom: 30px;
            }
        }

.icon_youtube span {
    position: relative;
}
.icon_youtube span::before {
    position: absolute;
    top: 50%;
    left: -30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../images/common/icon_ttl_youtube.svg);
}

/* ------------------------------------------------ TOP：イベント */
#event {
    position: relative;
    width: 100%;
    color: #fff;
    background-color: #696660;
}

#event .ttl_stroke {
    -webkit-text-stroke: 1px #fff;
    text-stroke: 1px #fff;
}

.flexbox_event {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-bottom: 60px;
}
.f_item_event:nth-child(1) {
    position: relative;
    width: 5%;
}
.f_item_event:nth-child(2),
.f_item_event:nth-child(3),
.f_item_event:nth-child(4) {
    position: relative;
    width: 42%;
}
.f_item_event a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.f_item_event:hover {
    transition: 0.7s;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
    @media only screen and (max-width: 767px) {
        .flexbox_event {
            margin-bottom: 60px;
        }
        .f_item_event:nth-child(1) {
            width: 100%;
        }
        .f_item_event:nth-child(2),
        .f_item_event:nth-child(3),
        .f_item_event:nth-child(4) {
            width: 49%;
        }
        .f_item_event:nth-child(2),
        .f_item_event:nth-child(3) {
            margin-bottom: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .flexbox_event {
            margin-bottom: 60px;
        }
        .f_item_event:nth-child(1) {
            width: 100%;
        }
        .f_item_event:nth-child(2) {
            margin-bottom: 30px;
        }
        .f_item_event:nth-child(2),
        .f_item_event:nth-child(3),
        .f_item_event:nth-child(4) {
            width: 49%;
        }
    }

.f_item_event img {
    width: 100%;
    height: 300px;
    margin-bottom: 15px;
    object-fit: cover;
    transition: 1s;
}
/*
.f_item_event:hover img {
    border-radius: 0;
}
*/
.event_name {
    font-family: "shippori-mincho", sans-serif;
    font-size: 16px;
    border-bottom: 1px dotted #fff;
    margin-bottom: 10px;
    padding-bottom: 10px;
}
.event_area {
    position: relative;
    font-size: 12px;
    padding-left: 18px;
}
.event_area::before {
    position: absolute;
    top: 5px;
    left: 0;
    content: "";
    display: inline-block;
    width: 11px;
    height: 11px;
    background-image: url(../images/common/icon_map_wht.svg);
    margin-right: 5px;
}
.event_day {
    position: relative;
    font-size: 12px;
    padding-left: 18px;
}
.event_day::before {
    position: absolute;
    top: 5px;
    left: 0;
    content: "";
    display: inline-block;
    width: 11px;
    height: 11px;
    background-image: url(../images/common/icon_calendar_wht.svg);
    margin-right: 5px;
}
    @media only screen and (max-width: 767px) {
        .f_item_event img {
            height: 120px;
        }
        .event_name {
            font-size: 15px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .f_item_event img {
            height: 230px;
        }
        .event_name {
            font-size: 15px;
        }
    }

.f_item_event .more {
    text-align: right;
    margin-top: 15px;
}
.f_item_event .more::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 10px;
    background-image: url(../images/common/icon_navi_arrow_wht.svg);
    margin-right: 5px;
    transition: 1s;
}
.f_item_event:hover .more::before {
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    margin-right: 3px;
}

/* ボタン */
#event .btn {
    color: #fff;
    border: 1px solid #fff;
}
#event .btn:hover {
    color: #666;
    background-color: #fff;
    border: 1px solid #fff;
    transition: 1S;
}
#event .btn p::after {
    background: url(../images/common/icon_circle_arrow_wht.svg) no-repeat;
}
#event .btn:hover p::after {
    right: 8px;
    background: url(../images/common/icon_circle_arrow_blk.svg) no-repeat;
}

/* タイトル */
#event .ttl_top_en_box {
    position: absolute;
    top: 45px;
    left: 0;
}
#event .ttl_top_en_box::before {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: '';
    display: block;
    width: 150px;
    height: 1px;
    background-color: #ccc;
}
#event .ttl_top_en {
    position: absolute;
    top: 50%;
    left: 165px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-family: "shippori-mincho", sans-serif;
    width: 200px;
}
        @media only screen and (max-width: 767px) {
            #event .ttl_top_en_box {
                position: inherit;
                top: inherit;
                left: inherit;
                padding-top: 60px;
            }
            #event .ttl_top_en_box::before {
                position: inherit;
                top: inherit;
                left: inherit;
                transform: inherit;
                -webkit-transform: inherit;
                -ms-transform: inherit;
                width: 85px;
            }
            #event .ttl_top_en {
                top: 60px;
                left: 100px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #event .ttl_top_en_box {
                position: inherit;
                top: inherit;
                left: inherit;
                padding-top: 60px;
            }
            #event .ttl_top_en_box::before {
                position: inherit;
                top: inherit;
                left: inherit;
                transform: inherit;
                -webkit-transform: inherit;
                -ms-transform: inherit;
                width: 85px;
            }
            #event .ttl_top_en {
                top: 60px;
                left: 100px;
            }
        }

#event .ttl_vertical-rl_box {
    position: absolute;
    top: -40px;
    left: 0;
    font-family: "shippori-mincho", sans-serif;
    writing-mode: vertical-rl;
}
#event .ttl_vertical-rl_02 {
    font-size: 35px;
}
    @media only screen and (max-width: 767px) {
        #event .ttl_vertical-rl_box {
            position: inherit;
            top: -20px;
            left: 0;
            writing-mode: inherit;
        }
        #event .ttl_vertical-rl_01 {
            font-size: 30px;
            margin-left: 0;
            margin-bottom: 20px;
        }
        #event .ttl_vertical-rl_02 {
            font-size: 40px;
            margin-top: 0;
            margin-bottom: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        #event .ttl_vertical-rl_box {
            position: inherit;
            top: -20px;
            left: 0;
            writing-mode: inherit;
        }
        #event .ttl_vertical-rl_01 {
            font-size: 30px;
            margin-left: 0;
            margin-bottom: 20px;
        }
        #event .ttl_vertical-rl_02 {
            font-size: 40px;
            margin-top: 0;
            margin-bottom: 30px;
        }
    }

/* ------------------------------------------------ TOP：お知らせ */
#info {
    width: 100%;
    background-image: url(../images/common/bgi_stone.png);
}
#info .inner {
    position: relative;
    width: 900px;
    margin: 0 auto;
    padding: 120px 0;
}
    @media only screen and (max-width: 767px) {
        #info .inner {
            width: 85%;
            padding: 60px 0;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        #info .inner {
            width: 85%;
            padding: 60px 0;
        }
    }

#info .block_ttl_box {
    text-align: center;
    margin-bottom: 60px;
}
#info .block_ttl_en {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 35px;
    margin-bottom: 15px;
}
#info .block_ttl_jp {
    font-family: "shippori-mincho", sans-serif;
    font-size: 14px;
}

.info_box {
    background-color: #fff;
    margin-bottom: 60px;
    padding: 60px;
}
    @media only screen and (max-width: 767px) {
        .info_box {
            margin-bottom: 30px;
            margin-top: 60px;
            padding: 30px 15px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .info_box {
            margin-bottom: 30px;
            margin-top: 60px;
            padding: 30px 15px;
        }
    }

#info dl {
    border-top: solid 1px #ccc;
}
.info_item {
    position: relative;
    display: flex;
    border-bottom: solid 1px #ccc;
    background-color: #fff;
    padding: 20px;
    transition: 1s;
}
.info_item a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.info_item:hover {
     background-color: rgba(242,237,231,.7);
}
.info_item::after {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    z-index: 1;
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url(../images/common/icon_circle_arrow_blk.svg) no-repeat;
    background-size: contain;
    transition: 1s;
}
.info_item:hover::after {
    right: 0;
    background: url(../images/common/icon_circle_arrow_blk.svg) no-repeat;
}
.info_item dt {
    width: 20%;
    font-size: 12px;
    color: #999;
}
.info_item dd {
    width: 80%;
    margin: 0;
}
    @media only screen and (max-width: 767px) {
        .info_item {
            display: block;
            padding: 20px 40px 20px 0;
        }
        .info_item::after {
            right: 0;
        }
        .info_item dt {
            width: 100%;
        }
        .info_item dd {
            width: 100%;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .info_item {
            padding: 20px 40px 20px 0;
        }
    }

/* ------------------------------------------------ 新築 */
.flexbox_new_construction85 {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    width: 85%;
    margin: 0 auto;
}
.f_item_new_construction85 {
    width: 48%;
}
    @media only screen and (max-width: 767px) {
        .flexbox_new_construction85 {
            width: 100%;
            margin: 0 auto;
        }
        .f_item_new_construction85 {
            width: 100%;
        }
        .f_item_new_construction85:nth-child(1) {
            margin-bottom: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .flexbox_new_construction85 {
            width: 100%;
            margin: 0 auto;
        }
    }

.btn_content .f_item_new_construction85 {
    position: relative;
    background-color: #fff;
    padding: 30px;
    margin: 90px 0;
}
.btn_content .f_item_new_construction85 a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}
    @media only screen and (max-width: 767px) {
        .btn_content .f_item_new_construction85 {
            padding: 15px;
            margin: 30px 0 0;
        }
        .btn_content .f_item_new_construction85:nth-child(2) {
            margin-bottom: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .btn_content .f_item_new_construction85 {
            padding: 15px;
            margin: 30px 0;
        }
    }

.btn_content .btn_new {
    position: relative;
    display: block;
    color: #333;
    background: #fff;
    border: 1px solid transparent;
}
.btn_content .btn_new span {
    position: relative;
    display: block;
    font-size: 20px;
    transition: 0.3s;
    z-index: 1;
}
.btn_content .btn_new p {
    position: relative;
    text-align: left;
    font-size: 14px;
    z-index: 1;
}
.btn_content .btn_new:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    color: #696660;
    box-sizing: border-box;
    transform: translate(-3px, -3px);
    transition: 0.3s;
}
.btn_content .btn_new:hover span {
    transform: translate(0, 0);
}
.btn_content .btn_new:hover:after {
    transform: translate(0, 0);
}
    @media only screen and (max-width: 767px) {
        .btn_content .btn_new span {
            font-size: 18px;
        }
        .btn_content .btn_new p {
            font-size: 12px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .btn_content .btn_new span {
            font-size: 18px;
        }
        .btn_content .btn_new p {
            font-size: 12px;
        }
    }

.btn_content .f_item_new_construction85 .pdf::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../images/common/icon_pdf.svg);
    margin-left: 5px;
    transform: translateY(5px);
}
    @media only screen and (max-width: 767px) {

    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {

    }

.block_ttl_jp_box {
    display: block;
    text-align: center;
}
.block_ttl_jp_box .block_ttl_jp {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
}
.block_ttl_jp_box .block_ttl_jp {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.block_ttl_jp_box .block_ttl_jp::before,
.block_ttl_jp_box .block_ttl_jp::after {
    content: "";
    width: 35px;
    height: 1px;
    background-color: #333;
}
.block_ttl_jp_box .block_ttl_jp::before {
    margin-right: .5em;
}
.block_ttl_jp_box .block_ttl_jp::after {
    margin-left: .5em;
}
.block_ttl_jp_under {
    margin-top: 15px;
}


/* ------------------------------------------------ 一覧：施工実績 */
#flow .inner {
    position: relative;
    margin: 120px auto 0;
    padding: 0;
}
        @media only screen and (max-width: 767px) {
            #flow .inner {
                margin: 60px auto 0;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #flow .inner {
                margin: 60px auto 0;
            }
        }

/* ------------------------------------------------ 一覧：施工実績 */
.flexbox_works {
    display: flex;
    flex-flow: row wrap;
}
.f_item_works {
    position: relative;
    width: 31.3333%;
    margin: 0 1% 30px;
    text-align: center;
}
.f_item_works a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.f_item_works:hover {
    transition: 0.5s;
    opacity: 0.5;
    filter: alpha(opacity=20);
    -ms-filter: "alpha(opacity=20)";
}
.f_item_works img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    margin-bottom: 15px;
}
.works_ttl_en {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
    padding-bottom: 10px;
}
.works_ttl_jp {
    margin-bottom: 15px;
}
    @media only screen and (max-width: 767px) {
        .f_item_works {
            width: 48%;
            margin: 0 1% 15px;
        }
        .f_item_works img {
            height: 220px;
        }
        .works_ttl_en {
            font-size: 15px;
        }
        .works_ttl_jp {
            margin-bottom: 12px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .f_item_works {
            margin: 0 1% 15px;
        }
        .f_item_works img {
            height: 280px;
        }
        .works_ttl_en {
            font-size: 15px;
        }
        .works_ttl_jp {
            margin-bottom: 12px;
        }
    }

/* ボタン */
.f_item_works .more {
    text-align: right;
}
.f_item_works .more::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 10px;
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    margin-right: 5px;
    transition: 1s;
}
.f_item_works:hover .more::before {
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    margin-right: 3px;
}

/* ------------------------------------------------ 個別：施工実績 */
#works_single .inner {
    padding: 120px 0 0;
}
.works_wrap {
    width: 700px;
    margin: 0 auto 120px;
}
#works_single_full {
    position: relative;
    width: 100%;
    background-image: url(../images/common/bgi_stone.png);
}
    @media only screen and (max-width: 767px) {
        #works_single .inner {
            padding: 60px 0 0;
        }
        .works_wrap {
            width: 85%;
            margin: 0 auto 60px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        #works_single .inner {
            padding: 60px 0 0;
        }
        .works_wrap {
            width: 85%;
            margin: 0 auto 60px;
        }
    }

.works_heading_box {
    position: relative;
    text-align: center;
    margin-bottom: 60px;
}
.works_heading_jp {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    margin-bottom: 30px;
}
.works_heading_jp::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    content: "";
    display: block;
    width: 50px;
    height: 3px;
    border-radius: 3px;
    background-color: #696660;
}
.works_heading_en {
    text-align: center;
}
.works_main_img {
    margin-bottom: 60px;
}
.works_main_img img {
    width: 100%;
}
    @media only screen and (max-width: 767px) {
        .works_heading_box {
            margin-bottom: 30px;
        }
        .works_heading_jp {
            font-size: 18px;
            margin-bottom: 15px;
        }
        .works_main_img {
            margin-bottom: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .works_heading_box {
            margin-bottom: 30px;
        }
        .works_heading_jp {
            font-size: 18px;
            margin-bottom: 15px;
        }
        .works_main_img {
            margin-bottom: 30px;
        }
    }

table.works {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
table.works th {
    width: 20%;
    padding: 15px;
    background-color: #eee;
}
table.works td {
    width: 30%;
    padding: 15px;
    border-bottom: 1px solid #eee;
}
    @media only screen and (max-width: 767px) {
        table.works th {
            display: block;
            text-align: left;
            width: 100%;
            padding: 5px 10px;
        }
        table.works td {
            display: block;
            width: 100%;
            padding: 10px;
            border-bottom: none;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
    }

.flexbox_55_right {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.flexbox_55_left {
    display: flex;
    flex-flow: row-reverse wrap;
    justify-content: space-between;
}
.f_item_55_img {
    width: 50%;
}
.f_item_55_img img {
    width: 100%;
}
.f_item_55_txt {
    width: 50%;
    padding: 60px;
}
.works_ttl_single {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
    color: #696660;
    margin-bottom: 15px;
}
.works_txt_single {
    color: #696660;
}
    @media only screen and (max-width: 767px) {
        .flexbox_55_left {
            flex-flow: row wrap;
        }
        .f_item_55_img {
            width: 100%;
        }
        .f_item_55_txt {
            width: 100%;
            padding: 30px 0;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .f_item_55_txt {
            padding: 0 30px;
        }
    }

.flexbox_detail {
    display: flex;
    flex-flow: row wrap;
}
.f_item_detail {
    display: block;
    width: 31.3333%;
    margin: 0 1% 30px;
}
    @media only screen and (max-width: 767px) {
        .f_item_detail {
            width: 48%;
            margin: 0 1% 15px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .f_item_detail {
            margin: 0 1% 15px;
        }
    }

.f_item_detail a {
    display: block;
    width: 100%;
    height: 100%;
    border-bottom: none !important;
}
.f_item_detail img {
    display: block;
    width: 100% !important;
    height: 250px !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center;
}


/* ------------------------------------------------ リノベーション */
.main_ttl {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-size: 26px;
    margin-bottom: 15px;
}
    @media only screen and (max-width: 767px) {
        .main_ttl {
            font-size: 22px;
            margin-bottom: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .main_ttl {
            font-size: 22px;
        }
    }

/* ナンバリングタイトル */
.section {
    position: relative;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    box-sizing: border-box;
    margin-bottom: 100px;
}
.number {
    position: absolute;
    top: 50px;
    left: 0;
    font-size: 100px;
    color: #696660;
}
.diagonal {
    position: absolute;
    top: 0;
    left: 150px;
    width: 1px;
    height: 230px;
    background: #696660;
    transform: rotate(20deg);
    transform-origin: top left;
    z-index: 5;
}
.content {
    padding: 100px 0 0 120px;
}
.title {
    margin: 20px 0 24px 0;
}
.title span {
    display: block;
    font-size: 28px;
    font-weight: bold;
    color: #696660;
}
    @media only screen and (max-width: 767px) {
        .section {
            margin-bottom: 30px;
        }
        .number {
            top: 30px;
            font-size: 80px;
        }
        .diagonal {
            left: 120px;
            height: 120px;
        }
        .content {
            padding: 50px 0 0 110px;
        }
        .title {
            margin: 20px 0 24px 0;
        }
        .title span {
            font-size: 24px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .number {
            top: 30px;
            font-size: 80px;
        }
        .diagonal {
            left: 120px;
            height: 120px;
        }
        .content {
            padding: 50px 0 0 110px;
        }
        .title {
            margin: 20px 0 24px 0;
        }
        .title span {
            font-size: 24px;
        }
    }

.flexbox_main_content_reverse {
    display: flex;
    flex-flow: row-reverse wrap;
    justify-content: space-between;
}
.f_item_main_content {
    width: 55%;
}
.f_item_main_content .txt_link p {
    display: inline-block;
    border-bottom: 2px dotted #f9ab03;
}
.f_item_main_img {
    width: 40%;
}
.f_item_main_img img {
    width: 100%;
}
.f_item_main_txt01 {
    width: 100%;
    margin-bottom: 60px;
}
.f_item_main_img01 {
    width: 48%;
}
.f_item_main_img02 {
    width: 48%;
}
    @media only screen and (max-width: 767px) {
        .flexbox_main_content_reverse {
            flex-flow: row wrap;
        }
        .f_item_main_content {
            width: 100%;
            margin-bottom: 15px;
        }
        .f_item_main_img {
            width: 100%;
            margin-bottom: 15px;
        }
        .f_item_main_txt01 {
            margin-bottom: 30px;
        }
        .f_item_main_img01 {
            width: 100%;
            margin-bottom: 15px;
        }
        .f_item_main_img02 {
            width: 100%;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
    }

.flexbox_main_content {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.f_item_main_txt {
    width: 45%;
}
.sub_ttl {
    position: relative;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-size: 23px;
    border-bottom: 1px solid #696660;
    margin-bottom: 10px;
    padding: 0 0 10px 35px;
}
.sub_ttl::before {
    position: absolute;
    top: 40%;
    left: 0%;
    transform:  translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(../images/common/icon_pen.svg);
    background-repeat: no-repeat;
}
    @media only screen and (max-width: 767px) {
        .flexbox_main_content {
            flex-flow: row wrap;
        }
        .f_item_main_txt {
            width: 100%;
            margin-bottom: 15px;
        }
        .sub_ttl {
            font-size:20px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .sub_ttl {
            font-size: 20px;
        }
    }

.contact_border_box {
    width: 85%;
    border: 1px solid #ccc;
    border-radius: 20px;
    background-color: #f5f5f5;
    margin: 0 auto;
    padding: 30px;
}
.contact_border_ttl {
    font-family: "warbler-display", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-align: center;
    font-size: 22px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 15px;
    padding-bottom: 15px;
}
.contact_border_txt {
    text-align: center;
    font-size: 14px;
    margin-bottom: 15px;
}
.asterisk_txt {
    position: relative;
    font-size: 12px;
    padding-left: 15px;
}
.asterisk_txt::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "※";
    display: inline-block;
}
    @media only screen and (max-width: 767px) {
        .contact_border_box {
            width: 100%;
            border-radius: 10px;
            padding: 15px;
        }
        .contact_border_txt {
            text-align: left;
        }
        .contact_border_ttl {
            font-size: 19px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .contact_border_box {
            width: 100%;
            border-radius: 10px;
            padding: 15px;
        }
        .contact_border_ttl {
            font-size: 19px;
        }
    }

/* 事例スライド */
.flexbox_case_slide {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-bottom: 60px;
}
.f_item_case_slide {
    width: 32.3333%;
}
    @media only screen and (max-width: 767px) {
        .flexbox_case_slide {
            margin-bottom: 30px;
        }
        .f_item_case_slide {
            width: 100%;
        }
        .f_item_case_slide:nth-child(1),
        .f_item_case_slide:nth-child(2) {
            margin-bottom: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .flexbox_case_slide {
            margin-bottom: 30px;
        }
    }

.slideshow input[type="radio"] {
    display: none;
}
.slideshow {
    margin-bottom: 30px;
}
.slides {
    position: relative;
    width: 100%;
    height: 250px;
    overflow: hidden;
}
.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s ease;
}
.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.slideshow .slides .slide:nth-of-type(1) {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}
.slideshow input:nth-of-type(2):checked ~ .slides .slide:nth-of-type(1),
.slideshow input:nth-of-type(3):checked ~ .slides .slide:nth-of-type(1),
.slideshow input:nth-of-type(4):checked ~ .slides .slide:nth-of-type(1) {
    opacity: 0;
    visibility: hidden;
    z-index: 1;
}
.slideshow input:nth-of-type(2):checked ~ .slides .slide:nth-of-type(2),
.slideshow input:nth-of-type(3):checked ~ .slides .slide:nth-of-type(3),
.slideshow input:nth-of-type(4):checked ~ .slides .slide:nth-of-type(4) {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}
    @media only screen and (max-width: 767px) {
        .slideshow {
            margin-bottom: 15px;
        }
        .slides {
            height: 224px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .slideshow {
            margin-bottom: 15px;
        }
        .slides {
            height: 150px;
        }
    }

/* ===== 左右の矢印 ===== */
.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    cursor: pointer;
    user-select: none;
    z-index: 3;
    transition: background .2s ease;
}
.arrow:hover {
    background: rgba(0, 0, 0, 0.7);
}
.arrow.prev {
    left: 12px;
}
.arrow.next {
    right: 12px;
}
/* ===== サムネイル ===== */
.thumbnails {
    display: flex;
    gap: 10px;
    margin-top: 5px;
}
.thumbnails label {
    flex: 1;
    display: block;
    height: 57px;
    overflow: hidden;
    cursor: pointer;
    /*border: 3px solid transparent;*/
    opacity: 0.6;
    transition: opacity .2s ease, border-color .2s ease;
}
.thumbnails label:hover {
    opacity: 0.9;
}
.thumbnails img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* 選択中のサムネイルをハイライト（これも位置ベースなので使い回しOK） */
.slideshow input:nth-of-type(1):checked ~ .thumbnails label:nth-of-type(1),
.slideshow input:nth-of-type(2):checked ~ .thumbnails label:nth-of-type(2),
.slideshow input:nth-of-type(3):checked ~ .thumbnails label:nth-of-type(3),
.slideshow input:nth-of-type(4):checked ~ .thumbnails label:nth-of-type(4) {
    opacity: 1;
}
    @media only screen and (max-width: 767px) {
        .thumbnails label {
            height: 51px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .thumbnails label {
            height: 40px;
        }
    }

.case_box {
    margin-bottom: 30px;
}
.case_box .sub_ttl::before {
    background-image: url(../images/common/icon_camera.svg);
    background-repeat: no-repeat;
}
    @media only screen and (max-width: 767px) {
        .case_box {
            margin-bottom: 15px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .case_box {
            margin-bottom: 15px;
        }
    }

.voice_ttl {
    position: relative;
    font-size: 17px;
    margin-bottom: 15px;
    padding-left: 30px;
}
.voice_ttl::before {
    position: absolute;
    top: 40%;
    left: 0%;
    transform:  translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(../images/common/icon_voice.svg);
    background-repeat: no-repeat;
}
.flexbox_voice {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.f_item_voice_img {
    width: 23%;
}
.f_item_voice_img img {
    margin-bottom: 5px;
}
.voice_name {
    text-align: center;
    font-size: 10px;
}
.f_item_voice_txt {
    width: 77%;
}
.f_item_voice_txt p {
    position: relative;
    display: inline-block;
    margin-left: 20px;
    padding: 7px;
    border: 1px solid #cccccc;
    border-radius: 2px;
    background-color: #f5f5f5;
    text-align: left;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #333333;
}
.f_item_voice_txt p::before {
    content: "";
    position: absolute;
    top: 30%;
    left: 0;
    border-style: solid;
    border-width: 7.5px 20px 7.5px 0;
    border-color: transparent #cccccc transparent transparent;
    translate: -100% -50%;
    transform: skew(0, 15deg);
    transform-origin: right;
}
.f_item_voice_txt p::after {
    content: "";
    position: absolute;
    top: 30%;
    left: 0;
    border-style: solid;
    border-width: 5.4px 14.3px 5.4px 0;
    border-color: transparent #f5f5f5 transparent transparent;
    translate: -100% -50%;
    transform: skew(0, 15deg);
    transform-origin: right;
}
    @media only screen and (max-width: 767px) {
        .voice_ttl {
            font-size: 15px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .voice_ttl {
            font-size: 15px;
        }
    }

.flexbox_estimate {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.f_item_estimate_img {
    width: 32.3333%;
}
.f_item_estimate_img img {
    width: 100%;
}
h5.sub_ttl {
    position: relative;
    padding: 0 0 10px 30px;
}
h5.sub_ttl::before {
    top: 35%;
    width: 20px;
    height: 20px;
    background-image: url(../images/common/icon_pen.svg);
    background-repeat: no-repeat;
}
h5.sub_ttl::before {
    width: 20px;
    height: 20px;
    background-image: url(../images/common/icon_estimate.svg);
    background-repeat: no-repeat;
}
h5.sub_ttl span.estimate {
    position: absolute;
    right: 0;
    font-size: 16px;
    color: #f2ede7;
    background-color: #696660;
    padding: 5px 15px;
}
    @media only screen and (max-width: 767px) {
        .f_item_estimate_img {
            width: 49%;
            margin-bottom: 15px;
        }
        .f_item_estimate_txt {
            width: 100%;
        }
        h5.sub_ttl span.estimate {
            position: inherit;
            display: block;
            right: inherit;
            font-size: 14px;
            color: inherit;
            background-color: inherit;
            padding: 0;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
    }

/* ------------------------------------------------ リノベーション > 施工の流れ・アフターサポート */
.flexbox_flow_revers {
    display: flex;
    flex-flow: row-reverse wrap;
    justify-content: space-between;
}
.f_item_flow_revers_img {
    width: 30%;
}
.f_item_flow_revers_img img {
    width: 100%;
}
.f_item_flow_revers_txt {
    width: 65%;
    font-size: 16px;
}
.f_item_flow_revers_txt .main_ttl {
    border-bottom: 1px solid #ccc;
    margin-bottom: 15px;
    padding-bottom: 15px;
}
    @media only screen and (max-width: 767px) {
        .flexbox_flow_revers {
            flex-flow: row wrap;
            margin-bottom: 90px;
        }
        .f_item_flow_revers_img {
            width: 100%;
            margin-bottom: 15px;
        }
        .f_item_flow_revers_txt {
            width: 100%;
            font-size: 14px;
        }
        .f_item_flow_revers_txt .main_ttl {
            border-bottom: 1px solid #ccc;
            margin-bottom: 15px;
            padding-bottom: 15px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {

    }

.flexbox_flow_after {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    width: 80%;
    margin: 0 auto 60px;
}
.flexbox_flow_after_revers {
    display: flex;
    flex-flow: row-reverse wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 60px;
}
.f_item_flow_after_img {
    width: 10%;
}
.f_item_flow_after_img img {
    width: 100%;
}
.f_item_flow_after_txt {
    width: 85%;
}
.flow_number {
    position: relative;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    display: inline-block;
    font-size: 55px;
    line-height: 1.5;
    box-sizing: border-box;
    margin-inline: auto;
    margin-bottom: 15px;
    width: fit-content;
    z-index: -1;
}
.flow_number::after {
    content: '';
    position: absolute;
    bottom: -20px;
    right: -30px;
    width: 40px;
    height: 80px;
    border-left: 1px solid #333;
    rotate: 45deg;
    background-color: #fff;
}
.flow_after_ttl {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
}
.f_item_flow_after_txt {
    font-size: 16px;
}
.f_item_flow_after_txt .asterisk_txt {
    font-size: 14px;
}
    @media only screen and (max-width: 767px) {
        .flexbox_flow_after {
            width: 100%;
            align-items: inherit;
            margin: 0 auto 30px;
        }
        .flexbox_flow_after_revers {
            flex-flow: row wrap;
            align-items: inherit;
            margin-bottom: 30px;
        }
        .f_item_flow_after_img {
            width: 15%;
        }
        .f_item_flow_after_img img {
            width: 100%;
            margin-top: 20px;
        }
        .f_item_flow_after_txt {
            width: 80%;
        }
        .flow_number {
            margin-bottom: 10px;
        }
        .flow_after_ttl {
            font-size: 20px;
        }
        .f_item_flow_after_txt {
            font-size: 14px;
        }
        .f_item_flow_after_txt .asterisk_txt {
            font-size: 12px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .flexbox_flow_after {
            width: 100%;
            align-items: inherit;
            margin: 0 auto 30px;
        }
        .flexbox_flow_after_revers {
            flex-flow: row wrap;
            align-items: inherit;
            margin-bottom: 30px;
        }
        .f_item_flow_after_img {
            width: 15%;
        }
        .f_item_flow_after_img img {
            width: 100%;
            margin-top: 20px;
        }
        .f_item_flow_after_txt {
            width: 80%;
        }
        .flow_number {
            margin-bottom: 10px;
        }
        .flow_after_ttl {
            font-size: 20px;
        }
        .f_item_flow_after_txt {
            font-size: 14px;
        }
        .f_item_flow_after_txt .asterisk_txt {
            font-size: 12px;
        }
    }

/* ------------------------------------------------ 不動産 */
.flexbox_main_estate_reverse {
    position: relative;
    display: flex;
    flex-flow: row-reverse wrap;
    justify-content: space-between;
}
.flexbox_main_estate {
    position: relative;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.f_item_main_content_estate {
    position: relative;
    width: 60%;
}
.flexbox_main_estate_reverse a,
.flexbox_main_estate a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.flexbox_main_estate_reverse:hover,
.flexbox_main_estate:hover {
    transition: 0.7s;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
#estate01 .flexbox_main_estate_reverse,
#estate01 .flexbox_main_estate_reverse:hover {
    opacity: 1 !important;
    transition: none !important;
    filter: none !important;
}
.f_item_main_content_estate_img {
    width: 35%;
}
    @media only screen and (max-width: 767px) {
        .flexbox_main_estate_content_reverse {
            flex-flow: row wrap;
        }
        .f_item_main_content_estate {
            width: 100%;
            margin-bottom: 15px;
        }
        .f_item_main_content_estate_img {
            width: 100%;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
    }

/* ボタン */
.f_item_main_content_estate .more {
    position: absolute;
    bottom: 0;
    right: 0;
}
.f_item_main_content_estate .more::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 10px;
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    margin-right: 5px;
    transition: 1s;
}
.f_item_main_content_estate:hover .more::before {
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    margin-right: 3px;
}

/* ------------------------------------------------ 不動産仲介管理 > 不動産情報：一覧 */
#estate_list .inner {
    padding: 60px 0 0;
}
 @media only screen and (max-width: 767px) {
        #estate_list .inner {
            padding: 30px 0 0;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        #estate_list .inner {
            padding: 30px 0 0;
        }
    }

.flexbox_estate_list {
    display: flex;
    flex-flow: row wrap;
}
.f_item_estate_list {
    position: relative;
    width: 31.3333%;
    margin: 0 1%;
}
.f_item_estate_list img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    margin-bottom: 15px;
}
.f_item_estate_list a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.f_item_estate_list:hover {
    transition: 0.7s;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
    @media only screen and (max-width: 767px) {
        .f_item_estate_list {
            width: 100%;
            margin: 0;
        }
        .f_item_estate_list img {
            height: 224px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .f_item_estate_list {
            width: 48%;
        }
        .f_item_estate_list img {
            height: 224px;
        }
    }

/* ボタン */
.f_item_estate_list .more {
    text-align: right;
}
.f_item_estate_list .more::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 10px;
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    margin-right: 5px;
    transition: 1s;
}
.f_item_estate_list:hover .more::before {
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    margin-right: 3px;
}

/* ------------------------------------------------ 不動産仲介管理 > 不動産情報：個別 */
#estate_single .inner {
    padding: 120px 0 0;
}
.estate_wrap {
    margin: 0 auto 60px;
}
    @media only screen and (max-width: 767px) {
        #estate_single .inner {
            padding: 60px 0 0;
        }
        .estate_wrap {
            margin: 0 auto 60px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        #estate_single .inner {
            padding: 60px 0 0;
        }
        .estate_wrap {
            margin: 0 auto 60px;
        }
    }

.estate_heading_jp {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    text-align: center;
    margin-bottom: 15px;
}
.estate_price {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    display: inline-block;
    margin-bottom: 30px;
}
.estate_price p {
    display: inline-block;
    font-size: 20px;
}
.estate_price span {
    display: inline-block;
    font-size: 16px;
}
    @media only screen and (max-width: 767px) {
        .estate_heading_jp {
            font-size: 17px;
        }
        .estate_price {
            margin-bottom: 15px;
        }
        .estate_price p {
            font-size: 17px;
        }
        .estate_price span {
            font-size: 14px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .estate_heading_jp {
            font-size: 17px;
        }
        .estate_price {
            margin-bottom: 15px;
        }
        .estate_price p {
            font-size: 17px;
        }
        .estate_price span {
            font-size: 14px;
        }
    }

.estate_main_img {
    position: relative;
    width: 640px;
    margin: 0 auto 60px;
}
.estate_main_img img {
    width: 100%;
}
.estate_content {
    margin-bottom: 60px;
}
    @media only screen and (max-width: 767px) {
        .estate_main_img {
            width: 100%;
            margin: 0 auto 30px;
        }
        .estate_content {
            margin-bottom: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .estate_main_img {
            width: 100%;
            margin: 0 auto 30px;
        }
        .estate_content {
            margin-bottom: 30px;
        }
    }

.flexbox_estate_single {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 30px;
}
.f_item_estate_single {
    width: 23%;
    margin: 0 1% 30px;
}
.f_item_estate_single img {
    width: 100%;
    height: 183px;
    object-fit: cover;
}
    @media only screen and (max-width: 767px) {
        .flexbox_estate_single {
            margin-bottom: 15px;
        }
        .f_item_estate_single {
            width: 48%;
            margin: 0 1% 10px;
        }
        .f_item_estate_single img {
            height: 93px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .flexbox_estate_single {
            margin-bottom: 30px;
        }
        .f_item_estate_single {
            width: 31.3333%;
            margin: 0 1% 10px;
        }
        .f_item_estate_single img {
            height: 145px;
        }
    }

dl.table {
    margin: 0;
}
dl.table .item {
    display: flex;
    border-bottom: 1px solid #eee;
}
dl.table .item:last-child {
    border-bottom: none;
}
dl.table dt.head {
    width: 15%;
    flex-shrink: 0;
    text-align: left;
    padding: 15px;
    background-color: #eee;
    margin: 0;
}
dl.table dd.body {
    width: 85%;
    padding: 15px;
    margin: 0;
}
dl.table dd.body p {
    margin: 0;
}
dl.table dd.body p + p {
    margin-top: 1em;
}

@media only screen and (max-width: 767px) {
    dl.table .item {
        display: block;
        border-bottom: 1px solid #eee;
    }
    dl.table dt.head {
        display: block;
        width: 100%;
        padding: 5px 10px;
    }
    dl.table dd.body {
        display: block;
        width: 100%;
        padding: 10px;
    }
}
@media only screen and (min-width: 768px) and (max-width: 980px) {
}

/* ------------------------------------------------ SHOEI MAGAZINE */
#magazine_list .inner {
    position: relative;
    margin: 120px auto 0;
    padding: 0;
}
        @media only screen and (max-width: 767px) {
            #magazine_list .inner {
                margin: 60px auto 0;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #magazine_list .inner {
                margin: 60px auto 0;
            }
        }

/* ------------------------------------------------ 会社概要 */
.president_box {
    position: relative;
    margin-bottom: 60px;
}
/*
.president_box img {
    border-radius: 10px;
}
*/
.president_catch {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    position: absolute;
    top: 50%;
    right: 60px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: 30px;
    color: #fff;
}
        @media only screen and (max-width: 767px) {
            .president_box {
                margin-bottom: 30px;
            }
            .president_catch {
                right: 15px;
                font-size: 20px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .president_box {
                margin-bottom: 30px;
            }
            .president_catch {
                line-height: 160%;
            }
        }

.greeting_read_box {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    margin-bottom: 60px;
}
.greeting_box {
    margin-bottom: 60px;
}
.greeting_bold {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
    margin-bottom: 15px;
}
.greeting_bold::before {
    content: "";
    display: inline-block;
    width: 100px;
    height: 1px;
    background-color: #696660;
    vertical-align: middle;
    margin-right: 15px;
}
.center_txt_box {
    text-align: center;
    font-size: 20px;
    margin-bottom: 60px;
}
.center_txt:nth-child(1),
.center_txt:nth-child(2) {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 220%;
    font-size: 16px;
    margin-bottom: 15px;
}
.center_txt:nth-child(3) {
    font-size: 14px;
}
.president_name {
    text-align: right;
    font-size: 12px;
}
.president_name span {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 14px;
}
        @media only screen and (max-width: 767px) {
            .greeting_read_box {
                margin-bottom: 30px;
            }
            .greeting_box {
                margin-bottom: 30px;
            }
            .greeting_bold {
                position: relative;
                font-size: 18px;
                padding-left: 30px;
            }
            .greeting_bold::before {
                position: absolute;
                top: 50%;
                left: 0%;
                transform: translateY(-50%);
                -webkit-transform: translateY(-50%);
                -ms-transform: translateY(-50%);
                width: 25px;
                height: 1px;
                margin-right: inherit;
            }
            .center_txt_box {
                font-size: 18px;
                text-align: center;
                margin-bottom: 30px;
            }
            .center_txt:nth-child(1),
            .center_txt:nth-child(2) {
                font-size: 14px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .greeting_read_box {
                margin-bottom: 30px;
            }
            .greeting_box {
                margin-bottom: 30px;
            }
            .greeting_bold::before {
                width: 25px;
                height: 1px;
            }
            .center_txt_box {
                text-align: center;
                margin-bottom: 30px;
            }
            .center_txt:nth-child(1),
            .center_txt:nth-child(2) {
                font-size: 14px;
            }
        }

/*
.flexbox_greeting {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.f_item_greeting:nth-child(1) {
    width: 65%;
}
.greeting_jp {
    margin-bottom: 30px;
}
.greeting_jp_bold {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
}
.president_name {
    text-align: right;
    font-size: 12px;
}
.president_name span {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 14px;
}
.f_item_greeting:nth-child(2) {
    width: 30%;
}
        @media only screen and (max-width: 767px) {
            .f_item_greeting:nth-child(1) {
                width: 100%;
            }
            .greeting_en {
                font-size: 22px;
                margin-bottom: 15px;
            }
            .greeting_jp_box {
                margin-bottom: 15px;
            }
            .president_name span {
                font-size: 12px;
            }
            .f_item_greeting:nth-child(1) {
                margin-bottom: 30px;
            }
            .f_item_greeting:nth-child(2) {
                width: 100%;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
        }
*/

/* アンカーリンク */
#anchor {
    position: sticky;
    top: 50px;
    z-index: 1;
}
#anchor .inner {
    position: relative;
    text-align: center;
    padding: 0;
}

/* アンカーリンク5 */
.flexbox_anchor5 {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: stretch;
}
.f_item_anchor5 {
    position: relative;
    width: 20%;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.4;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    border-left: 1px dotted #ccc;
    padding: 10px;
    background-color: rgba(255,255,255,.8);
    transition: 1s;
    cursor: pointer;
    box-sizing: border-box;
}
.f_item_anchor5:nth-child(5) {
    border-right: 1px dotted #ccc;
}
.f_item_anchor5 a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}
.f_item_anchor5:hover {
    background-color: rgba(242,237,231,.5);
}
    @media only screen and (max-width: 767px) {
        .f_item_anchor5 {
            width: 50%;
            min-height: 50px;
            border-left: inherit;
            border-top: 1px dotted #ccc;
            padding: 5px 5px;
        }
        .f_item_anchor5.dummy {
            pointer-events: none;
        }
        .f_item_anchor5:nth-child(2),
        .f_item_anchor5:nth-child(4),
        .f_item_anchor5:nth-child(6) {
            border-right: none;
        }
        .f_item_anchor5:nth-child(1),
        .f_item_anchor5:nth-child(3),
        .f_item_anchor5:nth-child(5) {
            border-right: 1px dotted #ccc;
        }
        .f_item_anchor5:nth-child(5),
        .f_item_anchor5:nth-child(6) {
            border-bottom: 1px dotted #ccc;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .f_item_anchor5 {
            padding: 10px 5px;
        }
    }

/* アンカーリンク6 */
.flexbox_anchor6 {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: stretch;
}
.f_item_anchor6 {
    position: relative;
    width: 16.6666%;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.4;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    border-left: 1px dotted #ccc;
    padding: 10px;
    background-color: rgba(255,255,255,.8);
    transition: 1s;
    cursor: pointer;
    box-sizing: border-box;
}
.f_item_anchor6:last-of-type {
    border-right: 1px dotted #ccc;
}
.f_item_anchor6 a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}
.f_item_anchor6:hover {
    background-color: rgba(242,237,231,.5);
}
    @media only screen and (max-width: 767px) {
        .f_item_anchor6 {
            width: 50%;
            min-height: 50px;
            border-left: inherit;
            border-top: 1px dotted #ccc;
            padding: 5px 5px;
        }
        .f_item_anchor6:nth-child(6) {
            border-right: none;
        }
        .f_item_anchor6:nth-child(1),
        .f_item_anchor6:nth-child(3),
        .f_item_anchor6:nth-child(5) {
            border-right: 1px dotted #ccc;
        }
        .f_item_anchor6:nth-child(5),
        .f_item_anchor6:nth-child(6) {
            border-bottom: 1px dotted #ccc;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .f_item_anchor6 {
            padding: 10px 5px;
        }
    }

/* アンカーリンク3 */
.flexbox_anchor3 {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: stretch;
}
.f_item_anchor3 {
    position: relative;
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 15px 10px;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    border-left: 1px dotted #ccc;
    background-color: rgba(255,255,255,.8);
    transition: 1s;
    cursor: pointer;
    box-sizing: border-box;
    line-height: 1.6;
}
.f_item_anchor3:nth-child(3) {
    border-right: 1px dotted #ccc;
}
.f_item_anchor3 a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}
.f_item_anchor3:hover {
    background-color: rgba(242,237,231,.5);
}
        @media only screen and (max-width: 767px) {
            .flexbox_anchor3 {
                justify-content: flex-start;
            }
            .f_item_anchor3 {
                font-size: 13px;
                width: 50%;
                min-height: 40px;
                line-height: 1.4;
                border-left: inherit;
                border-top: 1px dotted #ccc;
                padding: 5px 5px;
                box-sizing: border-box;
            }
            .f_item_anchor3:nth-child(4) {
                border-right: none;
            }
            .f_item_anchor3:nth-child(1),
            .f_item_anchor3:nth-child(3) {
                border-right: 1px dotted #ccc;
            }
            .f_item_anchor3:nth-child(3),
            .f_item_anchor3:nth-child(4) {
                border-bottom: 1px dotted #ccc;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .f_item_anchor3  {
                padding: 10px 5px;
            }
        }

/* タイトル */
.c_heading_box {
    text-align: center;
    margin-bottom: 60px;
}
.c_heading_en {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 35px;
    margin-bottom: 15px;
}
.c_heading_jp {
    font-family: "shippori-mincho", sans-serif;
    font-size: 14px;
}
        @media only screen and (max-width: 767px) {
            .c_heading_box {
                margin-bottom: 30px;
            }
            .c_heading_en {
                font-size: 30px;
            }
            .c_heading_jp {
                font-size: 12px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .c_heading_box {
                margin-bottom: 30px;
            }
            .c_heading_en {
                font-size: 30px;
            }
            .c_heading_jp {
                font-size: 12px;
            }
        }

/* 会社概要 */
#overview {
    position: relative;
    width: 100%;
    background-image: url(../images/common/bgi_stone.png);
}

table.company {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
table.company tr th {
    width: 25%;
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
    border-bottom: 1px solid #ccc;
    padding: 20px;
}
table.company tr td {
    width: 75%;
    border-bottom: 1px solid #ccc;
    padding: 20px;
}
        @media only screen and (max-width: 767px) {
            table.company tr th {
                display: block;
                width: 100%;
                border-bottom: none;
                background-color: rgba(242,237,231,.5);
                padding: 5px 10px;
            }
            table.company tr td {
                display: block;
                width: 100%;
                margin-bottom: 20px;
                 border-bottom: none;
                padding: 10px 0 0;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
        }

/* 沿　革 */
#history {
    position: relative;
    width: 100%;
    color: #fff;
    background-color: #696660;
}

.timeline > li {
    margin-bottom: 600px;
}
.timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
}
.timeline-date {
    width: 200px;
    float: left;
    margin-top: 30px;
}
.timeline-content {
    width: 1000px;
    float: left;
    border-left: 2px rgba(214,168,86,.3) solid;
    margin-top: -5px;
    padding: 30px 0 30px 50px;
}
.timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #d6a856;
    position: absolute;
    left: 196px;
    top: 35px;
    border-radius: 100%;
}
.flexbox_timeline {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.f_item_timeline_txt {
    width: 65%;
}
.f_item_timeline_img {
    width: 30%;
}
.f_item_timeline_img img {
    width: 100%;
}
.timeline_ttl {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    border-bottom: 1px solid #eee;
    margin-bottom: 15px;
    padding-bottom: 10px;
}
        @media only screen and (max-width: 767px) {
            .timeline-date {
                width: 100%;
                clear: both;
                color: #d6a856;
                margin-top: 0;
            }
            .timeline-content {
                width: 100%;
                clear: both;
                border-left: none;
                margin-top: 0;
                padding: 10px 0 0 0;
            }
            .timeline-content:before {
                display: none;
            }
            .flexbox_timeline {
                margin-bottom: 30px;
            }
            .f_item_timeline_txt {
                width: 100%;
                margin-bottom: 15px;
            }
            .f_item_timeline_img {
                width: 85%;
                margin: 0 auto;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .timeline-date {
                width: 100%;
                clear: both;
                color: #d6a856;
                margin-top: 0;
            }
            .timeline-content {
                width: 100%;
                clear: both;
                border-left: none;
                margin-top: 0;
                padding: 10px 0 0 0;
            }
            .timeline-content:before {
                display: none;
            }
            .flexbox_timeline {
                margin-bottom: 30px;
            }
            .f_item_timeline_txt {
                width: 60%;
                margin-bottom: 15px;
            }
            .f_item_timeline_img {
                width: 35%;
            }
        }


/* スタッフ */
.flexbox_staff {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
}
.f_item_staff {
    position: relative;
    width: 23%;
    margin: 0 1% 15px;
}
.staff_img_box {
    position: relative;
}
.staff_img_box img {
    width: 100%;
}
.btn_staff button {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 12px;
    padding: 10px 20px;
    color: #fff;
    background-color: #696660;
    cursor: pointer;
}
.btn_staff button a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}
.btn_staff button:hover {
    transition: 0.5s;
    opacity: 0.5;
    filter: alpha(opacity=20);
    -ms-filter: "alpha(opacity=20)";
}
    @media (max-width: 767px) {
        .flexbox_staff {
            align-content: space-between;
        }
        .f_item_staff {
            width: 48%;
        }
    }
    @media (min-width: 768px) and (max-width: 980px) {
        .f_item_staff {
            width: 33.3333%;
        }
    }

/* スタッフモーダルウィンドウ */
.iziModal {
    position: relative;
    z-index: 100;
}
.iziModal_btn {
    border: none;
    cursor: pointer;
}
.iziModal_staff {
    width: 70%;
}
    @media (max-width: 767px) {
        .iziModal_staff {
            width: 85% !important;
        }
    }
    @media (min-width: 768px) and (max-width: 980px) {
        .iziModal_staff {
            width: 85% !important;
        }
    }

.staff_profile_box {
    padding: 15px 0;
}
.staff_profile_box .staff_position {
    font-size: 12px;
}
.staff_profile_box .staff_name {
    font-size: 22px;
}
.f_item_iziModal_staff .staff_comment span {
    color: #fff;
    background-color: #696660;
    padding: 5px 10px;
}
    @media (max-width: 767px) {
        .staff_profile_box {
            padding: 10px 0;
        }
        .staff_profile_box .staff_position {
            font-size: 10px;
        }
        .staff_profile_box .staff_name {
            font-size: 17px;
        }
    }
    @media (min-width: 768px) and (max-width: 980px) {
        .staff_profile_box {
            padding: 10px 0;
        }
        .staff_profile_box .staff_name {
            font-size: 18px;
        }
    }

/* モーダルウィンドウのレイアウト */
.flexbox_iziModal_staff {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    width: 100%;
}
.f_item_iziModal_staff:nth-child(1) {
    width: 25%;
}
.f_item_iziModal_staff:nth-child(2) {
    width: 72%;
}
    @media (max-width: 767px) {
        .f_item_iziModal_staff:nth-child(1) {
            width: 100%;
            margin-bottom: 15px;
        }
        .f_item_iziModal_staff:nth-child(2) {
            width: 100%;
        }
    }
    @media (min-width: 768px) and (max-width: 980px) {
    }

.f_item_iziModal_staff .staff_position {
    font-size: 12px;
}
.f_item_iziModal_staff .staff_name {
    font-size: 22px;
}
.f_item_iziModal_staff .staff_bb {
    border-bottom: 1px solid #696660;
    margin-bottom: 15px;
    padding-bottom: 15px;
}
    @media (max-width: 767px) {
        .f_item_iziModal_staff .staff_position {
            font-size: 10px;
        }
        .f_item_iziModal_staff .staff_name {
            font-size: 17px;
        }
    }
    @media (min-width: 768px) and (max-width: 980px) {
        .f_item_iziModal_staff .staff_name {
            font-size: 18px;
        }
    }

.close {
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background-color: #696660;
}
.close::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url(../images/company/staff/close.svg);
    margin: 10px 0 0 10px;
}
.close a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* アクセス */
#access .inner_full {
    width: 100%;
    margin: 0;
    padding: 0;
}
iframe {
    vertical-align: bottom;
}
        @media only screen and (max-width: 767px) {

        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {

        }

/* メディア */
#media_info {
    position: relative;
    width: 100%;
    background-image: url(../images/common/bgi_stone.png);
}

#media_info .inner {
    padding: 120px 0;
}
.media_item_name {
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    border-bottom: 1px solid #eee;
    margin-bottom: 15px;
    padding-bottom: 15px;
}
.media_item {
    margin-bottom: 60px;
}
ul.media_item li {
    list-style-type: circle;
    margin-left: 20px;
}
.media_right {
    text-align: right;
}
        @media only screen and (max-width: 767px) {
            #media_info .inner {
                padding: 60px 0;
            }
            .media_item_name {
                font-size: 20px;
                margin-bottom: 10px;
                padding-bottom: 10px;
            }
            .media_item {
                margin-bottom: 30px;
            }
            .media_right {
                text-align: left;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #media_info .inner {
                padding: 60px 0;
            }
            .media_item_name {
                font-size: 20px;
                margin-bottom: 10px;
                padding-bottom: 10px;
            }
            .media_item {
                margin-bottom: 30px;
            }
        }

/* ------------------------------------------------ お知らせ */
#news .inner {
    position: relative;
    width: 900px;
    margin: 0 auto;
    padding: 120px 0 0;
}
        @media only screen and (max-width: 767px) {
            #news .inner {
                width: 85%;
                padding: 60px 0 0;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            #news .inner {
                width: 85%;
                padding: 60px 0 0;
            }
        }

.blog_box_list {
    position: relative;
    display: flex;
    flex-flow: row wrap;
    align-content: space-between;
    border-bottom: 1px solid #eee;
    padding: 60px 0;
    width: 100%;
}
.blog_box_list:last-of-type {
    border-bottom: none;
}
.blog_box_list::after {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url(../images/common/icon_circle_arrow_blk.svg) no-repeat;
    background-size: contain;
    transition: 1s;
}
.blog_box_list:hover::after {
    right: 0;
}
        @media only screen and (max-width: 767px) {
            .blog_box_list {
                padding: 30px 0;
            }
            .blog_box_list::after {
                right: 0;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {
            .blog_box_list {
                padding: 30px 0;
            }
            .blog_box_list::after {
                right: 0;
            }
        }

.blog_date_list {
    width: 10%;
    font-size: 10px;
    margin-left: 10px;
}
.blog_cate_list {
    text-align: center;
    width: 15%;
    font-size: 12px;
    border: 1px solid #696660;
    border-radius: 15px;
}
.blog_cate_list a {
    font-size: 12px;
    color: #696660;
}
.blog_ttl_list {
    width: 65%;
    margin-left: 5%;
}
        @media only screen and (max-width: 767px) {
            .blog_date_list {
                width: 30%;
            }
            .blog_cate_list {
                width: 40%;
            }
            .blog_ttl_list {
                width: 100%;
                margin-top: 15px;
                margin-left: 0;
                margin-right: 35px;
            }
        }
        @media only screen and (min-width: 768px) and (max-width: 980px) {

        }

/* 一覧ページング */
.wp-pagenavi {
    width: 100%;
    text-align: center;
    margin: 60px auto 0;
}
.wp-pagenavi span.pages,
.first,.extend,
.last {
    display: none;
}
.wp-pagenavi span,
.wp-pagenavi a {
    font-size: 12px;
    padding: 5px 8px;
}
.wp-pagenavi a {
    text-decoration: none;
    background-color: #696660;
    color: #fff;
}

/* 個別ページ */
.estate_content a,
.blog_content_single a,
#works_single a,
.link a {
    display: inline-block;
    border-bottom: 2px dotted #f9ab03;
}
.previous_post a,
.next_post a{
    display: inline-block;
    border-bottom: none!important;
}

.blog_date_single {
    font-size: 12px;
    color: #696660;
    margin-bottom: 30px;
}
.blog_ttl_single {
    text-align: center;
    font-family: "shippori-mincho", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    border-bottom: 1px solid #f2ede7;
    margin-bottom: 60px;
    padding-bottom: 30px;
}
.blog_content_single {
    margin-bottom: 60px;
}
/* 個別ページング */
.paging_single {
    display: inline-block;
    width: 100%;
}
.previous_post {
    float: left;
    text-align: left;
    width: 50%;
    height: 50px;
    line-height: 50px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    border-right: 1px solid #eee;
}
.previous_post a {
    font-size: 12px;
    vertical-align: middle;
}
.previous_post::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 12px;
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    margin-right: 5px;
    vertical-align: middle;
    transform: scaleX(-1)
}

.next_post {
    float: right;
    text-align: right;
    width: 50%;
    height: 50px;
    line-height: 50px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.next_post a {
    font-size: 12px;
}
.next_post::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 12px;
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    margin-left: 5px;
    vertical-align: middle;
}

/* ------------------------------------------------ イベント情報 */
.flexbox_event_list {
    display: flex;
    flex-flow: row wrap;
}
.f_item_event_list {
    position: relative;
    width: 31.3333%;
    margin: 0 1% 30px;
}
.f_item_event_list a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.f_item_event_list:hover {
    transition: 0.7s;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
    @media only screen and (max-width: 767px) {
        .flexbox_event_list {
            margin-bottom: 60px;
        }
        .f_item_event_list:nth-child(1) {
            width: 100%;
        }
        .f_item_event_list:nth-child(2),
        .f_item_event_list:nth-child(3),
        .f_item_event_list:nth-child(4) {
            width: 100%;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .flexbox_event_list {
            margin-bottom: 60px;
        }
        .f_item_event_list:nth-child(1) {
            width: 48%;
        }
        .f_item_event:nth-child(2) {
            margin-bottom: 30px;
        }
        .f_item_event_list:nth-child(2),
        .f_item_event_list:nth-child(3),
        .f_item_event_list:nth-child(4) {
            width: 48%;
        }
    }

.f_item_event_list img {
    width: 100%;
    height: 230px;
    margin-bottom: 15px;
    object-fit: cover;
    transition: 1s;
}
/*
.f_item_event_list:hover img {
    border-radius: 0;
}
*/

.f_item_event_list .more {
    text-align: right;
}
.f_item_event_list .more::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 10px;
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    margin-right: 5px;
    transition: 1s;
}
.f_item_event_list:hover .more::before {
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    margin-right: 3px;
}


.f_item_event_list .more::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 10px;
    background-image: url(../images/common/icon_navi_arrow_blk.svg);
    margin-right: 5px;
    transition: 1s;
}
.f_item_event_list:hover .more::before {
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    margin-right: 3px;
}


.f_item_event_list .event_area::before {
    background-image: url(../images/common/icon_map_blk.svg);
}
.f_item_event_list .event_day::before {
    background-image: url(../images/common/icon_calendar_blk.svg);
}

/* 個別ページ  */
.event_wrap {
    width: 80%;
    margin: 0 auto 60px;
}
.event_single {
    width: 100%;
    margin-bottom: 30px;
}
.event_wrap img {
    margin-bottom: 60px;
}
    @media only screen and (max-width: 767px) {
        .event_wrap {
            width: 100%;
            margin: 0 auto 30px;
        }
        .event_single {
            margin-bottom: 15px;
        }
        .event_wrap img {
            margin-bottom: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .event_wrap {
            width: 100%;
            margin: 0 auto 30px;
        }
        .event_single {
            margin-bottom: 15px;
        }
        .event_wrap img {
            margin-bottom: 30px;
        }
    }

table.event {
    border-collapse: collapse;
    font-size: 14px;
    width: 100%;
}
table.event th {
    width: 18%;
    background-color: #f5f5f5;
    border: 1px dotted #ccc;
    padding: 15px;
}
table.event td {
    border: 1px dotted #ccc;
    padding: 15px;
}
    @media only screen and (max-width: 767px) {
        table.event th {
            display: block;
            width: 100%;
            padding: 10px;
        }
        table.event td {
            display: block;
            width: 100%;
            padding: 10px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
    }

/* ------------------------------------------------ お問い合わせ */
table.contact {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    border-spacing: 0;
}
table.contact tr th {
    width: 30%;
    text-align: left;
    vertical-align: middle;
    font-weight: normal;
    border-top: 1px solid #ccc;
    padding: 60px 0;
}
table.contact tr:first-child th {
    border-top: none;
}
table.contact tr th span.must {
    color: #f00;
    font-size: 10px;
    margin-left: 5px;
}
table.contact tr td {
    width: 70%;
    border-top: 1px solid #ccc;
    padding: 60px 0;
}
table.contact tr:first-child td {
    border-top: none;
}
table.contact td input,
table.contact td select {
    width: 100%;
    height: 30px;
}
table.contact td input[type=checkbox] {
    width: 20px;
    height: 15px;
    vertical-align: middle;
}
.wpcf7-list-item {
    display: block;
    width: 100%;
}
table.contact td textarea {
    width: 100%;
    border-color: #666;
}
table.contact td.add {
    display: inline-block;
    width: 100%;
}
table.contact td.add input {
    display: inline-block;
    width: 80%;
    height: 30px;
    margin-bottom: 15px;
}
table.contact tr td.add:last-child {
    margin-bottom: 0;
}

.privacy_txt {
    font-size: 10px;
    text-align: center;
    margin-bottom: 60px;
}
.privacy_txt a {
    padding-bottom: 2px;
    border-bottom: 1px dotted #333;
}

/* ContactForm7 */
/* ボタン */
.wpcf7-submit {
    color: #fff;
    background-color: #696660;
    border: none;
    padding: 10px 50px;
}
/* エラーメッセージ */
.screen-reader-response,
.screen-reader-response ul li {
    display: none;
}
.wpcf7-not-valid-tip {
    display: block;
    width: 100%;
    color: #333;
    margin-top: 10px
}
.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-mail-sent-ok {
    text-align: center;
    color: #333;
    background-color: #f5f5f5;
    border: 1px solid #333;
}
    @media only screen and (max-width: 767px) {
        table.contact tr th {
            display: block;
            width: 100%;
            margin-bottom: 0;
            padding: 0;
            border-top: none;
        }
        table.contact tr td {
            display: block;
            width: 100%;
            padding: 10px 0 20px 0;
            border-top: none;
            border-bottom: 1px solid #ccc;
        }
        table.contact tr:last-child td {
            border-bottom: none;
        }
        table.contact td input,table.contact td select {
            width: 100%;
        }
        table.contact td.add {
            display: block;
        }
        table.contact td.add input {
            display: block;
            width: 100%;
        }
        table.contact tr td.add:last-child {
            margin-bottom: 20px;
        }

        .privacy_txt {
            margin-bottom: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        table.contact tr th {
            display: block;
            width: 100%;
            margin-bottom: 0;
            padding: 0;
            border-top: none;
        }
        table.contact tr td {
            display: block;
            width: 100%;
            padding: 10px 0 20px 0;
            border-top: none;
            border-bottom: 1px solid #ccc;
        }
        table.contact tr:last-child td {
            border-bottom: none;
        }
        table.contact td input,table.contact td select {
            width: 100%;
        }
        table.contact td.add {
            display: block;
        }
        table.contact td.add input {
            display: block;
            width: 100%;
        }
        table.contact tr td.add:last-child {
            margin-bottom: 20px;
        }

        .privacy_txt {
            margin-bottom: 30px;
        }
    }

/* ------------------------------------------------ 個人情報保護方針 */
table.privacy {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    border-spacing: 0;
}
table.privacy tr th {
    display: block;
    width: 100%;
    text-align: left;
    font-weight: normal;
    margin-bottom: 5px;
    font-size: 18px;
}
table.privacy tr td {
    display: block;
    width: 100%;
    margin-bottom: 30px;
    text-align: justify;
    text-justify: inter-ideograph;
    font-size: 14px;
}

span.privacy {
    display: inline-block;
    border: 1px solid #ccc;
    background-color: #f5f5f5;
    margin-top: 15px;
    padding: 20px;
    border-radius: 5px;
}

table.privacy ol li {
    list-style-type: decimal;
    margin-left: 25px;
}

.right {
    display: block;
    text-align: right;
}
    @media only screen and (max-width: 767px) {
        table.privacy {
            margin-bottom: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        table.privacy {
            margin-bottom: 30px;
        }
    }



/* ------------------------------------------------ フッタ：お問い合わせ
.foot_contact {
    width: 800px;
    height: auto;
    margin: 0 auto;
    padding: 120px 0;
}
    @media only screen and (max-width: 767px) {
        .foot_contact {
            width: 85%;
            padding: 60px 0;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .foot_contact {
            width: 85%;
            padding: 60px 0;
        }
    }

.foot_contact_txt {
    font-size: 14px;
    text-align: center;
    margin-bottom: 15px;
}
.foot_contact_box {
    border: 1px solid #ccc;
    padding: 15px;
}

.flexbox_foot_contact {
    display: flex;
    flex-flow: row wrap;
    align-content: ;
}
.f_item_foot_contact {
    width: 50%;
    text-align: center;
    align-self: center;
    padding: 15px;
}
.f_item_foot_contact:nth-child(1) {
    border-right: 1px solid #ccc;
}

.foot_contact_tel {
    font-size: 16px;
    margin: 20px 0 10px;
}
.foot_contact_tel_big {
    font-size: 40px;
    letter-spacing: normal;
}
.foot_contact_tel_big a {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;    font-weight: bold;
    color: #cd5;
}
.foot_contact_cap {
    font-size: 10px;
    line-height: 1.8em;
}
    @media only screen and (max-width: 767px){
        .foot_contact {
            width: 85%;
            padding-top: 60px;
        }
        .foot_contact_txt {
            font-size: 12px;
        }

        .flexbox_foot_contact {
            display: flex;
            flex-flow: row wrap;
            align-content: center;
        }
        .f_item_foot_contact {
            width: 100%;
        }
        .f_item_foot_contact:nth-child(1) {
            border-right: none;
            border-bottom: 1px solid #ccc;
        }
        .f_item_foot_contact:nth-child(2) {
            padding: 40px 0 30px;
        }

        .foot_contact_tel {
            font-size: 14px;
            margin: 0 0 10px;
        }
        .foot_contact_tel_big {
            font-size: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .foot_contact {
            width: 85%;
            padding-top: 60px;
        }

        .foot_contact_tel {
            font-size: 14px;
        }
        .foot_contact_tel_big {
            font-size: 30px;
        }
    }
*/

/* ボタン
.foot_contact_mail a {
    font-size: 14px;
}
.btn_contact {
    position: relative;
    background-color: #cd5;
    padding: 15px 30px;
    border-radius: 20px;
}
.btn_contact:after {
    background: #fff;
    content: "";
    height: 155px;
    left: -71px;
    opacity: .2;
    position: absolute;
    top: -63px;
    -webkit-transform: rotate(41deg);
    transform: rotate(41deg);
    -webkit-transition: all 350ms cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 350ms cubic-bezier(0.19, 1, 0.22, 1);
    width: 50px;
    z-index: 1;
}
.btn_contact:hover:after {
    left: 120%;
    -webkit-transition: all 350ms cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 350ms cubic-bezier(0.19, 1, 0.22, 1);
}
*/

/* ------------------------------------------------ フッタ：お問い合わせ */
.foot_contact {
    width: 850px;
    height: auto;
    margin: 0 auto;
    padding: 120px 0;
}
    @media only screen and (max-width: 767px) {
        .foot_contact {
            width: 85%;
            padding: 60px 0;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .foot_contact {
            width: 85%;
            padding: 60px 0;
        }
    }

.foot_contact_txt {
    font-size: 14px;
    text-align: center;
    margin-bottom: 15px;
}
.foot_contact_box {
    border: 1px solid #ccc;
    padding: 15px;
    background-color: rgba(242,237,231,.3);
}

.flexbox_foot_contact {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
}
.f_item_foot_contact {
    width: 50%;
    text-align: center;
    align-self: center;
    padding: 15px;
}
.f_item_foot_contact:nth-child(1) {
    border-right: 1px solid #ccc;
}

.foot_contact_tel {
    font-weight: bold;
    font-size: 16px;
    margin: 20px 0 10px;
}
.foot_contact_tel_big {
    letter-spacing: normal;
}
.foot_contact_tel_big a {
    font-family: "akshar", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 40px;
    color: #696660;
}
.foot_contact_cap {
    font-size: 10px;
    line-height: 1.8em;
}
    @media only screen and (max-width: 767px){
        .foot_contact {
            width: 85%;
            padding-top: 60px;
        }
        .foot_contact_txt {
            font-size: 14px;
        }

        .flexbox_foot_contact {
            display: flex;
            flex-flow: row wrap;
            align-content: center;
        }
        .f_item_foot_contact {
            width: 100%;
        }
        .f_item_foot_contact:nth-child(1) {
            border-right: none;
            border-bottom: 1px solid #ccc;
        }
        .f_item_foot_contact:nth-child(2) {
            padding: 40px 0 30px;
        }

        .foot_contact_tel {
            font-size: 14px;
            margin: 0 0 10px;
        }
        .foot_contact_tel_big a {
            font-size: 32px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .foot_contact {
            width: 85%;
            padding-top: 60px;
        }

        .foot_contact_tel {
            font-size: 14px;
        }
        .foot_contact_tel_big a {
            font-size: 32px;
        }
    }

/* ボタン */
.foot_contact_mail a {
    font-size: 14px;
}
.btn_contact {
    position: relative;
    background-color: #696660;
    padding: 15px 30px;
    border-radius: 20px;
}
.btn_contact:after {
    background: #fff;
    content: "";
    height: 155px;
    left: -71px;
    opacity: .2;
    position: absolute;
    top: -63px;
    -webkit-transform: rotate(41deg);
    transform: rotate(41deg);
    -webkit-transition: all 350ms cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 350ms cubic-bezier(0.19, 1, 0.22, 1);
    width: 50px;
    z-index: 1;
}
.btn_contact:hover:after {
    left: 120%;
    -webkit-transition: all 350ms cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 350ms cubic-bezier(0.19, 1, 0.22, 1);
}

/* ------------------------------------------------ フッタ */
footer {
    color: #fff;
    background-color: #696660;
}
footer a {
    color: #fff;
}
footer .inner {
    width: 1200px;
    margin: 0 auto;
    padding: 60px 0;
}
    @media only screen and (max-width: 767px) {
        footer .inner {
            width: 100%;
            padding: 30px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        footer .inner {
            width: 100%;
            padding: 30px;
        }
    }

.flexbox_footer {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.f_item_footer_add {
    font-size: 12px;
    width: 20%;
    border-right: 1px solid #999;
    padding: 15px;
}
h2.footer_logo {
    width: 108px;
    height: 40px;
    margin-bottom: 15px;
}
h2.footer_logo a {
    float: left;
    width: 108px;
    height: 40px;
    background-image: url(../images/common/logo_wht.svg);
    font-size: 0.1em;
    text-indent: -9999em;
}
    @media only screen and (max-width: 767px) {
        .flexbox_footer {
            margin-bottom: 15px;
        }
        .f_item_footer_add {
            width: 100%;
            border-right: none;
            border-bottom: 1px dotted #999;
            padding: 15px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .flexbox_footer {
            margin-bottom: 15px;
        }
        .f_item_footer_add {
            width: 100%;
            border-right: none;
            border-bottom: 1px dotted #999;
            padding: 15px;
        }
    }

.f_item_footer_content {
    width: 80%;
    padding: 15px 30px 0;
}
.flexbox_menu {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.f_item_menu {
    width: 32%;
}
.f_item_menu ul li.parent_menu a {
    font-size: 14px;
}
.f_item_menu ul li.parent_menu a::before {
    position: relative;
    top: 0;
    content: "";
    display: inline-block;
    width: 6px;
    height: 12px;
    background-image: url(../images/common/icon_navi_arrow_wht.svg);
    background-position: center;
    background-size: contain;
    margin-right: 10px;
    transition: 1s;
}
.f_item_menu ul li.parent_menu a:hover::before {
    background-image: url(../images/common/icon_navi_arrow_red.svg);
    margin-right: 5px;
}
.f_item_menu ul li.parent_menu ul.child_menu li a {
    font-size: 12px;
    margin-left: 15px;
}
.f_item_menu ul li.parent_menu ul.child_menu li a::before {
    position: relative;
    top: -2px;
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background-image: url(../images/common/icon_dot_wht.svg);
    background-position: center;
    background-size: contain;
    margin-right: 8px;
}
.f_item_menu ul li.parent_menu ul.child_menu li:hover a::before {
    background-image: url(../images/common/icon_dot_wht.svg);
    margin-right: 5px;
}
    @media only screen and (max-width: 767px){
        .f_item_footer_content {
            width: 100%;
            padding: 15px 0;
        }
        .f_item_menu {
            width: 100%;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .f_item_footer_content {
            width: 100%;
            padding: 15px 0;
        }
        .f_item_menu {
            width: 32%;
        }
    }

.copy {
    text-align: center;
    font-size: 10px;
    color: #696660;
    padding: 5px 0;
}
    @media only screen and (max-width: 767px){
        .copy {
            padding: 5px 0 80px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
    }

/* ------------------------------------------------ お問い合わせボタン */
.float-button_contact {
    position: fixed;
    top: 150px;
    z-index: 999;
    opacity: 0;
    transform: translateX(100%);
    transition: transform 0.7s ease, opacity 0.7s ease;
}
.float-button_contact.fade_in {
    opacity: 1;
    transform: translateX(0);
}
.float-button_contact a {
    display: block;
    writing-mode: vertical-rl;
    font-size: 16px;
    color: #fff;
    background: linear-gradient(45deg, #0798f2, #006fb4);
    padding: 15px;
    animation: floatbuttoncontact 2000s ease infinite;
    border-radius: 15px 0 0 0;
}
@keyframes floatbuttoncontact {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
.float-button_contact a::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(../images/common/icon_calendar_wht.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    padding: 5px 0;
    margin-bottom: 10px;
}
    @media only screen and (max-width: 767px) {
        .float-button_contact {
            top: inherit;
            bottom: 75px;
        }
        .float-button_contact a {
            font-size: 14px;
            padding: 10px;
        }
    }
    @media only screen and (min-width: 768px) and (max-width: 980px) {
        .float-button_contact a {
            font-size: 14px;
            padding: 10px;
        }
    }


/* ------------------------------------------------ フッタメニュー（スマホのみ）*/
.flexbox_ftmenu {
    position: fixed;
    left: 0;
    bottom: 0;
    display: -webkit-flex;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    width: 100%;
    z-index: 1;
}
.f_item_ftmenu {
    position: relative;
    width: 25%;
    height: 75px;
    text-align: center;
    background-color: rgba(242,237,231,.9);
    padding: 15px 0 0 0;
    border-top: 1px solid rgba(105,102,96,.2);
    border-right: 1px solid rgba(105,102,96,.2);
}
.f_item_ftmenu:last-of-type {
    border-right: none;
}
.f_item_ftmenu div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    font-family: "shippori-mincho", sans-serif;
    font-weight: 700;
    font-style: normal;
    width: 100%;
    text-align: center;
    color: #696660;
    font-size: 13px;
    line-height: 2.5em;
}
.icon_ftmenu::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
}
.icon_newconst::before {
    background-image: url(../images/common/icon_newconst.svg);
}
.icon_renov::before {
    background-image: url(../images/common/icon_renov.svg);
}
.icon_estate::before {
    background-image: url(../images/common/icon_estate.svg);
}
.icon_info::before {
    background-image: url(../images/common/icon_info.svg);
}
.f_item_ftmenu a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#ftmenu {
    opacity: 0;
}
#ftmenu.fade_in {
    -webkit-animation-name: ftmenu;
    -webkit-animation-duration: 1s;
    animation-name: ftmenu;
    animation-duration: 1s;
    opacity: 1;
}
@keyframes ftmenu {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}



/******************************************************************************************** スマホ */
@media only screen and (max-width: 767px){
    .pconly {
        display: none;
    }

    /* ------------------------------------------------ コンテンツエリア */
    section .inner {
        width: 90%;
        padding: 60px 0;
    }
    section .inner_full {
        padding: 60px 0;
    }

}


/******************************************************************************************** タブレット */
@media only screen and (min-width: 768px) and (max-width: 980px) {
    .pconly,
    .sp_only,
    .copy_main_sp,
    .flexbox_ftmenu {
        display: none;
    }

    /* ------------------------------------------------ コンテンツエリア */
    section .inner {
        width: 90%;
        padding: 60px 0;
    }
    section .inner_full {
        padding: 60px 0;
    }

}


/******************************************************************************************** PC */
@media print, screen and (min-width: 981px) {
    .sponly,
    .sp_only,
    .copy_main_sp,
    .flexbox_ftmenu {
        display: none;
    }
}