@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700;900&display=swap');

:root{
  --color-text: #333333;
  --color-blue: #24a4d6;
  --color-orange: #ff9900;
  --color-pink: #f358c3;
  --color-red: #ff2929;
  --color-white: #ffffff;
  --color-pb:#e9f5fa;
  --color-py:#ffffd5;
  --color-kicks: #e60012;
  --color-crefus: #97c040;
	
  --card-border-radius: 15px;
}
html {  
  scroll-behavior:auto;
}
[id] {
  scroll-margin-top:80px;
}
body{
  color: var(--color-text);
  line-height: 1.8;
	color: #333;
	margin:0;
  font-family:"Noto Sans JP",sans-serif;
  font-weight:500;
	font-size: clamp(13px, 1.2vw, 15px);
}
*{box-sizing: border-box;}
ul,ol{padding: 0;}
body {
  /*min-width: 1160px;*/ overflow-x: hidden;
}
a,
a:link,
a:visited,
a:hover,
a:active,
a:focus {
  text-decoration: none;
}
.anchor{scroll-margin-top:70px;}
/*----------------共通-----------------------*/
.inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}
.tabinner {
  margin: 0 auto;
  padding-right: 2%;
  padding-left: 2%;
  box-sizing: border-box;
}
.flexarea {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  /*折り返し有り・複数行*/
  justify-content: space-between;
  /*均等に間隔をあける*/
}
.flexarea02 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  /*折り返し有り・複数行*/
  justify-content: space-around;
  /*均等に間隔をあける・両端にも間隔をあける*/
}
.nowrap{white-space: nowrap;}
.img100 img {
  width: 100%;
}
.pcnone {
  display: none;
}
@media screen and (max-width: 751px) {
  .pcnone {
    display: block;
  }
}
.tbonpcnone {
  display: none;
}
@media screen and (max-width: 1000px) {
  .tbonpcnone {
    display: block;
  }
}
.tbnone {
  display: block;
}
@media screen and (max-width: 1000px) {
  .tbnone {
    display: none;
  }
}
.spnone {
  display: block;
}
@media screen and (max-width: 750px) {
  .spnone {
    display: none;
  }
}
.sspnone {
  display: block;
}
@media screen and (max-width: 570px) {
  .sspnone {
    display: none;
  }
}
.tbnone02 {
  display: inline-block;
}
@media screen and (max-width: 1000px) {
  .tbnone02 {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  body {
    min-width: initial;
  }
}
.text-left {
  text-align: left;
}


  body {
    -webkit-text-size-adjust: none;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    color: #000;
    font-size: 11pt;
    line-height: 190%;
  }
  * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }
  img, iframe {
    vertical-align: bottom;
  }
  * {
    margin: 0;
    padding: 0;
  }
  a:hover img {
    transition: all 0.1s ease; /*0.5秒かけて要素を変化させる*/
    opacity: 0.7; /*要素の透明度を指定*/
    filter: alpha(opacity=70); /*ie6、7の透明度指定*/ /*ちなみにie8の透明度指定はこれ→ -ms-filter: "alpha(opacity=70)";*/
  }
	
  header {
    width: 100%;
  }
  header .inner {
    /* max-width: 1100px;*/
    margin: 0 auto;
	  position:fixed;
	  left: 0;
	  top:0;
	  width: 100%;
	  padding: 0;
	  z-index: 100;
  }
  header .inner h1 {
    position: absolute;
    top: 4px;
    left: 2%;
    margin: 0;
    padding: 0;
    font-size: 12px;
    font-weight: normal;
  }
  header .inner .hlogo {
    position: absolute;
    top:5px;
    left: 1%;
    margin: 0;
    padding: 0;
    width: 18%;
  }
  header .inner .hlogo img {
    width: 100%;
    max-width: 411px;
  }
  header .inner .headtel {
    position: absolute;
    top: 10px;
    right: 260px;
  }
  header .inner .hschool {
    position: absolute;
    top: 10px;
    right: 15px;
  }
/* ==================================================
   ナビゲーション
================================================== */
#gnav-wrap{
    overflow: hidden;
    margin: 0 0 0 20%;
	  align-items: center;
	  justify-content: center;
	  gap:0;
	  position:fixed;
     right: 0;
	width: 80%;
	  max-width: 1180px;
    justify-content:flex-end;
    display: grid;
    background: #fff;
	border-radius: 0 0 0 clamp(30px, 3vw, 50px);
	grid-template-columns: 1fr 120px;
}
  #gnav {
	  display: flex;
	  align-items: center;
	  justify-content:center;
	  gap:1em 2rem;
	  font-size:clamp(13px, 1vw, 15px);
	padding:1em 1em 1em clamp(20px, 1.5vw, 30px);
	  margin-right: 10px;
	min-height: 70px;
	flex-wrap: wrap;
  }
  #gnav li {
    font-weight: bold;
    vertical-align: middle;
    text-align: center;
	line-height: 1.3;
	position: relative;	
  }
#gnav li.gnav__item{white-space: nowrap;}
@media screen and (max-width: 1200px) {
	#gnav li.gnav__item{white-space: normal;}
}
/*#gnav li:nth-last-child(2){margin-right:1rem;}
#gnav li:last-child{margin-right: 0;}*/
	#gnav li::before,#gnav li.gnav__item::before{
		position: absolute;
		content:"";
		right: -1rem;
		width: 2px;
		height:30px;
		top:50%;
		transform: translateY(-50%);
		border-right:2px dotted var(--color-blue);
	}
/*	#gnav li:nth-last-of-type(2)::before,*/
#gnav li:last-of-type::before{content: none;}
#gnav-wrap .header-contact{
	width:100%;
	height: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
		text-align: center;
}
	#gnav-wrap .hmail{/*
	margin-left: auto;
    position: absolute;
    right: 0;*/
    background:#FFF;
		height: 100%;
		text-align: center;
    background: var(--color-orange);	
	}
#gnav-wrap .htel{
    background: var(--color-red);	}
#gnav-wrap .hmail a,#gnav-wrap .htel a{color: #FFF;}
#gnav-wrap .hmail i,#gnav-wrap .htel i{font-size: 1.5em;}
#gnav-wrap .header-contact a{
	display: block;
	height: 100%;
    display: grid;
    place-content:center;
}
#gnav-wrap .header-contact a:hover{text-decoration: none;}
#gnav-wrap .hmail img{
	width: 100%;
	height: auto;
}
  #gnav li a {    
	  color: var(--color-blue);
    text-decoration: none;
    display: block;
    background: #fff;
  }
  #gnav li a:hover {
    text-decoration: none;
    display: block;
    background: #f0f0f0;
  }
  #gnav li.nn2 a:hover {
    color: #f60016;
    text-decoration: none;
    display: block;
    background: #f0f0f0;
  }
  #gnav li.nn3 a:hover {
    color: #5da853;
    text-decoration: none;
    display: block;
    background: #f0f0f0;
  }
  /* Fixed */
  header.fixed {
    background: #fff;
    position: fixed;
    width: 100%;
    top: 0px;
    z-index: 5000;
  }
.spnav{display: none;}
/* ==================================================
   メインイメージ
================================================== */
  #mainimg {
    width: 100%;
	  margin:70px 0 0;
    background-size:contain,cover;
    background-position: top center,top center;
    background-repeat: no-repeat,no-repeat;
    background-image: url("../img/2026autumn/mainimg_bg01.webp"),
		 url("../img/2026autumn/mainimg_bg03.webp");
	  position: relative;
	  overflow: clip;
  }
  .mainimgInner {
	max-height: 550px;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
	  padding:50px 0;
	  background: url("../img/2026autumn/mainimg_bg02.webp") no-repeat;
	  background-position: center bottom;
	  background-size: contain;
  }
.mainimgInner::before,.mainimgInner::after{
	content: "";
	position: absolute;
	bottom: 0;
	z-index: 1;
  opacity: 0;
	}
.mainimgInner::before{
		left: -3%;
		width: 156px;
		height: 209px;
		background: url("../img/2026autumn/mainimg_deco01.webp") no-repeat center center;
		background-size: contain;
  animation:
    decoFadeIn 1s ease 1s forwards,
    decoSwing 1s ease-in-out 1s forwards;
	}
.mainimgInner::after{
		right: -3%;
		bottom: 0;
		width: 155px;
		height: 261px;
		background: url("../img/2026autumn/mainimg_deco02.webp") no-repeat center center;
		background-size: contain;  
  		animation:
    	decoFadeIn 1s ease 1s forwards,
    	decoSwingReverse 1s ease-in-out 1s forwards;
	}
@media screen and (min-width: 1400px) {
	.mainimgInner::before{left: -166px;}
	.mainimgInner::after{right: -155px;}
}
@keyframes decoFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes decoSwing {
  0%   { transform: rotate(0deg); }
  25%  { transform: rotate(10deg); }
  50%  { transform: rotate(0deg); }
  75%  { transform: rotate(-10deg); }
  100% { transform: rotate(0deg); }
}
@keyframes decoSwingReverse {
  0%   { transform: rotate(0deg); }
  25%  { transform: rotate(-10deg); }
  50%  { transform: rotate(0deg); }
  75%  { transform: rotate(10deg); }
  100% { transform: rotate(0deg); }
}
.mainimgInner .maintxt{
		max-width:440px;
		width:75%;
		display: block;
		margin: 0 auto;
		position: relative;
		z-index: 2;
  		transform-origin: center;
		animation: mainZoom 1s ease-out forwards;
}
.mainimgInner .mainphoto{
	position:absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
}
@keyframes mainZoom {
  0% {
    opacity: 0;
    transform: scale(1.15);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.mainimgBtn {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 0 20px;
}
.mainimgBtn .entry-btn{
	position: absolute;
	top: -50px;
}
/* ==================================================
   ENTRY BUTTON
================================================== */
.entry-btn {
  display: flex;
  align-items: center;
  gap: 28px;
  width: min(100%, 840px);
  min-height: 102px;
  padding: 18px 32px 18px 20px;
  margin-inline: auto;
   background:var(--color-red);
  border-radius: 60px;
  color: var(--color-white);
  text-decoration: none;
  box-shadow: 0 10px 0 #ab0000;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
/* 左側ラベル
------------------------------------------ */
.entry-btn__label {
  flex-shrink: 0;
  padding: 12px 24px;
  background: #fff;
  border-radius: 40px;
  color:var(--color-red);
  font-size: 26px;
  font-weight: 900;
	font-style:italic;
  line-height: 1.2;
  white-space: nowrap;
}
/* CTAテキスト
------------------------------------------ */
.entry-btn__text {
  flex: 1;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
}
/* 矢印
------------------------------------------ */
.entry-btn__arrow {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-top: 5px solid #fff;
  border-right: 5px solid #fff;
  transform: rotate(45deg);
}
/* hover
------------------------------------------ */
.entry-btn:hover {
  transform: translateY(4px);
  box-shadow: 0 6px 0 #ab0000;
}
.entry-btn:hover,.entry-btn:visited{
	text-decoration: none;
	color: #FFF;}

.entry-btn__icon {
  flex-shrink: 0;
  width: 34px;
}
.entry-btn__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.entry-btn__text {
  font-size: clamp(20px, 2vw, 26px);
}
.section__cta {
  display: flex;
  justify-content: center;
  margin-top: clamp(60px, 7vw, 90px);
}
.section__cta .entry-btn {
  width: min(100%, 570px);
}
/* ==================================================
   CTA 電話お問い合わせ
================================================== */
.section__cta {
  flex-direction:column;
  align-items:center;
  gap:35px;
}
.section__cta-tel {
  text-align:center;
}
.section__cta-tel-label {
  margin:0 0 5px;
  font-size:clamp(13px,1.5vw,16px);
  font-weight:700;
}
.section__cta-tel-number {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:clamp(28px,4vw,42px);
  font-weight:900;
  line-height:1.3;
  letter-spacing:.03em;
  text-decoration:none;
}
a.section__cta-tel-number:link,
a.section__cta-tel-number:visited,
a.section__cta-tel-number:active,
a.section__cta-tel-number:focus {color:var(--color-red);}
a.section__cta-tel-number:hover {
  color:var(--color-red);
  text-decoration:none;
}
.section__cta-tel-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.7em;
	padding-top: .3em;
}
.section__cta-tel-hours {
  margin:5px 0 0;
  color:#555;
  font-size:clamp(12px,1.3vw,14px);
}
/* 受付時間
------------------------------------------ */
.section__cta-tel-hours {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  width:fit-content;
  max-width:100%;
  margin:15px auto 0;
  padding:15px 25px;
  border-radius:var(--card-border-radius);
  background:#f5f5f5;
  color:#333;
}
.section__cta-tel-hours-title {
  padding:6px 12px;
  border-radius:5px;
  background:#555;
  color:#fff;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.section__cta-tel-hours-list {
  display:grid;
  gap:5px;
}
.section__cta-tel-hours-list p {
  display:flex;
  align-items:center;
  gap:15px;
  margin:0;
  font-size:clamp(12px,1.3vw,14px);
  line-height:1.5;
}
.section__cta-tel-hours-list p span {
  min-width:110px;
  text-align:left;
}
.section__cta-tel-hours-list strong {
  font-size:1.1em;
  font-weight:900;
  white-space:nowrap;
}


/* ========================================
   セクション共通
======================================== */
.section {
  position: relative;
  overflow: hidden;
  padding:
    clamp(70px, 10vw, 150px)
    0
    clamp(70px, 10vw, 150px);
}
.section__inner {
  width: min(100% - 40px, 1300px);
  margin-inline: auto;
}
.section-title {
  margin: 0 0 clamp(35px, 5vw, 60px);
  color:var(--color-text);
  font-size: clamp(24px, 3.2vw, 46px);
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
}
.section-title span.accent{
  color: #ff8a00;
}
.section__heading {
  position: relative;
  z-index: 2;
  text-align: center;
}

.section__lead {
  margin: 0;
  color: #333;
  font-size: clamp(19px, 2vw, 28px);
  font-weight: 900;
  line-height: 1.5;
}
.section__text {
  margin: clamp(30px, 4vw, 55px) 0 0;
  color: #333;
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}
/* ==================================================
   遊びのような体験から～
================================================== */
.experience {
  background:
    #fff
    url("../img/2026autumn/experience_bg.webp")
    center top / 100% auto no-repeat;
	position: relative;
	padding: clamp(35px, 5vw, 75px) 0 clamp(70px, 10vw, 150px);
}
.experience .section__cta-tel{margin:clamp(35px, 5vw, 75px) 0 clamp(70px, 10vw, 150px);}
#experience.anchor{
  position:relative;
  top:-100px;
}
/* LEGO Education + 歯車
------------------------------------------ */
.experience__visual {
  width: min(100%, 760px);
  margin: 0 auto 60px;
}
.experience__visual img {
  display: block;
  width: 100%;
  height: auto;
}
/* 動画
------------------------------------------ */
.experience__movie {
  width: min(100%, 760px);
  margin-inline: auto;
  border: 12px solid #aaa;
  background: #fff;
	border-radius: var(--card-border-radius);
}
.experience__movie img{
  display: block;
  width: 100%;
  border: 0;
}
/* 注釈
------------------------------------------ */
.experience__note {
  width: min(100%, 760px);
  margin: 40px auto 0;
  padding: 20px 30px;
  border: 2px solid #333;
  border-radius: 22px;

  color: #333;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
/* ==================================================
   卒業生インタビュー
================================================== */
.interview {
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(255, 255, 255, .22) 0,
      rgba(255, 255, 255, .22) 8px,
      transparent 8px,
      transparent 18px
    ),
    #e9f7fc;
}


/* カード
------------------------------------------ */
.interview__card {
  display: flex;
  align-items: center;
  gap: clamp(30px, 4vw, 60px);
  width: min(100%, 1100px);
  margin: clamp(50px, 6vw, 80px) auto 0;
  padding: clamp(35px, 4vw, 55px);
  background: #fff;
  border-radius: var(--card-border-radius);
}


/* 画像
------------------------------------------ */
.interview__image {
  flex: 0 0 clamp(150px, 14vw, 180px);
	text-align: center;
}

.interview__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: var(--card-border-radius);
}


/* テキスト
------------------------------------------ */
.interview__body {
  flex: 1;
  min-width: 0;
}

.interview__title {
  margin: 0 0 20px;
  color: #24a4d6;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 900;
  line-height: 1.4;
}

.interview__text {
  margin: 0;
  color: #333;
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 2;
}
/* ==================================================
   作るだけで終わらない
================================================== */
.cycle {
  background:
    #fff
    url("../img/2026autumn/cycle_bg.webp")
    center top / cover no-repeat;
}
.cycle .section-title {
  margin-bottom: 10px;
}

/* contents
------------------------------------------ */
.cycle__contents {
  position: relative;
  min-height: 900px;
  margin-top: 50px;
}
/* 学習サイクル
------------------------------------------ */
.cycle__diagram {
  position: absolute;
  z-index: 2;
  top: 40px;
  left: 50%;
  width: min(60vw, 800px);
  transform: translateX(-50%);
}

.cycle__diagram img {
  display: block;
  width: 100%;
  height: auto;
}
/* 四隅装飾
------------------------------------------ */
.cycle__photo {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.cycle__photo img {
  display: block;
  width: 100%;
  height: auto;
}
/* 左上 */
.cycle__photo--01 {
  top: clamp(70px, 15vw, 250px);
  left: 0;
  width: clamp(200px, 25vw, 450px);
}
/* 右上 */
.cycle__photo--02 {
  top: 0;
  right: 0;
  width: clamp(200px, 25vw, 450px);
}
/* 左下 */
.cycle__photo--03 {
  bottom:clamp(10px, 1vw, 20px);
  left: 0;
  width: clamp(200px, 25vw, 450px);
}
/* 右下 */
.cycle__photo--04 {
  right: 0;
  bottom: clamp(100px, 25vw, 450px);
  width: clamp(200px, 25vw, 450px);
}
/* ==================================================
   体験の流れ
================================================== */
.trial-flow {
  background:var(--color-blue);
  color:var(--color-white);
}
.trial-flow .section__inner {
  position: relative;
  z-index: 2;
}
.trial-flow .section__heading {
  margin-inline: auto;
	width: min(100%, 1000px);
}
.trial-flow .section__lead {
  position: relative;
  width: fit-content;
  margin: 0 auto clamp(40px, 4vw, 60px);
  color: #fff;
}
.trial-flow .section__lead::before,
.trial-flow .section__lead::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 5px;
  height: 70px;
  background: radial-gradient(circle, #fff 0 3px, transparent 4px) center / 5px 16px repeat-y;
}
.trial-flow .section__lead::before {
  left: -80px;
  transform: translateY(-50%) rotate(-30deg);
}
.trial-flow .section__lead::after {
  right: -80px;
  transform: translateY(-50%) rotate(30deg);
}
/* title　*/
.trial-flow .section-title {
  margin-bottom: clamp(30px, 4vw, 50px);
  padding: 18px 30px;
  background: #FFF;
  border-radius:var(--card-border-radius);
  color: var(--color-blue);
  font-size: clamp(26px, 3vw, 40px);
}

.trial-flow__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 3vw, 40px);
  margin: clamp(40px, 5.5vw, 60px) auto 0;
}
.trial-flow__step {
  min-width: 0;
  text-align: center;
	width: min(100%, 1000px);
}
.trial-flow__image {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin-bottom: 20px;
  border-radius: 20px;
}
.trial-flow__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.trial-flow__number {
  position: relative;
  display: inline-block;
  margin: 0 0 20px;
  padding-bottom: 10px;
  color: #fff;
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 900;
  line-height: 1;
}
.trial-flow__number::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 80px;
  height: 3px;
  background: #fff;
  transform: translateX(-50%);
}
.trial-flow__text {
  margin: 0;
  color: #fff;
  font-size: clamp(16px, 1.7vw, 21px);
  font-weight: 700;
  line-height: 1.7;
}

/* 背景装飾
   ========================================================================== */
.trial-flow__deco {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.trial-flow__deco img {
  display: block;
  width: 100%;
  height: auto;
}
.trial-flow__deco--lt {
  top: 0;
  left: 0;
  width: clamp(180px, 20vw, 330px);
}
.trial-flow__deco--rt {
  top: 0;
  right: 0;
  width: clamp(200px, 24vw, 390px);
}
.trial-flow__deco--lb {
  bottom: 0;
  left: 0;
  width: clamp(200px, 25vw, 400px);
}
.trial-flow__deco--rb {
  right: 0;
  bottom: 0;
  width: clamp(180px, 22vw, 350px);
}
.trial-flow a.section__cta-tel-number:link,
.trial-flow a.section__cta-tel-number:visited,
.trial-flow a.section__cta-tel-number:active,
.trial-flow a.section__cta-tel-number:focus,
.trial-flow a.section__cta-tel-number:hover{color:var(--color-white);}
/* ==================================================
   これから求められるチカラ
================================================== */
.skills {
  background:url("../img/2026autumn/skills_bg.webp"), #d9edf8;
	background-repeat: no-repeat;
	background-size:320px auto;
	background-position: right top;
}
/* inner
------------------------------------------ */
.skills .section__inner {
  position: relative;
  z-index: 2;
  width: min(100% - 40px, 1000px);
}

/* heading
------------------------------------------ */
.skills .section__heading {
  width: min(100%,1000px);
  margin-inline: auto;
}
.skills .section-title {
  margin-bottom: clamp(30px, 4vw, 50px);
  padding: 18px 30px;
  background: var(--color-blue);
  border-radius: 15px;
  color: #fff;
  font-size: clamp(26px, 3vw, 40px);
}

.skills .section__lead {
  color: #333;
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.6;
  text-align: center;
}

/* メイン図
------------------------------------------ */
.skills__figure {
  width: min(100%, 1000px);
  margin: clamp(45px, 6vw, 75px) auto 0;
}

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

/* 下部
------------------------------------------ */
.skills__bottom {
  margin-top: clamp(70px, 9vw, 110px);
}
/* カード
------------------------------------------ */
.skills__formula {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: clamp(50px, 6vw, 70px) auto 0;
}

.skills__card {
  display: flex;
  align-items: center;
  gap: 20px;
  width: min(100%, 350px);
  min-height: 155px;
  padding: 25px;
  border-radius: 15px;
  color: #222;
}

.skills__card--yellow {
  background: #fff500;
}

.skills__card--green {
  background: #43ed25;
}

.skills__card-icon {
  flex-shrink: 0;
  width: 60px;
}

.skills__card-icon img {
  display: block;
  width: 100%;
  height: auto;
}

.skills__card-body {
  flex: 1;
}

.skills__card-title {
  margin: 0;
  font-size: clamp(17px, 1.7vw, 21px);
  font-weight: 900;
  line-height: 1.45;
}
.skills__card-text {
  margin: 4px 0 0;
  font-size: clamp(14px, 1.3vw, 17px);
  font-weight: 700;
  line-height: 1.5;
}
.skills__plus {
  flex-shrink: 0;
  color: #333;
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
}
/* ==================================================
   子どもたちが夢中になる4つの魅力
================================================== */
.appeal {
  background: #fff;
}
.appeal .section__inner {
  z-index: 2;
	position: relative;
}
.appeal .section-title .accent {
  margin-left: .15em;
}

/* カード
------------------------------------------ */
.appeal__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(15px, 2vw, 25px);
  margin-top: clamp(45px, 6vw, 70px);
}

.appeal__card {
  padding: clamp(25px, 3vw, 35px) clamp(15px, 2vw, 25px);
  border: 1px solid var(--color-blue);
  border-radius: var(--card-border-radius);
	background: #f8fcfd;
}
.appeal__img {
  width: auto;
height: 110px;
  margin: 0 auto 15px;
}

.appeal__img img {
  display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.appeal__title {
  margin: 0 0 20px;
  color: var(--color-blue);
  font-size: clamp(17px, 1.6vw, 21px);
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
}

.appeal__text {
  margin: 0;
  color: var(--color-text);
	text-align: justify;
}

/* ==================================================
   学びの深さ
================================================== */
.depth {
  background: var(--color-py);
	overflow: visible;
}

.depth .section__inner {
  position: relative;
  z-index: 2;
  width: min(100% - 40px, 900px);
}

.depth .section-title {
  color: var(--color-text);
}

.depth .section-title .accent {
  color: #ff8a00;
}

/* リスト
------------------------------------------ */
.depth__list {
  display: flex;
  flex-direction: column;
  gap: clamp(60px, 8vw, 100px);
  margin-top: clamp(60px, 8vw, 90px);
}

.depth__item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(40px, 6vw, 80px);
}

.depth__item--reverse .depth__body {
  order: 2;
}

.depth__item--reverse .depth__image {
  order: 1;
}

/* 見出し
------------------------------------------ */
.depth__heading {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 25px;
}

.depth__number {
  flex-shrink: 0;
  padding-right: 18px;
  border-right: 2px solid #333;
  color: var(--color-text);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 900;
  line-height: 1;
}

.depth__title {
  margin: 0;
  color: var(--color-text);
  font-size: clamp(19px, 2vw, 25px);
  font-weight: 900;
  line-height: 1.45;
}

.depth__title sup {
  font-size: .5em;
  vertical-align: super;
}

/* テキスト
------------------------------------------ */
.depth__text {
  margin: 0;
  color: var(--color-text);
  font-weight: 600;
  line-height: 1.8;
font-size: clamp(13px, 1.2vw, 15px);
}

/* 画像
------------------------------------------ */
.depth__image {
  overflow: hidden;
  border-radius: var(--card-border-radius);
}

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

/* 背景装飾
------------------------------------------ */
.depth__deco {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.depth__deco img {
  display: block;
  width: 100%;
  height: auto;
}
.depth__deco--lt {
  top: clamp(-200px, -15vw, -100px);;
  left: 0;
  width: clamp(100px, 13vw, 260px);
}
.depth__deco--rt {
  top: clamp(-200px, -15vw, -100px);;
  right: 0;
  width: clamp(100px, 13vw, 260px);
}
.depth__deco--lb {
  bottom: clamp(-200px, -15vw, -100px);;
  left: 0;
  width: clamp(120px, 15vw, 280px);
}
.depth__deco--rb {
  right: 0;
  bottom: clamp(-200px, -15vw, -100px);;
  width: clamp(120px, 15vw, 280px);
}

/* ==================================================
   ご入会までの流れ
================================================== */
.admission {
  background-color:#fff;
  background-image:linear-gradient(#e9e9e9 1px,transparent 1px),linear-gradient(90deg,#e9e9e9 1px,transparent 1px);
  background-size:19px 19px;
}
.admission .section__inner {
  width:min(100% - 40px,900px);
}
.admission .section-title {
  margin-bottom:clamp(35px,5vw,60px);
}

/* ブロック
------------------------------------------ */
.admission__block {
  width:min(100%,800px);
  margin:0 auto clamp(65px,8vw,100px);
}
.admission__block:last-child {margin-bottom:0;}

/* ステップ
------------------------------------------ */
.admission__steps {
  display:flex;
  justify-content:center;
  gap:clamp(25px,5vw,60px);
  margin-bottom:30px;
}
.admission__steps a,.admission__steps a:hover,.admission__steps a:active,.admission__steps a:visited{
	text-decoration: none;
	color: #FFF;
}
.admission__step {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:clamp(85px,11vw,110px);
  aspect-ratio:1;
  border:3px solid #fff;
  border-radius:50%;
  outline:2px solid var(--color-pink);
  background:var(--color-pink);
  color:#fff;
  font-size:clamp(14px,1.7vw,19px);
  font-weight:900;
  line-height:1.3;
  text-align:center;
	transition:opacity .25s ease,
}
.admission__step::after {
  content:"";
  position:absolute;
  bottom:17px;
  left:50%;
  width:9px;
  height:9px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:translateX(-50%) rotate(45deg);
}
.admission__step:hover{
    outline: 2px solid var(--color-pink);
	opacity: .7;
}	
	
/* パネル
------------------------------------------ */
.admission__card {
  padding:clamp(25px,4vw,45px);
  border:2px solid #333;
  border-radius:var(--card-border-radius);
  background:#fff;
  box-shadow:2px 4px 0 #333;
}
.admission__catch {
  margin:0 0 30px;
  color:#333;
  font-size:clamp(18px,2vw,23px);
  font-weight:900;
  line-height:1.6;
  text-align:center;
}
.admission__catch span {color:#00ad20;}

/* 無料体験会
------------------------------------------ */
.admission__trial {
  display:grid;
  grid-template-columns:130px 1fr 130px;
  align-items:center;
  gap:25px;
  margin-bottom:30px;
}
.admission__trial-image {
  overflow:hidden;
  aspect-ratio:1;
  border-radius:50%;
  background:#aaa;
}
.admission__trial-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.admission__trial-body {
  color:#333;
  font-size:clamp(13px,1.4vw,16px);
  font-weight:700;
  line-height:1.6;
}
.admission__trial-body p {margin:0;}

/* CTA
------------------------------------------ */
.admission__cta {
  display:flex;
  justify-content:center;
}
.admission .entry-btn {
  width:min(100%,570px);
}
.admission .entry-btn__text {
  font-size:clamp(18px,2.4vw,26px);
}

/* ==================================================
   年齢に応じた2つのコース
================================================== */
/* 見出し
------------------------------------------ */
.course__heading {
  position: relative;
  overflow: hidden;
  padding:0;
  background-color:#fff;
  background-image:linear-gradient(#e9e9e9 1px,transparent 1px),linear-gradient(90deg,#e9e9e9 1px,transparent 1px);
  background-size:19px 19px;
}
#contents_crefus, #contents_kicks{
	max-width: 100%;
}

#contents_crefus,#contents_kicks{padding:0; margin:0 auto;}
	    .tab .kicks {
        background-color: var(--color-kicks);
        /* cursor: pointer; */
        width: 49%;
        height: 8vw;
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
        margin-left: 0;
        margin-right: auto;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: end;
			gap:20px;
			font-weight: 900;
    }
    .tab .crefus {
        background-color:var(--color-crefus);
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
        margin-left: auto;
        margin-right: 0;
        cursor: pointer;
        width: 49%;
        height: 8vw;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: end;
		gap:20px;
		font-weight: 900;
    }
.tab{
	max-width: 1200px;
	margin: 0 auto;
}
.tab .kicks,.tab .crefus{
	padding: 8px;
	height: auto !important;
	cursor: pointer;
}
.tab .crefus img,.tab .kicks img{	
    max-height: 60px;
    min-height: 40px;
}
.tab a{transition:opacity .25s ease;}
.tab a:hover{opacity: .7;}
.tab a:hover img{opacity:1;}
.tab a,.tab a:hover,.tab a:active,.tab a:visited{
	text-decoration: none;
	color: #FFF;
}
.kicks-tabbox,.crefus-tabbox{
	border:none !important;
}
.kicks-tabbox .tab-bgstripe{
	background:repeating-linear-gradient(-45deg,#e60012 0px,#e60012 10px,#e32830 10px,#e32830 20px);
	padding:10px 0 clamp(50px, 8vw, 100px);
	width: 100%;
	min-height: 500px;
}
.crefus-tabbox .tab-bgstripe{
	background:repeating-linear-gradient(-45deg,#97c040 0px,#97c040 10px,#a7cf50 10px,#a7cf50 20px);
	padding:10px 0 clamp(50px, 8vw, 100px);
	width: 100%;
	min-height: 500px;
}
.tab-inner{
	background:#FFF;
	border-radius: 0 0 15px 15px;
	padding:clamp(25px, 4vw, 50px);
  max-width: 1200px;
  width: 94%;
  margin: 0 auto;
	overflow: hidden;
	font-weight: 700;
	font-size: clamp(13px, 1.2vw, 15px);
	line-height: 1.8;
}
.kicks-tabbox .tab__label{
	display: inline-block;
    padding: 6px 18px;
    border-radius: 30px;
    background: var(--color-kicks);
    color: #fff;
    font-size: 15px;
    font-weight: 900;
}
.kicks-tabbox .course-list{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap:clamp(30px,5vw,60px);
	padding: clamp(25px, 4vw, 50px) 0;
}
.crefus-tabbox .course-list{
	padding: clamp(25px, 4vw, 50px) 0;
	max-width: 800px;
	margin: auto;
}
.course-list h3{
	font-size: clamp(19px, 2vw, 25px);
    font-weight: 900;
    line-height: 1.45;}
.kicks-tabbox .tab-bgstripe h3{color:var(--color-kicks);}
.crefus-tabbox .tab-bgstripe h3{color:var(--color-crefus);}
.course-list li{
	position: relative;
	text-align: center;
}
.kicks-tabbox .course-list li:first-child::before{
	border-right: 1px solid;
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	right: -30px;
}
.kicks-tabbox .course-list li:first-child::before{border-color:var(--color-kicks);}
.crefus-tabbox .course-list li:first-child::before{border-color:var(--color-crefus);}
.course-list img{width: 100%; max-width: 500px;}
.table-scroll{
  overflow-x: auto;
}
.course-table{
  min-width: 700px;
}
.course-table{
  width: 100%;
  border-collapse: collapse;
  background: #fff;
	position: relative;
	z-index: 1;
}
.course-table th,
.course-table td{
  padding: 20px;
  border: 1px solid #333333;
  text-align: center;
  vertical-align: middle;
	font-size: clamp(13px,1.2vw,15px);
}
.course-table th{
  background: #cccccc;
  color: var(--color-text);
  font-weight: 700;
}
.course-table td{
  background: #ffffff;
  color: var(--color-text);
  font-weight: 500;
}
.course-table dl{
	text-align: left;
}
.course-table dl dt{font-size: 120%;}
.course-table dl dd{
	position: relative;
	padding-left: 1.5rem;
}
.course-table dl dd::before{
	content: '…';
	position: absolute;
	left: 0;
}
.course-after,.course-about{margin:clamp(60px, 7vw, 90px) 0 clamp(35px, 5vw, 75px) 0;}
.course-about .section-title span.section-title-inner{
	position: relative;
	padding-left: clamp(40px, 6vw, 77px);
    text-align: center;
}
.course-about .section-title .section-title-inner::before{
	content: '';
	width: clamp(40px, 6vw, 77px);
    background: url(../img/2026summer/icon_serch.png) no-repeat;
    height: 100%;
    position: absolute;
    background-size: contain;
    left: -.5rem;
}
/* ==================================================
   プレスクール
================================================== */
.preschool{	
  background-color:#fff;
  background-image:linear-gradient(#e9e9e9 1px,transparent 1px),linear-gradient(90deg,#e9e9e9 1px,transparent 1px);
  background-size:19px 19px;
}
.preschool .section__inner{	
    width: min(100% - 40px, 1200px);
}

/* コース
------------------------------------------ */
.preschool__courses {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  width:90%;
  margin:0 auto -2px;
}
button.preschool__course {border:none;}
.preschool__course {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
  min-height:75px;
  padding:10px;
  border-radius:8px 8px 0 0;
  color:#fff;
  text-align:center;
    align-items: end;
    line-height: 1.5;
	background:#aaa;
}
.preschool__course img{
	height: 48px;
	width: auto;
	object-fit: contain;
}
.preschool__course span{
	font-weight: 900;
}
.preschool__course--kicks.is-active {background:var(--color-kicks);}
.preschool__course--crefus.is-active {background:var(--color-crefus);}
.preschool__course-name {
  display:block;
  width:100%;
  font-size:12px;
  font-weight:700;
}
.preschool__course strong {
  font-size:clamp(22px,3vw,34px);
  font-weight:900;
  line-height:1;
}
.preschool__course strong small {font-size:.5em;}
.preschool__course-age {
  font-size:12px;
  font-weight:700;
}
/* ロゴ切り替え
------------------------------------------ */
.preschool__course .preschool__logo--on {display:none;}
.preschool__course .preschool__logo--off {display:block;}
.preschool__course.is-active .preschool__logo--on {display:block;}
.preschool__course.is-active .preschool__logo--off {display:none;}

/* プレスクール
------------------------------------------ */
.preschool__panel {
  position:relative;
  padding:clamp(20px,3vw,35px);  
  border-radius:var(--card-border-radius);
  background:#fff;
	padding: clamp(25px, 4vw, 50px);
}
.preschool__panel--kicks{border:2px solid var(--color-kicks);}
.preschool__panel--crefus{border:2px solid var(--color-crefus);}
.preschool__benefit {
  margin:0 0 25px;
  color:#333;
  font-size:clamp(15px,1.8vw,20px);
  font-weight:900;
  text-align:center;
}
.preschool__benefit strong {
	font-size:1.2em;
	color:var(--color-red);
}
.preschool__label {
  display:inline-block;
  padding:6px 18px;
  border-radius:30px; 
  color:#fff;
  font-size:15px;
  font-weight:900;
}
.preschool__panel--kicks .preschool__label { background:var(--color-kicks);}
.preschool__panel--crefus .preschool__label {background:var(--color-crefus);}
.preschool__curriculum {
  margin:8px 0 25px;
  color:#333;
  font-size:16px;
  font-weight:700;
}

/* コースタイプ
------------------------------------------ */
.preschool__types {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:35px 0;
}
.preschool__type {
  padding:0 20px;
  text-align:center;
}
.preschool__type + .preschool__type {
  border-left:2px solid var(--color-kicks);
}
.preschool__type h4 {
  margin:0;
  color:var(--color-kicks);
  font-size:clamp(20px,2.3vw,26px);
  font-weight:900;
}
.preschool__type p {
  margin:3px 0 15px;
  color:#333;
  font-size:clamp(12px,1.4vw,15px);
  font-weight:700;
}
.preschool__type-images {
  display:flex;
	justify-content: center;
  gap:10px;
	max-width: 460px;
	margin: 0 auto;
}
.preschool__type-images img {
  display:block;
  width:48%;
  aspect-ratio:1;
  border-radius:50%;
  background:#aaa;
  object-fit:cover;
}


/* ==================================================
   本コースのご紹介
================================================== */
.course-intro {
	background: url(../img/2026autumn/course-intro_bg.webp), #fce7e9;
    background-repeat: no-repeat;
    background-size: 320px auto;
    background-position: left top;
}
.course-intro .section__inner {
  width:min(100% - 40px,1000px);
}
.course-intro .section-title {
  margin-bottom:clamp(50px,6vw,80px);
}

/* グループ
------------------------------------------ */
.course-intro__group {
  --course-color:var(--color-kicks);
  /*width:min(100%,800px);*/
  margin:0 auto;
}
.course-intro__group--crefus {
  --course-color:var(--color-crefus);
}
.course-intro__group-title {
  width:fit-content;
  min-width:min(100%,420px);
  margin:0 auto clamp(35px,5vw,50px);
  padding:12px 35px;
  border-radius:100px;
  background:var(--course-color);
  color:#fff;
  font-size:clamp(18px,2.2vw,25px);
  font-weight:900;
  line-height:1.4;
  text-align:center;
}

/* アコーディオン
------------------------------------------ */
.course-intro__list {
  display:flex;
  flex-direction:column;
  gap:clamp(25px,4vw,40px);
}
.course-intro__item {
  overflow:hidden;
  border:2px solid #333;
  border-radius:var(--card-border-radius);
  background:#fffbe2;
  box-shadow:1px 3px 0 #333;
}
.course-intro__summary {
  display:flex;
  align-items:center;
  gap:clamp(20px,3vw,40px);
  min-height:125px;
  padding:20px 25px;
  cursor:pointer;
  list-style:none;
}
.course-intro__summary::-webkit-details-marker {display:none;}
.course-intro__summary::marker {content:"";}
.course-intro__summary:hover {background:rgba(255,255,255,.35);}
.course-intro__summary:focus-visible {
  outline:3px solid var(--course-color);
  outline-offset:-5px;
}

/* 画像
------------------------------------------ */
.course-intro__image {
  flex-shrink:0;
  display:block;
  width:135px;
  aspect-ratio:1.35;
  overflow:hidden;
  background:#fff;
}
.course-intro__image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* コース名
------------------------------------------ */
.course-intro__info {
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  min-width:0;
}
.course-intro__name {
  display:flex;
  align-items: flex-end;
  flex-wrap:wrap;
  gap:10px;
  color:#333;
  font-size:clamp(18px,2.2vw,24px);
  font-weight:900;
  line-height:1.4;
}
.course-intro__brand {
  color:var(--course-color);
  font-size:clamp(26px,3vw,36px);
  font-weight:900;
  line-height:1;
width:clamp(100px, 13vw, 120px);
	padding-bottom:3px;
}
.course-intro__group--crefus .course-intro__brand{width:clamp(120px, 15vw, 150px);}
.course-intro__group--crefus .course-intro__brand {
  font-style:italic;
}
.course-intro__age {
  display:block;
  width:min(100%,280px);
  padding:7px 12px;
  background:var(--course-color);
  color:#fff;
  font-size:clamp(13px,1.5vw,16px);
  font-weight:900;
  line-height:1.4;
  text-align:center;
}

/* 開閉アイコン
------------------------------------------ */
.course-intro__toggle {
  position:relative;
  flex-shrink:0;
  width:26px;
  height:26px;
  margin-left:auto;
}
.course-intro__toggle::before,
.course-intro__toggle::after {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  background:#333;
  border-radius:2px;
  transform:translate(-50%,-50%);
  transition:transform .25s ease;
}
.course-intro__toggle::before {
  width:22px;
  height:5px;
}
.course-intro__toggle::after {
  width:5px;
  height:22px;
}
.course-intro__item[open] .course-intro__toggle::after {
  transform:translate(-50%,-50%) rotate(90deg);
}

/* 開閉コンテンツ
------------------------------------------ */
.course-intro__content {
  padding:25px 35px 30px;
  border-top:1px solid #ddd5ba;
  color:#333;
  font-size:clamp(14px,1.5vw,17px);
  font-weight:600;
  line-height:1.8;
}
.course-intro__content p {margin:0;}

/* ==================================================
   コース紹介 詳細コンテンツ
================================================== */
.course-detail {
  color:#333;
}
.course-detail__lead {
  margin:0 0 clamp(30px,4vw,45px);
  font-size:clamp(14px,1.5vw,17px);
  line-height:1.9;
}

/* 見出し
------------------------------------------ */
.course-detail__bar {
  margin:35px 0 ;
  padding:12px 18px;
  border-radius:10px;  
  color:#fff;
  font-size:clamp(16px,2vw,22px);
  font-weight:900;
  line-height:1.5;
}
.course-intro__group--kicks .course-detail__bar{background:var(--color-kicks);}
.course-intro__group--crefus .course-detail__bar{background:var(--color-crefus);}
.course-detail__heading {
  margin:0 0 40px;
  color:#111;
  font-size:clamp(18px,2vw,23px);
  font-weight:900;
  text-align:center;
}

/* 学習ポイント
------------------------------------------ */
.course-detail__features {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.course-detail__feature {
  padding:clamp(20px,2.5vw,30px);
  border-radius:var(--card-border-radius);
  background:#FFF;
}
.course-detail__feature h5 {
  margin:0 0 5px;
  font-size:clamp(18px,2vw,22px);
  font-weight:900;
  text-align:center;
}
.course-intro__group--kicks .course-detail__feature h5{color:var(--color-kicks);}
.course-intro__group--crefus .course-detail__feature h5{color:var(--color-crefus);}
.course-detail__feature-sub {
  margin:0 0 25px;
  color:#111;
  font-size:clamp(13px,1.4vw,15px);
  font-weight:700;
  text-align:center;
}
.course-detail__feature p:not(.course-detail__feature-sub) {
  margin:0;
  font-size:clamp(13px,1.4vw,15px);
  font-weight:600;
  line-height:2;
}
.course-detail__note {
  margin:8px 0 25px;
  font-size:12px;
  text-align:right;
}

/* 授業紹介
------------------------------------------ */
.course-detail__lessons {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:55px 0 45px;
}
.course-detail__lesson {
  position:relative;
  padding-top:20px;
  text-align:center;
}
.course-detail__lesson h4 {
  position:absolute;
  z-index:1;
  top:0;
  left:10%;
  width:80%;
  margin:0;
  padding:6px 10px;
  border:3px solid #000;
  border-radius:30px;
  color:#fff;
  font-size:clamp(14px,1.6vw,19px);
  font-weight:900;
  line-height:1.3;
}
.course-intro__group--kicks .course-detail__lesson h4{background:var(--color-kicks);}
.course-intro__group--crefus .course-detail__lesson h4{background:var(--color-crefus);}
.course-detail__lesson img {
  display:block;
  width:100%;
  aspect-ratio:1.5;
  border:3px solid #333;
  border-radius:var(--card-border-radius);
  object-fit:cover;
}
.course-detail__lesson p {
  margin:12px 0 0;
  color:#111;
  font-size:clamp(15px,1.8vw,20px);
  font-weight:900;
  line-height:1.4;
}

/* 授業情報
------------------------------------------ */
.course-detail__bottom {
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:25px;
  align-items:end;
}
.course-detail__spec p {
  margin:0 0 4px;
  font-size:clamp(13px,1.3vw,16px);
  line-height:1.7;
}
.course-detail__spec small {
  display:block;
  margin-top:15px;
  font-size:11px;
}
.course-detail__kit img {
  display:block;
  width:100%;
  height:auto;
}

/* ==================================================
   インタビュー・教育実績
================================================== */
.achievements{
  background:#25a4d3 url("../img/2026autumn/achievements_bg.webp") center center / cover no-repeat;
}
.achievements .section__inner {
  position:relative;
  z-index:2;
  width:min(100% - 40px,1000px);
}
.achievements .section-title {
  margin-bottom:clamp(65px,8vw,100px);
  color:#fff;
  font-size:clamp(26px,3.2vw,44px);
}
.achievements .section-title .accent {
  color:#fff500;
}

/* カード一覧
------------------------------------------ */
.achievements__list {
  display:flex;
  flex-direction:column;
  gap:clamp(40px,5vw,60px);
  width:min(100%,850px);
  margin-inline:auto;
}
.achievements__card {
  padding:clamp(25px,3.5vw,40px);
  border-radius:var(--card-border-radius);
  background:#fff;
}
.achievements__title {
  margin:0 0 20px;
  color:var(--color-blue);
  font-size:clamp(20px,2.2vw,26px);
  font-weight:900;
  line-height:1.5;
}
.achievements__text {
  margin:0;
  color:#333;
  font-size:clamp(13px,1.2vw,15px);
  font-weight:600;
  line-height:1.9;
}

/* 高専合格者インタビュー
------------------------------------------ */
.achievements__card--graduate {
  display:grid;
  grid-template-columns:160px 1fr;
  align-items:center;
  gap:30px;
}
.achievements__image {
  text-align: center;
}
.achievements__image img {
  aspect-ratio:1;
  border-radius:var(--card-border-radius);
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* 20年以上の実績
------------------------------------------ */
.achievements__card--results .achievements__title {
  margin-bottom:25px;
}
.achievements__results {
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  align-items:start;
  gap:30px;
}
.achievements__note {
  margin:25px 0 0;
  color:#333;
  font-size:clamp(10px,1vw,12px);
  font-weight:500;
  line-height:1.7;
}
.achievements__results-image {
  overflow:hidden;
  border-radius:var(--card-border-radius);
}
.achievements__results-image img {
  display:block;
  width:100%;
  height:auto;
}

/* ==================================================
   保護者様の声
================================================== */
.parent-voice{
  padding:clamp(50px, 8vw, 100px) 0;
background:var(--color-py);
}
.parent-voice__list{
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(25px, 4vw, 50px);
    list-style: none;
}
@media screen and (max-width:1024px) {
.parent-voice__list{
	grid-template-columns: 1fr;
}
}
.parent-voice__item{
	background: var(--color-white);
	border-radius: 20px;
    border: 3px solid var(--color-blue);
	padding: 20px 30px;
}
.parent-voice__item .parent-voice__item-head{
    display: grid;
    grid-template-columns: clamp(100px, 8vw, 150px) auto;
    gap: 10px;
    align-items: center;
}
.parent-voice__item img{width: 100%;}
.parent-voice__item p{font-size: clamp(13px,1.2vw,15px);}
.parent-voice__item .parent-voice__name{
	font-weight: 700;
}
.parent-voice__item .voice__label-kicks,
.parent-voice__item .voice__label-crefus{
	border-radius: 5px;
	padding: 1px 8px;
	display: inline-block;
	margin:0 0 5px;
}
.parent-voice__item .voice__label-kicks{
	color: #e60012;
	background: #facccf;
}
.parent-voice__item .voice__label-crefus{
	color: #618e03;
	background: #dfe8cc;
}
.parent-voice__item h3{
	margin: 1em 0;
	color: var(--color-blue);
}

/* ==================================================
   よくある質問
================================================== */
.faq {
  background:#fff;
}
.faq .section__inner{
	width: min(100% - 40px,1000px);
}
.faq__list {
  display:grid;
  gap:clamp(35px,5vw,60px);
}

/* 質問カード
------------------------------------------ */
.faq__item {
  padding:clamp(25px,4vw,45px);
  border-radius:25px;
  background:#d9eef9;
  color:#333;
  font-weight:700;
  line-height:2;
}
/* Q・A共通
------------------------------------------ */
.faq__question,
.faq__answer {
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:15px;
  align-items:start;
}
.faq__icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:4px;
  font-size:20px;
  font-weight:900;
  line-height:1;
}
.faq__icon--q {
  background:#24a4d6;
  color:#fff;
}
.faq__icon--a {
  background:#fff;
  color:#24a4d6;
}

/* 質問
------------------------------------------ */
.faq__question {
  padding-bottom:25px;
  border-bottom:2px solid #fff;
	background: none !important;
	color:var(--color-text) !important;
}
.faq__question h3 {
  margin:0;
  font-size:clamp(15px,1.6vw,18px);
  font-weight:900;
  line-height:1.8;
}
.faq__question sup {
  font-size:.55em;
}

/* 回答
------------------------------------------ */
.faq__answer {
  padding-top:25px;
}
.faq__answer-body {
  font-size:clamp(13px,1.4vw,16px);
  line-height:2;
}
.faq__answer-body p {
  margin:0;
}
.faq__answer-body sup {
  font-size:.6em;
}
.faq__notes {
  margin-top:25px;
  font-size:clamp(11px,1.1vw,13px);
}
.faq__answer-group {
  margin-top:30px;
}
.faq__answer-group h4 {
  margin:0 0 .5em;
  font-size:inherit;
  font-weight:900;
}
/* アコーディオン
------------------------------------------ */
/* 質問
------------------------------------------ */
.faq__question {
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 30px;
  gap:15px;
  align-items:start;
  padding-bottom:0;
  border-bottom:none;
  cursor:pointer;
  list-style:none;
}
.faq__question::-webkit-details-marker {display:none;}
.faq__question::marker {content:"";}
.faq__question:hover {opacity:.8;}
.faq__item[open] .faq__question {
  padding-bottom:25px;
  border-bottom:2px solid #fff;
}

/* ＋／－アイコン
------------------------------------------ */
.faq__toggle {
  position:relative;
  display:block;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#24a4d6;
  flex-shrink:0;
}
.faq__toggle::before,
.faq__toggle::after {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  background:#fff;
  transform:translate(-50%,-50%);
  transition:transform .25s ease,opacity .25s ease;
}
.faq__toggle::before {width:14px;height:2px;}
.faq__toggle::after {width:2px;height:14px;}
.faq__item[open] .faq__toggle::after {
  transform:translate(-50%,-50%) rotate(90deg);
  opacity:0;
}

/* 回答
------------------------------------------ */
.faq__answer {
  padding-top:25px;
}

/* ==================================================
   最終CTA
================================================== */
.final-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(80px,8vw,130px) 20px;
}
.final-cta .section__inner {
  position:relative;
  z-index:2;
  width:min(100%,1200px);
}

/* 背景写真
------------------------------------------ */
.final-cta__bg {
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
}
.final-cta__bg-item {
  background-position:center;
  background-size:cover;
}
.final-cta__bg-item--left {
  background-image:linear-gradient(rgba(255,255,255,.45),rgba(255,255,255,.45)),url("../img/2026autumn/cta_bg01.webp");
}
.final-cta__bg-item--right {
  background-image:linear-gradient(rgba(255,255,255,.45),rgba(255,255,255,.45)),url("../img/2026autumn/cta_bg02.webp");
}

/* CTAボックス
------------------------------------------ */
.final-cta__box {
  position:relative;
  width:min(100%,990px);
  min-height:460px;
  margin:auto;
  padding:clamp(40px,5vw,60px) 30px;
  border-radius:var(--card-border-radius);
  background:#fff;
  text-align:center;
}
.final-cta__heading {
  position:relative;
  z-index:2;
}
.final-cta__title {
  margin:0 0 25px;
  color:#333;
  font-size:clamp(26px,3.5vw,48px);
  font-weight:900;
  line-height:1.4;
}
.final-cta__title-pink {color:var(--color-pink);}
.final-cta__title-blue {color:var(--color-blue);}

/* 装飾画像
------------------------------------------ */
.final-cta__deco {
  position:absolute;
  z-index:1;
  height:auto;
  pointer-events:none;
}
.final-cta__deco--pc {
  width:clamp(130px,20vw,240px);
  left:2%;
  top:33%;
}
.final-cta__deco--robot {
  width:clamp(130px,20vw,220px);
  right:2%;
  top:18%;
}

/* キャンペーン
------------------------------------------ */
.final-cta__campaign {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  max-width:100%;
  min-height:80px;
  margin:0 auto 35px;
  padding:0 25px 0 0;
  border-radius:8px;
  background:#ffe366;
}
.final-cta__campaign-badge {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:95px;
  height:95px;
  margin:-8px 15px -8px 0;
  border-radius:50%;
  background:#e60012;
  color:#fff;
  font-size:clamp(20px,2.2vw,28px);
  font-weight:900;
  white-space:nowrap;
}
.final-cta__campaign-badge::after {
  content:"";
  position:absolute;
  right:-12px;
  top:50%;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  border-left:15px solid #e60012;
  transform:translateY(-50%);
}
.final-cta__campaign-text {
  color:#333;
  font-size:clamp(18px,2.2vw,30px);
  font-weight:900;
  white-space:nowrap;
}
.final-cta__campaign-text strong {
  color:#e60012;
  font-size:1.3em;
  font-weight:900;
}
.final-cta .section__cta{margin-top: clamp(30px, 3.5vw, 45px);}
/* 申込みボタン
------------------------------------------ */
.final-cta__button {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  width:min(100%,660px);
  min-height:85px;
  margin:auto;
  padding:15px 55px;
  border-radius:50px;
  background:#ff9800;
  box-shadow:0 8px 0 #cf7c00;
  color:#fff;
  text-decoration:none;
  transition:transform .25s ease,box-shadow .25s ease;
}
.final-cta__button:hover {
  transform:translateY(4px);
  box-shadow:0 4px 0 #cf7c00;
}
.final-cta__button-text {
  font-size:clamp(18px,2.5vw,30px);
  font-weight:900;
  white-space:nowrap;
}
.final-cta__button-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  flex-shrink:0;
}
.final-cta__button-icon svg {
  width:100%;
  height:100%;
}
.final-cta__button-arrow {
  position:absolute;
  right:25px;
  width:13px;
  height:13px;
  border-top:4px solid #fff;
  border-right:4px solid #fff;
  transform:rotate(45deg);
}
/* ==================================================
   教室一覧
================================================== */
 .pc_hidden {
      display: none;
   }
 .sp_hidden {
      display: inline;
   }
.maintel,.maintelsp{display: none;}	
#classroom .inner {
    position: relative;
    width: min(100% - 40px, 1100px);
}
  #classroom .inner .tit {
    text-align: center;
    font-weight: bold;
    font-size: 13pt;
    padding-bottom: 30px;
  }
  #classroom .inner .tit img {
    padding-bottom: 20px;
    margin: 0 auto;
  }
  #classroom .inner .tits {
    text-align: left;
    font-weight: bold;
    font-size: 16pt;
    /*   background: url(../img/index05_tits_bg.png) repeat-x center;*/
    margin-bottom: 25px;
    border-bottom-width: 3px;
    border-bottom-style: solid;
  }
  #classroom .inner .tits span {
    /*background: #fff;
    padding-left: 10px;
    padding-right: 10px*/ ;
    color: #333;
  }
#classroom .inner .tits {
        text-align: left;
        font-weight: bold;
        font-size: 16pt;
        /* background: url(../img/index05_tits_bg.png) repeat-x center; */
        margin-bottom: 25px;
        border-bottom-width: 3px;
        border-bottom-style: solid;
    }
.multiple {
    padding: 0;
  }
  .multiple img {
    width: 100%;
  }
  .multiple div {
    margin: 0 5px;
  }
  .multiple .slick-next {
    right: 17px;
    z-index: 100;
  }
  .multiple .slick-prev {
    left: 23px;
    z-index: 100;
  }
  .p_list li {
    width: 33%;
    float: left;
  }
  .p_list li img {
    width: 100%;
  }
  .bg-oita {
    background-color: #e60012;
  }
  .bg-fukuoka {
    background-color: #ff8400;
  }
  .bg-hiroshima {
    background-color: #07be50;
  }
  .bg-okinawa {
    background-color: #078dbe;
  }
  .bg-kagoshima {
    background-color: #a660ba;
  }
  .tabbox {
    border-style: dotted;
    border-width: 1px;
    padding: 30px 30px 0px 30px;
    margin-bottom: 20px;
  }
  .tabbox .box {
    overflow: hidden;
    width: 100%;
    padding-bottom: 20px;
  }
  .tabbox .box .mtxt {
    float: left;
    width: 540px;
    text-align: left;
  }
  .tabbox .box .mtxt span {
    font-size: 180%;
    font-weight: bold;
    padding-top: 1px;
    text-align: left;
    display: block;
  }
  .tabbox .box .mtxt p {
    display: block;
  }
  .tabbox .box .mtxt iframe {
    width: 100%;
    height: 220px;
  }
  .tabbox .box .pic {
    float: right;
  }
  .tabbox .box .pic img {
    display: block;
    max-width: 390px;
    height: auto;
  }
  .tabbox table {
    border-collapse: separate;
    border-spacing: 1px;
    background: #e0e0e0;
    border-style: none;
    width: 100%;
    margin-bottom: 10px;
  }
  .tabbox th {
    color: #fff;
    padding: 2px 15px;
    line-height: 120%;
    text-align: center;
  }
  .tabbox td {
    padding: 2px 15px;
    text-align: center;
    background: #fff;
  }
  .yoyaku {
    text-align: left;
    font-size: 90%;
    padding-bottom: 20px;
  }
  .schooltab {
    display: flex;
    /* table-layout: fixed;*/
    width: 100%;
    margin-bottom: 60px;
    border-collapse: separate;
    border-spacing: 5px 0;
  }
  .schooltab li {
    width: 19%;
    /* display: table-cell;*/
    color: #fff;
    font-weight: bold;
    font-size: 12pt;
    padding-top: 10px;
    padding-right: 0px;
    margin-right: 5px;
    padding-left: 0px;
    padding-bottom: 15px;
    border-radius: 15px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
  }
  .schooltab li a {
    color: #fff;
    text-decoration: none;
    display: block;
	  text-align: center;
  }
  .oita .tabbox {
    border-color: #e60012;
    background: #fff;
  }
  .fukuoka .tabbox {
    border-color: #ff8400;
    background: #fff;
  }
  .hiroshima .tabbox {
    border-color: #07be50;
    background: #fff;
  }
  .okinawa .tabbox {
    border-color: #078dbe;
    background: #fff;
  }
  .kagoshima .tabbox {
    border-color: #a660ba;
    background: #fff;
  }
  .oita .tabbox .box .mtxt span {
    color: #e60012;
  }
  .fukuoka .tabbox .box .mtxt span {
    color: #ff8400;
  }
  .hiroshima .tabbox .box .mtxt span {
    color: #07be50;
  }
  .okinawa .tabbox .box .mtxt span {
    color: #078dbe;
  }
  .kagoshima .tabbox .box .mtxt span {
    color: #a660ba;
  }
  .kobetsu_kibou {
    color: #358DBD;
    border: 1px solid #358DBD;
    font-weight: bold;
  }
  .oita table th.bg {
    background-color: #4A70B1;
    color: #fff;
  }
  .fukuoka table th.bg {
    background-color: #4A70B1;
    color: #fff;
  }
  .hiroshima table th.bg {
    background-color: #4A70B1;
    color: #fff;
  }
  .okinawa table th.bg {
    background-color: #4A70B1;
    color: #fff;
  }
  .kagoshima table th.bg {
    background-color: #4A70B1;
    color: #fff;
  }
  .oita table th {
    background-color: #efefef;
    color: #000;
  }
  .fukuoka table th {
    background-color: #efefef;
    color: #000;
  }
  .hiroshima table th {
    background-color: #efefef;
    color: #000;
  }
  .okinawa table th {
    background-color: #efefef;
    color: #000;
  }
  .kagoshima table th {
    background-color: #efefef;
    color: #000;
  }
  /* 夏期プレ空き状況表 */
  .pretable {
    text-align: center;
  }
  .pretable th {
    text-align: center;
    border-bottom: #ccc 1px double;
  }
  .pretable .border2 {
    border-bottom: #ccc 1px double;
  }
  .pretable th.back1 {
    color: #fff;
    background: #BC2121;
    padding: 5px 0;
  }
  .pretable th.back2 {
    color: #fff;
    background: #34A419;
    padding: 5px 0;
  }
  .pretable th.back3 {
    color: #fff;
    background: #3559A2;
    padding: 5px 0;
  }
  .pretable td.back1 {
    background: #FFE8E8;
  }
  .pretable td.back2 {
    background: #EEFFE8;
  }
  .pretable td.back3 {
    background: #E1E7FF;
  }
  /*本コース空き状況表 */
  .midashi01 {
    color: #010079;
    text-shadow: 0 0 5px white;
    padding: 1em 2em;
    background: -webkit-repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px, #e9f4ff 3px, #e9f4ff 7px);
    background: repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px, #e9f4ff 3px, #e9f4ff 7px);
    text-align: center;
    font-size: 30px;
    margin-bottom: 20px;
  }
  .spbr {
    padding-left: 1em;
  }
  .section .table_timetable {
    border-collapse: separate;
    border-spacing: 1px;
    background: #e0e0e0;
    border-style: none;
    width: 100%;
    margin-bottom: 10px;
    color: #000;
  }
  .section .table_timetable th {
    color: #fff;
    line-height: 120%;
    text-align: center;
    font-weight: bold;
    background: #1ea939;
    padding: 10px 0;
  }
  @media screen and (max-width: 788px) {
    .section .table_timetable th.jikan {
      min-width: 72px;
    }
  }
  .section .table_timetable td.bgyellow {
    padding: 2px 15px;
    text-align: center;
    background-color: #fef222;
    color: #000000;
  }
  .tc-oita {
    color: #e60012;
  }
  .tc-fukuoka {
    color: #ff8400;
  }
  .tc-hiroshima {
    color: #07be50;
  }
  .tc-okinawa {
    color: #078dbe;
  }
  .tc-kagoshima {
    color: #a660ba;
  }
  .oita li {
    background: #e60012;
  }
  .fukuoka li {
    background: #ff8400;
  }
  .hiroshima li {
    background: #07be50;
  }
  .okinawa li {
    background: #078dbe;
  }
  .kagoshima li {
    background: #a660ba;
  }
/* ==================================================
   フッター
================================================== */
.footer {
  background:#24a4d6;
}

/* フッターナビゲーション
------------------------------------------ */
.footer__nav {
  padding:35px 20px;
  background:#fff;
}
.footer__nav-list {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 0;
  margin:0;
  padding:0;
  list-style:none;
}
.footer__nav-list li {
  display:flex;
  align-items:center;
}
.footer__nav-list li + li::before {
  content:"";
  display:block;
  width:1px;
  height:20px;
  margin:0 22px;
  background:#333;
}
.footer__nav-list a {
  color:#333;
  font-size:clamp(13px,1.2vw,18px);
  font-weight:700;
  line-height:1.5;
  text-decoration:none;
  transition:opacity .25s ease;
}
.footer__nav-list a:hover {opacity:.65;}

/* ロゴ・コピーライト
------------------------------------------ */
.footer__main {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:205px;
  padding:40px 20px;
  text-align:center;
}
.footer__logo img {
  display:block;
  width:clamp(260px,35vw,500px);
  max-width:100%;
  height:auto;
}
.footer__copyright {
  margin:10px 0 0;
  color:#fff;
  font-size:clamp(12px,1.1vw,16px);
  font-weight:500;
  letter-spacing:.04em;
}

.pageTop {
    position: fixed;
    bottom: 0;
    right: 20px;
    width: max(4%,80px);
    z-index: 100;
}
.pageTop img {
    width: 100%;
    height: auto;
}