@charset "utf-8";

html { overflow-x: hidden;font-weight: 100;}
body {
	margin: 0;
	padding: 0;
	position: relative;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Serif JP', serif;
	overflow-x: hidden;
	font-size: 100%!important; 
}

#design{
	font-size: 62.5%!important; 
}

.brown { color: #a08275;}
.green { color: #d8cd9b;}
.inner970 { max-width: 1000px; }
.notes {
    font-size: 1rem; 
    letter-spacing: 0.1em;
}
/* secDesign */
.secDesign { padding: 120px 0 175px;}
.secDesign .secHead .jp02 {
    font-size: 84%;
    line-height: 2.5;
    letter-spacing: 0.1em;
}
.secDesign .secHead .under_h3 { font-size: 150%;line-height: 1.6;}
.secDesign.hasBg {
    background-color: rgba(110, 58, 54, 0.6);
    color: #fff;
}
.secDesign .designImg { margin-top: 135px;}
@media only screen and (max-width: 1000px) {
    .secDesign { padding: 120px 0!important;}
    .secDesign .designImg { margin-top: 0;}
    .secDesign .secHead .jp02 { line-height: 2;}
}
@media only screen and (max-width: 767px) {
    .secDesign { padding: 60px 0!important;}
    .secDesign .secHead .jp02 { text-align: left;}
}
/* secFacade */
.secFacade { padding: 150px 0 235px;}
.facadeImg { margin: 65px auto 165px; }
.facadeImg .facadePhoto { 
    position: relative;
    padding-bottom: 20px;
}
.facadeImg .facadePhoto .pic_cap { right:60px; }
.materialBlock { margin-top: 155px;}
.materialBlock .boxLine {
    border-top: 1px solid #dcd1cc;
    border-bottom: 1px solid #dcd1cc;
    padding: 15px 0 30px;
}
.materialBlock .headCont { margin-bottom: 40px;}
.materialBlock .headCont .ttl {
    font-size: 1.8rem;
    letter-spacing: 0.06em;
    line-height: 1.7;
    margin-bottom: 20px;
}
.materialBlock .headCont .ttl .en { color: #dcd1cc;}
.materialBlock .headCont .ttl .jp {
    font-size: 89%;
    letter-spacing: 0.1em;
    display: block;
}
.materialBlock .headCont .txt {
    font-size: 1.4rem;
    line-height: 2.1;
    letter-spacing: 0.06em;
}
.materialBlock .personBox { display: flex;}
.materialBlock .personBox + .personBox { margin-top: 15px;}
.materialBlock .personBox .avt { width: 128px;}
.materialBlock .personBox .info {
    flex: 1;
    background-color: #252625;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 7px 7px 15px;
}
.materialBlock .personBox .txt {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.5;
    margin-bottom: 10px;
}
.materialBlock .personBox .name {
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
}
.materialBlock .listPhoto.row {
    margin-left: -10px;
    margin-right: -10px;
}
.materialBlock .listPhoto.row [class^="col"] {
    padding-left: 10px;
    padding-right: 10px;
}
.materialBlock .listPhoto.row [class^="col"]:nth-child(n+3) { margin-top: 40px;}
.materialBlock .listPhoto .txt {
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    line-height: 1.3;
    margin-top: 10px;
}
.materialBlock02 .iconParkers { max-width: 160px;}
.materialBlock02 .boxLine { padding: 20px 0;}
@media only screen and (min-width: 768px){
    .materialBlock.row > .col-md-7 {
        -ms-flex: 0 0 65%;
        flex: 0 0 65%;
        max-width: 65%;
    }
    .materialBlock.row > .col-md-5 {
        flex: 1;
        max-width: initial;
    }
    .materialBlock02 .row > .col-md-7 {
        -ms-flex: 0 0 61.5%;
        flex: 0 0 61.5%;
        max-width: 61.5%;
    }
    .materialBlock02 .row > .col-md-5 {
        flex: 1;
        max-width: initial;
    }
    .materialBlock .personRow.row {
        margin-left: -10px;
        margin-right: -10px;
    }
    .materialBlock .personRow.row > [class^="col"] {
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media only screen and (min-width: 1001px){
    .materialBlock.row {
        margin-left: -30px;
        margin-right: -30px;
    }
    .materialBlock.row > [class^="col"] {
        padding-left: 30px;
        padding-right: 30px;
    }
    .materialBlock.row > .col-md-7 {
        -ms-flex: 0 0 61%;
        flex: 0 0 61%;
        max-width: 61%;
    }
    .materialBlock02 .row {
        margin-left: -35px;
        margin-right: -35px;
    }
    .materialBlock02 .row > [class^="col"] {
        padding-left: 35px;
        padding-right: 35px;
    }
    .materialBlock .personRow.row {
        margin-left: -15px;
        margin-right: -15px;
    }
    .materialBlock .personRow.row > [class^="col"] {
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media only screen and (max-width: 1000px){
    .facadeImg { margin: 0 auto 60px;}
    .facadeImg .facadePhoto .pic_cap { right:0; }
    .materialBlock { margin-top: 60px;}
    .materialBlock .headCont .ttl {
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
    .materialBlock .headCont .txt {
        font-size: 1.2rem;
        letter-spacing: 0.01em;
    }
    .materialBlock .personBox .avt { width: 100px;}
    .materialBlock .personBox .txt {
        font-size: 1.1rem;
        margin-bottom: 5px;
    }
    .materialBlock .personBox .name { font-size: 1.4rem; }
    .materialBlock .listPhoto .txt { font-size: 1.1rem; }
}
@media only screen and (max-width: 767px) {
    .facadeImg { margin: 0 auto 40px; }
    .materialBlock { margin-top: 40px;}
    .materialBlock .boxLine { padding: 20px 0;}
    .materialBlock .headCont { margin-bottom: 20px;}
    .materialBlock .headCont .ttl { text-align: center;}
    .materialBlock .personRow.row > [class^="col"] + [class^="col"] { margin-top: 10px;}
    .materialBlock .listPhoto.row { margin-top: 20px;}
    .materialBlock .listPhoto.row [class^="col"]:nth-child(n+3) { margin-top: 20px;}
    .materialBlock .personBox + .personBox { margin-top: 10px;}
    .materialBlock02 .row > [class^="col"] + [class^="col"] { margin-top: 20px;}
    .materialBlock02 .iconParkers { margin: auto;}
}
/* secLandscape */
.secLandscape { padding: 145px 0 220px;}
.landscapeList { margin-top: 190px;}
.landscapeList .landscapeHead .ttl {
    font-size: 1.6rem;
    letter-spacing: 0.158em;
    font-weight: 300;
    padding-bottom: 10px;
    margin-bottom: 15px;
    color: #4d3a28;
    border-bottom: 1px solid #4d3a28;
}
.landscapeList .landscapeHead .txt {
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    font-weight: 300;
    line-height: 1.8;
    color: #231815;
}
.landscapeList .landscapeHead + .landscapeHead { margin-top: 35px;}
.landscapeList .landscapeNotes {
    width: 53.5%;
    position: absolute;
    bottom: 0%;
    left: 7%;
}
@media only screen and (max-width: 1000px){
    .landscapeList { margin-top: 60px;}
    .landscapeList .landscapeHead .ttl {
        font-size: 1.4rem;
        padding-bottom: 8px;
        margin-bottom: 10px;
    }
    .landscapeList .landscapeHead .txt { font-size: 1.1rem;}
    .landscapeList .landscapeHead + .landscapeHead { margin-top: 20px;}
}
@media only screen and (max-width: 767px){
    .landscapeList { margin-top: 30px; }
    .landscapeList .pic_cap { letter-spacing: 0;}
}
/* secEntrance */
.secEntrance { padding: 125px 0 230px;}
.etranceImg { margin: 110px 0 185px;}
.etranceBlock { display: flex;}
.etranceBlock + .etranceBlock { margin-top: 170px;}
.etranceBlock .detail {
    width: 54.5%;
    padding: 0 60px 0 0;
}
.etranceBlock .img { flex: 1;}
.etranceBlock .pos_rel {
    margin-right: calc(-1*(100vw - 970px) / 2);
    width: calc(100% + (100vw - 970px) / 2);
}
.etranceBlock .detail .cont {
    display: flex;
    align-items: flex-end;
    height: 100%;
}
.etranceBlock .etranceHead .ttl {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 2.2;
    font-weight: 300;
    margin-bottom: 10px;
}
.etranceBlock .etranceHead .txt {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    line-height: 2.5;
    font-weight: 300;
}
.etranceBlock.reverse { flex-direction: row-reverse;}
.etranceBlock.reverse .detail {
    width: 31%;
    padding: 0 0 0 60px;
}
.etranceBlock.reverse .cont { margin-right: -100px;}
.etranceBlock.reverse .pos_rel {
    margin-left: calc(-1*(100vw - 970px) / 2);
    margin-right: auto;
    width: calc(100% + (100vw - 970px) / 2);
}
@media only screen and (max-width: 1200px) {
    .etranceBlock.reverse .cont { margin-right: 0;}
    .etranceBlock.reverse .detail {
        width: 38%;
        padding: 0 0 0 2%;
    }
    .etranceBlock .detail { padding: 0 2% 0 0;}
    .etranceBlock .etranceHead .ttl {
        font-size: 1.7rem;
        line-height: 2;
    }
    .etranceBlock .etranceHead .txt {
        font-size: 1.4rem;
        line-height: 2;
    }
}

@media only screen and (max-width: 1000px) {
    .etranceImg { margin: 0 0 60px;}
    .etranceBlock.reverse .pos_rel {
        margin-left: -15px;
        width: auto;
    }
    .etranceBlock .pos_rel {
        margin-right: -15px;
        width: auto;
    }
    .etranceBlock + .etranceBlock { margin-top: 60px;}
    .etranceBlock .etranceHead .ttl {
        font-size: 1.6rem;
        line-height: 1.8;
        letter-spacing: 0.01em;
    }
    .etranceBlock .etranceHead .txt {
        font-size: 1.3rem;
        letter-spacing: 0.01em;
        line-height: 1.8;
    }
}
@media only screen and (max-width: 767px) {
    .etranceImg { margin: 0 0 40px;}
    .etranceBlock { display: block;}
    .etranceBlock + .etranceBlock { margin-top: 40px;}
    .etranceBlock.reverse .detail,
    .etranceBlock .detail {
        width: 100%;
        padding: 0;
        margin-bottom: 20px;
    }
    .etranceBlock .pos_rel { margin-right: 0;}
    .etranceBlock.reverse .pos_rel { margin-left: 0;}
    .etranceBlock .detail .cont {
        text-align: center;
        justify-content: center;
    }
}

.switchPhotos {
    position: relative;
    height: auto;
    width: 100%;
}
.switchPhotos > .photo02 {
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    filter: blur(5px);
    transition: all ease-in-out 1.5s;
}
.switchPhotos.isChange > .photo02 {
    opacity: 1;
    visibility: visible;
    filter: blur(0px);
}
.c_brown02{color: #A09271 !important;}
.c_white{color: #fff !important;}
.c_blk{color: #231815 !important;}
.c_brown{color: #4D3A28 !important;}
.border_brown{background: #A09271 !important;}

/* */
.pa_ttl{color: #D8CD9B; font-size: 240%; margin-top: 40px; line-height: 2.0;}
.pa_ttl + p {font-size: 160%; margin-top: 2em; line-height: 2.2;}
.etranceImg.des_pa{margin-top: 80px;}
.flex_des_p{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 80%;
	margin-left: 0;
	margin-right: auto;
}
.flex_des_p .item_01{width: 70%;}
.flex_des_p .item_02{width: 26%;}
@media only screen and (max-width: 767px) {
	.etranceImg.des_pa{margin-top: 40px;}
	.flex_des_p, .flex_des_p .item_01, .flex_des_p .item_02{width: 100%; max-width: 100%;}
	.flex_des_p .item_02{margin-top: 15px;}
	.item_02_copy{padding-left: 15px; padding-right: 15px;}
	.pa_ttl{margin-top: 0;line-height: 1.8;}
	.pa_ttl + p {margin-top: 1.8em; line-height: 1.8;}
}




/*==================================================================
	Contents setting
===================================================================*/
body #container {
	background: url(../img/design/bg_body_top.jpg) repeat 0 0;
	background-attachment: fixed;
	width: 100%;
	box-sizing: border-box;
	margin-top: 0;
	margin-right: auto;
	margin-left: auto;
	text-align: left;
	position: relative;
  	z-index: 1;
}
body #top #container {
	background: url(../img/design/bg_body_top.jpg) repeat 0 0;
	background-attachment: fixed;
}
img {
	max-width: 100%;
	height: auto;
}
.inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
}
@media only screen and (min-width: 1001px) and (max-width: 1200px) {
	.inner {max-width: 92%;}
}


/* lower section title */
.secHead {
    font-size: 2.2em;
    letter-spacing: 0.1em;
    margin-bottom: 60px;
    position: relative;
    text-align: center;
}
.secHead .en {
    color: #a08275;
    display: block;
    font-size: 2.2rem;
    text-transform: uppercase;
}
.secHead .jp {
    color: #191b28;
    display: block;
	line-height: 2.0;
    margin-top: 40px;
}
.secHead .jp02 {
    color: #191b28;
    display: block;
	font-size: 90%;
	line-height: 2.0;
    margin-top: 40px;
}
.secHead .lines {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	content: "";
	height: 8px;
	width: 100%;
	max-width: 165px;
	margin: 0 auto;
	position: absolute;
	top: 40px;
	right: 0;
	left: 0;
	z-index: 1;
}
.secHead .lines .line1 {
	/* background-color: rgba(82, 27, 20, 0.6); */
	height: 1px;
	width: 95%;
	overflow: hidden;
	margin-left: auto;
	position: relative;
}
.secHead .lines .line1 > span {
	background: linear-gradient(to right, rgba(161,125,65,1) 0%,rgba(215,199,173,1) 40%,rgba(255,255,255,1) 63%,rgba(121,84,42,1) 100%);
    display: block;
    position: absolute;
    top: 0;
    left: -100%;
    height: 100%;
    width: 100%;
	opacity: 0;
}
.secHead.on .lines .line1 > span {
    -webkit-animation: secHeadLine01 1s forwards linear;
    -moz-animation: secHeadLine01 1s forwards linear;
    animation: secHeadLine01 1s forwards linear;
	opacity: 1;
}
@keyframes secHeadLine01 {
	0% {
		left: -100%;
	}
	100% {
		left: 0;
	}
}
.secHead .lines .line2 {
	/* background-color: rgba(82, 27, 20, 0.6); */
	height: 1px;
	width: 95%;
	overflow: hidden;
	margin-right: auto;
	position: relative;
}
.secHead .lines .line2 > span {
	background: linear-gradient(to left, rgba(161,125,65,1) 0%,rgba(215,199,173,1) 40%,rgba(255,255,255,1) 63%,rgba(121,84,42,1) 100%);
    display: block;
    position: absolute;
    top: 0;
    right: -100%;
    height: 100%;
    width: 100%;
	opacity: 0;
}
.secHead.on .lines .line2 > span {
    -webkit-animation: secHeadLine02 1s forwards linear;
    -moz-animation: secHeadLine02 1s forwards linear;
    animation: secHeadLine02 1s forwards linear;
	opacity: 1;
}
@keyframes secHeadLine02 {
	0% {
		right: -100%;
	}
	100% {
		right: 0;
	}
}

@media only screen and (max-width:767px){
    .secHead {
        font-size: 1.6rem;
        margin-bottom: 30px;
    }
}

/* secEntrance */
.secEntrance { padding: 125px 0 230px;}
.etranceImg { margin: 110px 0 185px;}
.etranceBlock { display: flex;}
.etranceBlock + .etranceBlock { margin-top: 170px;}
.etranceBlock .detail {
    width: 54.5%;
    padding: 0 60px 0 0;
}
.etranceBlock .img { flex: 1;}
.etranceBlock .pos_rel {
    margin-right: calc(-1*(100vw - 970px) / 2);
    width: calc(100% + (100vw - 970px) / 2);
}
.etranceBlock .detail .cont {
    display: flex;
    align-items: flex-end;
    height: 100%;
}
.etranceBlock .etranceHead .ttl {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 2.2;
    font-weight: 300;
    margin-bottom: 10px;
}
.etranceBlock .etranceHead .txt {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    line-height: 2.5;
    font-weight: 300;
}
.etranceBlock.reverse { flex-direction: row-reverse;}
.etranceBlock.reverse .detail {
    width: 31%;
    padding: 0 0 0 60px;
}
.etranceBlock.reverse .cont { margin-right: -100px;}
.etranceBlock.reverse .pos_rel {
    margin-left: calc(-1*(100vw - 970px) / 2);
    margin-right: auto;
    width: calc(100% + (100vw - 970px) / 2);
}
@media only screen and (max-width: 1200px) {
    .etranceBlock.reverse .cont { margin-right: 0;}
    .etranceBlock.reverse .detail {
        width: 38%;
        padding: 0 0 0 2%;
    }
    .etranceBlock .detail { padding: 0 2% 0 0;}
    .etranceBlock .etranceHead .ttl {
        font-size: 1.7rem;
        line-height: 2;
    }
    .etranceBlock .etranceHead .txt {
        font-size: 1.4rem;
        line-height: 2;
    }
}

@media only screen and (max-width: 1000px) {
    .etranceImg { margin: 0 0 60px;}
    .etranceBlock.reverse .pos_rel {
        margin-left: -15px;
        width: auto;
    }
    .etranceBlock .pos_rel {
        margin-right: -15px;
        width: auto;
    }
    .etranceBlock + .etranceBlock { margin-top: 60px;}
    .etranceBlock .etranceHead .ttl {
        font-size: 1.6rem;
        line-height: 1.8;
        letter-spacing: 0.01em;
    }
    .etranceBlock .etranceHead .txt {
        font-size: 1.3rem;
        letter-spacing: 0.01em;
        line-height: 1.8;
    }
}
@media only screen and (max-width: 767px) {
    .etranceImg { margin: 0 0 40px;}
    .etranceBlock { display: block;}
    .etranceBlock + .etranceBlock { margin-top: 40px;}
    .etranceBlock.reverse .detail,
    .etranceBlock .detail {
        width: 100%;
        padding: 0;
        margin-bottom: 20px;
    }
    .etranceBlock .pos_rel { margin-right: 0;}
    .etranceBlock.reverse .pos_rel { margin-left: 0;}
    .etranceBlock .detail .cont {
        text-align: center;
        justify-content: center;
    }
}

.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}