@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100&family=Zen+Kaku+Gothic+Antique:wght@300&display=swap');

/*--------------------------------
reset
--------------------------------*/
html,body,div,p,img,iframe,a,span,blockquote,q,address,cite,
pre,code,em,small,strong,b,i,
header,article,section,nav,figure,figcaption,hgroup,menu,aside,footer,time,
h1,h2,h3,h4,h5,h6,
ul,ol,li,dl,dt,dd,
table,tbody,thead,tfoot,th,tr,td,
form,fieldset,legend,label,select,input,textarea,button{
	margin: 0;
	padding: 0;
	border: 0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	vertical-align: baseline;
}
header,article,section,nav,figure,figcaption,hgroup,menu,aside,footer{
	display: block;
}
ul li,
ol li{
	list-style-type: none;
}
h1,h2,h3,h4,h5,h6{
	font-weight: 500;
}
body{
	line-height: 1;
}
a{
	text-decoration: none;
}
img{
	vertical-align: middle;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
select,option,input,textarea,button{
	font: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
}
input[type=radio]{
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio;
}
input[type=checkbox]{
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}
blockquote::before,blockquote::after,q::before,q::after{
	content: '';
	content: none;
}
[type=submit],[type=button],[type=reset],[type=file],button{
	cursor: pointer;
}
:focus{
	outline: none;
}
html{
	font-size: 62.5%;
}
body{
	font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝', serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	color: #333;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
@media screen and (max-width: 767px){
	body{
		padding-bottom: 60px;
	}
}
a {
	color: #006d9e;
	-webkit-tap-highlight-color: rgba(238, 223, 227, 0.2);
}
sup,
sub{
	font-size: xx-small;
}

/*--------------------------------
common
--------------------------------*/
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-left {
	text-align: left;
}
.en-font{
	font-family: garamond-premier-pro-display, serif;
}

.small-text {
	font-size: 75%;
}
.large-text{
	font-size: 150%;
}
.fit-img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
.has-max {
	height: auto;
	max-width: 100%;
}
.flex-wrapper {
	display: flex;
	flex-wrap: wrap;
}
.flex-nowrap{
	flex-wrap: nowrap;
}
.img-wrapper{
	position: relative;
}
.img-wrapper .caption{
	position: absolute;
	bottom: 0;
	left: 8px;
	right: 8px;
	z-index: 1;
}
.inline-block{
	display: inline-block;
}
.grid-wrapper{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 940px){
	.grid-wrapper{
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 767px){
	.grid-wrapper{
		grid-template-columns: 1fr;
	}
}

/*--------------------------------
componet
--------------------------------*/
.primary-heading{
	margin-bottom: .8em;
	font-size: 4.6rem;
	line-height: 1.3;
}
.secondary-heading{
	margin-bottom: .8em;
	font-size: 3rem;
	line-height: 1.3;
}
.tertiary-heading{
	margin-bottom: .8em;
	font-size: 2.4rem;
	line-height: 1.4;
}
.page-heading{
	margin-bottom: .8em;
	font-size: 3.4rem;
	line-height: 1.3;
}
@media screen and (max-width: 767px){
	.primary-heading{
		font-size: 2.9rem;
	}
	.secondary-heading{
		font-size: 2rem;
	}
	.tertiary-heading{
		font-size: 1.6rem;
	}
	.page-heading{
		font-size: 2.4rem;
	}
}
.note{
	margin: 1em 0;
	font-size: 1.6rem;
	line-height: 1.6;
}
@media screen and (max-width: 767px){
	.note{
		font-size: 1.4rem;
	}
}
.caption{
	margin: .4em 0;
	font-weight: 300;
	font-size: 1.2rem;
	line-height: 1.4;
}
.img-wrapper .cap-box{
	margin: 0;
	padding: .2em 8px;
	left: auto;
	right: 0;
	display: inline-block;
	background: rgba(255,255,255,.6);
	color: #333;
	font-size: 1rem;
}
.btn{
	padding: 8px 16px;
	display: inline-block;
	position: relative;
	background: #333;
	color: #fff;
	font-size: 1.6rem;
	transition: all .3s ease-out;
}
.general-btn{
	margin: 8px;
	padding: 0 16px;
	width: 100%;
	max-width: 400px;
	height: 60px;
	position: relative;
	background: #143851;
	font-size: 2.8rem;
	line-height: 60px;
}
.general-btn:hover{
	opacity: .6;
}
@media screen and (max-width: 767px){
	.caption{
		font-size: 1rem;
	}
	.general-btn{
		width: calc(100% - 16px);
		height: 54px;
		font-size: 2.2rem;
		line-height: 54px;
	}
}
.btn span{
	position: relative;
	z-index: 1;
}
.ghost-btn{
	padding: 12px 16px;
	width: 100%;
	max-width: 345px;
	background: transparent;
	color: #333;
	font-size: 2.4rem;
	font-weight: 900;
	border: 2px solid;
}
.ghost-btn:hover{
	color: #fff;
	border-color: #333;
}
@media screen and (max-width: 767px){
	.ghost-btn{
		padding: 10px 12px;
		max-width: 260px;
	}
}
.submit-btn{
	margin: 8px;
	padding: 0 16px;
	width: 100%;
	max-width: 300px;
	height: 60px;
	position: relative;
	background: #c9bf9e;
	font-size: 2rem;
	line-height: 60px;
	border-radius: 30px;
}
.cancel-btn{
	margin: 8px;
	padding: 0 16px;
	width: 100%;
	max-width: 200px;
	height: 60px;
	position: relative;
	background: #aaa;
	font-size: 2rem;
	line-height: 60px;
	border-radius: 30px;
}
.bg-light{
	background-color: #c9d0d1;
}
.bg-gray{
	background-color: #eee;
}
.nav-link{
	color: #fff;
	transition: color .3s ease-out;
}
.nav-link:hover{
	color: #62a6a1;
}
[type=text],
[type=email],
[type=tel],
[type=password],
select,
textarea{
	margin: 4px 0;
	padding: 8px;
	min-height: 56px;
	background-color: #f8f9fa;
	box-sizing: border-box;
	font-size: 1.8rem;
	font-weight: 300;
	border: 1px solid #ccc;
	border-radius: 0;
	transition: all .3s ease-out;
}
select{
	padding-right: 55px;
	background: url(../images/common/select-arrow.svg) no-repeat right center #f8f9fa;
	background-size: 30px auto;
}
textarea{
	resize: none;
	height: 180px;
}
[type=text]:focus,
[type=email]:focus,
[type=tel]:focus,
[type=password]:focus,
select:focus,
textarea:focus{
	background-color: #fff;
	border: 1px solid #2b1fd3;
}
.form-parts{
	margin-bottom: 8px;
}
.require{
	color: #de0000;
}
.label-cap{
	font-size: 80%;
	color: #999;
}
.unit{
	margin: 0 4px;
}
.text-80{
	width: 100%;
	max-width: 80px;
}
.text-120{
	width: 100%;
	max-width: 120px;
}
.text-150{
	width: 100%;
	max-width: 150px;
}
.text-240{
	width: 100%;
	max-width: 240px;
}
.text-320{
	width: 100%;
	max-width: 320px;
}
.text-400{
	width: 100%;
	max-width: 400px;
}
.text-540{
	width: 100%;
	max-width: 540px;
}
.text-fit{
	width: 100%;
	flex: 1;
}
.video-wrapper{
	position: relative;
	padding-top: 56.25%;
	height: 0;
	display: block;
	content: "";
}
.video-wrapper iframe,
.video-wrapper video{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
.loading{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	content: "";
}
.overlay-lite{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	content: "";
	background: rgba(255,255,255,.6);
}
@media screen and (max-width: 767px){
	.video-wrapper{
		padding-top: 100%;
	}
}
.general-table{
	margin: 48px 0;
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.4;
	border-top: 1px solid #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}
.general-table th,
.general-table td{
	padding: 16px;
	border-bottom: 1px solid #ddd;
}
.general-table th{
	width: 280px;
	position: relative;
	background: #eee;
	font-weight: 500;
	text-align: right;
}
@media screen and (max-width: 767px){
	.general-table{
		margin: 24px 0;
	}
	.general-table th,
	.general-table td{
		width: 100%;
		display: block;
	}
	.general-table th{
		text-align: left;
	}
}

/*--------------------------------
layout
--------------------------------*/
.container{
	overflow: hidden;
}
.firework .container,
.reserve .container,
.map .container,
.outline .container,
.concept .container,
.access .container,
.life .container,
.modelroom .container,
.limited-site .container,
.view .container,
.quality .container,
.pickup .container{
	margin-top: 0;
}
@media screen and (max-width: 1000px){
	.firework .container,
	/* .reserve .container, */
	.map .container,
	.outline .container,
	.concept .container,
	.access .container,
	.life .container,
	.modelroom .container,
	.limited-site .container,
	.view .container,
	.quality .container,
	.pickup .container{
		margin-top: 61px;
	}
}
.general-section .inner{
	margin: 0 auto;
	padding: 80px 0;
	width: calc(100% - 32px);
	max-width: 1200px;
}
@media screen and (max-width: 767px){
	.general-section .inner{
		padding: 32px 0;
	}
}
.general-section .inner-fit{
	width: 100%;
	max-width: none;
}
.general-section .inner + .inner{
	padding-top: 0;
}
.general-parts{
	margin-bottom: 32px;
}
.btn-space{
	margin: 32px 0;
	text-align: center;
}
.btn-space:last-child{
	margin-bottom: 0;
}
.col-2{
	gap: 24px;
	justify-content: center;
}
.col-2 > .flex-item{
	flex: 1;
}
@media screen and (max-width: 767px){
	.col-2 > .flex-item{
		flex: 0 0 100%;
	}
}
.col-3{
	gap: 32px;
	justify-content: center;
}
.col-3 > .flex-item{
	flex: 0 1 375px;
}

/*--------------------------------
header
--------------------------------*/
.header{
    padding: 15px 0;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
}
.brand .header,
.project .header{
    background: #fff;
}
.header .inner{
	position: relative;
    max-width: 1680px;
    width: 100%;
    margin: auto;
    padding: 0 30px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.header .logo{
	position: relative;
	z-index: 2;
	width: 50%;
	max-width: 580px;
	min-width: 250px;
}
.header h1 a{
    background: url("../images/common/logo.svg") no-repeat center center;
    background-size: 100%;
    height: 50px;
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    position: relative;
    z-index: 1000;
}
@media screen and (max-width: 1300px) {

}
@media screen and (max-width: 1000px) {
	.header .logo{
		z-index: 1000;
		width: 100%;
	}
    .header{
        padding: 15px 0;
    }
    .header .inner{
		position: relative;
        width: 90%;
        padding: 0 0px;
		justify-content: center;
    }
	.header .inner::before{
		content: "";
		position: absolute;
		top: -15px;
		left: 50%;
		transform: translate(-50%,0);
		width: 100vw;
		height: 61px;
		background: #fff;
		z-index: 5;
	}
    .header h1 a{
        /* width: 150px; */
        height: 30px;
    }
}
#header .hamburger {
    width: 44px;
    height: 32px;
    display: none;
    position: absolute;
    right: 35px;
    top: 50%;
    margin-top: -16px;
    z-index: 5; }
@media screen and (max-width: 1000px) {
    #header.is-menu-open nav {
      visibility: visible;
      transform: translateX(0);
    }
}
#header .hamburger {
    width: 50px;
    height: 50px;
    display: none;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -25px;
}
@media screen and (max-width: 1000px) {
    #header .hamburger {
        display: block;
    }
	.plan-detail #header .hamburger{
		display: none;
	}
}
#header .hamburger i,
#header .hamburger::before,
#header .hamburger::after {
    width: 32px;
    height: 3px;
    position: absolute;
    left: 0;
    right: 0;
    display: block;
    background: #333;
    content: "";
}
#header .hamburger i {
    margin: -1px auto 0;
    top: 50%;
    transition: all .2s ease-in-out;
}
#header .hamburger::before {
    margin: 0 auto;
    top: 16px;
    transition: all .2s ease-in-out;
}
#header .hamburger::after {
    margin: 0 9px 0 auto;
    bottom: 16px;
    transition: all .2s ease-in-out;
}
#header.is-menu-open .hamburger i {
    transform: rotate(45deg);
}
#header.is-menu-open .hamburger::before {
    margin-top: -1px;
    top: 50%;
    transform: rotate(-45deg);
}
#header.is-menu-open .hamburger::after {
    opacity: 0;
}
/* navi */
.nav-container {
	margin-left: 40px;
	position: relative;
	top: 0;
	right: 0;
	z-index: 999;
	flex: 1;
}
.plan-detail .nav-container{
	display: none;
}
.nav-container ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	justify-content: flex-end;
	gap: 8px 0.8vw;
	flex-wrap: wrap;
}
.nav-container ul li {
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-size: 1vw;
	line-height: 1.2;
	letter-spacing: -.05em;
	text-align: center;
	position: relative;
}

@media screen and (min-width: 1681px) {
	.nav-container ul li {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 1400px) {
	.nav-container {
		margin-left: 0;
	}
}
@media screen and (max-width: 1200px) {
	.nav-container ul li {
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 1200px) {
	.nav-container{
		margin-left: -100px;
	}
}
/* @media screen and (max-width: 950px) {
  .nav-container ul li {
		font-size: 1.4rem;
		line-height: 1.3;
	}
} */
/* @media screen and (max-width: 850px) {
  .nav-container ul li {
		font-size: 1.2rem;
	}
} */
.nav-container ul li.entry{
	position: absolute;
	top: -70px;
	right: 220px;
	font-size: 1.5vw;
	margin: 0;
}
.nav-container ul li.entry.reserve-btn{
	right: 0;
}
.nav-container ul li a {
	/*background-color: #fff;*/
	display: table;
	width: 100%;
	-webkit-transition: .5s;
	transition: .5s;
	color: #333;
	white-space: nowrap;
}
.nav-container ul li.entry a{
	background: #143851;
	color: #fff;
	width: 200px;
	text-align: center;
	padding: 5px 0;
}
.nav-container ul li.entry.reserve-btn a{
	background: #0f9aa5;
}
@media screen and (min-width: 1681px) {
	.nav-container ul li.entry{
		font-size: 2.2rem;
	}
}
@media screen and (max-width: 1200px) {
	.nav-container ul li.entry {
		font-size: 1.6rem;
	}
}
.reserve-btn a,
.home .area1 p.link{
	position: relative;
	overflow: hidden;
}
.reserve-btn a::before,
.home .area1 p.link::before{
	content: '';
    height: 100%;
    width: 30px;
    position: absolute;
    top: -180px;
    left: 0;
    background-color: #fff;
    opacity: 0;
    animation: s-btn1 3s ease-in-out infinite;
}
.reserve-btn a::before{
	width: 20px;
}
@keyframes s-btn1 {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
.nav-container ul li a:hover {opacity: 0.6;}
.nav-container ul li.entry a:hover{
	opacity: 0.6;
}
.nav-container ul li.limited{
	position: absolute;
	top: -50px;
	right: 220px;
	font-size: 2.2rem;
	margin: 0;
}

.nav-container ul li.limited a{
	background: #87c2cc;
	color: #fff;
	width: 280px;
	text-align: center;
	padding: 5px 0;
}
.nav-container ul li.outline-btn,
.nav-container ul li.map-btn{
	position: absolute;
    top: -63px;
}
.nav-container ul li.outline-btn{
	right: 440px;
}
.nav-container ul li.map-btn{
	right: 530px;
}


@media screen and (max-width: 950px) {
	.nav-container ul li.limited a {
		width: 240px;
	}
}
@media screen and (max-width: 1000px){
	.nav-container {
		transform: translateX(100%);
		transition: all .3s ease-in-out;
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 4;
		background: #fff;
		overflow: auto;
		display: block;
		padding-top: 70px;
	}
	.nav-container ul {
		display: block;
	}
	.nav-container ul li {
		font-size: 1.8rem;
		padding: 1em 0;
		margin: 0;
		border-bottom: 1px solid #ccc;
		line-height: 1;
	}
	.nav-container ul li.entry{
		position: static;
		font-size: 1.8rem;
		border-bottom: none;
		padding: 0;
	}
	.nav-container ul li.entry a{
		width: 100%;
		padding: 15px 0;
	}
	.nav-container ul li.limited{
		position: static;
		font-size: 1.8rem;
		border-bottom: none;
		padding: 0;
	}
	.nav-container ul li.limited a{
		width: 100%;
		padding: 15px 0;
	}
	.nav-container ul li.outline-btn,
	.nav-container ul li.map-btn{
		position: static;
	}
}
.new::before{
	content: "NEW";
	position: absolute;
	top: -12px;
	left: 0;
	font-size: 1.1rem;
	color: #f66;
}
@media screen and (max-width: 1000px){
	.new::before{
		top: 8px;
		left: 8px;
	}
}

/*--------------------------------
footer
--------------------------------*/
.footer-container .ftr_tel a{
    /*pointer-events: none;*/
    display: block;
}
.footer-container .ftr_tel img{
    max-width: 440px;
    width: 90%;
    height: auto;
    margin: 20px auto;
    display: block;
}
.footer-container .ftr_tel {
    padding: 50px 0;
	background-color: #E5F6F1;
	width: 100%;
	text-align: center;
	font-size: 1.2rem;
	line-height: 1.6;
	font-weight: 300;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
.footer-container .ftr_tel .tel-text{
	font-size: 1.5rem;
	font-weight: 700;
}
.footer-container .ftr_tel .tel-num{
	font-size: 6.4rem;
	font-weight: 700;
	color: #333;
}
.footer-container .logo{
    display: flex;
    justify-content: center;
    padding: 30px 0;
}
.footer-container .logo li{
    margin: 0 20px;
}
.footer-container .logo li a{
    display: block;
}
.footer-container .logo li:nth-of-type(1) img{
    height: 60px;
}
.footer-container .logo li:nth-of-type(2) img{
	position: relative;
	top: 18px;
    height: 24px;
}
.footer-container .logo li:nth-of-type(3) img{
	position: relative;
	bottom: 9px;
    height: 60px;
}
.footer-container .copyright{
	padding: 10px 5px;
	font-size: 1.1rem;
	font-style: normal;
	text-align: center;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
@media screen and (max-width: 736px) {
	.footer-container .ftr_tel {
        padding: 5% 0;
		font-size: 1.18rem;
    }
	.footer-container .ftr_tel .tel-text{
		font-size: 1.4rem;
	}
	.footer-container .ftr_tel .tel-num{
		font-size: 4.4rem;
	}
    .footer-container .ftr_tel a{
        pointer-events:auto;
    }
	.footer-container .ftr_tel img{
		margin: 10px auto 20px;
	}
    .footer-container .logo{
        margin: 0 auto;
        max-width: 310px;
        display: block;
        padding: 15px 5%;
    }
    .footer-container .logo li{
        margin: 30px auto;
    }
    .footer-container .logo li a{
        text-align: center;
    }
	.footer-container .copyright{
		font-size: 1rem;
	}
	.footer-container .logo li:nth-of-type(2) img{
		top: -5px;
	}
}
.footer-text{
	padding-top: 30px;
	text-align: center;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
.copyright{
	padding: 16px;
	font-size: 1.2rem;
	font-style: normal;
	text-align: center;
}
@media screen and (max-width: 767px){
	.copyright{
		font-size: 1rem;
	}
}
.sp-navi{
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
}
@media screen and (min-width: 768px){
	.sp-navi{
		display: none;
	}
}
.sp-navi a{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	font-size: 1.6rem;
	background: #0f9aa5;
	position: relative;
	overflow: hidden;
	color: #fff;
}
.sp-navi a::before{
	display: flex;content: '';
	height: 100%;
	width: 30px;
	position: absolute;
	top: -180px;
	left: 0;
	background-color: #fff;
	opacity: 0;
	animation: s-btn1 3s ease-in-out infinite;
}
/*--------------------------------
home
--------------------------------*/
.home{
    color: #333;
}
.home .mv{
    position: relative;
		opacity: 0;
		transition: opacity .4s linear;
}
.home .mv.slick-initialized{
	opacity: 1;
}
.home .mv .more{
    position: absolute;
    bottom: 5%;
    left: 50%;
    margin-left: -55px;
}
@media screen and (max-width: 736px){
    .home .mv .more{
        bottom: 3%;
        margin-left: -30px;
    }
}
.btnripple2{
    /*波紋の基点とするためrelativeを指定*/
  position: relative;
    /*波紋の形状*/
  display:inline-block;
  width:110px;
  height:110px;
  border-radius: 50%;
    outline: none;
    /*アニメーションの設定*/
    transition: all .3s;
}
@media screen and (max-width: 736px){
    .btnripple2{
      width:55px;
      height:55px;
    }
}
.info-box{
	margin: 40px auto ;
	padding: 24px 24px 0;
	width: 90%;
	max-width: 860px;
	border: 1px solid #333;
	color: #333;
	text-align: center;
}
.info-heading{
	padding-bottom: .6em;
	font-size: 2rem;
	text-align: center;
	border-bottom: 1px solid;
}
@media screen and (max-width: 736px){
	.info-box{
		margin: 32px auto ;
		padding: 16px 16px 0;
	}
	.info-heading{
		font-size: 1.6rem;
	}
}
/*hoverした際の背景色の設定*/
.btnripple2:hover{
}

/*波形を2つ設定*/
.btnripple2::after,
.btnripple2::before {
    content: '';
    /*絶対配置で波形の位置を決める*/
    position: absolute;
    left: -15%;
    top: -15%;
    /*波形の形状*/
    border: 1px solid #fff;
    width: 130%;
    height: 130%;
    border-radius: 50%;
    /*はじめは不透明*/
    opacity: 1;
    /*ループするアニメーションの設定*/
    animation:1s circleanime linear infinite;
}
.btnripple2.blu::after,
.btnripple2.blu::before {
    border: 1px solid #15828d;
}

/*波形の2つ目は0.5秒遅らせてアニメーション*/
.btnripple2::before {
    animation-delay:.5s; 
}

/*波形のアニメーション*/
@keyframes circleanime{
  0%{
    transform: scale(0.68);
  }
  100%{
    transform: scale(1.2);
    opacity: 0;
  }
}

.home .area1{
    padding: 50px 0 0;
}
.home .area1 h2{
    font-size: 4rem;
    text-align: center;
    font-weight: 300;
    letter-spacing: 0.1em;
	color:#5a7485 ;
}
.home .area1 p.cap{
    font-size: 3rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: center;
    max-width: 870px;
    width: 90%;
    margin: auto;
    margin-bottom: 30px;
}
.home .area1 p.cap .cap-sup{
	vertical-align: text-top;
	font-size: 18px;
}
.home .area1 .top-property{
	text-align: center;
	font-size: 4.6rem;
	color: #323232;
	line-height: 1.5;
}
.home .area1 p.link{
    max-width: 850px;
    width: 90%;
    margin: 30px auto 50px;
}
.home .area1 p.link a{
    display: block;
    background: #69818f;
    text-align: center;
    color: #fff;
    font-size: 3rem;
    letter-spacing: 0.1em;
    padding: 20px 0;
    transition: .3s;
}

.home .area1 p.link a:hover{
    opacity: 0.6;
}

.home .area1 p.link a{
	border: 0 solid;
	box-shadow: inset 0 0 20px rgba(255, 255, 255, 0);
	outline: 1px solid;
	outline-color: #0f9aa5;
	outline-offset: 0px;
	text-shadow: none;
	-webkit-transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1);
	transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1);
}
.home .area1 p.link a:hover{
	box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.2);
	outline-color: #0f9ba500;
	outline-offset: 15px;
	text-shadow: 1px 1px 2px #427388;
}

.top-head-img{
    width: 270px;
    margin: auto;
    margin-bottom: 40px;
}
.home .area1 h4{
    font-size: 5rem;
    text-align: center;
	line-height: 1.5;
}

.home .area1 p.lead{
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.8;
	margin: 40px auto 0;
}
.home .area1 .top-info-wrap{
	background-image: url(../images/home/top-bg.png);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    padding: 100px 0 50px;
}
.home .area1 .info{
    background: #fff;
    max-width: 1000px;
    width: 90%;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    margin: auto;
    display: flex;
    justify-content: space-between;
    padding: 40px 24px;
}
.home .area1 .info dl{
    width: 31%;
    text-align: center;
}
.home .area1 .info dt:after{
    content: "";
    display: block;
    width: 165px;
    height: 1px;
    margin: 5px auto 20px auto;
    background: #0f9aa5;
}
.home .area1 .info dt span{
    font-family: garamond-premier-pro-display, serif;
    font-weight: 300;
    font-size: 3.8rem;
    color: #0f9aa5;
    display: block;
    margin-bottom: 10px;
}
.home .area1 .info dt p{
    font-size: 2.4rem;
    min-height: 3em;
    line-height: 1.5;
    display: flex;
    justify-content: center;
    align-items: center;
}
.home .area1 .info dd{
    font-size: 1.8rem;
    line-height: 1.5;
}
.limited-contents-wrap{
	margin-top: 80px;
	padding: 40px 0 120px;
	position: relative;
	background: #dbedf0;
}
.limited-contents{
	margin: 0 auto;	
	max-width: 1000px;
    width: 90%;
}
.and-more{
	width: 196px;
	position: absolute;
	left: 50%;
	bottom: -40px;
	transform: translateX(-50%);
}
.top-property-caption{
	margin-top: 30px;
	font-size: 2rem;
	text-align: center;
	line-height: 1.5;
}
.top-property-emphasis{
	border-bottom: 1px solid #000;
}
.top-property-caption .small-text{
	font-size: 1.4rem;
}
.kodo-tel{
	max-width: 524px;
	width: calc(100% - 32px);
	margin: 40px auto 0;
	padding-bottom: 20px;
}
.kodo-tel-note{
	text-align: center;
	font-size: 2.9rem;
	margin-bottom: 24px;
}
.holiday{
	color: #dc143c;
	border: 1px solid #dc143c;
	width: min(calc(100% - 32px),680px);
	margin: 0 auto 40px;
	padding: 30px 16px;
	line-height: 1.5;
}
.holiday span{
	display: block;
}
.holiday em{
	font-style: normal;
}
.holiday .large-text{
	margin: 6px 0;
	font-size: 120%;
}
.holiday .small-text{
	font-size: 80%;
}
.holiday-note{
	font-size: 1.8rem;
}
@media screen and (max-width: 767px){
	.top-property-caption{
		margin: 15px 0;
		font-size: 1.4rem;
	}
	.top-property-caption .small-text{
		font-size: 1rem;
		text-align: left;
		display: block;
		width: calc(100% - 32px);
		margin: 10px auto 0;
	}
	.kodo-tel{
		margin: 20px auto 0;
		padding-bottom: 10px;
	}
	.kodo-tel-note{
		font-size: 1.6rem;
		margin-bottom: 12px;
	}
	.holiday{
		padding: 20px 10px;
		margin-bottom: 20px;
	}
	.holiday-note{
		font-size: 1.4rem;
	}
	.holiday .large-text{
		margin: 3px 0;
	}
}
@media screen and (max-width: 736px){
	.limited-contents-wrap{
		margin-top: 0;
		padding: 32px 0 60px;
	}
	.and-more{
		width: 84px;
		bottom: -20px;
	}
}
.home .area1 h5{
    margin-top: 64px;
    font-size: 3rem;
    text-align: center;
}
.home .area1 p.limited-btn{
    margin: 24px auto;
    max-width: 524px;
}
.home .area1 p.limited-btn a{
    background: #87c2cc;
}
@media screen and (max-width: 736px){
    .home .area1{
        padding: 7% 0 0;
    }
	.home .area1 p.cap .cap-sup{
		font-size: 11px;
	}
    .home .area1 h2{
        font-size: 7vw;
    }
    .home .area1 p.cap{
        font-size: 5vw;
        padding-bottom: 10px;
        margin-bottom: 20px;
    }
    .home .area1 p.link{
        margin: 0 auto 30px;
    }
    .home .area1 p.link a{
        font-size: 4.5vw;
        padding: 15px 0;
    }
    .top-head-img{
        width: 140px;
        margin-bottom: 20px;
    }
    .home .area1 h4{
        font-size: 3rem;
        line-height: 1.5;
    }

    .home .area1 h4:after{
        margin: 15px auto;
    }
    .home .area1 p.lead{
        font-size: 3.5vw;
        line-height: 1.5;
        margin-bottom: 30px;
    }
    .home .area1 .info{
        display: block;
        padding: 1% 5%;
    }
    .home .area1 .info dl{
        width: 100%;
        margin: 10% 0;
    }
    .home .area1 .info dt:after{
        width: 80px;
        margin: 5px auto 10px auto;
    }
    .home .area1 .info dt span{
        font-size: 7vw;
        margin-bottom: 10px;
    }
    .home .area1 .info dt p{
        font-size: 4.5vw;
        min-height: inherit;
        display: block;
    }
    .home .area1 .info dd{
        font-size: 3.5vw;
    }
    .home .area1 h5{
        margin-top: 32px;
        font-size: 2rem;
    }
    .home .area1 p.limited-btn{
        margin: 16px auto;
    }
}

.home p.bnr{
    padding: 65px 0;
}
.home p.bnr a{
    display: block;
    max-width: 1000px;
    width: 90%;
    margin: auto;
    transition: .3s;
}
.home p.bnr a:hover{
    opacity: 0.6;
}
@media screen and (max-width: 736px){
    .home p.bnr{
        padding: 7% 0;
    }
}

.home .location{
    background: #f6fafd;
    padding: 75px 0;
}
.home .location h2{
    width: 213px;
    margin: auto;
}
.home .location .lead{
    text-align: center;
    font-size: 2.8rem;
    margin: 30px 0 80px 0;
}
.home .location ul{
    max-width: 1000px;
    width: 90%;
    margin: 0 auto 60px auto;
    display: flex;
    justify-content: space-between;
}
.home .location li{
    width: 31%;
	position: relative;
}
.home .location li p{
	position: absolute;
	bottom: 0;
    left: 8px;
    right: 8px;
    z-index: 1;
}
.home .location dl{
    text-align: center;
}
.home .location dt{
    width: 160px;
    margin: auto;
}
.home .location dd img{
    display: block;
    width: 56px;
    margin: 20px auto;

}
.home .location dd a{
    display: inline-block;
    transition: .3s;
}
.home .location dd a:hover{
    opacity: 0.6;
}
.home .location dd span{
    font-size: 2.1rem;
    display: block;
    color: #666464;
}
@media screen and (max-width: 736px){
    .home .location{
        padding: 10% 0;
    }
    .home .location h2{
        width: 110px;
    }
    .home .location .lead{
        font-size: 3.5vw;
        margin: 15px 0 30px 0;
    }
    .home .location ul{
        margin: 0 auto 5% auto;
        display: block;
        width: 80%;
    }
    .home .location li{
        width: 100%;
        margin: 5% 0;
    }
    .home .location dt{
        width: 80px;
    }
    .home .location dd img{
        width: 30px;
        margin: 10px auto;
    }
    .home .location dd span{
        font-size: 3vw;
    }
}
.top-acc{
	background: linear-gradient(90deg,#fff7e2,#bdb3a5);
	padding: 44px 0 30px;
}
.top-acc .img-wrapper{
	width: min(90%, 950px);
	margin: 0 auto;
}
.new-label{
	margin-right: .4em;
	display: inline-block;
	background: #980053;
	padding: .4em .4em .2em;
	color: #fff;
	line-height: 1;
	font-size: 1.8rem;
	vertical-align: text-top;
}
.hanabi-movie iframe{
	width: 100%;
	aspect-ratio: 16 / 9;
	pointer-events: none;
}
.general-section.hanabi-section .inner{
	max-width: 900px;
}
.hanabi-section .secondary-heading{
	margin-bottom: 1.4em;
}
.hanabi-bnr{
	margin-top: 40px;
	display: block;
	transition: opacity .4s;
}
.hanabi-bnr:hover{
	opacity: .7;
}
.hanabi-heading{
	line-height: 1.5;
	font-size: 2.8rem;
	text-align: center;
	margin: 40px 0 20px;
}
.hanabi-more{
	background: #143A68;
	font-size: 2.8rem;
	text-align: center;
	transition: .2s ease;
}
.hanabi-more a{
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}
.hanabi-more span{
	display: flex;
	transform: translateX(30px);
	width: 12px;
	transition: .2s ease;
}
.hanabi-more:hover{
	background: #2466b8;
}
.hanabi-more:hover span{
	transform: translateX(40px);
}

@media screen and (max-width: 767px){
	.hanabi-section .secondary-heading{
		margin-bottom: 1em;
	}
	.hanabi-bnr{
		margin-top: 20px;
	}
	.new-label {
    font-size: 1.2rem;
	}
	.hanabi-heading{
		font-size: 2rem;
	}
	.hanabi-more{
		font-size: 1.8rem;
	}
}
.top-merit{
	background: #f3fafa;
	padding: 32px 0;
}
.top-merit .img-wrapper{
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
	position: relative;
}
.merit-view,
.merit-modelroom,
.merit-plan{
	display: block;
	position: absolute;
	bottom: 0;
	height: 30%;
}
.merit-view{
    left: 2%;
    width: 20%;
}
.merit-modelroom{
	left: 33.5%;
    width: 19%;
}
.merit-plan{
    right: 13.5%;
    width: 11%;
}


.top-price{
	background: linear-gradient(90deg,#2f596d,#063a55);
	padding: 32px 0;
}
.top-price .img-wrapper{
	max-width: 940px;
	width: 90%;
	margin: 0 auto;
}
.kodo-box{
	padding: 24px 0;
	background: #153851;
	font-size: 3.4rem;
}
.kodo-box p{
	letter-spacing: .05em;
}
.kodo-box01{
	padding: 24px 0;
	background: #153851;
	font-size: 3.4rem;
}
.kodo-box01 p{
	letter-spacing: .05em;
}
@media screen and (max-width: 1170px){
	.kodo-box{
		font-size: 2.7rem;
	}
}
@media screen and (max-width: 940px){
	.kodo-box{
		font-size: 2.2rem;
	}
	.kodo-box01{
		font-size: 2.7rem;
	}
}
@media screen and (max-width: 767px){
	.kodo-box{
		padding: 14px 0;
		font-size: 2.2rem;
	}
	.kodo-box p{
		line-height: 1.3;
	}
	.kodo-box01{
		padding: 14px 0;
		font-size: 2.2rem;
	}
	.kodo-box01 p{
		line-height: 1.3;
	}
	.merit-view,
	.merit-modelroom,
	.merit-plan{
		width: 69%;
		left: 16%;
		height: 10%;
	}
	.merit-view{
		bottom: 73%;
	}
	.merit-modelroom{
		bottom: 37%;
	}
	.merit-plan{
		bottom: 0;
	}
}
@media screen and (max-width: 736px){
	.top-acc{
		padding: 20px 0;
	}
}

/*--------------------------------
new home
--------------------------------*/
.top-online{
	background: #DBEDF0;
	padding: 20px 0;
}
.top-online-lists{
	margin: 28px auto;
	padding: 20px;
	width: min(90%,700px);
	background: #fff;
	box-shadow: 0 0 32px rgb(0 0 0 / 20%);
	justify-content: center;
}
.top-online-list{
	width: min(calc(100%/3),240px);
	/* width: calc(100% / 3); */
	position: relative;
}
.top-online-title{
	margin: 0 auto 20px;
	width: min(100%,270px);
}
.top-online-heading{
	font-size: 1.4rem;
	line-height: 1;
}
.top-online-num{
	margin: 0 auto 16px;
	width: min(100%,60px);
}
.top-online-note{
	font-size: 1.2rem;
	line-height: 1.5;
}
.top-online-heading::after{
	content: '';
	margin: 12px auto 16px;
	display: block;
	width: min(90%,120px);
	height: 1px;
	background: #0F9AA5;
}
.top-online-arrow{
	position: absolute;
	width: 13%;
	right: -9%;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.home .area1 .top-online-wrap p.link a{
	font-size: 2rem;
}
.home .area1 .top-online-wrap p.link{
	width: min(90%,600px);
}
@media screen and (max-width: 900px){
	.top-online-heading{
		font-size: 2.2rem;
	}
	.top-online-num{
		margin: 0 auto 16px;
		max-width: 65px;
	}
	.top-online-note{
		font-size: 1.4rem;
	}
	.top-online-heading::after{
		max-width: 150px;
	}
}
@media screen and (max-width: 767px){
	.top-online{
		padding: 32px 0;
	}
	.top-online .tertiary-heading{
		font-size: 1.8rem;
	}
	.top-online-lists{
		margin: 32px auto;
		padding: 20px;
	}
	.top-online-list{
		width: 100%;
		margin-bottom: 24px;
	}
	.top-online-list:last-child{
		margin-bottom: 0;
	}
	.top-online-title {
    margin: 0 auto 20px;
    max-width: 225px;
	}
	.top-online-heading{
		font-size: 1.8rem;
	}
	.top-online-heading::after{
		margin: 12px auto 16px;
		max-width: 100%;
		width: 100%;
	}
	.top-online-note{
		font-size: 1.2rem;
	}
	.top-online-arrow{
		margin: 24px auto 0;
		position: static;
		width: 100%;
		max-width: 60px;
		transform: unset;
		-webkit-transform: unset;
		-ms-transform: unset;
	}
}
.home .area1 .top-online p.link{
	margin: 0 auto;
}
.top-concept{
	padding: 100px 0 70px;
	background: url(../images/home/home-img01.jpg) no-repeat center center/ cover;
	color: #fff;
}
.top-concept-copy{
	max-width: 900px;
	width: 90%;
	margin: 50px auto 20px;
}
.top-concept-note{
	margin: 40px 0 50px;
	text-align: center;
	font-size: 2.6rem;
	line-height: 2;
}
.more-btn{
	display: block;
	border: 1px solid #0f9aa5;
	color: #0f9aa5;
	font-size:1.6rem;
	line-height: 29px;
	height: 27px;
	max-width: 190px;
	margin: 30px auto 0;
	text-align: center;
	position: relative;
	font-family: garamond-premier-pro-display, serif;
	transition: .2s;
}
.more-btn::before{
	content: ">";
	position: absolute;
	top: 50%;
	right:50px;
	transform: translate(0,-50%);
	font-size: 150%;
}
.more-btn:hover{
	background: #0f9aa5;
	color: #fff;
}
.top-concept .more-btn{
	border: 1px solid #fff;
	color: #fff;
}
.top-concept .more-btn:hover{
	background: #fff;
	color: #0f9aa5;
}
.top-copy{
	font-size: 3.8rem;
}
.top-movie{
	padding: 70px 0;
	background: url(../images/home/home-img02.jpg) no-repeat center center/ cover;
}
.top-movie-head{
	max-width: 332px;
	width: 100%;
	margin: 0 auto;
}
.top-movie-note{
	margin-top: 20px;
	text-align: center;
	font-size: 2rem;
	color: #000;
}
.top-slick {
	margin: 32px 0 40px;
}
.top-slick .caption{
	font-size: 1rem;
}
.top-plan-head{
	padding: 110px 0 70px;
	background: url(../images/home/home-img03.jpg) no-repeat center center/ cover;
}
.top-plan-head .top-head-img{
	width: 190px;
}
.top-plan .top-copy{
	text-align: center;
	color: #fff;
	line-height: 1.5;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
	font-feature-settings: "palt";
}
.top-point{
	max-width: 840px;
	width: 70%;
	margin: 35px auto 0;
}
.page-link-wrap{
	margin-top: 50px;
	background: #dfeef4;
}
.page-link-wrap .img-wrapper{
	width: 50%;
}
.page-list{
	margin-top: 50px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.page-item{
	width: calc(100%/4 - 30px);
}
.page-item:hover{
	filter: opacity(0.5);
}
.page-item img{
	height: 34px;
	margin: 0 0 18px;
}
.page-item:nth-of-type(3) img{
	height: 48px;
	margin:  0 0 4px;
}
.page-item p{
	padding-top: 20px;
	border-top: 1px solid #0f9aa5;
	text-align: center;
	font-size: 2.4rem;
	color: #808080;
}
.follow-wrapper{
	padding: 130px 0 70px;
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
}
.follow-bg{
	background: url(../images/home/follow-bg.jpg) no-repeat center center;
	background-size: cover;
}
.follow-illustration:nth-of-type(1){
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
	max-width: 400px;
	width: 30vw;
}
.follow-illustration:nth-of-type(2){
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	max-width: 600px;
	width: 35vw;
}
.follow-inner{
	position: relative;
	z-index: 2;
	width: min(calc(100% - 32px),1000px);
	margin: 0 auto;
	border: 1px solid #0f9aa5;
	border-top: none;
	background: rgba(255, 255, 255, 0.7);
}
.follow-ttl{
	position: relative;
	max-width: 380px;
	padding: 0 30px;
	margin: -20px auto 0;
}
.follow-ttl img{
	margin-top: -20px;
}
.follow-inner::before,
.follow-inner::after{
	content: "";
	position: absolute;
	width: 25%;
	height: 1px;
	top: 0;
	background: #0f9aa5;
}
.follow-inner::before{
	left: 0;
}
.follow-inner::after{
	right: 0;
}
.follow-list{
	gap: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 50px 0 36px;
}
.top-caption-inner{
	background: #edf0f4;
}
.follow-item{
	width: 45%;
	text-align: center;
}
.follow-item .follow-icon{
	height: 70px;
	width: auto;
}
.follow-note{
	margin-top: 22px;
	height: 36px;
	display: block;
	font-size: 2rem;
	line-height: 1.2;
	color: #333;
}
.follow-note sub{
	display: block;
	font-size: 1.2rem;
}
.follow-item .more-btn{
	border: 1px solid #dfeff1;
	background: #dfeff1;
    color: #0f9aa5;
}
.follow-item .more-btn:hover{
	border: 1px solid #dfeff1;
	background: #0f9aa5;
    color: #dfeff1;
}
.follow-heading{
	margin-top: 40px;
	line-height: 1.5;
	text-align: center;
	font-size: 2rem;
}
.follow-img-list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 16px;
	margin-bottom: 22px;
}
.follow-img-wide{
	grid-column: 1/3;
	width: min(86%,390px);
	margin: 0 auto;
}
@media screen and (max-width: 1200px){
	.follow-wrapper{
		padding: 190px 0 140px;
	}
	.page-item{
		width: calc(100%/2 - 15px);
		margin-top: 30px;
	}
}
@media screen and (min-width: 768px){
	.top-slick .slick-list{
		padding:0 15% 0 0 !important;
	}
	.top-slick li{
		padding-right: 30px;
	}
}

@media screen and (max-width: 767px){
	.home .area1 .top-property{
		font-size: 2.7rem;
		margin-bottom: 10px;
	}
	.top-concept{
		padding: 27px 0 45px;
		background: url(../images/home/home-img01-sp.jpg) no-repeat center center/ cover;
	}
	.top-concept-note{
		margin: 12px 0 30px;
		font-size: 1.4rem;
	}
	.top-concept-copy{
		margin: 34px auto 14px;
	}
	.more-btn{
		height: 30px;
		line-height: 31px;
	}
	.home .area1 .top-info-wrap{
		padding:60px 0 42px;
	}
	.top-copy{
		margin-top: 20px;
		display: block;
		font-size: 2.2rem;
	}
	.top-movie {
		padding: 30px 0;
		background: url(../images/home/home-img02-sp.jpg) no-repeat center center/ cover;
	}
	.top-movie-head{
		max-width: 244px;
	}
	.top-movie-note{
		margin-top: 10px;
		font-size: 1.2rem;
	}
	.top-movie .more-btn{
		margin-top: 13px;
	}
	.top-slick li{
		margin: 0 4vw;
	}
	.top-plan-head{
		padding: 30px 0 20px;
		background: url(../images/home/home-img03-sp.jpg) no-repeat center center/ cover;
	}
	.top-plan-head .top-head-img{
		width: 100px;
	}
	.page-link-wrap{
		margin-top: 25px;
	}
	.page-link-wrap .img-wrapper{
		width: 100%;
	}
	.page-list{
		margin-top:0;
	}
	.page-item img{
		height: 20px;
		margin: 0 0 9px;
	}
	.page-item:nth-of-type(3) img{
		height: 27px;
		margin: 0 0 2px;
	}
	.page-item p{
		padding-top: 10px;
		font-size: 1.3rem;
	}
	.follow-illustration:nth-of-type(1){
		max-width: 200px;
		width: 100%;
	}
	.follow-illustration:nth-of-type(2){
		max-width: 300px;
		width: 100%;
		top: -22px;
		left: -29px;
	}
	.follow-ttl{
		max-width: 256px;
		padding: 0 16px;
	}
	.follow-list{
		padding: 25px 0 18px;
	}
	.follow-item{
		width: calc(100% - 32px);
		margin:0 auto;
	}
	.follow-item .follow-icon{
		height: 50px;
	}
	.follow-note{
		font-size: 1.4rem;
		height: auto;
	}
	.follow-item .more-btn{
		margin-top: 10px;
	}
	.follow-item .more-btn::before{
		right: 30px;
	}
	.follow-inner::before,
	.follow-inner::after{
		width: 10%;
	}
	.follow-heading{
		font-size: 1.8rem;
	}
}
.top-photo{
	position: relative;
	background: #3d5b6e;
	padding: 80px 0;
}
.top-photo-heading{
	max-width: 340px;
	width: 100%;
	margin: 0 auto;
}
.top-photo .note{
	margin-top: 40px;
	text-align: center;
	color: #fff;
}
.top-photo-swiper{
	margin-top: 40px;
}
.swiper-item-wrapper{
	width: 104px;
	margin: 30px auto 0;
	display:grid;
	gap: 16px;
}
.swiper-item-wrapper .swiper-button-next,
.swiper-item-wrapper .swiper-button-prev{
	position: static;
}
.swiper-item-wrapper .swiper-button-next,
.swiper-item-wrapper .swiper-button-prev{
	margin: 0;
	width: 11px;
    height: 14px;
	border: none;
}
.home .swiper-pagination{
	top: auto;
	bottom: auto;
	left: 0;
	position: relative;
}
.home .swiper-pagination-bullet{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	border-radius: 0;
	background: #ccc;
}
.home .swiper-pagination-bullet-active.swiper-pagination-bullet{
	width: 0%;
	animation: swiperPaginationAnime 5s ease forwards;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
	margin: 0;
}
.home .swiper-button-next{
	transform: scale(-1, 1);
}
@keyframes swiperPaginationAnime{
	0% {
		width: 0;
	}
  
	100% {
		width: 100%;
	}
}
.swiper-item-wrapper .flex-wrapper{
	justify-content: space-between;
}
.top-merit-item{
	padding: 80px 0;
	background: url(../images/home/merit-bg.png) no-repeat center top;
	background-size: 110%;
}
.top-merit-heading{
	max-width: 152px;
	width: 100%;
	margin: 0 auto;
}
.top-merit-lead{
	font-size: 3.5rem;
	line-height: 1.5;
}
.top-merit-ttl{
	color: #446173;
	font-size: 2rem;
	border-bottom: 1px solid #446173;
	padding-bottom: 14px;
	margin: 24px 0 14px;
	line-height: 1.2;
}
.top-merit-note{
	font-size: 1.6rem;
	line-height: 1.5;
}
.top-merit-slick{
	max-width: 1400px;
	width: calc(100% - 32px);
	margin: 32px auto 0;
	padding: 0 70px;
}
.top-merit-slick .slick-slide{
	margin: 0 10px;
}
.top-merit-slick .slick-list{
	padding: 0!important;
}
.top-merit-slick .slick-next{
	right: 0;
	transform:  translate(0, -50%) scale(-1, 1);
}
.top-merit-slick .slick-prev{
	left: 0;
}
.top-merit-slick .slick-prev,
.top-merit-slick .slick-next{
	background: none;
	width: 20px;
	height: 40px;
	background: url(../images/home/merit-arrow.svg) no-repeat center center;
	background-size: contain;
}
.top-merit-slick .slick-next:before,
.top-merit-slick .slick-prev:before{
	display: none;
}
.top-merit-slick .img-wrapper .caption{
	left: auto;
	right: 0;
	display: inline-block;
	padding: 0 8px;
	background: #000000a2;
	margin: 0;
	color: #fff;
}
.top-merit-slick .img-wrapper .caption sub{
	vertical-align: baseline;
}
@media screen and (max-width: 1400px){
	.top-merit-ttl{
		font-size: 1.3vw;
	}
	.top-merit-note{
		font-size: 1.2vw;
	}
}
@media screen and (max-width: 1200px){
	.top-merit-ttl{
		font-size: 1.8vw;
	}
	.top-merit-note{
		font-size: 1.4vw;
	}
}
@media screen and (max-width: 900px){
	.top-merit-ttl{
		font-size: 2vw;
	}
	.top-merit-note{
		font-size: 1.6vw;
	}
}
@media screen and (max-width: 767px){
	.top-photo{
		padding: 32px 0;
	}
	.top-photo-heading{
		width: 170px;
	}
	.top-photo .note{
		padding: 0 16px;
	}
	.top-merit-item{
		padding: 32px 0;
	}
	.top-merit-heading{
		width: 80px;
	}
	.top-merit-lead{
		margin-top: 20px;
		font-size: 2.4rem;
	}
	.top-merit-item .note{
		padding: 0 16px;
	}
	.top-merit-slick .slick-slide{
		margin: 0 5px;
	}
	.top-merit-slick{
		padding: 0 30px;
	}
	.top-merit-ttl{
		font-size: 1.6rem;
		padding: 0;
		margin: 10px 0 5px;
		display: flex;
		align-items: center;
		height: 50px;
	}
	.top-merit-note{
		font-size: 1.2rem;
	}
}
.top-pick{
	background: #94c0ca73;
}
.top-heading{
	margin: 0 auto;
}
.top-pick .top-heading{
	width: min(100%,297px);
	margin-bottom: 48px;
}
.top-pick-list{
	display: grid;
	gap: 28px;
}
.top-living{
	padding: 100px 0 75px;
	background: url(../images/home/top-living-bg.png) no-repeat top center;
	background-size: 100%;
}
.top-living-text{
	width: min(calc(100% - 32px),800px);
	margin: 0 auto;
}
.top-living-en{
	margin-top: 50px;
	font-size: 6rem;
	color: #211816;
	letter-spacing: .05em;
}
.top-living-note{
	margin-top: 30px;
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: .1em;
}
.top-spring-grid,
.top-autumn-grid{
	margin: 100px 0 60px;
	display: grid;
	align-items: flex-start;
	grid-template-columns: calc(63% - 100px) 37%;
	gap: 30px 100px;
}
.top-spring,
.top-autumn{
	margin-top: 60px;
	width: min(100%,240px);
}
.top-living-copy{
	margin-top: 48px;
	font-size: 2.4rem;
	line-height: 1.5;
}
.spring-grid-item:nth-of-type(1),
.autumn-grid-item:nth-of-type(1){
	grid-row: 1/3;
}
.top-summer-grid{
	padding-top: 80px;
	display: grid;
	grid-template-columns: 1fr 40%;
	background: url(../images/home/summer-bg.png) no-repeat top center;
	background-size: 100%;
	gap: 40px;
	align-items: flex-start;
}
.summer-text{
	margin: 0 0 40px 10%;
}
.top-summer{
	width: min(100%,258px);
}
.top-summer-grid .item-wrapper{
	margin-left: 15%;
}
.fireworks-grid{
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr 1fr;
}

.top-autumn-grid{
	margin-top: 80px;
}
.top-winter-grid{
	margin-top: -70px;
	display: grid;
	align-items: flex-end;
	grid-template-columns: 30% calc(70% - 40px);
	background: url(../images/home/winter-bg.png) no-repeat top center;
	background-size: 100%;
	gap: 70px 40px;
}
.top-winter{
	width: min(100%,224px);
}
.winter-grid-item:nth-of-type(1){
	grid-column: 1/3;
	width: min(100%,1020px);
	margin: 0 auto;
}
.top-content{
	background: linear-gradient(90deg,#3d5b6e,#163851);
}
.top-content .top-heading{
	width: min(100%,180px);
}
.top-content-list{
	width: min(100%,1200px);
	justify-content: center;
	margin: 50px auto 0;
	gap: 10px;
}
.top-content-item{
	position: relative;
	width: calc(100%/4 - 30px/4);
	transition: .2s ease;
	background-size: cover;
}
.top-content-item:nth-of-type(1){
	background: url(../images/home/nav-concept-bg.jpg) no-repeat center center;
}
.top-content-item:nth-of-type(2){
	background: url(../images/home/nav-location-bg.jpg) no-repeat center center;
}
.top-content-item:nth-of-type(3){
	background: url(../images/home/nav-access-bg.jpg) no-repeat center center;
}
.top-content-item:nth-of-type(4){
	background: url(../images/home/nav-life-bg.jpg) no-repeat center center;
}
.top-content-item:nth-of-type(5){
	background: url(../images/home/nav-plan-bg.jpg) no-repeat center center;
}
.top-content-item:nth-of-type(6){
	background: url(../images/home/nav-view-bg.jpg) no-repeat center center;
}
.top-content-item:nth-of-type(7){
	background: url(../images/home/nav-brand-bg.jpg) no-repeat center center;
}
.top-content-item img{
	margin: 0 auto;
}
.top-content-item:nth-of-type(1) img{
	width: min(50%,140px);
}
.top-content-item:nth-of-type(2) img{
	width: min(50%,155px);
}
.top-content-item:nth-of-type(3) img{
	width: min(50%,120px);
}
.top-content-item:nth-of-type(4) img{
	width: min(50%,207px);
}
.top-content-item:nth-of-type(5) img{
	width: min(50%,200px);
}
.top-content-item:nth-of-type(6) img{
	width: min(50%,205px);
}
.top-content-item:nth-of-type(7) img{
	width: min(50%,130px);
}
.top-content-item:hover::before{
	background: #ffffff44;
}
.top-content-item::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ffffffB3;
	transition: .2s ease;
}
.top-content-item:hover .top-content-link{
	filter: drop-shadow(0 0px 3px rgb(255, 255, 255));
}
.top-content-link{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align:center;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 2;
	padding: 40px 0;
}
.top-content-note{
	position: relative;
	margin-top: 10px;
	padding-top: 20px;
	font-size: 1.8rem;
	color: #163750;
}
.top-content-note::before{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
	width: 44px;
	height: 2px;
	background: #163750;
}
.top-locaiton-video{
	width: min(75%,900px);
	margin: 50px auto 0;
}
.living-video-item iframe{
	width: 100%;
	aspect-ratio: 16 / 9;
	pointer-events: none;
}
.top-living .item-wrapper{
	padding: 0 16px;
}
@media screen and (max-width: 767px){
	.top-pick .top-heading{
		max-width: 175px;
		margin-bottom: 25px;
	}
	.top-living{
		padding: 50px 0;
		    background: url(../images/home/top-living-bg.png) no-repeat top 5% center;
			background-size: 100%;
	}
	.top-living-en{
		margin-top: 20px;
		font-size: 3.6rem;
	}
	.top-living-note{
		margin-top: 15px;
		font-size: 1.3rem;
	}
	.top-spring-grid,
	.top-autumn-grid{
		margin: 50px 0 30px;
		grid-template-columns: 1fr;
	}
	.spring-grid-item:nth-of-type(1),
	.autumn-grid-item:nth-of-type(1){
		grid-row: auto;
		width: calc(100% - 16px);
	}
	.top-spring,
	.top-autumn{
		max-width: 145px;
		margin-top: 0;
	}
	.top-living-copy{
		margin-top: 10px;
		font-size: 1.4rem;
	}

	.spring-grid-item:nth-of-type(3),
	.autumn-grid-item:nth-of-type(3){
		width: 60%;
		margin-left: auto;
	}
	.top-summer-grid{
		padding-top: 40px;
		grid-template-columns: 1fr;
		gap: 0;
		background: url(../images/home/summer-bg-sp.png) no-repeat top center;
		background-size: 100%;
	}
	.top-summer-grid .item-wrapper{
		margin-left: 0;
		padding: 0;
	}
	.summer-text{
		margin: 0 0 24px 5%;
	}
	.top-summer-grid > .summer-grid-item{
		margin-top: 40px;
		width: 85%;
		margin-left: auto;
	}
	.top-summer{
		max-width: 150px;
	}
	.fireworks-grid{
		gap: 12px;
	}
	.fireworks-grid .summer-grid-item{
		margin-top: 24px;
	}
	.top-winter-grid{
		margin-top: 0;
		grid-template-columns:1fr;
		gap: 25px;
	}
	.winter-grid-item:nth-of-type(1){
		grid-column: auto;
	}
	.winter-grid-item:nth-of-type(2){
		width: 60%;
		margin-right: auto;
	}
	.winter-grid-item:nth-of-type(3){
		grid-row: 1/2;
		padding-left: 16px;
	}
	.top-winter{
		max-width: 130px;
	}
	.top-content .top-heading{
		max-width: 100px;
	}
	.top-content-list{
		gap: 5px;
		justify-content: flex-start
	}
	.top-content-item{
		width: calc(100%/2 - 5px/2);
	}
	.top-content-note{
		margin-top: 5px;
		padding-top: 10px;
		font-size: 1.1rem;
	}
	.top-locaiton-video{
		margin-top: 25px;
		width: 100%;
	}
}

/*--------------------------------
lp
--------------------------------*/
.lp-wrapper{
	margin-top: 80px;
	padding-bottom: 60px;
}
.lp-inner{
	background-image: url(../images/lp/bg.jpg);
	background-size: cover;
}
.lp .inner01{
	padding: 50px 0;
	margin: 0 auto;
	width: calc(100% - 32px);
	max-width: 1100px;
}
.lp .inner02{
	margin: -10% 0 20px;
	width: 430px;
}
.lp .main-content .inner{
	margin: 0 auto;
	padding: 50px 0 0;
	width: calc(100% - 32px);
	max-width: 900px;
}
.lp-inner02{
	background-color: #DDF6EE;
	padding-bottom: 60px;
}
.lp .inner03{
	padding: 30px 0 0;
	margin: 0 auto;
	width: 400px;
}
.lp .inner04{
	margin: -36px auto 0;
	bottom: 20px;
	width: calc(100% - 32px);
	max-width: 320px;
	position: relative;
}
.lp .banner-space{
	padding: 40px 0;
}

@media screen and (max-width: 767px){
	.lp-wrapper{
		margin-top: 61px;
		padding-bottom: 10px;
	}
	.lp .inner01{
		padding: 30px 0 ;
	}
	.lp .inner02{
		margin: 20px auto 0;
		width: 100%;

	}
	.lp .main-content .inner{
		padding: 30px 0 0;
	}
	.lp-inner02{
		padding-bottom: 20px;
	}
	.lp .inner03{
		padding: 30px 0;
		width: 90%;
	}
	.lp .inner04{
		margin: -40px auto 0;
		bottom: 25px;
		width: calc(100% - 32px);
		max-width: 80%;
	}
}

/*--------------------------------
project
--------------------------------*/
.project {
    position: relative;
}
.bgArea{
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background: #000;
}
@media screen and (max-width: 736px){
    .bgArea{
        height: 100vh;
    }
}
.bgArea.fitToTop{
    position: absolute;
}
.bgArea.fitToBottom{
    position: absolute;
    top: auto;
    bottom: 0;
}
.bgArea .bg{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: 50% 50% / cover no-repeat;
    opacity: 0;
    -webkit-transition: opacity 1.6s;
    -o-transition: opacity 1.6s;
    transition: opacity 1.6s;
}
.bgArea .bg.active{
    opacity: 1;
}
.bgArea .bg.bg00{
    background-image: url("../images/project/project1.jpg");
}
@media screen and (max-width: 736px){
    .bgArea .bg.bg00{
        background-image: url("../images/project/project1-sp.jpg");
    }
}
.bgArea .bg.bg01{
    background-image: url("../images/project/project2.jpg");
}
@media screen and (max-width: 736px){
    .bgArea .bg.bg01{
        background-image: url("../images/project/project2-sp.jpg");
    }
}
.bgArea .bg.bg02{
    background-image: url("../images/project/project3.jpg");
}
@media screen and (max-width: 736px){
    .bgArea .bg.bg02{
        background-image: url("../images/project/project3-sp.jpg");
    }
}
.bgArea .bg.bg03{
    background-image: url("../images/project/project4.jpg");
}
@media screen and (max-width: 736px){
    .bgArea .bg.bg03{
        background-image: url("../images/project/project4-sp.jpg");
    }
}
.bgArea .bg.bg04{
    background-image: url("../images/project/project5.jpg");
}
@media screen and (max-width: 736px){
    .bgArea .bg.bg04{
        background-image: url("../images/project/project5-sp.jpg");
    }
}


.scrollArea{
    position: relative;
}

.scrollArea .section{
    color: #fff;
}
.scrollArea .section .wrap{
    width: auto;
    padding: 0 5%;
}


.scrollArea .section .wrap h2{
    font-size: 3rem;
    letter-spacing: 0.2em;
    line-height: 2;
    margin: 4em 0;
}

.scrollArea .section .wrap h3{
    font-size: 2.4rem;
    letter-spacing: 0.2em;
    line-height: 2;
    margin: 4em 0;
}

.scrollArea .section .wrap p{
    font-size: 18px;
    letter-spacing: 0.2em;
    line-height: 3;
    margin: 4em 0;
}
.scrollArea .section .wrap p span{
    font-size: 1rem;
    letter-spacing: 0;
    line-height: 1;
    display: block;
}
.scrollArea .section .wrap p a{
    color: #fff;
    text-decoration: underline;
}

.scrollArea .section00{
    padding: 30vh 0 20vh 0;
    position: relative;
    text-align: center;
}

.scrollArea .section00 figure{
    max-width: 1000px;
    width: 85%;
    margin: auto;
}

.scrollArea .section01{
    margin: 50vh 0 0;
}

.scrollArea .section02{
    margin: 483px 0 0;
}

.scrollArea .section03{
    margin: 503px 0 0;
}

.scrollArea .section04{
    margin: 573px 0 0;
    padding: 0 0 299px;
}

@media screen and (max-width: 736px){
    .scrollArea .section .wrap{
        padding: 0;
    }
    
    .scrollArea .section .wrap h2{
        font-size: 6vw;
        text-shadow: 0 0 0.2em #000, 0 0 0.4em #000, 0 0 0.8em #000;
    }
    
    .scrollArea .section .wrap h3{
        font-size: 5vw;
        text-shadow: 0 0 0.2em #000, 0 0 0.4em #000, 0 0 0.8em #000;
    }
    
    .scrollArea .section .wrap p{
        font-size: 4vw;
        line-height: 1.86667;
        text-shadow: 0 0 0.2em #000, 0 0 0.4em #000, 0 0 0.8em #000;
    }
    
    .scrollArea .section00{
        padding: 30vh 0 20vh 0;
    }
    .scrollArea .section01{
        margin: 95.6vw 0 0;
        text-align: center;
    }
    .scrollArea .section02{
        margin: 94.26667vw 0 0;
        text-align: center;
    }
    .scrollArea .section03{
        margin: 110.8vw 0 0;
        text-align: center;
    }
    .scrollArea .section04{
        margin: 113.73333vw 0 0;
        padding: 0 0 86.26667vw;
        text-align: center;
    }
}



/*--------------------------------
brand
--------------------------------*/
#brand{
    margin: 125px 0 0 0;
    padding: 100px 0 0 0;
    background-image: url("../images/brand/brand-bg.jpg");
    background-size: 100%;
    background-position: center top;
    background-repeat: no-repeat;
    color: #727171;
}
#brand h2.title{
    text-align: center;
    font-size: 6rem;
    color: #143851;
    font-family: trajan-pro-3, serif;
    font-weight: 400;
    margin-bottom: 150px;
}
#brand dl.dl1{
    margin-bottom: 30px;
}
#brand dl.dl1 dt{
    width: 90%;
    max-width: 430px;
    margin: auto;
    margin-bottom: 70px;
}
#brand dl.dl1 dd{
    text-align: center;
}
#brand dl.dl1 dd span{
    display: inline-block;
    font-size: 4rem;
    color: #0f99a4;
}
#brand dl.dl1 dd em{
    display: block;
    font-style: normal;
    text-align: right;
    font-size: 1.1rem;
    color: #727171;
    margin-top: 5px;
}
#brand .p1a{
    max-width: 1000px;
    width: 90%;
    margin: auto;
}
#brand .p1a h3{
    background: #f5f9fc;
    text-align: center;
    font-size: 3.6rem;
    padding: 15px 0;
    margin-bottom: 40px;
}
#brand .p1b{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 75px;
}
#brand .p1b dl{
    width: 49%;
    margin-bottom: 2%;
}
#brand .p1b dd{
    padding: 10px 0;
    font-size: 1.8rem;
    line-height: 1.5;
    text-align: center;
}
#brand .p1b:nth-of-type(1) dl{
    width: 32%;
}
#brand dl.dl2{
    text-align: center;
    line-height: 1.7;
    margin-bottom: 70px;
}
#brand dl.dl2 dt{
    font-size: 4.6rem;
}
@media screen and (max-width: 1000px){
    #brand dl.dl2 dt{
        font-size: 5vw;
    }
}
#brand dl.dl2 dd{
    font-size: 2rem;
    margin-top: 2em;
}
#brand .p1c{
    background: #f5f9fc;
    padding: 80px 0 120px 0;
}
#brand .p1c .fig1{
    width: 255px;
    margin: auto;
}
#brand .p1c dl{
    text-align: center;
    line-height: 1.7;
    margin: 70px 0;
}
#brand .p1c dt{
    font-size: 4rem;
}
#brand .p1c dd{
    font-size: 2rem;
    margin-top: 2em;
}
#brand .p1c .fig2{
    max-width: 820px;
    width: 90%;
    margin: auto;
}
@media screen and (max-width: 736px){
    #brand{
        margin: 60px 0 0 0;
        padding: 10% 0 0 0;
        background-image: url("../images/brand/brand-bg-sp.jpg");
    }
    #brand h2.title{
        font-size: 7vw;
        margin-bottom: 15%;
    }
    #brand dl.dl1{
        margin-bottom: 30px;
    }
    #brand dl.dl1 dt{
        width: 55%;
        max-width: 380px;
        margin-bottom: 5%;
    }
    #brand dl.dl1 dd span{
        font-size: 5.5vw;
        line-height: 1.5;
    }
    #brand dl.dl1 dd em{
        font-size: 1.1rem;
        width: 40%;
        margin: auto;
    }
    #brand .p1a h3{
        font-size: 4vw;
        padding: 12px 0;
        margin-bottom: 5%;
    }
    #brand .p1b{
        margin-bottom: 5%;
    }
    #brand .p1b dl{
        width: 100%;
        margin-bottom: 3%;
    }
    #brand .p1b dd{
        padding: 10px 0;
        font-size: 3vw;
        text-align: left;
    }
    #brand .p1b:nth-of-type(1) dl{
        width: 47%;
    }
    #brand .p1b:nth-of-type(1) dl dd{
        text-align: center;
        line-height: 1.3;
    }
    #brand dl.dl2{
        margin-bottom: 10%;
    }
    #brand dl.dl2 dt{
        font-size: 4.7vw;
    }
    #brand dl.dl2 dd{
        font-size: 3.5vw;
    }
    #brand .p1c{
        padding: 10% 0;
    }
    #brand .p1c .fig1{
        width: 175px;
        margin: auto;
    }
    #brand .p1c dl{
        margin: 10% 0;
        line-height: 1.5;
    }
    #brand .p1c dt{
        font-size: 5vw;
    }
    #brand .p1c dd{
        font-size: 3.5vw;
    }
}

/*--------------------------------
form
--------------------------------*/
.outline-box{
	padding: 32px;
	margin: 0 auto;
	max-width: 600px;
	width: 100%;
	background: #847A4C;
	color: #fff;
}
.outline-box dl{
	padding: 16px 0;
	display: flex;
	border-top: 1px solid #fff;
	font-size: 1.6rem;
	line-height: 1.3;
}
.outline-box dt{
	width: 8em;
	flex-shrink: 0;
}
.outline-box dl{
	display: flex;
}
.outline-box dl dd a{
	display: inline-block;
	background: #fff;
	color: #847A4C;
	margin-top: 12px;
	padding: .8em 2em;

}
.outline-box dl dd p{
	line-height: 1.6;
}
.attend div{
	margin-bottom: 10px;
	padding-bottom: 20px;
}
.attend div:last-child{
	padding-bottom: 0;
}
@media screen and (max-width: 767px){
	.outline-box{
		padding: 20px 16px;
	}
	.outline-box dl{
		padding: 16px 0;
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
}

.interest-wrap .flex-wrapper{
	flex-direction: column;
}
.step-wrapper{
	margin: 48px 0 32px;
	gap: 8px;
}
.step-item{
	margin-right: 24px;
	padding: 0 16px;
	height: 50px;
	position: relative;
	flex: 1;
	background: #eee;
	color: #a4a4a4;
	font-size: 1.6rem;
	line-height: 50px;
	white-space: nowrap;
}
.step-item::after{
	width: 0;
	height: 0;
	display: block;
	position: absolute;
	top: 0;
	right: -24px;
	content: "";
	border-style: solid;
	border-width: 25px 0 25px 24px;
	border-color: transparent transparent transparent #eee;
}
.step-item.current{
	background: #333;
	color: #fff;
}
.step-item.current::after{
	border-color: transparent transparent transparent #333;
}
@media screen and (max-width: 767px){
	.step-item{
		margin: 0 0 12px;
		width: 100%;
		flex: 1 1 100%;
	}
	.step-item::after{
		top: auto;
		bottom: -12px;
		right: auto;
		left: 50%;
		border-width: 12px 16px 0 16px;
		border-color: #eee transparent transparent transparent;
		transform: translateX(-50%);
	}
	.step-item.current::after{
		border-color: #333 transparent transparent transparent;
	}
}
.detail-box{
	padding: 0 16px;
	border: 2px solid #333;
}
.form-table{
	margin: 48px 0;
	width: 100%;
}
.form-table th,
.form-table td{
	padding: 16px 0;
	font-size: 1.6rem;
	line-height: 1.4;
	border-bottom: 1px solid #ddd;
}
.form-table th{
	width: 294px;
	position: relative;
	text-align: left;
	vertical-align: middle;
}
@media screen and (max-width: 767px){
	.form-table{
		margin: 24px 0;
	}
	.form-table th,
	.form-table td{
		width: 100%;
		display: block;
	}
}
.form-group{
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid #ddd;
}
.form-group:last-child{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.form-group-title{
	margin-bottom: .4em;
	padding: 8px;
	background: #eee;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.4;
}
.checkbox-label{
	margin: 8px 32px 8px 0;
	display: flex;
	align-items: center;
	gap: 4px;
	cursor: pointer;
}
.form-label{
	width: 100px;
	white-space: nowrap;
	text-align: right;
}
@media screen and (max-width: 767px){
	.form-label{
		margin-top: 24px;
		width: auto;
		text-align: left;
	}
	.form-parts:first-child .form-label{
		margin-top: 0;
	}
}
.checkbox-input{
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	margin-top: 2px;
}
.announce{
	margin-bottom: 32px;
	padding: 24px 16px;
	border: 1px solid #ddd;
}
.accept-check{
	margin: 0 auto;
	padding: 16px;
	max-width: 400px;
	justify-content: center;
	font-size: 1.8rem;
}

/*--------------------------------
limited
--------------------------------*/
.limited-site{
	color: #727171;
}
.limited-bg{
	background: url(../images/home/area1-bg.jpg) no-repeat center bottom;
	background-size: cover;
}
.page-lead{
	font-size: 2rem;
	line-height: 1.4;
}
.is-border-bottom{
	margin: 0 auto 32px;
	padding-bottom: 32px;
	max-width: 900px;
	border-bottom: 1px solid #0f9aa5;
}
@media screen and (max-width: 767px){
	.page-lead{
		font-size: 1.6rem;
	}
	.is-border-bottom{
		margin: 0 auto 16px;
		padding-bottom: 16px;
	}
}
.login-box{
	margin: 0 auto;
	padding: 40px 24px;
	max-width: 1000px;
	background: #87c2cc;
	color: #fff;
}
.login-title{
	max-width: 119px;
}
.login-label{
	margin: .8em 0;
	display: block;
	font-size: 2.4rem;
	line-height: 1.3;
}
@media screen and (max-width: 767px){
	.login-title{
		max-width: 90px;
	}
	.login-label{
		margin-top: 24px;
		font-size: 1.4rem;
	}
}
.login-btn{
	height: 46px;
	background: #0b8393;
}
@media screen and (max-width: 767px){
	.login-btn{
		margin-top: 12px;
		height: 40px;
		width: 100%;
	}
}
.login-btn:hover{
	opacity: .6;
}
.error-text{
	margin: 8px auto 0;
	padding: 8px;
	max-width: 350px;
	display: block;
	background: #f33;
	font-size: 1.8rem;
	border-radius: 20px;
}
@media screen and (max-width: 767px){
	.error-text{
		font-size: 1.4rem;
	}
}
.is-login .page-heading{
	padding-bottom: 16px;
	font-family: garamond-premier-pro-display, serif;
	font-size: 5rem;
	color: #0f9aa5;
	letter-spacing: .05em;
}
.limited-menu{
	margin-top: 80px;
	margin-bottom: -4%;
	justify-content: space-between;
}
.limited-menu-wrap{
	margin: 0 auto;
	width: calc(100% - 32px);
	max-width: 1100px;
}
.life .limited-menu,
.vacation .limited-menu,
.location .limited-menu{
	margin-top: 0;
	justify-content: center;
}
.limited-menu .flex-item{
	width: 48%;
	margin-bottom: 4%;
}
@media screen and (max-width: 767px){
	.is-login .page-heading{
		font-size: 2.6rem;
	}
	.limited-menu{
		margin-top: 40px;
		display: block;
	}
	.limited-menu .flex-item{
		margin-top: 16px;
		width: 100%;
	}
}
.menu-link{
	padding-bottom: 32px;
	display: block;
	background: #87c2cc;
	color: #fff;
	position: relative;
	transition: box-shadow .8s ease-in-out, background .4s ease-in-out;
}
@media screen and (max-width: 767px){
	.menu-link img{
		width: 75%;
	}
}
.menu-link.new-label::before{
	content: 'NEW';
	position: absolute;
	top: 0;
	left: 0;
	background: #D93294;
	padding: 4px 12px;
	font-size: 2rem;
}
@media screen and (max-width: 767px){
	.menu-link.new-label::before{
		padding: 1% 3%;
		font-size: 3.5vw;
	}
}
.menu-thumb{
	height: 146px;
	content: "";
	position: relative;
	background: #143851;
	overflow: hidden;
}
.menu-thumb::after{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	content: "";
	background-repeat: no-repeat;
	background-position: center center;
	transition: transform .8s ease-in-out, opacity .4s ease-in-out;
}
.menu-location .menu-thumb::after{
	background-image: url(../images/limited/menu-location.jpg);
	background-size: cover;
}
.menu-life .menu-thumb::after{
	background-image: url(../images/limited/menu-life.jpg);
	background-size: cover;
}
.menu-plan .menu-thumb::after{
	background-image: url(../images/limited/menu-plan.jpg);
	background-size: cover;
}
.menu-view .menu-thumb::after{
	background-image: url(../images/limited/menu-view.jpg);
	background-size: cover;
}
.menu-link:hover{
	background: #a2d2db;
	box-shadow: 1px 1px 16px rgba(0,0,0,.4);
}
.menu-link:hover .menu-thumb::after{
	transform: scale(1.2);
	opacity: .6;
}
.menu-text{
	padding: 32px 0 16px;
	font-size: 1.9rem;
}
.arrow{
	margin: 16px auto 0;
	width: 100px;
	height: 10px;
	display: block;
	position: relative;
	content: "";
}
.arrow::before{
	width: 100px;
	height: 1px;
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	content: "";
	background-color: #fff;
	animation: movearrow 2s ease infinite;
}
.arrow::after{
	width: 1px;
	height: 20px;
	display: block;
	position: absolute;
	right: 0;
	bottom: 1px;
	content: "";
	background-color: #fff;
	transform-origin: right bottom;
	transform: rotate(-45deg);
	animation: movearrow2 2s ease infinite;
	will-change: right, height;
}
@keyframes movearrow {
	0% {
		width: 0;
		right: 100px;
	}
	50% {
		width: 100px;
		right: 0px;
	}
	100% {
		width: 0;
		right: 0px;
	}
}
@keyframes movearrow2 {
	0% {
		height: 10px;
		bottom: 1px;
		right: 100px;
	}
	50% {
		height: 20px;
		bottom: 1px;
		right: 0;
	}
	100% {
		height: 0;
		bottom: 1px;
		right: 0;
	}
}
.view-section{
	padding-top: 21.5vw;
	position: relative;
	background: url(../images/view/view-mv.jpg) no-repeat center top;
	background-size: 100% auto;
}
.view-section .facade-design{
	padding-top: 80px;
}
.view-section > .caption{
	position: absolute;
	right: 8px;
	top: 24vw;
}
.view-section .large-text{
	font-size: 4rem;
}
.view-lead{
	font-size: 2.4rem;
	line-height: 2;
}
.view-lead::after{
	margin: 16px auto;
	width: 1px;
	height: 60px;
	display: block;
	content: "";
	background: #0f9aa5;
}
.exterior-wrap{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.exterior-wrap .caption{
	position: absolute;
	bottom: 4px;
	right: 12px;
	color: #fff;
}
.exterior-point{
	display: flex;
	justify-content: space-between;
	max-width: 1000px;
	width: 100%;
	margin: 40px auto 0;
}
.exterior-point-item{
	width: calc(100%/3 - 20px);
	background: #0F9AA5;
	color: #fff;
	font-size: 2rem;
	line-height: 1.3;
	padding: 20px 0 16px;
}
.exterior-point-item .min-copy{
	font-size: 80%;
	letter-spacing: .1em;
}
.exterior-point-item .large-txt{
	font-size: 152%;
}
.exterior-point-item:last-child .large-txt{
	font-size: 120%;
	margin-top: 6px;
}
.view-bg{
	background: #D3E8EC;
}
.facade-design{
	text-align: center;
	padding: 0 16px 0;
}
.facade-design .page-heading{
	position: relative;
}
.facade-design .page-heading::before{
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,0);
	width: 73px;
	height: 1px;
	background: #0F8893;
}
.facade-design .view-lead{
	font-size: 1.8rem;
}
.facade-design .view-lead::after{
	display: none;
}
.living-view{
	position: relative;
}
.general-section .inner.living-view{
	padding-bottom: 10px;
}
.living-view::before{
	content: "";
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translate(-50%,0);
	height: 60px;
	width: 1px;
	display: block;
	background: #0f9aa5;
}
.living-view .page-heading{
	margin-bottom: 0;
}
.living-view .secondary-heading{
	margin-bottom: 2.5em;
}
.view-bg:last-child .secondary-heading{
	margin-bottom: 1.2em;
}
@media screen and (max-width: 900px){
	.exterior-point-item{
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 767px){
	.view-section{
		padding-top: 19vw;
	}
	.view-lead{
		font-size: 1.5rem;
	}
	.view-section .large-text {
		font-size: 2.4rem;
	}
	.view-lead::after{
		height: 34px;
	}
	.exterior-point{
		margin: 20px auto 0;
		flex-direction: column;
		gap: 10px;
	}
	.exterior-point-item{
		max-width: 400px;
		width: 100%;
		margin: 0 auto;
	}
	.facade-design .page-heading::before{
		width: 40px;
	}
	.facade-design .view-lead{
		font-size: 1.3rem;
	}
	.facade-design{
		padding-bottom: 40px;
	}
	.living-view::before{
		top: -17px;
		height: 34px;
	}
	.exterior-wrap{
		margin-top: 20px;
	}
	.view-section .facade-design{
		padding-top: 32px;
	}
}
.swiper-container{
	position: relative;
}
.swiper-slide{
	margin-right: -0.5px;
}
.swiper-button-prev{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 34px 32px 34px 0;
	border-color: transparent #fff transparent transparent;
	left: 2%;
	margin-top: -40px;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after{
	display: none;
}
.swiper-button-next{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 34px 0 34px 32px;
	border-color: transparent transparent transparent #fff;
	right: 2%;
	margin-top: -40px;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after{
	display: none;
}
.swiper-container + .caption{
	margin-right: 8px;
}
@media screen and (max-width: 1100px){
	.view-images .img-wrapper:nth-child(5){
		display: none;
	}
}
@media screen and (max-width: 870px){
	.view-images .img-wrapper:nth-child(4){
		display: none;
	}
}
@media screen and (max-width: 767px){
	.view-images .cap-box{
		zoom: .56;
	}
	.swiper-button-prev{
		margin-top: -20px;
		left: 3%;
		border-width: 20px 16px 20px 0;
	}
	.swiper-button-next{
		margin-top: -20px;
		right: 3%;
		border-width: 20px 0 20px 16px;
	}
	.view-bg:last-child .secondary-heading{
		margin-bottom: 0.8em;
	}
	.general-section .inner.living-view{
		padding-bottom: 30px;
	}
}
.limited-info{
	margin: 60px auto 0;
	max-width: 1000px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #5aa1a8;
}
.limited-info-item{
	display: flex;
	flex-flow: column;
	justify-content: center;
}
.limited-info-item:first-child{
	width: 35%;
	border-right: 1px solid #5aa1a8;
	background: #ddeef1;
	align-items: center;
}
.limited-info-item:last-child{
	padding: 20px 16px;
	width: 65%;
	background: #fff;
}
@media screen and (max-width: 767px){
	.limited-info-item:first-child{
		width: 100%;
		padding: 20px 0;
		border-right: none;
		border-bottom: 1px solid #5aa1a8;
		align-items: center;
	}
	.limited-info-item:last-child{
		padding: 20px 16px;
		width: 100%;
		background: #fff;
	}
}
.limited-info-en{
	margin-bottom: 8px;
	font-size: 2.6rem;
	font-weight: 300;
	letter-spacing: 0.25em;
}
.limited-info-jp{
	font-size: 1.6rem;
}
@media screen and (max-width: 767px){
	.limited-info-en{
		margin-bottom: 8px;
		font-size: 2.2rem;
	}
	.limited-info-jp{
		font-size: 1.4rem;
	}
}
.limited-info-lists{
	text-align: left;
}
.limited-info-list{
	margin-bottom: 12px;
	font-size: 1.6rem;
	line-height: 1.5;
	padding-left: 1em;
	text-indent: -1em;
}
@media screen and (max-width: 767px){
	.limited-info-list{
		margin-bottom: 12px;
		font-size: 1.4rem;
	}
}
.limited-info-list:last-child{
	margin-bottom: 0;
}

/*--------------------------------
limited plan
--------------------------------*/
.limited-plan-bg{
	background: url(../images/limited/limited-plan-bg.jpg) no-repeat top ;
	background-size: 100%;
}
.lplan-items{
	margin: 0 -20px;
}
.lplan-item:first-child{
	margin: 0 20px;
	width: calc(100% / 4 * 1.2 - 40px);
}
@media screen and (max-width: 900px){
	.lplan-item:first-child{
		margin: 0 20px 40px;
		width: calc(100% - 40px);
	}
}
.lplan-item:last-child{
	margin: 0 20px;
	width: calc(100% / 4 * 2.8 - 40px);
}
@media screen and (max-width: 900px){
	.lplan-item:last-child{
		margin: 0 20px;
		width: calc(100% - 40px);
	}
}
.lplan-heading{
	margin-bottom: 65px;
	padding: 8px 0;
	background: #c3e6e8;
	color: #0f9aa5;
	font-size: 3rem;
	font-family: garamond-premier-pro-display, serif;
}
@media screen and (max-width: 900px){
	.lplan-heading{
		margin-bottom: 52px;
	}
}
@media screen and (max-width: 450px){
	.lplan-heading{
		margin-bottom: 38px;
		font-size: 2rem;
	}
}
.lplan-lists{
	margin: 0 -8px -20px;
}
.lplan-list{
	margin: 0 8px 60px;
	width: calc(100% / 3 - 16px);
	position: relative;
}
@media screen and (max-width: 650px){
	.lplan-list{
		margin: 0 8px 20px;
		width: calc(100% / 2 - 16px);
	}
}
.lplan-list-lead{
	position: absolute;
	width: 100%;
	z-index: 1;
	top: 0;
	left: 0;
	transform: translateY(-100%);
	font-size: 1.4rem;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	letter-spacing: -.09rem;
}
.lplan-list-lead .layout{
	width: 100%;
	padding: 13px 0;
	background-color: #cfebed;
	color: #1e374f;
	align-items: center;
	justify-content: center;
}
.lplan-list-lead01 .layout{
	width: 64%;
}
.lplan-list-lead01 .henrei{
	padding: 13px 0;
	color: #fff;
	background-color: #1e374f;
	width: 36%;
	align-items: center;
	justify-content: center;
}
@media screen and (max-width: 1185px){
	.lplan-list-lead{
		font-size: 1.1rem;
	}
}
@media screen and (max-width: 900px){
	.lplan-list-lead{
		display: block;
		font-size: 1.2rem;
	}
	.lplan-list-lead .layout,
	.lplan-list-lead01 .layout,
	.lplan-list-lead01 .henrei{
		padding: 5px 0;
		width: 100%;
	}
	.lplan-list{
		margin: 0 8px 59px;
	}
}





.lplan-list-link{
	display: block;
	padding: 20px;
	border: 1px solid #0f9aa5;
}
@media screen and (max-width: 450px){
	.lplan-list-link{
		padding: 12px;
	}
}
.lplan-list-link:hover .lplan-more{
	background: #fff;
	color: #0f9aa5;
}
.lplan-list-link:hover .lplan-more::after{
	border-top: solid 1px#0f9aa5;
	border-right: solid 1px #0f9aa5;
}
.lplan-name{
	padding-bottom: 12px;
	margin-bottom: 20px;
	font-size: 3rem;
	font-family: garamond-premier-pro-display, serif;
	color: #0f9aa5;
	border-bottom: 1px solid #0f9aa5;
}
@media screen and (max-width: 450px){
	.lplan-name{
		padding-bottom: 8px;
    margin-bottom: 12px;
		font-size: 1.8rem;
	}
}
.lplan-more{
	padding: 8px 0;
	font-size: 1.8rem;
	line-height: 1;
	color: #fff;
	background: #0f9aa5;
	position: relative;
	border: 1px solid #0f9aa5;
	font-family: garamond-premier-pro-display, serif;
	transition: .3s;
}
@media screen and (max-width: 450px){
	.lplan-more{
		padding: 4px 0;
		font-size: 1.2rem;
	}
}
.lplan-more::after{
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	border: 0px;
	border-top: solid 1px#fff;
	border-right: solid 1px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform:rotate(45deg);
	position: absolute;
	top: 50%;
	right: 6%;
	margin-top: -5px;
}
@media screen and (max-width: 450px){
	.lplan-more::after{
		width: 6px;
		height: 6px;
		margin-top: -4px;
	}
}
.lplan-types{
	margin-bottom: 16px;
	color:#727171;
}
@media screen and (max-width: 450px){
	.lplan-types{
		margin-bottom: 12px;
	}
}
.lplan-type{
	margin-bottom: 12px;
	font-size: 4rem;
	font-family: garamond-premier-pro-display, serif;
}
@media screen and (max-width: 1175px){
	.lplan-type{
		font-size: 3.6rem;
	}
}
@media screen and (max-width: 450px){
	.lplan-type{
		font-size: 2.4rem;
		margin-bottom: 8px;
	}
}
.lplan-num{
	padding: 0 16px;
	font-size: 3.2rem;
	text-align: left;
	white-space: nowrap;
}
@media screen and (max-width: 1175px){
	.lplan-num{
		font-size: 2.6rem;
	}
}
@media screen and (max-width: 1000px){
	.lplan-num{
		padding: 0;
		max-width: 150px;
		width: 100%;
    margin: 0 auto;
	}
}
@media screen and (max-width: 450px){
	.lplan-num{
		max-width: 125px;
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 374px){
	.lplan-num{
		font-size: 1.6rem;
	}
}
.lplan-num-head{
	text-align: left;
	margin: 0 auto 4px;
	width: 100%;
	font-size: 1.4rem;
	display: block;
}
@media screen and (max-width: 450px){
	.lplan-num-head{
		font-size: 1rem;
	}
}
.lplan-num-cap{
	font-size: 1.4rem;
}
@media screen and (max-width: 1175px){
	.lplan-num-cap{
		font-size: 1rem;
	}
}
.lplan-has-cs .lplan-list-link{
	pointer-events: none;
	position: relative;
	opacity: .2;
}
.lplan-cs{
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0f9aa5;
	font-size: 2.8rem;
	line-height: 1.3;
	font-family: garamond-premier-pro-display, serif;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 450px){
	.lplan-cs{
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 900px){
	.lplan-table-wrap{
		margin: 0 auto;
		width: 80%;
	}
}
@media screen and (max-width: 374px){
	.lplan-table-wrap{
		width: 95%;
	}
}
.lplan-table{
	font-size: 1.8rem;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight: 300;
	color: #595757;
	width: 100%;
	table-layout: fixed;
}
@media screen and (max-width: 900px){
	.lplan-table{
		font-size: 1.6rem;
	}
}
.attention-label{
	margin: 16px 0 0 50px;
	padding: 8px;
	font-size: 2rem;
	color: rgb(255, 130, 130);
	text-align: center;
	border: 1px solid;
}
.lplan-table th,
.lplan-table td{
	padding: 9.6px 0;
	vertical-align: middle;
}
@media screen and (max-width: 900px){
	.lplan-table th,
	.lplan-table td{
		padding: 4px 0;
	}
}
.lplan-table td{
	background: #e7f5f6;
	border: 1px solid #57b8c0;
	transition: .3s;
}
.lplan-table th{
	border-bottom: 1px solid #0f9aa5;
	font-weight: 300;
	width: 50px;
}
.lplan-table tr:last-child th{
	border-bottom: none;
}
.lplan-table-1f{
	font-size: 1rem;
	color: #0f9aa5;
	background: #cae9eb;
}
.lplan-table tr.lplan-table-under td{
	background: #cae9eb;
}
.lplan-table td.active{
	color: #fff;
	background: #0f9aa5;
}
/*--------------------------------
limited  plan detail
--------------------------------*/
@media screen and (min-width: 1400px){
	.plan-detail .limited-plan-bg{
		background-position:center -130px;
	}
}
@media screen and (min-width: 1500px){
	.plan-detail .limited-plan-bg{
		background-position:center -160px;
	}
}
@media screen and (min-width: 1600px){
	.plan-detail .limited-plan-bg{
		background-position:center -160px;
	}
}
@media screen and (min-width: 1700px){
	.plan-detail .limited-plan-bg{
		background-position:center -160px;
	}
}
@media screen and (min-width: 1800px){
	.plan-detail .limited-plan-bg{
		background-position:center -200px;
	}
}
@media screen and (min-width: 2000px){
	.plan-detail .limited-plan-bg{
		background-position:center -280px;
	}
}
@media screen and (min-width: 2200px){
	.plan-detail .limited-plan-bg{
		background-position:center -280px;
	}
}

.plan-detail .general-section .inner{
	padding-bottom: 16px;
	max-width: 600px;
}
.ldetail-head{
	margin-bottom: 40px;
}
@media screen and (max-width: 767px){
	.ldetail-head{
		margin-bottom: 24px;
	}
}
.ldetail-values{
	align-items: flex-start;
	justify-content: space-between;
}
@media screen and (max-width: 767px){
	.ldetail-values{
		flex-wrap: wrap;
	}
}
.ldetail-value:first-child{
	width:50%;
}
@media screen and (max-width: 767px){
	.ldetail-value:first-child{
		margin-bottom: 16px;
		width:100%;
	}
}
.ldetail-value:last-child{
	width: 47%;
}
@media screen and (max-width: 767px){
	.ldetail-value:last-child{
		width: 100%;
	}
}
.ldetail-types{
	justify-content: space-between;
	align-items: center;
}
@media screen and (max-width: 767px){
	.ldetail-types{
		justify-content: flex-start;
	}
}
.ldetail-name{
	padding: 8px 16px 2px;
	font-size: 4rem;
	background: #87c2cc;
	color: #fff;
	font-family: garamond-premier-pro-display, serif;
}
@media screen and (max-width: 767px){
	.ldetail-name{
		margin-right: 12px;
	}
}
.ldetail-type{
	font-size: 4rem;
	color: #0f9aa5;
	font-family: garamond-premier-pro-display, serif;
}
.ldetail-points{
	margin-bottom: 40px;
}
@media screen and (max-width: 767px){
	.ldetail-points{
		margin-bottom: 32px;
	}
}
.ldetail-lead-hensai{
	margin-bottom: 35px;
}
.ldetail-point{
	margin: 0.8em 0 ;
	padding-left: 24px;
	position: relative;
	font-size: 1.4rem;
	line-height: 1.3;
}
.ldetail-point::before {
	content: "";
	width: 14px;
	height: 14px;
	position: absolute;
	top: 2px;
	left: 0;
	display: inline-block;
	background: #87c2cc;
	vertical-align: middle;
}
.ldetail-num{
	font-size: 1.4rem;
	line-height: 1.3;
}
.ldetail-num .large-text{
	font-size: 200%;
}
.ldetail-body{
	margin-bottom: 50px;
}
@media screen and (max-width: 767px){
	.ldetail-body{
		margin-bottom: 25px;
	}
}
.ldetail-cap{
	text-align: left;
	font-size: 1rem;
	line-height: 1.5;
}
.btn-wrap{
	margin: 0 auto 40px;
	max-width: 400px;
	width: 100%;
}
.btn-wrap-lists{
	margin: 0 -16px;
	justify-content: center;
}
.btn-wrap-list{
	margin: 0 16px;
	width: calc(100% / 2 - 32px);
}
@media screen and (max-width: 767px){
	.btn-wrap-lists{
		margin: 0 -8px;
		justify-content: center;
	}
	.btn-wrap-list{
		margin: 0 8px;
		width: calc(100% / 2 - 16px);
	}
}

.print-btn{
	position: relative;
	text-align: center;
	padding: 8px 0;
	font-size: 1.8rem;
	width: 100%;
	display: block;
	background: #727171;
	color: #fff;
}
.print-btn::before {
	content: "";
	position: absolute;
	top: 6px;
	left: 18%;
	display: inline-block;
	background-image: url(../images/limited/print.svg);
	background-size: 85%;
	width: 25px;
	height: 25px;
	vertical-align: middle;
	background-repeat: no-repeat;
}
@media screen and (max-width: 374px){
	.print-btn::before {
		left: 15%;
	}
}
.close-btn{
	position: relative;
	text-align: center;
	padding: 8px 0;
	font-size: 1.8rem;
	width: 100%;
	display: block;
	background: #727171;
	color: #fff;
}
.close-btn::before {
	content: "";
	position: absolute;
	top: 6px;
	left: 23%;
	display: inline-block;
	background-image: url(../images/limited/close.svg);
	background-size: 85%;
	width: 25px;
	height: 25px;
	vertical-align: middle;
	background-repeat: no-repeat;
}
.ldetail-hensai{
	margin: 0 auto 50px;
	max-width: 460px;
	width: 100%;
}
.ldetail-hensai .detail{
	font-size: 1.1rem;
	line-height: 1.6;
	margin: 15px auto 0;
	width: calc(100% - 16px);
}
@media screen and (max-width: 767px){
	.ldetail-hensai{
		margin: 0 auto 30px;
		max-width: none;
	}
	.ldetail-hensai .detail{
		font-size: 1rem;
		margin: 10px auto 0;
		width: calc(100% - 6px);
	}
}
.ldetail-hanrei{
	margin: 0 auto 40px;
	max-width: 460px;
	width: 100%;
}
@media print{
	.plan-detail header,
	.plan-detail footer{
		display: none;
	}
	.plan-detail .limited-plan-bg{
		border-bottom: none;
	}
	.btn-wrap{
		display: none;
	}
	.plan-detail .container{
		margin-top: 0;
	}
	.plan-detail .general-section .inner{
		padding-top: 16px;
	}
	.ldetail-head{
		margin-bottom: 0;
	}
	@-moz-document url-prefix() {
    .ldetail-body{
			margin: 20px auto;
			width: 60%;
		}
		.ldetail-points {
			margin-bottom: 0;
		}
	}
	_::-webkit-full-page-media, _:future, :root .ldetail-body{
			margin: 20px auto;
			width: 50%;
	}
	.pickup header,
	.pickup footer,
	.pickup .mv,
	.pickup-copy,
	.pickup-list,
	.pickup-note,
	.pickup-bg,
	.pickup-reserve,
	.pickup-caption{
		display: none!important;
	}
	.pickup-view,
	.pickup-area,
	.pickup-plan{
		width: 60%;
		margin: 0 auto;
	}



}
.lplan-btn-area{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	width: 100%;
}
.lplan-btn-area .lplan-tab-btn{
	width: 49%;
	height: 48px;
	line-height: 48px;
	color: #0f9aa5;
	background: #fff;
	border: 1px solid #0f9aa5;
	font-size: 2rem;
	margin-bottom: 25px;
}
.lplan-btn-area .lplan-tab-btn.is-active{
	color: #fff;
	background: #0f9aa5;
	border: 1px solid #0f9aa5;
}
.lplan-btn-area .lplan-tab-btn:hover{
	color: #fff;
	background: #0f9aa5;
	border: 1px solid #0f9aa5;
	transition: .4s;
	cursor: pointer;
}
.lplan-panel-area .lplan-tab_panel.is-active{
	display: block;
}
.lplan-panel-area .lplan-tab_panel{
	display: none;
}
@media screen and (max-width: 767px){
	.lplan-btn-area .lplan-tab-btn,
	.lplan-btn-area .lplan-tab-btn.is-active{
		font-size: 1.7rem;
	}
}



/*--------------------------------
plan
--------------------------------*/
.plan-bnr{
	z-index: 10;
	position: fixed;
	bottom: 40px;
	right: 20px;
	width: 320px;
	opacity: 0;
	transition: .2s ease;
}
.plan-bnr.is-active{
	opacity: 1;
}
.plan .secondary-heading{
	margin-bottom: 0;
}
.feature-item{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 140px;
}
.feature-item:nth-of-type(even){
	flex-direction: row-reverse;
}
.feature-slick{
	width: 45%;
}
.feature-item .text-wrapper{
	width: 45%;
	text-align: left;
}
.feature-ttl{
	font-size: 5rem;
	line-height: 1.5;
	font-family: garamond-premier-pro-display, serif;
}
.feature-ttl img{
	display: block;
	max-width: 198px;
	margin-left: 15%;
}
.feature-copy{
	margin-top: 70px;
	font-size: 2.6rem;
	line-height: 1.5;
}
.feature-note{
	margin-top: 20px;
	font-size: 1.6rem;
	line-height: 2;
}
.feature-item .slick-dots{
	text-align: left;
	left: -5px;
}
.feature-item:nth-of-type(even) .slick-dots{
	text-align: right;
	left: auto;
	right: -5px;
}
.feature-item .slick-dots li button:before{
	font-size: 0;
	background: #0f9aa5;
}
.feature-item .slick-dots li,
.feature-item .slick-dots li button:before,
.feature-item .slick-dots li button{
	width: 14px;
	height: 14px;
}
.feature-item .is-dark.is-shadow{
	text-shadow: 0 0 2px rgba(255, 255, 255, 0.8),0 0 2px rgba(255, 255, 255, 0.8),0 0 2px rgba(255, 255, 255, 0.8),0 0 2px rgba(255, 255, 255, 0.8),0 0 2px rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 767px){
	.feature-slick{
		 width: 100%;
	}
	.feature-item .slick-dots li{
		margin: 0 2px;
	}
	.feature-item .slick-dots{
		bottom: -16px;
	}
	.feature-item .slick-dots li,
	.feature-item .slick-dots li button:before,
	.feature-item .slick-dots li button{
		width: 10px;
		height: 10px;
	}
	.feature-item .slick-dots{
		left: -2px;
	}
	.feature-item:nth-of-type(even) .slick-dots{
		right:-2px;
	}
	.feature-item{
		margin-bottom: 35px;
	}
	.feature-item .slick-dotted.slick-slider{
		margin-bottom: 45px;
	}
	.feature-item .text-wrapper{
		width: 100%;
	}
	.feature-ttl{
		font-size: 2.5rem;
	}
	.feature-copy{
		margin-top: 35px;
		font-size: 2rem;
	}
	.feature-note{
		margin-top: 10px;
		font-size: 1.4rem;
	}
	.feature-ttl img{
		max-width: 100px;
	}
	.plan-bnr{
		z-index: 10;
		position: fixed;
		bottom: 70px;
		right: 10px;
		width: 160px;
	}
	.plan .view .tab-btn-list{
		width: calc(100% / 3 - 9px);
	}
	.plan .tab-btn-lists{
		width: 70%;
	}
}
/*--------------------------------
concept
--------------------------------*/
.concept .secondary-heading{
	line-height: 1.7;
}
.concept .note{
	line-height: 2;
}
.thumb-bg{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
@media screen and (max-width: 767px){
	.concept-video-01 .thumb-bg{
		width: 176%;
	}
}
.video-content{
	position: absolute;
	top: 50%;
	left: 16px;
	right: 16px;
	z-index: 4;
	transform: translateY(-50%);
}
.video-content-heading{
	margin-bottom: .4em;
	font-size: 7.2rem;
	letter-spacing: .1em;
}
@media screen and (max-width: 1100px){
	.video-content-heading{
		font-size: 5rem;
	}
}
@media screen and (max-width: 767px){
	.video-content-heading{
		font-size: 7vw;
	}
}
.video-content .secondary-heading{
	margin-bottom: 80px;
}
.video-content .tertiary-heading{
	line-height: 2;
}
@media screen and (max-width: 1100px){
	.video-content .secondary-heading{
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 767px){
	.video-content .secondary-heading{
		margin-bottom: 8%;
		font-size: 4vw;
	}
}
.bg-blue{
	background: #f3fafa;
}
.anker-section{
	background: #0f8893;
}
.anker-wrap{
	padding: 40px 0;
}
@media screen and (max-width: 767px){
	.anker-wrap{
		padding: 32px 0;
	}
}
.anker-head{
	margin: 0 auto 20px;
	max-width: 700px;
	width: 90%;
}
.anker-lists{
	justify-content: center;
}
@media screen and (max-width: 767px){
	.anker-lists{
		margin: 0 auto -4%;
		width: 85%;
		justify-content: flex-start;
	}
}
.anker-list{
	margin: 0 8px;
	width: 46px;
}
@media screen and (max-width: 767px){
	.anker-list{
		width: calc(100% / 4 - 12%);
		margin: 0 0 4% 12%;
	}
	.anker-list:first-child{
		margin-left: 0;
	}
}
.anker-link{
	display: block;
	background: #fff;
	border-radius: 50%;
	transition: .4s;
}
.anker-link:hover{
	opacity: .7;
}
.general-section .concept-content{
	padding-left: 148px;
	position: relative;
}
@media screen and (max-width: 767px){
	.general-section .concept-content{
		padding-left: 20%;
		width: 100%;
	}
	.general-section .concept-content .secondary-heading{
		margin-bottom: 0;
		font-size: 5.8vw;
		left: 5%;
	}
}
.concept-content-heading{
	position: absolute;
	top: 0;
	left: 0;
	transform-origin: left bottom;
	transform: rotate(90deg);
	display: flex;
	align-items: center;
}
@media screen and (max-width: 767px){
	.general-section .concept-content .secondary-heading.concept-content-heading{
		font-size: 4vw;
		top: 0;
	}
}
.concept-head{
	margin: 0 auto 100px;
	max-width: 200px;
	width: 90%;
}
@media screen and (max-width: 1100px){
	.concept-head{
		margin-bottom: 20px;
		max-width: 160px;
	}
}
@media screen and (max-width: 767px){
	.concept-head{
		margin-bottom: 5%;
		width:30%;
	}
}
.concept-text{
	margin-top: 8px;
	flex-shrink: 0;
}
.concept-chapter{
	margin-left: 8px;
	display: inline-block;
	width: 214px;
}
@media screen and (max-width: 767px){
	.concept-chapter{
		margin-left: 8px;
		display: inline-block;
		width: 30%;
	}
	.concept-chapter img{
		width: 100%;
		height: auto;
	}
}
.concept-02-top {
	align-items: flex-end;
}
.concept-03-top .flex-item-large .secondary-heading{
	margin-left: 8%;
}
@media screen and (max-width: 767px){
	.concept-video-01 iframe{
		width: 178%;
	}
	.concept-01-top .note{
		margin-top: 0;
	}
	.concept-01-top .flex-item-large{
		margin-left: -25%;
		width: 125%;
	}
	.concept-01-top .flex-item-large .secondary-heading{
		text-align: center;
		margin-bottom: 32px;
	}
	.concept-01-top .flex-item-large figure{
		width: 45%;
		display: inline-block;
	}
	.concept-01-top .flex-item-large figure.sp-none{
		display: none;
	}
	.concept-01-top .flex-item-large figure.min-img{
		vertical-align: top;
    width: 50%;
    display: inline-block;
    margin-right: 0;
    margin-left: 3.7%;
    margin-top: 14%;
	}
	.general-section .concept-content .concept-02-top .secondary-heading{
		margin-bottom: 32px;
	}
	.concept-02-top .video-wrapper{
		margin-left: -25%;
		padding-top: 70%;
	}
	.concept-03-top .flex-item-large .secondary-heading{
		margin-left: 8%;
		margin-bottom: 32px;
	}
	.concept-03-top .flex-item-large{
		margin-left: -25%;
		width: 125%;
	}
	.concept-03-top .note{
		margin-top: 0;
	}
	.concept-03-top .flex-item-large .img-wrapper{
		width: 45%;
		display: inline-block;
	}
	.concept-03-top .flex-item-large .img-wrapper.sp-none{
		display: none;
	}
	.concept-03-top .flex-item-large .img-wrapper.min-img{
		width: 50%;
		display: inline-block;
		margin-right: 0;
		margin-left: 3.7%;
	}
}
@media screen and (max-width: 767px){
	#chapter04.general-section .inner{
		padding-bottom: 0;
	}
	#chapter04 .video-wrapper{
		margin-bottom: 0;
		padding-top: 56.25%;
	}
}
.concept-04{
	margin-top: 60px;
}
@media screen and (max-width: 767px){
	.concept-04{
		margin-top: 0;
	}
	.concept-04 .note{
		margin-top: 0;
	}
	.general-section .concept-content .concept-04 .secondary-heading{
		margin-bottom: 32px;
	}
	.concept-04 .flex-item-large figure{
		margin-bottom: 32px;
	}
}
.concept-04 .flex-item-small{
	overflow: hidden;
}
@media screen and (max-width: 767px){
	.concept-04 .flex-item-small{
		width: 125%;
		margin-left: -25%;
	}
}
.concept-04-video{
	width: 250%;
}
.concept-04-video .img-wrapper .caption{
	right: 61%;
	bottom: -26px;
}
@media screen and (max-width: 767px){
	.concept-04-video{
		width: 100%;
	}
	.concept-04-video .video-wrapper{
		padding-top: 56.25%;
	}
	.concept-04-video .img-wrapper .caption{
		right: 8px;
	}
}
.concept-04-video .video-wrapper iframe{
	left: -60%;
}
@media screen and (max-width: 767px){
	.concept-04-video .video-wrapper iframe{
		left: 0;
	}
}
@media screen and (max-width: 767px){
	#chapter05 .note{
		margin-top: 0;
	}
	.concept-05-under .flex-item-large .secondary-heading{
		margin-left: 8%;
		margin-bottom: 32px;
	}
	.concept-05-under .flex-item-large{
		margin-left: -25%;
		width: 125%;
	}
	.concept-05-under .note{
		margin-top: 0;
	}
	.concept-05-under .flex-item-large figure{
		width: 45%;
		display: inline-block;
	}
	.concept-05-under .flex-item-large figure.sp-none{
		display: none;
	}
	.concept-05-under .flex-item-large figure:last-child{
		width: 50%;
		display: inline-block;
		margin-right: 0;
		margin-left: 3.7%;
		margin-bottom: 0;
		vertical-align: text-top;
	}
}
.concept-06 .note{
	margin-top: 32px;
}
.concept-06 .flex-item-ms{
	margin-top: -18%;
}
@media screen and (max-width: 1000px){
	.concept-06 .flex-item-ms{
		margin-top: -4%;
	}
}
@media screen and (max-width: 767px){
	.concept-06 .flex-item-ms{
		margin-left: -25%;
		width: 60%;
	}
	
}
.concept-06 .flex-item-ml figure{
	margin-left: -23%;
	width: 70%;
}
@media screen and (max-width: 1000px){
	.concept-06 .flex-item-ml figure{
		margin-left: -15%;
	}
}
@media screen and (max-width: 767px){
	.general-section .concept-content .concept-06-top .secondary-heading{
		margin-bottom: 32px;
	}
	.concept-06-top figure{
		width: 58%;
		margin-left: auto;
	}
	.concept-06 .flex-item-ml figure{
		margin-top: -30%;
		margin-left: auto;
		width: 75%;
	}
}
.concept-07-under{
	margin-top: -100px;
	align-items: center;
}
@media screen and (max-width: 1000px){
	.concept-07-under{
		margin-top: 0;
	}
}
@media screen and (max-width: 767px){
	.concept-07-top .note{
		margin-top: 0;
	}
	.concept-07-under{
		margin-top: 0px;
		align-items: center;
		width: 125%;
		margin-left: -25%;
	}
	.concept-07-under .flex-item-small{
		order: 2;
		width: 60%;
	}
	.concept-07-under .flex-item-large{
		order: 1;
		padding-left: 8%;
	}
	.general-section .concept-content .concept-07-under .secondary-heading{
		margin-bottom: 32px;
	}
}
.concept-08-top{
	align-items: center;
}
@media screen and (max-width: 767px){
	.concept-08-top .note{
		margin-top: 0;
	}
}
.concept-08-under{
	margin-top: -80px;
	align-items: center;
}
@media screen and (max-width: 900px){
	.concept-08-under{
		margin-top: 0;
	}
}
@media screen and (max-width: 767px){
	.concept-08-under{
		margin-top: 0px;
	}
	.concept-08-under .flex-item-ms{
		margin-left: -25%;
		width: 70%;
	}
	.general-section .concept-content .concept-08-under .secondary-heading{
		margin-bottom: 32px;
	}
}
.img-wrapper .caption.concept-cap{
	right: 0;
	margin: 0;
	padding: 4px 8px ;
	left: auto;
	background: rgb(0 0 0 / 70%);
}
.flex-half-wrap{
	justify-content: space-between;
}
.flex-half-wrap .flex-item{
	width: 48%;
}
.flex-item-large{
	width: 56.5%;
}
@media screen and (max-width: 767px){
	.flex-item-large{
		width: 100%;
	}
}
.flex-item-small{
	width: calc(43.5% - 3vw);
}
@media screen and (max-width: 767px){
	.flex-item-small{
		width: 100%;
	}
}
.flex-item-ml{
	width: 63.5%;
}
@media screen and (max-width: 767px){
	.flex-item-ml{
		width: 100%;
	}
}
.flex-item-ms{
	width: calc(36.5% - 3vw);
}
@media screen and (max-width: 767px){
	.flex-item-ms{
		width: 100%;
	}
}
.has-gap{
	gap: 3vw;
}
@media screen and (max-width: 767px){
	.has-gap{
		gap: 0;
	}
}
.min-img{
	margin-right: 5vw;
}
@media screen and (max-width: 767px){
	.concept-sp{
		padding:0  8px;
	}
}
/*--------------------------------
map
--------------------------------*/
.gallery-map,
.map-cap{
	margin: 0 auto;
	max-width: 1100px;
	width: 100%;
	margin-top: 2em;
}

/*--------------------------------
access
--------------------------------*/
.access .main-content .general-section .inner{
	max-width: 1000px;
}
.note.access-top{
	margin-bottom: 0;
}
@media screen and (max-width: 767px){
	.access .container {
			margin-top: 60px;
	}
}
.access-bg{
	background: url(../images/access/access-bg.png) no-repeat;
	background-size: cover;
}
@media screen and (max-width: 767px){
	.access-bg{
		background: url(../images/access/access-bg-sp.png) no-repeat;
		background-size: cover;
	}
}
.access-bg .secondary-heading{
	font-size: 4.4rem;
	margin-bottom: 0.4em;
}
.access-bg .note{
	margin-bottom: 12%;
}
.access-bg .flex-item-large{
	display: flex;
	align-items: flex-end;
	margin-bottom: 25px;
}
@media screen and (max-width: 1000px){
	.access-bg .secondary-heading{
		font-size: 4rem;
		margin-bottom: 0.4em;
	}
	.access-bg .note{
		font-size: 1.2rem;
	}
	.access-bg .caption{
		font-size: 1rem;
	}
}
@media screen and (max-width: 767px){
	.access-bg .secondary-heading{
		text-align: center;
		font-size: 3rem;
		margin-bottom: 0.4em;
	}
	.access-bg .note{
		font-size: 1.4rem;
		text-align: center;
		margin-bottom: 2em;
	}
	.access-bg .flex-half-wrap{
		margin-top: 4%;
	}
	.access-bg .caption{
		font-size: 1rem;
	}
	.access-bg .flex-item-large{
		margin-bottom: 0;
		display: block;
	}
}
.access-lists-section{
	padding: 0 0 80px;
}
@media screen and (max-width: 767px){
	.access-lists-section{
		padding: 0 0 32px;
	}
}
.access-lists{
	justify-content: space-between;
}
@media screen and (max-width: 767px){
	.access-lists{
		margin: 0 auto;
		width: 90%;
	}
}
.access-list{
	width: 24.8%;
}
@media screen and (max-width: 1070px){
	.access-list{
		width: 49.8%;
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 767px){
	.access-list{
		margin-bottom: 20px;
		width: 100%;
	}
	.access-list:last-child{
		margin-bottom: 0;
	}
}
.access-head{
	margin-top: 40px;
	font-size: 2.8rem;
	letter-spacing: 0.15em;
}
@media screen and (max-width: 767px){
	.access-head{
		margin-top: 20px;
		font-size: 2.4rem;
	}
}
.access-head::after{
	content: '';
	margin: 16px auto 12px;
	display: block;
	width: 40px;
	height: 1px;
	background: #0f9aa5;
}
@media screen and (max-width: 767px){
	.access-head::after{
		margin: 12px auto 8px;
		width: 30px;
	}
}
.access-note{
	font-size: 1.8rem;
}
@media screen and (max-width: 767px){
	.access-note{
		font-size: 1.4rem;
	}
}
.car-access-heading{
	margin-bottom: 20px;
	width: 264px;
}
@media screen and (max-width: 767px){
	.car-access-heading{
		width: 180px;
	}
}
.access-route{
	display: block;
	position: relative;
}
.access-route-btn{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
@media screen and (max-width: 1000px){
	.access-btm .secondary-heading{
		font-size: 2.4rem;
	}
}
@media screen and (max-width: 767px){
	.access-btm .secondary-heading{
		font-size: 1.8rem;
	}
	.access-btm .flex-item-small{
		margin: 0 auto;
		width: 85%;
	}
}
/*--------------------------------
Life information 
--------------------------------*/
.life .main-content .general-section .inner{
	max-width: 1000px;
}
.life-btn-lists{
	margin: 0 auto;
	width: calc(100% - 32px);
	max-width: 1200px;
	justify-content: space-between;
}
@media screen and (max-width: 767px){
	.life-btn-lists{
		margin-bottom: -20px;
	}
}
.life-btn-list{
	width: calc(100% / 6 - 1%);
	padding: 16px 0;
	text-align: center;
	background: #9fa0a0;
	color: #fff;
	font-size: 1.8rem;
	cursor: pointer;
}
@media screen and (max-width: 1000px){
	.life-btn-list{
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 767px){
	.life-btn-list{
		margin-bottom: 4%;
		width: calc(100% / 2 - 2%);
		font-size: 1.6rem;
	}
}
.public.life-btn-list.is-active{
	background: #ca6d90;
}
.shopping.life-btn-list.is-active{
	background: #e29958;
}
.education.life-btn-list.is-active{
	background: #e1b357;
}
.medical.life-btn-list.is-active{
	background: #b580af;
}
.bank.life-btn-list.is-active{
	background: #6295d3;
}
.park.life-btn-list.is-active{
	background: #63a48c;
}
.life-item{
	padding: 80px 0;
}
@media screen and (max-width: 767px){
	.life-item{
		padding: 32px 0;
	}
}
.life-box{
	margin: 0 auto 80px;
	width: calc(100% - 32px);
	max-width: 1200px;
	flex-wrap: wrap;
}
@media screen and (max-width: 767px){
	.life-box{
		margin-bottom: 40px;
	}
}
.life-box-item:first-child{
	width: 62%;
}
.life-box-item:last-child{
	padding-left: 2%;
	width: 38%;
}
@media screen and (max-width: 767px){
	.life-box-item:first-child{
		margin-bottom: 20px;
		width: 100%;
	}
	.life-box-item:last-child{
		padding-left: 0;
		width: 100%;
	}
}
.life-box-item dl{
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}

.life-box-item dl.has-pick{
	margin-bottom: 8px;
}
.life-box-item dl:last-child{
	margin-bottom: 0;
}
.life-box-item dl.has-group{
	position: relative;
}
.life-box-item dl .has-group-text{
	width: 45%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
@media screen and (max-width: 1000px){
	.life-box-item dl .has-group-text{
		width: 35%;
	}
}
@media screen and (max-width: 767px){
	.life-box-item dl .has-group-text{
		max-width: 145px;
		width: 45%;
    left: 165px;
		right: auto;
	}
}
.life-box-item dt{
	display: inline-block;
	width: 34px;
	height: 34px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	font-size: 2.6rem;
	margin-right: 12px;
	border-radius: 50%;
	color: #fff;
}
@media screen and (max-width: 767px){
	.life-box-item dt{
		width: 30px;
		height: 30px;
		font-size: 2rem;
	}
}
.public.life-item dt{
	background: #ca6d90;
}
.shopping.life-item dt{
	background: #e29958;
}
.education.life-item dt{
	background: #e1b357;
}
.medical.life-item dt{
	background: #b580af;
}
.bank.life-item dt{
	background: #6295d3;
}
.park.life-item dt{
	background: #63a48c;
}
.public .life-box-item dl dd .text-bg{
  background: linear-gradient(transparent 0%, transparent 70%, rgb(202 109 144 / 20%) 70%, rgb(202 109 144 / 20%) 100%);
}
.shopping .life-box-item dl dd .text-bg{
  background: linear-gradient(transparent 0%, transparent 70%, rgb(226 153 88 / 20%) 70%, rgb(226 153 88 / 20%) 100%);
}
.education .life-box-item dl dd .text-bg{
  background: linear-gradient(transparent 0%, transparent 70%, rgb(225 179 87 / 20%) 70%, rgb(225 179 87 / 20%) 100%);
}
.medical .life-box-item dl dd .text-bg{
  background: linear-gradient(transparent 0%, transparent 70%, rgb(202 128 175 / 20%) 70%, rgb(202 128 175 / 20%) 100%);
}
.bank .life-box-item dl dd .text-bg{
  background: linear-gradient(transparent 0%, transparent 70%, rgb(98 149 211 / 20%) 70%, rgb(98 149 211 / 20%) 100%);
}
.park .life-box-item dl dd .text-bg{
  background: linear-gradient(transparent 0%, transparent 70%, rgb(99 164 140 / 20%) 70%, rgb(99 164 140 / 20%) 100%);
}
.life-box-item dd{
	font-size: 1.6rem;
	line-height: 1.5;
}
@media screen and (max-width: 767px){
	.life-box-item dd{
		font-size: 1.4rem;
	}
	.life-box-item dd img{
		max-width: 380px;
	}
}
.life-slide{
	margin: 0 16px;
}
@media screen and (max-width: 767px){
	.life-slide{
		margin: 0 8px;
	}
}

/*--------------------------------
design
--------------------------------*/
.view{
	color: #727171;
}
.view .page-heading{
	padding-bottom: 16px;
	font-family: garamond-premier-pro-display, serif;
	font-size: 5rem;
	color: #0f9aa5;
	letter-spacing: .05em;
}
.tab-btn-lists {
	margin: 0 auto 60px;
	max-width: 750px;
	width: 90%;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}
.view .tab-btn-list{
	padding: 12px 0;
	width: calc(100% / 7 - 12px);
	text-align: center;
	font-size: 2.2rem;
	line-height: 1;
	color: #0F8893;
	background: #fff;
	border: 1px solid #0F8893;
	cursor: pointer;
	box-sizing: border-box;
}
@media screen and (max-width: 767px){
	.tab-btn-lists{
		margin-bottom: 32px;
		width: 90%;
		gap: 12px;
		justify-content: flex-start;
	}
	.view .tab-btn-list{
		width: calc(100% / 4 - 9px);
		font-size: 1.6rem;
	}
}
.tab-btn-list.active {
	color: #fff;
	background: #0F8893;
	pointer-events: none;
}
.tab-img-list{
	display: none;
}
.tab-img-list:last-child {
	display: block;
}
.tab-img-wrap{
	overflow: hidden;
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
}
.view-cap{
	margin: 3em 0 1.6em;
}
@media screen and (max-width: 767px){
	.view-cap{
		margin: 2em 0 1.6em;
	}
}
.view-land{
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
}
.head-border{
	position: relative;
}
.head-border::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%,0);
    width: 73px;
    height: 1px;
    background: #0F8893;
}
.wide-img{
	width: 100vw;
	margin: 0 calc(50% - 50vw);
}
.design-entrance .wide-img{
	margin-top: 80px;
}
.design-land .view-lead{
	font-size: 1.6rem;
	margin-bottom: 20px;
}
.design-land .view-lead::after{
	display: none;
}

.design-land .img-wrapper.flex-item{
	width: calc(100%/2 - 15px);
}
.design-list{
	margin-top: 70px;
	justify-content: space-between;
	gap: 30px 0;
}
.design-item.col-2{
	width: calc(100%/2 - 15px);
}
.design-item.col-3{
	width: calc(100%/3 - 15px);
}
.design-head{
	font-size: 1.8rem;
	color: #808080;
	border-bottom: 1px solid #808080;
	margin-bottom: 10px;
	padding-bottom: 10px;
}
.design-head .number{
	display: inline-block;
	width: 20px;
	height: 20px;
	line-height: 1.3;
	text-align: center;
	background: #143851;
	color: #fff;
	font-size: 1.6rem;
	margin-right: 10px;
}
.design-note{
	display: flex;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: .1em;
}
.design-note img{
	display: block;
	width: 140px;
	height: 140px;
	margin-left: 20px;
}
.design-land .wide-img{
	margin-top: 80px;
}
.wide-item{
	background: #f2f8f9;
	width: 100vw;
	margin: 80px calc(50% - 50vw) 0;
}
.design-balcony .flex-wrapper{
	align-items: center;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.design-balcony .text-wrapper.flex-item{
	grid-row: 1 / 3;
}
.design-balcony .img-wrapper.flex-item{
	/* width: 50%; */
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.design-balcony h3{
	font-size: 2.4rem;
	margin-bottom: 30px;
}
.design-balcony .note{
	font-size: 1.6rem;
	line-height: 3;
}
.balcony-item:nth-of-type(1){
	position: relative;
	top: 30px;
	left: -100px;
	width: 50%;
}
.balcony-item:nth-of-type(2){
	position: relative;
	top: 40px;
	left: -70px;
	width: 50%;
	margin-bottom: 40px;
}
.design-balcony .wide-img{
	margin-bottom: -80px;
}
@media screen and (max-width: 1000px){
	.balcony-item:nth-of-type(1){
		left: 0;
	}
	.balcony-item:nth-of-type(2){
		width: 47%;
		margin-left: auto;
		left: 0;
	}
	.design-balcony .note{
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 767px){
	.view .page-heading{
		font-size: 2.2rem;
	}
	.design-entrance .secondary-heading{
		font-size: 1.8rem;
	}
	.design-entrance .wide-img{
		margin-top: 32px;
	}
	.design-land .view-lead{
		font-size: 1.2rem;
	}
	.design-item.col-2,
	.design-item.col-3{
		width: 100%;
	}
	.design-list li:nth-of-type(1){
		order: -2;
	}
	.design-list li:nth-of-type(3){
		order: -1;
	}
	.design-head{
		font-size: 1.6rem;
	}
	.design-note{
		font-size: 1.2rem;
	}
	.design-land .wide-img{
		margin-top: 32px;
	}
	.design-balcony .secondary-heading{
		font-size: 1.8rem;
	}
	.wide-item{
		margin-top: 32px;
	}
	.design-balcony h3{
		font-size: 2rem;
		margin-bottom: 15px;
	}
	.design-balcony .note{
		font-size: 1.4rem;
		line-height: 2;
	}
	.design-balcony .flex-wrapper{
		display: flex;
		flex-wrap: wrap;
	}
	.design-balcony .img-wrapper.flex-item:nth-of-type(2){
		order: -1;
		margin-bottom: 30px;
	}
	.design-balcony .text-wrapper.flex-item{
		width: 100%;
	}
	.design-balcony .wide-img{
		margin-bottom: -32px;
	}
	.design-list{
		margin-top: 32px;
	}
}

/*--------------------------------
modelroom
--------------------------------*/
.modelroom #area1{
	background: url(../images/modelroom/bg-01.jpg) no-repeat top center, url(../images/modelroom/bg-02.jpg) no-repeat bottom center;
	background-size: 100%;
}
.modelroom #area2{
	background: #1E374F;
}
.modelroom #area3{
	background: url(../images/modelroom/bg-03.png) no-repeat top center, url(../images/modelroom/bg-04.png) no-repeat bottom center;
	background-size: 100%;
}
.modelroom #area2.general-section .inner{
	padding: 40px 0;
}
@media screen and (max-width: 767px){
	.modelroom #area2.general-section .inner{
		padding: 20px 0;
	}
}
.modelroom .tertiary-heading{
	font-size: 2rem;
}
.modelroom .secondary-heading.en-font{
	font-size: 3.4rem;
}
@media screen and (max-width: 767px){
	.modelroom .tertiary-heading{
		font-size: 1.8rem;
	}
	.modelroom .secondary-heading.en-font{
		font-size: 2.4rem;
	}
}
.living-wrap{
	margin: 40px auto 120px;
	max-width: 1150px;
	width: 100%;
	align-items: flex-end;
	justify-content: space-between;
}
.living-item:first-child{
	width: 46%;
}
.living-item:last-child{
	width: 50%;
}
@media screen and (max-width: 767px){
	.living-wrap{
		margin: 32px auto 60px;
	}
	.living-item:first-child{
		margin-bottom: 20px;
		width: 100%;
	}
	.living-item:last-child{
		width: 100%;
	}
	.living-item .note .inline-block{
		display: inline;
	}
}
.living-item .secondary-heading{
	margin-bottom: 0.2em;
}
.living-lists{
	margin-top: 20px;
	gap: 16px;
}
.living-list{
	width: calc(100% / 4 - 12px);
}
@media screen and (max-width: 767px){
	.living-lists{
		margin-top: 16px;
		gap: 12px;
	}
	.living-list{
		width: calc(100% / 2 - 6px);
	}
}
.storage-wrap{
	padding: 40px 0;
	background: #fff;
}
@media screen and (max-width: 767px){
	.storage-wrap{
		padding: 28px 16px;
	}
}
.storage-wrap .secondary-heading{
	margin-bottom: 0.4em;
}
.storage-lists{
	margin: 40px auto 0;
	max-width: 540px;
	justify-content: space-between;
}
@media screen and (max-width: 767px){
	.storage-lists{
		margin-top: 28px;
	}
}
.storage-lists .img-wrapper .caption{
	left: 2px;
	right: 2px;
	margin: 0.2em auto;
}
.storage-list:first-child{
	padding-bottom: 50%;
	width: 35%;
	background: url(../images/modelroom/image-08.jpg) no-repeat center center;
	background-size: cover;
}
.storage-list:nth-child(2){
	width: 26%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.storage-list:nth-child(2) .storage-list-item:first-child{
	width: 100%;
	height: 59%;
	background: url(../images/modelroom/image-09.jpg) no-repeat center center;
	background-size: cover;
}
.storage-list:nth-child(2) .storage-list-item:last-child{
	width: 100%;
	height: 40%;
	background: url(../images/modelroom/image-10.jpg) no-repeat center center;
	background-size: cover;
}
.storage-list:last-child{
	padding-bottom: 50%;
	width: 38%;
	background: url(../images/modelroom/image-11.jpg) no-repeat center center;
	background-size: cover;
}
.kitchen-wrap{
	margin: 0 auto 40px;
	max-width: 1150px;
	align-items: flex-end;
	justify-content: space-between;
}
@media screen and (max-width: 767px){
	.kitchen-wrap{
		margin: 0 auto 32px;
	}
}
.kitchen-item:first-child{
	width: 52%;
}
.kitchen-item:last-child{
	width: 44%;
}
@media screen and (max-width: 767px){
	.kitchen-item:first-child{
		width: 70%;
		margin-bottom: 32px;
	}
	.kitchen-item:last-child{
		text-align: right;
		width: 100%;
	}
}
.bath-wrap{
	margin: 0 auto;
	max-width: 1150px;
	align-items: flex-end;
	justify-content: space-between;
}
.bath-item:first-child{
	width: 44%;
}
.bath-item:last-child{
	width: 54%;
}
@media screen and (max-width: 767px){
	.bath-item:first-child{
		order: 2;
		width: 100%;
	}
	.bath-item:last-child{
		order: 1;
		margin: 0 0 32px auto;
		width: 90%;
	}
}
.bath-thumbs{
	justify-content: space-between;
}
.bath-thumb{
	width: 49%;
}
.bath-thumb:first-child{
	margin-top: 12%;
}
.modelroom .note + .img-wrapper{
	margin-top: 60px;
}
@media screen and (max-width: 767px){
	.modelroom .note + .img-wrapper{
		margin-top: 32px;
	}
}
.kitchen-item .secondary-heading{
	margin-bottom: .2em;
}
.bath-item .secondary-heading{
	margin-bottom: 0;
}
.bath-item .note{
	margin: .4em 0 1.4em;
}
.modelroom .ls-wide{
	letter-spacing: 0.25em;
}
@media screen and (max-width: 767px){
	.modelroom .ls-wide{
		letter-spacing: 0;
	}
	.modelroom .container {
			margin-top: 60px;
	}
}
.mr-en-heading{
	margin-bottom: 8px;
	max-width: 180px;
	width: 100%;
}
.mr-en-heading.center{
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 767px){
	.mr-en-heading{
		max-width: 150px;
	}
	.mr-en-heading.sp-right{
		margin-left: auto;
		margin-right: 0;
	}
}
/*--------------------------------
outline
--------------------------------*/
.outline-heading{
	margin-bottom: .8em;
	font-size: 2rem;
	line-height: 1.4;
}
.outline-table{
	margin: .8em 0;
	width: 100%;
	border-top: 1px solid #ddd;
}
.outline-table th,
.outline-table td{
	font-size: 1.4rem;
	line-height: 1.4;
	border-bottom: 1px solid #ddd;
}
.outline-table th{
	padding: 12px 0;
	width: 130px;
	text-align: left;
}
.outline-table td{
	padding: 12px 0 12px 16px;
}
.ad-label{
	margin-bottom: 8px;
	padding: 8px;
	width: 100px;
	font-size: 1.4rem;
	text-align: center;
	border: 1px solid #999;
}


/*--------------------------------
mv-slide
--------------------------------*/
.mv-wrap{
	position: relative;
	margin-top: 126px;
}
.mv-item{
	position: relative;
}
.mv-item-btn{
	display: block;
	position: absolute;
	left: 7%;
	bottom: 7.5%;
	width: 22%;
}
@media screen and (max-width: 767px){
	.mv-item-btn{
    left: 3%;
    bottom: 6%;
    width: 58%;
	}
}
.mv-item .slider-text{
	position: absolute;
	top: 0;
}
.mv-text,
.slider-01-text,
.slider-02-text,
.slider-03-text{
	 position: absolute;
	 /* bottom: 10vw; */
	 left: 0;
	 right: 0;
	 margin: 0 auto;
}
/* .mv-text{
	width: 65vw;
	bottom: 0;
} */
.slider-01-text{
	width: 50vw;
}
.slider-02-text{
	width: 42vw;
}
.slider-03-text{
	width: 32vw;
}
.slide-animation .slider-zoom{
	animation: zoom 8s 0s ease-out forwards;
}
@keyframes zoom{
	0%{
		transform: scale(1);
	}
	100%{
		transform: scale(1.12);
	}
}
.slide-animation .mv-fade{
	opacity: 0;
	animation: mvFade 1s 1.2s ease-out forwards;
}
.slide-animation .slider-01-text{
	opacity: 0;
	animation: mvFade 1s .8s ease-out forwards;
}
@keyframes mvFade{
	0%{
		opacity: 0;
		transform: translateY(20px);
	}
	100%{
		opacity: 1;
		transform: translateY(0);
	}
}
.mv-text01{
	width: 50vw;
	top: 0;
}
.mv-text02{
	width: 60vw;
	top: 9%;
}
.mv-text03{
	width: 60vw;
	bottom: 0;
}
.mv-badge{
	width: 16vw;
    bottom: 2%;
    left: auto;
}
@media screen and (max-width: 767px){
	.slider-01-text,
	.slider-02-text,
	.slider-03-text{
		bottom: 20vw;
	}
	.mv-text{
		width: 100vw;
		bottom: 3vw;
	}
	.slider-01-text{
		width: 90vw;
	}
	.slider-02-text{
		width: 80vw;
	}
	.slider-03-text{
		width: 60vw;
	}
}



.slide-animation .slide-fade{
	animation-name:fadeInAnime;
	animation-duration:1s;
	animation-delay: 1s;
	animation-fill-mode:forwards;
	transition-timing-function : ease;
	opacity:0;
}
.mv-item .slider-text-anim{
	max-width: 855px;
	width: 90%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.home .slick-dots{
	top: -7px;
	bottom: auto;
	height: 3px;
}
.home .slick-dots li{
	/* display: block; */
	width: calc(100%/3 - 8px);
	height: 1px;
	margin: 0 4px;
	cursor: none;
	pointer-events: none;
}






@media screen and (max-width: 767px){
	.home .slick-dots li{
		width: calc(100%/3 - 4px);
		margin: 0 2px;
	}
}
.home  .slick-dots li button{
	width: 100%;
	height: 1px;
	padding: 0;
	background: rgba(100,100,100,.8);
}
.home .slick-dots li button::before{
	width: 0;
	height: 1px;
	line-height: 0;
	font-size: 0;
	background: rgba(255,255,255,.8);
	opacity: 1;
}

.home .slick-dots li:nth-of-type(1) button::before{
	animation: border_anim 3s linear forwards;
}
.home .slick-dots li:nth-of-type(2) button::before{
	animation: border_anim 5s linear forwards;
	animation-delay: 3s;
}
.home .slick-dots li:nth-of-type(3) button::before{
	animation: border_anim 8s linear forwards;
	animation-delay: 8s;
}
@keyframes border_anim {
	0%{
	  width: 0%;
	}
	100%{
	  width: 100%;
	}
  } 
.home .slick-dotted.slick-slider{
	margin-bottom: 0;
}

.st1{
	fill:none;
	stroke-miterlimit: 10;
	stroke-width: 6px;
}

@keyframes fadeInAnime{
	from {
	  opacity: 0;
	}
  
	to {
	  opacity: 1;
	}
  }
  .slider-text-anim svg{
	width: 100%;
	height: 100%;
  }
  .slider-text-anim image{
	width: 100%;
  }
  #mask-line{
	opacity: 0;
  }
  .slide-animation #mask-line {
	stroke-dasharray: 3500px;
	animation:h-written 8s;
	stroke:#fff;
	animation-delay: 2s;
	animation-fill-mode:forwards;
}
#text {
	mask:url(#mask-ani);
}
@keyframes h-written {

	0% {
	opacity: 1;
	stroke-dashoffset:3500px;
	}
	
	
	100% {
	opacity: 1;
	stroke-dashoffset:0;
	}
	
	}
	@media screen and (max-width: 1000px){
		.mv-wrap{
			margin-top: 61px;
		}
	}	
	@media screen and (max-width: 767px){
		.mv-item .slider-text-anim{
			max-width: 300px;
		}
	}

	/* * float-banner */
	.float-banner {
		position: fixed;
		right: 0;
		bottom: 0;
		opacity: 1;
		z-index: 5;
		transition: opacity .4s ease;
	}
	@media screen and (max-width: 767px){
		.float-banner {
			right: 0;
			bottom: 0;
			opacity: 1;
			position: static;
		}
	}
	.is-visible {
		opacity: 1;
		display: block;
	}
	
	.float-banner .banner-space {
		margin: 0;
		padding: 0;
		max-width: 300px;
		position: relative;
		width: 100%;
	}
	@media screen and (max-width: 767px){
		.float-banner .banner-space {
			max-width: 100%;
		}
	}
	.float-close {
		width: 28px;
		height: 28px;
		border-radius: 100%;
		background: #fff;
		display: block;
		position: absolute;
		right: 5px;
		top: -30px;
		z-index: 6;
		cursor: pointer;
		border: 1px solid #808080;
	}
	@media screen and (max-width: 767px){
		.float-close {
			display: none;
		}
	}
	.float-close::before, .float-close::after {
		width: 20px;
		height: 1px;
		position: absolute;
		top: 50%;
		left: 50%;
		content: "";
		background: #808080;
	}
	@media screen and (max-width: 767px){
		.float-close::before, .float-close::after {
			width: 18px;
		}
	}
	.float-close::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.bnr-value .float-close::before, .bnr-value .float-close::after {
		background-color: #808080;
	}
	.float-close::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}
.covid{
	max-width: 850px;
    width: 90%;
	margin: 0 auto 50px;
	color: #727171;
}
.covid-ttl{
	position: relative;
	padding: 20px 60px 20px 20px;
	background: #c1d8df;
	color: #163750;
	font-size: 3rem;
	letter-spacing: .1em;
	line-height: 1.2;
}
.covid-ttl::after{
	width: 31px;
	height: 31px;
	position: absolute;
	content: "";
	top: 50%;
	right: 20px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(0, -50%);
	background: url(../images/home/icon-covid-open.svg) no-repeat;
	background-size: cover;
}
.covid-ttl.is-open::after{
	background: url(../images/home/icon-covid-close.svg) no-repeat;
	background-size: cover;
}
.covid-inner{
	display: none;
	background: #f5fbfb;
}
.covid-inner.is-open{
	display: block;
}
@media screen and (max-width: 900px){
	.covid-ttl{
		font-size: 2rem;
	}
}
@media screen and (max-width: 767px){
	.covid{
		margin: 0 auto 30px;
		width: 100%;
	}
	.covid-ttl{
		position: relative;
		padding: 10px 50px 10px 20px;
		font-size: 1.5rem;
	}
}
.soudankai-bnr-wrap{
	max-width: 850px;
    width: 90%;
	margin: 0 auto 50px;
}
.soudankai-bnr-btn{
	display: block;
	transition: .3s;
	background: rgba(10, 151, 161, 0.75);
	color: #fff;
	font-size: 3.6rem;
	padding: .6em 0;
	position: relative;
}
.soudankai-bnr-btn:hover{
	opacity: 1;
}
.soudankai-bnr-btn::after{
	width: 31px;
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	content: "";
	top: 50%;
	right: 20px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(0, -50%);
	background: url(../images/home/icon-covid-open-wh.svg) no-repeat;
	background-size: cover;
}
.soudankai-bnr-btn.is-open::after{
	background: url(../images/home/icon-covid-close-wh.svg) no-repeat;
	background-size: cover;
}
@media screen and (max-width: 767px){
	.soudankai-bnr-btn::after{
		width: 7%;
		right: 3%;
	}
}
.soudankai-bnr-slide{
	display: none;
	margin-top: 20px;
}
.soudankai-bnr{
	display: block;
	transition: .3s;
}
.soudankai-bnr:hover{
	opacity: .6;
}
@media screen and (max-width: 767px){
	.soudankai-bnr-btn{
		padding: 1.2em 0;
		font-size: 4.4vw;
		text-indent: -2em;
	}
}
.cam-bnr-wrap a{
	transition: .3s;
}
.cam-bnr-wrap a:hover{
	opacity: .6;
}
@media screen and (max-width: 767px){
	.cam-bnr-wrap{
		max-width: none;
		width: 90%;
		margin: 0 auto 30px;
	}
}
.suumo-banner{
	max-width: 600px;
    width: 90%;
	margin: 48px auto;
}
@media screen and (max-width: 767px){
	.suumo-banner{
		margin: 32px auto;
	}
}
/*--------------------------------
quality
--------------------------------*/
.quality-list{
	justify-content: center;
}
.quality-bg{
	background: #f2f9f9;
}
.quality-item{
	width: calc(100%/5);
	height: 85px;
	background: #fff;
	color: #0f98a3;
	font-size: 2.2rem;
	border: 1px solid #0f98a3;
	transition: .2s all;
}
.quality-item:hover,
.quality-item.on{
	background: #0f98a3;
	color: #fff;
}
.quality-item:not(:last-child){
	border-right: none;
}
.quality-item a{
	display: flex;
	align-items: center;
	justify-content: center;
	color: inherit;
	width: 100%;
	height: 100%;
	text-align: center;
	line-height: 1.3;
	letter-spacing: .1em;
}
@media screen and (max-width: 767px){
	.quality-list{
		gap: 20px 0;
		margin-bottom: 20px;
	}
	.quality-item a{
		font-size: 1.8rem;
		letter-spacing: .05em;
	}
	.quality-item{
		width: calc(100%/2);
	}
	.quality-item{
		height: 60px;
	}
	.quality-item:nth-of-type(2),
	.quality-item:nth-of-type(4){
		border-right: 1px solid #0f98a3;
	}
}
/*--------------------------------
pickup
--------------------------------*/
.pickup-section{
	background: url(../images/pickup/pickup-bg.png) no-repeat bottom center;
	background-size: 100%;
}
.pickup-copy{
	font-size: 3rem;
	line-height: 2;
}
.pickup-list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 60px;
	font-size: 3rem;
	width: min(100%,810px);
	margin: 70px auto;
}
.pickup-item{
	height: 60px;
}
.pickup-link{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	height: 100%;
	background: #0f9aa540;
	color: #0f9aa5;
}
.pickup-link.active{
	background: #0f9aa5;
	color: #ffff;
}
.pickup-note{
	font-size: 2.6rem;
	line-height: 1.5;
	margin-bottom: 40px;
}
.pickup-note .emphasis{
	color: #0f9aa5;
}
.pickup-area{
	margin: 40px 0;
}
.pickup-plan{
	margin-bottom: 20px;
}
.general-section .pickup-inner{
	max-width: 1100px;
}
.pickup-caption{
	width: min(100%,440px);
	margin: 0 auto 80px;
}
.pickup-reserve{
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(100%,480px);
	margin: 20px auto 0;
	background: #4598a3;
	color: #fff;
	font-size: 2.6rem;
	height: 60px;
	gap: 40px;
	border: 1px solid #4598a3;
	transition: .2s ease;
}
.pickup-reserve:hover{
	background: #fff;
	color: #4598a3;
}
.pickup-bg{
	background: #ecf0f4;
}
@media screen and (max-width: 767px){
	.pickup-copy{
		font-size: 2rem;
		line-height: 1.5;
	}
	.pickup-list{
		gap: 5px;
		margin: 25px auto 50px;
	}
	.pickup-note{
		font-size: 1.6rem;
	}
	.pickup-view{
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}
	.pickup-caption{
		margin-bottom: 35px;
	}
	.pickup-caption + .pickup-copy{
		font-size: 1.5rem;
	}
	.pickup-reserve{
		font-size: 2rem;
		gap: 20px;
	}
}
/*--------------------------------
firework
--------------------------------*/
.fireworks-title{
	width: min(50%,228px);
	margin: 0 auto;
}
.firework-heading{
	margin-top: 35px;
	font-size: 4rem;
	line-height: 1.5;
}
.firework-note{
	margin-top: 35px;
	font-size: 2rem;
	line-height: 2;
}
.firework-main-video{
	margin-top: 90px;
}
.firework-video-heading{
	font-size: 3rem;
	line-height: 1.5;
}
.firework-video-note{
	margin: 15px 0 30px;
	font-size: 2.6rem;
	line-height: 1.5;
	background: #C9E0E5;
	padding: 10px 16px;
}
.firework-video-link{
	display: block;
	position: relative;
}
.firework-video-link::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: #00000075;
	transition: .2s ease;
}
.video-img{
	transition: .2s ease;
	filter: none;
}
.firework-play-btn{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 122px;
	transition: .2s ease;
}
.firework-video-link:hover::before{
	background: #00000030;
}
.firework-video-link:hover .video-img{
	filter: brightness(100%);
}
.firework-video-link:hover .firework-play-btn{
	filter: drop-shadow(2px 2px 5px #000);
}
.firework-sub-heaidng{
	margin: 30px 0;
	font-size: 2rem;
	line-height: 1.5;
}
.firework-video-list{
	display: grid;
	gap: 22px;
}
.firework-video-item{
	display: grid;
	grid-template-columns: 30% 70%;
	align-items: center;
	justify-content: center;
	background: #C9E0E5;
}
.firework-video-item p{
	font-size: 3.5rem;
	color: #163750;
	text-align: center;
}
.firework-video-item p span{
	display: block;
	margin-top: 10px;
	font-size: 70%;
}
.firework .lplan-items{
	justify-content: center;
	gap: 60px;
}
.firework .general-section .inner{
	max-width: 1000px;
}
.firework .lplan-item{
	width: 37%;
	margin: 0;
}
.firework-sub-video{
	width: calc(63% - 60px);
}
.firework .lplan-items{
	width: min(100%,900px);
	margin: 0 auto;
}
.firework .lplan-heading{
	margin-bottom: 20px;
}
.firework-sub-video .firework-play-btn{
	width: 100px;
}
.fireworks-view{
	background: url(../images/firework/view.jpg) no-repeat center center;
	background-size: cover;
	padding-bottom: 120px;
}
.fireworks-view-title{
	width: min(50%,320px);
	margin: 0 auto 30px;
}
.fireworks-view-heading{
	font-size: 3rem;
	line-height: 1.5;
	margin-bottom: 30px;
}
.fireworks-view-more{
	width: min(100%,400px);
	margin: 0 auto;
	font-size: 2.6rem;
}
.fireworks-view-link{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	color: #fff;
	background: #163750;
	transition: .2s ease;
}
.fireworks-view-link span{
	width: 11px;
	display: flex;
	transform: translateX(30px);
	transition: .2s ease;
}
.fireworks-view-link:hover{
	background: #2466b8;
}
.fireworks-view-link:hover span{
	transform: translateX(40px);
}
.firework .modal-video-body{
	width: min(100% - 32px);
	margin: 0 auto;
}
@media screen and (max-width: 767px){
	.firework-heading{
		font-size: 2rem;
	}
	.firework-note{
		margin-top: 20px;
		font-size: 1.4rem;
	}
	.firework-video-heading{
		font-size: 1.7rem;
	}
	.firework-video-note{
		font-size: 1.3rem;
	}
	.firework-play-btn{
		width: 66px;
	}
	.firework-sub-heaidng{
		font-size: 1.4rem;
	}
	.firework .lplan-item{
		width: 70%;
		margin: 0 auto;
	}
	.firework-sub-video{
		width: 100%;
		order: -1;
	}
	.firework-video-item p{
		font-size: 2.3rem;
	}
	.firework-sub-video .firework-play-btn{
		width: 50px;
	}
	.fireworks-view-heading{
		font-size: 1.7rem;
	}
	.fireworks-view-more{
		font-size: 2rem;
	}
	.fireworks-view{
		background: url(../images/firework/view-sp.jpg) no-repeat center center;
		background-size: cover;
		padding-bottom: 70px;
	}
	.firework-main-video{
		margin-top: 35px;
	}
}
/*--------------------------------
state
--------------------------------*/
.disabled {
	opacity: 0.1;
	cursor: default;
	pointer-events: none;
}
.none{
	opacity: 0.1;
	cursor: default;
	pointer-events: none;
}
.is-none{
	display: none;
}
.is-light{
	color: #fff;
}
.is-dark{
	color: #333;
}
.is-key{
	color: #62a6a1;
}
.is-gry{
	color: #727171;
}
.is-blu{
	color: #87c2cc;
}
.is-blu2{
	color: rgb(11 116 174 / 70%);
}
.is-nvy{
	color: #1E374F;
}
.is-shadow{
	text-shadow: 0 0 1px rgba(0,0,0,.8), 0 0 4px rgba(0,0,0,.4);
}
.is-alert{
	color: #c90000;
}
@media screen and (max-width: 767px){
	.sp-none{
		display: none;
	}
	.slick-slide img.sp-none{
		display: none;
	}
}
@media screen and (min-width: 768px){
	.pc-none{
		display: none;
	}
	.slick-slide img.pc-none{
		display: none;
	}
}