/*=============================================================
  common.css
---------------------------------------------------------------

01. common layout
02. main-header
03. main-footer
04. part-footer-contact
05. home
06. news
07. concept
08. jyutaku
09. with dog
10. example
11. ex-detail
12. after support
13. company
14. form layout [ common on #contact and #mail ]
15. contact
16. mail
17. thanks
18. privacy
19. voice
20. various browser
21. media query
22. mobile
23. helper

===============================================================
01. common layout
=============================================================*/

.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    transition: none !important;
}

.wf-cizel {
    font-family: 'Cinzel', serif;
    letter-spacing: 3px;
}

.pc,
.pc-alt {
	display: inline-block;
}

.sp,
.sp-alt {
	display: none;
}

.white {
    color: #fff;
}

.central {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    -webkit-transform: translateX( -50% ) translateY( -50% );
    -moz-transform: translateX( -50% ) translateY( -50% );
    -ms-transform: translateX( -50% ) translateY( -50% );
    transform: translateX( -50% ) translateY( -50% );
}

.central-y {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 1;

    -moz-transform: translateY( -50% );
    -ms-transform: translateY( -50% );
    transform: translateY( -50% );
}

#loading-layer {
    width: 100%;
    height: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    transition: all ease 1200ms;
    transition-delay: 50ms;
    overflow: hidden;
}

.loaded #loading-layer {
    opacity: 0;
    visibility: hidden;
}

#contents {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

.inner {
    width: 86%;
    margin: 0 auto;
    padding: 65px 0 80px;
}

.inner-alt {
    padding: 60px 11%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.inner.pt-pb-0 {
    padding-top: 0;
    padding-bottom: 0;
}

.inner.pt-0 {
    padding-top: 0;
}

.inner.pt-minus {
    padding-top: 56px;
}

.inner.pb-minus {
    padding-bottom: 65px;
}

.inner.pb-0 {
    padding-bottom: 0;
}

.inner.little-wide {
    width: 90%;
}

.mass.mb-plus,
.mass.mb-plus-mobile-valid {
    margin-bottom: 80px;
}

.mass.mb-little-plus {
    margin-bottom: 20px;
}

.mass.plus-pt {
    padding-top: 90px;
}

img {
    display: inline-block;
    width: 100%;
    overflow: hidden;
}

p {
    margin-bottom: 15px;
}

p:last-of-type {
    margin-bottom: 0;
}

p.mb-default {
    margin-bottom: 15px;
}

p.mb-plus {
    margin-bottom: 28px;
}

p.mb-plus-more {
    margin-bottom: 38px;
}

p.big {
    font-size: 24px;
}

a.link-text {
    color: #000;
    text-decoration: none;
    transition: all ease 300ms;
}

a.link-text:hover {
    color: #a19a7d;
}

.btn-01-wrapper {
    text-align: center;
}

.btn-01 {
    display: inline-block;
    padding-top: 90px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    font-size: 23px;
    color: #a19a7d;
    text-decoration: none;
}

.btn-01::before,
.btn-01::after {
    display: inline-block;
    content: "";
    width: 1px;
    height: 70px;
    position: absolute;
    top: 15px;
    left: 50%;
    z-index: 1;
    overflow: hidden;
}

.btn-01::before {
    background: #bbb;
}

.btn-01::after,
.btn-01 span.under-line {
    transition: all ease 400ms;
}

.btn-01::after {
    background: #a19a7d;
}

.btn-01:hover::after {
    height: 0;
    top: 85px;
}

.btn-01 span.under-line {
    display: inline-block;
    width: 0;
    height: 2px;
    background: #a19a7d;
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 1;
    overflow: hidden;
}

.btn-01:hover span.under-line {
    width: 100%;
    left: 0;
}

.btn-01.white {
    color: #fff;
}

.btn-01.white::before {
    background: rgba( 255,255,255,0.4 );
}

.btn-01.white::after,
.btn-01.white span.under-line {
    background: #fff;
}


.btn-02 {
    display: inline-block;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
    font-size: 22px;
    line-height: 1.5;
    cursor: pointer;
}

.btn-02::after {
    display: inline-block;
    content: "";
    width: 100%;
    height: 3px;
    background: #a19a7d;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

a:hover .btn-02::after,
.btn-02:hover::after {
    animation: btn-02-ov ease infinite 2400ms;
}

@keyframes btn-02-ov {
    0%{ opacity: 1; transform: translateX( 0 ); }
    30%{ opacity: 1; transform: translateX( 110% ); }
    31%{ opacity: 0; transform: translateX( 110% ); }
    32%{ opacity: 0; transform: translateX( -110% ); }
    33%{ opacity: 1; transform: translateX( -110% ); }
    63%{ opacity: 1; transform: translateX( 0% ); }
    100%{ opacity: 1; transform: translateX( 0% ); }
}

.btn-03 {
    display: inline-block;
    width: 45%;
    max-width: 500px;
    min-width: 280px;
    padding: 26px 0;
    border: solid 3px #a19a7d;
    -webkit-border-radius: 1000px;
    border-radius: 1000px;
    background: rgba( 255,255,255,0.3 );
    color: #a19a7d;
    text-align: center;
    text-decoration: none;
    line-height: 1;
    transition: all ease 300ms;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.btn-03:hover {
    background: #a19a7d;
    color: #fff;
}

.tit-01 {
    margin-bottom: 35px;
    font-size: 30px;
    color: #a19a7d;
    text-align: center;
    line-height: 1.6;
}

.tit-01.white {
    color: #fff;
}

.tit-01.ta-l {
    text-align: left;
}

.tit-01.mb-plus {
    margin-bottom: 42px;
}

.tit-01.mb-minus {
    margin-bottom: 28px;
}

.tit-01.mb-super-minus {
    margin-bottom: 15px;
}

.tit-01.mb-0 {
    margin-bottom: 0;
}

.tit-02 {
    margin-bottom: 15px;
    font-size: 20px;
    color: #362e2b;
    text-align: left;
    line-height: 1.6;
}

.white-base {
    background: #fff;
}

.white-base.pb-plus {
    padding-bottom: 90px;
}

.beige-base {
    background: #f3f1ea;
}

.beige-base.with-motion {
    background: rgba( 243,241,234,0 );
    transition: all ease 1000ms;
}

.active .beige-base.with-motion {
    background: rgba( 243,241,234,1 );
}

.beige-base-divi {
    padding-bottom: 60px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

.beige-base-divi .inner {
    position: relative;
    top: 0;
    left: 0;
    z-index: 2;
}

.beige-base-divi::after {
    display: inline-block;
    content: "";
    width: 100%;    
    padding-top: 14%;
    background: #f3f1ea;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    transition: all ease 1000ms;
    opacity: 0;
}

.active .beige-base-divi::after {
    opacity: 1;
}

.base-biege-alpha {
    background: rgba( 243,241,232,0.85 );
    -webkit-backdrop-filter: blur( 6px );
    -moz-backdrop-filter: blur( 6px );
    backdrop-filter: blur( 6px );
}

.base-white-alpha {
    background: rgba( 255,255,255,0.8 );
    -webkit-backdrop-filter: blur( 10px );
    backdrop-filter: blur( 10px );
}

.base-white-alpha.strong {
    background: rgba( 255,255,255,0.88 );
}

/*
 * frame
 */

body::before,
body::after,
#wrapper::before,
#wrapper::after {
    display: block;
    background: #fff;
    position: fixed;
    z-index: 50;
}

body::before,
body::after,
#wrapper::before,
#wrapper::after {
    content: "";
}

body::before,
body::after {
    width: 100%;
    height: 11px;
    left: 0;
}

body::before {
    top: 0;
}

body::after {
    bottom: 0;
}

#wrapper::before,
#wrapper::after {
    width: 11px;
    height: 100%;
    top: 0;
}

#wrapper::before {
    left: 0;
}

#wrapper::after {
    right: 0;
}

/*
 * #visual
 */

#visual {
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
}

#visual #icon-scroll {
    width: 60px;
    height: 200px;
    background: #fff;
    position: absolute;
    bottom: 0;
    left: 11px;
    z-index: 1;
}

#visual #icon-scroll .line-box {
    width: 1px;
    height: 70px;
    background: #eee;
    position: absolute;
    top: 23px;
    left: 22px;
    z-index: 1;
    overflow: hidden;
}

#visual #icon-scroll .line-box::before {
    display: inline-block;
    content: "";
    width: 1px;
    height: 70px;
    background: #a7a18a;
    animation: icon-scroll-bar ease infinite 2600ms;
}

@keyframes icon-scroll-bar {
    0%{ transform: translateY( -110%); }
    70%{ transform: translateY( 110%); }
    100%{ transform: translateY( 110%); }
}

#visual #icon-scroll img {
    width: auto;
    height: 78px;
    position: absolute;
    bottom: 20px;
    left: 16px;
    z-index: 1;
}

/*
 * .pages #bg and #visual
 */

.pages #bg {
    transform: scale( 1.25 );
    transition: all ease 1400ms;
    transition-delay: 50ms;
}

.pages.init-motion-end #bg {
    transition: none;
}

.pages.loaded #bg {
    transform: scale( 1.00001 );
}

.pages #bg #bg-layer {
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: all ease 800ms;
    opacity: 0;
    overflow: hidden;
}

.pages #bg #bg-layer.active {
    opacity: 0.35;
}

.pages #visual #visual-tit {
    width: 60%;
}

.pages #visual #visual-tit h1 img {
    transition: all ease 600ms;
    transform: translateY( 30px );
    opacity: 0;
    overflow: hidden;
}

.pages #visual #visual-tit h1 img:nth-of-type( 1 ),
.pages #visual #visual-tit h1 img:nth-of-type( 3 ) {
    margin-bottom: 15px;
    transition-delay: 500ms;
}

.pages #visual #visual-tit h1 img:nth-of-type( 2 ),
.pages #visual #visual-tit h1 img:nth-of-type( 4 ) {
    transition-delay: 700ms;
}

.pages.loaded #visual #visual-tit h1 img {
    transform: translateY( 0 );
    opacity: 0.99999;
}

/*
 * #bg and #video
 */

#bg-wrapper,
#bg,
#video-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#bg-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
}

#bg {
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#video {
    min-width: 100%;
    min-height: 100%;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    -webkit-transform: translateX( -50% ) translateY( -50% );
    -moz-transform: translateX( -50% ) translateY( -50% );
    -ms-transform: translateX( -50% ) translateY( -50% );
    transform: translateX( -50% ) translateY( -50% );
}

#video-wrapper .paused-layer {
    width: 100%;
    height: 100%;
    background: url( /common/video/poster-sp.jpg ) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#video-wrapper .paused-layer.none {
    display: none;
}

/*
 * .box-img
 */

.box-img {
    width: 100%;
    padding-top: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    overflow: hidden;
}

.box-img.wide {
    padding-top: 55%;
}

.box-img.wide.mb-plus {
    margin-bottom: 45px;
}

ul.normal-three-colomn li,
ul.row-three-colomn li {
    display: inline-block;
    width: calc( 100% / 3 );
    padding: 0 2%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: top;
}


ul.row-three-colomn li:nth-of-type( 2 ) .box-img {
    padding-top: 157%;
}

ul.row-three-colomn li:nth-of-type( 1 ),
ul.row-three-colomn li:nth-of-type( 3 ) {
    padding-top: 7%;
}

ul.row-three-colomn li:nth-of-type( 1 ) .box-img,
ul.row-three-colomn li:nth-of-type( 3 ) .box-img {
    padding-top: 150%;
    position: relative;
    left: 0;
    z-index: 1;
}

/*
 * .row
*/

.row {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

.row.fit-colomn .lefter,
.row.fit-colomn .righter {
    width: 50%;
}

.row.fit-colomn .lefter {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
}

.row.fit-colomn .righter {
    margin-left: 50%;
    padding: 6% 3%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/*
 * .divi-wrapper
*/

.divi-wrapper {
    overflow: hidden;
}

.divi-wrapper .box-img {
    width: 60%;
    height: 100%;
    padding-top: 0;
    position: absolute;
    top: 0;
    z-index: 1;
}

.divi-wrapper .box-text {
    width: 42%;
}

.divi-wrapper.img-left .box-img {
    left: -8%;
}

.divi-wrapper.img-left .box-text {
    margin-left: 58%;
}

.divi-wrapper.img-right .box-img {
    right: -8%;
}


/*
 * .divi-img-with-bg 
 */

.divi-img-with-bg .inner {
    width: 84%;
    padding: 85px 0 50px;
}

.divi-img-with-bg .box-img:nth-of-type( 1 ) {
    width: 40%;
    padding-top: 60%;
    margin: 0 auto;
}

.divi-img-with-bg .box-img:nth-of-type( 2 ),
.divi-img-with-bg .box-img:nth-of-type( 3 ) {
    position: absolute;
    z-index: 1;
}

.divi-img-with-bg.square-left .box-img:nth-of-type( 3 ),
.divi-img-with-bg.square-right .box-img:nth-of-type( 2 ) {
    width: 46%;
    padding-top: 30%;
}

.divi-img-with-bg.square-left .box-img:nth-of-type( 2 ),
.divi-img-with-bg.square-right .box-img:nth-of-type( 3 ) {
    width: 46%;
    padding-top: 46%;
}

.divi-img-with-bg.square-right .box-img:nth-of-type( 2 ) {
    top: 30%;
    left: 0;
}

.divi-img-with-bg.square-right .box-img:nth-of-type( 3 ) {
    top: 20%;
    right: 0;
}

.divi-img-with-bg.square-left .box-img:nth-of-type( 2 ) {
    top: 20%;
    left: 0;
}

.divi-img-with-bg.square-left .box-img:nth-of-type( 3 ) {
    top: 30%;
    right: 0;
}

/*
 * .double-img-fit
 */

.double-img-fit {
    padding: 20px 0 50px;
}

.double-img-fit .box-img {
    display: inline-block;
    width: 50%;
    padding-top: 42%;
}

/*
 * .double-img-divi
 */

.double-img-divi {
    padding: 50px 0;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

.double-img-divi .box-img:nth-of-type( 1 ) {
    width: 45%;
    padding-top: 30%;
}

.double-img-divi .box-img:nth-of-type( 2 ) {
    width: 50%;
    height: 100%;
    padding-top: 0;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

/*
 * basic motion
 */

.elem-00,
.elem-00-loaded,
.elem-01,
.elem-01-loaded,
.elem-02,
.elem-03,
.elem-04,
.elem-05,
.elem-06,
.elem-07 {
    transition: all ease 800ms;
    transform: translateY( 20px ) scale( 0.9999999 );
    opacity: 0;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.elem-00-mt {
    margin-top: 20px;
    transition: all ease 800ms;
    opacity: 0;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.elem-00,
.elem-00-loaded,
.elem-00-mt {
    transition-delay: 10ms;
}

.elem-01,
.elem-01-loaded {
    transition-delay: 200ms;
}

.elem-02 {
    transition-delay: 400ms;
}

.elem-03 {
    transition-delay: 600ms;
}

.elem-04 {
    transition-delay: 800ms;
}

.elem-05 {
    transition-delay: 1000ms;
}

.elem-06 {
    transition-delay: 1200ms;
}

.elem-07 {
    transition-delay: 1400ms;
}

.active .elem-00,
.loaded .elem-00-loaded,
.active .elem-01,
.loaded .elem-01-loaded,
.active .elem-02,
.active .elem-03,
.active .elem-04,
.active .elem-05,
.active .elem-06,
.active .elem-07 {
    transform: translateY( 0 ) scale( 0.9999999 );
    opacity: 0.99999;
}

.active .elem-00-mt {
    margin-top: 0;
    opacity: 0.99999;
}

/*
 * panel motion
 */

.elem-panel-00,
.elem-panel-01,
.elem-panel-02 {
    transition: all ease 2600ms;
    transform: perspective( 1300px ) rotateY( -90deg );
    -webkit-transform: perspective( 1300px ) rotateY( -90deg );
    -moz-transform: perspective( 1300px ) rotateY( -90deg );
    -ms-transform: perspective( 1300px ) rotateY( -90deg );
    opacity: 0;
}

.elem-panel-01 {
    transition-delay: 300ms;
}

.elem-panel-02 {
    transition-delay: 600ms;
}

.active .elem-panel-00,
.active .elem-panel-01,
.active .elem-panel-02 {
    transform: perspective( 500px ) rotateY( 0deg );
    -webkit-transform: perspective( 500px ) rotateY( 0deg );
    -moz-transform: perspective( 500px ) rotateY( 0deg );
    -ms-transform: perspective( 500px ) rotateY( 0deg );
    opacity: 0.99999;
}

/*=============================================================
02. #main-header
=============================================================*/

#main-header {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

#main-header > h1 {
    width: 260px;
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 1;
}

/*
* icon
*/

#main-header .main-icon {
    width: 80px;
    height: 80px;
    background: #fff;
    position: fixed;
    top: 11px;
    right: 11px;
    z-index: 1;
    cursor: pointer;
    overflow: hidden;
}

#main-header .main-icon .bars::before,
#main-header .main-icon .bars::after {
    display: inline-block;
    content: "";
    width: 30px;
    height: 1px;
    background: #a7a18a;
    position: absolute;
    left: 29px;
    z-index: 1;
}

#main-header #icon-nav .bars::before {
    top: 21px;
}

#main-header #icon-nav .bars::after {
    top: 29px;
}

#main-header #icon-nav:hover .bars::before,
#main-header #icon-nav:hover .bars::after {
    animation: icon-nav-bars ease forwards 1000ms;
}

#main-header #icon-nav:hover .bars::after {
    animation-delay: 300ms;
}

@keyframes icon-nav-bars {
    0%{ opacity: 0.99999; transform: translateX( 0 ); }
    50%{ opacity: 0; transform: translateX( -30px ); }
    51%{ opacity: 0; transform: translateX( 30px ); }
    100%{ opacity: 0.99999; transform: translateX( 0 ); }
}

#main-header #icon-close {
    opacity: 0;
    transition: all ease 1000ms;
    transition-delay: 1000ms;
}

.nav-open #main-header #icon-close {
    opacity: 0.99999;
    transition-delay: 1ms;
}

#main-header #icon-close .bars::before,
#main-header #icon-close .bars::after {
    width: 27px;
    top: 24px;
    left: 30px;
}

#main-header #icon-close .bars::before {
    transform: rotate( 45deg );
}

#main-header #icon-close .bars::after {
    transform: rotate( -45deg );
}


#main-header .main-icon img {
    width: 50px;
    position: absolute;
    top: 43px;
    left: 20px;
    z-index: 1;
}

/*
* global nav
*/

#main-header #nav-wrapper {
    width: 0;
    height: 100%;
    background: rgba( 255,255,255,0.00001 );
    -webkit-backdrop-filter: blur( 10px );
    -moz-backdrop-filter: blur( 10px );
    backdrop-filter: blur( 10px );
    position: fixed;
    top: 0;
    right: 0;
    z-index: 20;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    visibility: hidden;
}

.nav-open #main-header #nav-wrapper {
    width: 100%;
    visibility: visible;
    animation: nav-open ease forwards 1000ms;
}

.nav-close #main-header #nav-wrapper {
    width: 100%;
    animation: nav-close ease forwards 1500ms;
    animation-delay: 10ms;
}

@keyframes nav-open {
    0%{ width: 0; }
    100%{ width: 100%; }
}

@keyframes nav-close {
    0%{ width: 100%; }
    30%{ width: 100%; }
    100%{ width: 0; }
}

#main-header #nav-wrapper #close-layer {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#main-header #nav-wrapper::before {
    display: inline-block;
    content: "";
    width: 100%;
    height: 100%;
    background: rgba( 167,161,138,0.75 );
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    transition: all ease 3000ms;
}

.nav-open #main-header #nav-wrapper::before {
    opacity: 1;
    transition-delay: 300ms;
}

#main-header #main-nav {
    width: 80%;
    top: 49%;
}

#main-header nav h1,
#main-header nav ul li {
    transition: all ease 700ms;
    transform: translateX( 30px );
    opacity: 0;
}

.nav-open #main-header nav h1,
.nav-open #main-header nav ul li {
    transform: translateX( 0 );
    opacity: 0.99999;
}

.nav-open #main-header nav h1 {
    transition-delay: 800ms;
}

.nav-open #main-header nav ul li:nth-of-type( 1 ) {
    transition-delay: 1000ms;
}

.nav-open #main-header nav ul li:nth-of-type( 2 ) {
    transition-delay: 1200ms;
}

.nav-open #main-header nav ul li:nth-of-type( 3 ) {
    transition-delay: 1400ms;
}

.nav-open #main-header nav ul li:nth-of-type( 4 ) {
    transition-delay: 1600ms;
}

.nav-open #main-header nav ul li:nth-of-type( 5 ) {
    transition-delay: 1800ms;
}

#main-header nav h1 {
    margin-bottom: 1%;
    font-size: 110px;
    color: #fff;
    letter-spacing: 10px;
    line-height: 1;
}

#main-header nav ul {
    display: inline-block;
    width: 50%;
    -webkit-box-sizing: border-box;
    line-height: 0;
    box-sizing: border-box;
    vertical-align: top;
}

#main-header nav ul:nth-of-type( 1 ) {
    padding-right: 2%;
}

#main-header nav ul:nth-of-type( 2 ) {
    padding-left: 2%;
}

#main-header nav ul li {
    display: inline-block;
    overflow: hidden;
    line-height: 0;
}

#main-header nav ul li a {
    display: inline-block;
    padding: 2.5% 0 2.5% 8%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    top: 0;
    left: -7%;
    z-index: 1;
    overflow: hidden;
    transition: all ease 250ms;
}

#main-header nav ul li a:hover {
    left: 0;
}

#main-header nav ul li a::before {
    display: inline-block;
    content: "";
    width: 6%;
    height: 100%;
    background: url( /common/img/shared/arrow.png ) center center no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0.5;
}


/*=============================================================
03. #main-footer
=============================================================*/

#main-footer,
#main-footer a {
    color: #a19a7d;
    font-size: 17px;
}

#main-footer {
    padding: 80px 0 100px;
    background: #e9e7d9;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    text-align: center;
}

#main-footer nav {
    margin-bottom: 5px;
}

#main-footer aside ul {
    margin-bottom: 15px;
}

#main-footer aside ul li {
    display: inline-block;
    width: 49px;
    margin: 0 5px;
}

#main-footer aside ul li a {
    display: inline-block;
    padding: 11px;
    border: solid 1px rgba( 167,161,138,0.4 );
    -webkit-border-radius: 500px;
    border-radius: 500px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 0;
    transition: all ease 400ms;
}

#main-footer aside ul li a:hover {
    background: #fff;
}

/*=============================================================
04. part-footer-contact
=============================================================*/

#part-footer-contact .box-img:nth-of-type( 1 ) {
    background-image: url( /common/img/home/bg-portrait-02.jpg );
    background-position: center bottom;
}

#part-footer-contact .box-img:nth-of-type( 2 ) {
    background-image: url( /common/img/home/img-09.jpg?v01 );
}

#part-footer-contact .box-img:nth-of-type( 3 ) {
    background-image: url( /common/img/home/img-10.jpg );
}

/*=============================================================
05. home
=============================================================*/

#home #main-header > h1 {
    display: none;
}

#home #bg-wrapper span.layer-adjust-loaded {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#home #visual #logo-box {
    width: 48%;
    top: 49%;
}

#home #visual #logo-box h1 {
    transition: all ease 2000ms;
    transition-delay: 800ms;
    transform: scale( 1.6 );
}

#home.loaded #visual #logo-box h1 {
    transform: scale( 0.99999 );
}

#home #visual #logo-box h1 div {
    display: inline-block;
    width: 50%;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
}

#home #visual #logo-box h1 div img {
    position: relative;
    top: 0;
    left: 0;
    z-index: 2;
    transition: all ease 1300ms;
    transition-delay: 1200ms;
    opacity: 0;
}

#home #visual #logo-box h1 div:nth-of-type( 1 ) img {
    transform: translateY( -55% );
}

#home #visual #logo-box h1 div:nth-of-type( 2 ) img {
    transform: translateY( 55% );
}

#home.loaded #visual #logo-box h1 div:nth-of-type( 1 ) img,
#home.loaded #visual #logo-box h1 div:nth-of-type( 2 ) img {
    transform: translateY( 0 );
    opacity: 0.99999;
}

#home #visual #logo-box h1 div::before {
    display: inline-block;
    content: "";
    width: 100%;
    height: 0;
    position: absolute;
    left: 0;
    z-index: 1;
    transition: all ease 1300ms;
}

#home.loaded #visual #logo-box h1 div::before {
    height: 100%;
}

#home #visual #logo-box h1 div:nth-of-type( 1 )::before {
    background: rgba( 18,95,163,0.75 );
    top: 0;
}

#home #visual #logo-box h1 div:nth-of-type( 2 )::before {
    background: rgba( 54,46,43,0.75 );
    bottom: 0;
}

#home #visual #logo-box h1 div:nth-of-type( 1 )::before,
#home #visual #logo-box h1 div:nth-of-type( 2 )::before {
    transition-delay: 800ms;
}

#part-00 .top-nav {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
}

#part-00 .top-nav li {
    width: 33.33%;
}

#part-00 .top-nav li a {
    display: block;
    color: #000;
    text-decoration: none;
    text-align: center;
}

#part-00 .top-nav li a > div {
    width: 80%;
    padding: 3px;
    margin: 0 auto;
    color: #625f50;
    background: rgba( 243,241,234,1 );
    box-sizing: border-box;
    box-shadow: 0 0 20px rgba( 0,0,0,0.8 );
    position: relative;
    top: -66px;
    left: 0;
    z-index: 1;
    transition: all ease 600ms;
}

#part-00 .top-nav li a > div > div {
    padding: 25px 0;
    border: solid 1px #aaa;
    box-sizing: border-box;
}

#part-00 .top-nav li a > div > div p,
#part-00 .top-nav li a > div > div span {
    letter-spacing: 3px;
}

#part-00 .top-nav li a > div > div p {
    margin: 10px 0 8px;
    font-size: clamp(13px, 1.7vw, 22px);
    font-weight: normal;
    line-height: 0.6;
}

#part-00 .top-nav li a > div > div span {
    font-size: clamp(10px, 1.3vw, 14px);
}

#part-00 .top-nav li a:hover > div {
    background: #6d6234;
    color: #fff;
}


#home #part-01 ul.row-three-colomn li:nth-of-type( 1 ) .box-img {
    background-image: url( /common/img/home/img-01.jpg );
}

#home #part-01 ul.row-three-colomn li:nth-of-type( 2 ) .box-img {
    background-image: url( /common/img/home/img-02.jpg );
}

#home #part-01 ul.row-three-colomn li:nth-of-type( 3 ) .box-img {
    background-image: url( /common/img/home/img-03.jpg );
}

#home #part-02 .inner {
    padding: 0;
}

#home #part-02 .row.fit-colomn:nth-of-type( 1 ) .lefter {
    background: url( /common/img/home/img-event-bg-01.jpg ) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
}

#home #part-02 .row.fit-colomn:nth-of-type( 1 ) .lefter .box-img {
    width: 50%;
    max-width: 1000px;
    padding-top: 50%;
    background: url( /common/img/home/img-event-02.jpg?v05 ) bottom center / cover no-repeat  ;
    box-shadow: -40px 40px 50px rgba( 0,0,0,0.15 );
}

#home #part-03 {
    padding-top: 30px;
}

#home #part-03 .box-img {
    background-image: url( /common/img/home/img-04.jpg );
}

#home #part-04 .box-img {
    background-image: url( /common/img/home/img-05.jpg );
}

#home #part-voice .box-img {
    background-image: url( /common/img/home/img-voice.jpg?v01 );
}

#home #part-05 .box-img {
    background-image: url( /common/img/home/img-06.jpg );
}

#home #part-06 .box-img:nth-of-type( 1 ) {
    background-image: url( /common/img/home/bg-portrait-01.jpg );
    background-position: center bottom;
}

#home #part-06 .box-img:nth-of-type( 2 ) {
    background-image: url( /common/img/home/img-07.jpg );
}

#home #part-06 .box-img:nth-of-type( 3 ) {
    background-image: url( /common/img/home/img-08.jpg );
}

/* NEWS */

#home #part-07 ul li:nth-of-type( 1 ) .box-img {
    background-image: url( /common/img/news/thumb-20250515.jpg?v02 );
}

#home #part-07 ul li:nth-of-type( 2 ) .box-img {
    background-image: url( /common/img/news/thumb-tenant.jpg?v02 );
}

#home #part-07 ul li:nth-of-type( 3 ) .box-img {
    background-image: url( /common/img/news/thumb-zeh.jpg?v12 );
}

#home #part-07 ul:nth-of-type(2) li:nth-of-type( 1 ) .box-img {
    background-image: url( /common/img/news/thumb-20230803.jpg?v10 );
}

#home #part-07 ul:nth-of-type(2) li:nth-of-type( 2 ) .box-img {
    background-image: url( /common/img/news/thumb-20230608.jpg?v11 );
}

#home #part-07 ul:nth-of-type(2) li:nth-of-type( 3 ) .box-img {
    background-image: url( /common/img/news/thumb-20210423.jpg?v06 );
}

#home #part-07 ul li .box-img {
    padding-top: 130%;
    margin-bottom: 13px;
}

#home #part-07 ul li a {
    text-decoration: none;
}

#home #part-07 ul li p {
    margin-bottom: 0;
}

#home #part-07 ul li .tit-02 {
    margin-bottom: 0px;
}

#home #part-07 ul li time {
    font-size: 12px;
    font-style: italic;
}

/*=============================================================
06. news
=============================================================*/

#news-detail #bg {
    background-image: url( /common/img/news/detail/bg.jpg );
}

#news-detail #bg #bg-layer.active {
    opacity: 0;
}

#news-detail .elem-op {
    opacity: 0;
    transition: all ease 1200ms;
    transition-delay: 700ms;
}

#news-detail.loaded .elem-op {
    opacity: 0.99999;
}

#news-detail #part-01 {
    padding-top: 60px;
    margin-bottom: 60px;
}

#news-detail #part-01 .inner {
    padding-bottom: 50px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

#news-detail #part-01 .inner::before,
#news-detail #part-01 .inner::after {
    display: inline-block;
    content: "";
    width: 0;
    height: 3px;
    border: solid 1px #a19a7d;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    z-index: 1;
}

#news-detail #part-01 .inner::after {
    bottom: 0;
}

#news-detail #part-01 .row-tit {
    padding-bottom: 45px;
    margin-bottom: 50px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

#news-detail #part-01 .row-tit::after {
    display: inline-block;
    content: "";
    width: 0;
    height: 1px;
    background: #a19a7d;
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 1;
}

#news-detail #part-01 .row-tit .tit-01 {
    margin-bottom: 0;
}

#news-detail #part-01 .row-tit p {
    padding-top: 52px;
    margin-bottom: 13px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    color: #a19a7d;
    text-align: center;
    font-style: italic;
}

#news-detail #part-01 .row-tit p::before {
    display: inline-block;
    content: "";
    width: 1px;
    height: 0;
    background: #a19a7d;
    position: absolute;
    top: 3px;
    left: 50%;
    z-index: 1;
    transition: all ease 1000ms;
    transition-delay: 300ms;
    opacity: 0;
}

#news-detail.loaded #part-01 .row-tit p::before {
    height: 47px;
    opacity: 0.99999;
}

#news-detail #part-01 .row-tit p time {
    display: inline-block;
    padding: 0 1px 0 4px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

#news-detail #part-01 .row-tit p time::after {
    display: inline-block;
    content: "";
    width: 0;
    height: 3px;
    border: solid 1px #a19a7d;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 1;
}

#news-detail #part-01 .row-tit p time span {
    display: inline-block;
}

#news-detail #part-01 .inner::before,
#news-detail #part-01 .inner::after,
#news-detail #part-01 .row-tit::after,
#news-detail #part-01 .row-tit p time::after {
    opacity: 0;
    transition: all ease 1000ms;
    transition-delay: 300ms;
}

#news-detail.loaded #part-01 .inner::before,
#news-detail.loaded #part-01 .inner::after,
#news-detail.loaded #part-01 .row-tit::after,
#news-detail.loaded #part-01 .row-tit p time::after {
    width: 100%;
    left: 0;
    opacity: 0.99999;
}

#news-detail #part-01 .row .img-wrapper,
#news-detail #part-01 .row .box-text {
    float: left;
}

#news-detail #part-01 .row .img-wrapper {
    width: 30%;
    border: solid 7px #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

}

#news-detail #part-01 .row .box-text {
    width: 70%;
    padding-left: 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#news-detail #part-01 .btn-01 {
    padding-top: 70px;
}

#news-detail #part-01 .btn-01::before,
#news-detail #part-01 .btn-01::after {
    top: 0;
}

#news-detail #part-01 .btn-01:hover::after {
    top: 70px;
}

#news-detail .news-map {
	width: 100%;
	overflow: hidden;
}

#news-detail .news-map iframe{
	width: 100%;
	height: 400px;
	margin-bottom: 60px;
}

/*=============================================================
07. concept
=============================================================*/

#concept #bg {
    background-image: url( /common/img/concept/bg.jpg );
}

#concept #bg #bg-layer.active {
    opacity: 0;
}

#concept #visual #visual-tit {
    width: 57%;
}

#concept #part-01-mini .box-img {
    background-image: url( /common/img/concept/img-01.jpg );
}

#concept #part-02 .box-img {
    background-image: url( /common/img/concept/img-02.jpg?v01 );
}

#concept #part-step ol li section {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

#concept #part-step ol li section::before {
    display: inline-block;
    content: "";
    width: 1px;
    height: 0;
    background: #fff;
    position: absolute;
    top: 116px;
    left: 39px;
    z-index: 1;
    transition: all ease 800ms;
}

#concept #part-step ol li.active section::before {
    height: calc( 100% - 118px );
}

#concept #part-step ol li:last-of-type section::before {
    display: none;
}

#concept #part-step .base-white-alpha {
    width: calc( 98% - 90px );
    float: right;
}

#concept #part-step ol li:nth-child( even ) .base-white-alpha {
    background: rgba( 255,255,255,0.85 );
}

#concept #part-step .base-white-alpha .inner {
    padding: 45px 0;
}

#concept #part-step .base-white-alpha h1.tit-01 {
    margin-bottom: 15px;
    text-align: left;
}

#concept #part-step .base-white-alpha h1.tit-01.mb-0 {
    margin-bottom: 0;
}

#concept #part-step .number {
    width: 80px;
    float: left;
}

#concept #part-step .number .base-stone {
    height: 80px;
    padding: 2px;
    border: solid 1px #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    top: 17px;
    left: 0;
    z-index: 1;
    transition: all ease 800ms;
    transform: scale( 0.5 ) rotate( 45deg );
    opacity: 0;
}

#concept #part-step .active .number .base-stone {
    transform: scale( 0.99999 ) rotate( 45deg );
    opacity: 0.99999;
}

#concept #part-step .number .base-stone-inner {
    height: 74px;
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
}

#concept #part-step ol li:nth-of-type( 1 ) .number .base-stone-inner,
#concept #part-step ol li:nth-of-type( 4 ) .number .base-stone-inner,
#concept #part-step ol li:nth-of-type( 7 ) .number .base-stone-inner,
#concept #part-step ol li:nth-of-type( 10 ) .number .base-stone-inner {
    background-image: url( /common/img/concept/step-bg-01.jpg );
}

#concept #part-step ol li:nth-of-type( 2 ) .number .base-stone-inner,
#concept #part-step ol li:nth-of-type( 5 ) .number .base-stone-inner,
#concept #part-step ol li:nth-of-type( 8 ) .number .base-stone-inner,
#concept #part-step ol li:nth-of-type( 11 ) .number .base-stone-inner {
    background-image: url( /common/img/concept/step-bg-02.jpg );
}

#concept #part-step ol li:nth-of-type( 3 ) .number .base-stone-inner,
#concept #part-step ol li:nth-of-type( 6 ) .number .base-stone-inner,
#concept #part-step ol li:nth-of-type( 9 ) .number .base-stone-inner {
    background-image: url( /common/img/concept/step-bg-03.jpg );
}

#concept #part-step .number .base-stone p {
    text-align: center;
    color: #a19a7d;
    font-size: 26px;
    line-height: 74px;
    transform: rotate( -45deg );
}

#concept #part-step ol li:nth-of-type( 1 ) .box-img {
    background-image: url( /common/img/concept/img-flow-01.jpg?v01 );
}

#concept #part-step ol li:nth-of-type( 3 ) .box-img {
    background-image: url( /common/img/concept/img-flow-03.jpg?v01 );
}

#concept #part-step ol li:nth-of-type( 5 ) .colomn-03 {
    display: flex;
}

#concept #part-step ol li:nth-of-type( 5 ) .colomn-03 .box-img {
    width: 33.33333%;
    padding-top: 33.33333%;
}

#concept #part-step ol li:nth-of-type( 5 ) .box-img:nth-of-type( 1 ) {
    background-image: url( /common/img/concept/img-flow-05-01.jpg );
}

#concept #part-step ol li:nth-of-type( 5 ) .box-img:nth-of-type( 2 ) {
    background-image: url( /common/img/concept/img-flow-05-02.jpg );
}

#concept #part-step ol li:nth-of-type( 5 ) .box-img:nth-of-type( 3 ) {
    background-image: url( /common/img/concept/img-flow-05-03.jpg );
}

#concept #part-step ol li:nth-of-type( 6 ) .box-img {
    background-image: url( /common/img/concept/img-flow-06.jpg );
}

#concept #part-step ol li:nth-of-type( 8 ) .box-img {
    background-image: url( /common/img/concept/img-flow-08.jpg );
}

#concept #part-step ol li:nth-of-type( 10 ) .box-img {
    background-image: url( /common/img/concept/img-flow-10.jpg );
}

/*=============================================================
08. jyutaku
=============================================================*/

#jyutaku #bg {
    background-image: url( /common/img/jyutaku/bg.jpg?v01 );
}

#jyutaku #bg #bg-layer.active {
    opacity: 0.2;
}

#jyutaku .divi-wrapper.obj-wrapper {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

#jyutaku .divi-wrapper.obj-wrapper .inner {
    padding: 0;
}

#jyutaku .divi-wrapper.obj-wrapper .box-img {
    width: 55%;
    padding-top: 50%;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

#jyutaku .divi-wrapper.obj-wrapper .box-img img {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#jyutaku.loaded .divi-wrapper.obj-wrapper .box-img img:nth-of-type( 1 ) {
    animation: top-motion ease infinite 6000ms;
}

@keyframes top-motion {
    0%{ transform: translateY( 0 ); }
    50%{ transform: translateY( 4% ); }
    100%{ transform: translateY( 0 ); }
}

#jyutaku.loaded .divi-wrapper.obj-wrapper .box-img img:nth-of-type( 2 ) {
    animation: bottom-motion ease infinite 6000ms;
}

@keyframes bottom-motion {
    0%{ transform: translateY( 0 ); }
    50%{ transform: translateY( -4% ); }
    100%{ transform: translateY( 0 ); }
}

#jyutaku.loaded .divi-wrapper.obj-wrapper .box-img img:nth-of-type( 3 ) {
    animation: left-back-motion ease infinite 6000ms;
}

@keyframes left-back-motion {
    0%{ transform: translateX( 0 ) scale( 1 ); }
    50%{ transform: translateX( 3% ) scale( 1.1 ); }
    100%{ transform: translateX( 0 ) scale( 1 ); }
}

#jyutaku.loaded .divi-wrapper.obj-wrapper .box-img img:nth-of-type( 4 ) {
    animation: right-back-motion ease infinite 6000ms;
}

@keyframes right-back-motion {
    0%{ transform: translateX( 0 ) scale( 1 ); }
    50%{ transform: translateX( -3% ) scale( 1.1 ); }
    100%{ transform: translateX( 0 ) scale( 1 ); }
}

#jyutaku.loaded .divi-wrapper.obj-wrapper .box-img img:nth-of-type( 5 ) {
    animation: left-front-motion ease infinite 6000ms;
}

@keyframes left-front-motion {
    0%{ transform: translateX( 0 ) scale( 1 ); }
    50%{ transform: translateX( 7% ) scale( 0.95 ); }
    100%{ transform: translateX( 0 ) scale( 1 ); }
}

#jyutaku.loaded .divi-wrapper.obj-wrapper .box-img img:nth-of-type( 6 ) {
    animation: right-front-motion ease infinite 6000ms;
}

@keyframes right-front-motion {
    0%{ transform: translateX( 0 ) scale( 1 ); }
    50%{ transform: translateX( -7% ) scale( 0.95 ); }
    100%{ transform: translateX( 0 ) scale( 1 ); }
}

#jyutaku #part-03 .box-img {
    background-image: url( /common/img/jyutaku/img-01.jpg );
}

#jyutaku #part-04 .box-img {
    background-image: url( /common/img/jyutaku/img-02.jpg );
}

#jyutaku #part-05 .box-img {
    background-image: url( /common/img/jyutaku/img-03.jpg?v01 );
}

#jyutaku #part-06 .double-img-divi .box-img:nth-of-type( 1 ) {
    background-image: url( /common/img/jyutaku/img-04.jpg?v01 );
}

#jyutaku #part-06 .double-img-divi .box-img:nth-of-type( 2 ) {
    background-image: url( /common/img/jyutaku/img-05.jpg?v01 );
}

#jyutaku #part-07 .double-img-fit .box-img:nth-of-type( 1 ) {
    background-image: url( /common/img/jyutaku/img-06.jpg );
}

#jyutaku #part-07 .double-img-fit .box-img:nth-of-type( 2 ) {
    background-image: url( /common/img/jyutaku/img-07.jpg );
}

#jyutaku #part-08 .box-img {
    padding-top: 50%;
    background-image: url( /common/img/jyutaku/img-08.jpg );
}

#jyutaku #part-06 .base-white-alpha,
#jyutaku #part-08 .base-white-alpha {
    background: rgba( 255,255,255,0.85 );
}

/*=============================================================
09. with dog
=============================================================*/

/*
#with-dog #bg {
    background-image: url( /common/img/with-dog/bg.jpg );
}

#with-dog #bg #bg-layer.active {
    opacity: 0;
}
*/

#with-dog #bg-wrapper::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: rgba( 0,0,0,0.2 );
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
    transition: all ease 600ms;
}

#with-dog #bg-wrapper.active::after {
    background: rgba( 0,0,0,0.2 );
}

#with-dog #part-01 .box-img {
    background-image: url( /common/img/with-dog/img-01.jpg );
}

#with-dog #part-02 .box-img {
    background-image: url( /common/img/with-dog/img-02.jpg );
    background-position: center right;
}

#with-dog #part-03 .box-img {
    background-image: url( /common/img/with-dog/img-03.jpg );
}

#with-dog #part-04 .box-img {
    background-image: url( /common/img/with-dog/img-04.jpg );
}

/*=============================================================
10. example
=============================================================*/

#example #bg {
    background-image: url( /common/img/example/bg.jpg );
}

#example #bg #bg-layer {
    opacity: 0.1;
}

#example #bg #bg-layer.active {
    opacity: 0.4;
}

#example .part-nav {
    margin-bottom: 60px;
}

#example .part-nav ul {
    display: flex;
    justify-content: center;
}

#example .part-nav ul li {
    width: 23%;
    padding: 0 2%;
    box-sizing: border-box;
}


#example .mass {
    border-bottom: solid 1px #fff;
}

#example #part-01 .inner {
    padding-top: 0px;
}

#example .list-colomn-03:nth-of-type( 1 ) {
    padding-top: 4%;
}

#example .list-colomn-03 h1 {
    padding: 0 2px;
    color: #fff;
    font-size: 20px;
    line-height: 1.6;
    text-align: left;
}

.list-colomn-03 {
    margin-bottom: 45px;
    text-align: center;
}

.list-colomn-03:last-of-type {
    margin-bottom: 0;
}

.list-colomn-03 li {
    display: inline-block;
    width: 33.33333%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 1.5%;
    vertical-align: top;
}

.list-colomn-03 li a {
    display: block;
    text-decoration: none;
}

.thumb {
    margin-bottom: 15px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
}

a .thumb .ov {
    width: 100%;
    height: 100%;
    background: rgba( 161,154,125,0.96 );
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: all ease 600ms;
    opacity: 0;
}

a:hover .thumb .ov {
    transform: scale( 1.05 );
    opacity: 0.99999;
}

a .thumb img {
    display: block;
    transition: all ease 600ms;
}

a:hover .thumb img {
    transform: scale( 1.2 );
}

a .thumb .ov p {
    display: inline-block;
    width: 3.3em;
    color: #fff;
    font-size: 25px;
    line-height: 1.3;
}

a .thumb .ov p::before,
a .thumb .ov p::after {
    display: block;
    content: "";
    width: 0;
    height: 1px;
    position: absolute;
    bottom: 0;
    z-index: 1;
    transition: all ease 300ms;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

a:hover .thumb .ov p::before,
a:hover .thumb .ov p::after {
    width: 50%;
    transition-delay: 300ms;
}

a .thumb .ov p::before {
    background: #6d6234;
    right: 50%;
}

a .thumb .ov p::after {
    background: #d6cfb0;
    left: 50%;
}

/*=============================================================
11. ex-detail
=============================================================*/

body#ex-detail::after {
    display: block;
    content: "";
    overflow: hidden;
}

#ex-detail #bg {
    background-image: url( /common/img/example/detail/bg.jpg?v02 );
}

#ex-detail #bg #bg-layer.active {
    opacity: 0.2;
}

#ex-detail #contents {
    padding-top: 60px;
}

#ex-detail #part-01 .box-img.wide {
    padding-top: 53%;
}

#ex-detail #part-01 h1.tit-01 {
    margin-bottom: 3px;
    line-height: 1.5;
}

#ex-detail #part-01 .small-copy {
    margin-bottom: 30px;
    font-size: 12px;
    color: #aaa;
}

#ex-detail #part-02 h1.tit-01 {
    color: #fff;
}

#ex-detail #part-02 .inner {
    width: 88.6%;
    padding-bottom: 60px;
}

#ex-detail #part-02 .thumb {
    margin-bottom: 10%;
}

#ex-detail .no-_00 #part-01 .box-img {
    background-image: url( /common/img/example/detail/_00/main.jpg );
}

#ex-detail .no-00 #part-01 .box-img {
    background-image: url( /common/img/example/detail/00/main.jpg );
}

#ex-detail .no-01 #part-01 .box-img {
    background-image: url( /common/img/example/detail/01/main.jpg );
}

#ex-detail .no-02 #part-01 .box-img {
    background-image: url( /common/img/example/detail/02/main.jpg );
}

#ex-detail .no-03 #part-01 .box-img {
    background-image: url( /common/img/example/detail/03/main.jpg );
}

#ex-detail .no-04 #part-01 .box-img {
    background-image: url( /common/img/example/detail/04/main.jpg?v01 );
}

#ex-detail .no-05 #part-01 .box-img {
    background-image: url( /common/img/example/detail/05/main.jpg );
}

#ex-detail .no-06 #part-01 .box-img {
    background-image: url( /common/img/example/detail/06/main.jpg );
}

#ex-detail .no-07 #part-01 .box-img {
    background-image: url( /common/img/example/detail/07/main.jpg );
}

#ex-detail .no-08 #part-01 .box-img {
    background-image: url( /common/img/example/detail/08/main.jpg );
}

#ex-detail .no-09 #part-01 .box-img {
    background-image: url( /common/img/example/detail/09/main.jpg );
}

#ex-detail .no-10 #part-01 .box-img {
    background-image: url( /common/img/example/detail/10/main.jpg );
}

#ex-detail .no-11 #part-01 .box-img {
    background-image: url( /common/img/example/detail/11/main.jpg );
}

#ex-detail .no-12 #part-01 .box-img {
    background-image: url( /common/img/example/detail/12/main.jpg );
}

#ex-detail .no-13 #part-01 .box-img {
    background-image: url( /common/img/example/detail/13/main.jpg );
}

#ex-detail .no-14 #part-01 .box-img {
    background-image: url( /common/img/example/detail/14/main.jpg?v01 );
}

#ex-detail .no-15 #part-01 .box-img {
    background-image: url( /common/img/example/detail/15/main.jpg?v01 );
}

#ex-detail .no-16 #part-01 .box-img {
    background-image: url( /common/img/example/detail/16/main.jpg?v01 );
}

#ex-detail .no-17 #part-01 .box-img {
    background-image: url( /common/img/example/detail/17/main.jpg?v01 );
}

#ex-detail .no-18 #part-01 .box-img {
    background-image: url( /common/img/example/detail/18/main.jpg?v01 );
}

#ex-detail .no-19 #part-01 .box-img {
    background-image: url( /common/img/example/detail/19/main.jpg?v01 );
}

#ex-detail .no-20 #part-01 .box-img {
    background-image: url( /common/img/example/detail/20/main.jpg?v01 );
}

#ex-detail .no-21 #part-01 .box-img {
    background-image: url( /common/img/example/detail/21/main.jpg?v01 );
}

/*=============================================================
12. after support
=============================================================*/

#after-support #bg {
    background-image: url( /common/img/after-support/bg.jpg );
}

#after-support #visual-tit {
    top: 49%;
}

#after-support #part-02 .box-img {
    background-image: url( /common/img/after-support/img-01.jpg?v01 );
}

#after-support #part-02 h1 br {
    display: none;
}

/*=============================================================
13. company
=============================================================*/

#company #bg {
    background-image: url( /common/img/company/bg.jpg );
}

#company dl.colomn dt,
#company dl.colomn dd {
    margin-bottom: 10px;
}

#company dl.colomn dt {
    width: 5em;
    float: left;
}

#company dl.colomn dd {
    margin-left: 5em;
}

#company dl.colomn.alt dt {
    width: 7em;
}

#company dl.colomn.alt dd {
    margin-left: 7em;
}

#company .list-marker {
    padding-left: 0.7em;
}

#company .list-marker li {
    padding-left: 0.5em;
    margin-bottom: 10px;
    text-indent: -1em;
}

#company .list-marker li:last-of-type {
    margin-bottom: 0;
}

#company #part-map .inner .inner {
    width: 96%;
    padding: 50px 0 2%;
}

#company #part-map #map {
    width: 100%;
    height: 550px;
    vertical-align: bottom;
}

#company #part-01 .sign {
    text-align: right;
    font-size: 23px;
    color: #a19a7d;
}

#company #part-01 .sign span {
    display: inline-block;
    margin-right: 7px;
    font-size: 13px;
}

#company #part-02 .box-img {
    background-image: url( /common/img/company/img-01.jpg?v01 );
}

#company #part-03 .box-img {
    background-image: url( /common/img/company/img-02.jpg );
}

#company #part-04 .box-img {
    background-image: url( /common/img/company/img-03.jpg );
}

#company #part-05 .box-img {
    background-image: url( /common/img/company/img-04.jpg );
    background-position: right center;
}

/*=============================================================
14. form layout [ common on #contact and #mail ]
=============================================================*/

#formWrap .glass-border {
    border: solid 4px rgba( 255,255,255,0 );
    margin-bottom: 35px;
    transition: all ease 2200ms;
    transition-delay: 600ms;
    overflow: hidden;
}

.active #formWrap .glass-border,
#mail #formWrap .glass-border {
    border: solid 4px rgba( 255,255,255,0.5 );
}

table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}

table.formTable tr {
    border-bottom: solid 1px rgba( 255,255,255,0.3 );
}

table.formTable tr:last-of-type {
    border-bottom: none;
}

table.formTable th,
table.formTable td {
	padding: 40px;
    line-height: 1.4;
    word-break: break-all;
}

table.formTable th {
	width: 12em;
	font-weight:normal;
	text-align:left;
    color: #a19a7d;
    vertical-align: middle;
}

table.formTable tr:nth-child( odd ) th {
    background: rgba( 255,255,255,0.7 );
}

table.formTable tr:nth-child( even ) th {
    background: rgba( 255,255,255,0.6 );
}

table.formTable td {
    color: #362e2b;
}

table.formTable td .note {
    margin-bottom: 5px;
}

table.formTable td .note-small {
    display: inline-block;
    margin-bottom: 5px;
    font-size: 14px;
}

table.formTable td label {
    cursor: pointer;
}

table.formTable input[type="text"],
textarea {
    padding: 15px;
    border: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 17px;
    font-family: "Sawarabi Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

table.formTable input[type="text"].short {
    width: 50%;
}

table.formTable input[type="text"].long,
table.formTable textarea {
    width: 100%;
}

table.formTable input[type="text"].w-em {
    width: 12em;
    margin: 0 0 10px 5px;
}

table.formTable input[type="text"].short-em {
    width: 14em;
}

table.formTable input[type="radio"] {
    vertical-align: middle;
}

#formWrap .btns-wrapper {
    text-align: center;
}

#formWrap .btns-wrapper .form-btn {
    display: inline-block;
    width: 35%;
    border: solid 1px rgba( 255,255,255,1 );
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 1000px;
    border-radius: 1000px;
    overflow: hidden;
    padding: 25px 0;
    background: rgba( 255,255,255,0.95 );
    text-align: center;
    font-size: 18px;
    letter-spacing: 2px;
    color: #a19a7d;
    font-family: "Sawarabi Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    cursor: pointer;
    transition: all ease 300ms;
}

#formWrap .btns-wrapper .form-btn.alt {
    background: none;
    color: #fff;
}

#formWrap .btns-wrapper .form-btn:hover,
#formWrap .btns-wrapper .form-btn.alt:hover {
    background: #a19a7d;
    color: #fff;
}

/*=============================================================
15. contact
=============================================================*/

#contact #bg {
    background-image: url( /common/img/contact/bg.jpg?v01 );
}

#contact #bg #bg-layer.active {
    opacity: 0.2;
}

#contact .mark {
    color: #3073ae;
}

#contact #part-01 aside a {
    display: inline-block;
    width: 35px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1;
    vertical-align: bottom;
    position: relative;
    top: 0;
    left: -6px;
    z-index: 1;
}

/*=============================================================
16. mail
=============================================================*/

#mail #bg {
    background-image: url( /common/img/mail/bg.jpg );
}

#mail #bg {
    transform: scale( 1.00001 );
}

#mail #bg #bg-layer,
#mail #bg #bg-layer.active {
    opacity: 0.7;
}

#mail .inner {
    max-width: 1200px;
    padding-bottom: 0;
}

#mail #formWrap {
    padding-top: 30px;
    color: #fff;
}

#mail #formWrap a {
    text-decoration: none;
    color: #362e2b;
}

#mail .errm-wrapper {
    margin-bottom: 32px;
}

#mail .errm-wrapper p {
    padding-bottom: 20px;
    border-bottom: solid 1px rgba( 255,255,255,0.2 );
    margin-bottom: 20px;
}

#mail #main-footer {
    padding-top: 70px;
    background: none;
}

/*=============================================================
17. thanks
=============================================================*/

#thanks #bg {
    background-image: url( /common/img/thanks/bg.jpg );
}

#thanks body,
#thanks #wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
}

#thanks #msg-box {
    width: 70%;
    max-width: 600px;
    top: 50%;
    border: solid 5px rgba( 161,154,125,0.5 );
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    transition: all ease 800ms;
    transition-delay: 300ms;
    opacity: 0;
}

#thanks #msg-box .base-white-alpha {
    overflow: hidden;
}

#thanks.loaded #msg-box {
    top: 45%;
    opacity: 0.99999;
}

#thanks #msg-box .tit-01 {
    padding: 30px 0;
    border-bottom: solid 1px rgba( 161,154,125,0.5 );
    margin-bottom: 25px;
    line-height: 1;
}

#thanks #msg-box .inner {
    padding: 0 0 40px 0;
}

#thanks #msg-box .btn-03 {
    width: 100%;
}

#thanks #main-footer {
    width: 100%;
    padding: 0 0 40px 0;
    background: none;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    z-index: 1;
}

#thanks #main-footer aside ul {
    margin-bottom: 6px;
}

/*=============================================================
18. privacy
=============================================================*/

#privacy #bg {
    background-image: url( /common/img/privacy/bg.jpg );
}

#privacy #bg #bg-layer.active {
    opacity: 0;
}

#privacy .base-white-alpha .mass {
    padding-bottom: 40px;
}

#privacy .base-white-alpha .mass:nth-of-type( 1 ) {
    padding-top: 60px;
}

#privacy .base-white-alpha .mass:last-of-type {
    padding-bottom: 70px;
}

#privacy .base-white-alpha .inner {
    padding: 0;
}

#privacy .base-white-alpha .inner h1.tit-01 {
    margin-bottom: 15px;
}

/*=============================================================
19. voice
=============================================================*/

#voice #bg {
    background-image: url( /common/img/voice/bg.jpg );
}

#voice #bg #bg-layer.active {
    opacity: 0.2;
}

#voice .stripe-area > section > div {
    -webkit-backdrop-filter: blur( 10px );
    -moz-backdrop-filter: blur( 10px );
    backdrop-filter: blur( 10px );
}

#voice .stripe-area > section:nth-child( odd ) > div {
    background-color: rgb( 255,255,255,0.88 );
}

#voice .stripe-area > section:nth-child( even ) > div {
    background-color: rgba( 248,246,237,0.88 );
}

#voice #part-01 .double-img-fit .box-img:nth-of-type( 1 ) {
    background-image: url( /common/img/voice/01/img-01.jpg );
}

#voice #part-01 .double-img-fit .box-img:nth-of-type( 2 ) {
    background-image: url( /common/img/voice/01/img-02.jpg?v01 );
}

#voice #part-02 .double-img-fit .box-img:nth-of-type( 1 ) {
    background-image: url( /common/img/voice/02/img-01.jpg );
}

#voice #part-02 .double-img-fit .box-img:nth-of-type( 2 ) {
    background-image: url( /common/img/voice/02/img-02.jpg );
}

#voice #part-03 .double-img-fit .box-img:nth-of-type( 1 ) {
    background-image: url( /common/img/voice/03/img-01.jpg );
}

#voice #part-03 .double-img-fit .box-img:nth-of-type( 2 ) {
    background-image: url( /common/img/voice/03/img-02.jpg );
}

/*=============================================================
20. apartments
=============================================================*/

#apartments #bg {
    background-image: url( /common/img/apartments/bg.jpg?v01 );
}

#apartments #visual-tit {
    top: 49%;
}

#apartments #part-02 .box-img {
    background-image: url( /common/img/apartments/img-01.jpg?v01 );
}

#apartments #part-03 .box-img {
    background-image: url( /common/img/apartments/img-02.jpg?v02 );
}

#apartments #part-04 .box-img {
    background-image: url( /common/img/apartments/img-03.jpg?v03 );
}

#apartments #part-05 .box-img {
    background-image: url( /common/img/apartments/img-04.jpg?v01 );
}

#apartments #part-02 h1 br {
    display: none;
}

.mini {
    font-size: 1.3rem;
}

.mini-more {
    font-size: 0.7rem;
    vertical-align: super;
}

p.mini {
    font-size: 1rem;
}

/*=============================================================
20. various browser
=============================================================*/

.safari #main-header #nav-wrapper::before,
.mobile #main-header #nav-wrapper::before,
.firefox #main-header #nav-wrapper::before {
    background: rgba( 167,161,138,0.98 );
    transition: all ease 2000ms;
}

.firefox .base-white-alpha {
    background: rgba( 255,255,255,0.92 );
}

#contact.firefox .base-white-alpha {
    background: rgba( 255,255,255,0.8 );
}

.firefox table.formTable tr {
    border: solid 1px rgba( 255,255,255,0.7 );
}

.firefox .base-biege-alpha {
    background: rgba( 243,241,232,0.95 );
}

#concept.firefox #part-step ol li:nth-child( even ) .base-white-alpha {
    background: rgba( 255,255,255,1 );
}

/*=============================================================
21. media query
=============================================================*/

@media screen and (orientation: portrait) {

    #voice #bg {
        background-image: url( /common/img/voice/bg-sp.jpg );
    }

}

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

    #home #part-voice .box-img {
        background-position: center top;
    }

}

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

    #home #part-02 .row.fit-colomn:nth-of-type( 1 ) .lefter .box-img {
        width: 100%;
        height: 100%;
        padding-top: 0;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        background-position: center bottom;
        transform: none;
    }
}

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

    #home #part-02 .row.fit-colomn:nth-of-type( 1 ) .lefter .box-img {
        width: 60%;
        padding-top: 60%;
    }
}

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

    #main-header nav h1 {
        font-size: 100px;
    }

    a .thumb .ov p {
        font-size: 23px;
    }

}

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

    body {
        font-size: 17px;
    }

    a .thumb .ov p {
        font-size: 21px;
    }

}

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

    .divi-img-with-bg.square-left .box-img:nth-of-type( 2 ) {
        top: 21%;
    }

    .divi-img-with-bg.square-left .box-img:nth-of-type( 3 ) {
        top: 33%;
    }

    #after-support #part-02 .inner {
        padding: 45px 0;
    }

    #after-support #part-02 h1 br {
        display: inline-block;
    }

    #ex-detail #part-01 .box-img.wide {
        padding-top: 60%;
    }

}

@media screen and (max-width: 1024px) {
    
    body {
        font-size: 15px;
    }

    .inner-alt {
        padding: 50px;
    }

    .tit-01 {
        font-size: 26px;
    }

    .tit-01.mb-minus {
        margin-bottom: 22px;
    }

    .tit-02 {
        font-size: 18px;
    }

    .btn-01 {
        padding-top: 70px;
        font-size: 21px;
    }

    .btn-01::before,
    .btn-01::after {
        height: 50px;
        top: 16px;
    }

    .btn-01:hover::after {
        top: 66px;
    }

    #main-footer,
    #main-footer a {
        font-size: 15px;
    }

    #home #part-01 .beige-base-divi {
        padding-bottom: 54px;
    }

    #home #part-01 ul.row-three-colomn li:nth-of-type( 1 ),
    #home #part-01 ul.row-three-colomn li:nth-of-type( 3 ) {
        padding-top: 5%;
    }

    #example .list-colomn-03:nth-of-type( 1 ) {
        padding-top: 7%;
    }

    #example .list-colomn-03 h1 {
        font-size: 15px;
    }

}

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

    .mass > .inner {
        padding: 0;
    }

	.pc {
		display: none;
    }

	.sp {
		display: inline-block;
    }
    
    #main-header #main-nav {
        width: 67%;
    }

    #main-header nav h1 {
        font-size: 80px;
    }

    #main-header nav ul:nth-of-type( 1 ),
    #main-header nav ul:nth-of-type( 2 ) {
        width: 100%;
        padding: 0;
    }

    .nav-open #main-header nav ul:nth-of-type( 1 ) li:nth-of-type( 1 ) {
        transition-delay: 900ms;
    }

    .nav-open #main-header nav ul:nth-of-type( 1 ) li:nth-of-type( 2 ) {
        transition-delay: 1000ms;
    }

    .nav-open #main-header nav ul:nth-of-type( 1 ) li:nth-of-type( 3 ) {
        transition-delay: 1100ms;
    }

    .nav-open #main-header nav ul:nth-of-type( 1 ) li:nth-of-type( 4 ) {
        transition-delay: 1200ms;
    }

    .nav-open #main-header nav ul:nth-of-type( 1 ) li:nth-of-type( 5 ) {
        transition-delay: 1300ms;
    }

    .nav-open #main-header nav ul:nth-of-type( 2 ) li:nth-of-type( 1 ) {
        transition-delay: 1400ms;
    }

    .nav-open #main-header nav ul:nth-of-type( 2 ) li:nth-of-type( 2 ) {
        transition-delay: 1500ms;
    }

    .nav-open #main-header nav ul:nth-of-type( 2 ) li:nth-of-type( 3 ) {
        transition-delay: 1600ms;
    }

    .nav-open #main-header nav ul:nth-of-type( 2 ) li:nth-of-type( 4 ) {
        transition-delay: 1700ms;
    }

    #main-header nav ul li a {
        padding: 3% 0 3% 8%;
    }

    #main-footer {
        padding: 65px 0 77px;
    }
    
    .mass.mb-plus {
        margin-bottom: 0;
    }

    .mass.mb-plus-mobile-valid {
        margin-bottom: 60px;
    }

    .inner,
    .inner-alt {
        padding: 40px 0 50px;
    }

    .inner-alt {
        width: 86%;
        margin: 0 auto;
    }

    .inner.pb-minus {
        padding-bottom: 50px;
    }

    .tit-01 {
        margin-bottom: 20px;
    }

    .tit-01.mb-minus {
        margin-bottom: 13px;
    }

    .tit-02 {
        font-size: 15px;
    }

    p.big {
        font-size: 20px;
    }

    .btn-02 {
        font-size: 17px;
    }

    .box-img.wide {
        padding-top: 65%;
    }

    .row.fit-colomn .lefter,
    .row.fit-colomn .righter {
        width: 100%;
    }

    .row.fit-colomn .lefter {
        padding: 73% 0 0 0;
        position: relative;
        top: 0;
        left: 0;
        z-index: 1;
    }

    .row.fit-colomn .righter {
        margin-left: 0;
        padding: 45px 3% 60px;
    }

    .divi-wrapper .box-img,
    .divi-wrapper .box-text {
        width: 100%;
    }

    .divi-wrapper .box-img,
    .divi-wrapper.img-left .box-img,
    .divi-wrapper.img-right .box-img {
        height: 0;
        padding-top: 65%;
        position: relative;
        top: 0;
        left: 0;
        right: 0;
    }

    .divi-wrapper.img-left .box-text {
        margin-left: 0;
    }

    .divi-img-with-bg.square-right .box-img:nth-of-type( 2 ) {
        top: 33%;
    }

    .divi-img-with-bg.square-right .box-img:nth-of-type( 3 ) {
        top: 23%;
    }

    .divi-img-with-bg.square-left .box-img:nth-of-type( 2 ) {
        top: 25%;
    }

    .divi-img-with-bg.square-left .box-img:nth-of-type( 3 ) {
        top: 35%;
    }

    .double-img-divi {
        margin-bottom: 5%;
    }

    .double-img-fit {
        padding: 10px 0 30px;
    }

    .box-img.wide.mb-plus {
        margin-bottom: 30px;
    }

    .pages #visual #visual-tit {
        width: 86% !important;
    }

    #home #visual #logo-box {
        width: 76%;
    }

    #home #visual #logo-box h1 {
        transform: scale( 0.99999 );
    }

    #part-00 .top-nav li {
        width: 50%;
    }

    #home #part-02,
    #home #part-03,
    #home #part-04,
    #home #part-05 {
        margin-bottom: 60px;
    }

    #home #part-01 .beige-base-divi {
        padding-bottom: 36px;
    }

    #home #part-02 .row.fit-colomn:nth-of-type( 1 ) .lefter .box-img {
        width: 75%;
        padding-top: 50%;
    }

    #home #part-03 {
        padding-top: 0;
    }

    #home #part-07 ul:nth-of-type( 1 ) {
        margin-bottom: 35px;
    }

    #news-detail #part-01 {
        padding-top: 120px;
    }

    #news-detail #part-01 .inner {
        padding-bottom: 25px;
    }

    #news-detail #part-01 .row-tit {
        padding-bottom: 0;
        margin-bottom: 20px;
    }

    #news-detail #part-01 .row-tit::after,
    #news-detail #part-01 .inner::after {
        display: none;
    }

    #news-detail #part-01 .row .img-wrapper,
    #news-detail #part-01 .row .box-text {
        width: 100%;
        float: none;
    }

    #news-detail #part-01 .row .img-wrapper {
        margin-bottom: 30px;
    }

    #news-detail #part-01 .row .box-text {
        padding-left: 0;
    }

    #news-detail #part-01 .row .img-wrapper .box-img {
        padding-top: 70%;
    }

    #news-detail #part-01 .btn-01 {
        padding-top: 55px;
    }

    #concept #part-01,
    #concept #part-02,
    #concept #part-step {
        margin-bottom: 60px;
    }

    #concept #part-01 > .white-base > .inner {
        padding-bottom: 30px;
    }

    #concept #part-01 > .white-base {
        padding-bottom: 0;
    }

    #concept #part-01-mini .inner {
        padding-top: 0;
    }

    #concept #part-01-mini .box-img {
        margin-bottom: 30px;
    }

    #concept #part-01-mini .ta-l {
        text-align: center;
    }

    #concept #part-01-mini .tit-01 {
        margin-bottom: 15px;
    }

    #concept #part-01-mini .tit-01 br {
        display: none;
    }

    #concept #part-step .base-white-alpha {
        width: calc( 98% - 70px );
    }

    #concept #part-step .base-white-alpha .inner {
        padding: 35px 0;
    }

    #concept #part-step .number {
        width: 60px;
    }

    #concept #part-step .number .base-stone {
        height: 60px;
    }

    #concept #part-step .number .base-stone-inner {
        height: 54px;
    }

    #concept #part-step .number .base-stone p {
        font-size: 22px;
        line-height: 54px;
    }

    #concept #part-step ol li section::before {
        top: 91px;
        left: 30px;
    }

    #concept #part-step ol li.active section::before {
        height: calc( 100% - 88px );
    }

    #jyutaku #part-02,
    #jyutaku #part-03,
    #jyutaku #part-04,
    #jyutaku #part-05,
    #jyutaku #part-06 {
        margin-bottom: 60px;
    }

    #jyutaku .base-white-alpha {
        background: rgba( 255,255,255,0.8 );
    }

    #jyutaku .divi-wrapper.obj-wrapper .box-img {
        width: 75%;
        padding-top: 68%;
        margin: 0 auto 5%;
    }

    #jyutaku #part-01 {
        margin-bottom: 5%;
    }

    #jyutaku #part-02 .box-text {
        position: relative;
        top: 0;
        left: 0;
        z-index: 1;
        transform: none;
    }

    #jyutaku #part-08 .tit-01 {
        margin-bottom: 30px;
    }

    #with-dog #visual {
        margin-bottom: 60px;
    }

    #with-dog h1.ta-l {
        text-align: center;
    }

    #with-dog #part-02 > .inner,
    #with-dog #part-03 > .inner,
    #with-dog #part-04 > .inner {
        padding-bottom: 0;
    }

    #with-dog #part-01,
    #with-dog #part-02,
    #with-dog #part-03,
    #with-dog #part-04 {
        margin-bottom: 60px;
    }

    #example .part-nav ul {
        flex-wrap: wrap;
    }

    #example .part-nav ul li {
        width: 40%;
        margin-bottom: 20px;
    }

    #example #part-01 {
        padding-bottom: 60px;
    }

    #example #part-02 {
        padding-top: 60px;
        margin-bottom: 60px;
    }

    #ex-detail #contents {
        padding-top: 130px;
    }

    #ex-detail #part-01 {
        margin-bottom: 50px;
    }

    #ex-detail #part-01 .small-copy {
        margin-bottom: 20px;
    }

    #after-support #part-01,
    #after-support #part-02 {
        margin-bottom: 60px;
    }

    #after-support #part-02 .inner {
        padding: 0;
    }

    #company #bg #bg-layer.active {
        opacity: 0.15;
    }

    #company #part-02 > .inner,
    #company #part-03 > .inner,
    #company #part-04 > .inner,
    #company #part-05 > .inner {
        padding-bottom: 0;
    }

    #company #part-01,
    #company #part-02,
    #company #part-03,
    #company #part-04,
    #company #part-05,
    #company #part-map {
        margin-bottom: 60px;
    }

    #company #part-map .inner .inner {
        width: 86%;
        padding: 35px 0 7%;
    }

    #contact #part-01,
    #contact #part-02 {
        margin-bottom: 60px;
    }

    #contact #part-01 aside a {
        width: 35px;
    }

    table.formTable th,
    table.formTable td {
        display: block;
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    #formWrap .btns-wrapper .form-btn {
        width: 42%;
    }

    #mail #formWrap {
        padding-top: 60px;
    }

    #mail .errm-wrapper {
        padding-top: 20px;
    }

    #privacy .base-white-alpha .mass {
        padding-bottom: 40px;
    }

    #privacy .base-white-alpha .mass:nth-of-type( 1 ) {
        padding-top: 60px;
    }

}

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

	.pc-alt {
		display: none;
    }

	.sp-alt {
		display: inline-block;
    }

    body {
        font-size: 16px;
        letter-spacing: 1px;
    }

    .mass.mb-plus-mobile-valid {
        margin-bottom: 40px;
    }

    .pages #visual #visual-tit {
        width: 66% !important;
        top: 50%;
    }

    .pages #visual #visual-tit h1 {
        line-height: 1.2;
    }

    .pages #visual #visual-tit h1 img:nth-of-type( 3 ) {
        margin-bottom: 2px;
    }

    #main-header > h1 {
        width: calc( 100% - 180px );
        top: 21px;
        left: 21px;
    }

    #main-header .main-icon {
        width: 70px;
        height: 70px;
    }

    #main-header .main-icon .bars::before,
    #main-header .main-icon .bars::after {
        width: 26px;
        left: 26px;
    }

    #main-header #icon-nav .bars::before {
        top: 19px;
    }

    #main-header #icon-nav .bars::after {
        top: 26px;
    }

    #main-header #icon-close .bars::before,
    #main-header #icon-close .bars::after {
        width: 21px;
        top: 23px;
        left: 29px;
    }

    #main-header .main-icon img {
        width: 40px;
        top: 38px;
        left: 20px;
    }

    #main-header #main-nav {
        width: 77%;
    }

    #main-header nav h1 {
        font-size: 50px;
        letter-spacing: 5px;
    }

    #part-footer-contact .beige-base > .inner {
        padding-bottom: 30px;
    }

    #part-footer-contact a.btn-01 {
        position: relative;
        top: -7px;
        left: 0;
        z-index: 1;
    }

    #main-footer {
        padding: 40px 0 55px;
        font-size: 14px;
        letter-spacing: 2px;
    }

    #main-footer aside ul li {
        width: 45px;
        margin: 0 3px;
    }

    #visual #icon-scroll {
        width: 53px;
        height: 160px;
    }

    #visual #icon-scroll .line-box {
        height: 50px;
        top: 17px;
        left: 20px;
    }

    #visual #icon-scroll .line-box::before {
        height: 50px;
    }

    #visual #icon-scroll img {
        height: 64px;
    }

    .inner,
    .inner-alt,
    .inner.little-wide {
        width: 80%;
    }
    
    .inner,
    .inner.pb-minus,
    .inner-alt {
        padding: 35px 0 40px;
    }

    .tit-01,
    .tit-01.mb-minus {
        margin-bottom: 14px;
        font-size: 23px;
    }

    .tit-01.sp-mb-plus {
        margin-bottom: 24px;
    }

    .tit-01.sp-mb-little-plus {
        margin-bottom: 18px;
    }

    .tit-02 {
        font-size: 16px;
    }

    p.big {
        font-size: 19px;
    }

    .btn-01 {
        padding-top: 60px;
        font-size: 19px;
    }

    .btn-01::before,
    .btn-01::after {
        height: 40px;
    }

    .btn-03 {
        width: 100%;
        max-width: initial;
        min-width: initial;
        padding: 22px 0;
        border: solid 2px #a19a7d;
    }

    .elem-panel-01 {
        transform: translateY( 40px );
        transition: all ease 800ms;
    }

    active .elem-panel-01 {
        transform: translateY( 0 );
    }

    ul.normal-three-colomn li,
    ul.row-three-colomn li {
        width: 100%;
        padding: 0;
        margin-bottom: 35px;
    }

    ul.normal-three-colomn li:last-of-type,
    ul.row-three-colomn li:last-of-type {
        margin-bottom: 0;
    }

    ul.row-three-colomn li:nth-of-type( 2 ) .box-img {
        padding-top: 130%;
    }

    .row.fit-colomn .lefter {
        padding: 98% 0 0 0;
    }

    .row.fit-colomn .righter {
        padding: 35px 3% 45px;
    }

    .divi-img-with-bg .inner {
        width: 100%;
        padding: 0 0 35px 0;
    }

    .divi-img-with-bg .box-img:nth-of-type( 1 ),
    .divi-img-with-bg .box-img:nth-of-type( 3 ) {
        display: none;
    }

    .divi-img-with-bg .box-img:nth-of-type( 2 ) {
        width: 100% !important;
        padding-top: 110% !important;
        position: relative;
        top: 0 !important;
        left: 0 !important;
        z-index: 1;
    }

    .box-img.wide,
    .divi-wrapper .box-img,
    .divi-wrapper.img-left .box-img,
    .divi-wrapper.img-right .box-img {
        padding-top: 120%;
    }

    .box-img.wide.mb-plus {
        margin-bottom: 25px;
    }

    .double-img-divi {
        width: 80%;
        padding: 0;
        margin: 0 auto;
    }

    .double-img-divi .box-img:nth-of-type( 1 ),
    .double-img-divi .box-img:nth-of-type( 2 ) {
        width: 100%;
        padding-top: 90%;
    }

    .double-img-divi .box-img:nth-of-type( 2 ) {
        position: relative;
        top: 0;
        left: 0;
        z-index: 1;
    }

    .double-img-fit {
        padding: 0 0 25px;
    }

    .double-img-fit .box-img {
        display: block;
        width: 100%;
        padding-top: 85%;
    }

    .list-colomn-03 {
        margin-bottom: 0;
    }

    .list-colomn-03 li {
        width: 100%;
        padding: 0;
        margin-bottom: 40px;
        float: none;
    }

    #home #visual #logo-box {
        width: 82%;
    }

    #home #part-02,
    #home #part-03,
    #home #part-04,
    #home #part-05 {
        margin-bottom: 40px;
    }

    #part-00 .top-nav li {
        width: 100%;
    }

    #home #part-01 .beige-base-divi {
        padding-top: 10%;
        padding-bottom: 30px;
        background: rgba( 243,241,234,1 );
    }

    #home ul.row-three-colomn li {
        margin-bottom: 0;
    }

    #home #part-01 ul.row-three-colomn li:nth-of-type( 1 ),
    #home #part-01 ul.row-three-colomn li:nth-of-type( 3 ) {
        display: none;
    }

    #home #part-02 .row.fit-colomn:nth-of-type( 1 ) .lefter .box-img {
        padding-top: 75%;
    }

    #home #part-07 ul li .box-img {
        padding-top: 100%;
    }

    #news-detail #part-01 {
        padding-top: 100px;
        margin-bottom: 45px;
    }

    #news-detail #part-01 .inner {
        padding-bottom: 20px;
    }

    #news-detail #part-01 .row-tit p {
        padding-top: 35px;
    }

    #news-detail.loaded #part-01 .row-tit p::before {
        height: 30px;
    }

    #news-detail #part-01 .row-tit p time::after {
        height: 3px;
        background: #a19a7d;
    }

    #news-detail #part-01 .row-tit {
        margin-bottom: 12px;
    }

    #news-detail #part-01 .row .img-wrapper {
        border: solid 5px #fff;
        margin-bottom: 22px;
    }

    #news-detail #part-01 .row .img-wrapper .box-img {
        padding-top: 100%;
    }

    #news-detail #part-01 .btn-01 {
        padding-top: 42px;
    }

    #concept #bg {
        background-position: 43% center;
    }

    #concept #visual #visual-tit {
        top: 47%;
    }

    #concept #part-01,
    #concept #part-02,
    #concept #part-step {
        margin-bottom: 40px;
    }

    #concept #part-02 .box-img {
        background-position: left center;
    }

    #concept #part-01 > .white-base > .inner {
        padding-bottom: 25px;
    }

    #concept #part-01-mini .box-img {
        margin-bottom: 25px;
    }

    #concept #part-01-mini .tit-01 {
        margin-bottom: 14px;
    }

    #concept #part-01-mini .tit-01 br {
        display: inline-block;
    }

    #concept #part-step .number {
        width: 44px;
    }

    #concept #part-step .number .base-stone {
        height: 44px;
        padding: 1px;
        top: 12px;
    }

    #concept #part-step .number .base-stone-inner {
        height: 40px;
    }

    #concept #part-step .number .base-stone p {
        font-size: 18px;
        line-height: 40px;
    }

    #concept #part-step ol li section::before {
        top: 67px;
        left: 22px;
    }

    #concept #part-step ol li.active section::before {
        height: calc( 100% - 66px );
    }

    #concept #part-step .base-white-alpha {
        width: calc( 98% - 50px );
    }

    #concept #part-step .base-white-alpha .inner {
        padding: 25px 0;
    }

    #concept #part-step .base-white-alpha h1.tit-01 {
        margin-bottom: 8px;
        font-size: 20px;
        line-height: 1.5;
    }

    #concept #part-step .base-white-alpha p {
        font-size: 14px;
    }

    #concept #part-step ol li:nth-of-type( 1 ) .box-img {
        background-position: 68% center;
    }

    #concept #part-step ol li:nth-of-type( 3 ) .box-img {
        padding-top: 100%;
        background-position: right center;
    }

    #concept #part-step ol li:nth-of-type( 5 ) .colomn-03 {
        display: block;
        padding-top: 7px;
    }

    #concept #part-step ol li:nth-of-type( 5 ) .colomn-03 .box-img {
        width: 100%;
        padding-top: 100%;
    }

    #concept #part-step ol li:nth-of-type( 6 ) .box-img,
    #concept #part-step ol li:nth-of-type( 8 ) .box-img,
    #concept #part-step ol li:nth-of-type( 10 ) .box-img {
        padding-top: 70%;
    }

    #with-dog #visual {
        margin-bottom: 40px;
    }

    #with-dog #part-01,
    #with-dog #part-02,
    #with-dog #part-03,
    #with-dog #part-04 {
        margin-bottom: 40px;
    }

    #jyutaku #bg {
        background-position: 43% center;
    }

    #jyutaku #part-02,
    #jyutaku #part-03,
    #jyutaku #part-04,
    #jyutaku #part-05,
    #jyutaku #part-06 {
        margin-bottom: 40px;
    }

    #jyutaku .divi-wrapper.obj-wrapper .box-img {
        width: 100%;
        padding-top: 92%;
        margin-bottom: 8%;
    }

    #jyutaku #part-01 {
        margin-bottom: 9%;
    }

    #jyutaku #part-04 .box-img {
        background-position: right center;
    }

    #jyutaku #part-08 .tit-01 {
        margin-bottom: 23px;
    }

    #jyutaku #part-08 .box-img {
        padding-top: 100%;
    }

    #with-dog #bg {
        background-image: url( /common/img/with-dog/bg-square.jpg );
    }

    #example #visual #visual-tit {
        width: 74% !important;
    }

    #example .part-nav ul li {
        width: 50%;
    }

    #example #part-01 {
        padding-bottom: 10px;
    }

    #example #part-02,
    #example #part-03,
    #example #part-04 {
        padding-top: 40px;
        margin-bottom: 10px;
    }

    #example  .ta-c {
        text-align: left;
    }

    #example .list-colomn-03:nth-of-type( 1 ) {
        padding-top: 11%;
    }

    #example .list-colomn-03 h1 {
        font-size: 16px;
    }

    #ex-detail #contents {
        padding-top: 110px;
    }

    #ex-detail #part-01 {
        margin-bottom: 40px;
    }

    #ex-detail #part-01 .box-img.wide {
        padding-top: 100%;
    }
    
    #ex-detail #part-02 h1.tit-01 {
        margin-bottom: 30px;
    }

    #ex-detail #part-02 .inner {
        width: 82%;
        padding-bottom: 40px;
    }

    #ex-detail .list-colomn-03 li {
        width: 33.33333%;
        padding: 0 1%;
        margin-bottom: 0;
        float: left;
    }

    #ex-detail #part-02 .thumb {
        margin-bottom: 6.6%;
    }

    #ex-detail .no-11 #part-01 .box-img {
        background-position: left center;
    }

    #ex-detail .no-12 #part-01 .box-img {
        background-position: 23% center;
    }

    #ex-detail .no-15 #part-01 .box-img {
        background-position: left center;
    }

    #after-support #visual #visual-tit {
        width: 70% !important;
    }

    #after-support #part-01,
    #after-support #part-02 {
        margin-bottom: 40px;
    }

    #after-support #part-02 .box-img {
        padding-top: 100%;
    }

    #company #visual #visual-tit {
        width: 74% !important;
    }

    #company #part-01,
    #company #part-02,
    #company #part-03,
    #company #part-04,
    #company #part-05,
    #company #part-map {
        margin-bottom: 40px;
    }

    #company .box-img {
        padding-top: 100%;
    }

    #company #part-01 .sign {
        font-size: 17px;
    }

    #company #part-01 .sign span {
        font-size: 12px;
    }

    #company #part-03 .box-img,
    #company #part-04 .box-img {
        background-position: left center;
    }

    #company .inner-alt {
        padding: 30px 0;
    }

    #company dl.colomn dt,
    #company dl.colomn.alt dt,
    #company dl.colomn dd,
    #company dl.colomn.alt dd {
        width: 100%;
        margin-left: 0;
        float: none;
    }

    #company dl.colomn dt {
        margin-bottom: 3px;
        font-size: 19px;
        line-height: 1.5;
    }

    #company dl.colomn dd {
        padding-bottom: 18px;
        border-bottom: solid 1px rgba( 161,154,125,0.5 );
        margin-bottom: 18px;
    }

    #company dl.colomn dd:last-of-type {
        padding-bottom: 0;
        border-bottom: none;
        margin-bottom: 0;
    }

    #company .list-marker li {
        text-indent: -0.9em;
    }

    #company #part-map .inner .inner {
        padding-top: 25px;
    }

    #company #part-map .tit-01 {
        margin-bottom: 17px;
    }

    #company #part-map #map {
        height: 400px;
    }

    #apartments #bg {
        background-image: url(/common/img/apartments/bg-square.jpg);
    }
    #apartments #part-01,
    #apartments #part-02,
    #apartments #part-03,
    #apartments #part-04,
    #apartments #part-05 {
        margin-bottom: 40px;
    }


    #contact #part-01,
    #contact #part-02 {
        margin-bottom: 40px;
    }

    #contact #part-01 .ta-c {
        text-align: left;
    }

    #contact #part-01 p.mb-plus {
        margin-bottom: 20px;
    }

    table.formTable th,
    table.formTable td {
        padding: 27px;
    }

    table.formTable input[type="text"],
    textarea {
        font-size: 15px;
    }

    table.formTable input[type="text"].short,
    table.formTable input[type="text"].short-em {
        width: 100%;
    }

    table.formTable input[type="text"].w-em {
        width: 8em;
    }

    table.formTable select {
        margin-top: 10px;
    }

    #formWrap .btns-wrapper .form-btn {
        width: 100%;
        font-size: 16px;
    }

    #formWrap .btns-wrapper .form-btn:nth-of-type( 1 ) {
        margin-bottom: 15px;
    }

    #mail #formWrap {
        padding-top: 50px;
    }

    #mail #formWrap .ta-c {
        text-align: left;
        letter-spacing: 0;
        font-size: 15px;
    }

    #mail .errm-wrapper {
        padding-top: 20px;
    }

    #mail #formWrap .btns-wrapper .form-btn[type="submit"] {
        margin-bottom: 15px;
    }

    #mail #main-footer {
        padding: 40px 0 55px;
    }

    #thanks #msg-box {
        width: 80%;
    }

    #thanks #msg-box .inner {
        width: 90%;
        padding-bottom: 13px;
    }

    #thanks #msg-box .tit-01 {
        padding: 20px 0;
        margin-bottom: 15px;
        font-size: 22px;
    }

    #thanks #msg-box p {
        margin-bottom: 10px;
    }

    #thanks #main-footer {
        padding-bottom: 24px;
    }

    #thanks #main-footer,
    #thanks #main-footer a {
        font-size: 13px;
        line-height: 1.6;
    }

    #thanks #main-footer aside ul li a {
        line-height: 1;
    }

    #privacy #visual #visual-tit {
        width: 72% !important;
    }

    #privacy .base-white-alpha .mass {
        padding-bottom: 20px;
    }

    #privacy .base-white-alpha .mass:nth-of-type( 1 ) {
        padding-top: 36px;
    }

    #privacy .base-white-alpha .mass:last-of-type {
        padding-bottom: 40px;
    }

}

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

    #thanks #msg-box p {
        font-size: 14px;
    }

    #thanks #main-footer {
        padding-bottom: 22px;
    }

    #main-footer, #main-footer a {
        line-height: 1.5;
        font-size: 13px;
    }

}

/*=============================================================
22. mobile
=============================================================*/

.mobile #main-header .main-icon {
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}

.mobile #main-header #icon-nav:hover .bars::before,
.mobile #main-header #icon-nav:hover .bars::after {
    animation: none;
}

.mobile #main-header nav ul li a {
    padding: 3% 0;
    left: 0;
    transition: none;
}

.mobile #main-header nav ul li a::before {
    display: none;
}

.mobile .btn-01::before {
    background: #a19a7d;
}

.mobile .btn-01.white::before {
    background: #fff;
}

.mobile .btn-01::after,
.mobile .btn-01 span.under-line {
    display: none;
}

.mobile a:hover .btn-02::after,
.mobile .btn-02:hover::after {
    animation: none;
}

.mobile a .thumb img {
    transition: none;
}

.mobile a:hover .thumb img {
    transform: none;
}

a .thumb .ov {
    display: none;
}

#formWrap .btns-wrapper .form-btn {
    transition: none;
}

#formWrap .btns-wrapper .form-btn:hover {
    background: rgba( 255,255,255,0.95 );
    color: #a19a7d;
}

#formWrap .btns-wrapper .form-btn.alt:hover {
    background: none;
}

/*=============================================================
23. helper
=============================================================*/

.ta-c {
    text-align: center;
}

.clr {
	clear: both;
}

/*
* clear fix
*/

.cf:before,
.cf:after {
	content:"";
	display: block;
	height: 0;
	overflow: hidden;
}

.cf:after {
	clear: both;
}
