/*=================================
共通
=================================*/
body.menu-active {
    overflow: hidden;
}

.round {
    display: inline-block;
    position: relative;
    margin-top: 20px;
    border: 1px solid;
    font-size: 13px;
    padding: 16px 60px 16px 30px;
    border-radius: 26px;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.round:after{
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    top: 50%;
    right: 15px;
    transform: translate(0,-50%);
    border-radius: 50%;
}

.round.black {
    color: #FFF;
    border-color: #FFF;
}

.round.black:after {
    background: #FFF;
}

.round.white {
    color: #000;
    border-color: #000;
}

.round.white:after {
    background: #000;
}

.round.black:hover {
    color: #000;
    border-color: #FFF;
    background: #FFF;
}

.round.black:hover:after {
    background: #000;
}

.round.white:hover {
    color: #FFF;
    border-color: #000;
    background: #000;
}

.round.white:hover:after {
    background: #FFF;
}

/*=================================
レイアウト
=================================*/


/*=================================
header ヘッダー
=================================*/
#logo {
    position: absolute;
    top: 70px;
    left: 75px;
    z-index: 101;
}

.menu-active #logo{
    position: fixed;
}

.logo-image svg {
    width: 54.92px;
    height: 62.84px;
}

.company .logo-image svg .cls-1 {
    fill: #000;
}

.menu-active.company .logo-image svg .cls-1 {
    fill: #FFF;
}

.contact .logo-image svg .cls-1 {
    fill: #000;
}

.menu-active.contact .logo-image svg .cls-1 {
    fill: #FFF;
}

.privacy .logo-image svg .cls-1 {
    fill: #000;
}

.menu-active.privacy .logo-image svg .cls-1 {
    fill: #FFF;
}

/*=================================
gnav グローバルナビ
=================================*/

#gNav {
    position: relative;
}

.gnav-overlay {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 10;
}

.menu-active .gnav-inner {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: 100;
    overflow: auto;
}

.gnav-trigger {
    position: fixed;
    top: 70px;
    right: 75px;
    z-index: 100;
}

.gnav-trigger.active {
    position: absolute;
}

.gnav-trigger-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    border-radius: 50%;
    width: 79.5px;
    height: 79.5px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.gnav-trigger svg {
    width: 36.98px;
    height: 19.1px;
    transition: all 0.3s ease;
}

.gnav-trigger-inner:hover,
.gnav-trigger.active .gnav-trigger-inner{
    background: #FFF;
}

.gnav-trigger-inner:hover .cls-1,
.gnav-trigger.active .gnav-trigger-inner .cls-1{
    fill: #000;
}

.global-nav {
    display: none;
    position: absolute;
    top: 170px;
    right: 75px;
    z-index: 100;
}

.global-nav li a{
    position: relative;
    font-size: 1.4vw;
    font-weight: normal;
    color: #FFF;
    line-height: 2.8;
    text-decoration: none;
    transition: all 0.3s ease;
}

.global-nav li a:before {
    content: "";
    display: block;
    position: absolute;
    width: 0.6vw;
    height: 0.6vw;
    border-radius: 100%;
    background: #FFF;
    top: 50%;
    left: -1.4vw;
    opacity: 0;
    transform-origin: left center;
    transform: scaleY(0.4) translate(-50%,-50%);
    transition: all 0.3s ease;
}

.global-nav li a:hover:before {
    transform-origin: left center;
    opacity: 1;
    transform: scaleY(1.0) translate(0,-50%);
}

/*=================================
ページ
=================================*/
.page-header {
    position: relative;
    min-height: 499px;
}

.page-header img {
    object-fit: cover;
}

.page-template-default .page-header p{
    color: #000;
}

.page-template-default .page-header h1{
    position: absolute;
    top: 50%;
    left: 75px;
    transform: translate(0,130%);
    font-size: 27px;
    font-weight: normal;
    color: #000;
}

.page-template-default .page-main h2{
    font-size: 35px;
    font-weight: bold;
    line-height: 1.8;
}

.page-header p {
    position: absolute;
    top: 50%;
    left: 75px;
    transform: translate(0,-50%);
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 77px;
    color: #FFF;
}

.page-main {
    padding: 80px 75px;
}

.page-main h1 {
    font-size: 35px;
    margin-bottom: 60px;
}

.page-main p {
    font-size: 14px;
    line-height: 1.7;
}

.page-main-list {
    margin-bottom: 50px;
}

.page-main-list li {
    position: relative;
    padding-left: 2em;
    font-size: 21px;
}

.page-main-list li:not(:first-child) {
    margin-top: 40px;
}

.page-main-list li:before {
    content: "";
    position: absolute;
    top: 0.1em;
    left: 0;
    width: 1.2em;
    height: 1.2em;
    background: #000;
    border-radius: 50%;
}

.page-main-list li span {
    display: block;
    font-size: 15px;
    min-height: 15px;
}

.page-flow {
    background: #f4f4f4;
    padding: 80px 75px;
}

.page-flow h2 {
    margin-bottom: 60px;
    font-size: 27px;
    font-weight: normal;
}

.page-flow li {
    position: relative;
}

.page-flow li:not(:first-child){
    margin-top: 45px;
}

.page-flow .arrow li:not(:first-child):before{
    content: "";
    position: absolute;
    top: -40px;
    left: 15px;
    width: 16.88px;
    height: 18.77px;
    background: url(../img/common/arrow-down.svg) no-repeat;
}

.page-flow li .flow-numbers {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.page-flow li .flow-numbers h3 {
    margin-left: 20px;
    font-size: 21px;
    font-weight: normal;
}

.page-flow li .flow-number {
    display: block;
    width: 46px;
    height: 46px;
    background: #000;
    border-radius: 50%;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 25px;
    color: #FFF;
    text-align: center;
    line-height: 48px;
}

.page-flow li:nth-of-type(1) .flow-number:before {content: "01";}
.page-flow li:nth-of-type(2) .flow-number:before {content: "02";}
.page-flow li:nth-of-type(3) .flow-number:before {content: "03";}
.page-flow li:nth-of-type(4) .flow-number:before {content: "04";}
.page-flow li:nth-of-type(5) .flow-number:before {content: "05";}
.page-flow li:nth-of-type(6) .flow-number:before {content: "06";}
.page-flow li:nth-of-type(7) .flow-number:before {content: "07";}
.page-flow li:nth-of-type(8) .flow-number:before {content: "08";}
.page-flow li:nth-of-type(9) .flow-number:before {content: "09";}
.page-flow li:nth-of-type(10) .flow-number:before {content: "10";}
.page-flow li:nth-of-type(11) .flow-number:before {content: "11";}
.page-flow li:nth-of-type(12) .flow-number:before {content: "12";}
.page-flow li:nth-of-type(13) .flow-number:before {content: "13";}
.page-flow li:nth-of-type(14) .flow-number:before {content: "14";}
.page-flow li:nth-of-type(15) .flow-number:before {content: "15";}

.page-flow .flow-text p {
    min-height: 1.7em;
    margin-left: 66px;
    font-size: 14px;
    line-height: 1.7;
}

.page-contact a {
    display: block;
    padding: 50px 0;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 8px;
    color: #FFF;
    background: #000;
    transition: all 0.3s ease;
    text-align: center;
    text-decoration: none;
}

.page-contact a span {
    display: block;
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 26px;
}

.page-contact a:hover {
    color: #000;
    background: #FFF;
}


/*----------------------------
home　ホーム
----------------------------*/
.home-slider-img img{
    width: 100%;
    height: auto;
}
.home-slider-wrap {
    position: relative;
}
.home-slider-logo1 {
    position: absolute;
    top: calc(50% - 243px);
    left: calc(50% - 212px);
}

.home-slider-logo2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.home-slider-logo1 img{
    width: 425px;
    height: auto;
    mix-blend-mode: overlay;
}

.home-slider-logo2 img{
    width: 532px;
    height: auto;
}

.home .slick-prev ,
.home .slick-next {
    filter: drop-shadow(0px 0px 1px rgba(46,38,35,0.7));
    width: 46px;
    height: 46px;
}

.home .slick-prev {
    right: 93px;
    top: inherit;
    left: inherit;
    bottom: 105px;
    z-index: 1;
}

.home .slick-next {
    right: 93px;
    bottom: 40px;
    top: inherit;
    z-index: 1;
}

.slick-prev:before,
.slick-next:before{
    display: none;
}

.home .home-contents {
    visibility: hidden;
}

.home .home-contents .home-company {
    padding: 90px 80px 60px 80px;
}

.home .home-contents .home-company .home-title{
    display: flex;
    align-items: center;
}

.home .home-contents .home-company .home-title-logo {
    width: 48%;
    text-align: center;
}

.home .home-contents .home-company .home-title-logo img {
    width: 262px;
    height: auto;
    vertical-align: middle;
}

.home .home-contents .home-company .home-title-desc {
    width: 48%;
}

.home .home-contents .home-company .home-title-desc p {
    line-height: 1.8;
}

.home .home-contents h2 {
    display: flex;
    align-items: center;
}

.home .home-contents h2 span.number{
    font-size: 19px;
    font-weight: normal;
}

.home .home-contents h2 span.title{
    margin-left: 80px;
    font-size: 35px;
}

.home .home-contents .home-01{
    padding: 90px 80px 60px 80px;
}
.home .home-contents .home-02{
    padding: 140px 80px;
}
.home .home-contents .home-03{
    padding: 200px 80px;
    background: #000;
}

.home .home-contents .home-01 h2{
    margin-bottom: 110px;
    padding-left: 15px;
}

.home .home-contents .home-01 ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 200px 20px;
}

.home .home-contents .home-01 ul li a{
    display: block;
    transition: all 0.3s ease;
    text-decoration: none;
}

.home .home-contents .home-01 ul li .scale-wrap {
    overflow: hidden;
}

.home .home-contents .home-01 ul li a img {
    transition: all 0.3s ease;
    vertical-align: bottom;
}

.home .home-contents .home-01 ul li a:hover img {
    transform: scale(1.2);
}

.home .home-contents .home-01 ul li .caption {
    margin-top: 40px;
    font-size: 17px;
    font-weight: bold;
    text-decoration: none;
}

.home .home-02-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.home .home-contents .home-02 h2 {
    padding-left: 15px;
}

.home .home-contents .home-02 .home-02-left{
    width: 50%;
    flex: 1;
}

.home .home-contents .home-02 .home-02-right{
    width: 50%;
    text-align: right;
}

.home .home-contents .home-02 .home-02-left p{
    margin: 30px 0 40px 160px;
    line-height: 2;
}

.home .home-contents .home-02 .home-02-left .round {
    margin: 0px 0 0 160px;
}

.home .home-contents .home-03 h2 {
    color: #FFF;
    padding-left: 15px;
}

.home .home-03-wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.home .home-contents .home-03 .home-03-left{
    width: 50%;
}

.home .home-contents .home-03 .home-03-right{
    width: 50%;
}

.home .home-contents .home-03 .home-03-right p{
    color: #FFF;
    line-height: 2;
    margin-bottom: 30px;
}

/*----------------------------
store　商業店舗・設計・施工
----------------------------*/


/*----------------------------
renovation　リノベーション
----------------------------*/


/*----------------------------
consulting　飲食店開業支援
----------------------------*/


/*----------------------------
brokerage　売買仲介サービス
----------------------------*/


/*----------------------------
company　会社概要
----------------------------*/

.company .page-header {
    width: 100%;
}
.company .page-main {
    padding: 80px 75px 200px 75px;
}

.company .company-detail {
    margin-top: 160px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.company .company-detail .page-main-list li {
    font-size: 21px;
}

.company .page-main-list {
    margin-bottom: 0;
}

.company .page-main-list li:not(:first-child) {
    margin-top: 25px;
}

.company .company-detail .left {
    width: 49%;
}
.company .company-detail .right {
    width: 49%;
}

.company .company-detail .right iframe {
    width: 100%;
    height: 520px;
}

/*----------------------------
contact　お問い合わせ
----------------------------*/
.page-form {
    border: 1px solid #F3F3F3;
    padding: 80px 75px;
}

.page-form li {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.page-form li:not(:first-child){
    margin-top: 40px;
}

.page-form .page-form-head{
    width: 20em;
}

.page-form .page-form-title {
    font-size: 16px;
}

.page-form .page-form-require {
    display: inline-block;
    margin-left: 1em;
    font-size: 10px;
    line-height: 16px;
    padding: 0 8px;
    color: #FFF;
    background: #000;
    vertical-align: text-bottom;
    letter-spacing: 2px;
}

.page-form .page-form-main{
    flex: 1;
}

.page-form .page-form-main input[type="text"],
.page-form .page-form-main input[type="tel"],
.page-form .page-form-main input[type="email"],
.page-form .page-form-main textarea {
    width: 100%;
    font-size: 16px;
    padding: 8px;
    border: 1px solid #DDD;
    background: #F6F6F6;
}

.page-form .page-form-main input[type="checkbox"] {
    font-size: 16px;
}

.page-form .page-form-main .wpcf7-list-item {
    margin: 0.5em 1em 0.5em 0;
}

.page-form .wpcf7-not-valid-tip {
    margin-top: 0.5em;
}

.page-main .wpcf7 form .wpcf7-response-output {
    margin: 2em 0;
    padding: 1em;
    border-color: red;
    color: red;
}

.page-main .page-form-acceptance {
    margin: 4em 0 0 0;
    text-align: center;
}

.page-main .page-form-acceptance .wpcf7-list-item{
    margin: 0;
}

.page-main .page-form-button {
    text-align: center;
}

.page-main input[type="submit"] {
    margin-top: 4em;
    width: 600px;
    max-width: 100%;
    background: #000;
    color: #FFF;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
    line-height: 100px;
    transition: all 0.2s ease;
    cursor: pointer;
}

.page-main .page-form-add {
    width: 600px;
    max-width: 100%;
    margin: 2em auto 0 auto;
}

.page-main .page-form-add p:nth-of-type(2) {
    margin: 2em 0;
}

.page-main .wpcf7 .ajax-loader {
    display: block;
}

.contact .page-main {
    padding-bottom: 190px;
}

.page-main .wpcf7 .wpcf7-submit:disabled {
    opacity: 0.4;
}

/*----------------------------
privacy　個人情報保護方針
----------------------------*/
.privacy .page-main p{
    margin-bottom: 1em;
}

/*=================================
footer フッター
=================================*/
.footer-company a {
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
    text-decoration: none;
    padding: 180px 0;
}

.footer-company a:hover {
    background: #000;
    color: #FFF;
}

.footer-company a span {
    display: block;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 8px;
}

footer{
    background: #f3efeb;
    padding: 120px 140px 60px;
}

.footer-wrap {
    display: flex;
    justify-content: space-between;
    padding-bottom: 170px;
}

.footer-logo {
    min-width: 210px;
}

.footer-logo img{
    width: 210px;
    height: auto;
}

.footer-addr {
    padding-left: 138px;
}

.footer-addr ul {
    margin: 15px 0;
}

.footer-addr p,
.footer-addr li,
.footer-addr a {
    font-size: 14px;
    line-height: 1.5;
    font-style: normal;
}

.footer-addr a {
    text-decoration: none;
}

.footer-addr a:hover {
    text-decoration: underline;
}

.footer-nav {
    padding-left: 340px;
}

.footer-nav p {
    font-family: 'urw-din', sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 16px;
}

.footer-nav ul {
    margin-top: 15px;
}

.footer-nav li a {
    font-size: 14px;
    line-height: 2;
    text-decoration: none;
}

.footer-nav li a:hover {
    text-decoration: underline;
}

.footer-lower {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.footer-lower .copyright {
    font-size: 11px;
}

.footer-lower a {
    font-size: 11px;
    text-decoration: none;
}

.footer-lower a:hover {
    text-decoration: underline;
}