@charset "UTF-8";
@font-face {
	font-family: "Genjyuu";
	src: url("../fonts/GenJyuuGothic-Bold.eot");
	src: url("../fonts/GenJyuuGothic-Bold.woff") format("woff"), url("../fonts/GenJyuuGothic-Bold.woff2") format("woff2");
}
html {
	font-size: 100%;
}
@media (max-width: 1250px) {
	html {
		font-size: 1.28vw;
	}
}
@media (min-width: 376px) and (max-width: 767px) {
	html {
		font-size: 100%;
	}
}
@media (max-width: 375px) {
	html {
		font-size: 4.2666666667vw;
	}
}

html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow-x: hidden;
}

*,
*:before,
*:after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
	background-color: #edf6fc;
	margin: auto;
	color: #333333;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	text-decoration: none;
	color: inherit;
	display: inline-block;
}

a:not(.btn-line) {
	-webkit-transition: all ease 0.3s;
	transition: all ease 0.3s;
}
@media(min-width: 768px) {
	a:not(.btn-line):hover {
		opacity: 0.5;
	}

}

li {
	list-style: none;
}

/*----------------------------------------------
共通
----------------------------------------------*/
main {
	padding-bottom: 3px;
}

.genjyu {
	font-family: "Genjyuu";
}



.sp-only {
	display: none;
}
@media screen and (max-width: 767px) {
	.sp-only {
		display: block;
	}
}

.pc-only {
	display: block;
}
@media screen and (max-width: 767px) {
	.pc-only {
		display: none;
	}
}

.fw-b {
	font-weight: 700 !important;
}

.ta_c {
	text-align: center;
}

.inner {
	max-width: 75rem;
	width: 75rem;
	margin: 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
	.inner {
		width: 95%;
		max-width: 95%;
	}
}
@media screen and (max-width: 767px) {
	.inner {
		max-width: 89.33333%;
		width: 89.33333%;
	}
}
@media screen and (max-width: 767px) {
	.u-detail__inner{

		max-width: 22.1875rem;
		width: 22.1875rem;
	}
}

.container {
	max-width: 1000px;
	width: 95%;
	margin: 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
	.container {
		width: 95%;
		max-width: 95%;
	}
}
@media screen and (max-width: 767px) {
	.container {
		max-width: 89.33333%;
		width: 89.33333%;
	}
}

/*----------------------------------------------
共通パーツ
----------------------------------------------*/
.page-ttl {
	position: relative;
	padding-top: 11.5972222222vw;
	height: calc(375px + 11.5972222222vw);
	min-height: 445px;
}
.page-ttl::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 81%;
	background: url(../img/pagettl-bg.png) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
	.page-ttl {
		padding-top: 90px;
		height: calc(295px + 20vw);
		min-height: auto;
	}
	.page-ttl::before {
		background: url(../img/pagettl-bg-sp.png) no-repeat center top/cover;
		height: 45.07vw;
	}
}

.page-membership .page-ttl,

.page-science-camp .page-ttl,
.quest-program .page-ttl,
.single-eventpost .page-ttl,
.page-course .page-ttl {
	height: calc(28.125rem + 11.5972222222vw);
}

.page-event .page-ttl{
	height: calc(24.125rem + 11.5972222222vw);
}





.page-membership .page-ttl::before,
.page-event .page-ttl::before,
.page-science-camp .page-ttl::before,
.quest-program .page-ttl::before,
.single-eventpost .page-ttl::before,
.page-course .page-ttl::before {
	background: url(../img/pagettl-wp-bg.png) no-repeat center top/contain;
	top: 0;
	left: 0;
	width: 100%;
	height: 81%;
	z-index: 2;
}
.page-membership .page-ttl::after,
.page-event .page-ttl::after,
.page-science-camp .page-ttl::after,
.quest-program .page-ttl::after,
.single-eventpost .page-ttl::after,
.page-course .page-ttl::after {
	position: absolute;
	content: "";
	top: calc(11.5972222222vw + 30px);
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 95.8333%;
	max-width: 1380px;
	height: 21.739vw;
	z-index: 1;
}
.page-membership .page-ttl::after{
	height: 15rem;
	width: 86.25rem;
}


@media screen and (max-width: 767px) {
	.page-membership .page-ttl,
	.page-event .page-ttl,
	.page-science-camp .page-ttl,
	.quest-program .page-ttl,
	.single-eventpost .page-ttl,
	.page-course .page-ttl {
		height: calc(21.3125rem + 90px);
	}
	.page-membership .page-ttl::before,
	.page-event .page-ttl::before,
	.page-science-camp .page-ttl::before,
	.quest-program .page-ttl::before,
	.single-eventpost .page-ttl::before,
	.page-course .page-ttl::before {
		background: url(../img/pagettl-bg-sp.png) no-repeat center top/cover;
		height: 39.466vw;
	}
	.page-membership .page-ttl::after,
	.page-event .page-ttl::after,
	.page-science-camp .page-ttl::after,
	.quest-program .page-ttl::after,
	.single-eventpost .page-ttl::after,
	.page-course .page-ttl::after {
		width: 94.666%;
		height: 45.07vw;
		top: calc(56px + 0.9375rem);
		z-index:2;
	}
}

.single-eventpost .page-ttl::after,
.page-event .page-ttl::after {
	background: url(../img/event-top-ttl-bg.png) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
	.single-eventpost .page-ttl::after,
	.page-event .page-ttl::after {
		background: url(../img/event-top-ttl-bg-sp.png) no-repeat center top/contain;
	}
}

.page-ttl__circle {
	position: absolute;
	bottom:28px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background: #fff;
	border-radius: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 260px;
	height: 260px;
	z-index: 3;
}
@media screen and (max-width: 767px) {
	.page-ttl__circle {
		bottom: 23px;
	}
}

.page-event .page-ttl__circle,
.page-science-camp .page-ttl__circle,
.quest-program .page-ttl__circle {
	bottom: 0px;
}

.page-event .page-ttl__circle{
	bottom: -34px;
}


@media screen and (max-width: 767px) {
	.page-event .page-ttl__circle,
	.page-science-camp .page-ttl__circle,
	.quest-program .page-ttl__circle {
		bottom: 53px;
	}
}


@media screen and (max-width: 767px) {
	.page-event .page-ttl__circle
	{
		bottom: 18px;
	}
}



.page-ttl__wrapper {
	text-align: center;
}

.page-ttl__img {
	width: 64px;
}
.page-ttl__img img {
	-o-object-fit: contain;
	object-fit: contain;
}

.page-ttl__ja {
	font-size: 36px;
	font-weight: 700;
	color: #5d63a3;
	margin-top: 5px;
	line-height: 1.5;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}



.page-ttl__en {
	color: #db4c2d;
	margin-top: 9px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.14;
}

.bread {
	margin-bottom: 83px;
}
@media screen and (max-width: 767px) {
	.bread {
		margin-bottom: 50px;
	}
}
@media screen and (max-width: 767px) {
	.u-detail-bread{
		margin-bottom: 3.25rem;
	}
}
@media screen and (max-width: 767px) {
	.bread-top__none {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 767px) {
	.page-course .u-course__map__bread {
		margin-bottom: 21px;
	}
}

.bread__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 62px;
}

.bread__list-top {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 0;
}


@media screen and (max-width: 767px) {
	.bread__list {
		margin-top: 0;
	}
}

.bread__list li {
	font-size: 12px;
}
@media screen and (max-width: 767px) {
	.bread__list li {
		font-size: 10px;

	}
}

.bread__list li a {
	font-weight: bold;
	text-decoration: underline;
	color: #5d63a3;
}

.bread__list li + li {
	position: relative;
	margin-left: 10px;
	padding-left: 15px;
}
.bread__list li + li::before {
	position: absolute;
	content: "/";
	color: #a1cde0;
	left: 0;
}

.btn-line {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 0.5625rem 2.8125rem 0.8125rem;
	cursor: pointer;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	letter-spacing: 0.05em;
	border-radius: 35px;
	background-color: #5d63a3;
	color: #fff;
}
.btn-line::before {
	position: absolute;
	content: "";
	top: -3px;
	left: -3px;
	width: 100%;
	height: 100%;
	border: 2px solid #000;
	border-radius: 35px;
	-webkit-transition: all ease 0.3s;
	transition: all ease 0.3s;
}
@media screen and (max-width: 767px) {
	.btn-line {
		font-size: 1rem;
		border-radius: 2.5rem;
	}
	.btn-line::before {
		border-radius: 2.5rem;
	}
}

.line1 {
	height: 2px;
	width: 20px;
	top: -3px;
	right: 2.6875rem;
	position: absolute;
	background: #edf6fc;
	-webkit-transition: all ease 0.3s;
	transition: all ease 0.3s;
}

.line2 {
	height: 2px;
	width: 20px;
	left: 2.6875rem;
	bottom: 3px;
	position: absolute;
	background: #5d63a3;
	-webkit-transition: all ease 0.3s;
	transition: all ease 0.3s;
}

@media screen and (min-width: 768px) {
	.btn-line:hover::before {
		top: 0;
		left: 0;
	}
	.btn-line:hover .line1,
	.btn-line:hover .line2 {
		width: 0px;
	}

}

/* カリキュラムボタン */

.u-blue-btn__long{
	text-align:center;
}

.u-blue-btn__long__text{
	position:relative;
}
@media screen and (max-width: 767px) {
	.u-blue-btn__long__text{
		align-items:start;
	}
}
.u-blue-btn__long__text::before{
	position: absolute;
	display:block;
	content:"";
	width:3.125rem;
	height:3.425rem;
	top:74%;
	transform:translatey(-50%);
	left:-4.25rem;
	background: url(../img/btn-note.png) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
	.u-blue-btn__long__text::before{
		width:3.125rem;
		height:3.425rem;
		top:55%;
		transform:translatey(-50%);
		left:-3.75rem;
	}
}

.u-blue-btn__line:hover {
	opacity: 1;
}
.u-blue-btn__line{
	padding: 1.4375rem 4.3125rem 2.0625rem 9.3125rem;
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-weight: 700;
}
@media screen and (max-width: 767px) {
	.u-blue-btn__line{
		padding: 0.85rem 1.28125rem 1.175rem 4.59375rem;
		font-size: 0.875rem;
		line-height: 1.4285714286;
		letter-spacing: 0.05em;
		font-weight: 700;
		text-align:start;
		max-width: 90.666667vw;
	}
}

.u-blue-btn__event__line{
	padding: 0.9375rem 3.125rem 1.1875rem 2.875rem;
	font-size: 1.125rem;
	line-height: 1.4444444444;
	letter-spacing: 0.05em;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	.u-blue-btn__event__line{
		padding:1.0625rem 1.8125rem 1.4375rem 1.6875rem;
		font-size: 0.875rem;
		line-height: 1.4285714286;
		letter-spacing: 0.05em;
		font-weight: 400;
	}
}
.single .content,
.science-camp__content,
.quest-program__content,
.single-eventpost__contents {
	margin-top: 2.3125rem;
	padding-bottom: 3.125rem;
	font-size: 1rem;
	line-height: 2;
}
.single .content p + p,
.single .content .wp-block-columns,
.single .content .wp-block-image,
.science-camp__content p + p,
.science-camp__content .wp-block-columns,
.science-camp__content .wp-block-image,
.quest-program__content p + p,
.quest-program__content .wp-block-columns,
.quest-program__content .wp-block-image,
.single-eventpost__contents p + p,
.single-eventpost__contents .wp-block-columns,
.single-eventpost__contents .wp-block-image {
	margin-top: 1.375rem;
}
.single .content a,
.science-camp__content a,
.quest-program__content a,
.single-eventpost__contents a {
	font-weight: 700;
	color: #5d63a3;
	text-decoration: underline;
}
.single .content li,
.science-camp__content li,
.quest-program__content li,
.single-eventpost__contents li {
	position: relative;
	padding-left: 30px;
}
.single .content li::before,
.science-camp__content li::before,
.quest-program__content li::before,
.single-eventpost__contents li::before {
	position: absolute;
	content: "";
	width: 10px;
	height: 10px;
	background: #5d63a3;
	border-radius: 50%;
	top: 1em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
	color: #5d63a3;
}
.single .content li + li,
.science-camp__content li + li,
.quest-program__content li + li,
.single-eventpost__contents li + li {
	margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
	.single .content,
	.science-camp__content,
	.quest-program__content,
	.single-eventpost__contents {
		margin-top: 0.6875rem;
		padding-bottom: 1.25rem;
		font-size: 0.875rem;
		line-height: 1.571;
	}
	.single .content p + p,
	.single .content .wp-block-columns,
	.science-camp__content p + p,
	.science-camp__content .wp-block-columns,
	.quest-program__content p + p,
	.quest-program__content .wp-block-columns,
	.single-eventpost__contents p + p,
	.single-eventpost__contents .wp-block-columns {
		margin-top: 1.125rem;
	}
}

/* 入会案内ボタン追加 */
.u-btn{
	text-align: center;
}
.u-btn-line {
	background: #F8B353;
}
.u-btn-line:hover {
	opacity: 1;
}
@media screen and (min-width: 768px) {
	.u-btn-line {
		width: 38.4375rem;
		height: 5rem;
	}
}

@media screen and (max-width: 767px) {
	.u-btn-line {
		padding:1.25rem 3.4375rem 1.875rem 5.55rem;
		font-size: 1.25rem;
		line-height: 1;
		letter-spacing: 0.05em;
		font-weight: 700;
		margin: 0 calc(50% - 50vw);
		width: 20.9375rem;
	}
}

.u-btn-text {
	position: relative;
}

@media screen and (min-width: 768px) {
	.u-btn-text {
		right: -2rem;
	}
}
@media screen and (min-width: 768px) {
	.u-btn-text {
		font-size: 1.5rem;
		line-height: 1.4583333333;
		letter-spacing: 0.05em;
		font-weight: 700;
	}
}
@media screen and (max-width: 767px) {
	.u-btn-text {
		font-size:1.25rem;
		line-height: 1;
		letter-spacing: 0.05em;
		font-weight: 700;
	}
}
.u-btn-text::before, .u-btn-text::after {
	position: absolute;
	display: block;
	content: "";
	top: 50%;
	transform: translateY(-50%);

}
@media screen and (min-width: 768px) {
	.u-btn-text::before {
		width: 3.125rem;
		height: 3.28125rem;
		left: -4rem;
		background: url(../img/btn-lens.png) no-repeat center top/cover;
	}
}
@media screen and (max-width: 767px) {
	.u-btn-text::before {
		width: 3.11375rem;
		height: 3.2775rem;
		left: -3.75rem;
		background: url(../img/btn-lens.png) no-repeat center top/cover;
	}
}
@media screen and (min-width: 768px) {
	.u-btn-text::after {
		width: 1.3125rem;
		height: 1.125rem;
		right: -8.5rem;
		background: url(../img/btn-next.png) no-repeat center top/contain;
	}
}
@media screen and (max-width: 767px) {
	.u-btn-text::after {
		width: 1.485rem;
		height: 0.8625rem;
		right: -2.4375rem;
		background: url(../img/btn-next.png) no-repeat center top/contain;
	}
}

@media screen and (max-width: 767px) {
	.u-event__bread__list{
		margin-top: -27px;
	}
}
@media screen and (max-width: 767px) {
	.page-science-camp .page-ttl__ja .u-small span{  
		font-size: 1.25rem;
		line-height: 1.9;
		letter-spacing: 0em;
		font-weight: 700;
	}
}
@media screen and (min-width: 768px) {
	.u-event__small-ttl { 
		font-size: 16px;
		line-height: 1.1875;
		letter-spacing: 0em;
		font-weight: 700;
	}
}
@media screen and (max-width: 767px) {
	.u-event__small-ttl { 
		font-size: 1rem;
		line-height: 1.1875;
		letter-spacing: 0em;
		font-weight: 700;
	}
}
@media screen and (max-width: 767px) {
	.u-event__small-ttl02 { 

		font-size: 1.5rem;
		line-height: 0.8333333333;
		letter-spacing: 0em;
		font-weight: 700;
	}
}

.page-ttl__circle .page-ttl__wrapper .u-event__ttl{
	margin-top:1.375rem;
}

.u-event__ttls{
	line-height: 0.75;
}
@media screen and (max-width: 767px) {
	.u-event__ttls{
		font-size: 2.3125rem;
		line-height: 0.8333333333;
		letter-spacing: 0em;
		font-weight: 700;
	}
}

.u-event__img{
	margin-bottom:1rem;
}
@media screen and (max-width: 767px) {
	.u-sp__inner__wide{
		max-width: 22.1875rem;
		width: 22.1875rem;
	}
}