@charset "UTF-8";

/*/////////////////////共通////////////////////////////*/

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    line-height: 1.5;
    width: 100%;
    max-width: 1920px;
    margin: auto;
    overflow-x: hidden;
    position: relative;
    background-color: #F0EEE9;
}

.bg {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
}

.bg-img-1 {
    height: 100vh;
    width: 20%;
    object-fit: cover;
    object-position: right center;
    position: absolute;
    bottom: 0;
    left: 0;
}

.bg-img-2 {
    height: 100vh;
    width: 60%;
    object-fit: cover;
    object-position: left center;
    position: absolute;
    bottom: 0;
    right: 0;
}

a {
    text-decoration: none;
}

div,
section {
    display: flex;
}

section {
    flex-direction: column;
    width: 100%;
    position: relative;
}

.pc {
    display: flex;
}

.pc-tab {
    display: flex;
}

.tab {
    display: none;
}

.sp {
    display: none;
}

@media screen and (max-width: 1000px) {
    .tab {
        display: flex;
    }
    .pc-tab {
        display: none;
    }
}

@media screen and (max-width: 600px) {
    .sp {
        display: flex;
    }
    .pc {
        display: none !important;
    }
    .bg-img-1 {
        height: 100vh;
        width: 50%;
        object-fit: cover;
        object-position: right bottom;
        position: absolute;
        bottom: 0;
        left: 0;
    }
    .bg-img-2 {
        height: 100vh;
        width: 50%;
        object-fit: cover;
        object-position: left bottom;
        position: absolute;
        bottom: 0;
        right: 0;
    }
}

img {
    width: 100%;
}

.content {
    width: 100%;
    max-width: calc(1500px + 4vw);
    margin: auto;
    padding: 120px 2vw;
    flex-direction: column;
    position: relative;
}

.content.w1100 {
    max-width: 1100px;
}

@media screen and (max-width: 1000px) {
    .content {
        max-width: 100%;
    }
    .content.w1100 {
        max-width: 100%;
    }
}

@media screen and (max-width: 600px) {
    .content-wrapper {
        padding: 40px 2vw;
    }
}

body,
.sans {
    font-family: 'Noto Sans JP', sans-serif;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: 'Noto Serif JP', serif;
}

.min {
    font-family: 'Noto Serif JP', serif;
}

a {
    display: flex;
}


/*/////////////////////side-nav////////////////////////////*/

#side-nav {
    position: fixed;
    top: 16vh;
    right: 0;
    height: 60vh;
    min-height: 400px;
    z-index: 10000;
}

.side-btn {
    height: 32%;
    display: flex;
    margin-bottom: 6px;
}

.side-btn-03 {
    margin-bottom: 0;
}

.side-btn img {
    height: 100%;
    width: auto;
}

@media (hover: hover) and (pointer: fine) {
    .side-btn img {
        transition: .1s ease;
    }
    .side-btn img:hover {
        filter: brightness(80%);
    }
}

@media screen and (max-width: 1000px) {
    #side-nav {
        display: none;
    }
}


/*/////////////////////gnav////////////////////////////*/

.gnav-logo {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 10000;
    padding: 10px;
    background-color: rgba( 255, 255, 255, 0.8);
}

#gnav {
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10001;
}

#gnav ul {
    display: flex;
    align-items: center;
    font-weight: bold;
    height: 82px;
}

#gnav .menu {
    padding: 0 40px;
    background-color: rgba(255, 255, 255, .8);
}

#gnav .menu li {
    margin-right: 40px;
}

#gnav .menu li:last-of-type {
    margin-right: 0;
}

#gnav .menu a {
    color: #000;
    font-size: 18px;
}

#gnav .btn li {
    display: flex;
    height: 100%;
    width: 182px;
    align-items: center;
    justify-content: center;
}

#gnav .btn a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    color: #fff;
}

#gnav .renov a {
    font-size: 14px;
    padding: 0 10px;
    background-color: rgba(25, 71, 23, 0.8);
}

#gnav .ct a {
    font-size: 18px;
    padding: 0 10px;
    background-color: rgba(61, 38, 14, 0.8);
}

#sp-nav {
    display: none;
}

.gnav-br-1 {
    display: block;
}

.gnav-br-2 {
    display: none;
}

@media screen and (max-width: 1230px) {
    #gnav .menu a {
        color: #000;
        font-size: 16px;
    }
    #gnav {
        flex-direction: column;
    }
    #gnav .btn {
        align-self: flex-end;
    }
    #gnav ul {
        height: 65px;
    }
    #gnav .ct a {
        font-size: 16px;
    }
    .gnav-br-1 {
        display: none;
    }
    .gnav-br-2 {
        display: block;
    }
    #gnav .btn li.renov {
        width: 210px;
    }
    #gnav .btn li.ct {
        width: 150px;
    }
}

@media screen and (max-width: 820px) {
    #gnav ul {
        display: none;
    }
    .gnav-logo {
        width: 20%;
        max-width: 120px;
        min-width: 95px;
        left: 10px;
        top: 10px;
    }
    #sp-nav {
        display: flex;
        z-index: 20000;
    }
    .drawer_menu-wrapper {
        padding: 15px 15px;
        background-color: #664F33;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 10000;
        cursor: pointer;
    }
    .drawer_menu {
        width: 30px;
        height: 30px;
        display: flex;
        position: relative;
        z-index: 1000;
    }
    .menu-trigger,
    .menu-trigger span {
        display: flex;
        transition: all .4s;
        box-sizing: border-box;
    }
    .menu-trigger {
        width: 30px;
        height: 30px;
    }
    .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #fff;
        /*//border-color//*/
        border-radius: 4px;
    }
    .menu-trigger span:nth-of-type(1) {
        top: 0;
    }
    .menu-trigger span:nth-of-type(2) {
        top: 15px;
    }
    .menu-trigger span:nth-of-type(3) {
        bottom: 0;
    }
    .drawer_menu.active .menu-trigger span:nth-of-type(1) {
        transform: translateY(14px) rotate(-45deg);
    }
    .drawer_menu.active .menu-trigger span:nth-of-type(2) {
        opacity: 0;
    }
    .drawer_menu.active .menu-trigger span:nth-of-type(3) {
        transform: translateY(-14px) rotate(45deg);
    }
    .drawer_menu-wrapper.active+.sp-nav-wrapper {
        left: 0;
    }
    .sp-nav-wrapper {
        width: 100%;
        height: 100vh;
        flex-direction: column;
        align-items: center;
        padding: 135px 2vw 60px 2vw;
        position: fixed;
        top: 0;
        left: 200vw;
        opacity: 0;
        background-color: #EBE8E2;
        overflow-y: scroll;
        transition: ease .5s;
        z-index: 999;
    }
    .sp-nav-inner {
        flex-direction: column;
        width: 100%;
        max-width: 450px;
    }
    .drawer_menu-wrapper.active+.sp-nav-wrapper {
        left: 0;
        opacity: 1;
    }
    .sp-nav-wrapper a {
        width: 100%;
        display: flex;
        align-items: center;
    }
    .sp-nav-wrapper a::after {
        content: ">";
        display: flex;
        justify-self: flex-end;
        margin: auto 0 auto auto;
    }
    .sp-nav-wrapper a.link-box:after {
        content: '';
    }
    .sp-nav-wrapper a.link-box {
        height: 55px;
        margin: 0 auto 10px auto;
    }
    .sp-nav-link {
        padding-bottom: 10px;
        padding-top: 10px;
        border-top: 1px dashed #664F33;
        font-size: 18px;
    }
    .sp-nav-link.btm {
        border-top: none;
    }
    .sp-nav-wrapper a.sp-nav-sns {
        width: fit-content;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        margin: 0 auto 25px auto;
    }
    .sp-nav-sns img {
        width: 30px;
        margin-right: 5px;
        filter: invert(100);
    }
    .sp-nav-wrapper a.sp-nav-sns::after {
        display: none;
    }
    .sp-nav-1 a {
        display: flex;
        font-size: 18px;
        align-items: center;
    }
    .sp-nav-1 li a {
        padding-bottom: 10px;
        border-top: 1px dashed #664F33;
        padding-top: 10px;
    }
    .sp-nav-1 li.last {
        padding-bottom: 10px;
        border-bottom: 1px dashed #664F33;
    }
    .sp-nav-1 a span {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 25px;
        height: 25px;
        font-size: 16px;
        background-color: #664F33;
        color: #fff;
        margin: 0 10px 0 3px;
    }
    .ac-menu {
        flex-direction: column;
    }
    .ac-ttl {
        width: 100%;
        position: relative;
        display: flex;
        font-size: 18px;
        border-bottom: 1px dashed #664F33;
        padding-bottom: 10px;
        padding-top: 10px;
        cursor: pointer;
        font-weight: bold;
        color: #664F33;
    }
    .ac-ttl span {
        position: absolute;
        right: 0;
        width: 15px;
        height: 2px;
        background-color: #664F33;
        /*//border-color//*/
        border-radius: 4px;
        transition: .6s ease;
    }
    .ac-ttl span:nth-of-type(1) {
        top: 50%;
    }
    .ac-ttl span:nth-of-type(2) {
        top: 50%;
        transform: rotate(90deg);
    }
    .ac-ttl.active span:nth-of-type(2) {
        transform: rotate(0deg);
    }
    .sp-nav-2 {
        display: flex;
        height: 0;
        overflow: hidden;
    }
    .ac-ttl.active+.sp-nav-2 {
        display: flex;
        flex-direction: column;
        height: auto;
        overflow: hidden;
    }
    .sp-nav-2 a {
        width: calc(100% - 10px);
        font-size: 18px;
        margin-left: 10px;
        padding-top: 10px;
        border-bottom: 1px dashed #664F33;
        padding-bottom: 10px;
    }
    .sp-renov-link {
        display: flex;
        width: 100%;
        max-width: 290px;
        height: 55px;
        align-items: center;
        justify-content: center;
        background-color: rgb(25, 71, 23);
        font-size: 18px;
        color: #fff;
        margin: 0 auto 30px auto;
        position: relative;
        border: 1px solid #38602D;
    }
    a.sp-renov-link::after {
        content: "";
        background: url(../img/common/link-mark-white.png) no-repeat center / contain;
        position: absolute;
        width: 18px;
        height: 18px;
        right: 5px;
        bottom: 5px;
    }
}
@media screen and (max-width: 600px) {
    .sp-renov-link {
        max-width: 100%;
    }
}

@media (hover: hover) and (pointer: fine) {
    .gnav-logo,
    #gnav .menu a,
    #gnav .renov a,
    #gnav .ct a {
        transition: .2s ease;
    }
    .gnav-logo:hover {
        filter: invert(60);
    }
    #gnav .menu a:hover {
        color: #664F33;
    }
    #gnav .renov a:hover {
        background-color: rgba(38, 103, 36, 0.8);
    }
    #gnav .ct a:hover {
        background-color: rgba(103, 78, 52, 0.8);
    }
    .sp-nav-inner a:hover,
    .ac-ttl:hover {
        background-color: #D6CFC0;
    }
}


/*/////////////////////FREE相談会のバナー////////////////////////////*/

.free-banner {
    width: 297px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10000;
}

.free-banner.link-box {
    width: 297px;
    height: 98px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10000;
    text-align: center;
}

@media (hover: hover) and (pointer: fine) {
    .free-banner.free,
    .free-banner.free.link-box {
        transition: 0.2s ease;
    }
    .free-banner.free:hover,
    .free-banner.free.link-box:hover {
        filter: brightness(130%);
    }
}

@media screen and (max-width: 820px) {
    .free-banner,
    .free-banner.link-box {
        display: none;
    }
}

/*/////////////////////スマホの下のボタン////////////////////////////*/
.sp-btm-btn-wrapper {
    display: none;
}
@media screen and (max-width: 820px) {
    .sp-btm-btn-wrapper {
        display: flex;
        width: 100%;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 990;
    }
    .sp-btm-btn {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 60px;
        color: #fff;
        text-align: center;
        font-weight: bold;
        line-height: 1.2;
        letter-spacing: 2px;
        border-right: 3px solid #fff;
        font-size: 15px;
    }
    .sp-btm-btn.free {
        min-width: 38%;
        background-color: #98682E;
    }
    .sp-btm-btn.sp-concept {
        min-width: 38%;
        background-color: #664F33;
    }
    .sp-btm-btn.tel {
        min-width: 24%;
        background-color: #912828;
        border-right: none;
    }
    .sp-btm-btn.tel .inner {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: auto;
    }
    .sp-btm-btn.tel img {
        width: 20px;
        margin: auto;
    }
    .sp-btm-btn.tel p {
        text-align: center;
        font-size: 12px;
        letter-spacing: 0;
    }
}



/*/////////////////////footer////////////////////////////*/

.fnav {
    width: 100%;
    display: flex;
    line-height: 1.3;
}

.fnav-right {
    width: 25%;
    min-width: 460px;
    flex-direction: column;
    background-color: #38602D;
    padding: 50px 2vw 20px 2vw;
    justify-content: center;
    align-items: center;
}

.fnav-logo {
    width: 257px;
    margin-bottom: 40px;
    align-items: center;
}

.fnav-sns {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 50px;
    color: #fff;
}

.fnav-sns a {
    display: flex;
    align-items: center;
    margin-right: 20px;
    letter-spacing: 2px;
}

.fnav-sns a:nth-of-type(2) {
    margin-right: 0;
}

.fnav-sns img {
    width: 33px;
    margin-right: 10px;
}

.fnav-ad {
    font-size: 16px;
    letter-spacing: 2px;
    color: #fff;
}

.fnav-menu-block {
    width: 75%;
    background: url(../img/common/fnav-bg.jpg)no-repeat center / cover;
    padding: 60px 2vw 20px 90px;
    flex-direction: column;
}

.fnav-menu-top {
    margin-bottom: 30px;
}

.fnav-menu-btm ul {
    display: flex;
}

.fnav-menu-btm li {
    color: #fff;
}

.fnav-menu-btm a {
    margin-right: 25px;
}

.fnav-menu {
    display: flex;
    color: #fff;
    flex-direction: column;
    margin-right: 60px;
}

.fnav-menu:last-of-type {
    margin-right: 0;
}

.fnav-ttl {
    display: flex;
    align-items: center;
    height: 55px;
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 30px;
}

.fnav-menu ul {
    display: flex;
    flex-direction: column;
}

.fnav-menu li {
    font-size: 18px;
    margin-bottom: 15px;
}

.footer-btm {
    background-color: #000;
    color: #fff;
    text-align: center;
    padding: 10px 2vw 10px 2vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fnav .br-sp {
    display: none;
}

.fnav .br-tb {
    display: none;
}

@media (hover: hover) and (pointer: fine) {
    .fnav a:hover {
        opacity: 0.5;
    }
}

@media screen and (max-width: 1420px) {
    .fnav-menu-block {
        padding-left: 2vw;
        padding-right: 2vw;
        justify-content: center;
    }
    .fnav-menu {
        margin-right: 3vw;
    }
    .fnav .br-sp {
        display: block;
    }
    .fnav-sns img {
        width: 35px;
    }
    .fnav-logo {
        width: 200px;
    }
    .fnav-ad {
        margin: 0 auto 0 0;
    }
    .fnav-right {
        min-width: 270px;
    }
    .sns-text {
        display: none;
    }
    .fnav .br-tb {
        display: block;
    }
}

@media screen and (max-width: 1180px) {
    .footer-btm {
        padding: 10px 2vw 90px 2vw;
    }
}

@media screen and (max-width: 1040px) {
    .fnav {
        flex-direction: column-reverse;
    }
    .fnav-menu-block {
        width: 100%;
        padding: 40px 2vw;
    }
    .fnav-logo {
        display: none;
    }
    .fnav-right {
        width: 100%;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        padding: 30px 2vw;
    }
    .fnav-sns a {
        margin-right: 10px;
    }
    .fnav .br-tb {
        display: none;
    }
    .fnav-sns {
        margin-bottom: 0;
        margin-right: 30px;
    }
    .fnav-ad {
        margin: 0;
    }
    .fnav-menu {
        margin-right: 5vw;
    }
    .footer-btm {
        padding: 20px 2vw 90px 2vw;
        justify-content: flex-start;
    }
}

@media screen and (max-width: 860px) {
    .fnav-menu br {
        display: none;
    }
}

@media screen and (max-width: 820px) {
    .fnav {
        display: none;
    }
    .footer-btm {
        font-size: 12px;
        justify-content: center;
    }
    .footer-btm {
        padding: 10px 2vw 72px 2vw;
    }
}


/*/////////////////////ページヘッダー////////////////////////////*/

.page-header {
    width: 100%;
    padding: 190px 2vw 80px 2vw;
}

.page-header h1 {
    display: flex;
    flex-direction: column;
    font-size: 38px;
    margin: auto;
    justify-content: center;
    align-items: center;
    letter-spacing: 8px;
    text-align: center;
}

.page-header h1::after {
    content: "";
    width: 67px;
    height: 4px;
    background: url(../img/common/ttl-border-1.png) no-repeat center / contain;
    margin-top: 10px;
    margin-bottom: 20px;
}

.page-header p {
    font-size: 21px;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 5px;
}

#breadcrumbs {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 2vw;
    background-color: #EBE8E2;
}

.breadcrumbs-inner {
    width: 100%;
    max-width: 1500px;
    margin: auto;
    padding: 35px 0;
    align-items: flex-start;
}

#breadcrumbs a {
    display: flex;
    align-items: center;
    font-size: 18px;
    color: #98682E;
    white-space: nowrap;
}

#breadcrumbs a::after {
    content: "|";
    font-size: 12px;
    margin: auto 10px;
    color: #000;
}

#breadcrumbs p {
    display: flex;
    width: auto;
    align-self: flex-start;
}

@media screen and (max-width: 870px) {
    .page-header h1 {
        font-size: 32px;
    }
    .page-header {
        padding: 130px 2vw 40px 2vw;
    }
    .breadcrumbs-inner {
        padding: 20px 0;
    }
    .page-header p {
        font-size: 18px;
    }
}

@media screen and (max-width: 600px) {
    .page-header h1 {
        font-size: 28px;
    }
    .page-header p {
        font-size: 16px;
    }
}


/*/////////////////////コンテンツ////////////////////////////*/

#top-btn {
    display: flex;
    width: 55px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    transition: .5s ease;
    z-index: 99;
    cursor: pointer;
}

#top-btn.active {
    bottom: 128px;
}

.ttl {
    display: flex;
    flex-direction: column;
    margin-bottom: 60px;
    color: #664F33;
    letter-spacing: 6px;
}

.ttl.center {
    text-align: center;
    justify-content: center;
}

.black {
    color: #000;
}

.white {
    color: #fff;
}

.ttl h1::after,
.ttl h2::after,
.ttl h3::after,
.ttl h4::after {
    display: flex;
    content: "";
    width: 67px;
    height: 4px;
    background: url(../img/common/ttl-border-2.png) no-repeat center / contain;
    margin-top: 5px;
}

.ttl.black h1::after,
.ttl.black h2::after,
.ttl.black h3::after,
.ttl.black h4::after {
    background: url(../img/common/ttl-border-1.png) no-repeat center / contain;
}

.ttl.white h1::after,
.ttl.white h2::after,
.ttl.white h3::after,
.ttl.white h4::after {
    background: url(../img/common/ttl-border-3.png) no-repeat center / contain;
}

.ttl.center h1::after,
.ttl.center h2::after,
.ttl.center h3::after,
.ttl.center h4::after {
    margin: 5px auto 0 auto;
}

.ttl-1,
.ttl-1 h1,
.ttl-1 h2,
.ttl-1 h3,
.ttl-1 h4 {
    font-size: 35px;
}

.ttl-2,
.ttl-2 h2,
.ttl-2 h3,
.ttl-2 h4 {
    font-size: 28px;
}

.ttl-sub {
    font-family: 'Noto Serif JP', serif;
    font-size: 16px;
    letter-spacing: 2px;
    margin-top: 20px;
}

.ttl-sub.center {
    text-align: center;
}

.l {
    text-align: left;
}

.r {
    text-align: right;
}

.c {
    text-align: center;
}

.link-box {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 350px;
    width: 100%;
    height: 50px;
    font-family: 'Noto Serif JP', serif;
    font-size: 20px;
    border: 1px solid #664F33;
    color: #664F33;
    background-color: #fff;
    position: relative;
}

.link-box::after {
    content: "";
    position: absolute;
    width: 21px;
    height: 21px;
    background: url(../img/common/link-mark.png) no-repeat center / contain;
    right: 5px;
    bottom: 5px;
}

.link-box {
    margin: auto;
}

.link-box_sp {
    display: none;
}

.img img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.bgc {
    background-color: #EBE8E2;
}

.bgc2 {
    background-color: #E8E1D3;
}

#cta {
    background: url(../img/common/cta-bg.jpg) no-repeat center / cover;
}

.cta-block {
    padding: 40px;
    background-color: #EBE8E2;
    justify-content: space-between;
}

.cta-text {
    flex-direction: column;
    width: 60%;
    margin-right: 20px;
}

#cta h2 {
    color: #fff;
    font-size: 20px;
    margin: 0 auto 20px auto;
}

.cta-text p {
    font-size: 20px;
    line-height: 1.8;
}

#cta .tel {
    margin: 30px 0;
    max-width: 550px;
}

.cta-text p span {
    font-size: 26px;
}

.info {
    flex-wrap: wrap;
}

.cta-text .info p {
    display: flex;
    align-items: center;
    font-size: 18px;
    margin-right: 20px;
}

.cta-text .info p span {
    display: flex;
    font-size: 14px;
    width: 80px;
    height: 25px;
    background-color: #000;
    color: #fff;
    margin-right: 10px;
    justify-content: center;
    align-items: center;
}

#cta .link-block {
    flex-direction: column;
    width: 100%;
    max-width: 350px;
    justify-content: center;
}

#cta .link-box {
    max-width: 350px;
    height: 113px;
    margin: 0;
}

#cta .link-box:first-of-type {
    margin-bottom: 15px;
}

#studio {
    background: url(../img/common/studio-bg.jpg)no-repeat center / cover;
}

.studio-block {
    padding: 40px;
    background-color: #fff;
}

.studio-block .img {
    width: 60%;
    height: auto;
}

.studio-block .img img {
    height: 100%;
    object-fit: cover;
}

.studio-text-block {
    width: 38%;
    min-width: 285px;
    flex-direction: column;
    margin-left: 20px;
}

#studio .ttl {
    margin-bottom: 30px;
}

#studio .tel {
    width: 100%;
    margin-bottom: 20px;
}

#studio .ad {
    margin-bottom: 10px;
}

.studio-text {
    margin-bottom: 5px;
    display: flex;
}

.studio-text:nth-of-type(3) {
    margin-bottom: 20px;
}

.studio-text span {
    display: flex;
    font-size: 14px;
    width: 80px;
    background-color: #000;
    color: #fff;
    padding: 2px;
    justify-content: center;
    align-items: center;
    margin-right: 5px;
}

#contact + #cta {
    display: none;
}

#sb_instagram {
    flex-direction: column;
}
#sb_instagram #sbi_images {
    flex-wrap: wrap;
}
#sb_instagram .sbi_photo {
    width: 100%;
}

#thanks p {
    text-align: center;
    font-size: 16px;
    letter-spacing: 3px;
}
#thanks .link-box {
    margin-top: 60px;
    height: 80px;
}
#thanks .content {
    padding-top: 30px;
}
@media screen and (max-width: 870px) {
    .ttl-1,
    .ttl-1 h1,
    .ttl-1 h2,
    .ttl-1 h3,
    .ttl-1 h4 {
        font-size: 26px;
    }
    .ttl-2,
    .ttl-2 h2,
    .ttl-2 h3,
    .ttl-2 h4 {
        font-size: 23px;
    }
    .content {
        padding: 80px 2vw;
    }
    .ttl {
        margin-bottom: 40px;
    }
    .link-box {
        font-size: 16px;
        max-width: 290px;
        height: 43px;
    }
    .link-box::after {
        width: 18px;
        height: 18px;
    }
    .cta-text p {
        font-size: 18px;
    }
    #cta h2 {
        font-size: 16px;
    }
    .cta-text .info p {
        font-size: 15px;
    }
    .cta-text .info p span {
        font-size: 12px;
        height: 20px;
    }
}

@media screen and (max-width: 820px) {
    .cta-block {
        flex-direction: column;
    }
    .cta-text {
        width: 100%;
        margin-bottom: 30px;
        margin-right: 0;
    }
    #cta .link-block {
        width: 100%;
        flex-direction: row;
        max-width: 100%;
    }
    #cta .link-box:first-of-type {
        margin-bottom: 0;
        margin-right: 15px;
    }
    #top-btn {
        width: 50px;
        right: 10px;
        bottom: -200px;
    }
    #top-btn.active {
        bottom: 70px;
    }
}

@media screen and (max-width: 600px) {
    .ttl-1,
    .ttl-1 h1,
    .ttl-1 h2,
    .ttl-1 h3,
    .ttl-1 h4 {
        font-size: 23px;
    }
    .ttl-2,
    .ttl-2 h2,
    .ttl-2 h3,
    .ttl-2 h4 {
        line-height: 1.8;
        font-size: 21px;
    }
    .ttl-2 h2::after,
    .ttl-2 h3::after,
    .ttl-2 h4::after {
        margin-top: 10px;
    }
    .link-box {
        max-width: 100%;
        height: 43px;
    }
    .ttl-sub {
        margin-top: 10px;
    }
    .content {
        padding: 60px 2vw;
    }
    .ttl {
        margin-bottom: 20px;
    }
    #breadcrumbs a,
    #breadcrumbs p {
        font-size: 14px;
    }
    #page .ttl {
        margin-bottom: 40px;
    }
    .cta-block {
        padding: 40px 20px;
    }
    .cta-text p span {
        font-size: 19px;
    }
    .cta-text p {
        font-size: 16px;
    }
    #cta .link-block {
        flex-direction: column;
    }
    #cta .link-box {
        width: 300px;
        height: 80px;
        margin: auto;
    }
    #cta .link-box:first-of-type {
        margin-bottom: 10px;
        margin-right: auto;
    }
    .studio-text-block {
        width: 100%;
        margin-left: 0;
        min-width: 0;
    }
    .studio-img {
        width: 100%;
        margin-bottom: 20px;
    }
    .studio-block {
        padding: 40px 20px;
    }
}

@media (hover: hover) and (pointer: fine) {
    .link-box {
        transition: .1s ease;
    }
    .link-box:hover {
        background-color: #D6CFC0;
    }
}


/*/////////////////////ページネーション////////////////////////////*/

.wp-pagenavi {
    margin: 80px auto 90px auto;
    flex-wrap: wrap;
}

.wp-pagenavi .current {
    font-size: 12px;
    font-weight: bold;
    padding: 12px 15px;
    color: #000;
    background-color: #D6D6D6;
    margin-right: 3px;
}

.pager {
    width: 100%;
    margin: 40px auto 0 auto;
    align-items: center;
    justify-content: center;
}

.pager div {
    align-items: center;
    justify-content: center;
}

.wp-pagenavi a,
.pager a {
    font-size: 16px;
    font-weight: bold;
    padding: 12px 15px;
    color: #fff;
    background-color: #664F33;
    margin-right: 3px;
}

.pager a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 55px;
    width: 180px;
    padding: 0;
    margin: 0;
    letter-spacing: 5px;
}

.back a {
    background-color: #912828;
}

.prev a {
    background-color: transparent;
    background: url(../img/common/pager-prev.png) no-repeat left center / cover;
    justify-content: flex-end;
    padding-right: 30px;
    margin-right: 30px;
}

.next a {
    background-color: transparent;
    background: url(../img/common/pager-next.png) no-repeat right center / cover;
    justify-content: flex-start;
    padding-left: 30px;
    margin-left: 30px;
}

.wp-pagenavi a.first,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.last,
.wp-pagenavi a.nextpostslink {
    padding: 12px 22px;
}

.wp-pagenavi a:last-of-type {
    margin-right: 0;
}

@media (hover: hover) and (pointer: fine) {
    .wp-pagenavi a:hover,
    .pager a:hover {
        opacity: 0.6;
    }
}

@media screen and (max-width: 660px) {
    .pager {
        justify-content: center;
    }
    .pager a {
        height: auto;
        text-align: center;
        margin: 0;
        font-size: 12px;
    }
    .prev,
    .next,
    .back {
        width: 30%;
    }
    .prev {
        margin-right: 1.5%;
    }
    .next {
        margin-left: 1.5%;
    }
    .pager .back a {
        width: 100%;
        justify-content: center;
        background-image: none;
        padding: 10px 5px;
        margin: 0;
    }
    .pager .prev a,
    .pager .next a {
        width: 100%;
        justify-content: center;
        background-image: none;
        background-color: #664F33;
        padding: 10px 5px;
        margin: 0;
    }
}

@media screen and (max-width: 600px) {
    .pager a {
        padding: 12px 22px;
    }
    .pager {
        margin-bottom: 60px;
    }
}


/* //////////CONTACT////////// */

.contact-text {
    text-align: center;
}

.wpcf7 {
    width: 100%;
    margin: auto;
}

.wpcf7 form {
    width: 100%;
}

.contact-form-wrapper {
    width: 100%;
    flex-direction: column;
    align-items: center;
    padding: 0 2vw;
    margin: 60px auto;
}

.contact-form-wrapper label {
    display: flex;
    align-items: center;
}

.input-wrapper {
    width: 100%;
    max-width: 860px;
    margin: auto;
    border-top: 1px solid #b29f87;
}

.input-wrapper.last {
    border-bottom: 1px solid #b29f87;
}

.input-h {
    font-weight: bold;
    width: 240px;
    padding: 25px 20px;
    display: flex;
}

.input-h p {
    display: flex;
    align-items: flex-start;
    margin-top: 0;
    height: fit-content;
}

.input-h .required {
    font-size: 12px;
    color: #fff;
    background-color: #912828;
    padding: 3px 10px;
    margin-left: 10px;
}

.input-h .small {
    font-size: 12px;
}

.input-d {
    flex-direction: column;
    width: calc(100% - 240px);
    padding: 25px 20px;
}

input,
textarea,
select {
    border-radius: 3px;
    padding: 0 5px;
    height: 40px;
    width: 100%;
    border: 1px solid #bbb;
}

input {
    max-width: 100%;
}

input[type=checkbox] {
    width: 15px;
    height: 15px;
    min-width: 15px;
    min-height: 15px;
    margin: auto 8px auto 0;
}

textarea {
    height: 250px;
    padding: 10px;
}

.your-day {
    width: 190px;
    height: 40px;
    margin-right: 20px;
}

.your-time {
    width: 190px;
    height: 40px;
}

.your-day-text {
    font-size: 12px;
    margin-top: 10px;
    color: #a72424;
    font-weight: bold;
}

.your-day-text-02 {
    margin-top: 0;
}

.your-check {
    display: flex;
    flex-direction: column;
}

.your-check span {
    margin-left: 0;
}

.your-check .wpcf7-list-item {
    margin-bottom: 10px;
}

.your-check .wpcf7-list-item.last {
    margin-bottom: 0;
}

.your-studio span {
    margin: 0;
}

input[type=radio] {
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    margin: auto 8px auto 0;
}

.form-agree {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 30px auto;
    color: #a72424;
    font-weight: bold;
    font-size: 14px;
}

.form-agree label {
    margin: auto;
}

.form-check input[type=checkbox] {
    min-width: 20px;
    min-height: 20px;
}

.wpcf7-list-item {
    margin-left: 0 !important;
}

.form-submit {
    width: 220px;
    display: flex;
    align-items: center;
}

.wpcf7-submit {
    border: none;
    color: #fff;
    background-color: #912828;
    padding: 10px;
    border-radius: 3px;
    font-weight: bold;
    min-width: 100%;
    height: 55px;
    font-size: 18px;
}

.contact-privacy {
    flex-direction: column;
    width: 100%;
    max-width: 800px;
}

.contact-privacy-ttl {
    font-weight: bold;
    font-size: 18px;
    margin: 40px 0 10px 0;
}

.contact-privacy-text {
    font-size: 12px;
    line-height: 1.8;
}

.form-btm-text {
    flex-direction: column;
    margin: 32px auto 43px auto;
}

.form-btm-text p {
    font-size: 14px;
    text-align: center;
    line-height: 1.5;
}

.form-btm-text p.big {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 13px;
}

#contact .content {
    max-width: 1100px;
}

.contact-wrapper {
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #E8E1D3;
    padding: 80px 2vw;
}

.contact-wrapper .ttl {
    margin-bottom: 0;
}

.contact-wrapper .ttl .ttl-sub {
    color: #000;
}

.nop .input-d span {
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.nop .input-d span:first-of-type {
    margin-bottom: 5px;
}

.nop .input-d p {
    display: flex;
    flex-direction: column;
}

.nop .input-d input span:first-of-type {
    margin-bottom: 0;
}

.nop br {
    display: none;
}
.file-wrapper {
    flex-direction: column;
}
.file-wrapper p {
    display: flex;
    flex-direction: column;
}
.wpcf7 input[type="file"] {
    width: auto;
    height: auto;
    padding: 0;
    border: none;
    margin-bottom: 10px;
}

.contact-btm-text-ttl {
    font-size: 16px;
    margin-top: 30px;
    font-weight: bold;
    text-align: left;
}
.contact-btm-text {
    font-size: 14px;
    margin-top: 3px;
    text-align: left;
}

@media screen and (max-width: 1000px) {
    .contact-wrapper .ttl {
        margin-bottom: 60px;
    }
    .contact-form-wrapper {
        padding: 0 2vw;
        margin-top: 0;
    }
    .input-wrapper {
        flex-direction: column;
    }
    .input-d,
    .input-h {
        width: 100%;
    }
    .input-h {
        padding: 0;
        margin-bottom: 20px;
    }
    .input-d {
        background-color: transparent;
        padding: 0;
        margin-bottom: 20px;
    }
    .input-wrapper {
        border: none;
    }
    .input-column-wrapper {
        display: flex;
        flex-direction: column;
    }
    .your-time {
        margin-top: 15px;
    }
    .form-agree label {
        display: flex;
        align-items: center;
    }
    #contact-form .contact-form-wrapper {
        padding: 0;
        margin-top: 20px;
    }
    .form-btm-text {
        margin: 30px auto 50px 0;
    }
    .form-btm-text p {
        text-align: left;
    }
    .input-d {
        font-size: 14px;
    }
    .input-wrapper {
        margin-bottom: 20px;
    }
}

@media (hover: hover) and (pointer: fine) {
    .wpcf7 .wpcf7-submit {
        cursor: pointer;
    }
    .wpcf7 .wpcf7-submit:disabled {
        cursor: not-allowed;
    }
}


/* //////////animation////////// */

.fade {
    opacity: 0;
    transition: all 1.3s;
}

.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 1.3s;
}

.fade-R {
    opacity: 0;
    transform: translateX(20px);
    transition: all 1.3s;
}

.fade-L {
    opacity: 0;
    transform: translateX(-20px);
    transition: all 1.3s;
}

.marker {
    padding: 0 5px;
    background-image: linear-gradient(#FFF6A1, #FFF6A1);
    background-size: 0 50%;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: 2s ease;
}

.marker.active {
    background-size: 100% 50%;
}

.dly {
    transition-delay: 0.3s;
}

.dly2 {
    transition-delay: 0.6s;
}
.dly3 {
    transition-delay: 0.9s;
}

.test {
    width: 100%;
    height: 200vh;
}

@media screen and (max-width: 600px) {
    .dly,
    .dly2,
    .dly3 {
        transition-delay: 0;
    }
}

.your-radio {
    margin-top: 10px;
}
.your-radio span {
    margin-right: 20px;
}