@charset "UTF-8";

/*variables*/
/******************************************************************************
 全てのページで共通するstyleの管理
******************************************************************************/
/*foundation*/
/******************************************************************************
 Default CSS Reset
******************************************************************************/
* {
	box-sizing: border-box;
	min-height: 0vw;
}

html {
	/* scroll-behavior: smooth; */
	scroll-padding-top: 7.5em;
}

@media screen and (max-width: 1024px) {
	html {
		scroll-padding-top: 4.3em;
	}
}

html,
body {
	position: relative;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
figure {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	table-layout: fixed;
}

fieldset,
img {
	border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
	font-style: normal;
	font-weight: normal;
}

ol,
ul {
	list-style: none;
}

caption {
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}

img {
	vertical-align: bottom;
	/* chormeで画像のぼやけ回避 */
	-webkit-backface-visibility: hidden;
	max-width: 100%;
}

/* iOSでのデフォルトスタイルをリセット */
input,
button,
select,
textarea {
	border-radius: 0;
	font: inherit;
	outline: none;
}

input[type=submit] {
	-webkit-appearance: none;
}

textarea {
	resize: vertical;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/******************************************************************************
 General Setting
******************************************************************************/
body {
	margin: 0 auto;
	padding: 0;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
	color: #221815;
	word-wrap: break-word;
	-webkit-font-smoothing: antialiased;
	font-size: clamp(14px, 0.83vw, 16px);
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding-right: 0;
}

@media screen and (max-width: 768px) {
	body {
		letter-spacing: 0.02em;
		line-height: 1.5;
	}
}

a {
	margin: 0;
	padding: 0;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体", "メイリオ", Meiryo, sans-serif;
	color: #221815;
	outline: none;
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	transition: .3s;
}

a:hover {
	opacity: .8;
	transition: .3s;
}

a:focus,
*:focus {
	outline: none;
}




/*layout*/
/******************************************************************************
 Layout
******************************************************************************/
.l-wrap {
	width: 100%;
	margin-inline: auto;
	overflow: hidden;
	position: relative;
}

.l-Linner {
	width: min(1300px, 90%);
	margin-inline: auto;
}

.l-Minner {
	width: min(1200px, 90%);
	margin-inline: auto;
}


/*** none ***/
.c-pcNone {
	display: none;
}

.c-spNone {
	display: block;
}


@media screen and (max-width: 768px) {
	.c-pcNone {
		display: block;
	}

	.c-spNone {
		display: none !important;
	}
}

/*==========================================
header
===========================================*/
.header {
	background-color: #ffdd00;
	width: 100%;
	height: 110px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
}

@media screen and (max-width: 768px) {
	.header {
		height: 60px;
	}
}

.header__inner {
	padding: 0 15px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: inherit;
	position: relative;
}


/* ヘッダーのロゴ部分 */
.header__title {
	width: min(394px,40%);
}


@media screen and (max-width: 768px) {
	.header__title {
		width: 200px;
	}
}

.header__title a {
	display: block;
}

.header__title img {
	display: block;
	width: 100%;
	height: 100%;
}

/* ヘッダーのナビ部分 */

.header__nav {
	position: absolute;
	right: 0;
	top: 0;
	width: 400px;
	height: 100vh;
	transform: translateX(100%);
	transition: ease .4s;
	z-index: 100;
	background-color: #fff;
}

@media screen and (max-width: 500px) {
	.header__nav {
		position: absolute;
		right: 0;
		left: 0;
		margin: 0 auto;
		width: 100%;
	}
}


.nav__items {
	width: 100%;
	display: grid;
	row-gap: 3em;
	text-align: center;
	align-items: center;
	height: initial;
	padding-top: 9em;
}

/* ナビのリンク */
.nav-items__item a {
	color: black;
	width: 75%;
	display: block;
	text-align: center;
	font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);
	background-color: #ffdd00;
	font-weight: 700;
	border: 2px solid #000;
	border-radius: 2em;
	padding: .7em;
	margin-inline: auto;
}

.nav-items__item:last-child a {
	margin-bottom: 0;
}

.nav-items__item a {
	margin-bottom: 0;
}

.nav-items__logo {
	width: min(250px, 90%);
	margin-inline: auto;
	padding-top: 5em;
}

/* ハンバーガーメニュー */

.header__hamburger {
	width: 80px;
	height: 100%;

}

.hamburger {
	background-color: transparent;
	border-color: transparent;
	z-index: 9999;
	position: absolute;
	right: 1em;
	color: #221815;
}

@media screen and (max-width:768px) {
	.hamburger {
		right: 0em;
		top: .2em;
	}
}

/* ハンバーガーメニューの線 */
.ham-line {
	width: 66%;
	height: 4px;
	border-radius: 10px;
	background-color: #221815;
	position: relative;
	transition: ease .4s;
	display: block;
	margin-inline: auto;
	border-radius: 1em;
}

@media screen and (max-width: 768px) {
	.ham-line {
		width: 50%;
		height: 3px;
		border-radius: 1em;
	}
}

.ham-line:nth-child(1) {
	top: 0;
}

.ham-line:nth-child(2) {
	margin: 8px 0;
	margin-inline: auto;
}

@media screen and (max-width:768px) {
	.ham-line:nth-child(2) {
		margin: 5px 0;
		margin-inline: auto;
	}
}

.ham-line:nth-child(3) {
	top: 0;
}

/* ハンバーガーメニュークリック後のスタイル */
.header__nav.active {
	transform: translateX(0);
}

.hamburger.active span:nth-child(1) {
	top: 7px;
	transform: rotate(45deg);
}

.hamburger.active span:nth-child(2) {
	opacity: 0;

}

.hamburger.active span:nth-child(3) {
	top: -17px;
	transform: rotate(-45deg);
}

@media screen and (max-width:768px) {
	.hamburger.active span:nth-child(3) {
		top: -9px;
	}
}

.mask {
	display: none;
	transition: all .5s;
}

.mask.active {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: .8;
	z-index: 2;
	cursor: pointer;
}

.header_menu {
	font-size: clamp(12px, 2vw, 16px);
	font-weight: 700;
	padding-top: 3px;
}



/*==========================================
MV
===========================================*/
.mv-ct {
	background-color: #efefef;
	margin-top: 110px;
	padding-top: 2.25em;
	padding-bottom: 1.25em;
}

@media screen and (max-width:768px) {
	.mv-ct {
		margin-top: 60px;
    padding-top: 0.25em;
    padding-bottom: 0;
	}
}

.mv-ct-inner {
	width: min(1840px, 96%);
	margin-inline: auto;
  position: relative;
}

@media screen and (max-width:768px) {
  .mv-ct-inner {
    width: 100%;
  }
}

.mv-ct-dtl {
	font-size: clamp(1rem, 0.636rem + 1.82vw, 2rem);
	font-weight: 700;
	background-color: #fff;
	border-radius: 10px;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 1em;
}

.mv-ct-dtl a {
	display: block;
	padding: .3em;
}

.mv-img-wrap {
	position: relative;
}

.mv-btn {
  display: block;
  width: min(330px,18.2%);
  position: absolute;
}

@media screen and (max-width:768px) {
  .mv-btn {
    width: min(218px,28.4%);
  }
}

.mv-btn1 {
  top: 37%;
  right: 5%;
}

.mv-btn2 {
  top: 90%;
  right: 11%;

}

.mv-btn3 {
  top: 67.2%;
  left: 7.5%;
}

.mv-btn4 {
  top: 90%;
  left: 16%;
}

@media screen and (max-width:768px) {
  .mv-btn1 {
    top: 11%;
    right: 42%;
  }
  
  .mv-btn2 {
    top: 14.8%;
    right: 3.5%;
  }
  
  .mv-btn3 {
    top: 96%;
    left: 34%;
  }
  
  .mv-btn4 {
    top: 96%;
    left: 65.5%;
  }
}

.ct1 {
	padding-top: clamp(4em,6vw,6em);
}

.ct1-wrap {
  width: min(1280px, 90%);
  margin-inline: auto;
	background-image: url(/assets/images/ct1-bg.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center bottom;
	position: relative;
	margin-bottom: clamp(3em, 11vw, 10em);
}

.ct1-wrap::before {
	content: "";
	position: absolute;
	background-image: url(/assets/images/ct1-dec-left.png);
	background-size: contain;
	width: 30%;
	height: 100%;
	background-repeat: no-repeat;
	bottom: 0;
	left: 0;
}

@media screen and (max-width:1200px) {
	.ct1-wrap::before {
		width: 21%;
		height: 62%;
		background-repeat: no-repeat;
		bottom: 0;
		left: -2%;
	}
}

@media screen and (max-width:768px) {
	.ct1-wrap::before {
		content: none;
	}
}

.ct1-wrap::after {
	content: "";
	position: absolute;
	background-image: url(/assets/images/ct1-dec-right.png);
	background-size: contain;
	width: 30%;
	height: 100%;
	background-repeat: no-repeat;
	bottom: 0;
	right: 0;
}

@media screen and (max-width:1200px) {
	.ct1-wrap::after {
		width: 21%;
		height: 62%;
		background-repeat: no-repeat;
		bottom: 0;
		right: -2%;
	}
}

@media screen and (max-width:768px) {
	.ct1-wrap::after {
		content: none;
	}
}

.ct1-ttl {
	width: min(750px, 60%);
	margin-inline: auto;
	margin-bottom: 3em;
}

@media screen and (max-width:768px) {
  .ct1-ttl {
    width: 90%;
    margin-bottom: 2em;
  }
}

.ct1-txt {
	text-align: center;
	font-size: clamp(0.875rem, 0.767rem + 0.46vw, 1.25rem);
	font-weight: 900;
	letter-spacing: 0.06em;
  line-height: 2;
  font-feature-settings: "palt";
}

.ct1-dtl-ct {
	position: relative;
}

.ct1-dtl-ct h2 img {
	display: block;
	width: 230px;
	text-align: center;
	margin-inline: auto;
}

@media screen and (max-width:700px) {
	.ct1-dtl-ct h2 img {
		width: 50%;
	}
}

.ct1-dtl-wrap {
	background-color: #efefef;
	padding: 5em 6%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 2.6em;
	row-gap: 2em;
	justify-items: center;
	border-radius: 1em;
  margin-top: -2.5em;
	margin-bottom: 5em;
}



@media screen and (max-width:700px) {
	.ct1-dtl-wrap {
		padding: 3em 1em;
	}
}

.ct1-dtl-wrap::before {
	content: "";
	position: absolute;
	background-image: url(/assets/images/ct1-dtl-left-dec.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 126px;
	height: 155px;
	bottom: -3em;
	left: -2em;
  z-index: 1;
}

@media screen and (max-width:768px) {
	.ct1-dtl-wrap::before {
		width: 80px;
		height: 90px;
		bottom: -2.4em;
		left: 0;
	}
}

.ct1-dtl-wrap::after {
	content: "";
	position: absolute;
	background-image: url(/assets/images/ct1-dtl-right-dec.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 117px;
	height: 163px;
	bottom: -3em;
	right: -2em;
  z-index: 1;
}

@media screen and (max-width:768px) {
	.ct1-dtl-wrap::after {
		width: 80px;
		height: 100px;
		bottom: -3em;
		right: 0;
	}
}

@media screen and (max-width:768px) {
	.ct1-dtl-wrap {
		grid-template-columns: auto;
	}
}

.ct1-dtl-wrap a {
	display: block;
}

.ct1-dtl-card {
  position: relative;
  z-index: 0;
}

.ct1-btn {
  width: 40%;
  position: absolute;
  bottom: 4.5%;
}
.ct1-left-btn1,
.ct1-right-btn1 {
  left: 8%;
}
.ct1-left-btn2,
.ct1-right-btn2 {
  right: 8%;
}


.ct2 {
	background-color: #ffdd00;
	position: relative;
	padding-top: 3em;
}

.ct2::before {
	content: "";
	position: absolute;
	background-image: url(/assets/images/ct2-bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	top: -1em;
	width: 100%;
	height: 27px;
}

.ct2-wrap {
	display: grid;
	grid-template-columns: 46% 52%;
	column-gap: 2%;
	row-gap: 2em;
  width: min(1190px, 90%);
  margin-inline: auto;
}

@media screen and (max-width:1024px) {
	.ct2-wrap {
		display: grid;
		grid-template-columns: auto;
		column-gap: 2em;
		row-gap: 2em;
	}
}

.ct2-box {
	background-color: #fff;
	padding: 2em 2.75em;
	border-radius: 1em;
	font-size: clamp(1rem, 0.928rem + 0.31vw, 1.25rem);
	width: min(650px, 100%);
	margin-inline: auto;
}

@media screen and (max-width:1024px) {
	.ct2-box {
		padding: 1.5em;
	}
}

.ct2-box.box1 img {
	padding-bottom: 1em;
	display: block;
	margin-inline: auto;
}

.ct2-box.box2 img {
	padding-bottom: 2em;
}

.ct2-box.box2 {
	padding: .7em;
}

.box2-txt {
	position: relative;
  padding-left: 1em;
	padding-right: 48%;
  font-size: clamp(1rem, 0.912rem + 0.44vw, 1.438rem);
}

@media screen and (max-width:1024px) {
  .box2-txt {
    padding-left: 0;
    padding-right: 44%;
  }
}


.box2-txt::before {
	content: "";
	position: absolute;
	background-image: url(/assets/images/ct2-box2-img.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 45%;
	height: 300px;
	right: 0%;
	top: -3em;
}

@media screen and (max-width:1024px) {
	.box2-txt::before {
    width: 40%;
    height: 170px;
	}
}

@media screen and (max-width:460px) {
	.box2-txt::before {
		width: 40%;
		height: 145px;
		right: 0%;
		top: -2em;
	}
}

.box2-txt span {
	font-size: clamp(0.875rem, 0.8rem + 0.38vw, 1.25rem);
}

.box2-dashed {
	border: 1px dashed;
	padding: 1em 1em 2em;
	border-radius: 1em;
  height: 100%;
}

@media screen and (max-width:768px) {
	.box2-dashed {
		padding: 1em 1em;
	}
}

.ct2-box.box3 {
	grid-column: 1 / 3;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 40%;
	column-gap: 2em;
	align-items: center;
}

@media screen and (max-width:1024px) {
	.ct2-box.box3 {
		grid-column: auto;
	}
}

@media screen and (max-width:768px) {
	.ct2-box.box3 {
		grid-template-columns: auto;
	}
}

.box3-ttl-img {
	padding-bottom: 1em;
}

@media screen and (max-width:768px) {
	.ct2-box3-img {
		margin-inline: auto;
		margin-top: 1em;
	}
}

.ct2-box.box3.box4 {
	grid-template-columns: 1fr 40%;
	column-gap: 2em;
	align-items: center;
}

@media screen and (max-width:768px) {
	.ct2-box.box3.box4 {
		grid-template-columns: auto;
	}
}

@media screen and (max-width:768px) {
	.ct2-box4-img {
		width: 80%;
		margin-inline: auto;
		margin-top: 1em;
	}
}

.box3-txt {
  font-size: clamp(1rem, 0.912rem + 0.44vw, 1.438rem)
}

.ct2-box6 {
	background-color: #ffdd00;
	padding-top: 1.5em;
	padding-bottom: clamp(2em, 4vw, 4em);

}

.box6-wrap {

	position: relative;
}

.ct2-box.box6 {
	grid-column: 1/3;
	width: 100%;
	padding: 2em 3em 3em;
}

@media screen and (max-width:1024px) {
	.ct2-box.box6 {
		grid-column: auto;
		padding: 1.5em;
	}
}

.box6-ttl-img {
	width: min(970px, 100%);
	margin-bottom: 1em;
}

.box6-athlete-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 1em;
	margin-top: 1em;
}

@media screen and (max-width:768px) {
	.box6-athlete-wrap {
		grid-template-columns: 1fr;
		width: min(360px,80%);
		margin-inline: auto;
		column-gap: 2em;
		row-gap: 2em;
	}
}

@media screen and (max-width:460px) {
	.box6-athlete-wrap {
		width: 100%;
		margin-inline: auto;
		column-gap: 2em;
		row-gap: 2em;
	}
}

.box6-athlete-grid {
	display: grid;
  grid-template-columns: 44% 1fr;
  align-items: center;
  margin-top: 2em;
}

@media screen and (max-width:768px) {
  .box6-athlete-grid {
    grid-template-columns: 1fr;
  }
}

.box6-athlete-label {
	display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 6%;
  padding-left: 1%;
}

.box6-athlete-txt {
	font-weight: 700;
  font-size: clamp(0.875rem, 0.8rem + 0.38vw, 1.25rem);
}


.box6-athlete-txt span {
	background: linear-gradient(transparent 70%, #ffdd00 30%);
	font-size: clamp(1rem, 0.91rem + 0.38vw, 1.313rem);
}

.athlete_schedule {
  width: calc(100% + 3%);
  margin-top: 0.5em;
  margin-left: -3%;
}

@media screen and (max-width:768px) {
	.athlete_schedule {
    margin-top: 1.5em;
    margin-left: 0;
		overflow: scroll;
	}
}

@media screen and (max-width:768px) {
	.athlete_schedule img {
		width: 768px;
		display: block;
		max-width: 1200px;
	}
}

.athlete_schedule_txt_top {
  padding-top: 0.5em;
  font-size: clamp(1rem, 0.946rem + 0.24vw, 1.125rem);
  font-weight: 700;
  letter-spacing: -0.01em;
}

@media screen and (max-width:768px) {
	.athlete_schedule_txt {
		padding-top: 0.5em;
    font-size: clamp(0.875rem, 0.8rem + 0.38vw, 1.25rem);
  }
}


.ct3 {
	padding-top: clamp(3em, 5vw, 5em);
	background-color: #f4f4f4;
	padding-bottom: clamp(3em, 5vw, 5em);
}

.ct3 h2 {
	width: 230px;
	margin-inline: auto;
	padding-bottom: 2em;
}

@media screen and (max-width:768px) {
	.ct3 h2 {
		width: 50%;
		text-align: center;
	}
}

.address {
  display: block;
  width: 74%;
  margin-left: auto;
	font-size: clamp(1rem, 0.925rem + 0.38vw, 1.375rem);
}

@media screen and (max-width:768px) {
  .address {
    width: 100%;
    text-align: center;
  }
}

.ct3-box-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 5em;
	row-gap: 2em;
}

@media screen and (max-width:768px) {
	.ct3-box-wrap {
		display: grid;
		grid-template-columns: auto;

	}

	.ct3-box-wrap img {
		width: 86%;

	}
}

.ct3-btn-wrap {
	padding-top: .6em;
	font-size: clamp(1.125rem, 0.874rem + 1.07vw, 2rem);
	display: flex;
	justify-content: space-between;
	column-gap: .5em;
}

.map-btn {
	display: inline-block;
	color: #fff;
	font-weight: 900;
	background-color: #0b7cc3;
	padding: .2em;
	width: 50%;
	text-align: center;
	letter-spacing: 0.06em;
	border-radius: 5px;
}

.access-btn {
	display: inline-block;
	color: #fff;
	font-weight: 900;
	background-color: #e9518e;
	padding: .2em;
	width: 50%;
	text-align: center;
	letter-spacing: 0.06em;
	border-radius: 5px;
}

.ct4 {
  padding-top: clamp(3em, 4.5vw, 4.5em);
  padding-bottom: clamp(3em, 5.6vw, 5.6em);
  background-color: #f4f4f4;
}

.ct4 h2 {
	width: 230px;
	margin-inline: auto;

}

@media screen and (max-width:768px) {
	.ct4 h2 {
		width: 40%;
		text-align: center;

	}
}

.topics-wrap {
	background-color: #fff;
	padding: 7em 5em 5em;
	margin-top: -2em;
	display: block;
  border-radius: 7px;
}
@media screen and (max-width:768px) {
	.topics-wrap {
		background-color: #fff;
		padding: 3em 1em 1.5em;
		margin-top: -2em;
	}
}

.topics-link {
	display: block;
	border-bottom: 1px dashed;
	padding: .7em;
	margin-bottom: 2em;

}

.topics {
	display: grid;
	grid-template-columns: 21% 1fr;
  align-items: baseline;
	position: relative;
}

@media screen and (max-width:768px) {
	.topics {
		grid-template-columns: auto;
	}
}
.topics.dec-none::before {
	display: none;
}
.topics::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: 1em;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 21px solid #000;
	border-right: 0;
}

@media screen and (max-width:768px) {
	.topics::before {
		right: 0;
		border-style: solid;
		border-top: 7px solid transparent;
		border-bottom: 7px solid transparent;
		border-left: 12px solid #555555;
		border-right: 0;
	}
}

.topics dt {
	font-size: clamp(0.875rem, 0.552rem + 1.38vw, 2rem);
	font-weight: 400;
}

.topics dd {
	font-size: clamp(16px,3vw,32px);
	font-weight: 400;
	padding-right: 1em;
}


footer {
	background-color: #fff;
	padding-top: 4em;
	padding-bottom: 6em;
}

footer dt {
	color: #fff;
	background-color: #000;
}

.footer-box1 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1em;
}

@media screen and (max-width:1100px) {
	.footer-box1 {
		display: block;
		margin-bottom: 1.5em;
		text-align: center;
	}
}

.footer-box1 dt {
	font-weight: 700;
	font-size: clamp(1rem, 0.964rem + 0.15vw, 1.125rem);
	display: inline-block;
	padding: .1em 2em;
	border-radius: 6px;
	letter-spacing: 0.1em;
	margin-right: 1em;
}

@media screen and (max-width:1100px) {
	.footer-box1 dt {
		margin-bottom: .7em;
		margin-right: 0em;
	}

	.footer-box1 dd img {
		width: 46%;
	}
}

.footer-box2 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1em;
}

@media screen and (max-width:1100px) {
	.footer-box2 {
		display: block;
		margin-bottom: 1em;
		text-align: center;
	}
}

.footer-box2 dt {
	font-weight: 700;
	font-size: clamp(0.875rem, 0.839rem + 0.15vw, 1rem);
	display: inline-block;
	padding: .1em .3em;
	border-radius: 6px;
	letter-spacing: 0.1em;
}

.footer-box2 dd {
	font-weight: 900;
	font-size: clamp(1rem, 0.784rem + 0.92vw, 1.75rem);
	display: inline-block;
	padding: .1em .5em;
	border-radius: 6px;
}

.footer-info {
	text-align: center;
	margin-bottom: 3em;
}

.footer-info p {
	text-align: left;
	display: inline-block;
	font-size: clamp(0.875rem, 0.642rem + 1vw, 1.688rem);
}

.footer-info p.footer-note {
  display: block;
  width: 100%;
  padding-top: 1em;
  text-align: center;
}

.contact-btn {
	font-weight: 900;
	font-size: clamp(1.25rem, 0.891rem + 1.53vw, 2.5rem);
}

.contact-btn a {
	display: block;
	text-align: center;
	background-color: #ffdd00;
	width: min(570px, 100%);
	margin-inline: auto;
	padding: .3em;
	border-radius: 7px;
}



#schedule .l-wrap {
	width: min(1300px, 96%);
	margin-inline: auto;
	margin-top: 110px;
}

@media screen and (max-width:768px) {
	#schedule .l-wrap {
		margin-top: 60px;
	}
}

#schedule .schedule-ttl-wrap {
	margin-top: clamp(2em, 3vw, 3em);
}

#schedule .schedule-ttl {
	background-color: #0b7cc3;
	border-radius: 20px;
	padding: 2em 3em;
	display: grid;
	grid-template-columns: auto auto;
	column-gap: 3em;
	justify-items: baseline;
	align-items: center;
	margin-bottom: 2em;
}
#schedule .schedule-ttl.schedule02  {
	background-color: #965c9e;
}
@media screen and (max-width:768px) {
	#schedule .schedule-ttl {
		grid-template-columns: auto;
		padding: 1em 2em;
		row-gap: 1em;
	}
}

#schedule .schedule-ttl img {
	display: block;
}

#schedule .dtl-place-link-wrap {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	column-gap: 2em;
	margin-bottom: 2em;
}
@media screen and (max-width:1024px) {
	#schedule .dtl-place-link-wrap {
		display: grid;
		grid-template-columns: auto;
		column-gap: 2em;
		margin-bottom: 2em;
	}
}
#schedule .dtl-place-link-wrap a {
	background-color: #0b7cc3;
	color: #fff;
	padding: .3em 1.5em .3em;
	display: block;
	font-size: clamp(16px, 3vw,26px);
	font-weight: 600;
	border-radius: 3em;
	text-align: center;
  font-feature-settings: "palt";
	position: relative;
}

#schedule .dtl-place-link-wrap a::after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 18px solid #fff;
	border-right: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: 1em;
}
@media screen and (max-width:768px) {
	#schedule .dtl-place-link-wrap a::after {
		position: absolute;
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		border-left: 10px solid #fff;
		border-right: 0;
		top: 0;
		bottom: 0;
		margin: auto 0;
		right: 1em;
	}
}
#schedule .dtl-place-link-wrap a.purple {
	background-color: #965c9e;
}

#schedule .first-program {
	background-color: #d3edfb;
	padding: 3em 3em 14em;
	border-radius: 20px 20px 0 0;
	margin-bottom: 1em;
}
#schedule .first-program.schedule02 {
	background-color: #e8deed;
}
@media screen and (max-width:768px) {
	#schedule .first-program {
		background-color: #d3edfb;
		padding: 1em 1em 10em;
	}
  #schedule .first-program.schedule02 {
		padding: 1em 1em 40em;
  }
}

#schedule .first-program h2 {
	padding-bottom: 3em;
}

@media screen and (max-width:768px) {
	#schedule .first-program h2 {
		padding-bottom: 2em;
		padding-top: 1.5em;
	}
}

#schedule .time-table {
	display: grid;
	grid-template-columns: 11% auto;
	column-gap: 2em;
}

@media screen and (max-width:768px) {
	#schedule .time-table {
		column-gap: 1em;
	}
}

#schedule .time-table-img {
	display: grid;
	row-gap: .5em;
}

#schedule .second-program {
	background-color: #d3edfb;
	padding: 9em 3em 3em;
	border-radius: 0 0 20px 20px;
	margin-bottom: 1em;
}
#schedule .second-program.schedule02 {
	background-color: #e8deed;
	padding: 9em 3em 3em;
	border-radius: 0 0 20px 20px;
	margin-bottom: 1em;
}
@media screen and (max-width:768px) {
	#schedule .second-program {
		padding: 5em 1em 1em;
	}
}
@media screen and (max-width:768px) {
	#schedule .second-program.schedule02 {
		padding: 20em 1em 1em;
	}
}
#schedule .item_live {
	margin-top: -22em;
	padding-bottom: 3em;
}
#schedule .second-program.schedule02 .item_live {
	margin-top: -20em;
}

@media screen and (max-width:768px) {
	#schedule .item_live {
		margin-top: -14em;
		padding-bottom: 2em;
	}
  #schedule .second-program.schedule02 .item_live {
    margin-top: -58em;
  }
}

#schedule .place-layout-ct {
	background-color: #ffdd00;
	margin-top: clamp(3em, 6vw, 6em);
}

#schedule .place-layout-wrap {
	width: min(1300px, 96%);
	margin-inline: auto;
	padding-top: clamp(3em, 6vw, 6em);
	padding-bottom: clamp(3em, 8vw, 7em);
}

#schedule .place-layout-img {
	margin-bottom: 1.5em;
}

#schedule .place-layout-grid {
	display: flex;
	column-gap: 1em;
	align-items: end;
}

@media screen and (max-width:768px) {
	#schedule .place-layout-grid {
		display: block;
		text-align: center;
	}
  #schedule .present_sp {
    padding-top: 1em;
  }
}


#schedule .dtl-last-illust {
	width: 100%;
}
#schedule .back-btn {
	width: min(400px,88%);
	margin-inline: auto;
	margin-bottom: 6em;
	
}
#schedule .back-btn a{
	background-color: #fff;
	display: block;
	text-align:center;
	font-size: clamp(16px,3vw,20px);
	font-weight: 700;
	padding: 1em;
	border-radius: 3em;
	border: 2px solid #000;
	margin-bottom: 3em;
	-webkit-box-shadow: 4px 4px 0 #000;
  box-shadow: 3px 3px 0 #000;
}




.close_first-txt {
	text-align: center;
	font-size: clamp(16px,3vw,25px);
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 0em .5em 2em;
	background-color: #efefef;
}




.dtl-place-link-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 2em;
	row-gap: 2em;
	margin-bottom: 2em;
}
@media screen and (max-width:1024px) {
	.dtl-place-link-wrap {
		display: grid;
		grid-template-columns: auto;
		margin-bottom: 2em;
		row-gap: 1em;
	}
}
 .dtl-place-link {
	background-color: #0b7cc3;
	color: #fff;
	padding: .3em 1.5em .3em;
	display: block;
	font-size: clamp(16px, 2vw,26px);
	font-weight: 600;
	border-radius: 3em;
	text-align: center;
	position: relative;
}

.dtl-place-link::after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 18px solid #fff;
	border-right: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: 1em;
}
@media screen and (max-width:768px) {
	.dtl-place-link::after {
		position: absolute;
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		border-left: 10px solid #fff;
		border-right: 0;
		top: 0;
		bottom: 0;
		margin: auto 0;
		right: 1em;
	}
}
.dtl-place-link.purple {
	background-color: #965c9e;
}
.coming{
	position: relative;
}
.dtl-place-link.coming::before {
	content: "coming soon";
	position: absolute;
	background-color: rgba(0,0,0,.8);
	border-radius: 3em;
	width: 100%;
	padding: .3em 1.5em .3em;
	left: 0;
	top: 0;
	box-sizing: border-box;
}
.dtl-place-link.coming::after{
	display: none;
}
.report-wrap {
	margin-top: clamp(3em,4vw,4em);
}