@charset "utf-8";

/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body { min-width: 0px; font-size: 0.9em;}

.ta_right-s_center { text-align: center;}
.ta_left-s_center { text-align: center;}
.ta_center-s_left { text-align: left;}

.hidden_s { display: none !important;}

/* margin */
.mb40-20 { margin-bottom: 20px !important;}
.mb60-30 { margin-bottom: 30px !important;}
.mb80-40 { margin-bottom: 40px !important;}
.mb100-60 { margin-bottom: 60px !important;}
.mb120-60 { margin-bottom: 60px !important;}
.mb120-80 { margin-bottom: 80px !important;}
.mb160-80 { margin-bottom: 80px !important;}

/* ------------------------
	ヘッダー
------------------------ */

body { padding-top: 0px;}

.header { position: static; min-width: initial;}
.header .box01 { display: block; height: auto; padding: 0px 10px;}
.header h1 { width: auto; line-height: 50px;}
.header h1 img { width: auto; height: 34px; vertical-align: middle; }

/* ------------------------
	グローバルナビ
------------------------ */

/* ハンバーガーメニュー */
.humberger {
	background: #00559c;
	cursor: pointer;
	display: block;
	position: fixed;
	top: 0px;
	right: 0px;
	width: 50px;
	height: 50px;
	z-index: 10001;
}
.humberger span {
	background: #fff;
	border-radius: 15px;
	position: absolute;
	left: 10px;
	width: 30px;
	height: 3px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 9px;}
.humberger span:nth-of-type(2) { top: 17px;}
.humberger span:nth-of-type(3) { top: 25px;}
.humberger:after {
	color: #fff;
	content: 'MENU';
	display: block;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	transition: 0.4s;
	position: absolute;
	left: 0;
	bottom: 1px;
	width: 100%;
}
.is-open .humberger:after { content: 'CLOSE';}
.is-open .humberger span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
	  -ms-transform: translateY(6px) rotate(-45deg);
		  transform: translateY(6px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
	  -ms-transform: translateY(-10px) rotate(45deg);
		  transform: translateY(-10px) rotate(45deg);
}
/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 10000;
}
.sp-navi .sp-navi-inner {
	background: #ecf4d9;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0px;
	height: 100%;
	width: 100%;
	transition: .5s;
	padding-bottom: 30px;
}
.sp-navi .logo { background: #fff; padding-left: 10px; line-height: 50px;}
.sp-navi .logo img { width: auto; height: 34px; vertical-align: middle;}
.sp-navi .list01 a { color: #3c3c3c;}
.sp-navi .list01 li > a { display: block; text-decoration: none; border-bottom: dotted 1px #ccc; padding: 7px 5px 7px 3.6em; font-size: 1.2em; position: relative;}
.sp-navi .list01 > li > a:before { content: ""; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: auto 100%; height: 1.05em; width: 1.6em; left: 1em; top: 50%; transform: translateY(-50%);}
.sp-navi .list01 > li:nth-child(1) > a:before { background-image: url("../../common/img/gn01.svg");}
.sp-navi .list01 > li:nth-child(2) > a:before { background-image: url("../../common/img/gn02.svg");}
.sp-navi .list01 > li:nth-child(3) > a:before { background-image: url("../../common/img/gn03.svg");}
.sp-navi .list01 > li:nth-child(4) > a:before { background-image: url("../../common/img/gn04.svg");}
.sp-navi .list01 > li:nth-child(5) > a:before { background-image: url("../../common/img/gn05.svg");}
.sp-navi .list01 > li:nth-child(6) > a:before { background-image: url("../../common/img/gn06.svg");}

.sp-navi .list_sns li { margin: 0px 10px;}


/* ------------------------
	フッター
------------------------ */

.footer .img01 { width: 20%; max-width: 90px; top: 100px; left: 7%;}
.footer .rainbow { margin: 0px 15% -40%;}

.footer .bg01 { padding: 45px 15px 15px;}
.footer .bg01:before { top: -60px; height: 60px;}
.footer .list01 li { margin: 0px 15px 15px !important;}

.pagetop { width: 65px; right: 10px; padding-bottom: 20px;}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.top_mainimage:after { height: 60px;}

.top_mainimage .box01 { width: auto; height: auto; padding-bottom: 6em; font-size: 2vw; z-index: 200;}
.top_mainimage .box_inner { max-width: 80%;}
.top_mainimage .text01 { margin: auto;}
.top_mainimage .dl01 { margin-right: -1em;}
.top_mainimage .num { font-size: 1.7em;}
.top_mainimage .num02 { font-size: 1.4em;}

.top_mainimage .bl01 { width: 10%; left: 2%; top: 5%;}
.top_mainimage .bl02 { width: 17%; right: 1%;}
.top_mainimage .bl03 { width: 7%; left: 2%; bottom: 8%;}
.top_mainimage .bl04 { width: 10%; right: 2%; bottom: 5%; z-index: 500;}
.top_mainimage .bl05 { width: 4.5%; right: 3%; bottom: 45%; z-index: 500;}

.top_btn { padding: 40px 0px 120px;}
.top_btn li { margin: 0px 15px 15px !important;}

.top_sec01 .bg01 { height: 60px; margin-top: -60px; background-size: 100% 100%;}
.top_sec01 .tree_box { transform: translateY(-15px);}
.tree { width: 20px; height: 30px;}
.top_sec01 .tree02, .top_sec01 .tree04 { margin-top: -20px;}
.top_sec01 .img01 { width: 60px; right: 30px; top: -45px;}

/* .top_sec01 .text01 span { font-size: 1.52em;} */
.top_sec01 .text01 span { font-size: 1.42em;}

.top_sec01 .box01 { flex-flow: column-reverse;}
.top_sec01 .box01 .box_inner { width: auto;}
.top_sec01 .box02 { width: auto; max-width: 500px; margin: auto; padding: 6%;}

.top_bg01 { padding-top: 50px;}

.top_sec02 .box01 { width: 74%; font-size: 1.7vw;}
.top_sec02 .img01 { width: 33%; right: -36%; bottom: 0px;}
.top_sec02 .img02 { width: 13%; right: -34%; bottom: -55%;}

.top_sec02 .date { width: 8em;}

.top_sec03 .text01 { margin: -20px -10px 10px;}
.top_sec03 .bg01 { width: 16%; right: 1%; bottom: -15%; z-index: -1;}

.top_sec04 { margin-top: 200px; padding-bottom: 40px;}
.top_sec04:before { top: -60px; height: 60px; background-size: 100% 100%;}
.top_sec04 .box01 { margin-top: -100px; }

.top_sec04 li { width: 47%; margin-bottom: 40px;}
.top_sec04 h2 { margin: 0px -10%;}

.top_sec04 .tree01 { left: 2%; top: 50%;}
.top_sec04 .tree02 { bottom: -15px;}
.top_sec04 .tree03 { top: 30px;}
.top_sec04 .tree04 { bottom: -15px;}
.top_sec04 .tree05 { right: 2%; top: 50%;}

.top_sec04 .bg01 { width: 17%; left: 2%; top: -7%;}
.top_sec04 .bg02 { width: 10%; left: 48%; top: -6%;}

.top_sec05 .box01 { display: block;}
.top_sec05 .box01 .box_inner { width: auto;}

@media only screen and (max-width: 640px) {
	.top_mainimage .box01 { font-size: 2.5vw;}
	
	.top_sec01 .text01 .show_sp { display: inline;}
	.top_sec01 .text01 span:before { left: 0px;}
	.top_sec01 .text01 span:after { right: 0px;}

	.top_sec02 .box01 { width: auto; font-size: 2.2vw;}
	.top_sec02 .img01 { width: auto; position: static; padding: 25px 10% 0px 20%;}
	.top_sec02 .img02 { width: 23%; right: 5%; bottom: -7%;}

	.floormap ul { flex-wrap: wrap;}
}

@media only screen and (max-width: 480px) {
	.top_sec01 .text01 { font-size: 4vw;}
	
	.top_sec02 .box02 { flex-wrap: wrap; font-size: 2.9vw;}
	.top_sec02 .box02 .show_sp { display: block; width: calc(100% - 6em);}
	.top_sec02 .box02 > div:last-child { width: calc(100% - 9em);}

	.top_sec04 { margin-top: 150px;}
	.top_sec04 .bg01 { top: -2%;}
	.top_sec04 .bg02 { top: -2%;}
	.top_sec04 .more_btn { font-size: 0.85em;}
	.top_sec04 .tree01 { top: 25%;}
	.top_sec04 .tree02 { bottom: auto; top: 75%; left: 3%}
	.top_sec04 .tree05 { top: 50%;}
	
	.top_sec05 .show_sp { display: inline;}
}


/*------------------------------------------------------

	下層ページ

------------------------------------------------------*/

.heading_dblline { font-size: 1.8em; padding: 15px 5px; min-width: initial; width: 100%; max-width: 450px;}
.heading_dblline:before, .heading_dblline:after { height: 5px;}

.heading_gar { border-radius: 15px; font-size: 1.7em;}
.heading_gar:before, .heading_gar:after { width: 1.5em; height: 1em; top: -0.45em;}
.heading_gar:before { left: -0.5em;}
.heading_gar:after { right: -0.5em;}

.more_btn a { min-width: 250px; max-width: 300px; width: 100%; padding: 10px 25px;}
.more_btn a:before { right: 11px; border-width: 6px 0 6px 9px;}

.page_head { padding-top: 10%;}
.page_head .bg { height: 15px;}
.page_head .bg:after { top: -60px; height: 60px;}
.page_head .back_white { border-radius: 15px; padding: 15px 10% 25px;}
.page_head .img01 { width: 10%; right: -10px;}
.page_head .img02 { width: 21%; top: -25px; left: -10px;}

.page_head .bl01 { width: 9%; top: -12%;}
.page_head .bl02 { width: 16%; top: -10%; left: -6%;}
.page_head .bl03 { width: 17%; top: 2%; right: -7%;}
.page_head .bl04 { width: 3.5%; right: 10%;}

.project .box01 { margin: auto;}
.project .heading_gar { padding-left: 2.7em; padding-right: 0.3em;}
.project .heading_gar .pos_ab { width: 2.4em; top: -0.5em; left: 0.3em;}
.project .img01 img { width: 120px; margin-bottom: -30px;}
.project .dl01 { margin: auto;}

.art_sec { border-radius: 20px; padding: 20px; box-shadow: 5px 5px 0px rgba(0,0,0,0.1);}
.art_sec .box01 { margin: auto 5px;}


.work_sec01 { padding-bottom: 20px;}
.work_sec01 .heading_bgmline { padding-left: 1em; padding-right: 1em;}
.work_sec01 .img01 { width: 50px; left: 15px; bottom: -70px;}
.work_sec01 .bl01 { width: 6%; left: -1.5%; top: -20px;}
.work_sec01 .bl02 { width: 13%; right: 5px; top: 15%;}
.work_sec01 .bl03 { width: 4.5%; right: 10px; bottom: -25px;}

.under_bg { padding: 35px 0px;}
.work .heading_gar { font-size: 1.7em;}
.work .art_sec .more_btn { display: block;}
.work .art_sec .more_btn > div:first-child { margin: 0px 0px 10px;}

.stage_sec01 dl { font-size: 1em;}

@media only screen and (max-width: 640px) {
	.page_head .img01 { width: 55px; bottom: auto; top: -30px;}
	.page_head .bl03 { top: auto; bottom: 20%;}

	.project .box01 { display: block;}
	.project .box01 .box_inner, .project .box01 > figure { width: auto;}

	.art_sec .box01 { display: block;}
	.art_sec .box01 .box_inner { width: auto; margin-bottom: 25px;}
	.art_sec .box01 figure { width: auto;}

	.stage_sec01 .box01 { display: block;}
	.stage_sec01 .box01 > div { width: auto; margin-bottom: 40px;}
	
	.work .art_sec .more_btn { text-align: center;}
}

@media only screen and (max-width: 480px) {
	.heading_dblline { font-size: 6.5vw;}
	
	.cafe .heading_gar .right { float: none; display: block; text-align: right;}
}

/* 2025 */


.ex12_flex{
	flex-direction: column;
}


.box_flex_type01 {
	flex-direction: column;
}

.buy_span {
	position: relative;
}

.buy_span:nth-of-type(2) {
	margin-left: 1em;
}

.top_mainimage .main_catchlogo {
	max-width: 190px;
}

.sat01_flex p{
	margin-bottom: 10px;
}

.sat01_flex{
	flex-direction: column;
	align-items: center;
}

.work_01_flex, .sat08_flex{
	flex-direction: column;
}
.work_01_flex{
	align-items: flex-start;
}

.top_adj_01{
	min-height: 103.69px;
}

.pc_only{
	display: none;
}