/* Summer2025 */

:root {
	
    /* Color */
    
    --art: #ff0000;
    --art_sub: #fdf3f0;
    --stargazing: #1f2ade;
    --stargazing_sub: #f6f6fd;
    --kidsfarm: #fea11e;
    --kidsfarm_sub: #fdf0df;
    --marche: #5dae50;
    --marche_sub: #f0f7f4;
    --permanent: #9a43ff;
    --permanent_sub: #faf6ff;
    
}

body {
	color: #283459;
}
body.yep {
	background: yellow;
}
a {
	color: #283459 !important;
}
a:hover {
	color: #283459 !important;
}
.webfont.damion {
    font-family: "Damion", cursive;
    font-weight: 400;
    font-style: normal;
}
.note li:not(:first-of-type) {
	margin-top: 0.3em;
}
.note li {
	position: relative;
	padding-left: 1.1em;
}
.note li::before {
	position: absolute;
	left: 0;
	top: 0;
	content: '＊';
}


.tabs {
	margin-bottom: 5em;
}
.tab_pane {
	display: none;
	margin: 0 auto;
	width: 800px;
}
.tab_pane.active {
	display: block;
}

#summer2025_menu_switch {
	display: none;
	position: fixed;
	right: 15px;
	right: 12px;
	top: 15px;
	top: 22px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent !important;
	z-index: 10010;
}
#summer2025_menu_switch p {
	position: relative;
	width: 50px;
	height: 50px;
}
#summer2025_menu_switch #switch_top {
	top: 17px;
	right: 10px;
	width: 30px;
}
#summer2025_menu_switch #switch_bottom {
	top: 28px;
	right: 10px;
	width: 18px;
}
.expanded #summer2025_menu_switch #switch_top {
	top: 22px;
	right: 10px;
	transform: rotate(40deg);
	transition: all 120ms ease-in-out;
}
.expanded #summer2025_menu_switch #switch_bottom {
	top: 22px;
	right: 10px;
	width: 30px;
	transform: rotate(-40deg);
	transition: all 120ms ease-in-out;
}
#back {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 100000;
}
#back p {
	width: 40px;
	height: 40px;
	cursor: pointer;
}
.reserve_button {
	margin: 5em auto 0;   
	width: 350px;
}
.reserve_form a {
	display: block;
	padding: 15px;
	font-size: 1.05em;
	font-weight: 500;
	letter-spacing: 0.09em;
	background: #fff;
	border: 2px solid #f29f05;
	border-radius: 5px;
	border-radius: 50vh;
	color: #fff !important;
	background: #f29f05;
	text-align: center;
	text-decoration: none;
	transition: all 200ms ease-in-out;
}
.reserve_form a:hover {
	color: #f29f05 !important;
	background: #fff !important;
	transition: all 200ms ease-in-out;
}
#summer2025_art .reserve_form a {
	background: var(--art);
	border: 2px solid var(--art);
}
#summer2025_stargazing .reserve_form a {
	background: var(--stargazing);
	border: 2px solid var(--stargazing);
}
#summer2025_kidsfarm .reserve_form a {
	background: var(--kidsfarm);
	border: 2px solid var(--kidsfarm);
}
#summer2025_marche .reserve_form a {
	background: var(--marche);
	border: 2px solid var(--marche);
}
#summer2025_permanent .reserve_form a {
	background: var(--permanent);
	border: 2px solid var(--permanent);
}
#summer2025_art .reserve_form a:hover {
	color: var(--art) !important;
}
#summer2025_stargazing .reserve_form a:hover {
	color: var(--stargazing) !important;
}
#summer2025_kidsfarm .reserve_form a:hover {
	color: var(--kidsfarm) !important;
}
#summer2025_marche .reserve_form a:hover {
	color: var(--marche) !important;
}
#summer2025_permanent .reserve_form a:hover {
	color: var(--permanent) !important;
}
.reserve_tel a,
.reserve_tel {
	margin-bottom: 1.5em;
	text-align: center;
	color: #548c62 !important;
}
#summer2025_art .reserve_tel a,
#summer2025_art .reserve_tel {
	color: var(--art) !important;
}
#summer2025_stargazing .reserve_tel a,
#summer2025_stargazing .reserve_tel {
	color: var(--stargazing) !important;
}
#summer2025_kidsfarm .reserve_tel a,
#summer2025_kidsfarm .reserve_tel {
	color: var(--kidsfarm) !important;
}
#summer2025_marche .reserve_tel a,
#summer2025_marche .reserve_tel {
	color: var(--marche) !important;
}
#summer2025_permanent .reserve_tel a,
#summer2025_permanent .reserve_tel {
	color: var(--permanent) !important;
}
.reserve_tel .label {
	position: relative;
	display: block;
	margin-bottom: 0.5em;
	font-size: 0.95em;
	color: #283459;
}
.reserve_tel .label::before {
	left: 0;
	top: 0;
	content: '＼';
}
.reserve_tel .label::after {
	right: 0;
	top: 0;
	content: '／';
}
.reserve_tel a {
	font-size: 1.8em;
	text-decoration: none;
}
.heading h3.title {
	position: relative;
	padding-bottom: 1em;
	font-size: 1.4em !important;
	line-height: 1.4em;
}
.heading h3.title::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	width: 100px;
	height: 2px;
	background: #283459;
	border-radius: 50vh;
}
.heading h5 {
	margin-top: 2em;
	font-size: 1.3em;
	letter-spacing: 0.18em;
	line-height: 1.7em;
}
.heading h5 span {
	display: block;
	margin-top: 0.5em;
	font-size: 0.8em;
}
.heading h6 {
	display: block;
	margin-top: 1em;
	font-size: 1em;
	font-weight: 500;
}
.inner {
	min-width: 1100px;
}

/* Header */

.fixed #header {
	background:none;
}
#header {
	min-width: 1000px;
}
#summer2025_logo {
	float: left;
	margin-left: 2em;
	width: 244px;
	height: 58px;
}
#summer2025_logo a {
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/summer2025/summer2025_logo.png) no-repeat center / 100%;
}
#summer2025_menu {
	position: absolute;
	top: 10px;
	top: 15px;
	right: 0;
	text-align: right;
	z-index: 90000;
}
#summer2025_global_menu ul {
	font-size: 0.9em;
	font-size: 0.85em;
}
#summer2025_global_menu ul li {
	margin-bottom: 5px;
	margin-bottom: 3.5px;
}
#summer2025_global_menu ul li a {
	position: relative;
	padding-right: 32px;
	padding: 2px 24px 2px 10px;
	font-weight: 500;
	text-decoration: none;
	background: #FFF;
}
#summer2025_global_menu ul li a::before {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	content: '';
	width: 8px;
	height: 8px;
	background: #283459;
	border-radius: 50%;
}
#header_reserve_button {
	margin-top: 0;
	margin-bottom: 20px;
	margin-right: 1em;
	width: auto;
}
#_header_reserve_button a {
	padding: 8px 40px;
	border-right: none;
	border-radius: 5px 0 0 5px;
}

#header_reserve_button .button.above {
	margin-top: 1em;
}
#header_reserve_button .button a,
#header_reserve_button .button.reserve_advaced p {
	display: block;
	padding: 15px;
	padding: 9px 15px;
	min-width: 0;
	font-size: 0.973em;
	letter-spacing: 0.085em;
	background: #fff;
	border: 2px solid #283459;
	border-radius: 5px;
	border-radius: 25px;
	color: #fff !important;
	background: #283459;
	text-align: center;
	text-decoration: none;
	transition: all 200ms ease-in-out;
}
#header_reserve_button .button a:hover,
#header_reserve_button .button.reserve_advaced p:hover {
	color: #283459 !important;
	border: 2px solid #283459;
	background: #283459;
	transition: all 200ms ease-in-out;
}
#header_reserve_button .button a span,
#header_reserve_button .button.reserve_advaced p span {
	font-size: 0.7em;
	font-weight: 400;
}
#header_reserve_button .button.art a,
#header_reserve_button .button.reserve_advaced.art p {
    border: 2px solid var(--art);
    background: var(--art);
}
#header_reserve_button .button.art a:hover,
#header_reserve_button .button.art.reserve_advaced p:hover {
	color: var(--art) !important;
	border: 2px solid var(--art);
    background: #fff;
}
#header_reserve_button .button.stargazing a,
#header_reserve_button .button.reserve_advaced.stargazing p {
    border: 2px solid var(--stargazing);
    background: var(--stargazing);
}
#header_reserve_button .button.stargazing a:hover,
#header_reserve_button .button.stargazing.reserve_advaced p:hover {
	color: var(--stargazing) !important;
	border: 2px solid var(--stargazing);
    background: #fff;
}
#header_reserve_button .button.kidsfarm a,
#header_reserve_button .button.reserve_advaced.kidsfarm p {
    border: 2px solid var(--kidsfarm);
    background: var(--kidsfarm);
}
#header_reserve_button .button.kidsfarm a:hover,
#header_reserve_button .button.kidsfarm.reserve_advaced p:hover {
	color: var(--kidsfarm) !important;
	border: 2px solid var(--kidsfarm);
    background: #fff;
}
#header_reserve_button .button.marche a,
#header_reserve_button .button.reserve_advaced.marche p {
    border: 2px solid var(--marche);
    background: var(--marche);
}
#header_reserve_button .button.marche a:hover,
#header_reserve_button .button.marche.reserve_advaced p:hover {
	color: var(--marche) !important;
	border: 2px solid var(--marche);
    background: #fff;
}

/* Hero */

#summer2025_hero {
    padding: 30px 0;
    margin: 0 auto 10em auto;
    max-width: 1300px;
}
#summer2025_hero .inner {
    max-width: 100%;
}
#summer2025_hero_slides {
	margin: 0 auto;
	max-width: 1100px;
    mask-image: url('../images/summer2025/summer2025_hero_mask.svg');
    mask-repeat: no-repeat;
    mask-position: 3% 0;
    mask-size: auto 100%;
    -webkit-mask-image: url('../images/summer2025/summer2025_hero_mask.svg');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 3% 0;
    -webkit-mask-size: auto 100%;
}
.summer2025_hero_illustration {
    position: absolute;
    transform: translate(-50%, -50%);
    z-index: 10;
}
#summer2025_hero_illustration_1 {
    top: 71%;
	left: 19%;
    width: 210px;
}
#summer2025_hero_illustration_2 {
    top: 65%;
    left: 82%;
    width: 175px;
}
#summer2025_hero_illustration_3 {
    top: 8%;
    left: 70%;
    width: 192px;
}
#_summer2025_logo {
	position: absolute;
	bottom: 100px;
	left: 0;
	width: 244px;
	height: 58px;
	width: 300px;
	height: 71px;
}
#_summer2025_logo a {
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/summer2025/summer2025_logo.png) no-repeat center / 100%;
}
#summer2025_hero h2 {
	position: absolute;
    top: 35%;
    top: 37%;
    left: 26%;
    transform: translate(-50%, -50%);
    font-size: 1.4em;
    font-weight: 500;
    line-height: 1.4em;
    letter-spacing: 0.15em;
    z-index: 10;
}
#summer2025_hero h2 span {
    display: block;
    padding: 0.3em 0.8em;
    width: fit-content;
    background: #fff;
}
#summer2025_hero h2 span:not(:last-of-type) {
    margin-bottom: 0.5em;
}

/* Concept */

#summer2025_concept_text {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
    margin: 0 auto;
    font-size: 1.15em;
    letter-spacing: 0.15em;
    line-height: 1.75em;
}
#summer2025_concept_text h2 {
    margin: 0 auto 4.5em 3em;
    width: 39px;
}
#summer2025_concept_text p .brackets {
    display: inline-block;
	margin-top: -10px;
}
#summer2025_concept_text p:not(:last-of-type) {
    margin-left: 1.5em;
}
#summer2025_concept_illustration {
	position: absolute;
	bottom: 60px;
	left: 140px;
	width: 75px;
}


/* About */

#summer2025_about {
	position: relative;
	padding: 8em 0 13em 0;
	margin-bottom: 0;
	background: #fffbec;
	background: #fbf8e2;
	overflow: hidden;
}
#summer2025_about_text {
	margin-bottom: 5em;
	text-align: center;
}
#summer2025_about_text h3 {
	margin-bottom: 2em;
	font-size: 1.8em;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.6em;
}
#summer2025_about_text h3 span {
	position: relative;
	display: block;
	width: fit-content;
	padding: 0.8em 1.5em;
	margin: 0 auto 1.5rem auto;
	font-size: 0.7em;
	line-height: 1.2em;
	background: #fff;
	border-radius: 50vh;
}
#summer2025_about_text h3 span::before {
	position: absolute;
	bottom: -16px;
	left: 55%;
	transform: translateX(-50%);
	content: '';
	width: 20px;
	height: 20px;
	background: url(../images/summer2025/balloon_before.png) no-repeat center / 100%;
}
#summer2025_about_text h3 large {
	display: inline-block;
	transform: translateY(2px);
	margin: 0 0.3rem 0 0.5rem;
	font-size: 2em;
}
#summer2025_about_text p {
	font-size: 1.1em;
	letter-spacing: 0.1em;
	line-height: 2em;
}
#summer2025_about_text p:not(:last-of-type) {
	margin-bottom: 1.5em;
}
.summer2025_about_pane {
	float: left;
	width: 18.8%;
	background: #fff;
	/* border: 2px solid #ccc; */
	border-radius: 100px 100px 20px 20px;
}
.summer2025_about_pane:not(:last-of-type) {
	margin-right: 1.5%;
}
.summer2025_about_pane a {
	position: relative;
	display: block;
	padding: 1em 1em 80px 1em;
	text-decoration: none;
}
.summer2025_about_pane a::before {
	position: absolute;
	bottom: 25px;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	width: 28px;
	height: 28px;
	background: url(../images/summer2025/icon_anchor.png) no-repeat center / 100%;
	transition: all 300ms ease-in-out;
}
.summer2025_about_pane a:hover::before {
	animation: anchor_arrow 300ms ease-in-out forwards;
}
@keyframes anchor_arrow {
	0% {
		bottom: 25px;
	}
	50% {
		bottom: 20px;
	}
	100% {
		bottom: 25px;
	}
}
.summer2025_about_pane_image {
	position: relative;
	margin-bottom: 1.2em;
}
.summer2025_about_pane_image p {
	border-radius: 50%;
	overflow: hidden;
}
.summer2025_about_pane_image h5 {
	position: absolute;
	top: -5px;
	left: 5px;
	font-size: 5.5em;
	text-shadow: 3px 2px 5px rgba(255, 255, 255, 0.2);
}
#_summer2025_about_art {
	border-color: var(--art);
}
#_summer2025_about_stargazing {
	border-color: var(--stargazing);
}
#_summer2025_about_kidsfarm {
	border-color: var(--kidsfarm);
}
#_summer2025_about_marche {
	border-color: var(--marche);
}
#_summer2025_about_permanent {
	border-color: var(--permanent);
}
#summer2025_about_art h5 {
	color: var(--art);
}
#summer2025_about_stargazing h5 {
	color: var(--stargazing);
}
#summer2025_about_kidsfarm h5 {
	color: var(--kidsfarm);
}
#summer2025_about_marche h5 {
	color: var(--marche);
}
#summer2025_about_permanent h5 {
	color: var(--permanent);
}
.summer2025_about_pane h4 {
	margin-bottom: 0.8em;
	font-size: 1.1em;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-align: center;
}
.summer2025_about_pane p {
	font-size: 0.9em;
	line-height: 1.4em;
	text-align: center;
}
.summer2025_hello {
	position: absolute;
	bottom: -25px;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
}
.summer2025_hello li {
	color: #fff;
	font-size: 10em;
	line-height: 1em;
	letter-spacing: 0;
}

/* Course */

.summer2025_course {
	margin-bottom: 0;
	padding: 10em 0;
}
.course_title {
	margin-bottom: 1em;
	font-size: 5em;
	text-align: center;
}
.course_title span {
	display: block;
	font-family: serif;
	margin-left: 0.4em;
	margin-bottom: 0.3em;
	font-family: 'Inter',sans-serif;
	font-weight: 500;
	font-size: 0.3em;
}
.tab {
	position: relative;
}
.tab::before {
	position: absolute;
	bottom: -2px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #ddd;
	z-index: 0;
	opacity: 0;
	animation: tab_motion 2000ms ease-in-out infinite forwards;
}

@keyframes tab_motion {
	0% {
		opacity: 0;
	}
	40% {
		opacity: 1;
	}
	80% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
.tab.active {
	border: none !important;
}
.tab,
.tab.active::before {
	opacity: 1 !important;
}

#summer2025_art .tab.active {
	color: var(--art);
}
#summer2025_art .tab.active::before {
	background-color: var(--art);
}
#summer2025_stargazing .tab.active {
	color: var(--stargazing);
}
#summer2025_stargazing .tab.active::before {
	background-color: var(--stargazing);
}
#summer2025_kidsfarm .tab.active {
	color: var(--kidsfarm);
}
#summer2025_kidsfarm .tab.active::before {
	background-color: var(--kidsfarm);
}
#summer2025_marche .tab.active {
	color: var(--marche);
}
#summer2025_marche .tab.active::before {
	background-color: var(--marche);
}
#summer2025_permanent .tab.active {
	color: var(--permanent);
}
#summer2025_permanent .tab.active::before {
	background-color: var(--permanent);
}
#summer2025_art {
	background: var(--art_sub);
}
#summer2025_stargazing {
	background: var(--stargazing_sub);
}
#summer2025_kidsfarm {
	background: var(--kidsfarm_sub);
}
#summer2025_marche {
	background: var(--marche_sub);
}
#summer2025_permanent {
	background: var(--permanent_sub);
}
.summer2025_course_summary {
	margin-bottom: 5em;
}
.summer2025_course_summary_image {
	float: left;
	position: relative;
	width: 55%;
}
.summer2025_course_summary_photo {
	mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}
#summer2025_art .summer2025_course_summary_photo {
    mask-image: url('../images/summer2025/summer2025_art_summary_photo_mask.svg');
	-webkit-mask-image: url('../images/summer2025/summer2025_art_summary_photo_mask.svg');
}
#summer2025_stargazing .summer2025_course_summary_photo {
    mask-image: url('../images/summer2025/summer2025_stargazing_summary_photo_mask.svg');
	-webkit-mask-image: url('../images/summer2025/summer2025_stargazing_summary_photo_mask.svg');
}
#summer2025_kidsfarm .summer2025_course_summary_photo {
    mask-image: url('../images/summer2025/summer2025_kidsfarm_summary_photo_mask.svg');
	-webkit-mask-image: url('../images/summer2025/summer2025_kidsfarm_summary_photo_mask.svg');
}
#summer2025_marche .summer2025_course_summary_photo {
    mask-image: url('../images/summer2025/summer2025_marche_summary_photo_mask.svg');
	-webkit-mask-image: url('../images/summer2025/summer2025_marche_summary_photo_mask.svg');
}
#summer2025_permanent .summer2025_course_summary_photo {
    mask-image: url('../images/summer2025/summer2025_permanent_summary_photo_mask.svg');
	-webkit-mask-image: url('../images/summer2025/summer2025_permanent_summary_photo_mask.svg');
}
.summer2025_course_summary_illustration {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}
.summer2025_course_summary_text {
	float: right;
	position: relative;
	/* padding-top: 70px; */
	width: 40%;
}
.summer2025_course_summary_text h3 {
	margin-bottom: 1.2em;
	font-size: 1.8em;
	font-weight: 500;
	line-height: 1.2em;
	letter-spacing: 0.1em;
}
.summer2025_course_summary_text h3 span {
	display: inline-block;
	padding: 6px 8px 7px 8px;
	width: 41px;
	height: 41px;
	color: #fff;
	background: #ccc;
	text-align: center;
	line-height: 28px;
	border-radius: 50%;
	letter-spacing: 0;
	
	transform: scale(0.6);
	opacity: 0;
}
.summer2025_course_summary_text h3 span.revealed {
	animation: span_motion 350ms ease-in-out 1 forwards;
}
@keyframes span_motion {
	0% {
		transform: scale(0.8);
		opacity: 0;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

#summer2025_art .summer2025_course_summary_text h3 span {
    background: var(--art);
}
#summer2025_stargazing .summer2025_course_summary_text h3 span {
    background: var(--stargazing);
}
#summer2025_kidsfarm .summer2025_course_summary_text h3 span {
    background: var(--kidsfarm);
}
#summer2025_marche .summer2025_course_summary_text h3 span {
    background: var(--marche);
}
#summer2025_marche .summer2025_course_summary_text h3 span:first-of-type {
    margin-left: 0.3em;
}
#summer2025_permanent .summer2025_course_summary_text h3 span {
    background: var(--permanent);
}
#summer2025_permanent .summer2025_course_summary_text h3 span:last-of-type {
    margin-right: 0.3em;
}

#_summer2025_art .summer2025_course_summary_text h3 {
    color: var(--art);
}
#_summer2025_stargazing .summer2025_course_summary_text h3 {
    color: var(--stargazing);
}
#_summer2025_kidsfarm .summer2025_course_summary_text h3 {
    color: var(--kidsfarm);
}
#_summer2025_marche .summer2025_course_summary_text h3 {
    color: var(--marche);
}
#_summer2025_permanent .summer2025_course_summary_text h3 {
    color: var(--permanent);
}
.summer2025_course_summary_text h3 small {
	vertical-align: text-bottom;
	margin-left: 0.5em;
	font-size: 0.8em;
}
.summer2025_course_summary_text p {
	font-size: 1.1em;
	line-height: 2em;
	letter-spacing: 0.04em;
}
.summer2025_course_summary_text p:not(:last-of-type) {
	margin-bottom: 1em;
}
.summer2025_course_summary_text ul {
	margin-bottom: 2em;
}
.summer2025_course_summary_text li {
	float: left;
	position: relative;
	padding: 0.8em 0.8em 0.8em 54px;
	font-size: 0.9em;
	font-weight: 500;
	color: #ccc;
	border: 2px solid #ccc;
	border-radius: 5px;
}
#summer2025_art .summer2025_course_summary_text li {
    color: var(--art);
    border: 2px solid var(--art);
}
#summer2025_stargazing .summer2025_course_summary_text li {
    color: var(--stargazing);
    border: 2px solid var(--stargazing);
}
#summer2025_kidsfarm .summer2025_course_summary_text li {
    color: var(--kidsfarm);
    border: 2px solid var(--kidsfarm);
}
#summer2025_marche .summer2025_course_summary_text li {
    color: var(--marche);
    border: 2px solid var(--marche);
}
#summer2025_permanent .summer2025_course_summary_text li {
    color: var(--permanent);
    border: 2px solid var(--permanent);
}
.summer2025_course_summary_text li:not(:last-of-type) {
	margin-right: 0.8em;
}
.summer2025_course_summary_text li::before {
	position: absolute;
	top: 50%;
	left: 6px;
	transform: translateY(-50%);
	content: '';
	width: 40px;
	height: 40px;
	background: #ccc;
	mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 100%;
}
#summer2025_art .summer2025_course_summary_text li::before {
    background: var(--art);
}
#summer2025_stargazing .summer2025_course_summary_text li::before {
    background: var(--stargazing);
}
#summer2025_kidsfarm .summer2025_course_summary_text li::before {
    background: var(--kidsfarm);
}
#summer2025_marche .summer2025_course_summary_text li::before {
    background: var(--marche);
}
#summer2025_permanent .summer2025_course_summary_text li::before {
    background: var(--permanent);
}
.summer2025_course_summary_text li.summer2025_course_report::before {
	mask-image: url('../images/summer2025/icon_report.png');
	-webkit-mask-image: url('../images/summer2025/icon_report.png');
}
.summer2025_course_summary_text li.summer2025_course_stay::before {
	mask-image: url('../images/summer2025/icon_stay.png');
	-webkit-mask-image: url('../images/summer2025/icon_stay.png');
}
.summer2025_course_summary_text li.summer2025_course_bus::before {
	mask-image: url('../images/summer2025/icon_bus.png');
	-webkit-mask-image: url('../images/summer2025/icon_bus.png');
}
.summer2025_course_summary_text li span {
	display: block;
	padding-top: 7px;
	line-height: 1.2em;
}
.summer2025_course_content {
	padding: 4em 6em;
	background: #fff;
	border-radius: 10px;
}

/** Flow **/

.summer2025_course_flow dl {
	position: relative;
	margin-bottom: 3em;
	margin-bottom: 5em;
}
.summer2025_course_flow dl::before {
	position: absolute;
	top: 72px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	border-bottom: 1px dashed #283459;
	/* z-index: -1; */
}
.summer2025_course_flow dt {
	float: left;
	position: relative;
	margin-top: 59px;
	margin-right: 23px;
	padding: 0.4em 0.5em 0.45em 0.5em;
	width: 105px;
	font-size: 0.95em;
	letter-spacing: 0.15em;
	line-height: 1em;
	text-align: center;
	color: #fff;
	background: #283459;
	border-radius: 50vh;
	z-index: 1;
}
.summer2025_course_flow dd {
	position: relative;
	float: left;
}
#summer2025_art .summer2025_course_flow dd {
	width: calc((100% - 200px) / 3);
}
.summer2025_course_flow dd:not(:last-of-type) {
	margin-right: 36px;
}
.summer2025_course_flow dd::before {
	position: absolute;
	left: 0;
	bottom: -25px;
	bottom: -30px;
	content: '';
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #283459;
	z-index: 3;
}
.summer2025_course_flow dd h5 {
	margin-bottom: 0.3em;
	font-size: 0.8em;
}
.summer2025_course_flow dd p {
	font-size: 0.9em;
	font-weight: 500;
	line-height: 1.4em;
}
.summer2025_course_flow dd p span {
	font-size: 0.8em;
}
.summer2025_course_flow dd p.note {
	position: absolute;
	left: 0;
	bottom: -60px;
	width: max-content;
	color: #283459 !important;
	font-size: 0.75em !important;
}
#summer2025_stargazing_flow_day_1::before {
	top: 88px;
}
#summer2025_stargazing_flow_day_1 dt {
	margin-top: 76px;
}
#summer2025_stargazing_flow_day_1 dd {
	width: auto;
}
#summer2025_stargazing_flow_day_1 dd:not(#summer2025_stargazing_flow_orientation)::before {
	bottom: -47px;
}
#summer2025_stargazing_flow_checkin {
	width: 80px;
}
#summer2025_stargazing_flow_orientation {
	width: 140px;
}
#summer2025_stargazing_flow_dinner {
	width: 120px;
}
#summer2025_stargazing_flow_gather {
	width: 80px;
}
#summer2025_stargazing_flow_day_1 dd:not(:last-of-type),
#summer2025_kidsfarm_flow dd:not(:last-of-type) {
	margin-right: 30px;
}
#summer2025_stargazing_flow_day_1 dd p,
#summer2025_kidsfarm_flow dd p {
	font-size: 0.85em;
	letter-spacing: 0.03em;
}
#summer2025_kidsfarm_flow h6 {
	font-size: 0.9em;
	text-align: center;
}
#summer2025_art_flow_checkout,
#summer2025_stargazing_flow_checkout {
	width: 90px !important;
}
.summer2025_course_flow_badge {
	position: absolute;
	top: -55px;
	right: -60px;
	width: 75px;
}
.summer2025_course_flow_spa_image {
	margin-bottom: 1em;
}
.summer2025_course_flow_spa_image a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.summer2025_course_flow_spa_image a img {
	transition: all 500ms ease-in-out;
}
.summer2025_course_flow_spa_image a:hover img {
	transform: scale(1.08);
	transition: all 600ms ease-in-out;
}
.summer2025_course_flow_spa_text {
	font-size: 0.8em;
}
.summer2025_course_flow ul.note {
	margin-top: 4em;
}
#summer2025_stargazing_flow_spa {
	margin-top: 4em;
}
#summer2025_stargazing_flow_spa_image {
	margin-bottom: 1em;
}
#summer2025_stargazing_flow_spa_image a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
#summer2025_stargazing_flow_spa_image a img {
	transition: all 500ms ease-in-out;
}
#summer2025_stargazing_flow_spa_image a:hover img {
	transform: scale(1.08);
	transition: all 600ms ease-in-out;
}
#summer2025_stargazing_flow_spa_text {
	font-size: 0.8em;
}

/** Experience **/

.summer2025_course_experience_pane {
	float: left;
	padding: 2em;
	width: 48%;
	border: 2px solid #ccc;
	border-radius: 10px;
	overflow: hidden;
}
#summer2025_art .summer2025_course_experience_pane {
    border: 2px solid var(--art);
}
#summer2025_stargazing .summer2025_course_experience_pane {
    border: 2px solid var(--stargazing);
}
.summer2025_course_experience_pane:nth-of-type(even) {
	float: right;
}
#summer2025_stargazing_experience .summer2025_course_experience_pane {
	float: none;
	width: 65%;
	margin: 0 auto;
}
.summer2025_course_experience_pane h4 {
	margin-bottom: 1.5em;
	font-size: 1.3em;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.2em;
	text-align: center;
}
#summer2025_art .summer2025_course_experience_pane h4 {
    color: var(--art);
}
#summer2025_stargazing .summer2025_course_experience_pane h4 {
    color: var(--stargazing);
}
.summer2025_course_experience_pane ul {
	margin-bottom: 2em;
	padding-left: 1.2em;
	font-size: 0.9em;
	list-style-type: disc;
	list-style-position: inside;
	text-indent: -1.2em;
}
.summer2025_course_experience_pane li {
	line-height: 1.4em;
}
.summer2025_course_experience_pane li:not(:last-of-type) {
	margin-bottom: 1em;
}
.summer2025_course_experience_image {
	border-radius: 5px;
	overflow: hidden;
}

/** Plan **/

.summer2025_course_plan_image {
	float: right;
	position: relative;
	width: 40%;
}
.summer2025_course_plan_photo {
	position: relative;
	mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
	mask-image: url('../images/summer2025/summer2025_course_plan_photo_mask.svg');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
	-webkit-mask-image: url('../images/summer2025/summer2025_course_plan_photo_mask.svg');
	z-index: 2;
}
.summer2025_course_plan_dot {
	position: absolute;
	bottom: -10px;
	right: -17px;
	aspect-ratio: 181 / 152;
	width: 100%;
	background: #283459;
	mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
	mask-image: url('../images/summer2025/summer2025_course_plan_photo_before.png');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
	-webkit-mask-image: url('../images/summer2025/summer2025_course_plan_photo_before.png');
	z-index: 1;
}
#summer2025_art .summer2025_course_plan_dot {
    background: var(--art);
}
#summer2025_stargazing .summer2025_course_plan_dot {
    background: var(--stargazing);
}
#summer2025_kidsfarm .summer2025_course_plan_dot {
    background: var(--kidsfarm);
}
.summer2025_course_plan_illustration {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 3;
}
#summer2025_art .summer2025_course_plan_illustration {
	top: 60%;
}
.summer2025_course_plan ul {
	float: left;
	width: 50%;
}
.summer2025_course_plan li {
	position: relative;
	padding-left: 30px;
	font-size: 1.15em;
	line-height: 1.4em;
}
.summer2025_course_plan li:not(:last-of-type) {
	margin-bottom: 1.5em;
}
.summer2025_course_plan li::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(-45deg);
	content: '';
	width: 15px;
	height: 3px;
	background: #283459;
	border-radius: 50vh;
}
#summer2025_art .summer2025_course_plan li::before {
    background: var(--art);
}
#summer2025_stargazing .summer2025_course_plan li::before {
    background: var(--stargazing);
}
#summer2025_kidsfarm .summer2025_course_plan li::before {
    background: var(--kidsfarm);
}

/** Facilitator **/

.summer2025_course_facilitator h5 {
	margin-bottom: 1em;
	font-size: 1.2em;
	font-weight: 500;
	text-align: center;
}
.summer2025_course_facilitator_panes {
	margin: 0 auto 3em auto;
	width: 440px;
}
#summer2025_stargazing .summer2025_course_facilitator_panes {
	width: 200px;
}
.summer2025_course_facilitator_pane {
	float: left;
	width: 200px;
	text-align: center;
}
.summer2025_course_facilitator_pane:not(:last-of-type) {
	margin-right: 40px;
}
.summer2025_course_facilitator_image {
	margin-bottom: 1em;
	border: 4px solid #283459;
	border-radius: 50%;
	overflow: hidden;
}
#summer2025_art .summer2025_course_facilitator_image {
    border: 4px solid var(--art);
}
#summer2025_stargazing .summer2025_course_facilitator_image {
    border: 4px solid var(--stargazing);
}
.summer2025_course_facilitator_pane h4 {
	font-size: 1.1em;
	font-weight: 500;
}
.summer2025_course_facilitator h6 {
	text-align: center;
}

/** Fee **/

.summer2025_course_fee_panes {
	margin: 0 auto 0 auto;
	min-width: 450px;
	width: 50%;
	padding: 0 1em;
}
.summer2025_course_fee_pane {
	float: left;
	width: 28%;
}
.summer2025_course_fee_pane:nth-of-type(3n - 1) {
	margin: 0 8%;
}
.summer2025_course_fee_pane h6 {
	margin-bottom: 1em;
	font-size: 0.7em;
	font-weight: 500;
	line-height: 1.8em;
	letter-spacing: 0.18em;
	letter-spacing: 0.1em;
}
.summer2025_course_fee_pane h5 {
	font-size: 1.6em;
	font-weight: 500;
}
#summer2025_art .summer2025_course_fee_pane h5 {
    color: var(--art);
}
#summer2025_stargazing .summer2025_course_fee_pane h5 {
    color: var(--stargazing);
}
#_summer2025_kidsfarm_fee dl {
	font-size: 1.5em;
}
#summer2025_kidsfarm_fee {
	width: 570px;
}
#summer2025_kidsfarm_fee dt {
	float: left;
	padding-top: 3px;
	width: 10rem;
	font-size: 1.3em;
	font-weight: 500;
}
#summer2025_kidsfarm_fee dd {
	padding-left: 10rem;
	padding-bottom: 0.8em;
	margin-bottom: 0.8em;
	color: var(--kidsfarm);
	border-bottom: 1px solid #ddd;
	font-size: 2em;
}
#summer2025_kidsfarm_fee dd span {
	margin-left: 0.3em;
	font-size: 0.6em;
	color: #283459;
}

/** Schedule **/

.summer2025_course_schedule {
	width: 570px;
}
.summer2025_course_schedule h4 {
	margin-bottom: 3em;
	font-size: 1.15em;
	font-weight: 500;
	text-align: center;
}
.summer2025_course_schedule li {
	position: relative;
	/* opacity: 0; */
}
.summer2025_course_schedule li:not(:last-of-type) {
	padding-bottom: 1em;
	margin-bottom: 1em;
	border-bottom: 1px solid #ddd;
}
.summer2025_course_schedule_ongoing {
	padding-left: calc(90px + 2.2em);
}
._summer2025_course_schedule_ongoing::before {
	position: absolute;
	top: 14px;
	left: 40px;
	content: '';
	width: 15px;
	height: 15px;
	background: #283459;
	border-radius: 50%;
}
.summer2025_course_schedule_ongoing h5 {
	position: absolute;
	display: block;
	top: 14px;
	left: 40px;
	content: '';
	width: 15px !important;
	height: 15px !important;
	background: #283459;
	border-radius: 50%;
}
.summer2025_course_schedule_ongoing h5::before,
.summer2025_course_schedule_ongoing h5::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background: #283459;
	opacity: 0.6;
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0);
	animation: ripple-animation 2000ms infinite;
}
.summer2025_course_schedule_ongoing h5::after {
	animation-delay: 1000ms;
}
@keyframes ripple-animation {
	0% {
		transform: translate(-50%, -50%) scale(0);
		opacity: 1;
	}
	100% {
		transform: translate(-50%, -50%) scale(2.5);
		opacity: 0;
	}
}
.summer2025_course_schedule li h5 {
	float: left;
	padding: 0.4em;
	margin-right: 2em;
	width: 90px;
	font-size: 1.1em;
	color: #fff;
	text-align: center;
	background: #283459;
	border-radius: 5px;
}
.summer2025_course_schedule_period {
	float: left;
	margin-top: 8px;
	margin-right: 2em;
	width: 280px;
	font-size: 1.2em;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: #283459;
}
#summer2025_kidsfarm .summer2025_course_schedule ul {
	margin: 0 auto;
	width: fit-content;
}
#summer2025_kidsfarm .summer2025_course_schedule_period {
	margin-right: 0;
	width: fit-content;
}
#summer2025_marche .summer2025_course_schedule_period {
	width: 110px;
}
#summer2025_marche .summer2025_course_schedule li h6 {
	float: left;
	margin-top: 10px;
}
#summer2025_marche .summer2025_course_schedule li h6 span {
	font-size: 0.8em;
	letter-spacing: 0.05em;
}
.summer2025_course_schedule_period span {
	font-size: 0.7em;
	font-weight: 400;
}
.summer2025_course_schedule_period_start {
	position: relative;
	padding-right: 2em;
}
.summer2025_course_schedule_period_start::before {
	position: absolute;
	top: 0;
	right: 0.5em;
	content: '〜';
}
.summer2025_course_schedule_period_ongoing {
	float: none !important;
}
.summer2025_course_schedule_reserve {
	float: left;
}
.summer2025_course_schedule_reserve a {
	display: block;
	padding: 0.4em 2em;
	font-weight: 600;
	color: #fff !important;
	background: #283459;
	border: 1px solid #283459;
	text-decoration: none;
	border-radius: 200px;
	transition: all 200ms ease-in-out;
}
.summer2025_course_schedule_reserve a:hover {
	color: #283459 !important;
	background: #fff !important;
}
#summer2025_art .summer2025_course_schedule_reserve a {
    background: var(--art);
    border: 1px solid var(--art);
}
#summer2025_stargazing .summer2025_course_schedule_reserve a {
    background: var(--stargazing);
    border: 1px solid var(--stargazing);
}
#summer2025_kidsfarm .summer2025_course_schedule_reserve a {
    background: var(--kidsfarm);
    border: 1px solid var(--kidsfarm);
}
#summer2025_art .summer2025_course_schedule_reserve a:hover {
    color: var(--art) !important;
}
#summer2025_stargazing .summer2025_course_schedule_reserve a:hover {
    color: var(--stargazing) !important;
}
#summer2025_kidsfarm .summer2025_course_schedule_reserve a:hover {
    color: var(--kidsfarm) !important;
}
.summer2025_course_schedule_venue {
	margin-top: 4em;
	padding: 2.5em 4em;
	border: 2px dashed #283459;
	border-radius: 5px;
}
.summer2025_course_schedule_venue dt {
	float: left;
	width: 4em;
	font-weight: 500;
}
.summer2025_course_schedule_venue dd {
	padding-left: 4em;
	padding-bottom: 0.5em;
}

/** Heatstroke **/

#summer2025_kidsfarm_heatstroke h4 {
	position: relative;
	margin-bottom: 6.7em;
	font-size: 1.1em;
	font-weight: 500;
	text-align: center;
}
#summer2025_kidsfarm_heatstroke h4::before {
	content: '＼';
	margin-right: 0.3em;
}
#summer2025_kidsfarm_heatstroke h4::after {
	content: '／';
	margin-left: 0.3em;
}
#summer2025_kidsfarm_heatstroke_list {
	position: relative;
	margin: 0 auto;
	padding: 2em;
	width: 70%;
	background: #f0e9e1;
	border: 2px dashed var(--kidsfarm);
	border-radius: 10px;
	text-align: center;
}
#summer2025_kidsfarm_heatstroke_list::before {
	position: absolute;
	left: 50%;
	top: -103px;
	transform: translateX(-50%);
	content: '';
	width: 120px;
	height: 103px;
	background: url(../images/kidsfarm/kidsfarm_features_heatstroke_list_person.png) no-repeat center / 100%;
}
#summer2025_kidsfarm_heatstroke_list ul {
	display: inline-block;
}
#summer2025_kidsfarm_heatstroke_list li {
	position: relative;
	padding-left: 0.8em;
	line-height: 1.4em;
	color: #856c2a;
	text-align: left;
}
#summer2025_kidsfarm_heatstroke_list li:not(:last-of-type) {
	margin-bottom: 1em;
}
#summer2025_kidsfarm_heatstroke_list li::before {
	position: absolute;
	top: 12px;
	left: 0;
	content: '';
	width: 4px;
	height: 4px;
	background: #856c2a;
	border-radius: 50%;
}

/* Permanent */

.summer2025_permanent_content {
	width: 570px;
}
.summer2025_permanent_content h5 {
	margin-bottom: 3em;
	font-size: 1.1em;
	line-height: 2em;
	text-align: center;
}
.summer2025_permanent_image {
	margin-bottom: 3em;
	mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
	mask-image: url('../images/summer2025/summer2025_permanent_image_mask.svg');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
	-webkit-mask-image: url('../images/summer2025/summer2025_permanent_image_mask.svg');
}
.summer2025_permanent_content dt {
	float: left;
	width: 8em;
	font-weight: 500;
}
.summer2025_permanent_content dd {
	padding-left: 8em;
}
.summer2025_permanent_content dd:not(:last-of-type) {
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
	border-bottom: 1px solid #ddd;
}

/* Footer */

#footer {
	margin-top: 100px;
	text-align: center;
}
#footer_logo {
	margin: 0 auto 3em;
	width: 150px;
}
#footer h1#footer_logo a {
	display: block;
}
#footer_menu {
	text-align: center;
}
#footer_menu ul {
	display: inline-block;
}
#footer_menu li {
	float: left;
	line-height: 1.4em;
}
#footer_menu li:not(:last-of-type) {
	padding-right: 1em;
	margin-right: 1em;
	border-right: 1px solid #283459;
}

@media screen and (min-width:599px) and (max-width:1194px) {
	
	.summer2025_about_pane h4 {
		font-size: 1.02em;
		letter-spacing: 0em;
	}
	
	.summer2025_course_content {
		padding: 4em 5em;
	}
	
}
@media screen and (min-width:480px) and (max-width:599px) {
	
	.fixed #header {
		background: rgba(255,255,255,0.95);
	}
	.section {
        margin: 0 auto 8em auto;
    }
	.heading {
		margin-bottom: 3em;
	}
	.heading h3.title {
		padding-bottom: 0.8em;
	}
	.heading h5 {
		margin-top: 1em;
	}
	.tabs {
		margin-bottom: 3em;
	}
	.tab {
		margin-bottom: 1em !important;
		padding-bottom: 0.3em;
		font-size: 1.15em;
	}
	.tab_br {
		margin-right: 0 !important;
	}
	.tab_pane {
		width: 100%;
	}
	.reserve_button {
		margin: 3em auto 0;
	}
	p.note,
	.note li {
		font-size: 0.8em !important;
		line-height: 1.8em;
	}
	
	
	/* Menu */
	
	#summer2025_menu_switch {
		display: block;
	}
	#summer2025_menu {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		padding: 150px 100px;
		width: 100%;
		min-height: 100vh;
		height: 100dvh;
		background: #fff url(../images/summer2025/summer2025_logo.png) no-repeat top 39px center / 320px;
	}
	#summer2025_global_menu ul {
		font-size: 0.9em;
		margin-bottom: 4em;
	}
	#summer2025_global_menu {
		text-align: center;
	}
	#summer2025_global_menu ul li {
		margin-bottom: 25px;
		font-size: 1.2em;
	}
	#summer2025_global_menu ul li a {
		padding-right: 0;;
	}
	#summer2025_global_menu ul li a::before {
		display: none;
	}
	#_header_reserve_button a {
		border-right: 2px solid #283459;
		border-radius: 5px;
	}
	#header_reserve_button {
		margin-right: 0;
	}
	#header_reserve_button_mobile a {
		position: absolute;
		top: 10px;
		font-size: 0.8em;
		right: 80px;
		padding: 8px 20px;
	}
	.header_buttons .button a {
		color: #fff !important;
	}
	.header_buttons .button:not(:last-of-type) {
		margin-bottom: 1em;
	}
	.header_buttons .button.art a {
		background: var(--art);
		border: 2px solid var(--art);
	}
	.header_buttons .button.stargazing a {
		background: var(--stargazing);
		border: 2px solid var(--stargazing);
	}
	.header_buttons .button.kidsfarm a {
		background: var(--kidsfarm);
		border: 2px solid var(--kidsfarm);
	}
	.header_buttons .button.marche a {
		background: var(--marche);
		border: 2px solid var(--marche);
	}
	.header_buttons .button.permanent a {
		background: var(--permanent);
		border: 2px solid var(--permanent);
	}
	.header_buttons .button.art a:hover {
		color: var(--art) !important;
		color: #fff !important;
	}
	.header_buttons .button.stargazing a:hover {
		color: var(--stargazing) !important;
		color: #fff !important;
	}
	.header_buttons .button.kidsfarm a:hover {
		color: var(--kidsfarm) !important;
		color: #fff !important;
	}
	.header_buttons .button.marche a:hover {
		color: var(--marche) !important;
		color: #fff !important;
	}
	.header_buttons .button.permanent a:hover {
		color: var(--permanent) !important;
		color: #fff !important;
	}
	
	/* Hero */
	
	#summer2025_hero {
		margin-top: 90px;
		margin-bottom: 0;
	}
	#summer2025_hero .inner {
		padding: 0 20px;
	}
	#summer2025_hero_slides {
		mask-image: url('../images/summer2025/summer2025_hero_mask_mobile.svg');
		-webkit-mask-image: url('../images/summer2025/summer2025_hero_mask_mobile.svg');
	}
	.summer2025_hero_illustration {
		transform: none;
	}
	#summer2025_hero_illustration_1 {
        top: auto;
        bottom: 0;
        bottom: -30px;
        left: auto;
        right: 0px;
        width: 260px;
	}
	#summer2025_hero_illustration_2 {
        top: auto;
        bottom: 170px;
        left: 40px;
        width: 190px;
        transform: rotate(150deg);
    }
	#summer2025_hero_illustration_3 {
		top: 0;
		top: -18px;
		left: auto;
		right: 15px;
		right: 52px;
		width: 290px;
	}
	#summer2025_hero h2 {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		top: 80px;
        left: 100px;
		transform: none;
	}
	#summer2025_hero h2 span {
		/* display: inline-block; */
		padding: 0.3em 0.2em;
		width: auto;
		height: fit-content;
	}
	#summer2025_hero h2 span:not(:last-of-type) {
		margin-bottom: 0;
		margin-left: 0.5em;
	}
	
	/* Concept */
	
	#summer2025_concept {
		margin-bottom: 5em;
	}
	#summer2025_concept_text {
		font-size: 1.05em;
		font-size: 0.95em;
		line-height: 1.45em;
		line-height: 1.35em;
	}
	#summer2025_concept_text h2 {
		margin-left: 1.5em;
		width: 30px;
	}
	#summer2025_concept_illustration {
		bottom: -20px;
		left: 20px;
	}
	
	/* About */
	
	#summer2025_about {
		padding: 5em 0 10em 0;
	}
	#summer2025_about_text {
		text-align: left;
	}
	#summer2025_about_text h3 {
		margin-bottom: 1.5em;
		font-size: 1.6em;
		text-align: center;
	}
	#summer2025_about_text p {
		letter-spacing: 0.05em;
	}
	.summer2025_about_pane {
		float: none;
		width: 100%;
		border-radius: 20px;
	}
	.summer2025_about_pane:not(:last-of-type) {
		margin-right: 0;
		margin-bottom: 1.5em;
	}
	.summer2025_about_pane a {
		padding: 1em 75px 1em 1em;
	}
	.summer2025_about_pane a::before {
		top: 50%;
		left: auto;
		right: 25px;
		transform: translateY(-50%);
	}
	.summer2025_about_pane_image {
		float: left;
		margin-bottom: 0;
		width: 150px;
	}
	.summer2025_about_pane .summer2025_about_pane_image p {
		padding: 0;
	}
	.summer2025_about_pane_image h5 {
		top: -10px;
		left: 0px;
		font-size: 4.5em;
	}
	.summer2025_about_pane h4 {
		padding-top: 20px;
		padding-left: 180px;
		text-align: left;
	}
	.summer2025_about_pane p {
		padding-left: 180px;
		text-align: left;
	}
	.summer2025_hello li {
		font-size: 7em;
	}
	
	/* Course */
	
	.summer2025_course {
		margin-bottom: 0 !important;
		padding: 5em 0;
		padding: 5em 0 8.5em 0;
	}
	
	/** Summary **/
	
	.summer2025_course_summary {
		margin-bottom: 4em;
	}
	.summer2025_course_summary_image {
		float: none;
		margin-bottom: 4em;
		width: 100%;
	}
	.summer2025_course_summary_text {
		float: none;
		width: 100%;
	}
	.summer2025_course_summary_text h3 {
		font-size: 1.7em;
		font-size: 1.55em;
		letter-spacing: 0.05em;
	}
	.summer2025_course_summary_text h3 span {
		width: 53px;
		height: 53px;
		line-height: 40px;
	}
	.summer2025_course_summary_text li {
		padding: 0.5em 0.8em 0.5em 54px;
	}
	.summer2025_course_summary_text p {
		font-size: 1.15em;
		line-height: 1.8em;
		letter-spacing: 0.06em;
	}
	
	
	.summer2025_course_content {
		padding: 2em;
	}
	
	/** Flow **/
	
	.summer2025_course_flow dl::before {
		top: 0;
		left: 45px;
		left: 25px;
		width: 1px;
		height: 100%;
		border-left: 1px dashed #3f2912;
		border-bottom: none;
	}
	.summer2025_course_flow dt {
		margin: 0;
		margin-left: -20px;
	}
	.summer2025_course_flow dd:first-of-type {
		padding-top: 70px;
		padding-top: 50px;
	}
	.summer2025_course_flow dd {
        float: none;
        padding-top: 1.5em;
        padding-left: 95px;
    }
	.summer2025_course_flow_badge {
        top: 0;
        top: 5px;
        right: 100px;
        width: 90px;
    }
	#summer2025_kidsfarm_hotel_arr .summer2025_course_flow_badge {
        right: 125px;
    }
	.summer2025_course_flow dd:first-of-type::before {
        top: 84px;
    }
	.summer2025_course_flow dd::before {
        left: 40px;
        left: 20px;
        bottom: auto;
        top: 47px;
    }
	#summer2025_stargazing_flow_day_1 dd:not(:last-of-type),
	#summer2025_kidsfarm_flow dd:not(:last-of-type) {
		margin-right: 0;
	}
	.summer2025_course_flow dd h5 {
		font-size: 1em;
	}
	.summer2025_course_flow dd p {
		font-size: 1.15em;
		line-height: 1.2em;
	}
	.summer2025_course_flow dd p.note {
		position: relative;
		margin-top: 0.8em;
		left: auto;
		bottom: auto;
	}
	.summer2025_course_flow dd p.note#to_hotel {
		right: auto;
		left: auto;
	}
	#summer2025_art .summer2025_course_flow dd {
		width: 100%;
	}
	#summer2025_art_flow_checkout, #summer2025_stargazing_flow_checkout {
		width: 100% !important;
	}
	#summer2025_stargazing_flow_day_1 dd p, #summer2025_kidsfarm_flow dd p {
		font-size: 1.15em;
		letter-spacing: 0.08em;
	}
	.summer2025_course_flow dd:not(:last-of-type) {
		margin-right: 0;
	}
	#summer2025_stargazing_flow_day_1 dt {
		margin-top: 0;
	}
	#summer2025_stargazing_flow_day_1::before {
		top: 0;
	}
	#summer2025_kidsfarm_checkin {
		padding-top: 0 !important;
	}
	#summer2025_kidsfarm_checkin::before {
        top: 34px !important;
    }
	
	/** Experience **/
	
	.summer2025_course_experience_pane {
		float: none;
		width: 100%;
	}
	.summer2025_course_experience_pane:not(:last-of-type) {
		margin-bottom: 1.5em;
	}
	#summer2025_stargazing_experience .summer2025_course_experience_pane {
		float: none;
		width: 100%;
	}
	.summer2025_course_plan_image {
		float: none;
		margin-bottom: 4em;
		width: 100%;
	}
	.summer2025_course_plan ul {
		float: none;
		width: 100%;
	}
	.summer2025_course_plan li {
		padding-left: 35px;
		font-size: 1.08em;
		letter-spacing: 0.03em;
	}
	.summer2025_course_plan li::before {
		width: 22px;
		height: 4px;
	}
	
	/** Facilitator **/
	
	.summer2025_course_facilitator h6 {
		text-align: left;
	}
	
	/** Schedule **/
	
	.summer2025_course_schedule_plan {
		width: 100%;
	}
	.summer2025_course_schedule li h5 {
		
		padding: 0.2em;
		margin-right: 1.2em;
		width: 74px;
		font-size: 0.9em;
		letter-spacing: 0.05em;
	}
	.summer2025_course_schedule_period {
		margin-top: 5px;
		margin-right: 1em;
		width: 220px;
		font-size: 0.95em;
	}
	.summer2025_course_schedule_period p {
		font-size: 0.95em;
		letter-spacing: 0;
	}
	.summer2025_course_schedule_period_start {
		padding-right: 1.5em;
	}
	.summer2025_course_schedule_period_start::before {
		right: 0.3em;
	}
	.summer2025_course_schedule_reserve a {
		padding: 0.3em 1.2em;
		font-size: 0.76em;
	}
	.summer2025_course_schedule_ongoing {
		padding-left: calc(74px + 1em);
	}
	.summer2025_course_schedule h4 {
		font-size: 1.6em;
		font-size: 1.2em;
		line-height: 1.4em;
	}
	#summer2025_marche .summer2025_course_schedule_period {
		width: 115px;
	}
	#summer2025_marche .summer2025_course_schedule li h6 {
		font-size: 0.8em;
		line-height: 1.2em;
		margin-top: 16px;
	}
	#summer2025_marche .summer2025_course_schedule li h6 span {
		display: block;
	}
	.summer2025_course_schedule_venue {
		margin-top: 3em;
		padding: 2em 2em 1em 2em;
	}
	.summer2025_course_schedule_venue dt {
		line-height: 1.4em;
	}
	.summer2025_course_schedule_venue dd {
		padding-bottom: 1em;
		line-height: 1.4em;
	}
	#summer2025_marche .summer2025_course_schedule li#summer2025_marche_schedule_5 h6 {
		margin-top: 3px;
	}
	
	/** Fee **/
	
	.summer2025_course_fee_panes {
		min-width: 0;
		width: 100%;
		padding: 0;
	}
	.summer2025_course_fee_pane h5 {
		font-size: 1.3em;
		letter-spacing: 0;
	}
	.summer2025_course_fee_pane h6 {
		font-size: 0.62em;
        letter-spacing: 0.03em;
	}
	#summer2025_kidsfarm_fee {
		width: 100%;
	}
	#summer2025_kidsfarm_fee dt {
		width: 7rem;
		font-size: 1.1em;
	}
	#summer2025_kidsfarm_fee dd {
		padding-left: 7rem;
		font-size: 1.6em;
	}
	
	/** Heatstroke **/
	
	#summer2025_kidsfarm_heatstroke_list {
		width: 100%;
	}
	
	/* Permanent */
	
	.summer2025_permanent_content h5 {
		text-align: left;
	}
	.summer2025_permanent_content dt {
		width: 7em;
	}
	.summer2025_permanent_content dd {
		padding-left: 7em;
	}
	
}