@charset "utf-8";

.fo-din {
	font-family: "din-condensed", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1;
}
.fo-min {
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"
}
.clr-wh {
	color: #fff!important
}
.clr-rd{
	color: #B86466!important;
}
.txt-lh {
	line-height: 1.8
}
.bg-wh {background: #fff!important}
.bg-bk {background: #6D6A65!important}
.bg-bl {background: #1c386c!important}
.bg-gr {background: #e2e2e2!important}
.bg-rd {background: #B86466!important}
.btn {
	max-width: 45rem;
	margin: 4rem auto 0;
	box-shadow: 1rem 1rem 1rem rgba(35,24,21,.3);
	border-radius: 10rem;
}
.btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	background: #F7E9B1;
	color: #000;
	font-weight: 600;
	font-size: 2.4rem;
	text-align: center;
	padding: 2.5rem 1rem;
	border-radius: 10rem;
	box-shadow: .3rem .4rem 0 #d0aa8a;
}
.btn a.bg-rd{
	color: #fff;
	box-shadow: .3rem .4rem 0 #C57778;
}
.btn a::after {
	content: "";
	display: block;
	background:url("../img/btn_arrow_btm.svg") center center no-repeat, radial-gradient(circle, #000 0%, #000 50%, #fff 50%, #fff 100%);
	background-size: contain;
	width: 2.9rem;
	height: 2.9rem;
	margin-left: 2rem;
	z-index: 5;
	border-radius: 200px;
}
.btn a.bg-rd::after {
background:url("../img/btn_arrow_btm.svg") center center no-repeat;
	background-size: contain;
}


.btn a::before {
	content: '';
	border-radius: 10rem;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background: #4e515d;
	width: 100%;
	height: 100%;
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: top;
	box-shadow: .3rem .4rem 0 #4e515d;
}
.btn a:hover:before {
	transform: scale(1, 1);
}
.btn a span {
	position: relative;
	z-index: 10
}

/*header
---------------------------------------------------------*/
#header {
	position: absolute;
	top: 3rem;
	right: 2rem;
	z-index: 999;
}
.nav {
	gap: 0 2.5rem;
}
.nav a {
	display: block;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .05em;
	position: relative;
}
.nav a::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -.3rem;
	width: 0;
	height: 1px;
	background: #fff;
	transition: .4s ease-out;
}
.nav a:hover::after {
	width: 100%;
}
.menuIconWrap {
	display: none;
}
/*footer
---------------------------------------------------------*/
#footer {
	padding: 4rem 0;
}
.fLogo {
	max-width: 18.7rem;
	margin-right: 4rem;
}
.footBox {
	font-size: 1.2rem;
	text-align: left;
	line-height: 1.6
}
.footBox big {
	font-size: 142%;
}
.copyRight {
	color: #959595;
	font-size: 1.2rem;
	margin-top: 4rem;
}
#side {
	position: fixed;
	right: 2vw;
	top: 50%;
	transform: translateY(-50%);
	width: auto;
	display: inline-block;
	left: auto;
	z-index: 9999;
}
.sideNav a {
	display: block;
	font-size: 1rem;
	color: #fff;
	background: #6D6A65;
	padding: 1.5rem;
	letter-spacing: .15em;
}
.sideNav a::before {
	content: "";
	display: inline-block;
	background: url("../img/icon_side01.svg") center center no-repeat;
	background-size: contain;
	width: 1.4rem;
	height: 1.3rem;
	margin-bottom: .5rem;
	margin-right: -.2rem;
}
.sideNav li:nth-of-type(2) a {
	background: #B86466;
}
.sideNav li:nth-of-type(2) a::before {
	background-image: url("../img/icon_side02.svg");
	width: 1.2rem;
	height: 1.2rem;
}
.goTop {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	width: 5rem;
	height: 5rem;
	z-index: 9999;
	background: #fff;
}
.goTop a {
	display: block;
	width: 100%;
	height: 100%;
	background: url("../img/gotop.svg") center center no-repeat;
	background-size: auto 32%;
	position: relative;
	z-index: 1;
}
.goTop::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: #1c386c;
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scaleX(0)
}
.goTop:hover::before {
	transform: scale(1)
}
.goTop:hover a {
	background-image: url("../img/gotop_wh.svg")
}
.btmFix {
	opacity: 0;
	visibility: hidden;
	transition: .4s;
	position: fixed;
	bottom: -5rem;
	left: 0;
	right: 0;
	z-index: 999;
	margin: 0 auto;
	max-width: 50rem;
	pointer-events: none;
}
.btmFix.active {
	opacity: 1;
	visibility: visible;
	bottom: 1rem;
	pointer-events: auto;
}
.btmFix .close {
	position: absolute;
	top: .3rem;
	right: .5rem;
	font-size: 1.6rem;
	color: #000;
	z-index: 10;
	cursor: pointer;
}
.btmFix .img {
	max-width: 7rem;
	margin-left: 1.6rem;
}
.btmFixCont {
	position: relative;
	background: #fff;
	padding: 2rem 2rem 1rem;
	box-shadow: 0 0px 20px rgba(61, 61, 61, 0.25);
}
.btmFixCont::after {
	content: "";
	display: block;
	width: 1.2rem;
	height: 1.2rem;
	border-right: 1px solid #c3936a;
	border-bottom: 1px solid #c3936a;
	transform: rotate(45deg);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1rem;
	margin: 0 auto;
	z-index: 1;
}

/*contents
---------------------------------------------------------*/
.plxImg {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100vh;
	z-index: -9999;
	transition: 1.5s;
	background: url("../img/main.jpg") center center no-repeat;
	background-size: cover;
}
.plxImg::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99;
	opacity: 0;
	transition: 2s;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	background: rgba(255,255,255,.3);
}
.plxImg._blur::after {
	opacity: 1;
}
body.subPage .plxImg {
	display: none!important;
}
.mainArea {
	min-height: 100vh;
	padding-top: 8.78vh;
	position: relative;
}
.mainLogo {
	max-width: 21.6rem;
	margin: 0 auto;
}
.mainLogo small {
	font-size: 1.1rem;
	color: #fff;
	letter-spacing: .05em;
	white-space: nowrap;
}
.mainTtl {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 50;
	color: #fff;
}
.mainTtl .eng {
	font-size: 5.26vh;
	font-weight: 400;
	letter-spacing: .2em;
	text-indent: .2em;
	margin-bottom: 2rem;
}
.mainTtl h1 {
	font-size: 5.9vh;
	font-weight: 700;
	line-height: 1.4
}
.mainTtl .sub {
	display: inline-block;
	background: #fff;
	font-size: 2rem;
	padding: .2rem 2rem;
	font-weight: 600;
	margin-top: 1rem;
	color: #1a1a1a
}
.scrollWrap {
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	max-width: 34.8rem;
	z-index: 10;
	bottom: 2rem;
}
.scrollWrap .txt {
	position: relative;
	padding-bottom: 2.5rem;
}
.scrollWrap .txt::after {
	content: "";
	background: url("../img/scroll_arrow.svg") bottom center no-repeat;
	background-size: contain;
	display: block;
	width: 2.9rem;
	height: 1.6rem;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: 0;
	-webkit-animation: scrollarr 1.2s ease infinite;
	animation: scrollarr 1.2s ease infinite;
}
@keyframes scrollarr {
	0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
	10% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
	75% {
    opacity: 1;
    -webkit-transform: translate(0,1rem);
    transform: translate(0,1rem);
}
	100% {
    opacity: 0;
    -webkit-transform: translate(0,1rem);
    transform: translate(0,1rem);
}
}
#topSection .container {
	max-width: 1000px;
}
.topTxt {
	background: rgba(184, 100, 102, 0.7);
	position: relative;
	padding: 10rem 1.5rem 8rem;
}
.topTxt .eng {
	position: absolute;
	max-width: 24.7rem;
	right: -1.5rem;
	bottom: -2.5rem;
	z-index: 10;
}
.topTxt h2 {
	font-size: 3.6rem;
	line-height: 2.1
}
.topTxt h2 span {
	color: #F7E9B1;
}
.topImgWrap {
	position: relative;
	margin-top: 20rem;
	padding-bottom: 11rem;
}
.topImgWrap + .topImgWrap {
	margin-top: 13rem;
}
.topImgWrap .img01 {
	max-width: 24rem;
	margin-top: -11rem;
}
.topImgWrap .img02 {
	max-width: 72rem;
}
.topImgBox {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 50;
	max-width: 45rem;
	padding: 6rem 4.5rem 4.5rem;
	text-align: left;
	color: #fff;
	background: #6D6A65;
}
.topImgBox .eng {
	font-size: 1.4rem;
	position: absolute;
	left: 1rem;
	top: .5rem;
	z-index: 1;
}
.topImgBox h3 {
	font-size: 3rem;
	margin-bottom: 2rem;
	font-weight: 700;
}
.topImgBox h3 span {
	color: #F7E9B1
}
.topImgWrap._02 .topImgBox {
	background: #e2e2e2;
	color: #1a1a1a;
	left: auto;
	right: 0;
}
.modelhouseArea {
	margin-top: 19rem;
	position: relative;
	border-top: 1px solid transparent;
	padding: 0 2rem 6rem;
}
.modelhouseArea .ttl {
	color: #000;
	background: #F7E9B1;
	padding: 1rem 1.5rem;
	letter-spacing: .1em;
	font-size: 112.5%;
	position: absolute;
	left: 10rem;
	top: -7rem;
	z-index: 10
}
.houseImg {
	max-width: 68rem;
	margin: -12rem auto 3rem;
}
.modelhouseArea h2 {
	font-size: 8rem;
	letter-spacing: .13em;
	text-indent: .13em;
	margin-bottom: 1rem;
}
.modelhouseArea h3 {
	font-size: 4.6rem;
	margin-bottom: 3rem;
	line-height: 1.4;
}
.mhCont {
	max-width: 72rem;
	margin: 0 auto;
}
.mhCont dt,.mhCont dd {
	padding: 1.5rem 0;
	text-align: left;
	border-bottom: 1px solid #fff;
	line-height: 1.8
}
.mhCont dt {
	width: 25%;
	font-weight: 600
}
.mhCont dd {
	width: 75%;
}
.mhCont dd + dd {
	width: 100%;
}
.modelhouseArea .excahngeImg {
	max-width: none;
	margin: 6rem -2rem 0;
}
.gmapBtn {
	display: inline-block;
	color: #000;
	line-height: 1;
	letter-spacing: .05em;
	background: #F7E9B1;
	border-radius: 5rem;
	font-size: 87.5%;
	padding: .2rem 1rem .5rem;
	margin-top: .5rem;
}
.gmapBtn:hover {
	background: #333;
}
.topMessage {
	background: rgba(255,255,255,.3);
	padding: 8rem 2rem;
	margin-top: 4rem;
	color: #000
}
.topMessage .eng {
	font-size: 2.2rem;
	margin-bottom: 3rem;
}
.topMessage h2 {
	display: inline-block;
	position: relative;
	font-size: 3rem;
	font-weight: 600;
	padding: 1rem 4.5rem;
	margin-bottom: 3rem;
}
.topMessage h2::before,.topMessage h2::after {
	content: "";
	display: block;
	background: url("../img/ttl_side.svg") center center no-repeat;
	background-size: contain;
	width: 1.7rem;
	height: 11.4rem;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.topMessage h2::after {
	left: auto;
	right: 0;
	transform: translateY(-50%) rotate(180deg);
}
.topMessage .txt-lh {
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 2.2;
	margin-bottom: 3rem;
}
.ancWrap {
	gap: 2.5rem;
}
.ancWrap li {
	width: 19.5rem;
	height: 19.5rem;
}
.ancWrap li a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	position: relative;
	border: 1px solid #000;
	border-radius: 50%;
	background: url("../img/arrow_btm.svg") center bottom 2rem no-repeat;
	background-size: auto 2.3rem;
	padding-bottom: 3rem;
	overflow: hidden;
	z-index: 1;
	transition: 0.3s;
	transition-duration: .4s;
}
.ancWrap li a:hover {
	transform: scale(1.1);
}
.ancWrap li .num {
	font-size: 3.2rem;
	margin-bottom: 1rem;
}
.ancWrap li h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.4;
	min-height: 5.1rem;
	margin-bottom: .5rem;
}
.ancWrap li span {
	font-size: 1.3rem;
}
/*
.ancWrap li a::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #c3936a;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	transform: scaleX(0);
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.ancWrap li a:hover::before {
	transform: scale(1)
}
*/
#topSection {
	position: relative;
	padding-bottom: 15rem;
}
.topBnrWrap {
	position: absolute;
	right: 0;
	bottom: 1rem;
	background: #fff;
	z-index: 50;
	
	left: 0;
	margin: 0 auto;
	max-width: 80rem;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.topBnr {
	padding: 2.2rem 2rem 1.3rem;
	/*padding-right: 10rem;*/
	z-index: 1;
	
}
.topBnr::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #B86466;
	position: absolute;
	left: 0;
	top: 0;
	transform: scaleX(0);
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	z-index: -1;
}
.topBnr:hover::before {
	transform: scale(1)
}
.topBnr::after {
	content: "";
	display: block;
	width: 2rem;
	height: 2rem;
	border-right: 2px solid #c3936a;
	border-bottom: 2px solid #c3936a;
	transform: rotate(45deg);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2rem;
	margin: 0 auto;
	z-index: 1;
}
.topBnr .txt {
	max-width: 56.2rem;
	margin-right: 1.5rem;
}
.topBnr .img {
	max-width: 11.7rem;
	margin-top: -1rem;
}
.topBnr:hover img {
	opacity: 1
}
.bnrArea {
	background: url("../img/bnr_bg.jpg") center center no-repeat;
	background-size: cover;
}
.bnrArea .container {
	max-width: 1363px;
}
.contTtl {
	margin-bottom: 4rem;
	font-size: 2rem;
	z-index: 0;
}
.secTtl {
	position: relative;
	z-index: -1;
}
.secTtl h2 {
	font-size: 2rem;
	color: #F7E9B1;
	font-weight: 500;
	letter-spacing: .05em;
	position: relative;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	height: 14rem;
}
.secTtl h2 span {
	position: absolute;
	font-weight: 300;
	font-size: 9.375vw;
	color: #f0f3ec;
	top: 45%;
	transform: translateY(-50%);
	left: 5.5rem;
	z-index: -1;
}
.secTtl._lft h2 span {
	left: auto;
	right: 5.5rem
}
.houseSection .container {
	position: relative;
	z-index: 10
}
.excahngeImg {
	position: relative;
	overflow: hidden;
	max-width: 86%;
}
.excahngeImg .hideImg {
	opacity: 0;
	visibility: hidden;
}
.excahngeImg .exImg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: all 1s ease .5s;
	z-index: 1;
}
.excahngeImg.act .exImg._01 {
	z-index: 0;
	opacity: 0;
	transform: translate(-10rem,-10rem)
}
.excahngeImg .exImg._02 {
	opacity: 0;
	transform: translate(10rem,10rem)
}
.excahngeImg.act .exImg._02 {
	z-index: 0;
	opacity: 1;
	transform: translate(0)
}
.houseImgArea {
	position: relative;
}
.houseImgArea + .houseImgArea {
	margin-top: 8rem;
}
.houseTxt {
	position: absolute;
	right: -8.5%;
	top: 50%;
	transform: translateY(-50%);
	z-index: 50;
	text-align: left;
	padding: 4.3755em 6.2em 4.375em 3.75em;
	max-width: 25.9em;
	background: #fff;
	line-height: 2;
	font-size: max(.8333333vw, 14px);
}
.houseTxt .eng {
 font-size: 137.5%;
	margin-bottom: 1rem;
}
.houseTxt dt {
	margin-bottom: 2rem;
}
.houseImgArea._rht .excahngeImg {
	margin-left: auto;
}
.houseImgArea._rht .houseTxt {
	right: auto;
	left: -8.5%;
	padding-right: 3.75em;
	padding-left: 6.2em;
}
.styleTtl {
	margin: 1rem 0 4rem;
	font-size: 3.6rem;
	font-weight: 600;
}
.styleTtl span {
	color: #F7E9B1;
}
.btmAfter {
	margin: 8rem calc(-50vw + 50%) 0;
}
.btmAfter01 {
	position: relative;
}
.btmAfter01 > .eng {
	position: absolute;
	top: 6rem;
	left: 4rem;
	z-index: 10;
	max-width: 10rem;
}
.btmAfter01 .houseTxt {
	transform: none;
	top: auto;
	right: auto;
	left: 15%;
	bottom: -15rem;
	max-width: 40rem;
	padding-right: 3.75em;
}
.btmAfter02 {
	margin-top: 8rem;
	max-width: 1200px;
}
.btmAfter02 .img {
	width: 64%;
	max-width: 76.4rem;
	margin-left: auto;
	position: relative;
}
.btmAfter02 .img .eng {
	position: absolute;
	max-width: 5rem;
	top: 1rem;
	right: 2rem;
	z-index: 1;
}
#exterior .houseImgArea {
	margin-top: -3.5rem;
}
#exterior .secTtl h2 {
	margin-left: 12rem;
}
#floor01 .secTtl h2 {
	margin-right: -20rem;
	margin-right: 15%;
}
#floor01 .secTtl h2 span {
	color: rgba(255,255,255,.2)
}
#floor02 .secTtl {
	text-align: left;
}
#floor02 .secTtl h2 {
	margin-left: 23rem;
}
#floor02 .secTtl h2 span {
	color: rgba(255,255,255,.5)
}
#floor01 .houseTxt {
	background: #6D6A65;
	color: #fff;
}
#floor02 .houseTxt {
	background: #e2e2e2;
}
#floor02 .btmAfter01 .houseTxt {
	left: auto;
	right: 15%;
}
#floor02 .btmAfter02 .img {
	margin-left: 0;
}
#floor02 .btmAfter02 .img .eng {
	left: 2rem;
	right: auto;
}
#plan .container {
	position: relative;
	z-index: 10;
	max-width: 1000px;
}
#plan .secTtl {
	text-align: left;
}
@media screen and (max-width: 1650px) {
	#plan .secTtl {
		margin-left: 10vw;
	}
}
#plan .secTtl._lft h2 span {
	right: 0rem;
	color: rgba(255,255,255,.2)
}
.tabs {
	gap: 0 1.5rem;
}
.tabs li {
	background: #000;
	color: #fff;
	font-size: 3rem;
	width: 14rem;
	padding: 1rem;
	cursor: pointer;
}
.tabs li.active {
	background: #c3936a;
}
.tabs li:not(.active):hover {
	background: #333
}
.planArea {
	background: #fff;
	border-top: .5rem solid #c3936a;
	position: relative;
	padding: 4rem 8rem 4rem 8rem;
}
.planWrap {
	display: none;
}
.planWrap.active {
	display: block;
}
.planArea .arrow {
	position: absolute;
	top: 50%;
	right: -5rem;
	transform: translateY(-50%);
	z-index: 10;
	background: url("../img/slide_arrow.svg") center center no-repeat;
	background-size: contain;
	width: 1.9rem;
	height: 3.9rem;
	cursor: pointer;
}
.planArea .arrow._prev {
	right: auto;
	left: -5rem;
	transform: translateY(-50%) rotate(180deg);
}
.planWrap h3 {
	position: absolute;
	font-size: 11.6rem;
	top: 4rem;
	left: 6rem;
}
.planCont {
	position: relative;
	
	flex-basis: 46%;
}
.planCont h4 {
	position: relative;
	z-index: 1;
	font-size: 1.4rem;
	font-weight: 600;
	height: 6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1rem;
}
.planCont h4::before {
	content: "";
	display: block;
	background: url("../img/plan_before.svg") center center no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	width: 23.1rem;
	height: 4rem;
}
.planCont._02 h4 {
	font-size: 1.8rem
}
.planCont._02 h4::before {
	background-image: url("../img/plan_after.svg");
	width: 28.3rem;
	height: 5.9rem;
}
.planCont .img img {
	max-height: 42.6rem;
	max-height: 30rem;
	transition: .4s;
	opacity: 1!important
}
.planCont .img a:hover img {
	transform: scale(1.1);
}
.planCont._01 .img{
	padding-top: 4rem;
}

.planCont .txt {
	font-size: 112.5%;
	font-weight: 600;
	margin-top: .5rem;
}
.planCont._01::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #000;
	border-width: 3rem 0 3rem 3rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -7rem
}
.ttlWrap {
	position: relative;
	z-index: 10
}
#archives .secTtl {
	text-align: left;
}
#archives .secTtl h2 {
	margin-left: 8.5rem;
}
#archives .secTtl h2 span {
	color: #fff;
}
.gallery {
	position: relative;
	z-index: 50;
	margin-top: -2.2rem;
	animation: infinity-scroll-left 50s infinite linear 0.5s both;
}
.gallery .img {
	min-width: 32rem;
	max-width: 32rem;
	overflow: hidden;
}
.gallery .img img {
	transition: .4s;
	opacity: 1!important
}
.gallery .img a:hover img {
	transform: scale(1.1);
}
@keyframes infinity-scroll-left {
	0% {
    transform: translateX(0);
	}
	100% {
    transform: translateX(-100%);
	}
}
#access .container {
	position: relative;
	z-index: 10;
	max-width: 1000px;
}
#access .secTtl {
	text-align: left;
	margin-bottom: 2rem;
}
#access .secTtl h2 {
	margin-left: 15rem;
}
#access .secTtl._lft h2 span {
	color: #eeeeee;
	right: 1rem;
}
@media screen and (max-width: 1650px) {
	#access .secTtl h2 {
		margin-left: 20vw;
	}
}
.gmap {
	width: 51%;
}
.gmap iframe {
	width: 100%;
	height: 100%;
}
.accessWrap {
	text-align: left;
	letter-spacing: .05em;
	width: 46%;
}
.accessWrap dt,.accessWrap dd {
	padding: 2rem 0;
	border-bottom: 1px solid #000;
}
.accessWrap dt {
	width: 25%;
}
.accessWrap dd {
	width: 75%;
}
.accessWrap dd + dd {
	width: 100%;
	line-height: 1.8;
}
.accessWrap dd p {
	margin-bottom: .5rem;
}
#reason .container {
	position: relative;
	z-index: 10;
}
#reason .secTtl {
	margin-bottom: 5rem;
}
#reason .secTtl h2 {
	margin-left: 30rem;
}
#reason .secTtl h2 span {
	color: rgba(255,255,255,.2)
}
.reasonTop h3 {
	position: relative;
	padding-bottom: 2rem;
	font-size: 4rem;
	font-weight: 500;;
	letter-spacing: .15em;
	text-indent: .15em;
	margin-bottom: 2rem;
}
.reasonTop h3::before,.reasonTop h3::after {
	content: "";
	display: block;
	width: 50%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #fff;
}
.reasonTop h3::after {
	left: 50%;
	opacity: .3
}
.reasonTop h3 small {
	font-size: 57.5%;
}
.reasonTop .img {
	position: relative;
	margin-right: calc(-50vw + 50%);
}
.reasonTop .img h4 {
	position: absolute;
	top: 0;
	left: -15rem;
	z-index: 10;
	font-size: 4rem;
	letter-spacing: .05em;
}
@media screen and (max-width: 1430px) {
	.reasonTop .img {
		margin-left: 10rem;
	}
	.reasonTop .img h4 {
		left: -10rem
	}
}
.reasonTop .txt-lh {
	background: #fff;
	text-align: left;
	font-size: 93.75%;
	padding: 5rem 8rem;
	letter-spacing: .1em;
	z-index: 10;
	position: relative;
	margin: -5rem 0 8rem;
}
.reasonWrap {
	padding: 0 3rem;
	gap: 4rem 4.5rem;
}
.reason {
	width: 22%;
	position: relative
}
.reason .num {
	position: absolute;
	top: 0;
	left: 0;
	width: 5.2rem;
	height: 5.2rem;
	color: #B86466;
	font-size: 2.4rem;
	text-align: left;
	padding: .5rem 0 0 1rem;
	background: #F7E9B1;
	background: -o-linear-gradient(315deg,#F7E9B1 50%,transparent 50%);
	background: linear-gradient(135deg,#F7E9B1 50%,transparent 50%);
}
.reason .txt {
	margin-top: .5rem;
	font-size: .9375vw;
}
#message {
  position: relative;
  overflow: hidden;
}
#message .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#message .bg img {
	max-width: none;
  height: auto;
	min-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 0;
  left: 0;
	right: 0;
  transition: transform .1s ease-out;
}
@keyframes parallax {
  from {
    background-position: top;
  }

  to {
    background-position: center -30rem;
  }
}
.messageWrap {
	position: relative;
	padding: 2rem 0 5rem;
}
.messageWrap h2 {
	font-weight: 400;
	font-size: 5rem;
	letter-spacing: .05em;
	margin-bottom: 1rem;
}
.messageWrap .fo-min {
	font-size: 1.8rem;
	color: #dfb753;
}
.messageWrap .txt-lh {
	margin-top: 3rem;
	font-size: 2.4rem;
	line-height: 2;
	font-weight: 500;
	letter-spacing: .05em;
}
.messageWrap .no1 {
	position: absolute;
	bottom: -3rem;
	right: -3rem;
	z-index: 1;
	max-width: 16.7rem;
}
.txtScroll {
	overflow: hidden;
	background: #000;
	color: #c3936a;
	font-size: 2.4rem;
	font-weight: 600;
	padding: 1.5rem 0;
	white-space: nowrap;
}
.txtScroll p {
	animation: loop infinite linear 20s both;
	padding: 0 1.2rem
}
@keyframes loop {
	0% {
    transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}
#present {
	position: relative;
}
#present .bg {
	content: "";
	display: block;
	position: absolute;
	min-width: 100%;
	height: 100vh;
	height: calc(var(--vh, 1vh)* 100);
	top: 0;
	left: 0;
	z-index: -99;
	background: url("../img/present_bg.jpg") top center no-repeat;
	background-size: cover;
}
#present .bg.active {
	position: fixed
}
#present::before,#present::after {
	content: "";
	display: block;
	position: absolute;
	top: 3rem;
	left: 0;
	background: url("../img/present_bg_left.png") top left no-repeat;
	background-size: contain;
	width: 23.1770833vw;
	height: 42.0833333vw;
	z-index: 1;
}
#present::after {
	top: 6rem;
	left: auto;
	right: 0;
	background-image: url("../img/present_bg_right.png");
	background-position: top right;
	width: 26.3541666vw;
	height: 39.5833333vw;
}
.presentTtl {
	position: relative;
	z-index: 10;
	margin: 0 -5rem;
}
.presentTtl ._01 {
	padding-right: 5.4rem;
}
.presentTtl span {
	font-size: 2rem;
	display: block;
	padding: 2rem 0;
	font-weight: 600;
	color: #c3936a;
}
.presentTtl + .note {
	display: block;
	color: #fff;
	margin-top: 0.4rem;
	font-size: 1.6rem;
}
@media screen and (max-width: 1500px) {
	#present::before {
		width: 19%;
	}
	#present::after {
		width: 22%;
	}
	.presentTtl {
		margin: 0
	}
}
.presentWrap {
	background: #fff;
	border-radius: 1rem;
	margin-top: 4rem;
	padding: 5rem 5rem 3rem;
	gap: 4rem;
}
.presentWrap dl {
	position: relative;
	z-index: 1;
	padding-left: 20rem;
}
.presentWrap dt {
	margin-top: -1rem;
	font-size: 1.8rem;
	font-weight: 600;
	padding-right: 6rem;
	color: #c3936a;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 27rem;
	height: 27rem;
	border: 1px solid #c3936a;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	z-index: -1
}
.presentWrap dd {
	width: 24.3rem;
}
.presentWrap ._02 {
	padding-left: 18rem;
}
.presentWrap ._02 dd {
	width: 25.5rem;
}
.termsWrap {
	background: #fff;
	border-radius: 1rem;
	margin-top: 4rem;
	padding: 5rem 11rem;
}
.termsWrap h2 {
	text-align: center;
	color: #c3936a;
	margin-bottom: 2rem;
	font-weight: 600;
	font-size: 4rem;
}
.termsWrap .sub {
	color: #bd272d;
	text-align: center;
	font-size: 3rem;
	font-weight: 600;
	margin-bottom: 3rem;
}
.termsWrap ol li {
	font-size: 3rem;
	font-weight: 600;
	margin-bottom: 3rem;
	text-align: left;
	position: relative;
	padding-left: 4.5rem;
}
.termsWrap ol li span {
	display: inline-block;
	color: #fff;
	background: #000;
	text-align: center;
	width: 3rem;
	height: 3rem;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 3rem;
	position: absolute;
	left: 0;
	top: .3em;
}
.termsWrap .note {
	text-align: left;
	font-size: 87.5%;
	color: #8e8e8e;
}
.termsWrap .note p {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
	margin-top: .1em;
}
.termsBtn {
	margin: 3rem auto 0;
	max-width: 30rem;
	color: #c3936a;
	letter-spacing: .1em;
	text-indent: .1em;
	border: 1px solid #c3936a;
	padding: 1rem;
	position: relative;
	font-size: 2rem;
	font-weight: 600;
	border-radius: 10rem;
	cursor: pointer;
	text-align: center;
	transition: .4s;
}
.termsBtn::after {
	content: "";
	display: block;
	background: url("../img/toggle_arrow_brown.svg") center center no-repeat;
	background-size: contain;
	width: 1.5rem;
	height: .8rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 3rem;
}
.termsBtn:hover {
	background: #f1f1f1;
}
.termsBtn.active::after {
	transform: translateY(-50%) rotate(180deg);
}
.reserveTtl .ttl {
	font-size: 3rem;
	letter-spacing: .1em;
	text-indent: -.1em;
	margin-bottom: 5rem;
}
.ttlBox {
	margin-bottom: 3rem;
}
.ttlBox h2 {
	font-size: 4.6rem;
	letter-spacing: .03em;
	text-indent: -.03em;
	margin-bottom: .2rem;
}
.telWrap {
	background: #fff;
	padding: 3rem 2rem;
	margin-bottom: 2rem;
}
.telWrap .txt {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 2rem;
}
.telWrap a {
	display: block;
	max-width: 35rem;
	margin: 0 auto;
	color: #2C2C2C;
	border-radius: 10rem;
	background: #F7E9B1;
	font-size: 3rem;
	padding: 2.5rem 2rem 2rem;
}
.telWrap a:hover {
	background: #C57778;
	color: #fff;
}
.reserveTtl .note {
	margin-bottom: 3rem;
}
.reserveTtl .note p {
	font-size: 1.2rem;
	font-weight: 400;
	text-align: left;
	color: #3d404b;
	display: block;
	letter-spacing: .15em;
	padding-left: 1em;
	text-indent: -1em;
	margin-top: .5em;
}
.contBox {
	padding: 8rem 5rem;
	background: #fff;
	text-align: left;
}
.ankeTop {
	text-align: center;
	margin: 7rem 0 0;
	padding-bottom: 7rem;
	border-bottom: 1px solid #e2e2e2;
}
.ankeTtl  {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: .5rem;
}
.ankeTtl .sub {
	position: relative;
	font-size: 3rem;
	color: #F7E9B1;
	background: #B86466;
	padding: .2rem 2rem;
	font-weight: 600;
	letter-spacing: .1em;
	margin-right: 1.5rem;
}
.ankeTtl .sub::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #B86466;
	border-width: 6px 0px 6px 6px;
	position: absolute;
	top: 50%;
	right: -.6rem;
	transform: translateY(-50%);
}
.ankeTop .note {
	font-size: 1.4rem;
	font-weight: 500;
	margin-bottom: 1rem;
}
.pointCont {
	gap: 1rem 1.5rem
}
.pointCont li {
	max-width: 29rem;
}
.contactArea .termsWrap {
	padding: 4rem 8rem
}
.ankeBtn {
	max-width: 45rem;
	margin: 0 auto 5rem;
	box-shadow: 1rem 1rem 1rem rgba(35,24,21,.3);
	border-radius: 10rem;
	cursor: pointer;
}
.ankeBtn p {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	background: #B86466;
	color: #fff;
	font-weight: 600;
	font-size: 3rem;
	text-align: center;
	padding: 2rem 1rem;
	border-radius: 10rem;
	box-shadow: .3rem .4rem 0 #C57778;
}
.ankeBtn p::before {
	content: '';
	border-radius: 10rem;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background: #4e515d;
	width: 100%;
	height: 100%;
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: top;
	box-shadow: .3rem .4rem 0 #4e515d;
}
.ankeBtn p:hover:before {
	transform: scale(1, 1);
}
.ankeBtn p span {
	position: relative;
	z-index: 10
}
.btmTel {
	margin-top: 5rem;
}
.btmTel .ttl {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: .5rem;
}
.btmTel .txt{
	margin-bottom: .5rem;
}
.btmTel a {
	font-size: 6rem;
}
/*form
---------------------------------------------------------*/
.formTxt {
	font-size: 115%;
	font-weight: 600;
	margin-bottom: 4rem;
}
.formBox {
	border-bottom: 1px solid #000;
}
.formBox dl {
	display: flex;
}
.formBox dt,.formBox dd {
	font-weight: 400;
	padding: 4rem;
	padding-right: 0;
	text-align: left;
	border-top: 1px solid #e2e2e2;
}
.formBox dt.req::after {
	content: "必須";
	font-size: 85%;
	font-weight: 400;
	padding: .5rem;
	display: inline-block;
	color: #fff;
	background: #b5272d;
	line-height: 1;
	margin-left: 1rem;
}
.formBox dt {
	display: flex;
	align-items: center;
	width: 27rem;
	min-height: 14rem;
	padding-right: 2rem;
	border-color: #000
}
.formBox dd {
	flex: 1;
	padding-left: 0;
}
.formBox dd .note {
	font-size: 1rem;
	color: #bd272d;
	margin-top: 1rem;
	letter-spacing: .1em;
	font-weight: 500;
}
.formBox dd > p + p{
	padding-top: 1rem;
}
.formName > .txt {
	width: 40%;
	display: flex;
	align-items: center;
}
.formName > .txt:first-of-type {
	margin-right: 2%;
}
.formName .txt span {
	display: block;
	white-space: nowrap;
	margin-right: 1rem;
}
.ui-datepicker-trigger {
	margin-left: 1rem;
	cursor: pointer;
}
.form-address p {
	text-align: left;
}
.formBox input[type="text"],.formBox input[type="tel"],.formBox input[type="email"],.formBox select,.formBox textarea {
	font-family: 'Noto Sans JP', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	width: 100%;
	padding: .575em;
	border: 1px solid #ccc;
	border-radius: 3px;
}
.formBox input[type="text"].size-s {
	max-width: 16rem;
}
.dateWrap input[type="text"] {
	max-width: 32rem;
}
.form-address input[type="text"] {
	max-width: 42.5rem;
}
.form-address span {
	display: inline-block;
	margin-right: 1rem;
}
.formBox select {
	width: auto;
	background: #fff;
	color: #000
}
.formBox option:first-of-type {
	background: #b3b3b3;
	color: #fff;
}
.formBox textarea {
	height: 10rem;
}
.formBox .disabled input {
	pointer-events: none;
	border: none;
}
.zipBtn {
	font-size: 1.2rem;
	margin-left: 1rem;
	border: none;
	cursor: pointer;
	line-height: 1.1;
}
.zipBtn:hover {
	background: #ccc
}
.formBtn {
	margin-top: 3rem;
}
.mw_wp_form_confirm button.button._grey {
	display: block!important;
}
.formWrap input[type="submit"],.formWrap input[type="button"],.formWrap button.button._grey {
	font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;

	font-size: 115%;
	letter-spacing: .075em;
	text-indent: .075em;
	background: #F7E9B1;
	border-radius: 10rem;
	min-width: 35rem;
	display: block;
	border: none;
	padding: 3rem 1.5rem;
	margin: 1rem;
	transition: .2s;
	cursor: pointer;
}
.formWrap input[type="submit"]._green {
	background: #00b4a0;
}
.formWrap input[type="submit"].btn_back,
.formWrap button.button._grey {
	background: #ddd;
	color: #333;
}
.formWrap input[type="submit"]:hover,.formWrap input[type="button"]:hover,.formWrap button.button._grey:hover {
	background: #aaa
}
.formWrap select {
	background: #6d6a65 url("../img/toggle_arrow.svg") center right 1rem no-repeat;
	background-size: 1.6rem;
	min-width: 32rem;
	color: #fff;
	border-color: #6d6a65;
	position: relative;
	padding: 1rem 6rem 1rem 1rem;
}
.formWrap select option {
	background-color: #fff;
	color: #333;
}
.onlyconf,button.button._grey {
	display: none;
}
.mw_wp_form_confirm button.button._grey,
.mw_wp_form_confirm .onlyconf,
#confirm .onlyconf {
	display: block!important;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0!important;
}
.mw_wp_form_confirm .radioTxt,
.mw_wp_form_confirm .privacyBox,
.mw_wp_form_confirm .formBox dt::before,
.mw_wp_form_confirm .zipBtn,
.mw_wp_form_confirm .formName .txt span,
.mw_wp_form_confirm .policyTxt {
	display: none!important;
}
.mw_wp_form_confirm .formName > .txt {
	width: auto;
}
.mw_wp_form .error {
	font-size: 85%!important;
}
.formName .error {
	min-width: 50%;
}
.formName .error + .error {
	display: none;
}
.thxBox {
	padding: 4rem 1.5rem;
}
.mw_wp_form_confirm .ankeForm {
	display: block !important;
	margin-top: 5rem;
}
.mw_wp_form_confirm .ankeTop,
.mw_wp_form_confirm .termsWrap,
.mw_wp_form_confirm .ankeBtn,
.mw_wp_form_confirm .ankeBtn,
.mw_wp_form_confirm .ankeBtn,
.mw_wp_form_confirm .ankeBtn {
	display: none !important;
}
.radio-bukken {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem
}
.radioTxt {
	background: #6D6A65;
	color: #fff;
	margin: 3rem 0 2rem;
	font-size: 90%;
	padding: .5rem;
	text-align: center;
}
.radio-bukken label {
	height: 100%;
	font-size: 97%;
	position: relative;
	margin: 0;
	background: #eee;
	max-width: 30rem;
	padding: 2.5rem;
	padding-top: 21rem;
}
.radio-bukken label::before {
	content: "";
	display: block;
	position: absolute;
	background: url("../img/form_radio01.jpg") center center no-repeat;
	background-size: cover;
	height: 17.5rem;
	margin: 0 auto;
	top: 2.5rem;
	left: 2.5rem;
	right: 2.5rem
}
.radio-bukken._02 span label::before {background-image:url("../img/form_radio02.jpg")}
.radio-bukken._02 span:nth-of-type(2) label::before {background-image:url("../img/form_radio03.jpg")}
.radio-bukken._02 span:nth-of-type(3) label::before {background-image:url("../img/form_radio04.jpg")}
.ankeForm .ttl {
	font-size: 3rem;
	font-weight: 600;
	color: #515862;
	text-align: center;
	margin-bottom: 3rem;
}
.ankeForm dt {
	padding-left: 0;
}
.radioWrap label {
	display: block;
	margin-right: 0;
	border: 1px solid #e2e2e2;
	padding: 1rem;
}
.radioWrap label.act {
	background-color: #e6d9ce;
}
.checkWrap {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
}
.checkWrap > span {
	display: block;
	width: 30rem;
}
.checkWrap > span label {
	padding-left: 1.4em;
	text-indent: -1.4em;
}

.checkRow{
	gap:1rem;
	align-items: center;
}
.checkRow > span {
	white-space: nowrap;
	margin-right: 1em;
	min-width: 9rem;
}
.formBox .checkRow .checkTxt{
	width: 50rem;
	max-width: 100%;
}



.mw_wp_form_confirm .input-show,
.mw_wp_form_confirm .note {
  display: none;
}



/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1150px) {
	html {
		font-size: .8vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5
	}
	body.active {
/*		overflow: hidden;*/
	}
	article > section {
		padding: 6rem 0;
	}
	.btn a {
		font-size: 1.4rem;
		padding: 1.2rem 0;
	}
	.btn a::after {
		width: 1.6rem;
		height: 1.6rem;
		margin-left: 1rem;
	}
	/*header
	-------------------------------------------------------*/
	.menuIconWrap {
		position: fixed;
		top: 1rem;
		right: 1rem;
		padding: .8rem;
		z-index: 99999;
		transition: .4s;
		cursor: pointer;
		display: block;
	}
	.menuIconWrap.show {
		opacity: 1;
		visibility: visible;
		background: rgba(255,255,255,.6);
	}
	.menuIconWrap.active {
		background: none
	}
	.menuIcon {
		position: relative;
		width: 3.4rem;
		height: 2.4rem;
		z-index: 9990;
		display: block;
	}
	.menuIcon span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background: #fff;
		z-index: 10;
		transition: .3s .1s ease-out;
	}
	.menuIcon span:nth-of-type(1) {top: 0px;}
	.menuIcon span:nth-of-type(2) {top: 1.1rem;}
	.menuIcon span:nth-of-type(3) {bottom: 0px;}
	.menuIconWrap.show .menuIcon  span {
		background: #333
	}
	.menuIconWrap.active .menuIcon  span:nth-of-type(1) {
    -webkit-transform: translateY(1.1rem) rotate(32deg);
    transform: translateY(1.1rem) rotate(32deg);
	}
	.menuIconWrap.active .menuIcon span:nth-of-type(3) {
		width: 100%;
		-webkit-transform: translateY(-1.1rem) rotate(-32deg);
		transform: translateY(-1.1rem) rotate(-32deg);
	}
	.menuIconWrap.active .menuIcon span {
		background: #fff;
	}
	.menuIconWrap.active .menuIcon span:nth-of-type(2) {
		right: -5rem;
		opacity: 0
	}
	.menuIcon:hover span {
		width: 100%;
	}
	#nav {
		position: fixed;
		top: 0;
		right: -15.2rem;
		z-index: 9990;
		color: #fff;
		background: rgba(51,51,51,.8);
		padding: 4rem 1.5rem 1rem;
		text-align: left;
		overflow: auto;
		transition: .3s;
		visibility: hidden;
		opacity: 0;
	}
	#nav.active {
		right: 0;
		opacity: 1;
		visibility: visible;
	}
	.nav {
		display: block;
	}
	.nav li:not(:first-of-type) {
		border-top: 1px solid #fff;;
	}
	.nav a {
		padding: 1rem 2rem 1rem .5rem;
		background: url("../img/toggle_arrow.svg") right .5rem center no-repeat;
		background-size: auto .5rem
	}
	/*footer
	-------------------------------------------------------*/
	#footer {
		padding-bottom: 6rem;
	}
	.footWrap {
		display: block;
	}
	.footBox big {
		display: block;
	}
	.fLogo {
		margin: 0 0 1.5rem
	}
	.copyRight {
		margin-top: 2rem;
	}
	#side {
		top: auto;
		left: 0;
		bottom: 0;
		right: 3.5rem;
		transform: none;
	}
	.sideNav {
		display: flex;
	}
	.sideNav li {
		width: 50%;
	}
	.sideNav a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 3.5rem;
		padding: 1rem 0;
		white-space: nowrap;
	}
	.sideNav a::before {
		margin: 0 .5rem -.2rem 0;
	}
	.goTop {
		width: 3.5rem;
		height: 3.5rem;
		bottom: 0;
		right: 0;
	}
	.goTop::before {
		display: none;
	}
	.goTop:hover a {
		background-image: url("../img/gotop.svg")
	}
	.btmFix.active {
		bottom: 3.5rem;
	}
	.btmFix .img {
		max-width: none;
		width: 15%;
		margin-left: 1.5rem;
	}
	.btmFix .txt {
		width: 73%;
	}
	.btmFixCont::after {
		width: .8rem;
		height: .8rem;
		bottom: .7rem;
	}
	.btmFixCont {
		padding: 0.6rem 2rem 1rem 1rem;
		box-shadow: 0 0px 1rem rgba(61, 61, 61, 0.25);
		align-items: center;
	}
	/*contents
	-------------------------------------------------------*/
	.plxImg {
		height: 100vh!important;
		background-image: url("../img/main_sp.jpg")
	}
	.mainArea{
		padding-top: 3rem;
		height: 100lvh!important;
		height: 100vh!important
	}
	.mainTtl h1 {
		font-size: 2.2rem;
	}
	.mainLogo {
    max-width: 100%;
	}
	.mainLogo .logo {
		max-width: 15rem;
		margin: 0 auto 1rem
	}
	.mainTtl {
		top: 45%;
		width: 100%;
	}
	.mainTtl .eng {
		font-size: 2.6rem
	}
	.mainTtl .sub {
		font-size: 1.4rem;
	}
	.scrollWrap {
		max-width: 22rem;
		bottom: 12rem;
	}
	.scrollWrap .txt {
		padding-bottom: 1.8rem;
	}
	.scrollWrap .txt::after {
		width: 2.4rem;
		height: 1.1rem;
	}
	.topTxt {
		padding: 3rem 1rem
	}
	.topTxt h2 {
		font-size: 1.6rem
	}
	.topTxt .eng {
    max-width: 13rem;
    right: -1rem;
    bottom: -2rem;
	}
	.topImgBox {
		position: relative;
		margin-top: 2rem;
		padding: 5rem 3rem 3rem;
	}
	.topImgWrap {
		display: block;
	}
	.topImgWrap .img01 {
		width: 40%;
	}
	.topImgWrap .img02 {
		width: 58%;
		margin: -4rem 0 0 auto
	}
	.topImgBox h3 {
		font-size: 2rem;
		margin-bottom: 1rem;
	}
	.topImgWrap._02 .img01 {
		margin-left: auto;
	}
	.topImgWrap._02 .img02 {
		margin-top: -6rem;
		margin-right: auto;
		margin-left: 0;
	}
	.topImgWrap + .topImgWrap {
    margin-top: 8rem;
	}
	.modelhouseArea {
		margin-top: 10rem;
	}
	.modelhouseArea .ttl {
		-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
		font-size: 1.4rem;
		top: -13rem;
		left: 1.5rem;
		padding: 1rem;
	}
	.houseImg {
		max-width: 22rem;
		margin: -7rem auto 3rem 4.5rem;
	}
	.modelhouseArea h2 {
		font-size: 3.5rem;
		letter-spacing: .1em;
    text-indent: .1em;
	}
	.modelhouseArea h3 {
		font-size: 2.2rem;
	}
	.modelhouseArea .excahngeImg {
		margin: 4rem -2rem!important;
	}
	.topMessage {
		padding: 3rem 2rem;
	}
	.topMessage h2 {
		font-size: 1.6rem;
		padding: 1rem 1.5rem
	}
	.topMessage .txt-lh{
		font-size: 1.4rem;
		line-height: 2.4
	}
	.ancWrap {
		gap: 1rem;
	}
	.ancWrap li {
    width: 13rem;
    height: 13rem;
	}
	.ancWrap li a {
		background-position: center bottom .8rem;
		background-size: auto 1.6rem;
		padding-bottom: 2rem;
	}
	.ancWrap li h3 {
		font-size: 1.3rem;
		min-height: 3.4rem;
	}
	.ancWrap li span {
		font-size: 1rem;
	}
	.ancWrap li .num {
		font-size: 2.2rem;
		margin-bottom: .5rem;
	}
	.topBnrWrap {
		display: none;
	}
	#topSection {
		padding-bottom: 8rem;
	}
	.bnrArea {
		padding: 0 0 3rem;
	}
	.bnrArea .container {
		width: 100%;
	}
	.bnrArea .btn {
		width: 90%;
		margin-top: 2rem;
	}
	.excahngeImg {
		max-width: none;
		margin-left: calc(-50vw + 50%)!important;
		margin-right: calc(-50vw + 50%)!important;
	}
	.secTtl {
		text-align: center!important;
		margin: 0!important
	}
	.secTtl h2 {
		font-size: 1.8rem;
		margin: 0!important;
		height: 7rem;
	}
	.secTtl h2 span {
		font-size: 4.5rem;
		left: 50%!important;
		right: auto!important;
		top: 48%;
		transform: translate(-50%,-50%);
	}
	#floor01 .secTtl h2 span{
	/*font-size: 3.5rem;*/
	}
	.houseTxt {
		position: relative;
		transform: none;
		top: auto;
		right: 0!important;
		left: 0!important;
		padding: 2rem!important;
		max-width: 100%;
	}
	#exterior .houseImgArea {
		margin-top: 0;
	}
	.contTtl {
		font-size: 1.6rem;
		margin-bottom: 3rem;
	}
	.styleTtl {
		font-size: 2rem;
		margin-bottom: 3rem;
	}
	.houseImgArea + .houseImgArea {
    margin-top: 6rem;
	}
	.btmAfter {
    margin: 6rem calc(-50vw + 50%) 0;
	}
	.btmAfter01 > .eng {
		max-width: 3rem;
		left: .5rem;
		top: .5rem;
	}
	.btmAfter01 .houseTxt {
		position: relative;
		bottom: 0;
		width: 90%;
		margin: 0 auto;
	}
	.btmAfter02 .img {
		width: 100%;
	}
	.btmAfter02 .img .eng {
		max-width: 2.5rem;
		top: .5rem;
		right: .5rem;
	}
	#floor02 .btmAfter02 .img .eng {
		left: .5rem
	}
	.btmAfter02 {
		margin-top: 2rem;
	}
	.tabs {
		margin-top: 1rem;
		justify-content: center;
	}
	.tabs li {
		width: 10rem;
		font-size: 2.5rem;
	}
	.planArea {
		padding: 4rem 2rem 2rem;
	}
	.planBox {
		display: block;
	}
	.planWrap h3 {
		font-size: 4rem;
		left: 1rem;
		top: 1rem;
	}
	.planCont h4,
	.planCont h4::before {
		height: 2.8rem;
	}
	.planCont._02 h4::before {
		height: 3.5rem;
	}
	.planCont .img img {
		max-height: 15rem;
	}
	.planCont._01::after {
		right: 0;
		left: 0;
		margin: 0 auto;
		top: auto;
		bottom: -5rem;
		transform: rotate(90deg);
		border-width: 2.5rem 0 2.5rem 1.2rem;
	}
	.planCont._02 {
		margin-top: 6rem;
	}
	.planCont._02 h4 {
		font-size: 1.6rem
	}
	.planCont._01 .img{
	padding-top: 0rem;
}
	.planArea .arrow {
		width: 2.5rem;
		right: 1rem;
		background-color: #333;
		background-size: auto 60%;
	}
	.planArea .arrow._prev {
		left: 1rem;
	}
	.gallery {
		margin-top: 0;
		animation-duration: 15s
	}
	.gallery .img {
    min-width: 16rem;
    max-width: 16rem;
	}
	.accessArea {
		display: block;
	}
	.accessWrap {
		width: 100%;
	}
	.gmap {
		width: auto;
		height: 30rem;
		margin: 1rem calc(-50vw + 50%) 0;
	}
	.reasonTop h3 {
		margin: 1rem 0 3rem;
		font-size: 1.8rem
	}
	.reasonTop h3 small {
		display: block;
		font-size: 75%;
		line-height: 1.6;
		margin-bottom: 1rem;
	}
	.reasonTop .img {
		margin-left: calc(-50vw + 50%);
	}
	.reasonTop .img h4 {
		position: relative;
		left: 0;
		font-size: 2rem;
		margin-bottom: 2rem;
		text-align: center;
	}
	.reasonTop .txt-lh {
		padding: 4rem 3rem;
		margin-left: calc(-50vw + 50%);
	}
	.reasonWrap {
		gap: 3rem 4%;
		padding: 0 5%;
		justify-content: flex-start;
	}
	.reason {
		width: 48%;
	}
	.reason .txt {
		font-size: 1.2rem;
	}
	.messageWrap h2 {
		font-size: 1.8rem;
		white-space: nowrap;
	}
	.messageWrap .fo-min {
		font-size: 1.2rem;
	}
	.messageWrap .txt-lh {
		font-size: 1.6rem;
	}
	.messageWrap .no1 {
		position: static;
		bottom: 0;
		right: 0;
		max-width: 12rem;
		margin: 2rem auto 0
	}
	.messageWrap {
		padding: 0;
	}
	#message {
		background-image: url("../img/message_bg_sp.jpg");
		background-size: auto 153vh;
	}
	#message .bg img {
		left: -50%;
	}
	.txtScroll {
		font-size: 1.6rem
	}
	#present {
		padding-top: 6.5rem;
	}
	#present::before {
		top: -1rem;
		left: -2.2rem;
		width: 30%;
		height: 50vw;
	}
	#present::after {
		top: 0;
		right: -2rem;
		width: 30%;
		height: 50vw;
	}
	.presentTtl ._01 {
		padding-right: 1.8rem;
		margin: 0 -1.8rem
	}
	.presentTtl span {
		font-size: 1.2rem;
		padding-bottom: .5rem;
	}
	.presentTtl + .note {
		margin-top: .5rem;
	}
	.presentWrap {
		display: block;
		padding: 2rem
	}
	.presentWrap dl {
		padding-left: 0;
	}
	.presentWrap ._02 {
		padding-left: 0;
	}
	.presentWrap dd img {
		max-height: 23rem
	}
	.presentWrap dt {
		width: 14rem;
    height: 14rem;
		font-size: 1.4rem;
		padding: 0 !important;
		margin-top: -.5rem;
	}
	.presentWrap dd {
		width: 12rem!important;
		margin-left: auto;
	}
	.presentWrap ._02 {
		margin-top: 2rem;
	}
	.presentTtl + .note{
		font-size:1.1rem;
	}
	.termsWrap {
		padding: 3rem 2rem;
	}
	.termsWrap h2 {
		font-size: 1.8rem
	}
	.termsWrap .sub {
		font-size: 1.6rem
	}
	.termsWrap ol li {
		font-size: 1.4rem;
		padding-left: 3rem;
		margin-bottom: 1.5rem;
	}
	.termsWrap ol li span {
		width: 2rem;
		height: 2rem;
		line-height: 2rem;
		font-size: 1.6rem;
		top: 0
	}
	.termsBtn {
		font-size: 1.6rem;
		letter-spacing: .05em;
    text-indent: .05em;
	}
	.reserveTtl .ttl {
		font-size: 2rem;
	}
	.telWrap .txt {
		font-size: 1.6rem
	}
	.telWrap a {
		font-size: 2rem;
		padding: 1.5rem;
    max-width: 25rem
	}
	.contBox {
		padding: 4rem 2rem 3rem
	}
	.formBox dl {
		display: block;
	}
	.formBox dt, .formBox dd {
		padding: 2rem 0;
	}
	.formBox dt {
		width: 100%;
		min-height: inherit;
		padding-bottom: 0;
	}
	.formBox dd {
		border-top: none;
	}
	.formWrap select {
		min-width: 25rem
	}
	.zipBtn {
		font-size: 1rem;
		white-space: nowrap;
	}
	.form-zip input[type="text"].size-s {
		max-width: 10rem;
		margin-left: .5rem;
	}
	.formBox textarea {
    height: 12rem;
	}
	.checkWrap {
		gap: 1rem 2%;
	}
	.checkWrap > span {
		width: 49%;
	}
	.formBox .checkRow .checkTxt{
		width: 24rem;
	}
	.ankeForm .ttl {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.ankeTtl {
		display: block;
		font-size: 1.5rem
	}
	.ankeTtl .sub {
		font-size: 1.4rem;
		max-width: 8rem;
		margin: 0 auto 1rem;
		padding: .5rem 0;
	}
	.ankeTtl .sub::after {
		transform: rotate(90deg);
		right: 0;
		left: 0;
		margin: 0 auto;
		top: auto;
		bottom: -.8rem
	}
	.pointCont {
		padding: 0 2rem;
		flex-direction: column;
	}
	.contactArea .termsWrap {
		padding: 0 0 4rem
	}
	.ankeBtn p {
		padding: 1.5rem 0;
		font-size: 1.8rem;
	}
	.formWrap input[type="submit"], .formWrap input[type="button"], .formWrap button.button._grey {
		min-width: 28rem;
		font-size: 100%;
		padding: 1.5rem 0
	}
	.formName > .txt {
    width: 45%;
	}
	.radio-bukken label {
		padding-top: 18.5rem;
	}
	.radio-bukken label::before {
		height: 14.5rem;
	}
	.btmTel .ttl {
		font-size: 1.6rem
	}
	.btmTel a {
		font-size: 3.5rem;
	}
	.dateWrap input[type="text"] {
    max-width: 21rem;
	}
	.checkRow {
		flex-wrap: wrap;
		gap: .4rem 1rem;
	}


}

