@charset "UTF-8";

/* ==================================================
Page Header
================================================== */
#page-hdr {}


/* ==================================================
Main
================================================== */
#page-main {}


/* ==================================================
Lead Area
================================================== */
#lead-area {
	margin-bottom: var(--clamp10);
}

#lead-area .area-inner {
	width: min(94%, 1200px);
	margin-left: auto;
	margin-right: auto;
}

#lead-area dl {
	text-align: left;
	margin-bottom: var(--clamp6);
}

#lead-area dl dt {
	font-size: clamp(18px, 10.276px + 2.414vw, 32px);
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: var(--clamp2);
}

#lead-area dl dd {
	border-left: 4px solid var(--color-aqua);
	padding-left: clamp(12px, 7.586px + 1.379vw, 20px);
	color: var(--color-aqua);
	font-size: var(--fz-xlarge);
	letter-spacing: 0.12em;
	line-height: 1.8;
}

/*@media screen and (max-width: 900px) {
	#lead-area dl dd {
		line-height: 1.5;
	}
}*/

#lead-area .copy-txt {
	width: min(96%, 680px);
	margin-left: auto;
	margin-right: auto;
	margin-top: var(--clamp8);
}

#lead-area .copy-txt::before,
#lead-area .copy-txt::after {
	content: "";
	display: block;
	width: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

#lead-area .copy-txt::before {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_comment_head.svg);
	background-position: right top;
	height: 32px;
}

#lead-area .copy-txt::after {
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_comment_foot.svg);
	background-position: left bottom;
	height: 34px;
}

@media screen and (max-width: 900px) {
	#lead-area .copy-txt::after {
		margin-top: var(--clamp2);
	}
}

#lead-area .copy-txt p {
	display: inline-flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	flex-direction: column;
	margin: 0 auto;
	color: var(--color-yellow);
	font-size: clamp(18px, 12.483px + 1.724vw, 28px);
	font-weight: 700;
	line-height: 1.6;
}

#lead-area .copy-txt p b {
	text-align: center;
}

#lead-area .copy-txt p b span {
}

#lead-area .copy-txt p b:first-child {
	text-align: left;
	padding: 0 3em 0 1em;
}

#lead-area .copy-txt p b:last-child {
	text-align: right;
	padding: 0 1em 0 3em;
}

@media screen and (max-width: 900px) {
	#lead-area .copy-txt {
		max-width: 480px;
	}

	#lead-area .copy-txt p b span {
		text-align: center;
		display: block;
		padding: 0 1em;
	}

	#lead-area .copy-txt p b:first-child {
		padding: 0;
	}
	
	#lead-area .copy-txt p b:last-child {
		padding: 0;
	}
}


/* ==================================================
Credit Area
================================================== */
#credit-area {
}

#credit-area .area-inner {
}

.subpage .frame-wrap {
	width: min(94%, 1200px);
	margin-left: auto;
	margin-right: auto;
	position: relative;
	border: 1px solid rgba(var(--rgb-aqua), 0.3);
	background-color: rgba(0,0,0,0.8);
}

.subpage .frame-wrap .frame-inner {
	position: relative;
	width: 100%;
	padding: 60px 5%;
}

.subpage .frame-wrap::before,
.subpage .frame-wrap::after,
.subpage .frame-wrap .frame-inner::before,
.subpage .frame-wrap .frame-inner::after {
	content: "";
	position: absolute;
	width: 60px;
	height: 60px;
	border-top: 3px solid var(--color-aqua);
	border-left: 3px solid var(--color-aqua);
}

.subpage .frame-wrap::before {
	bottom: -1px;
	left: -1px;
	transform: rotate(-90deg);
}

.subpage .frame-wrap::after {
	bottom: -1px;
	right: -1px;
	transform: rotate(-180deg);
}

.subpage .frame-wrap .frame-inner::before {
	top: -1px;
	left: -1px;
}

.subpage .frame-wrap .frame-inner::after {
	top: -1px;
	right: -1px;
	transform: rotate(90deg);
}

@media screen and (max-width: 900px) {
	.subpage .frame-wrap {
		max-width: 740px;
	}
	
	.subpage .frame-wrap .frame-inner {
		padding: 60px 5%;
	}
	
	.subpage .frame-wrap::before,
	.subpage .frame-wrap::after,
	.subpage .frame-wrap .frame-inner::before,
	.subpage .frame-wrap .frame-inner::after {
		width: 40px;
		height: 40px;
	}
}


/* #about-credit
------------------------------ */
#about-credit {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	color: #fff;
	text-align: left;
	font-size: var(--fz-large);
	line-height: 1.6;
}

#about-credit dl {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: row;
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	margin-bottom: 18px;
}

#about-credit dl dt {
	width: 240px;
	position: relative;
	padding-top: 12px;
}

#about-credit dl dt::before {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background-color: rgba(255, 255, 255, 0.5);
	position: absolute;
	z-index: 1;
	top: -3px;
	left: 0;
}

#about-credit dl dd {
	width: calc(100% - 240px);
	padding: 14px 0 0 2em;
}

#about-credit dl dd .paragraph {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: row;
}

#about-credit dl dd .paragraph .date {
	margin-right: 1em;
}

#about-credit dl dd .paragraph .note {
}

#about-credit dl dd .paragraph .note::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #fff;
	margin-right: 12px;
}

#about-credit dl dd a.link-web,
#about-credit dl dd a.link-mail {
	display: inline-block;
	position: relative;
}

#about-credit dl dd a.link-web::before,
#about-credit dl dd a.link-mail::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.5em;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	transform: translateY(2px);
}

#about-credit dl dd a.link-web::before {
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_link_target.svg);
}

#about-credit dl dd a.link-mail::before {
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_link_mail.svg);
}

@media screen and (max-width: 900px) {
	#about-credit {
	}
	
	#about-credit dl {
		display: block;
		margin-bottom: 24px;
	}
	
	#about-credit dl dt {
		width: 100%;
		padding-top: 12px;
		color: var(--color-gray-4);
	}
	
	#about-credit dl dt::before {
		width: 80px;
	}
	
	#about-credit dl dd {
		width: 100%;
		padding: 12px 0 0 0;
	}
	
	#about-credit dl dd .paragraph:not(:first-child) {
		margin-top: 12px;
	}
	
	#about-credit dl dd .paragraph .date {
	}
	
	#about-credit dl dd .paragraph .note {
	}
	
	#about-credit dl dd .paragraph .note::before {
		border-width: 3px 0 3px 6px;
		margin-right: 12px;
	}
	
	#about-credit dl dd a.link-web,
	#about-credit dl dd a.link-mail {
	}
	
	#about-credit dl dd a.link-web::before,
	#about-credit dl dd a.link-mail::before {
		width: 0.8em;
		height: 0.8em;
		margin-right: 0.5em;
		transform: translateY(1px);
	}
}


/* #about-attention
------------------------------ */
#about-attention {
	font-size: var(--fz-regular);
	background-color: rgba(255, 255, 255, 0.05);
	padding: 30px 5%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

#about-attention ul {
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}

#about-attention ul li {
	padding-left: 1.2em;
	text-indent: -1.2em;
	color: var(--color-gray-4);
}

#about-attention ul li * {
	text-indent: 0;
}

#about-attention ul li::before {
	content: "※";
	display: inline-block;
	width:1.2em;
	text-indent: 0;
}


/* ==================================================
bg-scroll
================================================== */
.bg-scroll {
	background: url(/iwf2023/asset_subpage/img/svg/bg_logo.svg) repeat-x 0 0;
	background-size: auto 100%;
	animation: scroll-logo 30s linear infinite;
	width: 100%;
	height: 68px; /* 背景画像の高さ */
	opacity: 0.4;
	margin-top: var(--clamp10);
	margin-bottom: var(--clamp14);

}

@media screen and (max-width: 640px) {
	.bg-scroll {
		animation: scroll-logo-sp 20s linear infinite;
		height: 34px; /* 背景画像の高さ÷2 */
	}
}

@keyframes scroll-logo {
	from {
		background-position: 0 0;
	}
	to {
		background-position: -1380px 0;
	}
	/* 1380px ＝ 使用した背景画像の長さ */
}

@keyframes scroll-logo-sp {
	from {
		background-position: 0 0;
	}
	to {
		background-position: -690px 0;
	}
	/* 690px ＝ 使用した背景画像の長さ÷2 */
}


/* ==================================================
Access Area
================================================== */
#access-area {
	padding-top: 100px;
	margin-top: -100px;
}

#access-area .area-inner {
	width: min(94%, 1200px);
	margin-left: auto;
	margin-right: auto;
}

/* .area-title */
#subpage-wrap .area-title {
	position: relative;
	margin-bottom: var(--clamp4);
	overflow: hidden;
}

#subpage-wrap .area-title::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
	width: 100%;
	height: 1px;
	background-color: var(--color-blue-light);
	opacity: 0.5;
}

#subpage-wrap .area-title h2 {
	color: var(--color-aqua);
	font-family: var(--font-en);
	font-weight: 400;
	font-size: var(--fz-area-ttl-large);
	line-height: 1;
	letter-spacing: 0;
	width: min(94%, 1200px);
	margin-left: auto;
	margin-right: auto;
	padding: 0 0 0 min(3%, 30px);
	text-align: left;
}

#subpage-wrap .area-title h2 span {
	position: relative;
	display: inline-block;
	padding-right: 1em;
}

#subpage-wrap .area-title h2 span::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 100%;
	margin: auto 0;
	aspect-ratio: 1596 / 36;
	/*width: 100vw;*/
	height: clamp(24px, 17.379px + 2.069vw, 36px);
	background: url(/iwf2023/asset_subpage/img/svg/border_blue.svg) no-repeat left center;
	background-size: contain;
}
/**/

#access-area .comment {
	font-size: var(--fz-large);
	text-align: left;
	margin-bottom: var(--clamp8);
	padding: 0 min(3%, 30px);
}

#access-area .comment p {
}


/* .place-frame
------------------------------ */
#access-area .place-frame {
	position: relative;
	z-index: 1;
}

#access-area .place-frame:not(:first-child) {
	margin-bottom: var(--clamp12);
}

/* ボーダー */
#access-area .place-frame::before,
#access-area .place-frame::after {
	content: "";
	position: absolute;
	border: 1px solid var(--color-aqua);
}

#access-area .place-frame::before {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#access-area .place-frame::after {
	top: -18px;
	left: 18px;
	width: calc(100% - 36px);
	height: calc(100% + 36px);
	z-index: -2;
}

#access-area .place-frame-inner {
	position: relative;
	z-index: 1;
	padding: 61px 19px 1px;
}

/* センター */
#access-area .place-frame-inner::before,
#access-area .place-frame-inner::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 36px;
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_center.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

#access-area .place-frame-inner::before {
	top: -26px;
	z-index: -1;
}

#access-area .place-frame-inner::after {
	bottom: -26px;
	transform: rotate(180deg);
	z-index: 1;
}

/* コーナー */
#access-area .place-frame-corner {
	position: absolute;
	left: 0;
	width: 100%;
}

#access-area .place-frame-corner.head {
	top: 0;
	z-index: -1;
}

#access-area .place-frame-corner.foot {
	bottom: 0;
	z-index: 1;
}

#access-area .place-frame-corner::before,
#access-area .place-frame-corner::after {
	content: "";
	position: absolute;
	width: 240px;
	aspect-ratio: 1 / 1;
	background-image: url(/iwf2023/asset_subpage/img/svg/frame_corner.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

#access-area .place-frame-corner.head::before {
	top: -10px;
	left: 10px;
}

#access-area .place-frame-corner.head::after {
	top: -10px;
	right: 10px;
	transform: rotate(90deg);
}

#access-area .place-frame-corner.foot::before {
	bottom: -10px;
	left: 10px;
	transform: rotate(-90deg);
}

#access-area .place-frame-corner.foot::after {
	bottom: -10px;
	right: 10px;
	transform: rotate(180deg);
}

@media screen and (max-width: 900px) {
	/* ボーダー */
	#access-area .place-frame::after {
		top: -8px;
		left: 8px;
		width: calc(100% - 16px);
		height: calc(100% + 16px);
	}
	
	#access-area .place-frame-inner {
		padding-left: 9px;
		padding-right: 9px;
	}
	
	/* センター */
	#access-area .place-frame-inner::before,
	#access-area .place-frame-inner::after {
		height: 12px;
	}
	
	#access-area .place-frame-inner::before {
		top: -9px;
	}
	
	#access-area .place-frame-inner::after {
		bottom: -9px;
	}
	
	/* コーナー */
	#access-area .place-frame-corner::before,
	#access-area .place-frame-corner::after {
		width: 90px;
	}
	
	#access-area .place-frame-corner.head::before {
		top: -3px;
		left: 5px;
	}
	
	#access-area .place-frame-corner.head::after {
		top: -3px;
		right: 5px;
	}
	
	#access-area .place-frame-corner.foot::before {
		bottom: -3px;
		left: 5px;
	}
	
	#access-area .place-frame-corner.foot::after {
		bottom: -3px;
		right: 5px;
	}
}


/* .place-frame 内
------------------------------ */
#access-area .date-label {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	flex-direction: row;
	margin-bottom: var(--clamp4);
}

#access-area .date-label li {
	margin: 0 clamp(6px, 1.034px + 1.552vw, 15px);
	line-height: 1;
	border: 1px solid var(--color-aqua);
	color: var(--color-aqua);
	font-family: var(--font-en);
	font-weight: 400;
	text-transform: initial;
	letter-spacing: 0;
	padding: 0.4em;
	width: clamp(120px, 86.897px + 10.345vw, 180px);
}

#access-area .date-label li.day1 {
	border-color: var(--color-day1);
	color: var(--color-day1);
}

#access-area .date-label li.day2 {
	border-color: var(--color-day2);
	color: var(--color-day2);
}

#access-area .date-label li.day3 {
	border-color: var(--color-day3);
	color: var(--color-day3);
}

#access-area .date-label li .date {
	font-size: clamp(22px, 13.172px + 2.759vw, 38px);
}

#access-area .date-label li .week {
	font-size: clamp(14px, 10.69px + 1.034vw, 20px);
}

#access-area h3 {
	font-size: clamp(22px, 14.276px + 2.414vw, 36px);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: var(--clamp2);
}

#access-area .caption {
	font-size: var(--fz-large);
	margin-bottom: var(--clamp3);
}

/* Google MAP */
#access-area .gmap-wrap {
	margin-bottom: var(--clamp4);
	width: 100%;
	aspect-ratio: 16 / 9;
	position: relative;
}

#access-area .gmap-wrap .gmap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#access-area .gmap-wrap #gmap-node {
}

#access-area .gmap-wrap #gmap-hills {
}


/* 最寄り駅 */
#access-area .station {
	padding: 0 min(3%, 40px);
	margin-bottom: var(--clamp6);
}

#access-area .station ul {
	display: block;
	margin-bottom: var(--clamp2);
	width: 100%;
}

#access-area .station ul li {
	margin-bottom: 30px;
}

#access-area .station ul li dl {
	font-size: var(--fz-large);
	text-align: left;
}

#access-area .station ul li dl dt {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: row;
}

#access-area .station ul li dl dt .name {
	border: 1px solid  #fff;
	border-radius: 8px;
	line-height: 1;
	padding: 0.2em 0.6em;
	margin-right: 10px;
}

@media screen and (min-width: 521px) {
	#access-area .station ul {
		display: inline-flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
		flex-direction: row;
	}

	#access-area .station ul li:not(:last-child) {
		margin-right: 40px;
	}

	#access-area .station ul li dl dt .name br {
		display: none;
	}
}

#access-area .station ul li dl dt .icon {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
	flex-direction: row;
}

#access-area .station ul li dl dt .icon b {
	width: 24px;
	aspect-ratio: 1 / 1;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

#access-area .station ul li dl dt .icon b:not(:last-child) {
	margin-right: 5px;
}

#access-area .station ul li dl dt .icon b.subway-hibiya {
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_subway_hibiya.svg);
}

#access-area .station ul li dl dt .icon b.subway-ginza {
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_subway_ginza.svg);
}

#access-area .station ul li dl dt .icon b.subway-marunouchi {
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_subway_marunouchi.svg);
}

#access-area .station ul li dl dt .icon b.subway-chiyoda {
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_subway_chiyoda.svg);
}

#access-area .station ul li dl dt .icon b.subway-mita {
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_subway_mita.svg);
}

#access-area .station ul li dl dt .icon b.subway-oedo {
	background-image: url(/iwf2023/asset_subpage/img/svg/icon_subway_oedo.svg);
}

#access-area .station ul li dl dd {
	margin-top: 6px;
}

#access-area .station .btn-block {
}

#access-area .station .btn-block a.btn-more {
	display: block;
	margin: 0 auto;
	padding: 1em 0.5em;
	background: var(--color-yellow);
	color: #000;
	font-size: var(--fz-extra);
	font-family: var(--font-en);
	font-weight: 400;
	text-transform: initial;
	letter-spacing: 0;
	line-height: 1;
	width: min(60%, 260px);
	transition: var(--transition-def);
}

@media screen and (min-width: 521px) {
	#access-area .station .btn-block a.btn-more {
		margin: 0;
	}
}


#access-area .station .btn-block a.btn-more:hover {
	background: var(--color-aqua);
	/*filter: drop-shadow(0 0 9px rgba(22, 236, 229, 0.7));*/
	filter: drop-shadow(0 0 9px rgba(var(--rgb-aqua), 0.8));
}

#access-area .station .btn-block a.btn-more>span {
}

#access-area .station .btn-block a.btn-more>span::after {
	content: "";
	display: inline-block;
	background: url(/iwf2023/asset_subpage/img/svg/icon_arrow_black.svg) no-repeat center center;
	background-size: contain;
	width: 7px;
	aspect-ratio: 7 / 16;
	margin-left: 10px;
	transform: translateY(1px);
	transition: var(--transition-def);
}

#access-area .station .btn-block a.btn-more:hover>span::after {
	transform: translate(4px,1px);
}

#access-area .picture {
}

#access-area .picture img {
}


/* 会場案内 */
#access-area .guide-wrap {
	background-image : linear-gradient(to right, var(--color-aqua) 2px, transparent 2px);
	background-size: 12px 2px;
	background-repeat: repeat-x;
	background-position: left top;

	width: 96%;
	margin: 0 auto;
	padding: var(--clamp8) 0;
}

#access-area .guide-inner {
	position: relative;
}

#access-area .guide-wrap .box {
	width: 94%;
	margin: 0 auto var(--clamp3);
	text-align: left;
}

@media screen and (min-width: 901px) {
	#access-area .guide-wrap .box {
		position: absolute;
		top: 6%;
		left: 4%;
		width: 50%;
	}
}

#access-area .guide-wrap .box .label {
	display: inline-block;
	font-size: var(--fz-xextra);
	font-weight: 700;
	line-height: 1;
	color: #000;
	background: var(--color-aqua);
	padding: 0.4em 1.2em;
	margin-bottom: var(--clamp3);
}

#access-area .guide-wrap .box .txt {
	border-left: 4px solid var(--color-blue-light);
	padding-left: clamp(12px, 7.586px + 1.379vw, 20px);
}

#access-area .guide-wrap .box .txt p {
	color: var(--color-blue-light);
	font-size: var(--fz-large);
	line-height: 1.4;
}

#access-area .guide-wrap .pct {
	width: 94%;
	margin: 0 auto;
}

#access-area .guide-wrap .pct img {
	margin: 0 0 0 auto;
}

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

}