#loading {
	background: #fff;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	overflow: hidden;
	z-index: 1000;
}

#loading canvas {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 300px;
	height: 300px;
	margin: -250px 0 0 -250px;
	-outline: 1px solid #333;
}

body::before {
	content: "";
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: url(../img/top/main_bg.jpg);
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	z-index: -1;
}

body.bgset::before {
	display: block;
}

main {
	padding-top: 0;
	letter-spacing: 0.1em;
}

.key {
	background-color: #E4E2E2;
	height: 100vh;
}

.key .splide__list {
	width: 100%;
	height: 100vh;
}

.key .splide__list li {
	position: relative;
	padding: 113px 30px 0 96px;
	transition: opacity 5s linear;
}

.key .splide__list .ttl {
	position: absolute;
	top: 352px;
	left: 54px;
	transform: rotate(-90deg);
	transform-origin: top left;
	color: #333;
	font-size: 1.2rem;
	font-family: "Lato", serif;
	letter-spacing: 0.12em;
	width: 288px;
	height: 28px;
	opacity: 0;
}

.key .splide__list picture {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0 0 0 auto;
	overflow: hidden;
}

.key .splide__list picture img {
	transform: scale(1.2);
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 6s 1s cubic-bezier(0.32, 0, 0.26, 0.98);
}

.key .splide__list picture.anime_off img {
	transform: scale(1);
}

.key .splide__list .link {
	position: absolute;
	bottom: 20px;
	right: 50px;
}

.key .splide__list .link a {
	background-color: rgba(255, 255, 255, 0.8);
	width: 268px;
}

.key .splide__list .link a:hover {
	background-color: white;
}

.key .splide__slide.is-active picture img {
	transform: scale(1);
}

.key .splide__slide.is-active .ttl {
	opacity: 1;
}

.key .splide__pagination {
	position: absolute;
	top: 100px;
	bottom: auto;
	left: 30px;
	right: auto;
	display: flex;
	flex-direction: column;
	padding: 0;
}

.key .splide__pagination li {
	display: block;
	padding: 0;
	margin: 0 0 10px;
}

.key .splide__pagination button {
	background-color: #BEBEBE;
	display: block;
	padding: 0;
	border-radius: 10px;
	width: 2px;
	height: 73px;
	border: none;
	overflow: hidden;
	position: relative;
}

.key .splide__pagination button::after {
	content: "";
	position: absolute;
	background-color: #111111;
	display: block;
	top: -73px;
	left: 0;
	width: 2px;
	height: 73px;
}

.key .splide__pagination .splide__pagination__page.is-active {
	padding: 0;
	transform: scale(1);
}

.key .splide__pagination .splide__pagination__page.is-active::after {
	animation: colorChange 8s linear forwards;
}

section {
	position: relative;
}

.afh_area {
	background-color: #E4E2E2;
	padding: 140px 20px 100px;
}

.afh_area .inner {
	max-width: 1100px;
	width: 100%;
	height: 100%;
	min-height: 527px;
	margin: auto;
	position: relative;
	padding: 66px 72px 0 0;
}

.afh_area h2 {
	position: relative;
	z-index: 2;
	margin-bottom: 70px;
}

.afh_area p {
	position: relative;
	width: 50%;
	line-height: 2;
	z-index: 2;
}

.afh_area p.txt_sub_title {
	font-weight: 500;
	margin-bottom: 35px;
}

.afh_area p.txt_concept {
	font-weight: 400;
	max-width: 426px;
}

.afh_area .afh_img_01 {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 220px;
	height: 320px;
	z-index: 1;
}

.afh_area .afh_img_02 {
	display: block;
	position: absolute;
	top: 87px;
	right: 150px;
	width: 352px;
	height: 440px;
	z-index: 0;
}

.program_area {
	background-color: #E4E2E2;
	text-align: center;
	padding: 40px 18px 10px;
}

.program_area .inner {
	max-width: 1000px;
	width: 100%;
	margin: auto;
}

.program_area .link a {
	text-decoration: underline;
}

.program_area .link a span {
	letter-spacing: 0.1em;
}

.program_area .link a::after {
	content: "";
	display: inline-block;
	background-image: url(../img/ico_window.svg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	width: 11px;
	height: 11px;
	margin-left: 10px;
}

.program_area .program_logo {
	max-width: 368.79px;
	width: 100%;
	margin: 0 auto 40px;
}

.program_area .program_logo img {
	width: 100%;
	height: auto;
}

.program_area .program_info {
	line-height: 2;
	margin-bottom: 30px;
}

.program_area .program_list_area {
	text-align: center;
	max-width: 1097px;
	width: 100%;
	margin: 80px auto 0;
}

.program_area .program_list_area h2 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	letter-spacing: 0.1em;
	background-image: url(../img/floordesign/hx_left.png), url(../img/floordesign/hx_right.png);
	background-position: 0% 50%, 100% 50%;
	background-repeat: no-repeat, no-repeat;
	background-size: 20px 80px, 20px 80px;
	padding: 0 50px;
	min-height: 80px;
	margin-bottom: 60px;
}

.program_area .program_list_area h2 span {
	display: inline-block;
	font-size: 2.8rem;
	font-family: "Cormorant Garamond", serif;
}

.program_area .program_list_area h2 small {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 300;
	margin-left: 20px;
}

.program_area .program_list_area .program_list li {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.program_area .program_list_area .program_list li + li {
	margin-top: 60px;
}

.program_area .program_list_area .program_list li > figure {
	max-width: 435px;
	width: 39.7%;
}

.program_area .program_list_area .program_list li > figure img {
	width: 100%;
	height: auto;
}

.program_area .program_list_area .program_list li > div {
	max-width: 622px;
	width: 56.8%;
	text-align: left;
}

.program_area .program_list_area .program_list li .cat_area {
	margin-bottom: 8px;
}

.program_area .program_list_area .program_list li .cat_area span {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
}

.program_area .program_list_area .program_list li h3 {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 8px;
}

.program_area .program_list_area .program_list li p.data {
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 26px;
}

.program_area .program_list_area .program_list li p.link {
	margin-top: 1em;
}

.program_area .program_list_area .program_list li p.link a span {
	word-break: break-all;
}

.program_area .program_list_area .program_list li p {
	line-height: 2;
}

.wm_area {
	background-color: #E4E2E2;
	text-align: center;
	padding: 100px 20px 110px;
}

.wm_area .inner {
	max-width: 1097px;
	width: 100%;
	margin: auto;
}

.wm_area h2 {
	font-size: 5.2rem;
	font-family: "Cormorant Garamond", serif;
	letter-spacing: 0.1em;
	padding: 0 0 20px;
	margin-bottom: 20px;
	position: relative;
}

.wm_area h2::after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
	display: inline-block;
	background-color: #707070;
	width: 1px;
	height: 15px;
	margin: auto;
}

.wm_area h3 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	letter-spacing: 0.1em;
	background-image: url(../img/floordesign/hx_left.png), url(../img/floordesign/hx_right.png);
	background-position: 0% 50%, 100% 50%;
	background-repeat: no-repeat, no-repeat;
	background-size: 20px 80px, 20px 80px;
	padding: 0 50px;
	min-height: 80px;
	margin-bottom: 40px;
}

.wm_area h3 span {
	display: inline-block;
	font-size: 2.8rem;
	font-family: "Cormorant Garamond", serif;
}

.wm_area h3 small {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 300;
	margin-left: 20px;
}

.wm_area h4 {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 10px;
}

.wm_area p.wm_info {
	max-width: 695px;
	line-height: 2;
	margin: 0 auto 56px;
}

.wm_area p.artist {
	font-size: 1.4rem;
	font-weight: 500;
	margin-bottom: 18px;
}

.wm_area p.data {
	font-weight: 500;
}

.wm_area picture,
.wm_area figure {
	text-align: center;
	width: 600px;
	margin: 0 auto 40px;
	border-radius: 600px;
	overflow: hidden;
	transition: width 0.5s, border-radius 0.5s;
}

.wm_area picture img,
.wm_area figure img {
	display: block;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 50%;
	object-position: 50% 50%;
	width: 100%;
	height: 600px;
	margin: auto;
}

.wm_area picture.anime_img.anime_img_on,
.wm_area figure.anime_img.anime_img_on {
	width: 100%;
	border-radius: 0;
	margin: 0 auto 20px;
}

.wm_area .exhibitions_info {
	width: 100%;
	text-align: left;
	margin: 0 auto 60px;
}

.wm_area .next_info {
	background-color: #EEEDED;
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 50px;
	margin-bottom: 50px;
}

.wm_area .next_info h3 {
	padding: 0 44px;
	width: 330px;
}

.wm_area .next_info div {
	text-align: left;
	width: calc(100% - 390px);
}

.sticky_blank_space {
	display: block;
	height: 70vh;
}

.pue_area {
	background-color: #FFFFFF;
	position: sticky;
	padding: 100px 20px calc(28vw + 100px);
}

.pue_area .inner {
	max-width: 1097px;
	margin: auto;
}

.pue_area .inner .ttl_area {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 80px;
}

.pue_area .inner .ttl_area h2 {
	font-size: 4.2rem;
	font-family: "Cormorant Garamond", serif;
	line-height: 1.3;
	letter-spacing: 0.1em;
	margin-right: 130px;
}

.pue_area .inner .ttl_area p {
	line-height: 2;
}

.pue_area .inner .blog_area {
	width: calc(100% + 30px);
	text-align: center;
	padding: 0;
	margin: 12px -15px 35px -15px;
	position: relative;
}

.pue_area .inner .blog_area iframe {
	height: 360px;
}

.pue_area .inner .link_btn {
	text-align: center;
	margin: 0 auto 0;
}

.pue_area .inner .link_btn a {
	background-color: rgba(229, 226, 226, 0.4);
}

.pue_area .inner .link_btn a:hover {
	background-color: rgba(229, 226, 226, 0.8);
}

.pue_area .pue_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.pue_area .pue_list li {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 60px;
}

.pue_area .pue_list li.column1 {
	width: 100%;
}

.pue_area .pue_list li.column2 {
	width: 520px;
}

.pue_area .pue_list li > figure {
	width: 242px;
}

.pue_area .pue_list li > figure img {
	width: 100%;
	height: auto;
}

.pue_area .pue_list li > div {
	width: calc(100% - 272px);
	text-align: left;
}

.pue_area .pue_list li h3 {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 8px;
}

.pue_area .pue_list li p.data {
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 1.5em;
}

.pue_area .pue_list li p {
	line-height: 2;
}

.pue_area .pue_list li p.link {
	margin-top: 0.5em;
}

.pue_area .pue_list li p.link a {
	text-decoration: underline;
}

.pue_area .pue_list li p.link a span {
	letter-spacing: 0.1em;
}

.pue_area .pue_list li p.link a::after {
	content: "";
	display: inline-block;
	background-image: url(../img/ico_window.svg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	width: 11px;
	height: 11px;
	margin-left: 10px;
}

.ahn_area {
	background-image: url(../img/top/ahn_bg.png), linear-gradient(180deg, transparent 0%, transparent 60vw, #4F4F4F 60vw, #4F4F4F 100%);
	background-size: 100% auto;
	background-position: 0% 0%;
	background-repeat: no-repeat;
	position: relative;
	padding: 0 20px 60px;
	margin-top: -28vw;
}

.ahn_area .inner {
	max-width: 1000px;
	width: 100%;
	margin: auto;
}

.ahn_area .link_btn {
	text-align: center;
	margin: auto;
}

.ahn_area .link_btn a {
	background-color: rgba(255, 255, 255, 0.8);
}

.ahn_area .link_btn a span {
	font-family: "Zen Kaku Gothic New", serif;
}

.ahn_area .link_btn a:hover {
	background-color: white;
}

.ahn_area .ahn_info_area {
	padding: 12vw 0 20px;
	position: relative;
}

.ahn_area .ahn_info_area h2 {
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
	width: 320px;
	margin: 0 0 32px 84px;
}

.ahn_area .ahn_info_area h2 span {
	display: inline-block;
	margin-top: 15px;
}

.ahn_area .ahn_info_area h2 + p {
	color: #fff;
	font-weight: 300;
	line-height: 2;
	margin: 0 230px 36px 84px;
}

.ahn_area .ahn_info_area .ahn_txt {
	display: inline-block;
	position: absolute;
	top: 13vw;
	right: 120px;
	width: 90px;
	height: 321px;
	z-index: 1;
}

.ahn_area .ahn_info_area .ahn_txt img {
	width: 100%;
	height: auto;
}

.ahn_area .ahn_info_area figure img {
	width: 100%;
	height: auto;
}

.ahn_area .ahn_info_area .link_btn {
	text-align: center;
	margin: 35px auto 0;
}

.ahn_area .cafe_area {
	padding-top: 100px;
	color: #fff;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.ahn_area .cafe_area .cafe_lead {
	grid-area: 1/1/2/3;
	margin-bottom: 40px;
}

.ahn_area .cafe_area .cafe_lead h2 {
	font-size: 1.6rem;
	width: 270px;
	margin-bottom: 30px;
}

.ahn_area .cafe_area .cafe_lead h2 span {
	display: block;
	margin-bottom: 10px;
}

.ahn_area .cafe_area .cafe_lead p {
	font-weight: 500;
	line-height: 2;
}

.ahn_area .cafe_area .cafe_txt {
	grid-area: 2/1/3/2;
	padding-right: 75px;
}

.ahn_area .cafe_area .cafe_txt p {
	font-weight: 300;
	line-height: 2;
}

.ahn_area .cafe_area .cafe_txt .link_btn {
	text-align: left;
	margin: 30px 0 0;
}

.ahn_area .cafe_area .cafe_slide {
	grid-area: 2/2/3/3;
}

.ahn_area .cafe_area .cafe_slide .splide__pagination {
	left: auto;
	right: 0;
	bottom: -20px;
	padding: 0;
}

.ahn_area .cafe_area .cafe_slide .splide__pagination .splide__pagination__page {
	background-color: #B2B1B1;
	opacity: 1;
	width: 6px;
	height: 6px;
	margin-left: 14px;
}

.ahn_area .cafe_area .cafe_slide .splide__pagination .splide__pagination__page.is-active {
	background-color: #FFFFFF;
	transform: none;
}

.ahn_area .cafe_area .cafe_slide .splide__slide img {
	width: 100%;
	height: auto;
}

.ahn_area .cafe_artist_area {
	color: #fff;
	margin-top: 60px;
}

.ahn_area .cafe_artist_area h3 {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	margin-bottom: 40px;
}

.ahn_area .cafe_artist_area .cafe_artist_box {
	padding: 0 0 40px;
	margin: 0 auto 0;
	display: flex;
}

.ahn_area .cafe_artist_area .cafe_artist_box + .cafe_artist_box {
	border-top: 1px dashed #A3A3A3;
	padding: 40px 0 40px;
	margin: 0 auto 0;
}

.ahn_area .cafe_artist_area .cafe_artist_box figure {
	width: 250px;
	height: auto;
	margin: 0 30px 0 0;
}

.ahn_area .cafe_artist_area .cafe_artist_box figure img {
	width: 100%;
	height: auto;
}

.ahn_area .cafe_artist_area .cafe_artist_box dl {
	width: calc(100% - 280px);
}

.ahn_area .cafe_artist_area .cafe_artist_box dt {
	font-size: 1.8rem;
	line-height: 2;
	margin-bottom: 20px;
}

.ahn_area .cafe_artist_area .cafe_artist_box dt span {
	font-size: 1.8rem;
	display: inline-block;
}

.ahn_area .cafe_artist_area .cafe_artist_box dt small {
	font-size: 1.4rem;
	display: inline-block;
}

.ahn_area .cafe_artist_area .cafe_artist_box dd {
	line-height: 2;
}

.ahn_area .cafe_artist_area .cafe_artist_box dd h4 {
	font-size: 1.6rem;
	font-weight: 500;
	position: relative;
	padding: 0 0 0 24px;
}

.ahn_area .cafe_artist_area .cafe_artist_box dd h4::before {
	content: "";
	background-color: #fff;
	display: inline-block;
	width: 17px;
	height: 1px;
	position: absolute;
	top: 16px;
	left: 0;
}

.ahn_area .cafe_artist_area .cafe_artist_box dd p {
	font-weight: 300;
}

.ahn_area .cafe_artist_area .cafe_artist_box dd p + h4 {
	margin-top: 20px;
}

.ahn_area .link_btn a {
	background-color: rgba(255, 255, 255, 0.8);
	height: 68px;
}

.ahn_area .link_btn a span {
	font-family: "Zen Kaku Gothic New", serif;
}

.ahn_area .link_btn a:hover {
	background-color: white;
}

.sag_area {
	background-color: #fff;
	padding: 80px 20px;
}

.sag_area .inner {
	max-width: 1100px;
	width: 100%;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}

.sag_area .inner figure {
	max-width: 550px;
	width: 50%;
}

.sag_area .inner figure img {
	width: 100%;
	height: auto;
}

.sag_area .inner div {
	max-width: 475px;
	width: 48%;
}

.sag_area .inner div h2 {
	margin-bottom: 34px;
}

.sag_area .inner div h2 span {
	font-size: 1.6rem;
	display: block;
	margin-top: 14px;
}

.sag_area .inner div h2 img {
	max-width: 251px;
}

.sag_area .inner div p {
	line-height: 2;
}

.sag_area .inner div .link_btn {
	margin: 36px 0 10px;
}

.sag_area .inner div .link_btn a {
	background-color: rgba(229, 226, 226, 0.4);
}

.sag_area .inner div .link_btn a:hover {
	background-color: rgba(229, 226, 226, 0.8);
}

.sag_area .inner div .link_btn + p {
	font-size: 1.4rem;
}

.fd_area {
	background-image: url(../img/top/fd_bg.jpg);
	background-position: 0 0;
	background-repeat: repeat-x;
	background-size: auto 100%;
	background-position: 0 0;
	animation: fd_loop 50s linear infinite;
	width: 100%;
	height: 640px;
	display: flex;
	align-self: center;
	justify-content: center;
	padding: 20px 20px 0;
}

.fd_area .inner {
	background-color: rgba(255, 255, 255, 0.8);
	max-width: 820px;
	width: 100%;
	margin: auto;
	text-align: center;
	padding: 64px 20px 60px;
}

.fd_area h2 {
	font-size: 4.8rem;
	font-family: "Cormorant Garamond", serif;
	letter-spacing: 0.1em;
	padding: 0 0 20px;
	margin-bottom: 10px;
	position: relative;
}

.fd_area h2::after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
	display: inline-block;
	background-color: #707070;
	width: 1px;
	height: 15px;
	margin: auto;
}

.fd_area p {
	line-height: 2;
	margin: 0 auto 30px;
}

.fd_area .link_btn {
	margin: 0 auto;
}

.fd_area .link_btn a {
	background-color: white;
}

.fd_area .link_btn a:hover {
	background-color: rgba(255, 255, 255, 0.8);
}

.rs_area {
	background-color: #E4E2E2;
	padding: 120px 20px 180px;
	overflow: hidden;
}

.rs_area .inner {
	position: relative;
	max-width: 820px;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	text-align: center;
	padding: 65px 0 58px;
	margin: auto;
}

.rs_area .inner h2 {
	font-size: 4.8rem;
	font-family: "Cormorant Garamond", serif;
	letter-spacing: 0.1em;
	padding: 0 0 10px;
	position: relative;
	max-width: 550px;
	width: 100%;
	margin: 0 auto 10px;
	position: relative;
	z-index: 1;
}

.rs_area .inner h2::after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
	display: inline-block;
	background-color: #707070;
	width: 1px;
	height: 15px;
	margin: auto;
}

.rs_area .inner p {
	line-height: 2;
	max-width: 550px;
	width: 100%;
	margin: 0 auto 30px;
	position: relative;
	z-index: 1;
}

.rs_area .inner .link_btn {
	margin: 0 auto;
}

.rs_area .inner .link_btn a {
	background-color: white;
}

.rs_area .inner .link_btn a:hover {
	background-color: rgba(255, 255, 255, 0.8);
}

.rs_area .inner img {
	position: absolute;
	margin: auto;
}

.rs_area .inner img.bg_01 {
	width: 176px;
	top: 0px;
	left: 0px;
}

.rs_area .inner img.bg_02 {
	width: 352px;
	top: -120px;
	right: -117px;
}

.rs_area .inner img.bg_03 {
	width: 299px;
	left: -75px;
	bottom: -60px;
}

.rs_area .inner img.bg_04 {
	width: 167px;
	left: auto;
	right: -50px;
	bottom: 0;
}

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

.pue_area .pue_list li.column2 {
	width: 100%;
}

}

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

body::before {
	background-image: url(../img/top/main_bg_sp.jpg);
}

.key .splide__list li {
	padding: 76px 0 0 18px;
}

.key .splide__list .ttl {
	display: none;
}

.key .splide__list .link {
	bottom: 15px;
	right: 10px;
}

.key .splide__pagination {
	top: auto;
	bottom: 0;
	left: 5px;
}

.key .splide__pagination li {
	margin: 10px 0 0;
}

.afh_area {
	padding: 65px 18px 0;
}

.afh_area .inner {
	max-width: 1100px;
	width: 100%;
	min-height: 527px;
	margin: auto;
	position: relative;
	padding: 0 0 94vw 0;
}

.afh_area h2 {
	margin-bottom: 50px;
}

.afh_area h2 img {
	max-width: 92%;
}

.afh_area p {
	width: 100%;
}

.afh_area p.txt_sub_title {
	font-weight: 500;
	margin-bottom: 25px;
}

.afh_area p.txt_concept {
	font-size: 1.4rem;
	max-width: none;
}

.afh_area .afh_img_01 {
	top: auto;
	bottom: 33.2vw;
	left: 50%;
	right: 0;
	width: 34.36vw;
	height: 50vw;
	margin: 0 auto;
}

.afh_area .afh_img_02 {
	top: auto;
	bottom: 0;
	left: -23%;
	right: 0;
	width: 55.13vw;
	height: 68.719vw;
	margin: 0 auto;
}

.program_area .link {
	font-size: 1.4rem;
}

.program_area {
	padding: 90px 18px 10px;
}

.program_area .link a {
	font-size: 1.4rem;
}

.program_area .program_logo {
	min-width: 210px;
	width: 50%;
}

.program_area .program_info {
	font-size: 1.4rem;
}

.program_area .program_list_area {
	margin: 60px auto 0;
}

.program_area .program_list_area h2 {
	background-size: 16px 65px, 16px 65px;
	padding: 0 50px;
	min-height: 65px;
	margin-bottom: 30px;
	padding: 0 50px;
}

.program_area .program_list_area h2 span {
	font-size: 2.2rem;
}

.program_area .program_list_area h2 small {
	font-size: 1.4rem;
	margin-left: 20px;
}

.program_area .program_list_area p {
	font-size: 1.4rem;
}

.program_area .program_list_area .program_list li + li {
	margin-top: 40px;
}

.program_area .program_list_area .program_list li > figure {
	max-width: none;
	width: 100%;
	margin-bottom: 20px;
}

.program_area .program_list_area .program_list li > div {
	max-width: none;
	width: 100%;
}

.program_area .program_list_area .program_list li .cat_area {
	margin-bottom: 10px;
}

.program_area .program_list_area .program_list li h3 {
	font-size: 1.6rem;
	margin-bottom: 8px;
}

.program_area .program_list_area .program_list li p.data {
	margin-bottom: 26px;
}

.wm_area h2 {
	font-size: 3.8rem;
	padding: 0 0 22px;
	margin-bottom: 20px;
}

.wm_area h3 {
	background-size: 16px 65px, 16px 65px;
	padding: 0 50px;
	min-height: 65px;
	margin-bottom: 30px;
	padding: 0 20px;
}

.wm_area h3 span {
	font-size: 2.2rem;
}

.wm_area h3 small {
	font-size: 1.4rem;
	margin-left: 20px;
}

.wm_area h4 {
	font-size: 1.6rem;
	margin-bottom: 10px;
}

.wm_area p {
	font-size: 1.4rem;
}

.wm_area p.wm_info {
	margin: 0 auto 36px;
}

.wm_area p.artist {
	margin-bottom: 8px;
}

.wm_area picture,
.wm_area figure {
	width: 100%;
	height: 150%;
	border-radius: 0;
	transition: none;
	margin-bottom: 20px;
}

.wm_area picture img,
.wm_area figure img {
	width: 80vw;
	height: 80vw;
	border-radius: 80vw;
	transition: width 0.5s, height 0.5s, border-radius 0.5s;
}

.wm_area picture.anime_img.anime_img_on,
.wm_area figure.anime_img.anime_img_on {
	width: 100%;
	height: 150%;
	border-radius: 0;
}

.wm_area picture.anime_img.anime_img_on img,
.wm_area figure.anime_img.anime_img_on img {
	width: 100%;
	height: 120vw;
	border-radius: 0;
}

.wm_area .exhibitions_info {
	margin: 0 auto 50px;
}

.wm_area .next_info {
	flex-direction: column;
	padding: 22px 20px;
	margin-bottom: 50px;
}

.wm_area .next_info h3 {
	padding: 0 20px;
	text-align: center;
	max-width: 280px;
	width: 100%;
	margin: 0 auto 16px;
}

.wm_area .next_info div {
	text-align: left;
	width: 100%;
}

.sticky_blank_space {
	height: 40vh;
}

.pue_area {
	padding: 62px 18px calc(28vw + 100px);
}

.pue_area .inner {
	flex-direction: column;
}

.pue_area .inner .ttl_area {
	margin-bottom: 40px;
}

.pue_area .inner .ttl_area h2 {
	font-size: 2.8rem;
	margin: 0 0 20px;
}

.pue_area .inner .ttl_area p {
	font-size: 1.4rem;
}

.pue_area .inner .blog_area {
	margin: 0 -15px 40px -15px;
}

.pue_area .inner .blog_area iframe {
	height: 150vw;
}

.pue_area .pue_list {
	margin-bottom: 26px;
}

.pue_area .pue_list li {
	margin-bottom: 40px;
}

.pue_area .pue_list li > figure {
	width: 100%;
	margin-bottom: 12px;
}

.pue_area .pue_list li > div {
	width: 100%;
}

.pue_area .pue_list li h3 {
	font-size: 1.6rem;
	margin-bottom: 8px;
}

.pue_area .pue_list li p.data {
	margin-bottom: 1em;
}

.pue_area .pue_list li p {
	font-size: 1.4rem;
	line-height: 2;
}

.pue_area .pue_list li p.link {
	margin-top: 1em;
}

.ahn_area {
	background-image: url(../img/top/ahn_bg_sp.png), linear-gradient(180deg, transparent 0%, transparent 30%, #4F4F4F 30%, #4F4F4F 100%);
	padding: 0 36px 50px;
}

.ahn_area .ahn_info_area {
	padding: 18vw 0 0;
}

.ahn_area .ahn_info_area h2 {
	font-size: 1.4rem;
	max-width: 205px;
	width: auto;
	margin: 0 auto 32px;
	text-align: center;
}

.ahn_area .ahn_info_area h2 img {
	margin-bottom: 10px;
	width: 100%;
	height: auto;
}

.ahn_area .ahn_info_area h2 span {
	margin-top: 10px;
}

.ahn_area .ahn_info_area h2 + p {
	font-size: 1.4rem;
	margin: 0 18vw 20px 0;
}

.ahn_area .ahn_info_area .ahn_txt {
	top: calc(18vw + 138px);
	right: 5vw;
	width: 21px;
	height: auto;
}

.ahn_area .ahn_info_area .link_btn {
	margin: 30px auto 0;
}

.ahn_area .ahn_info_area .link_btn span {
	font-size: 1.6rem;
	font-weight: 500;
}

.ahn_area .cafe_area {
	display: block;
	padding-top: 70px;
}

.ahn_area .cafe_area .cafe_lead {
	margin-bottom: 24px;
}

.ahn_area .cafe_area .cafe_lead h2 {
	font-size: 1.4rem;
	width: auto;
	margin-bottom: 20px;
}

.ahn_area .cafe_area .cafe_lead h2 span {
	margin-bottom: 12px;
}

.ahn_area .cafe_area .cafe_lead h2 img {
	max-width: 160px;
	width: 100%;
	height: auto;
}

.ahn_area .cafe_area .cafe_lead p {
	font-size: 1.4rem;
}

.ahn_area .cafe_area .cafe_txt {
	padding-right: 0;
}

.ahn_area .cafe_area .cafe_txt p {
	font-size: 1.4rem;
}

.ahn_area .cafe_area .cafe_txt .link_btn {
	text-align: center;
	margin: 20px auto 0;
}

.ahn_area .cafe_area .cafe_txt .link_btn span {
	font-size: 1.6rem;
	font-weight: 500;
}

.ahn_area .cafe_area .cafe_slide {
	margin: 24px 0 0;
}

.ahn_area .cafe_artist_area {
	color: #fff;
	margin-top: 60px;
}

.ahn_area .cafe_artist_area h3 {
	font-size: 1.4rem;
	margin-bottom: 25px;
}

.ahn_area .cafe_artist_area .cafe_artist_box {
	margin: 0 auto;
	flex-direction: column;
}

.ahn_area .cafe_artist_area .cafe_artist_box figure {
	width: 220px;
	margin: 0 auto 25px;
}

.ahn_area .cafe_artist_area .cafe_artist_box dl {
	width: 100%;
}

.ahn_area .cafe_artist_area .cafe_artist_box dt {
	font-size: 1.6rem;
}

.ahn_area .cafe_artist_area .cafe_artist_box dt span {
	font-size: 1.6rem;
}

.ahn_area .cafe_artist_area .cafe_artist_box dd h4 {
	font-size: 1.4rem;
}

.ahn_area .cafe_artist_area .cafe_artist_box dd h4::before {
	top: 15px;
}

.ahn_area .cafe_artist_area .cafe_artist_box dd p {
	font-size: 1.4rem;
}

.ahn_area .cafe_artist_area .cafe_artist_box dd p + h4 {
	margin-top: 20px;
}

.sag_area {
	padding: 50px 18px;
}

.sag_area .inner {
	flex-direction: column;
}

.sag_area .inner figure {
	max-width: none;
	width: 100%;
	margin-bottom: 30px;
}

.sag_area .inner div {
	max-width: none;
	width: 100%;
}

.sag_area .inner div h2 {
	text-align: center;
	margin-bottom: 25px;
}

.sag_area .inner div h2 span {
	font-size: 1.4rem;
	text-align: center;
	margin-top: 14px;
}

.sag_area .inner div h2 img {
	max-width: 204px;
}

.sag_area .inner div p {
	font-size: 1.4rem;
}

.sag_area .inner div .link_btn {
	text-align: center;
	margin: 20px 0 10px;
}

.sag_area .inner div .link_btn + p {
	font-size: 1.2rem;
	text-align: center;
}

.fd_area {
	animation: fd_loop_sp 40s linear infinite;
	background-size: 1787px 550px;
	height: 550px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 18px;
}

.fd_area .inner {
	padding: 52px 18px 52px;
}

.fd_area h2 {
	font-size: 3.8rem;
	line-height: 1.2;
}

.fd_area p {
	font-size: 1.4rem;
	line-height: 2;
	margin: 0 auto 30px;
}

.rs_area {
	padding: 28vw 18px 180px;
}

.rs_area .inner {
	padding: 15vw 18px 16vw;
}

.rs_area .inner h2 {
	font-size: 3.8rem;
}

.rs_area .inner p {
	font-size: 1.4rem;
	margin: 0 auto 30px;
}

.rs_area .inner img.bg_01 {
	width: 26.925vw;
	top: 0;
	left: 0;
}

.rs_area .inner img.bg_02 {
	width: 53.335vw;
	top: -28vw;
	right: -18px;
}

.rs_area .inner img.bg_03 {
	width: 42.052vw;
	left: -2vw;
	bottom: -17vw;
}

.rs_area .inner img.bg_04 {
	width: 23vw;
	left: auto;
	right: 2vw;
	bottom: 0;
}

}

@keyframes colorChange {

0% {
	top: -80px;
}

100% {
	top: 0px;
}

}

@keyframes fd_loop {

from {
	background-position: 0 0;
}

to {
	background-position: -2080px 0;
}

}

@keyframes fd_loop_sp {

from {
	background-position: 0 0;
}

to {
	background-position: -1787px 0;
}

}

