@charset "UTF-8";

/* --------------------------------------------------
    共通
-------------------------------------------------- */
html {
	font-size: 62.5%;
	background-color: #D6E6F6;
}

body {
	font-size: clamp(1.6rem, calc(1rem + 0.625vw), 1.8rem);
	font-weight: 600;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	line-height: 1.5;
	color: #333333;
	width: 100%;
	background-color: #FFFFFF;
}
@media (min-width: 768px) {
	body {
		line-height: 1.7;
	}
}
.wrapper {
	max-width: 1100px;
	margin: 0 auto;
}
.text-center {
	text-align: center;
}
.text-left {
	text-align: left
}

/*画像*/
img {
	width: 100%;

}
.bg-NoRepeat {
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	max-width: 100%;
}
.bg-Repeat {
	background-size: contain;
	background-position: center top;
	background-repeat: repeat-y;
}

/*文字*/
h3 {
	font-size: clamp(2.4rem, calc(2.2rem + 0.625vw), 2.9rem);
	font-weight: bolder;
	line-height: 1.3;
}
h3.outline {
	display: inline-block;
	letter-spacing: 6px;
	text-shadow: 3px  3px 1px #ffffff, -3px  3px 1px #ffffff, 3px -3px 1px #ffffff, -3px -3px 1px #ffffff, 3px  0px 1px #ffffff, 0px  3px 1px #ffffff, -3px  0px 1px #ffffff, 0px -3px 1px #ffffff;
}
.outline {
	display: inline-block;
	letter-spacing: 2px;
	text-shadow: 2px  2px 1px #ffffff, -2px  2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px  0px 1px #ffffff, 0px  2px 1px #ffffff, -2px  0px 1px #ffffff, 0px -2px 1px #ffffff;
}
.text-danger {
	color: #ff0000;
}
.underline {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.underline-0 {
	text-underline-offset: 1px;
}
.link::after {
	font-family: "Font Awesome 5 Free";
	content: '\f35d';
	font-weight: 900;
	margin-left: 6px;
	margin-right: 3px;
	color: #333333;
}
.white-space-nowrap {
	white-space: nowrap;
}

/*余白*/
.mb-20 {margin-bottom: 20px;}
.mb-40 {margin-bottom: 40px;}
.my-20 {margin-bottom: 20px; margin-top: 20px;}
.mb-60 {margin-bottom: 30px;}
.pb-60 {padding-bottom: 30px;}

@media (min-width: 768px) {
	.mb-60 {margin-bottom: 60px;}
	.pb-60 {padding-bottom: 60px;}
}

/*カラム*/
.d-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.column {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}

@media (min-width: 768px) {
	.column {
		width: 50%;
	}
}

/*pagetop*/
#pagetop{
	position:fixed;
	right:10px;
	bottom:10px;
	cursor:pointer;
	z-index: 10;
	width: 60px;
}
#pagetop img {
	filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.4));
}

@media (min-width: 768px) {
	#pagetop{
		width: 100px;
	}
}


/* --------------------------------------------------
    ヘッダ・メインビジュアル
-------------------------------------------------- */
header h1 {
	margin: 0;
}
header img {
	width: 100%;
}
/*メインビジュアル*/
#top {
	background-image: url("../img/lp01_img02.png");
	background-color: #FFFFFF;
}
#top-date {
	background-image: url("../img/lp01_img04.png");
	background-color: #FFFFFF;
}
#top .img {
	max-width: 1110px;
	margin: 0 auto;
	padding: 30px 20px 0 20px;
}
#top-date .img {
	max-width: 1110px;
	margin: 0 auto;
	padding: 40px 40px;
}

dl {
	display: block;
	max-width: 100%;
	margin: 30px 20px;
	font-size: clamp(1.6rem, calc(1rem + 0.625vw), 1.8rem);
	font-weight: bolder;
}
dt,dd {
	width: 100%;
}
dt:not(:last-child) {
	margin-bottom: 0;
}
dd:not(:last-child) {
	margin-bottom: 20px;
}

@media (min-width: 600px) {
	dl {
		display: flex;
		flex-wrap: wrap;
		margin: 40px 30px 20px 30px;
	}
	dt {
		width: 10%;
	}
	dt:not(:last-child) {
		margin-bottom: 20px;
	}
	dd {
		width: 90%;
	}
	dd:not(:last-child) {
		margin-bottom: 20px;
	}
}
@media (min-width: 768px) {
	#top-date .img {
		max-width: 1110px;
		margin: 0 auto;
		padding: 80px 40px;
	}
	dl {
		margin: 60px 20px 40px 20px;
		font-size: clamp(2.4rem, calc(2.2rem + 0.625vw), 2.9rem);
	}
	
}

/* --------------------------------------------------
    フッタ
-------------------------------------------------- */
footer {
	background-color: #8cc63f;
	padding: 60px 30px;
}
.footer-box {
	max-width: 1110px;
	margin: 0 auto;
	padding: 20px;
	border-top: 4px dotted #FFFFFF;
	border-bottom: 4px dotted #FFFFFF;
	box-sizing: border-box;
}
.title-phone {
	position: relative;
	margin-left: 35px;
	margin-bottom: 10px;
	font-size: clamp(2rem, calc(1.8rem + 0.625vw), 2.5rem);
	line-height: 1.3;
	color: #FFFFFF;
}
.title-phone::before {
	content: "";
	display: inline-block;
	background-image: url("../img/lp01_img46.png");
	background-size: cover;
	background-repeat: no-repeat;
	width: 25px;
	height: 25px;
	position: absolute;
	top: 50%;
	left: -20px;
	transform: translate(-50%, -50%);
}
.footer-box .text {
	color: #FFFFFF;
	font-size: clamp(2rem, calc(1.8rem + 0.625vw), 2.5rem);
}
.footer-sns {
	max-width: 1110px;
	margin: 0 auto;
	padding: 20px 20px 0;
}
.sns-btn {
	display: flex;
}
.sns-btn li {
	width: 30px;
	margin-left: 10px;
	margin-right: 10px;
}


/* --------------------------------------------------
    section01 駒沢体育館リニューアルオープンイベント
-------------------------------------------------- */
#section01 {
	background-image: url("../img/lp01_img06.jpg"),url("../img/lp01_img07.jpg");
	background-size: contain,contain;
	background-position: center top,center top;
	background-repeat: no-repeat,repeat-y,no-repeat;
	background-color: #ffd36c;
}
#section01 .img-pt {
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 30% 40px 30px 40px;
}
#section01 .img {
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 20px 40px;
}
#section01 .img-sm {
	width: 100%;
	padding: 20px 40px;
}
#section01 .d-flex .img {
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 0 40px;
}
#section01 .d-flex .img-md {
	width: 90%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 30px 40px;
}
#section01 .d-flex h3 {
	padding: 0 40px;
	/*flex-grow: 1;*/
}
#section01 .d-flex p {
	padding: 20px 40px 0 40px;
}

@media (min-width: 768px) {
	#section01 .img-pt {
		width: 60%;
		padding: 30% 20px 30px 20px;
	}
	#section01 .img {
		width: 70%;
		padding: 30px 20px;
	}
	#section01 .img-sm {
		width: 50%;
		padding: 30px 20px;
	}
}


/* --------------------------------------------------
    section03 東京2020大会メモリアルデーイベント
-------------------------------------------------- */
#section03 {
	background-image: url("../img/lp01_img20.jpg"),url("../img/lp01_img21.jpg");
	background-size: contain,contain;
	background-position: center top,center top;
	background-repeat: no-repeat,repeat-y;
	background-color: #f8afb3;
}
#section03 .img-pt {
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 30% 40px 30px 40px;
}
#section03 .img {
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 20px 40px;
}
#section03 .img-sm {
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
	padding: 20px 40px 100px 40px;
}
#section03 .d-flex .img {
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 0 40px;
}
#section03 .d-flex .img-md {
	width: 90%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 30px 40px;
}
#section03 .d-flex p {
	padding: 20px 40px 20px 40px;
}

@media (min-width: 768px) {
	#section03 .img-pt {
		width: 60%;
		padding: 30% 20px 30px 20px;
	}
	#section03 .img {
		width: 60%;
		padding: 30px 20px;
	}
}


/* --------------------------------------------------
    section05 TOKYO FORWARD 2025
-------------------------------------------------- */
#section05 {
	background-image: url("../img/lp01_img27.png"),url("../img/lp01_img28.jpg");
	background-size: contain,contain;
	background-position: center top,center top;
	background-repeat: no-repeat,repeat-y;
	background-color: #e2daf7;
}
#section05 .pt {
	padding-top: 20%;
}
#section05 .img {
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 20px 40px;
}

#section05 .d-flex .img {
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 0 40px;
}
#section05 .d-flex h3 {
	padding: 20px 40px 0 40px;
}
#section05 .d-flex p {
	padding: 20px 40px 0 40px;
}

@media (min-width: 768px) {
	#section05 .img-pt {
		width: 60%;
		padding: 30% 20px 30px 20px;
	}
	#section05 .img {
		width: 60%;
		padding: 30px 20px;
	}
}


/* --------------------------------------------------
    section06 中央広場
-------------------------------------------------- */
#section06 {
	background-image: url("../img/lp01_img31.png");
	background-color: #FFFFFF;
}
#section06 .img-pt {
	padding-top: 20%;
	width: 70%;
	max-width: 600px;
	margin: 0 auto;
	padding: 30% 40px 40px 40px;
}
#section06 .img {
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 0 40px 10px 40px;
}
#section06 h3 {
	padding: 0 40px 20px 40px;
}
#section06 p {
	max-width: 850px;
	margin: 0 auto;
	padding: 0 40px 0 40px;
	text-align: left;
}


/* --------------------------------------------------
    section07 スタンプラリー
-------------------------------------------------- */
#section07 {
	background-image: url("../img/lp01_img35.png"),url("../img/lp01_img36.png");
	background-size: contain,contain;
	background-position: center top,center bottom;
	background-repeat: no-repeat,no-repeat;
	background-color: #FFFFFF;
}
#section07 .img-pt {
	padding-top: 20%;
	width: 70%;
	max-width: 800px;
	margin: 0 auto;
	padding: 30% 40px 40px 40px;
}
#section07 .img {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 40px;
}


/* --------------------------------------------------
    section08 フォロー&リポストキャンペーン
-------------------------------------------------- */
.box {
	max-width: 1110px;
	margin: 60px 10px;
	padding: 30px 20px 30px 20px;
	background-color: #29abe2;
	box-sizing: border-box;
}
.box .header {
	font-size: clamp(2.6rem, calc(2.4rem + 0.625vw), 3.4rem);
	font-weight: bolder;
	line-height: 1.3;
	color: #FFFFFF;
	margin-bottom: 20px;
}
.box .header span {
	color: #ffff00;
}
.box .sub-text {
	font-size: clamp(2rem, calc(1.8rem + 0.625vw), 2.5rem);
	color: #FFFFFF;
	text-decoration: underline;
	text-decoration-color: #ffff00;
	text-underline-offset: 6px;
}

.box-inner {
	display: block;
	position: relative;
	margin: 20px auto 0;
	padding-top: 10px;
	background-color: #FFFFFF;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.14);
	box-sizing: border-box;
}
.box-content {
	position: absolute;
	top: -5px;
	left: -6px;
	width: 100px;
	height: 99px;
	overflow: hidden;
}
.ribbon {
	display: inline-block;
	position: absolute;
	padding: 7px 0;
	right: -20px;
	top: 19px;
	width: 160px;
	text-align: center;
	font-size: 18px;
	line-height: 20px;
	background: #ED1B24;
	color: #FFFFFF;
	letter-spacing: 0.05em;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
.ribbon:before, .ribbon:after {
	position: absolute;
	content: "";
	border-top: 4px solid #b50b13;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	bottom: -4px;
}
.ribbon:before {
	left: 7px;
}

.ribbon:after {
	right: 11px;
}

.box-inner h3 {
	margin: 20px 20px 30px;
}

ol {
	margin: 0 30px;
	padding: 0;
	text-align: left;
}
ol li {
	list-style: none;
	padding-left: 1.3em;
	text-indent: -1.3em;
	margin-bottom: 16px;
}

#section08 .d-flex img {
	width: 40%;
	margin: 0 auto;
}
#section08 .d-flex .img-sm {
	width: 40%;
	margin: 0 auto 10px auto;
}
.flex-end {
	align-items: flex-end;
}
.x-post {
	margin: 20px 20px 50px 20px;
}
.box-inner-foot {
	margin: 0 20px;
	padding-bottom: 30px;
	border-top: 1px solid #333333;
}
.box-inner-foot p {
	margin-bottom: 20px;
}
.box-inner-foot a {
	color: #0071bc;
	font-size: 2rem;
	text-underline-offset: 1px;
}
.box-inner-foot .img-qr {
	max-width: 150px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.box {
		padding: 40px 30px 30px 30px;
	}
	.x-post {
		margin: 20px 30px;
	}
	.box-inner-foot {
		margin: 0 30px;
	}
	.box-inner-foot .img-qr {
		max-width: 200px;
	}
	#section08 .d-flex img {
		width: 70%;
		margin: 0 auto 20px auto;
	}
	#section08 .d-flex .img-sm {
		width: 50%;
		margin: 20px auto 20px auto;
	}
}

/*カラム 順番変更*/
@media (max-width: 768px) {
	#section08 .item1 {
		order: 2;
	}
	#section08 .item2 {
		order: 1;
	}
}


/* --------------------------------------------------
    section09 ステージプログラム
-------------------------------------------------- */
.comingsoon {
	padding: 100px 40px;
}
#section09 .comingsoon h3 {
	font-size: 2.4rem;
}

@media (min-width: 768px) {
	.comingsoon {
		padding: 200px 40px;
	}
	#section09 .comingsoon h3 {
		font-size: 5rem;
	}
}


/* --------------------------------------------------
    section10 公園マップ&交通アクセス
-------------------------------------------------- */
#section10 .img-top {
	width: 100%;
	margin: 0 auto;
}
#section10 .img {
	width: 100%;
	margin: 0 auto;
	padding: 40px 10px;
}
.text-area {
	text-align: left;
	margin: 0 20px 60px 20px;
}
.title-walk, .title-bus {
	position: relative;
	margin-left: 50px;
	margin-bottom: 20px;
	text-decoration: underline;
	text-decoration-color: #8cc63f;
	text-underline-offset: 8px;
	text-decoration-thickness: 4px;
}
.title-walk::before {
	content: "";
	display: inline-block;
	background-image: url("../img/lp01_img44.png");
	background-size: cover;
	background-repeat: no-repeat;
	width: 50px;
	height: 50px;
	position: absolute;
	top: 50%;
	left: -25px;
	transform: translate(-50%, -50%);
}
.title-bus::before {
	content: "";
	display: inline-block;
	background-image: url("../img/lp01_img45.png");
	background-size: cover;
	background-repeat: no-repeat;
	width: 50px;
	height: 50px;
	position: absolute;
	top: 50%;
	left: -25px;
	transform: translate(-50%, -50%);
}

@media (min-width: 768px) {
	#section10 .img {
		width: 100%;
		margin: 0 auto;
		padding: 80px 40px;
	}
}
