h2.heading {
	position: relative;
	color: #333333;
	border-bottom: none;
	text-align: center; 
}


h2.heading:after
{
	background-color: transparent;
}

h2.heading span {
	display: inline-block;
	padding: 0 2.5em;
	position: relative;
		font-weight:bold;
}

@media screen and (max-width:767px) {
	h2.heading {
	padding: 0 2em;
		font-size:22px;
	}
	h2.heading span {
	padding: 0 0.55em;
	}
}


h2.heading span::before,
h2.heading span::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	width: 45px;
	height: 3px;
	background-color: #00309a;
	transform: translateY(-50%);
	
}

h2.heading span::before {
	left: 0;
	transform: translate(-100%, -50%);
}

h2.heading span::after {
	right: 0;
	transform: translate(100%, -50%);
}

.step_box
{
	background:#f7cadd;
	border-radius:10px;
	padding:2rem;
	margin:1rem 0;
	positopn:rerative;
}


h3.step{
		border-bottom: none;
		font-weight:bold;
}


@media screen and (max-width:767px) {
	h3.step{
	display:flex;
	align-items:center;
		
	}
}
	

h3.step:after{
	background:transparent
}

h3.step span.ribbon {
  --r: .8em; /* control the cutout */
	  color:#fff;
	padding:5px 1rem;
	font-size:1.2rem;
	font-weight:bold;
  border-block: .5em solid #0000;
  padding-inline: .5em calc(var(--r) + .25em);
  line-height: 1.8;
  clip-path: polygon(100% 0,0 0,0 100%,100% 100%,100% calc(100% - .25em),calc(100% - var(--r)) 50%,100% .25em);
  background:
   radial-gradient(.2em 50% at left,#00000082,#0000) border-box,
   #e50a4c padding-box; /* the color  */
  width: fit-content;
}


h3.ttl {
    background:#e6e5f5;
	border-radius:999rem;
	color:#00309a;
	padding:5px 1rem;
	text-align:center;
}


.school_box
{
}


.school_box dl 
{
	display:flex;
	align-items: center; 
	gap:1rem;
}

.school_box dl img
{
	width:50px;
	height:auto;
}


.school_box dl dt
{
	color:#e50a4c;
	font-weight:bold;
	display:flex;
	justify-content: center;
    align-items: center; 
	gap:1rem

}

/* スマホ時だけのスタイル */
@media (max-width: 767px) {
  .school_box dl {
    flex-direction: row; 
    align-items: center;
  }

  .school_box dl dt {
    display: flex;
    flex-direction: column;
    align-items: center;
    white-space: nowrap;
    gap: 0;
  }

  .school_box dl dd {
    flex: 1;
    word-break: break-word; 
  }
}

.system_ttl
{
	background: #3e4a8b;
	border-radius:999rem;
	padding:5px 1rem;
	display: inline-block;
	color: #fff;
}




