/*
Title: アートスクエア小山7丁目
Last Updated: 2025-05-29
Author: Ryu
*/

/*----------------------------------------
	全体
----------------------------------------*/

html{
	font-family: "Noto Sans JP", sans-serif;
	font-size:62.5%;
	color: #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
	font-weight: 500;
}
body{ font-size:1.4rem; font-size: 1.4em; }
img{ vertical-align: bottom; }
a{
	color:#009dc4;
	transition: all 0.4s;
}
a:hover{
	color:#05bfee;
	transition: all 0.4s;
}


/*----------------------------------------
	text
----------------------------------------*/

p{ line-height: 2; }

.text_300{ font-weight: 300; }
.text_400{ font-weight: 400; }
.text_500{ font-weight: 500; }
.text_600{ font-weight: 600; }
.text_700{ font-weight: 700; }
.text_800{ font-weight: 800; }
.text_bold{ font-weight: bold; }
.text_normal{ font-weight: normal; }
.text_pink{ color: #c06c7d; }
.text_green{ color: #73b07d; }
.text_blue{ color: #0963ea; }
.text_gara{ font-family: "EB Garamond", serif; }

.lh_12{ line-height: 1.2; }
.lh_13{ line-height: 1.3; }
.lh_14{ line-height: 1.4; }
.lh_15{ line-height: 1.5; }
.lh_16{ line-height: 1.6; }
.lh_17{ line-height: 1.7; }
.lh_18{ line-height: 1.8; }
.lh_22{ line-height: 2.2; }
.lh_24{ line-height: 2.4; }

.ls_-1{ letter-spacing: -1px; }
.ls_1{ letter-spacing: 1px; }
.ls_2{ letter-spacing: 2px; }

.text_16{ font-size: 1.6rem; }
.text_17{ font-size: 1.7rem; }
.text_18{ font-size: 1.8rem; }
.text_19{ font-size: 1.9rem; }
.text_20{ font-size: 2.0rem; }
.text_21{ font-size: 2.1rem; }
.text_22{ font-size: 2.2rem; }
.text_24{ font-size: 2.4rem; }
.text_26{ font-size: 2.6rem; }
.text_28{ font-size: 2.8rem; }
.text_30{ font-size: 3.0rem; }
.text_32{ font-size: 3.2rem; }
.text_35{ font-size: 3.5rem; }
.text_36{ font-size: 3.6rem; }

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

	.text_18{ font-size: 1.7rem; }
	.text_21{ font-size: max(2.01vw, 1.8rem); }
	.text_22{ font-size: max(2.09vw, 2rem); }
	.text_24{ font-size: max(2.28vw, 2rem); }
	.text_26{ font-size: max(2.47vw, 2.2rem); }
	.text_28{ font-size: max(2.66vw, 2.2rem); }
	.text_30{ font-size: max(2.85vw, 2.2rem); }
	.text_32{ font-size: max(3.07vw, 2.2rem); }
	.text_35{ font-size: max(3.36vw, 2.3rem); }
	.text_36{ font-size: max(3.42vw, 2.2rem); }

}/*END*/

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

	p{ line-height: 1.8; }

}/*END*/


/*----------------------------------------
	共通
----------------------------------------*/

#container{ overflow: hidden; }
.inner_frame{
	position: relative;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}
.frame1000{
	max-width: 1040px;
}
.frame1040{
	max-width: 1080px;
}
.frame1050{
	max-width: 1090px;
}
.frame1150{
	max-width: 1190px;
}
.frame1350{
	max-width: 1390px;
}

li{ list-style:none; }
.center{ text-align:center; }
.left{ float:left; }
.right{ float:right; }
.clear{ clear:both; }
.op:hover img{
	filter: alpha(opacity=60);
	-moz-opacity:060;
	opacity:0.60;
}

.ttl_500{
	max-width: 500px;
	width: 100%;
}
.ttl_center{
	margin-left: auto;
	margin-right: auto;
}

@media print, screen and (min-width: 600px){

	.sp_br{
		display: none;
	}
	.pc_none{
		display: none !important;
	}

}/*END*/

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

	.inner_frame{
		padding-right: 3%;
		padding-left: 3%;
	}

}/*END*/

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

	.inner_frame{
		padding-right: 4.5%;
		padding-left: 4.5%;
	}
	.sp_left{
		text-align: left;
	}
	.pc_br{
		display: none;
	}
	.sp_none{
		display: none !important;
	}
	.sp_center{
		text-align: center;
	}
	.sp_left{
		text-align: left;
	}

}/*END*/


/*----------------------------------------
	header
----------------------------------------*/

header{
	position: relative;
}
header h1{
	position: absolute;
	left: 30px;
	top: 30px;
	width: calc((220/1350)*100%);
	z-index: 5;
	max-width: 220px;
}
.drawer{
	display: none;
	position: fixed;
	background: url("../images/drawer_bg.png") center no-repeat #023684;
	background-size: cover;
	top: 0;
	right: 0;
	width: 100%;
	height: 100vh;
	color: #fff;
	display: flex;
	justify-content: center;
	visibility: hidden;
	transform: translateY(-100%);
	transition: 0.5s ease-in-out;
	z-index: 50;
}
.drawer nav{
	width: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	max-width: 900px;
}
.open .drawer{
	visibility: visible;
	transform: translateX(0);
}
.open .drawer ul li{
	transform: translateX(0);
}
.drawer a{
	display: block;
}
.drawer ul{
	float: left;
	width: 50%;
}
.drawer ul li{
	margin-bottom: 40px;
}
.drawer ul li img{
	height: 75px;
}
.drawer .btn_contact{
	margin: 0 !important;
}
.nav_deco01{
	position: absolute;
	width: calc((130/1350)*100%);
	max-width: 130px;
	left: 3%;
	top: 18%;
	animation: nav_deco01 10s infinite;
}
.nav_deco02{
	position: absolute;
	width: calc((180/1350)*100%);
	max-width: 180px;
	left: 3%;
	bottom: 3%;
	animation: nav_deco02 10s infinite;
}
.nav_deco03{
	position: absolute;
	width: calc((121/1350)*100%);
	max-width: 121px;
	right: 6%;
	bottom: 7%;
	animation: nav_deco03 15s infinite;
}
.nav_deco04{
	position: absolute;
	width: calc((112/1350)*100%);
	max-width: 112px;
	top: 8%;
	left: 35%;
	animation: nav_deco04 10s infinite;
}
.nav_deco05{
	position: absolute;
	width: calc((229/1350)*100%);
	max-width: 229px;
	right: 3%;
	bottom: 33%;
	animation: nav_deco05 10s infinite;
}
@keyframes nav_deco01{
	0%{
		transform: rotate(0);
	}
	80%{
		transform: rotate(4deg);
	}
	85%{
		transform: rotate(-4deg);
	}
	90%{
		transform: rotate(4deg);
	}
	95%{
		transform: rotate(-4deg);
	}
	100%{
		transform: rotate(0);
	}
}
@keyframes nav_deco02{
	0%{
		transform: translateY(0);
	}
	15%{
		transform: translateY(-10px);
	}
	18%{
		transform: translateY(0);
	}
	21%{
		transform: translateY(-10px);
	}
	24%{
		transform: translateY(0);
	}
	100%{
		transform: rotate(0);
	}
}
@keyframes nav_deco03{
	0%{
		transform: translate(0);
	}
	30%{
		transform: translate(0, -5px);
	}
	35%{
		transform: translate(0, 5px);
	}
	40%{
		transform: translate(0, -5px);
	}
	45%{
		transform: translate(-100px, 0);
	}
	100%{
		transform: translate(0);
	}
}
@keyframes nav_deco04{
	0%{
		transform: scaleY(1);
	}
	20%{
		transform: scaleY(1);
	}
	25%{
		transform: scaleY(0.8);
	}
	30%{
		transform: scaleY(1);
	}
	35%{
		transform: scaleY(0.8);
	}
	40%{
		transform: scaleY(1);
	}
	100%{
		transform: scaleY(1);
	}
}
@keyframes nav_deco05{
	0%{
		transform: translateX(0);
	}
	70%{
		transform: translateX(0);
	}
	80%{
		transform: translateX(-50px);
	}
	90%{
		transform: translateX(0);
	}
	100%{
		transform: translateX(0);
	}
}
.btn_menu{
	position: fixed;
	width: 60px;
	height: 60px;
	right: 20px;
	top: 20px;
	background: #ee5307;
	cursor: pointer;
	transition: all 0.5s;
	z-index: 51;
	border-radius: 50%;
	display: none;
}
.btn_menu span{
	position: absolute;
	right: 10px;
	height: 1px;
	background: #fff;
	transition: all 0.4s;
}
.btn_menu span:nth-child(1){
	width: 40px;
	top: 25px;
}
.btn_menu span:nth-child(2){
	width: 30px;
	top: 35px;
}
.open .btn_menu span:nth-child(1){
	transform: rotate(45deg);
	top: 29px;
	width: 30px;
	right: 15px;
}
.open .btn_menu span:nth-child(2){
	transform: rotate(-45deg);
	top: 29px;
	right: 15px;
}

@media print, screen and (min-width: 600px){

	.d_btn02{
		display: none !important;
	}

}/*END*/

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

	.drawer nav{
		max-width: 850px;
	}
	.nav_deco01{
		left: 1%;
		width: 8%;
	}
	.drawer ul li img{
		height: 68px;
	}

}/*END*/

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

	.drawer nav{
		width: 86%;
	}
	.nav_deco01{
		top: 5%;
	}
	.drawer ul li img{
		height: 60px;
	}

}/*END*/

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

	.drawer ul li img{
		height: 50px;
	}
	.nav_deco05{
		bottom: 45%;
	}
	.drawer .btn_contact{
		width: 100%;
		font-size: 1.6rem;
	}

}/*END*/

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

	.head_logo{
		display: none;
	}
	.btn_menu{
		right: 10px;
		top: 10px;
	}
	.drawer ul li img{
		height: 40px;
	}
	.d_btn01{
		display: none !important;
	}
	.d_btn02{
		clear: both;
		margin-top: 30px;
		font-size: 1.5rem;
	}

}/*END*/

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

	.drawer ul li img{
		height: 25px;
	}
	.nav_deco01,
	.nav_deco02,
	.nav_deco03,
	.nav_deco04,
	.nav_deco05{
		display: none;
	}

}/*END*/


/*----------------------------------------
	MV
----------------------------------------*/

.mv{
	position: relative;
	width: 100%;
	max-width: 1350px;
	margin-left: auto;
	margin-right: auto;
}
.mv_ttl,
.mv_copy01,
.mv_copy02,
.mv_text,
.mv_deco01,
.mv_deco02,
.mv_deco03,
.mv_deco04,
.mv_deco05,
.mv_deco06,
.mv_deco07,
.mv_deco08,
.mv_deco09,
.mv_deco10,
.mv_deco11,
.mv_deco12,
.mv_img,
.mv_kukaku{
	position: absolute;
	opacity: 0;
	display: inline-block;
}
.mv_ttl{
	width: calc((498/1350)*100%);
	right: 9.5%;
	top: 5%;
}
.mv_copy01{
	width: calc((109/1350)*100%);
	left: 12%;
	top: 30%;
}
.mv_copy02{
	width: calc((109/1350)*100%);
	right: 11%;
	top: 46%;
}
.mv_text{
	width: calc((356/1350)*100%);
	left: 12%;
	bottom: 10%;
}
.mv_deco01{
	width: calc((148/1350)*100%);
	left: 4%;
	top: 14%;
}
.mv_deco02{
	width: calc((155/1350)*100%);
	left: 17%;
	top: 12%;
}
.mv_deco03{
	width: calc((111/1350)*100%);
	left: 31%;
	top: 16%;
}
.mv_deco04{
	width: calc((113/1350)*100%);
	left: 40%;
	top: 8%;
}
.mv_deco05{
	width: calc((69/1350)*100%);
	right: 3%;
	top: 6%;
}
.mv_deco06{
	width: calc((123/1350)*100%);
	right: 20%;
	top: 36%;
	z-index: 2;
}
.mv_deco07{
	width: calc((146/1350)*100%);
	right: 2.5%;
	top: 34%;
}
.mv_deco08{
	width: calc((109/1350)*100%);
	left: 4%;
	bottom: 28%;
}
.mv_deco09{
	width: calc((171/1350)*100%);
	left: 9%;
	bottom: 0;
}
.mv_deco10{
	width: calc((128/1350)*100%);
	left: 38%;
	bottom: 2%;
	z-index: 2;
}
.mv_deco11{
	width: calc((111/1350)*100%);
	right: 15.5%;
	bottom: 10%;
}
.mv_deco12{
	width: calc((110/1350)*100%);
	right: 5%;
	bottom: 5%;
}
.mv_img{
	width: calc((745/1350)*100%);
	left: 23%;
	top: 23%;
}
.mv_kukaku{
	width: calc((208/1350)*100%);
	right: 27%;
	bottom: 5%;
	z-index: 2;
}
.mv_text.start,
.mv_deco01.start,
.mv_deco02.start,
.mv_deco03.start,
.mv_deco04.start,
.mv_deco05.start,
.mv_deco06.start,
.mv_deco07.start,
.mv_deco08.start,
.mv_deco09.start,
.mv_deco10.start,
.mv_deco11.start,
.mv_deco12.start{
	animation:mv_deco 0.6s cubic-bezier(.32,2.14,.93,.86) forwards;
}
@keyframes mv_deco{
	0%{
		margin-top: 0;
		opacity: 1;
	}
	50%{
		margin-top: -30px;
		opacity: 1;
	}
	100%{
		margin-top: 0;
		opacity: 1;
	}
}
.mv_kukaku.start,
.mv_ttl.start{
	animation:mv_ttl 0.6s ease-in-out forwards;
}
@keyframes mv_ttl{
	0%{
		transform: scale(1);
		opacity: 0;
	}
	50%{
		transform: scale(1.3);
		opacity: 1;
	}
	100%{
		transform: scale(1);
		opacity: 1;
	}
}
.mv_copy01.start,
.mv_copy02.start{
	animation:mv_copy 0.4s cubic-bezier(.32,2.14,.93,.86) forwards;
}
@keyframes mv_copy{
	0%{
		margin-top: -200px;
		opacity: 0;
	}
	100%{
		margin-top: 0;
		opacity: 1;
	}
}
.mv_img.start{
	animation:mv_img 0.6s ease-in-out forwards;
}
@keyframes mv_img{
	0%{
		transform: scale(0);
		opacity: 0;
	}
	50%{
		transform: scale(1.1);
		opacity: 1;
	}
	100%{
		transform: scale(1);
		opacity: 1;
	}
}

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

	header h1{
		width: 35%;
		top: 15px;
		left: 15px;
	}
	.mv_bg{
		display: none !important;
	}
	.mv{
		aspect-ratio: 4/7;
	}
	.mv_img{
		width: 80%;
		left: 10%;
		top: 33%;
	}
	.mv_ttl{
		width: 60%;
		top: 10%;
		right: 6%;
	}
	.mv_copy01{
		width: 13%;
		top: 12%;
		left: 4%;
	}
	.mv_copy02{
		width: 13%;
		right: 3%;
		top: inherit;
		bottom: 1.5%;
	}
	.mv_text{
		width: 44%;
		left: 5%;
	}
	.mv_deco09{
		width: 22%;
	}
	.mv_deco02{
		left: 22%;
	}
	.mv_deco10{
		width: 15%;
		bottom: 0.2%;
		left: 53%;
	}
	.mv_kukaku{
		width: 23%;
		bottom: 14%;
		right: 22%;
	}
	.mv_deco08{
		width: 13%;
		bottom: 35%;
		z-index: 1;
	}
	.mv_deco05{
		width: 9%;
		top: 2.5%;
		right: 5%;
	}
	.mv_deco11{
		width: 14%;
		right: -5%;
		bottom: 32%;
	}
	.mv_deco06{
		width: 18%;
		right: 2%;
	}
	.mv_deco04{
		width: 12%;
		top: 26%;
		left: 20%;
	}
	.mv_deco12,
	.mv_deco01,
	.mv_deco07,
	.mv_deco03{
		display: none !important;
	}

}/*END*/


/*----------------------------------------
	loop slider
----------------------------------------*/

.roop_slider{
	display: flex;
	overflow: hidden;
}
.slider{
	display: flex;
	list-style: none;
	padding: 0
}
.slide{
	width: 546px;
}
.slider_concept .slide{
	width: 546px;
}
.slide>img{
	width: 100%;
}
.slider{
	animation: scroll-left 200s infinite linear .5s both;
}
@keyframes scroll-left{
	from{
		transform: translateX(0);
	}
	to{
		transform: translateX(-100%);
	}
}
.roop_slider02{
	display: flex;
	overflow: hidden;
}
.slider02{
	display: flex;
	list-style: none;
	padding: 0
}
.slide02{
	width: 400px;
}
.slide02>img {
	width: 100%;
}
.slider02{
	animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}

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

	.slide{
		width: 400px;
	}
	.slide02{
		width: 250px;
	}

}/*END*/


/*----------------------------------------
	concept
----------------------------------------*/

.concept_bg{
	position: relative;
	background: #def15d;
}
.concept_bg h2{
	margin-left: auto;
	margin-right: auto;
	width: calc((344/1040)*100%);
}
.concept_copy{
	margin-left: auto;
	margin-right: auto;
	width: calc((379/1040)*100%);
}
.concept_kukaku{
	position: absolute;
	width: calc((129/1040)*100%);
	top: 20px;
	right: 22%;
	opacity: 0;
}
.concept_kukaku.start{
	animation:concept_kukaku 0.6s cubic-bezier(.32,2.14,.93,.86) forwards;
	animation-delay: 1s;
}
@keyframes concept_kukaku{
	0%{
		transform: scale(1);
		opacity: 0;
	}
	50%{
		transform: scale(1.7);
		opacity: 1;
	}
	100%{
		transform: scale(1);
		opacity: 1;
	}
}
.concept_deco01{
	position: absolute;
	width: calc((105/1040)*100%);
	left: 12%;
	top: 180px;
	opacity: 0;
	transform: translate(0, 50px);
}
.concept_deco01.start{
	animation: concept_deco01 1s ease-in-out forwards;
}
@keyframes concept_deco01{
	0%{
		opacity: 0;
		transform: translate(0, 50px);
	}
	25%{
		opacity: 1;
		transform: translate(5px, 35px);
	}
	50%{
		opacity: 1;
		transform: translate(-5px, 20px);
	}
	75%{
		opacity: 1;
		transform: translate(5px , 0);
	}
	100%{
		opacity: 1;
		transform: translate(0);
	}
}
.concept_deco02{
	position: absolute;
	width: calc((171/1040)*100%);
	left: -3%;
	bottom: 90px;
	opacity: 0;
	transform: translateX(-50px);
}
.concept_deco02.start{
	animation: concept_deco02 0.6s ease-in-out forwards;
}
@keyframes concept_deco02{
	0%{
		opacity: 0;
		transform: translateX(-50px);
	}
	100%{
		opacity: 1;
		transform: translateX(0);
	}
}
.concept_deco03{
	position: absolute;
	width: calc((125/1040)*100%);
	top: 50%;
	right: 0;
	opacity: 0;
}
.concept_deco03.start{
	animation: concept_deco03 0.6s ease-in-out forwards;
}
@keyframes concept_deco03{
	0%{
		opacity: 0;
		transform: rotate(0);
	}
	50%{
		opacity: 1;
		transform: rotate(-30deg);
	}
	100%{
		opacity: 1;
		transform: rotate(0);
	}
}
.weekday_frame{
	aspect-ratio: 27/16;
}
.dayoff_text,
.weekday_text{
	text-align: center;
}
.dayoff_text p,
.weekday_text p{
	writing-mode: vertical-rl;
	display: inline-block;
	text-align: justify;
	text-orientation: upright;
}
.dayoff_text p span{
	text-combine-upright: all;
}
.weekday_img{
	position: absolute;
	width: calc((629/1350)*100%);
	top: 100px;
	left: 7%;
	opacity: 0;
}
.weekday_img.start{
	animation: weekday_img 1.5s forwards;
}
@keyframes weekday_img{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
.weekday_copy{
	position: absolute;
	width: calc((405/1350)*100%);
	left: 9%;
	bottom: 9.5%;
	opacity: 0;
}
.weekday_copy.start{
	animation: weekday_copy 0.6s forwards;
}
@keyframes weekday_copy{
	0%{
		opacity: 0;
		transform: scale(1.5);
	}
	50%{
		opacity: 1;
		transform: scale(1.5);
	}
		100%{
		opacity: 1;
		transform: scale(1);
	}
}
.weekday_deco01{
	position: absolute;
	width: calc((117/1350)*100%);
	left: 4%;
	top: 7%;
	animation: weekday_deco01 6s infinite;
}
@keyframes weekday_deco01{
	0%{
		transform: translateX(0);
	}
	5%{
		transform: translateX(-10px);
	}
	10%{
		transform: translateX(0);
	}
	15%{
		transform: translateX(-10px);
	}
	20%{
		transform: translateX(0);
	}
	100%{
		transform: translateX(0);
	}
}
.weekday_deco02{
	position: absolute;
	width: calc((225/1350)*100%);
	right: 6%;
	bottom: 6%;
	animation: weekday_deco02 10s infinite;
}
@keyframes weekday_deco02{
	0%{
		transform: translateX(0);
	}
	30%{
		transform: translateX(0);
	}
	50%{
		transform: translateX(50px);
	}
	70%{
		transform: translateX(0);
	}
	100%{
		transform: translateX(0);
	}
}
.dayoff_bg{
	background: #dceaec;
	aspect-ratio: 27/16;
}
.dayoff_img{
	position: absolute;
	width: calc((629/1350)*100%);
	left: 43%;
	top: 15%;
	opacity: 0;
}
.dayoff_img.start{
	animation: dayoff_img 1.5s forwards;
}
@keyframes dayoff_img{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
.dayoff_copy{
	position: absolute;
	width: calc((397/1350)*100%);
	top: 12%;
	right: 10%;
	opacity: 0;
}
.dayoff_copy.start{
	animation: dayoff_copy 0.6s forwards;
	animation-delay: 0.8s;
}
@keyframes dayoff_copy{
	0%{
		opacity: 0;
		transform: scale(1.5);
	}
	50%{
		opacity: 1;
		transform: scale(1.5);
	}
		100%{
		opacity: 1;
		transform: scale(1);
	}
}
.dayoff_deco01{
	position: absolute;
	width: calc((171/1350)*100%);
	left: 2%;
	bottom: -11%;
	animation: dayoff_deco01 8s infinite;
}
@keyframes dayoff_deco01{
	0%{
		transform: rotate(0);
	}
	50%{
		transform: rotate(0);
	}
	55%{
		transform: rotate(-5deg);
	}
	60%{
		transform: rotate(0);
	}
	65%{
		transform: rotate(-5deg);
	}
	70%{
		transform: rotate(0);
	}
	100%{
		transform: rotate(0);
	}
}
.dayoff_deco02{
	position: absolute;
	width: calc((324/1350)*100%);
	right: 8%;
	bottom: -14%;
	animation: dayoff_deco02 6s infinite;
}
@keyframes dayoff_deco02{
	0%{
		transform: rotate(0);
	}
	10%{
		transform: rotate(0);
	}
	15%{
		transform: rotate(5deg);
	}
	20%{
		transform: rotate(0);
	}
	10%{
		transform: rotate(0);
	}
}

@media print, screen and (min-width: 600px){

	.weekday_text{
		margin-left: 53%;
		width: calc((471/1350)*100%);
	}
	.dayoff_text{
		width: calc((385/1350)*100%);
		padding-top: 175px;
		margin-left: 12%;
	}

}/*END*/

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

	.dayoff_img{
		left: 48%;
	}
	.weekday_text{
		padding-top: 100px !important;
	}
	.dayoff_text{
		padding-top: 100px !important;
	}

}/*END*/

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

	.weekday_img{
		width: 40%;
	}
	.dayoff_img{
		width: 40%;
		left: 55%;
	}
	.weekday_text{
		padding-top: 80px !important;
	}
	.dayoff_text{
		padding-top: 80px !important;
	}
	.dayoff_copy{
		top: 8%;
	}
	.dayoff_deco02{
		bottom: -2%;
	}

}/*END*/

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

	.weekday_text{
		padding-top: 50px !important;
	}
	.dayoff_text{
		padding-top: 50px !important;
	}
	.dayoff_text{
		margin-left: 4%;
	}
	.dayoff_deco01{
		bottom: 0;
	}
	.dayoff_img{
		width: 35%;
		left: 60%;
	}
	.dayoff_deco02{
		bottom: 8%;
	}
	.concept_deco01{
		top: 100px;
	}
	.concept_deco02{
		bottom: 10px;
	}
	#concept p.text_18{
		position: relative;
		z-index: 2;
	}

}/*END*/

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

	.dayoff_bg,
	.weekday_frame{
		aspect-ratio: auto;
		padding-bottom: 50px;
	}
	.weekday_text{
		margin-left: auto;
		margin-right: auto;
	}
	.weekday_img{
		position: relative;
		top: inherit;
		left: inherit;
		display: block;
		margin-left: auto;
		margin-right: auto;
		width: 80%;
		margin-top: 20px;
	}
	.weekday_copy{
		width: 55%;
		bottom: 3%;
	}
	.weekday_text h3{
		margin-left: auto;
		margin-right: auto;
		width: 80%;
	}
	.weekday_deco01{
		top: 50%;
		width: 15%;
	}
	.weekday_deco02{
		width: 20%;
		bottom: 3%;
		right: 3%;
	}
	.concept_bg h2{
		width: 70%;
		margin-left: 10%;
	}
	.concept_copy{
		width: 75%;
	}
	.concept_deco01{
		top: 170px;
		left: 1%;
		width: 15%;
	}
	.concept_deco02{
		display: none;
	}
	.concept_kukaku{
		right: 3%;
		top: 6%;
		width: 20%;
	}
	.concept_deco03{
		display: none;
	}
	.dayoff_text h3{
		margin-left: auto;
		margin-right: auto;
		width: 80%;
	}
	.dayoff_img{
		display: block;
		position: relative;
		margin-left: auto;
		margin-right: auto;
		width: 80%;
		left: inherit;
		top: inherit;
		margin-top: 40px;
	}
	.dayoff_copy{
		width: 55%;
		top: 60%;
	}
	.dayoff_deco02{
		width: 35%;
		bottom: 0;
		right: 3%;
	}
	.dayoff_deco01{
		width: 20%;
		bottom: 35%;
	}

}/*END*/


/*----------------------------------------
	land
----------------------------------------*/

.land_text h2{
	width: calc((293/410)*100%);
}
.land_point{
	position: relative;
	width: calc((387/410)*100%);
}
.land_point:before{
	content: "";
	background: #fff;
	width: 100%;
	height: 50%;
	position: absolute;
	left: 0;
	top: 0;
}
.land_point:after{
	content: "";
	background: #fff;
	width: 100%;
	height: 50%;
	position: absolute;
	left: 0;
	bottom: 0;
}
.land_point.start:before,
.land_point.start:after{
	animation:land_point 0.6s forwards;
	animation-delay: 1s;
}
@keyframes land_point{
	0%{
		height: 50%;
	}
	100%{
		height: 0;
	}
}
.land_fukidashi{
	position: absolute;
	width: calc((343/520)*100%);
	top: 0;
	left: 10px;
	animation: land_fukidashi 1.5s infinite;
}
@keyframes land_fukidashi{
	0%{
		transform: rotate(0);
	}
	10%{
		transform: rotate(3deg);
	}
	15%{
		transform: rotate(-3deg);
	}
	20%{
		transform: rotate(3deg);
	}
	25%{
		transform: rotate(-3deg);
	}
	30%{
		transform: rotate(3deg);
	}
	35%{
		transform: rotate(0);
	}
	0%{
		transform: rotate(0);
	}
}
.land_deco{
	position: absolute;
	width: calc((166/410)*100%);
	top: -10%;
	right: -15%;
	opacity: 0;
}
.land_deco.start{
	animation: land_deco 0.6s cubic-bezier(.32,2.14,.93,.86) forwards;
	animation-delay: 1s;
}
@keyframes land_deco{
	0%{
		transform: translateY(50px);
	}
	100%{
		opacity: 1;
		transform: translateY(0);
	}
}
.land_text{
	position: relative;
}
.land_img{
	position: relative;
}
@media print, screen and (min-width: 600px){

	.land_text{
		float: right;
		width: calc((410/1000)*100%);
	}
	.land_img{
		float: left;
		width: calc((520/1000)*100%);
	}

}/*END*/

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

	#land{
		padding-top: 60px;
	}

}/*END*/

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

	#land{
		padding-top: 10px;
	}
	.land_text h2{
		width: 68%;
		margin-left: auto;
		margin-right: auto;
	}
	.land_deco{
		display: none;
	}
	.land_point{
		margin-left: auto;
		margin-right: auto;
		padding-top: 20px;
	}
	.land_img{
		padding-top: 30px;
		margin-top: 20px;
	}
	.land_fukidashi{
		width: 95%;
	}

}/*END*/


/*----------------------------------------
	location
----------------------------------------*/

#location{
	background: #dceaec;
}
#location h2{
	margin-left: auto;
	margin-right: auto;
	width: calc((264/1040)*100%);
}
.location_deco{
	position: absolute;
	width: calc((138/1040)*100%);
	left: 5%;
	top: 120px;
	opacity: 0;
}
.location_deco.start{
	animation: location_deco 1s forwards;
	animation-delay: 0.5s;
}
@keyframes location_deco{
	0%{
		opacity: 0;
		transform: translateX(-100px);
	}
	100%{
		opacity: 1;
		transform: translateX(0);
	}
}
#location ul li{
	position: relative;
	opacity: 0;
}
#location ul.start li{
	animation: location_list 0.6s cubic-bezier(.32,2.14,.93,.86) forwards;
}
#location ul.start li:nth-child(2){
	animation-delay: 0.3s;
}
#location ul.start li:nth-child(3){
	animation-delay: 0.6s;
}
@keyframes location_list{
	0%{
		opacity: 0;
		transform: translateY(100px);
	}
	100%{
		opacity: 1;
		transform: translateY(0);
	}
}
.location_point{
	position: absolute;
	top: -10px;
	right: -15px;
}
.location_point01{
	width: calc((162/322)*100%);
}
.location_point02{
	width: calc((239/322)*100%);
}
.location_point03{
	width: calc((166/322)*100%);
}
#location ul.start li .location_point{
	animation: location_point 0.6s cubic-bezier(.32,2.14,.93,.86) forwards;
}
#location ul.start li:nth-child(1) .location_point{
	animation-delay: 0.4s;
}
#location ul.start li:nth-child(2) .location_point{
	animation-delay: 0.7s;
}
#location ul.start li:nth-child(3) .location_point{
	animation-delay: 1s;
}
@keyframes location_point{
	0%{
		transform: scale(1);
	}
	50%{
		transform: scale(1.3);
	}
	100%{
		transform: scale(1);
	}
}
#location table th{
	font-weight: normal;
	text-align: left;
	border-bottom: 1px solid #000;
	padding: 12px 10px 12px 25px;
}
#location table td{
	text-align: right;
	border-bottom: 1px solid #000;
	padding: 12px 0;
}

@media print, screen and (min-width: 600px){

	#location ul{
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 37px;
	}

}/*END*/

@media print, screen and (min-width: 769px){

	#location table{
		width: calc((500/1040)*100%);
	}
	#location table:first-child{
		float: left;
	}
	#location table:last-child{
		float: right;
	}

}/*END*/

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

	#location table{
		width: 100%;
	}
	.location_deco{
		top: 50px;
	}

}/*END*/

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

	#location h2{
		width: 60%;
	}
	#location ul{
		padding-right: 5%;
		padding-left: 5%;
	}
	#location ul li{
		margin-bottom: 40px;
	}
	#location table th{
		display: block;
		padding: 12px 10px 0 10px;
		border-bottom: none;
	}
	#location table td{
		display: block;
		text-align: left;
		border-bottom: 1px solid #000;
		padding: 12px 10px;
	}
	.location_deco{
		display: none;
	}

}/*END*/


/*----------------------------------------
	plan
----------------------------------------*/

#plan{
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #cfe157 calc(100% - 1px)),
	linear-gradient(90deg, transparent calc(100% - 1px), #cfe157 calc(100% - 1px));
	background-size: 60px 60px;
	background-repeat: repeat;
	background-position: center center;
	background-color: #def15d;
	position: relative;
}
.plan_text{
	position: relative;
}
.plan_text h2{
	width: calc((319/480)*100%);
}
.plan_text p{
	writing-mode: vertical-rl;
	display: inline-block;
	text-align: justify;
}
.plan_deco{
	position: absolute;
	width: calc((112/480)*100%);
	bottom: -50px;
	right: -14%;
	opacity: 0;
}
.plan_deco.start{
	animation: plan_deco 0.6s forwards;
}
@keyframes plan_deco{
	0%{
		opacity: 0;
		transform: translateX(100px);
	}
	100%{
		opacity: 1;
		transform: translateX(0);
	}
}
.plan_img{
	position: relative;
	opacity: 0;
}
.plan_img.start{
	animation: plan_img 0.6s forwards;
}
@keyframes plan_img{
	0%{
		opacity: 0;
		transform: scale(0);
	}
	100%{
		opacity: 1;
		transform: scale(1);
	}
}
.plan_img img.respon{
	width: calc((481/460)*100%);
	margin-left: -10%;
}
.plan_deco01{
	position: absolute;
	width: calc((132/460)*100%);
	top: 5%;
	left: -30%;
	animation: plan_deco01 6s infinite;
}
@keyframes plan_deco01{
	0%{
		transform: translateX(0);
	}
	20%{
		transform: translateX(0);
	}
	35%{
		transform: translateX(-80px);
	}
	50%{
		transform: translateX(0);
	}
	100%{
		transform: translateX(0);
	}
}
.plan_deco02{
	position: absolute;
	width: calc((189/460)*100%);
	bottom: -2%;
	left: -30%;
	animation: plan_deco02 6s infinite;
}
@keyframes plan_deco02{
	0%{
		transform: scale(1);
	}
	10%{
		transform: scale(1.2);
	}
	20%{
		transform: scale(1);
	}
	30%{
		transform: scale(1.2);
	}
	40%{
		transform: scale(1);
	}
	100%{
		transform: scale(1);
	}
}
.plan_deco03{
	position: absolute;
	width: calc((92/460)*100%);
	bottom: 40%;
	left: -30%;
	animation: plan_deco03 6s infinite;
}
@keyframes plan_deco03{
	0%{
		transform: rotate(0);
	}
	90%{
		transform: rotate(0);
	}
	100%{
		transform: rotate(360deg);
	}
}
.plan_deco04{
	position: absolute;
	width: calc((143/460)*100%);
	top: 0;
	right: 2%;
	animation: plan_deco04 6s infinite;
}
@keyframes plan_deco04{
	0%{
		transform: scale(1);
	}
	40%{
		transform: scale(1);
	}
	50%{
		transform: scale(1.2);
	}
	60%{
		transform: scale(1);
	}
	70%{
		transform: scale(1.2);
	}
	80%{
		transform: scale(1);
	}
	100%{
		transform: scale(1);
	}
}
.text_line{
	border-right: 1px solid #0963ea;
	padding-right: 3px;
}
.tab{
	text-align: center;
}
.tab li{
	display: inline-block;
	width: 180px;
	margin-left: 5px;
	margin-right: 5px;
	cursor: pointer;
}
.tab li img{
	transition: all 0.4s;
}
.tab li:nth-child(1){
	background: url("../images/tab7_on.png");
	background-size: 100%;
}
.tab li:nth-child(2){
	background: url("../images/tab9_on.png");
	background-size: 100%;
}
.tab li:nth-child(3){
	background: url("../images/tab13_on.png");
	background-size: 100%;
}
.tab li:hover img,
.tab li.active img{
	opacity: 0;
}

.plan_box{
	background: #fff;
	border: 3px solid #000;
	border-radius: 20px;
	display: none;
	box-sizing: border-box;
	padding-left: calc((80/1040)*100%);
	padding-right: calc((80/1040)*100%);
}
.plan_box.show{
	display: block;
}


.plan_copy01 span,
.plan_copy02 span{
	opacity: 0;
}
.plan_copy01.start span,
.plan_copy02.start span{
	animation: plan_copy 0.4s forwards;
}
@keyframes plan_copy{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
.plan_copy01.start span:nth-child(1){
	animation-delay: 0.5s;
}
.plan_copy01.start span:nth-child(2){
	animation-delay: 0.6s;
}
.plan_copy01.start span:nth-child(3){
	animation-delay: 0.7s;
}
.plan_copy01.start span:nth-child(4){
	animation-delay: 0.8s;
}
.plan_copy01.start span:nth-child(5){
	animation-delay: 0.9s;
}
.plan_copy02.start span:nth-child(1){
	animation-delay: 1s;
}
.plan_copy02.start span:nth-child(2){
	animation-delay: 1.1s;
}
.plan_copy02.start span:nth-child(3){
	animation-delay: 1.2s;
}
.plan_copy02.start span:nth-child(4){
	animation-delay: 1.3s;
}
.plan_copy02.start span:nth-child(5){
	animation-delay: 1.4s;
}
.plan_copy02.start span:nth-child(6){
	animation-delay: 1.5s;
}
.plan_copy02.start span:nth-child(7){
	animation-delay: 1.6s;
}
.plan18_madori{
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 540px;
}

@media print, screen and (min-width: 600px){

	.plan_text{
		float: right;
		width: calc((480/1000)*100%);
	}
	.plan_img{
		float: left;
		width: calc((460/1000)*100%);
	}
	.plan_l{
		float: left;
		width: calc((410/880)*100%);
	}
	.plan_r{
		float: right;
		width: calc((410/880)*100%);
	}
	.plan_box ul{
		display: grid;
		grid-template-columns: repeat(2,1fr);
		column-gap: 60px;
	}
	.plan18_menseki{
		padding-top: 40px;
	}
	.plan_price{
		position: relative;
	}
	.plan_price:after{
		content: "";
		height: 80%;
		width: 1px;
		background: #000;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: -30px;
	}

}/*END*/

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

	.plan_img img.respon{
		margin-left: 6%;
		width: 94%;
	}
	.plan_deco02{
		left: -10%;
		width: 30%;
		bottom: 2%;
	}
	.plan_deco03{
		left: -3%;
		bottom: 35%;
		width: 15%;
	}
	.plan_deco01{
		left: -7%;
	}
	.plan_deco{
		right: -5%;
	}

}/*END*/

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

	.plan_text{
		margin-right: 6%;
	}

}/*END*/

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

	.plan_img{
		margin-top: 40px;
		width: 40%;
	}
	.plan_text{
		margin-right: 10%;
	}
	.tab{
		margin-top: 60px;
	}
	.tab li{
		width: 150px;
	}

}/*END*/

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

	.plan_text h2{
		width: 80%;
		margin-right: auto;
		margin-left: auto;
	}
	.plan_text{
		text-align: center;
		margin-right: 0;
	}
	.plan_text p{
		line-height: 2;
		margin-top: 20px;
	}
	.plan_img{
		width: 90%;
		margin-left: 6%;
		margin-bottom: 30px;
	}
	.plan_deco{
		right: 0;
		bottom: -3%;
		width: 20%;
	}
	.tab li{
		width: 120px;
	}

}/*END*/

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

	.tab li{
		width: 100px;
	}

}/*END*/


/*----------------------------------------
	model house
----------------------------------------*/

.btn_yoyaku{
	display: block;
	position: relative;
	background: #000;
	box-sizing: border-box;
	width: 320px;
	padding: 25px 0 25px 30px;
	border-radius: 50px;
	letter-spacing: 1px;
	color: #fff;
	text-decoration: none;
}
.btn_yoyaku:hover{
	color: #fff;
}
.btn_yoyaku span{
	display: inline-block;
	transition: all 0.4s;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 30px;
}
.btn_yoyaku span:before,
.btn_yoyaku span:after{
	content: "";
	background: #fff;
	width: 12px;
	height: 2px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.btn_yoyaku span:before{
	transform: rotate(45deg);
	margin-top: -4px;
}
.btn_yoyaku span:after{
	transform: rotate(-45deg);
	margin-top: 3px;
}
.btn_yoyaku:hover span{
	right: 25px;
}
.model_img,
.model_text{
	position: relative;
}
.model_photo{
	opacity: 0;
}
.model_deco01{
	position: absolute;
	width: calc((111/380)*100%);
	bottom: 20%;
	left: -40%;
	opacity: 0;
}
.model_deco01.start{
	animation: model_deco01 0.6s forwards;
}
@keyframes model_deco01{
	0%{
		opacity: 0;
		transform: translateX(-100px);
	}
	100%{
		opacity: 1;
		transform: translateX(0);
	}
}
.model_deco02{
	position: absolute;
	width: calc((82/514)*100%);
	top: -8%;
	left: 20%;
	opacity: 0;
}
.model_deco03{
	position: absolute;
	width: calc((159/514)*100%);
	bottom: 0;
	left: -5%;
	opacity: 0;
}
.model_deco04{
	position: absolute;
	width: calc((101/514)*100%);
	bottom: -15%;
	left: 30%;
	opacity: 0;
}
.model_deco05{
	position: absolute;
	width: calc((156/514)*100%);
	bottom: -13%;
	right: 0;
	opacity: 0;
}
.model_img.start .model_photo,
.model_img.start .model_deco02,
.model_img.start .model_deco03,
.model_img.start .model_deco04,
.model_img.start .model_deco05{
	animation: model_img 0.6s cubic-bezier(.32,2.14,.93,.86) forwards;
}
.model_img.start .model_deco03{
	animation-delay: 0.6s;
}
.model_img.start .model_photo,
.model_img.start .model_deco02,
.model_img.start .model_deco05{
	animation-delay: 1s;
}
@keyframes model_img{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
.model_copy{
	position: absolute;
	width: calc((150/514)*100%);
	right: -7%;
	top: -8%;
		opacity: 0;
}
.model_img.start .model_copy{
	animation: model_copy 0.6s cubic-bezier(.32,2.14,.93,.86) forwards;
	animation-delay: 1s;
}
@keyframes model_copy{
	0%{
		opacity: 0;
		transform: scale(1);
	}
	50%{
		opacity: 1;
		transform: scale(1.5);
	}
	100%{
		opacity: 1;
		transform: scale(1);
	}
}

@media print, screen and (min-width: 600px){

	.model_text{
		float: left;
		width: calc((380/1040)*100%);
	}
	.model_text h2{
		width: calc((344/380)*100%);
	}
	.model_uketsuke{
		width: calc((287/380)*100%);
	}
	.model_img{
		float: right;
		width: calc((514/1040)*100%);
	}

}/*END*/

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

	.model_img{
		margin-right: 5%;
	}

}/*END*/

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

	#model{
		padding-bottom: 150px;
	}
	.model_text h2{
		width: 75%;
		margin-left: auto;
		margin-right: auto;
	}
	.model_uketsuke{
		width: 70%;
		margin-left: auto;
		margin-right: auto;
	}
	.model_img{
		margin-bottom: 80px;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.btn_yoyaku{
		margin-left: auto;
		margin-right: auto;
	}

}/*END*/


/*----------------------------------------
	about
----------------------------------------*/

#about{
	position: relative;
	background: #dbe7e8;
}
#about h2{
	position: absolute;
	width: calc((152/1040)*100%);
	top: -130px;
	right: 40px;
}
#about ul li{
	position: relative;
	border-radius: 40px;
	overflow: hidden;
	box-sizing: border-box;
	border: 2px solid #000;
	opacity: 0;
}
#about ul.start li{
	animation: about_list 1s cubic-bezier(.32,2.14,.93,.86) forwards;
}
#about ul.start li:nth-child(2){
	animation-delay: 0.3s;
}
#about ul.start li:nth-child(3){
	animation-delay: 0.6s;
}
#about ul.start li:nth-child(4){
	animation-delay: 0.9s;
}
@keyframes about_list{
	0%{
		transform: scale(1.3);
		opacity: 0;
	}
	50%{
		transform: scale(1);
		opacity: 1;
	}
	100%{
		transform: scale(1);
		opacity: 1;
	}
}

.about_text{
	position: absolute;
	left: 0;
	top: 0;
}
.btn_voice{
	display: block;
	position: relative;
	border: 2px solid #000;
	box-sizing: border-box;
	width: 320px;
	padding: 25px 0 25px 30px;
	border-radius: 50px;
	letter-spacing: 1px;
	color: #000;
	text-decoration: none;
	margin-left: auto;
	margin-right: auto;
}
.btn_voice:hover{
	color: #000;
}
.btn_voice span{
	display: inline-block;
	transition: all 0.4s;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 30px;
}
.btn_voice span:before,
.btn_voice span:after{
	content: "";
	background: #000;
	width: 12px;
	height: 2px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.btn_voice span:before{
	transform: rotate(45deg);
	margin-top: -4px;
}
.btn_voice span:after{
	transform: rotate(-45deg);
	margin-top: 3px;
}
.btn_voice:hover span{
	right: 25px;
}
.about_deco01{
	position: absolute;
	width: calc((145/1040)*100%);
	bottom: 15%;
	left: 5%;
	animation: about_deco01 6s infinite;
}
@keyframes about_deco01{
	0%{
		transform: translateY(0);
	}
	10%{
		transform: translateY(0);
	}
	15%{
		transform: translateY(-30px);
	}
	20%{
		transform: translateY(0);
	}
	25%{
		transform: translateY(-30px);
	}
	30%{
		transform: translateY(0);
	}
	35%{
		transform: translateY(-30px);
	}
	40%{
		transform: translateY(0);
	}
	0%{
		transform: translateY(0);
	}
}
.about_deco02{
	position: absolute;
	width: calc((183/1040)*100%);
	bottom: 5%;
	right: 5%;
	animation: about_deco02 6s infinite;
}
@keyframes about_deco02{
	0%{
		transform: rotate(0);
	}
	40%{
		transform: rotate(0);
	}
	50%{
		transform: rotate(5deg);
	}
	60%{
		transform: rotate(-5deg);
	}
	70%{
		transform: rotate(5deg);
	}
	80%{
		transform: rotate(-5deg);
	}
	90%{
		transform: rotate(0);
	}
	100%{
		transform: rotate(0);
	}
}

@media print, screen and (min-width: 600px){

	#about ul{
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 40px;
	}

}/*END*/

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

	#about{
		padding-top: 80px;
	}
	#about h2{
		width: 25%;
		top: -210px;
	}
	#about ul li{
		margin-bottom: 35px;
	}
	.about_deco01{
		width: 17%;
		bottom: 12%;
		left: 3%;
	}
	.about_deco02{
		width: 20%;
		bottom: 5.5%;
	}

}/*END*/


/*----------------------------------------
	works
----------------------------------------*/

#works h2{
	margin-left: auto;
	margin-right: auto;
	width: calc((233/1040)*100%);
}
#works ul li a{
	color: inherit;
	text-decoration: none;
	display: block;
}
#works ul li a img{
	transition: all 0.4s;
}
#works ul li a:hover img{
	transform: scale(1.3);
}
#works ul li div{
	border: 2px solid #000;
	overflow: hidden;
}
#works ul li p{
	font-size: 1.2rem;
	color: #a0a0a0;
}
.works_deco{
	position: absolute;
	width: calc((84/1040)*100%);
	top: 120px;
	right: 29%;
	opacity: 0;
}
.works_deco.start{
	animation: works_deco 0.6s forwards;
}
@keyframes works_deco{
	0%{
		opacity: 0;
		transform: translateX(100px);
	}
	100%{
		opacity: 1;
		transform: translateX(0);
	}
}
#works ul li{
	opacity: 0;
}
#works ul.start li{
	animation: works_list 0.6s cubic-bezier(.32,2.14,.93,.86) forwards;
}
#works ul.start li:nth-child(2){
	animation-delay: 0.3s;
}
#works ul.start li:nth-child(3){
	animation-delay: 0.6s;
}
@keyframes works_list{
	0%{
		opacity: 0;
		transform: translateY(100px);
	}
	100%{
		opacity: 1;
		transform: translateY(0);
	}
}

@media print, screen and (min-width: 600px){

	#works ul{
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 40px;
	}

}/*END*/

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

	.works_deco{
		top: 50px;
	}

}/*END*/

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

	#works h2{
		width: 60%;
		margin-left: 15%;
		margin-top: 30px;
	}
	.works_deco{
		width: 18%;
		right: 5%;
		top: 90px;
	}
	#works li{
		margin-bottom: 35px;
	}

}/*END*/


/*----------------------------------------
	outline
----------------------------------------*/

#outline{
	background: #dbe7e8;
}
#outline h2{
	margin-left: auto;
	margin-right: auto;
	width: calc((268/1150)*100%);
}
.outline_deco{
	position: absolute;
	width: calc((112/1150)*100%);
	top: 75px;
	right: 26%;
	opacity: 0;
}
.outline_deco.start{
	animation: outline_deco 0.6s forwards;
	animation-delay: 0.6s;
}
@keyframes outline_deco{
	0%{
		opacity: 0;
		transform: translateX(100px);
	}
	100%{
		opacity: 1;
		transform: translateX(0);
	}
}
#outline table{
	line-height: 1.6;
}
#outline table th{
	background: #667f85;
	color: #fff;
	text-align: left;
	font-weight: normal;
	border-bottom: 1px solid #dbe7e8;
	padding: 6px 10px;
}
#outline table td{
	border-bottom: 1px solid #dbe7e8;
	background: #fff;
	padding: 6px 10px;
	font-weight: normal;
}

@media print, screen and (min-width: 600px){

	#outline table:first-child{
		float: left;
		width: calc((550/1150)*100%);
	}
	#outline table:last-child{
		float: right;
		width: calc((550/1150)*100%);
	}

}/*END*/

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

	.outline_deco{
		top: 30px;
	}

}/*END*/

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

	#outline h2{
		width: 60%;
		margin-left: 15%;
		margin-top: 30px;
	}
	#outline table{
		width: 100%;
	}
	.outline_deco{
		width: 16%;
		right: 5%;
		top: 50px;
	}
	#outline .clearfix.text_16{
		font-size: 1.4rem;
	}
	#outline th{
		width: 24.5%;
	}

}/*END*/


/*----------------------------------------
	footer
----------------------------------------*/

footer{
	background: #4e5c5d;
	color: #fff;
	padding-top: 100px;
	padding-bottom: 110px;
}
footer a{
	display: block;
	color: #fff;
	text-decoration: none;
}
.foot_inner{
	position: relative;
	max-width: 1180px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	padding-right: 20px;
	padding-left: 20px;
}
small{
	display: block;
	position: absolute;
	left: 0;
	bottom: -80px;
	color: #b7b7b7;
	letter-spacing: 1px;
	font-weight: normal;
	font-size: 1.3rem;
}
.btn_contact{
	position: relative;
	background: #ee5307;
	box-sizing: border-box;
	width: 350px;
	text-align: center;
	padding: 30px;
	border-radius: 50px;
	margin-left: auto;
	margin-right: auto;
	letter-spacing: 1px;
	color: #fff;
	text-decoration: none;
}
.btn_contact:hover{
	color: #fff;
}
.btn_contact span{
	display: inline-block;
	transition: all 0.4s;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 30px;
}
.btn_contact span:before,
.btn_contact span:after{
	content: "";
	background: #fff;
	width: 12px;
	height: 2px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.btn_contact span:before{
	transform: rotate(45deg);
	margin-top: -4px;
}
.btn_contact span:after{
	transform: rotate(-45deg);
	margin-top: 3px;
}
.btn_contact:hover span{
	right: 25px;
}

@media print, screen and (min-width: 769px){

	.foot_add{
		float: left;
		width: calc((380/1100)*100%);
		border-right: 1px solid #fff;
	}
	.foot_menu{
		float: right;
		width: calc((650/1100)*100%);
	}
	.foot_menu li{
		line-height: 1.8;
		float: left;
		margin-bottom: 15px;
		margin-right: 40px;
	}

}/*END*/

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

	.foot_menu{
		font-size: 1.6rem;
		margin-right: 30px;
	}
	.btn_contact{
		font-size: 1.8rem;
	}

}/*END*/

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

	.foot_menu{
		font-size: 1.5rem;
		margin-right: 25px;
		margin-bottom: 10px;
	}

}/*END*/

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

	.foot_menu{
		font-size: 1.4rem;
		margin-right: 20px;
		margin-bottom: 5px;
	}

}/*END*/

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

	footer{
		padding-top: 0;
	}
	.foot_inner{
		padding-right: 0;
		padding-left: 0;
	}
	.foot_menu ul{
		margin-bottom: 55px !important;
	}
	.foot_menu li a{
		display: block;
		padding: 15px 0;
		text-align: center;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}
	.foot_menu{
		margin-right: 0;
	}
	.foot_add{
		text-align: center;
		padding-top: 50px;
	}
	small{
		position: relative;
		text-align: center;
		font-size: 1.1rem;
	}

}/*END*/


/*----------------------------------------
	animation
----------------------------------------*/

#outline h2,
#works h2,
#about h2,
.model_text h2,
.plan_text h2,
#location h2,
.land_text h2,
.dayoff_text h3,
.weekday_text h3,
.concept_bg h2{
	opacity: 0;
}
#outline h2.start,
#works h2.start,
#about h2.start,
.model_text h2.start,
.plan_text h2.start,
#location h2.start,
.land_text h2.start,
.dayoff_text h3.start,
.weekday_text h3.start,
.concept_bg h2.start{
	animation:ttl_anima01 0.6s cubic-bezier(.32,2.14,.93,.86) forwards;
}
@keyframes ttl_anima01{
	0%{
		transform: scale(1);
		opacity: 0;
	}
	50%{
		transform: scale(1.7);
		opacity: 1;
	}
	100%{
		transform: scale(1);
		opacity: 1;
	}
}
.about_copy02,
.about_copy,
.model_uketsuke,
.land_copy,
.concept_copy{
	opacity: 0;
	position: relative;
	bottom: -100px;
}
.about_copy02.start,
.about_copy.start,
.model_uketsuke.start,
.land_copy.start,
.concept_copy.start{
	animation:ttl_anima02 0.6s cubic-bezier(.29,2.37,.74,.42) forwards;
	animation-delay: 0.5s;
}
@keyframes ttl_anima02{
	0%{
		bottom: -100px;
		opacity: 0;
	}
	100%{
		bottom: 0;
		opacity: 1;
	}
}