.section{
padding: 2.5rem 0;
}

.d-block{
display: block;
}
.mx-auto{
margin: 0 auto;
}

:root{
--space-0:0px;
--space-sm:8px;
--space-md:16px;
--space-lg:32px;
--space-xl:48px;
--space-2xl:64px;
--space-3xl:80px;
--space-4xl:96px;
}
body{font-family:'Noto Sans JP',sans-serif;line-height:1.6;color:#333;}
.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 var(--space-0);}
.mt-sm{margin-top:var(--space-sm);}
.mt-md{margin-top:var(--space-md);}
.mt-lg{margin-top:var(--space-lg);}
.mb-sm{margin-bottom:var(--space-sm);}
.mb-md{margin-bottom:var(--space-md);}
.mb-lg{margin-bottom:var(--space-lg);}
.mb-xl{margin-bottom:var(--space-xl);}
.mb-2xl{margin-bottom:var(--space-2xl);}
.site-header,.site-footer{padding:var(--space-xl) var(--space-2xl);}

:root {
--color-bg: #ffffff;
--color-text: #1a1a1a;         /* 洗練された黒 */
--color-muted: #888888;        /* グレイ系補助色 */
--color-accent-red: #d92323;   /* イチゴの赤（甘酸っぱい感じ） */
--color-accent-green: #03a63c; /* ヘタのような深めの緑 */
--color-h1: #035aa6;
--color-h2: #0367a6;
--color-navy: #002b5b;
--color-orange: #e5984c;
--color-yellow: #ffe066;
--color-pink: #e9a4a4;
--color-pink: #e9a4ba;
--color-cloud: #f0efeb;
--color-baltic-sea: #79b6d8;
--color-blue-fusion: #4a6275;
--color-ice-melt: #d4e3f1;
}
:root {
--biz: "BIZ UDPGothic", sans-serif;
--border-radius: 20px;
}

*, *::before, *::after {
  box-sizing: border-box;
}
html {
font-size: 16px;
}

/* 基本のマージン・パディング調整 */
body, h1, h2, h3, h4, h5, h6, p, figure {
margin: 0;
padding: 0;
}

/* リストのデフォルトスタイルを削除 */
ul, ol {
list-style: none;
padding: 0;
margin: 0;
}

/* 画像の余白を消して、レスポンシブ対応 */
img {
max-width: 100%;
height: auto;
display: block;
}

/* ボタンの標準スタイルを調整 */
button {
background: none;
border: none;
cursor: pointer;
}

/* フォーム要素のリセット */
input, textarea, select {
font: inherit;
border: none;
outline: none;
}

/* aタグのデフォルト装飾を削除 */
a {
text-decoration: none;
color: inherit;
}
@media (hover: hover) and (pointer: fine) {
a:hover,
a img:hover {
transition: .3s;
}
}

@media (min-width:601px) {
a[href^="tel:"] {
pointer-events: none;
color: inherit;
}
}


body {
position: relative;
font-family: "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", "sans-serif";
overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
background: #f4fbfc;
overflow-x: hidden;
font-size: clamp(15px, 1.2vw, 18px);
}
body {font-size: clamp(1rem, 4vw, 1rem); /* 画面のサイズに応じて動き、最小1rem、最大2rem */}
h1 {font-size: clamp(1.5rem, 6vw, 2.5rem);}
h2 {font-size: clamp(1.25rem, 5vw, 1.75rem);}
h3 {font-size: clamp(1.375rem, 6vw, 1.5rem);}
h4 {font-size: clamp(1.25rem, 5vw, 1.5rem);}
h5 {font-size: clamp(1.125rem, 6vw, 1.25rem);}
h6 {font-size: clamp(1.125rem, 5vw, 1.25rem);}
p {font-size: clamp(0.937rem, 3vw, 1rem);}

h1,h2,h3,h4,h5 {
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}


/********************************
	TEXT
********************************/

.about main h1,
.cource main h1,
.results-voice main h1,
.philosophy main h1,
.admission main h1,
.contact main h1,
.privacy-policy h1 {
position: relative;
margin: 0 auto 4rem;
display: block;
text-align: center;
}
.about main h1::after,
.cource main h1::after,
.results-voice main h1::after,
.philosophy main h1::after,
.admission main h1::after,
.contact main h1::after,
.privacy-policy h1::after {
content: "";
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: -12px;
width: 8px;
height: 8px;
background: var(--color-h1);
border-radius: 50%; /* ← これで丸 */
box-shadow:
  -16px 0 0 #2d6aa8,  /* 左の丸 */
   16px 0 0 #2d6aa8;  /* 右の丸 */
}


.h2-title{
position: relative;
margin: 0 0 1rem;
padding: 1rem;
color: var(--color-h2);
display: block;
}
.h2-title::before{
content: "";
position: absolute;
bottom: 0;
transform: translateY(0);
width: 75vw;
height: 2px;
background: #2d6aa8;
left: -50vw;
z-index: 1;
}
.h2-title span{
position: relative;
top: -.25rem;
margin: 0 0 0 1rem;
padding: .375rem 1.25rem;
font-size: 1.125rem;
font-weight: 600;
color: #fff;
background-color: var(--color-h2);
border-radius: 100px;
}

.h3-title {
position: relative;
margin: 0 0 2rem;
text-align: center;
--baloon-color:#333;
border-bottom: 1px solid var(--baloon-color);
padding:.3em 0;
color:#333;
}
.h3-title::before,
.h3-title::after{
position: absolute;
content: '';
left: 0;
right: 0;
margin: 0 auto;
width: 0;
height: 0;
border-width: 14px 12px 0;
border-style: solid;
}
.h3-title::before {
bottom: -14px;   
border-color:var(--baloon-color) transparent transparent;
}
.h3-title::after {
bottom: -13px;
border-color: #f4fbfc transparent transparent;
}

.h4-title{
display: inline-block;
margin: 0 0 1.5rem;
--border-color:#333; /*カッコの色 */
position: relative;
color: var(--color-h2);
padding: 1rem;
}
.h4-title::after,.h4-title::before {
content: "";
height: 100%;
width: 0.75em;
position: absolute;
bottom: 0;
border-top: 1px solid var(--border-color);
border-bottom: 1px solid var(--border-color);
}
.h4-title::before {
border-left: 1px solid var(--border-color);
left: 0;
}
.h4-title::after {
border-right: 1px solid var(--border-color);
right: 0;
}

.h5-title {
margin: 0 0 1rem;
border-left: 1px solid #000;
}
.about main p,
.cource main p,
.results-voice main p,
.philosophy main p,
.admission main p {

}

@media (max-width: 834px) {
body {font-size: clamp(1rem, 5vw, 1rem); /* タブレット用 */}
}
@media (max-width: 600px) {
body {font-size: clamp(1rem, 6vw, 1.2rem); /* スマホ用 */}
}

a{color: var(--color-accent-red);}
a:hover{color: var(--color-accent-green);}

header.gm-navbar{
position: fixed;
top: 0;
width: 100%;
font-weight: 600;
}

.site{
padding-top: 100px;
}

.site-footer{
grid-column:1 / 3;
grid-row:3 / 4;
}
.text-center{text-align: center;}
.text-md-center{text-align: center;}
.text-end{text-align: right;}
.text-start{text-align: left !important;}

.container{
width: 1200px;
max-width: 100%;
margin: 0 auto;
padding-left: 30px;
padding-right: 30px;
box-sizing: border-box;
}
.vw-100{
width: calc(100vw - 1vw);
}

.grid{
display:grid;
width: 100%;
box-sizing: border-box;
--gap-size: 30px; /* デフォルトのgap */
gap: var(--gap-size);
}
.gap-5 { --gap-size: 5px; }
.gap-10 { --gap-size: 10px; }
.gap-15 { --gap-size: 15px; }
.gap-20 { --gap-size: 20px; }
.gap-30 { --gap-size: 30px; }
.gap-60 { --gap-size: 60px; }
.gap-80 { --gap-size: 80px; }
.gap-90 { --gap-size: 90px; }

.grid-2{grid-template-columns: calc(50% - var(--gap-size) / 2) calc(50% - var(--gap-size) / 2);}
.grid-3{grid-template-columns: repeat(3, calc((100% - 2 * var(--gap-size)) / 3));}
.grid-4{grid-template-columns: repeat(4, calc((100% - 3 * var(--gap-size)) / 4));}
.grid-5{grid-template-columns: repeat(5, calc((100% - 4 * var(--gap-size)) / 5));}
.grid-1-2 {grid-template-columns: calc((100% - var(--gap-size)) * (1 / 3)) calc((100% - var(--gap-size)) * (2 / 3));}
.grid-2-1 {grid-template-columns: calc((100% - var(--gap-size)) * (2 / 3)) calc((100% - var(--gap-size)) * (1 / 3));}

.grid-1-3 {grid-template-columns: 1fr 3fr;gap: var(--gap-size);}


.w-900{
max-width: 900px;
margin: 0 auto;
}
.w-800{
max-width: 800px;
margin: 0 auto;
}
.pc{display: block;}
.tablet{display: none;}
.sp{display: none;}

@media (max-width:1199px) {
.container{
width: 100%;
padding: 0 60px;
}
}
@media (max-width:834px) {
.container{
width: 100%;
padding: 0 30px;
}
.text-md-center{
text-align: left;
}
.pc{display: none;}
.tablet{display: block;}
.sp{display: none;}
}
@media (max-width:600px) {
.container{
width: 100%;
max-width: 100%;
}
.pc{display: none;}
.tablet{display: none;}
.sp{display: block;}
.grid-2{
grid-template-columns: 1fr;
}
.grid-3{
grid-template-columns: 1fr;
}
.grid-4{
grid-template-columns: 1fr;
}
.grid-1-2{
grid-template-columns: 1fr;
}
.grid-1-3{
grid-template-columns: 1fr;
}
.grid-2-1{
grid-template-columns: 1fr;
}
.grid-5{
grid-template-columns: 1fr;
}
}

.section{
padding: 4rem 0;
}

.center-center {
display: grid;
place-content: center;
gap: 1ch;
}


/********************************

	UTILITY

********************************/
.more{
position: relative;
text-align: center;
padding: 60px 0;
}
summary.more{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.more a,
summary.more {
position: relative;
display: inline-block;
padding: 1rem 2rem;
color: var(--color-accent-red);
background-color: rgb(255 255 255 /1);
border: 1px solid var(--color-accent-red);
}
.more a:hover,
summary.more:hover{
display: inline-block;
color: var(--color-accent-green);
background-color: #fff;
border: 1px solid var(--color-accent-green);;
}
.more a:hover::before,
summary.more:hover::before{
content: "";
position: absolute;
z-index: 2;
top: 50%;
display: block;
width: 20px;
height: 1px;
background-color: var(--color-accent-green);
animation: more 0.6s ease-in 0.1s both;
}
@keyframes more{
  0%{ right: 10px; opacity: 0; }
 50%{ right: 0; opacity: 1; }
100%{ right: -10px; opacity: 1; }
}
.br-pc{
display: inline-block;
}
.br-sp{
display: none;
}
@media (max-width:600px) {
.br-pc{
display: none;
}
.br-sp{
display: block;
}
}

.btn{
display: block;
padding: .5rem 2rem;
background-color: #fff;
border: 1px solid #000;
width: fit-content;
}
.btn-basic{
display: block;
margin: 1rem 0 0;
padding: .375rem 1rem;
background-color: #fff;
width: fit-content;
border-radius: 100px;
font-family: var(--biz);
letter-spacing: .05em;
color: var(--color-text);
border: 3px solid var(--color-accent-green);
}

/** CARD **/
section .card{
position: relative;
margin: 0 0 2.5rem;
padding: 0 2rem 2rem;
background-color: #fff;
border: 2px solid var(--color-h1);
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
section .card h3 {
position: relative;
margin: 0 0 1.5rem;
padding-top: 4rem;
font-size: 1.25rem;
}
section .card h3 span{
display: block;
position: absolute;
left: 0;
right: 0;
top: -40px;
margin: 0 auto;
}
section .card h3 span img{
display: block;
left: 0;
right: 0;
margin: 0 auto;
background-color: #fff;
border: 2px solid var(--color-h1);
border-radius: 50%;
}
section .card h4 {
position: relative;
margin: 0 0 .5rem;
padding: 0;
font-size: 1.125rem;
color: var(--color-h1);
}
section .card ul {
position: relative;
margin: 0 0 1rem;
padding: 0;
}
section .card ul li{
position: relative;
padding: .25rem 0;
font-size: 1rem;
font-weight: 600;
}
section .card ul li::before{
content: "▶";
position: relative;
top: -2px;
display: inline-block;
margin: 0 .5em 0 0;
font-size: .5rem;
color: var(--color-h1);
}
section .card ul li:not(:last-child) {
border-bottom: 1px solid #ccc;
}


/********************************
  CTA
********************************/
.cta,
.consultation{
background-color: var(--color-bg);
}
a.cta{
display: block;
padding: 1rem 2rem;
background-color: var(--color-accent-green);
margin:0 auto 2.5rem;
width: fit-content;
box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
border-radius: 4px;
}
a.cta:hover{
background-color: var(--color-orange);
}

/********************************
  HEADER
********************************/

header{
display:grid;
grid-template-columns:300px 1fr;
}
header .site-id{
grid-column:1 / 2;
grid-row:1 / 2;
}
header .main-nav{
grid-column:2 / 3;
grid-row:1 / 2;
}

/********************************
    NAVIGATION
********************************/

/* === バーガー（スマホ・タブレット専用） === */
.burger {
position: absolute;
top: 12px;
right: 20px;
width: 30px;
height: 30px;
display: none; /* PCでは非表示 */
justify-content: space-between;
align-items: center;
padding: 8px;
border-radius: 50px;
background-color: transparent;
transition: background-color 0.3s ease, box-shadow 0.3s ease;
z-index: 9999;
box-sizing: content-box;
}
.burger .dot {
width: 5px;
height: 5px;
background: black;
border-radius: 50%;
transition: transform 0.3s ease, opacity 0.3s ease;
}

.burger.open {
background-color: rgba(0, 0, 0, 0.1);
background-color: var(--color-h2);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
backdrop-filter: blur(4px);
}
.burger.open .dot:nth-child(1) {
transform: translateX(12.5px);
}
.burger.open .dot:nth-child(3) {
transform: translateX(-12.5px);
}
.burger.open .dot:nth-child(2) {
opacity: 0;
}

.menu-overlay {
position: fixed;
top: 0;
right: 0;
width: 100%;
max-width: 600px;
height: 100vh;
background-color: rgb(255 255 255 / .85);
backdrop-filter: blur(10px);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
transform: translateX(100%);
z-index: 999;
}
.menu-overlay ul.menu-list {
list-style: none;
margin: 0;
padding: 0;
}
.menu-overlay ul.menu-list li{
display: block;
padding: .25rem 0;
}

.menu-overlay a {
color: var(--color-h2);
text-decoration: none;
font-family: 'Roboto Condensed', sans-serif;
font-weight: 700;
font-size: 1.5rem;
margin: 20px 0;
padding: .5rem 0;
opacity: 0; /* GSAP 初期値と合わせる */
}

.main-nav .nav-list li.current-menu-item a{
color: var(--color-h1);
}

@media(min-width:901px){
.menu-item a {
position: relative;
display: inline-block;
padding: .4em;
text-decoration: none;
}
.menu-item a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 1px;
-webkit-transform: scaleX(0);
-ms-transform: scaleX(0);
transform: scaleX(0);
background-color: var(--color-accent-red);
-webkit-transition: all .3s ease;
transition: all .3s ease;
}
.menu-item a:hover::after {
-webkit-transform: scaleX(1);
-ms-transform: scaleX(1);
transform: scaleX(1);
}
}

/********************************
    HEADER
********************************/

.site-id {
margin: 0;
padding: 0;
display: grid;
place-content: center;
gap: 1ch;
}

/* === PCナビ（横並び） === */
.main-nav .nav-list {
  display: flex;
  gap: 24px;
  padding: 0;
  margin: 0;
}

.main-nav .nav-list li {
  list-style: none;
}

.main-nav .nav-list li a {
  display: block;
  padding: 8px 0;
  color: inherit;
  text-decoration: none;
}

/********************************
    RESPONSIVE
********************************/

/* 900px以下：バーガー表示、PCナビは非表示 */
@media (max-width: 900px) {

  /* バーガーを表示 */
  .burger {
    display: flex;
  }

  /* PCナビを隠す */
  .main-nav .nav-list {
    display: none;
  }
}

/********************************

	HEADER

********************************/

/* === PCナビ（横並び） === */
.main-nav .nav-list {
display: flex;
justify-content: end;
gap: 24px;
padding: 0;
margin: 0;
font-family: "BIZ UDPGothic", sans-serif;
font-weight: 700;
}

.main-nav .nav-list li {
list-style: none;
}

.main-nav .nav-list li a {
display: block;
padding: 8px 0;
color: inherit;
text-decoration: none;
}

/********************************
    RESPONSIVE
********************************/

/* 900px以下：バーガー表示、PCナビは非表示 */
@media (max-width: 900px) {

/* バーガーを表示 */
.burger {
display: flex;
}

/* PCナビを隠す */
.main-nav .nav-list {
display: none;
}
}


/********************************

	FOOTER

********************************/
footer{
position: relative;
z-index: 2;
margin: 0;
padding: 4rem 0;
color: #fff;
background-color: var(--color-h2);
background-image: url(images/bg_footer.svg);
background-repeat: no-repeat;
background-position: 100px 60px;
}
footer::before{
content: "";
position: absolute;
left: 0;
top: 20px;
display: block;
width: 100%;
height: 30px;
background: linear-gradient(180deg,rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, 0) 100%);
}
.footer-nav{
margin: 0 0 2rem;
display: flex;
justify-content: end;
}
.footer-nav a{
display: block;
padding: .5rem;
color: #fff;
}
.footer-nav li:not(:last-child) {
margin-right: 1em;
}
footer p br{
display: none;
}
@media (max-width:600px) {
footer p br{
display: block;
}
}

footer h3 {
margin-bottom: 0.5rem;
font-size: 1.25rem;
font-weight: bold;
}
footer .address {
margin: 0 0 1rem;
font-size: .937rem;
letter-spacing: .025em;
}
footer .phone a{
display: block;
margin: 0;
font-family: 'Roboto Condensed', sans-serif;
font-size: 2.5rem;
color: #fff;
}
footer .call span{
display: block;
margin: 0 0 1rem;
font-size: .875rem;
letter-spacing: .1em;
color: rgb(0 0 0 /.75);
}
footer h4 {
margin-bottom: 0.25rem;
font-size: 1.125rem;
font-weight: 600;
}
.footer_access ul{
position: relative;
margin: 0 0 .25rem;
}
.footer_access ul li{
position: relative;
font-size: .937rem;
font-weight: 500;
letter-spacing: .01em;
}
.footer_access ul li:not(:last-child) {
margin-bottom: .25rem;
}
.footer_access .parking-note {
margin: 0 0 1rem;
font-size: .875rem;
}
.footer_access a{
display: inline-block;
margin: 0 0 4rem;
padding: .25rem .5rem;
font-size: .875rem;
color: var(--color-h1);
background-color: rgb(255 255 255 /.75);
box-shadow: 0 0 0 5px rgb(0 0 0 /.1);
border-radius: 100px;
}

footer p.copyright {
margin-top: 2rem;
font-size: .75rem;
text-align: center;
}
.copyright{
font-family: 'Roboto Condensed', sans-serif;
font-weight: 600;
font-size: .75rem;
letter-spacing: .15em;
text-align: center;
}


/********************************
    LAYOUT
********************************/
body::before{
content: "";
position: absolute;
z-index: 2;
left: 0;
top: 0;
display: block;
width: 20px;
height: 100%;
background-color: var(--color-h2);
}
body::after{
content: "";
position: fixed;
z-index: 2;
left: 0;
top: 50%;
width: 0;
height: 0;
border-style: solid;
border-top: 30px solid transparent;
border-bottom: 30px solid transparent;
border-left: 40px solid var(--color-h2);
border-right: 0;
}

/*HERO*/
.hero {
margin: 0 0 60px;
display: grid;
grid-template-columns: 1fr;
position: relative;
}
.hero-img {
grid-area: 1 / 1;
width: 100%;
max-width: 800px;
height: auto;
border-radius: var(--border-radius);
overflow: hidden;
}
.hero-text {
position: relative;
z-index: 99;
grid-area: 1 / 1;
align-self: center;
justify-self: end;
width: 500px;
padding: 40px 0;
}

/*CTA*/
.consultation{
padding: 6rem 0;
background-color: #fff;
}
.consultation h2{
display: block;
margin: 0 auto 2.5rem;
text-align: center;
}
.consultation h2 img{
display: block;
margin: 0 auto;
text-align: center;
}

.consultation p{

}
.consultation p.lead{
font-size: 1.25rem;
font-weight: 600;
}

.card_consultation{
position: relative;
padding: 1rem;
}
.consultation .card_consultation:nth-child(1),
.consultation .card_consultation:nth-child(2){
border-right: 3px solid var(--color-h2);
}
.card_consultation img{
display: block;
margin: 0 auto 1rem;
}
.card_consultation h3{
margin: 0 0 .5rem;
padding: 0;
font-size: 1.25rem;
font-weight: 600;
text-align: center;
}
.card_consultation p{
text-align: center;
}
.card_consultation .btn-basic{
text-align: center;
margin: 1rem auto 0;
}


/*FRONTPAGE*/

.section_interlude{
position: relative;
background-color: var(--color-yellow);
}
.section_interlude::before{
content: "";
position: absolute;
z-index: 0;
left: 0;
top: 0;
display: block;
width: 100%;
height: 100px;
background-color: #f4fbfc;
}
.section_interlude img{
position: relative;
z-index: 2;
}

.ul_strongpoint{
margin: 1rem 0 0;
}
.ul_strongpoint li{
position: relative;
padding: .375rem;
font-family: var(--biz);
font-size: 1.125rem;
font-weight: 600;
color: #000;
}
.ul_strongpoint li:not(:last-child) {
border-bottom: 1px dotted rgb(0 0 0 /.25);
}
.ul_strongpoint li::before{
content: "▶";
color: #fff;
display: inline-block;
margin: 0 .5em 0 0;
}
.ul_strongpoint3{
}
.ul_strongpoint3 li{
position: relative;
padding: .375rem 0;
font-family: var(--biz);
color: #000;
}
.ul_strongpoint3 li strong{
display: block;
margin: 0 0 .375rem;
padding: .25rem .75rem;
font-size: 1.25rem;
font-weight: 600;
background-color: rgb(255 255 255 /.75);
border-radius: 100px;
}
.ul_strongpoint3 li span{
display: block;
margin: 0 0 .375rem;
padding: .25rem .75rem;
font-size: 1rem;
font-weight: 600;
}


.section_yamahana-school{
background-color: var(--color-baltic-sea);
background-color: var(--color-cloud);
background-color: #fff;
}

.integrated-education article{
position: relative;
padding: 1rem;
border-width: 0px 1px 1px;
border-style: solid;
border-color: var(--color-navy);
}
.integrated-education article::before,
.integrated-education article::after{
content: "";
position: absolute;
display: block;
height: 1px;
background-color: var(--color-navy);
}
.integrated-education article::before{
left: 0;
top: 0;
width: 10px;
}
.integrated-education article::after{
right: 0;
top: 0;
width: 50%;
}

.section_yamahana-school h2{
color: var(--color-navy);
font-weight: 700;
}
.section_yamahana-school .integrated-education h3{
font-size: 1.375rem;
font-weight: 700;
color: #000;
}
.section_yamahana-school .integrated-education h3 span{
background:linear-gradient(transparent 60%, #6cf 60%);
}
.section_yamahana-school .lead{
font-size: 1.25rem;
color: var(--color-blue-fusion);
font-weight: 700;
}

.about_ishinkai{}
.about_ishinkai .grid{
padding: 60px;
background-color: #f8e1e1;
border: 1px solid var(--color-cloud);
border-radius: var(--border-radius);
}
.about_ishinkai ul{
margin: 0 0 2rem;
}
.about_ishinkai ul li{
margin: 0;
padding: .5em 1em;
font-family: "BIZ UDPGothic", sans-serif;
font-size: 1.25rem;
font-weight: 700;
letter-spacing: .025em;
font-style: normal;
color: #fff;
background-color: var(--color-navy);
border-radius: 100px;
}
.about_ishinkai ul li:not(:last-child) {
margin-bottom: 1rem;
}
.card_news{
position: relative;
margin: 0;
padding: 1rem 2rem 2rem;
height: 100%;
background-color: #fff;
border: 1px solid var(--color-h1);
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.card_news h3{
margin: 0 0 1rem;
padding: 0 0 .5rem;
}
.section_news .card_news:nth-child(2) h3,
.section_news .card_news:nth-child(3) h3{
border-bottom: 1px solid var(--color-h1);
}
a .card_news p{
color: var(--color-text);
}

.integrated-education{
position: relative;
padding-top: 100px;
}
.home .custom-shape-divider-top .shape-fill {fill: var(--color-yellow);}



/*医進会とは*/
.about_mv{
border-radius: var(--border-radius);
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.section_results .grid article{
position: relative;
padding: 1rem;
background-color: #fff;
border-width: 0px 1px 1px;
border-color: var(--color-navy);
border-style: solid;
}
.section_results .grid article:before,
.section_results .grid article:after{
content: "";
position: absolute;
top: 0;
display: block;
height: 1px;
background-color: var(--color-navy);
}
.section_results .grid article:before{
left: 0;
width: 10px;
}
.section_results .grid article:after{
right: 0;
width: 67.5%;
}
.section_results h4{
margin: -60px 0 1rem;
}

.about main h4.center-title{
width: fit-content;
margin: 0 auto 2rem;
text-align: center;
display: block;
}

.about .section p.lead{
font-family: var(--biz);
font-size: 1.25rem;
font-weight: 600;
}
.about .ul_feature{}
.about .ul_feature li{
position: relative;
padding: .375rem .75rem .375rem 45px;
font-family: var(--biz);
font-size: 1.25rem;
font-weight: 600;
color: #fff;
background-color: var(--color-h2);
border-radius: 100px;
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.about .ul_feature li:not(:last-child) {
margin-bottom: .75rem;
}
.about .ul_feature li::before{
content: "";
position: absolute;
left: 15px;
top: 12px;
display: block;
width: 20px;
height: 20px;
background-image: url(images/check_yellow.svg);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.about .background{
padding: 0 60px;
}
.about .background article{
padding: 1rem;
background-color: rgb(0 0 0 /.05);
border-radius: 10px;
}
.about .background h2{
font-size: 1.25rem;
color: #000;
}
.about .background p.lead{
margin: 0 0 1rem;
color: var(--color-navy);
}
.section_successcase{
background-color: var(--color-yellow);
}
.section_successcase h2{
margin-bottom: 2rem;
}
.section_successcase ul{
margin: 0 0 2rem;
text-align: center;
}
.section_successcase ul li{
position: relative;
display: block;
margin: 0 auto;
padding: .5rem;
font-family: var(--biz);
font-size: 1.25rem;
background-color: #fff;
border: 3px solid var(--color-h2);
border-radius: 4px;
width: fit-content;
}
.section_successcase ul li:not(:last-child)::after{
content: "▼";
z-index: 1;
position: absolute;
left: 0;
right: 0;
bottom: -32.5px;
margin: 0 auto;
color: var(--color-accent-green);
}
.section_successcase ul li:not(:last-child) {
margin-bottom: 1.75rem;
}
.section_successcase ul li span {
display: inline-block;
margin-right: .5em;
padding: .25rem .5rem;
color: #fff;
background-color: var(--color-h2);
border-radius: 4px;
}

.card_pillar{
position: relative;
padding: 60px 1rem 90px;
background-color: #fff;
border: 5px solid var(--color-accent-green);
border-radius: var(--border-radius);
}
.card_pillar h5 {
margin: 0 0 1.5rem;
}
.card_pillar h5 span{
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
transform: translateY(-90px);
background-color: var(--color-accent-green);
border: 3px solid var(--color-accent-green);
width:fit-content;
}
.pillar-img{
position: absolute;
left: 0;
right: 0;
bottom: 15px;
margin: 0 auto;
}
.h3-pillar{
margin-bottom: 4rem;
}
.merit{
padding: 2rem;
background-color: #fff;
border-radius: var(--border-radius);
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.merit ul{
}
.merit ul li{
padding: .375rem 1rem;
font-family: var(--biz);
font-size: 1.25rem;
font-weight: 600;
color: #fff;
background-color: var(--color-accent-green);
border-radius: 100px;
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.merit ul li:not(:last-child) {
margin-bottom: 1rem;
}
.card_method{
position: relative;
padding: 1rem;
border-width: 0 1px 1px;
border-style: solid;
border-color: var(--color-h2);
}
.card_method::before,
.card_method::after{
content: "";
position: absolute;
top: 0;
display: block;
height: 1px;
background-color: var(--color-h2);
}
.card_method::before{
left: 0;
width: 10px;
}
.card_method::after{
right: 0;
width: 60%;
}
.card_method h4{
margin: -60px 0 1rem;
font-size: 1.25rem;
}
.about main .section_method h3.h3-title{
margin-bottom: 4rem;
}
.highschool-prep{}
.about .section .highschool-prep p.lead{
margin: 0 0 1.25rem;
font-size: 1.125rem;
}
.highschool-prep h3{
margin: 0;
padding: .5rem;
font-size: 1.125rem;
color: #fff;
background-color: var(--color-blue-fusion);
}
.highschool-prep ul{
margin: 0 0 1.5rem;
padding: .5rem 0 .5rem 2rem;
list-style: disc;
background-color: rgb(255 255 255 /.75);
border: 1px solid var(--color-blue-fusion);
}
.highschool-prep ul li{
padding: .5em 0;
font-family: var(--biz);
}
.highschool-prep ul li::marker{
color: var(--color-orange);
}

.highschool-courses{}

.highschool-courses{}
.highschool-courses ul{}
.highschool-courses ul li{
padding: .375rem 0;
font-family: var(--biz);
font-size: 1rem;
font-weight: 500;
color: var(--color-navy);
}
.highschool-courses ul li:not(:last-child) {
border-bottom: 1px dotted var(--color-h2);
}
.highschool-courses ul li span{
margin: 0 0 0 1rem;
padding: .25rem 0;
font-size: .937rem;
color: var(--color-text);
}
.section_hs-cooperation{
background-color: var(--color-ice-melt);
}
.section_education-philosophy{
background-color: var(--color-ice-melt);
}

/*コース紹介*/

.ul_elementary-course img,
.ul_junior-high-course img{
margin-top: 1rem;
}

.elementary{
padding-top: 0;
}
.elementary .container{
padding: 2rem;
background-color: #fafafa;
border: 10px solid var(--color-accent-green);
}
.elementary .lead,
.junior-high .lead{
margin-bottom: 2.5rem;
padding: 1rem 0;
font-family: var(--biz);
font-size: 1.125rem;
font-weight: 600;
}
.elementary .lead2,
.junior-high .lead2{
position: relative;
padding-left: 1.25em;
font-family: var(--biz);
font-size: 1.125rem;
font-weight: 600;
}
.elementary .lead2::before,
.junior-high .lead2::before{
content: "●";
display: inline-block;
margin-right: .5em;
position: absolute;
left: 0;
color: var(--color-accent-green);
}

.elementary .ul_elementary-course li span:nth-child(1),
.junior-high .ul_junior-high-course li span:nth-child(1){
display: block;
padding: .75rem;
font-family: var(--biz);
font-size: 1.125rem;
font-weight: 600;
color: #fff;
background-color: var(--color-orange);
border: 2px solid var(--color-orange); 
outline: 1px solid #fff; 
outline-offset: -6px;
border-radius: 4px;
}
.elementary .ul_elementary-course li span:nth-child(2),
.junior-high .ul_junior-high-course li span:nth-child(2){
display: block;
margin: 1rem 0 .25rem;
font-size: .875rem;
color: var(--color-text);
}
.elementary .ul_elementary-course li ul,
.junior-high .ul_junior-high-course li ul{
padding: .5rem;
background-color: rgb(229 152 76 /.1);
border-radius: 4px;
}
.elementary .ul_elementary-course li ul li,
.junior-high .ul_junior-high-course li ul li{
padding: .1rem;
font-family: inherit;
font-size: .875rem;
font-weight: 500;
color: var(--color-text);
background-color: transparent;
}
.elementary .feature,
.junior-high .feature{
margin-bottom: 2rem;
}

.elementary .feature div,
.junior-high .feature div{
background-color: #fff;
box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}
.private,
.small-group{
padding: 1rem;
border-width: 1px;
border-style: solid;
border-radius: 10px;
box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.private{
border-color: #81d29d;
background-color: #e5f6eb;
}
.small-group{
border-color: #f4d35e;
background-color: #fefbef;
}
.private ul{
margin: 0 0 2rem;
}

.elementary .feature div h4,
.junior-high .feature div h4{
margin: 0 1rem 1rem;
width: calc(100% - 2rem);
}
.elementary .feature div p,
.junior-high .feature div p{
margin: 0 0 1rem;
padding: 0 4rem;
width: calc(100% - 2rem);
}


.junior-high{}

.junior-high .container{
padding: 2rem;
background-color: #fafafa;
border: 10px solid var(--color-blue-fusion);
}

.course-feature-title{
position: relative;
padding: 1rem .5rem;
font-size: clamp(1.125rem, 5vw, 1.5rem);
width: 100%;
text-align: center;
}
.course-feature-title span{
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
top: -1.125rem;
font-size: 1.125rem;
text-align: center;
color: #fff;
background-color: var(--color-h2);
}

.ul_ubjects{
margin: 0 0 2.5rem;
}
.ul_ubjects li{
position: relative;
padding: .5em;
font-weight: 600;
background-color: #fff;
border-width: 3px;
border-style: solid;
box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
border-radius: 4px;
}
.elementary .ul_ubjects li:nth-child(1){border-color: var(--color-h2);}
.elementary .ul_ubjects li:nth-child(2){border-color: var(--color-accent-red);}
.elementary .ul_ubjects li:nth-child(3){border-color: var(--color-accent-green);}
.elementary .ul_ubjects li:nth-child(4){border-color: var(--color-blue-fusion);}

.junior-high li:nth-child(1){border-color: var(--color-h2);}
.junior-high li:nth-child(2){border-color: var(--color-blue-fusion);}
.junior-high li:nth-child(3){border-color: var(--color-h2);}
.junior-high li:nth-child(4){border-color: var(--color-accent-green);}
.junior-high li:nth-child(5){border-color: #b1b1b1;}

.ul_ubjects li span{
display: block;
margin: 0 0 .5em;
font-family: var(--biz);
font-size: 1.25rem;
font-weight: 700;
letter-spacing: .1em;
color: #fff;
text-align: center;
}

.elementary .ul_ubjects li:nth-child(1) span{background-color: var(--color-h2);}
.elementary .ul_ubjects li:nth-child(2) span{background-color: var(--color-accent-red);}
.elementary .ul_ubjects li:nth-child(3) span{background-color: var(--color-accent-green);}
.elementary .ul_ubjects li:nth-child(4) span{background-color: var(--color-blue-fusion);}

.junior-high .ul_ubjects li:nth-child(1) span{background-color: var(--color-h2);}
.junior-high .ul_ubjects li:nth-child(2) span{background-color: var(--color-blue-fusion);}
.junior-high .ul_ubjects li:nth-child(3) span{background-color: var(--color-accent-red);}
.junior-high .ul_ubjects li:nth-child(4) span{background-color: var(--color-accent-green);}
.junior-high .ul_ubjects li:nth-child(5) span{background-color: #b1b1b1;}


.ul_ubjects li::before{
content: "";
position: absolute;
right: 10px;
top: -13px;
display: block;
width: 40px;
height: 27px;
background-image: url(images/book.svg);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}

.teacher-message{}
.teacher-message article{
position: relative;
margin: 0 0 1rem;
padding: 1rem;
background-color: #fff;
box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
border-radius: 10px;
}

.teacher-message article::before {
content: "";
position: absolute;
z-index: 3;
left: 15px;
top: -12px;
display: block;
width: 30px;
height: 23px;
background-image: url(images/comment_deco.svg);
background-repeat: no-repeat;
background-size: cover;
}

.message{
margin: 0 0 1.5rem;
font-size: .937rem;
text-align: justify;
}
.teacher-name{
}
.teacher-name > p:nth-child(1){
font-family: var(--biz);
font-size: .937rem;
font-weight: 600;
}
.teacher-name > p:nth-child(2){
font-size: 1rem;
font-weight: 500;
}
.teacher-name > p:nth-child(3){
font-size: .875rem;
}


/*医進会の合格実績・生徒の声*/
.section_results-list{
background-color: #fff;
}
.section_results-list h2{
border-bottom: 2px solid var(--color-h2);
}
.section_results-list h2::before{
content: none;
}

.section_results-list .results-list2{
position: relative;
}
.section_results-list .results-list2::after{
content: "";
position: absolute;
z-index: -1;
right: 0;
bottom: -15px;
display: block;
width: 90%;
height: 80%;
background-color: #fff;
border-radius: 0 4px 40px 0;
box-shadow: rgba(0, 0, 0, 0.01) 1.95px 1.95px 2.6px;
}

.ul_admission-results{
}
.ul_admission-results li{
position: relative;
padding: .25em 0 .25em 1.5em;
font-family: var(--biz);
font-size: 1.25rem;
font-weight: 600;
}
.ul_admission-results li::before{
content: "▶";
position: absolute;
left: 0;
display: inline-block;
margin-right: .5em;
color: var(--color-h2);
}
.ul_admission-results li:not(:last-child) {
border-bottom: 1px dotted #666;
}

.ul_admission-results2 li{
position: relative;
padding: .25em 0 .25em 1em;
font-family: var(--biz);
font-size: 1rem;
font-weight: 500;
}
.ul_admission-results2 li::before{
content: "・";
position: absolute;
left: 0;
display: inline-block;
margin-right: .5em;
color: var(--color-h2);
}

.results-voice main .section_reason-high-passrate .h2-title{
margin-bottom: 4rem;
}
.section.section_reason-high-passrate .card h3{
font-size: clamp(1rem, 6vw, 1rem);
}

.section_comment{
background-color: #fff;
}
.section_comment  h3{
margin: 0 0 1rem
}
.section_comment  h4{
margin: 0 0 1rem
}

.section_comment p.lead{
margin: 0 0 .5rem;
font-family: var(--biz);
font-size: 1rem;
font-weight: 500;
}
.section_comment article{
position: relative;
margin: 0 0 1.5rem;
padding: 1rem;
background-color: #fff;
border-radius: var(--border-radius);
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.section_comment article::before{
content: "";
position: absolute;
left: 15px;
top: -10px;
display: block;
width: 30px;
height: 23px;
background-image: url(images/comment_deco.svg);
background-repeat: no-repeat;
background-size: cover;
}

.section_comment article > p:first-child{
border-right: 2px solid var(--color-h2);
}
.postname{
font-family: var(--biz);
font-size: 1rem;
font-weight: 500;
display: grid;
place-content: center;
gap: 1ch;
}
.section_comment article > div p{
text-indent: 1em;
}
.section_comment article > div p:not(:last-child) {
margin-bottom: .5em;
}

.section_stats{}
.section_stats p.lead{
margin: 0 0 2.5rem;
font-family: var(--biz);
font-size: 1rem;
font-weight: 500;
}
.section_stats .item{
position: relative;
padding-left: 120px;
}
.section_stats .item::before{
content: "";
position: absolute;
left: 0;
top: 0;
display: block;
width: 80px;
height: 80px;
background-image: url(images/results.svg);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}

.section_stats .label{
display: block;
margin: 0 0 .5rem;
font-size: 1.375rem;
font-family: "BIZ UDPGothic", sans-serif;
font-weight: 700;
}
.section_stats .value{
display: block;
font-size: 2rem;
font-family: "BIZ UDPGothic", sans-serif;
font-weight: 700;
}
.section_stats .value span{
display: inline-block;
font-size: 3rem;
font-family: 'Roboto Condensed', sans-serif;
font-weight: 700;
line-height: 1;
color: var(--color-accent-green);
}

.tbl_fee{
margin: 0 0 1rem;
border-collapse: separate;
border-spacing: 1px;
}
.tbl_fee caption{
caption-side: top;
padding-bottom: .25rem;
font-size: .875rem;
text-align: right;
}
.tbl_fee th,
.tbl_fee td{
padding: .5em 2em;
border: 2px solid var(--color-h2);
}
.tbl_fee th{
color: #fff;
background-color: var(--color-h1);
}
.tbl_fee td{
background-color: #fff;
}
.tbl_fee td span{
font-family: 'Roboto Condensed', sans-serif;
font-size: 1.5rem;
line-height: 1;
color: var(--color-accent-red);
}
.tbl_fee1 td{
text-align: right;
}
.cource .lead.mb-sm,
.admission .lead.mb-sm{
font-size: 1.125rem;
font-weight: 600;
}
.grid-1-2-1{
grid-template-columns: 1fr 2fr 1fr;
}

.section_instructors{}
.section_instructors p.lead{
margin: 0 0 1rem;
font-family: var(--biz);
font-size: 1.5rem;
font-weight: 600;
}
.section_instructors p.lead2 {
margin: 0 0 2rem;
font-family: var(--biz);
font-size: 1.125rem;
font-weight: 600;
}
.selection-criteria{
margin: 0 0 4rem;
}
.selection-criteria p{
margin: 0 0 1rem;
}
.selection-criteria ul{}
.selection-criteria ul li{
position: relative;
margin: 0 0 .5rem;
padding:  .375rem .375rem .375rem 40px;
font-family: var(--biz);
font-size: 1.125rem;
background-color: #fff;
border-radius: 10px;
box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}
.selection-criteria ul li::before {
content: "";
position: absolute;
left: 10px;
top: 10px;
display: block;
width: 20px;
height: 20px;
background-image: url(images/check_orange.svg);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.selection-criteria ul li:not(:last-child){
border-bottom: 1px dotted rgb(0 0 0 /.0);
}

.section_instructors .instructor-strengths{
margin-bottom: 4rem;
}
.section_instructors .instructor-strengths li{
padding: 2rem;
color: #fff;
border: 10px solid #fff;
background-color: var(--color-h2);
border-radius: 10px;
box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}
.section_instructors .instructor-strengths li strong{
display: block;
margin: 0 0 .5rem;
padding: 0 0 .5rem;
font-size: 1.25rem;
border-bottom: 1px solid rgb(255 255 255 /.25);
}


.section_faq{
background-color: var(--color-ice-melt);
}

.tabs {
max-width: 100%;
margin: 2rem auto;
font-family: "Helvetica Neue", sans-serif;
}
.tab-list {
margin: 0 0 1.5rem;
display: flex;
border-bottom: 2px solid #eee;
position: relative;
}
.tab {
flex: 1;
padding: 1rem;
background: none;
border: none;
font-size: 1.25rem;
font-weight: 600;
letter-spacing: .05em;
cursor: pointer;
transition: color .3s ease;
position: relative;
text-align: center;
}
.tab-1.is-active {
color: #63719d;
}
.tab-2.is-active {
color: #d77d92;
}
.tab::after {
content: "";
position: absolute;
left: 0; bottom: -2px;
width: 100%; height: 2px;
transform: scaleX(0);
transform-origin: right;
transition: transform .3s ease;
}
.tab-1::after {
background: #63719d;
}
.tab-2::after {
background: #d77d92;
}

.tab.is-active::after {
transform: scaleX(1);
transform-origin: left;
}
.tab-panels {
}
.tab-panel-1{
background-color: #f8e1e1;
} 
.tab-panel-2{
background-color: #dae9f2;
} 
.tab-panel {
padding: 1rem 2rem;
border-radius: 10px;
opacity: 0;
transform: translateY(10px);
transition: opacity .4s ease, transform .4s ease;
}
.tab-panel.is-active {
opacity: 1;
transform: translateY(0);
}
.tab-panel {
opacity: 0;
transform: scale(0.95);
transition: opacity .4s ease, transform .4s ease;
position: absolute; /* 重ねて表示切替 */
inset: 0;
}
.tab-panels{
position:relative;
min-height:120px;
}
.tab-panel{
position:absolute;
inset:0;
opacity:0;
transform:scale(.95);
transition:opacity .8s ease,transform .8s ease;
}
.tab-panel.is-active{
position:relative;
z-index: 3;
opacity:1;
transform:scale(1);
}
.tab-panel.exit{
opacity:0;
transform:scale(.9);
}
[hidden]{
display:none;
}


.more-text {
max-height: 0;
opacity: 0;
overflow: hidden;
transition: all 0.5s ease;
}
.read-more-check {
display: none;
}
.read-more-label {
color: #007bff;
cursor: pointer;
text-decoration: underline;
font-weight: bold;
}
.read-more-label::before {
content: "続きを読む";
}
.read-more-check:checked ~ .content .more-text {
max-height: 500px;
opacity: 1;
margin-top: 10px;
}
.read-more-check:checked ~ .read-more-label::before {
content: "閉じる";
}


/*教育理念・方針*/
.philosophy .interlude p.lead{
font-family: var(--biz);
font-size: 1.125rem;
letter-spacing: .1em;
line-height: 1.75;
color: var(--color-navy);
}
.section_education-policy{
background-color: #fff;
}
.section_education-policy article p:nth-of-type(1){
margin-bottom: 2rem;
}
.section_education-policy h3{}
.section_education-policy h3 span{
display: block;
margin: 0 auto;
font-size: 1.125rem;
color: var(--color-h1);
}
.section_education-policy h4{
display: block;
margin: 0 0 1rem;
font-size: 1.125rem;
color: var(--color-h1);
}

.section_three-skills{
background-color: #fff;
}
.section_three-skills h3{
font-size: 1.125rem;
}
.section_three-skills h3 span{
display: block;
margin: 0 auto;
font-size: 1.125rem;
color: var(--color-h1);
}
.section_three-skills p.lead,
.section_nurturing-ability p.lead{
margin: 0 0 2rem;
font-family: var(--biz);
font-size: 1.125rem;
letter-spacing: .1em;
line-height: 1.75;
}
.section_education-policy article,
.section_three-skills article,
.section_nurturing-ability article{
padding: 1rem;
background-color: #fff;
border: 1px solid var(--color-ice-melt);
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.section_three-skills article p:nth-of-type(1){
margin-bottom: 2rem;
}
.section_three-skills h4{
display: block;
margin: 0 0 .5rem;
font-size: 1.125rem;
color: var(--color-h1);
}
.section_three-skills p.lead2{
display: block;
margin: 0 0 .5rem;
font-family: var(--biz);
font-size: 1rem;
font-weight: 600;
color: var(--color-navy);
}
.section_three-skills article ul{
padding: 0 .5rem;
background-color: var(--color-ice-melt);
}
.section_three-skills article ul li{
padding:  .25rem 0;
font-family: var(--biz);
font-size: 1rem;
font-weight: 600;
}
.section_three-skills article ul li:not(:last-child) {
border-bottom: 1px dotted var(--color-h2);
}
.section_benefits{
}
.section_nurturing-ability{

}
.section_nurturing-ability h3{
font-size: 1.125rem;
}
.section_nurturing-ability h3 span{
display: block;
margin: 0 auto;
font-size: 1.125rem;
color: var(--color-h1);
}
.section_nurturing-ability article p:nth-of-type(1){
margin-bottom: 2rem;
}
.section_nurturing-ability h4{
display: block;
margin: 0 0 1rem;
font-size: 1.125rem;
color: var(--color-h1);
}
.section_for-parents{
background-color: #fff;
}
.section_for-parents p.lead{
margin: 0 0 2rem;
font-family: var(--biz);
font-size: 1.125rem;
letter-spacing: .1em;
}
.parent-support{
padding: 1rem;
background-color: #fff;
border-radius: var(--border-radius);
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.parent-support ul{
}
.parent-support ul li{
position: relative;
padding: .25rem 0;
font-family: var(--biz);
font-size: 1.125rem;
letter-spacing: .1em;
color: var(--color-h2);
}
.parent-support ul li::before{
content: "▶";
position: relative;
top: -2px;
display: inline-block;
margin: 0 .5em 0 0;
font-size: 1rem;
color: var(--color-h1);
}

.section_key-differences{}
.section_key-differences .bad{
padding: 1rem;
color: #fff;
background-color: var(--color-muted);
border-radius: var(--border-radius);
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.section_key-differences .bad h3{
color: #fff;
}
.section_key-differences .bad h3.h3-title {
--baloon-color: #fff;
border-bottom: 1px solid var(--baloon-color);
padding: .3em 0;
}
.section_key-differences .bad h3.h3-title::after {
border-color: var(--color-muted) transparent transparent;
}

.section_key-differences .good{
padding: 1rem;
background-color: #fff;
background-color: var(--color-h2);
border-radius: var(--border-radius);
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.section_key-differences .good h3{
color: #fff;
}
.section_key-differences .good h3.h3-title::after {
border-color: var(--color-h2) transparent transparent;
}

.section_key-differences ul{}
.section_key-differences ul li{
padding: .375rem .75rem;
font-family: var(--biz);
font-size: 1.125rem;
letter-spacing: .1em;
background-color: rgb(255 255 255 /.375);
border-radius: 100px;
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.section_key-differences ul li:not(:last-child) {
margin-bottom: .5rem;
}
.section_key-differences .good ul li{
color: #fff;
background-color: rgb(255 255 255 /.15);
}
.section_key-differences .good .h3-title{
border-bottom: 1px solid #fff;
}
.section_key-differences .good .h3-title::before {
bottom: -14px;
border-color: #fff transparent transparent;
}


/*入塾案内*/
.admission{}
.admission .hero-text{
filter:
  drop-shadow(0 0 4px  #f4fbfc)
  drop-shadow(0 0 8px  #f4fbfc)
  drop-shadow(0 0 16px #f4fbfc);
}

.section_start{}
.section_start p.lead{
font-family: var(--biz);
color: var(--color-h2);
}

.section_step{
position: relative;
padding: 100px 0 2rem;
}

.section_step1{
background-color: var(--color-ice-melt);
}
.section_step2{
background-color: var(--color-ice-melt2);
}
.section_step3{
background-color: var(--color-ice-melt);
}
.section_step4{
background-color: var(--color-ice-melt2);
}
.section_step5{
background-color: var(--color-ice-melt);
}

.section_step h4{
margin: 0 0 .5em;
padding: .5rem;
font-size: 1.25rem;
background-color: rgb(255 255 255 /.5);
border: 1px solid #fff;
border-radius: 10px;
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

.section_step .lead{
font-family: var(--biz);
margin-bottom: 1em;
font-size: 1.125rem;
font-weight: 600;
color: var(--color-h1);
}

.custom-shape-divider-top {
position: absolute;
z-index: 1;
top: 0;
left: 0;
width: 100%;
overflow: hidden;
line-height: 0;
}
.custom-shape-divider-top svg {
position: relative;
display: block;
width: calc(100% + 1.3px);
height: 50px;
}
.section_step1 .custom-shape-divider-top .shape-fill {fill: #f4fbfc;}
.section_step2 .custom-shape-divider-top .shape-fill {fill: #d4e3f1;}
.section_step3 .custom-shape-divider-top .shape-fill {fill: #f4fbfc;}
.section_step4 .custom-shape-divider-top .shape-fill {fill: #d4e3f1;}
.section_step5 .custom-shape-divider-top .shape-fill {fill: #f4fbfc;}

.tbl_consultation{
margin: 0;
border-collapse: collapse;
border-spacing: 0;
}
.tbl_consultation th,
.tbl_consultation td{
padding: .375rem .5rem;
border-top: 1px solid rgb(0 0 0 /.1);
}
.tbl_consultation th{
text-align: left;
}
.tbl_consultation td img{
width: 48px;
}
.section_step td .lead{
font-family: var(--biz);
margin-bottom: 0;
font-size: 1rem;
font-weight: 600;
color: inherit;
}
.section_step ul,
.section_step ol{
margin: 0 0 1.5rem;
}
.section_step ul li,
.section_step ol li{
font-family: var(--biz);
margin: 0;
padding: .25rem;
font-size: 1rem;
font-weight: 700;
}
.section_step ul li:not(:last-child),
.section_step ol li:not(:last-child) {
border-bottom: 1px solid rgb(0 0 0 /.1);
}

.section_step ol {
list-style: none;
padding-left: 0;
counter-reset: num;
}
.section_step ol li {
position: relative;
padding-left: 2.5em;
counter-increment: num;
}
.section_step ol li::before {
content: counter(num);
position: absolute;
left: 0;
top: 0.375em;
width: 1.6em;
height: 1.6em;
line-height: 1.75em;
border-radius: 50%;
text-align: center;
font-size: 0.875em;
font-weight: 600;
background: #3f3f3f;
color: #fff;
}
.section_tuition-list h3{
font-size: clamp(1.25rem, 6vw, 1.375rem);
}
.tbl_fee{
border-collapse: collapse;
border-spacing: 0;
width: 100%;
}
.tbl_fee th,
.tbl_fee td{
padding: .5rem;
border: 1px solid #000;
}
.tbl_fee td h4{
margin: 0 0 .25rem;
font-size: 1.125rem;
}

.elementary .tbl_fee th,
.elementary .tbl_fee td,
.junior-high .tbl_fee th,
.junior-high .tbl_fee td{
width: 50%;
}
.elementary .tbl_fee td,
.junior-high .tbl_fee td{
text-align: right;
}
.elementary .tbl_fee td small,
.junior-high .tbl_fee td small{
display: block;
}
.elementary .btn-basic.mx-auto,
.junior-high .btn-basic.mx-auto{
margin: 0 auto;
}


.ul_other-fee{
padding: 0 0 0 1.5rem;
list-style: disc;
}
.ul_other-fee li{
padding: .125rem;
font-size: .937rem;
}
.ul_other-fee li::marker{
color: var(--color-h2);
}
.section_faq details {
margin: 0 0 1rem;
padding: 1rem;
font-family: var(--biz);
font-weight: 500;
background-color: #fff;
border: 2px solid var(--color-h2);
border-radius: 4px;
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.section_faq details summary{
position: relative;
margin: 0 0 .5rem;
list-style: none;
font-family: var(--biz);
font-weight: 500;
color: var(--color-h2);
}
.section_faq details summary::before{
content: "＿";
margin-right: .25rem;
color: var(--color-h2);
}


/*CONTACT*/

.contact main .lead{
font-family: var(--biz);
font-weight: 500;
}
.contact main form{
margin: 0 0 2rem;
padding: 2.5rem 2.5rem;
background-color: #fefefe;
border-radius: 10px;
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

.contact main h2{
margin: 2rem 0 1rem;
padding: .5rem;
font-size: 1.25rem;
border-style: solid;
border-color: #000;
border-width: 0px 1px 1px 1px;
text-align: center;
}
.contact main h3{
margin: 0 0 .25rem;
padding: .5rem;
font-size: 1rem;
color: #eaeaea;
color: var(--color-blue-fusion);
}
.contact .card_consultation{
padding: .5rem;
background-color: #fff;
border-radius: 10px;
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.contact .card_consultation h3 img{
width: 100%;
padding-bottom: .25rem;
border-bottom: 1px solid var(--color-h2);
}
.contact .card_consultation a[href^="tel:"] {
margin: 0 auto 1rem;
text-align: center;
}

.contact .card_consultation {}
.contact .card_consultation dl,.contact .card_consultation dt,.contact .card_consultation dd{
margin: 0;
padding: 0;
}
.contact .card_consultation dl{
background-color: #FFF;
border-top: 1px solid #E4E4E4;
border-left: 1px solid #E4E4E4;
margin: 0 0 1rem;
width: 100%;
display: flex;
flex-wrap: wrap;
}
.contact .card_consultation dt{
background-color: #FBFBFB;
font-weight: 600;
display: grid;
place-content: center;
gap: 1ch;
}

.contact .card_consultation dt,
.contact .card_consultation dd{
padding: .5rem;
box-sizing: border-box;
border-right:  1px solid #E4E4E4;
border-bottom: 1px solid #E4E4E4;
}
.contact .card_consultation dt{
width: 6em;
}
.contact .card_consultation dd{
width: calc(100% - 6em);
}

.form-group1,
.form-group2,
.form-group3,
.form-group4,
.form-group5{
padding: 1rem;
background-color: #fff;
border: 1px solid var(--color-baltic-sea);
border-radius: 10px;
box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}
.req{
font-size: .75rem;
line-height: 1;
color: #eaeaea;
background-color: var(--color-blue-fusion);
display: inline-block;
padding: .25rem;
border-radius: 4px;
}
.contact main form input,
.contact main form textarea{
padding: .5rem;
background-color: var(--color-cloud);
border-radius: 4px;
}
.contact main form textarea{
width: 100%;
}
.hasDatepicker{
width: 20%;
}
.contact .submit-area1 {
margin: 0 auto 1rem;
text-align: center;
}
.contact .submit-area1 input[type="submit"]{
font-size: 1rem 2rem;
font-weight: 500;
color: #fff;
background-color: var(--color-accent-green);
}
.contact .submit-area2 {
text-align: center;
}
.contact .submit-area2 input[type="submit"]{
padding: 1rem 3rem;
font-size: 1.25rem;
font-weight: 600;
letter-spacing: .5em;
color: #fff;
background-color: var(--color-accent-green);
}

/*privacy-policy*/

.privacy-policy main h2{
margin: 2rem 0 .5rem;
padding: .5rem;
font-size: 1.125rem;
border-style: solid;
border-color: #000;
border-width: 0px 0px 1px 1px;
}
.privacy-policy main h3{
margin: 0 0 .5rem;
padding: .5rem;
font-size: 1rem;
border: 1px solid rgb(0 0 0 /.25);
}
.privacy-policy main h4{
margin: 0;
padding: .5rem;
font-size: 1rem;
}
.privacy-policy main p{
margin: 0 0 1rem;
padding: .5rem .75rem;
font-size: .937rem;
}
.privacy-policy main ul{
margin: 0 0 .5rem;
padding: 0 0 0 2.5rem;
list-style: disc;
}
.privacy-policy main ul li,
.privacy-policy main ol li{
font-size: .937rem;
}

.privacy-policy main ol{
margin: 0 0 .5rem;
padding: 0 0 0 2.5rem;
list-style-type: decimal;
}

/*TELEPHONE*/
.card_consultation a[href^="tel:"] {
display: block;
margin: 0 0 .25rem;
font-family: 'Roboto Condensed', sans-serif;
font-size: 2rem;
font-weight: 700;
line-height: 1;
color: var(--color-accent-red);
}

/*SINGLE*/
.single article h1{
margin: 0 0 1rem;
font-size: 2rem;
}
.single article p{
margin: 0 0 2rem;
font-size: 1.25rem;
}
.single article p.posted-date{
margin: 0 0 2rem;
font-family: 'Roboto Condensed', sans-serif;
font-size: 1.125rem;
letter-spacing: .1em;
}

/*SHORTCODE*/
.news-list{}
.news-list li{
display: block;
padding: .75rem;
font-size: 1.125rem;
font-weight: 600;
}
.news-list li a{
color: var(--color-accent-green);
}
.news-date{
display: block;
margin: 0 0 .125rem;
font-family: 'Roboto Condensed', sans-serif;
font-size: 1.125rem;
line-height: 1;
letter-spacing: .1em;
}
.news-list li:not(:last-child) {
border-bottom: 1px dotted var(--color-h2);
}

.post-nav {
margin: 2rem 0;
padding: 1rem 0;
border-top: 1px solid var(--color-accent-green);
border-bottom: 1px solid var(--color-accent-green);
}
.post-nav a{
color: var(--color-accent-green);
}
.post-nav-title{}
.post-nav span{
display: block;
font-family: 'Roboto Condensed', sans-serif;
}
.post-nav-prev{
position: relative;
}
.post-nav-prev::after{
content: "";
position: absolute;
right: 0;
top: 10%;
display: block;
width: 1px;
height: 80%;
background-color:var(--color-accent-green); 
}

.kana-wrap .wpcf7-not-valid-tip {
  display: none;
}

.kana-wrap.is-invalid .wpcf7-not-valid-tip {
  display: block;
}

.kana-wrap input.is-invalid {
  border-color: #dc3232;
}


@media(max-width:600px){
.br_pc{
display: none;
}
.btn-basic{
letter-spacing: normal;
}
body::before {
width: 5px;
}
body::after {
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 12px solid var(--color-h2);
}
.site-header, .site-footer {
padding: 15px;
}
header {
margin-bottom: 1rem;
background-color: #fff;
grid-template-columns: 240px 1fr;
}
.footer-nav {
margin-top: 1rem;
display: block;
justify-content: start;
}
.footer-nav li:not(:last-child) {
border-bottom: 1px solid rgb(255 255 255 /.5);
}
.container {
padding: 0 15px;
}
.hero {
margin: 0 0 60px;
}
.hero-img {
grid-area: 1 / 3;
max-width: 100%;
}
.hero-text {
grid-area: 2 / 3;
align-self: start;
justify-self: left;
width: 100%;
padding: 40px 0 0;
}
.about_ishinkai a{
margin: 1rem auto 0;
}
section .card ul li {
padding: .25rem 0 .25rem 1rem;
}
section .card ul li::before {
position: absolute;
top: 10px;
left: 0;
display: inline-block;
margin: 0 .5em 0 0;
}

.about_ishinkai .grid {
padding: 15px;
}
.consultation .card_consultation:nth-child(1), .consultation .card_consultation:nth-child(2) {
border-right: none;
border-bottom: 1px solid var(--color-h2);
}

.section_method .grid-4{
gap: 60px;
}

.cource .h2-title span{
display: inline-block;
margin-top: .5rem;
}
.elementary .feature div p, .junior-high .feature div p {
padding: 0 2rem;
width: 100%;
}

.contact .card_consultation dl {
margin: 0 0 .5rem;
display: block;
}
.contact .card_consultation dt,
.contact .card_consultation dd{
margin: 0 0 .5rem;
display: block;
width: 100%;
}
.contact .card_consultation dd li:last-child{
font-size: .937rem;
}
.contact main form {
margin: 0 0 2rem;
padding: .5rem;
}
.form-group1, .form-group2, .form-group3, .form-group4, .form-group5{
padding: .5rem;
}
.contact main form input, .contact main form textarea{
width: 100%;
max-width: 100%;
}
.wpcf7-list-item{
display: block;
margin: 0;
padding: .25rem 0;
}
.wpcf7-list-item label{
display: grid;
margin: 0;
grid-template-columns: 40px auto;
width: 100%;
}
.wpcf7-list-item.last{
margin-bottom: 1rem;
}
.wpcf7-acceptance input{
width: 24px !important;
}
.wpcf7-acceptance  .wpcf7-list-item-label{
font-size: 1.125rem;
}

}