@charset "UTF-8";
/*==========================
    - 〜479px      ：SP portrait
    - 480px〜599px ：SP landscape
    - 600px〜959px ：tablet
    - 960px〜1279px：small PC
    - 1280px〜     ：large PC
    - 1400px〜     ：largest PC
==========================*/
/* 〜479px：SP portrait
------------------------------ */
/***************************
    container
***************************/

#container {
	padding-top: 91px;
}
@media screen and (min-width: 426px) {
	#container {
		padding-top: 58px;
	}
}
@media screen and (min-width: 1280px) {
	#container {
		padding-top: 93px;
	}
}

#container * {
	color: #1d2088;
	font-family: YakuHanRP, "M PLUS Rounded 1c", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#container span * {
	color: inherit;
	font-weight: inherit;
}
#container p {	
	font-size: 115%;
	font-weight: 600;
	line-height: 1.8;	
	text-align: left;
	max-width: 750px;
	margin: 0 auto;
}
.flexbox {
	display: flex;
}
.btnarea a {
	background: #f35a66;
	color: #ffffff !important;
	width: 100%;
	max-width: 300px;
	height: 58px;
	line-height: 56px;
	border-radius: 0.5em;
	padding: 0;
	font-size: 1.55rem;
	border-bottom: 4px solid #c93b46;
}
.btnarea a:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 5%;
	margin: auto;
	width: 2vw;
	height: 2vw;
	border-right: 2px solid #FFFFFF;
	border-bottom: 2px solid #FFFFFF;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.kadomaru {
	border-radius: 14px;
	background: #ffffff;
	padding: 2em;
}
.border_dot_box {
	position: relative;
	padding: 2.5em 2em;
	background: #ffffff;
	z-index: 1;
}


ul.list_dot li,
ul.list_kome li,
p.kome {
    text-indent: -1em;
    margin-left: 1em;
	/*font-size: 1.2rem;*/
	font-size: 90%;
	line-height: 1.4;
	margin-bottom: 0.5em;
}
ul.list_kome li:before,
p.kome:before {
	content: "※";
}
ul.list_dot li:before {
	content: "・";
}
.highlighter {
	background: linear-gradient(transparent 70%, #fff100 70%);
}
section.block {
	z-index: 1;
}
section.block h2 {
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 0.05em;
}
.block .inner {
	padding: 4vw 0 6vw;
}
.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
	margin-top: 1em;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

/* mv */
section#mv.block .inner {
	width: 100%;
	padding-top: 0;
	background: url("/kagaku/discovery/fes/img/fes2026s/mv_ttlbg.png") no-repeat 50% 0 / 98% auto;
}
#mv h1 {
	width: 85%;
	max-width: 720px;
	margin: 0 auto 0.5em;
}
#mv .theme {
	width: 98%;
	margin: 0 auto 3vw;	
}
#mv .innerlink {
	display: flex;
	justify-content: center;
	gap: 1vw;
	width: 96%;
	margin: 0 auto;
}
#mv .innerlink li a {
	color: #ffffff;
	font-size: 3.1vw;
	letter-spacing: 0;
	line-height: 1.2;
	text-align: left;
	text-decoration: none;
	display: flex;
	align-items: center;
	height: 12vw;
	padding: 0 4.5vw 0 2.5vw;
	border-radius: 5vw;
	background: #21c369 url("/kagaku/discovery/fes/img/fes2026s/icon_arrow_down.png") no-repeat 94% 50% / 3.2vw auto;
}

/* outline */
#outline .intro {
	max-width: 800px;
	margin: 0 auto 4em;
	background: #fde88e url("/kagaku/discovery/fes/img/fes2026s/bg_yellow.png") repeat 50% 50% / 65px auto;
}
#outline .intro h2 {
	width: 100%;
	max-width: 460px;
	margin: 0 auto;
	padding-bottom: 26vw;
	/*padding-bottom: calc(10vw + 2em);*/
}
#outline .intro .imgarea {
	position: absolute;
	margin: auto;
	top: calc(60px + 6vw);
	left: 0;
	right: 0;
}
#outline .intro .imgarea .chara01 {
	width: 30vw;
}
#outline .intro .imgarea .chara02 {
	width: 19vw;
}

/* event */
.summary {
	margin-bottom: 3em;	
}
.summary dl {
	font-size: 125%;
	margin-bottom: 1.5em;
}
.summary dl dt {
	color: #ffffff;
	border-radius: 0.2em;
	padding: 0.2em 0;
	margin-bottom: 0.8em;
}
.summary dl:nth-of-type(4n+1) dt {
  background-color: #f8b1b7;
}
.summary dl:nth-of-type(4n+2) dt {
  background-color: #b8dcc8;
}
.summary dl:nth-of-type(4n+3) dt {
  background-color: #addcf3;
}
.summary dl:nth-of-type(4n+4) dt {
  background-color: #ffeb99;
}
.summary dl dd {
	line-height: 1.4;
	text-align: left;
	padding: 0 1em;
	max-width: 580px;
	margin: 0 auto;
	box-sizing: border-box;
}
.summary dl dd div.txt {
	margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
	#mv h1 {
		margin-bottom: 1vw;
	}
	#mv .innerlink li {
		width: 31%;
	}
	#mv .innerlink li:first-of-type {
		width: 34%;
	}
}
@media screen and (max-width: 374px) {
	.summary dl dd {
		padding: 0;
	}
}

/* point */
#point h2 {
	line-height: 1.4;
	margin-bottom: 0;
}
section#point h2 span {
	font-size: 70%;
}
.program .flexbox div {
	max-width: 480px;
	margin: 0 auto;
}
.pg01 {
	padding-right: 0.4em;
}
.pg02 {
	padding-left: 0.4em;
}
.omiyage img {
	max-width: 480px;
	margin: 0 auto;
}
.cta {
	position: relative;
    width: 92%;
    margin: 0 auto;
    padding-bottom: 50vw;
}
.cta .flexbox {
	flex-direction: inherit;
	margin-bottom: 4vw;
}
.cta .flexbox .freelbl {
	width: 100px;
}
.cta .flexbox .txtarea {
	width: calc(100% - 110px);
	line-height: 1.5;
	font-size: 1.2rem;
	text-align: left;
}
.cta .imgarea {
	position: absolute;
	bottom: 10vw;
	left: 0;
	right: 0;
}
.cta .imgarea img:first-of-type {
	width: 22vw;
}
.cta .imgarea img:last-of-type {
	width: 34vw;
}	



/* 600px〜719px：tablet
------------------------------ */
@media screen and (min-width: 600px) {
	/* container */
	#container p {
		font-size: 16px;
		max-width: inherit;
	}
	.btnarea a:after {
	width: 0.4em;
	height: 0.4em;
	}
	
	/* mv */
	#mv .innerlink {
		max-width: 540px;
	}
	#mv .innerlink li a {
		font-size: 16px;
		height: 3.5em;
		padding: 0 1.5em 0 1.3em;
		border-radius: 2em;
		background-size: 1em auto;
	}
	
	/* outline */
	#outline .intro {
		margin-bottom: 0;
	}
	#outline .intro h2 {
		padding-bottom: 140px;
	}
	#outline .intro .imgarea {
		top: calc(90px + 2vw);
	}
	#outline .intro .imgarea .chara01 {
		width: 150px;
	}
	#outline .intro .imgarea .chara02 {
		width: 100px;
	}
	#event .inner {
		padding-bottom: 0;
	}
	#point .inner {
		padding-bottom: 2vw;
	}
	
	.cta {
		padding-bottom: 190px;
	}
	.cta .flexbox {
		justify-content: space-between;
		align-items: center;
		max-width: 560px;
		margin: 0 auto;
	}
	.cta .flexbox .freelbl {
		width: 130px;
	}
	.cta .flexbox .txtarea {
		width: calc(100% - 150px);
		font-size: 18px;
	}
	.cta .imgarea {
		bottom: 2em;
	}
	.cta .imgarea img {
		padding: 0 1em;
	}
	.cta .imgarea img:first-of-type {
		width: 100px;		
	}
	.cta .imgarea img:last-of-type {
		width: 165px;
	}
}


/* 720px〜959px：tablet
------------------------------ */
@media screen and (min-width: 720px) {
}


/* 769px〜
------------------------------ */
@media screen and (min-width: 769px) {	
	#container p {
		font-size: 18px;
	}
	section.block > .inner {
		padding: 80px 0 0;
	}
	section.block h2 {
		font-size: 36px;
	}
	.btnarea a {
		width: 340px;
		height: 74px;
		line-height: 72px;
		max-width: inherit;
		border-width: 5px;
	}
	section#mv.block .inner {
		padding-bottom: 0;
	}
	#mv .innerlink {
		max-width: 900px;
		gap: 0.5em;
	}
	#mv .innerlink li a {
		font-size: 20px;
		height: inherit;
		padding: 0.5em 2.2em 0.5em 1em;
		background-size: 1em auto;
	}	
	
	#outline .intro {
		background-size: 120px auto;
		margin-bottom: 0;
	}
	#outline .intro h2 {
		max-width: 516px;
		padding-bottom: 0.5em;
	}
	#outline .intro .imgarea {
		top: -60px;
	}
	#outline .intro .imgarea .chara01 {
		width: 170px;
		position: absolute;
		top: 30px;
		left: calc(50% - 410px);	
	}
	#outline .intro .imgarea .chara02 {
		width: 120px;
		position: absolute;
		left: calc(50% + 230px);
		top: 20px;
	}
	.summary {
		margin-bottom: 0;
	}
	.summary dl {
		display: flex;
		align-items: flex-start;
		font-size: 120%;
		margin-bottom: 0.6em;
	}
	.summary dl:first-of-type {
		border-top: 1px solid #999889;
		padding-top: 1em;
	}
	.summary dl:last-of-type {
		border-bottom: 1px solid #999889;
		margin-bottom: 2em;
	}
	.summary dl dt {
		width: 170px;
	}
	.summary dl dd {
		max-width: inherit;
		text-align: left;
		margin: 0 0 0 1em;
		border-bottom: 1px solid #999889;
		padding-bottom: 1em;
		width: 100%;
	}
	.summary dl:last-of-type dd {
		border-bottom: none;
	}
	.program .flexbox {
		flex-wrap: nowrap;
	}
	.omiyage img {
		max-width: 800px;
	}
	.cta {
		padding-bottom: 80px;
	}
	.cta .flexbox {
		max-width: 740px;
		margin-bottom: 1.5em;
	}
	.cta .flexbox .txtarea {
		font-size: 21px;
	}
	.cta .imgarea {
		bottom: 3.5em;
	}
	.cta .imgarea img:first-of-type {
		padding: 0 80px;
	}
	.cta .imgarea img:last-of-type {
		padding-left: 320px;
		padding-right: 40px;
	}	
}

/* Movie */
.movie_bg {
	background: #ffffff;
	padding: 6px;
	box-sizing: border-box;
	text-align: center;
	border-radius: 20px;
	width: 96%;
	max-width: 690px;
	margin: 0 auto;
	box-shadow: 0px 0px 15px -5px #777777;
}
.movie {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin: 0 auto;
}
.movie iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
	border-radius: 16px;
}
@media screen and (min-width: 769px) {
	.movie_bg {
		padding: 10px;
		border-radius: 30px;
	}
	.movie iframe {
		border-radius: 24px;
	}
}
