@charset "UTF-8";

html {
  font-size: 62.5%;
}

body {
	font-size: 1.6em;
	line-height: 1.7;
	color: #333;
	font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	min-width: 375px;
	background-color: #FFF;
}

body:before {
    top: 0;
    right: 50%;
    width: 50%;
    height: 100px;
    content: '';
    position: absolute;
    background: #34B3C2;
	z-index: -1;
}

body:after {
    top: 0;
    left: 50%;
    width: 50%;
    height: 40px;
    content: '';
    position: absolute;
    background: #00AEBB;
	z-index: -1;
}

dl,dt,dd,ul,ol,li {
    margin: 0;
	padding: 0;
}

ul,ol {
	list-style: none;
}

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

a img {
    transition: 0.2s ease-in-out;
}

a img:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
}

@media print {
  body {
    width: 1100px;
    transform: scale(0.95);
    transform-origin: 0 0;
  }
}

/* ------------------------- */

main {
	width: 1100px;
	margin: 0 auto;
	padding: 0;
}

section {
	margin-bottom: 4rem;
}

.contents {
	max-width: 910px;
	margin: 0 auto;
}

.contents-2 {
	max-width: 720px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
main {
	width: 100%;
	}
.contents {
	padding: 0 2rem;
	}
}


/* Bootstrap上書
------------------------------------- */
a {
	color: #00849E;
}
small,
.small {
	font-size: 87% !important;
	line-height: 1.5 !important;
}
.lead {
	font-size: 2.1rem;
	font-weight: normal;
	line-height: 1.5;
}
.bg-light {
  background-color: #F6F6F6 !important;
}
.btn {
  padding: 0.8rem 2rem;
  font-size: 1.4rem;
  border-radius: 0.4rem;
}
.shadow-sm {
	box-shadow: 0.2rem 0.2rem 0.3rem rgba(0, 0, 0, 0.3) !important;
}
.shadow {
	box-shadow: 0.2rem 0.2rem 0.6rem 0.2rem rgba(0, 0, 0, 0.2) !important;
}
.shadow-lg {
	box-shadow: 0.3rem 0.3rem 0.9rem 0.3rem rgba(0, 0, 0, 0.2) !important;
}
.rounded-sm {
  border-radius: 0.3rem !important;
}
.rounded {
  border-radius: 0.5rem !important;
}
.rounded-top {
  border-top-left-radius: 0.4rem !important;
  border-top-right-radius: 0.4rem !important;
}
.rounded-right {
  border-top-right-radius: 0.4rem !important;
  border-bottom-right-radius: 0.4rem !important;
}
.rounded-bottom {
  border-bottom-right-radius: 0.4rem !important;
  border-bottom-left-radius: 0.4rem !important;
}
.rounded-left {
  border-top-left-radius: 0.4rem !important;
  border-bottom-left-radius: 0.4rem !important;
}
.rounded-lg {
  border-radius: 0.8rem !important;
}
.figure-caption, figcaption {
	font-size: 87%;
	color: initial;
	line-height: 1.5;
	margin: 0.8rem 0.3rem;
}
.breadcrumb {
	margin-bottom: 1rem;
	padding: 0 1rem 0 5rem;
	font-size: 1.3rem;
	background-color: transparent;
	border-radius: 0;
}
.breadcrumb li::after {
	content: "\f105"; /* angle-right */
    font-family: FontAwesome;
	margin: 0 0.5em;
}
.breadcrumb li:last-child::after {
	content: normal;
}
@media screen and (max-width: 768px) {
.lead {
	font-size: 1.8rem;
	line-height: 1.4;
	}
.breadcrumb {
	padding: 0 1rem 0 1rem;
	}
}
@media (min-width: 576px) {
.container {max-width: 100%;}
}
@media (min-width: 768px) {
  .container {max-width: 100%;}
}
@media (min-width: 992px) {
  .container {max-width: 100%;}
}
@media (min-width: 1200px) {
  .container {max-width: 100%;}
}

h1, .h1 {font-size: 4rem;}
h2, .h2 {font-size: 3.2rem;}
h3, .h3 {font-size: 2.8rem;}
h4, .h4 {font-size: 2.4rem;}
h5, .h5 {font-size: 2rem;}
h6, .h6 {font-size: 1.6rem;}


/* Slick上書
------------------------------------- */
.slick-prev,
.slick-next {
	top: 50%;
	width: 40px;
	height: 100px;
	z-index: 1;
}
.slick-prev {left: 0;}
.slick-next {right: 0;}

.slick-prev:before,
.slick-next:before {
	font-size: 80px;
	opacity: 0.6;
	font-family: FontAwesome;
	text-shadow: 0px 0px 5px #808080;
}
.slick-prev::before {content: "\f104";}
.slick-next::before {content: "\f105";}

@media screen and (max-width: 500px) {
.slick-prev:before,
.slick-next:before {
	font-size: 60px;
	}
}


/* ------------------------- */

.u-mb-none{margin-bottom: 0 !important;}
.u-mb-xxsmall{margin-bottom: 0.5rem !important;}
.u-mb-xsmall{margin-bottom: 1rem !important;}
.u-mb-small{margin-bottom: 2rem !important;}
.u-mb{margin-bottom: 3rem !important;}
.u-mb-large{margin-bottom: 4rem !important;}
.u-mb-xlarge{margin-bottom: 5rem !important;}
.u-mb-xxlarge{margin-bottom: 6rem !important;}
.u-mt-xsmall{margin-top: 1rem !important;}
.u-mt-small{margin-top: 2rem !important;}
.u-mt{margin-top: 3rem !important;}
.u-mt-large{margin-top: 4rem !important;}
.u-mt-xlarge{margin-top: 5rem !important;}
.u-mr{margin-right: 1rem !important;}
.u-ml{margin-left: 1rem !important;}

/* ------------------------- */

.text-main {color: #0093bf !important;}
.text-blue {color: #003461 !important;}
.text-green {color: #007771 !important;}
.text-red {color: #ad172e !important;}

.bg-main {background-color: #e7f3f9 !important;}
.bg-gray  {background-color: #ebeff0 !important;}
.bg-blue  {background-color: #003461 !important;}
.bg-green  {background-color: #007771 !important;}
.bg-red  {background-color: #ad172e !important;}

.border-main {border-color: #0093bf !important;}
.border-blue {border-color: #003461 !important;}
.border-green {border-color: #007771 !important;}
.border-red {border-color: #ad172e !important;}
.border-lgreen {border-color: #9de1d2 !important;}
.border-white {border-color: #fff !important;}

.border5 {
  border: 5px solid #9ecde2;
}

.border-top9 {
  border-top: 9px solid #0093bf;
}

/* ------------------------- */

.p-6 {
	padding-top: 3rem;
	padding-bottom: 3rem;
	padding-left: 5rem;
	padding-right: 5rem;
}

@media screen and (max-width: 768px) {
.p-6 {
	padding-top: 3rem;
	padding-bottom: 3rem;
	padding-left: 3rem;
	padding-right: 3rem;
	}
}
@media screen and (max-width: 500px) {
.p-6 {
	padding-top: 2rem;
	padding-bottom: 2rem;
	padding-left: 2rem;
	padding-right: 2rem;
	}
}

/* ------------------------- */
/* 
.bg-wide  {
	margin: 0 -9.5rem 4rem;
	padding: 2rem 1rem;
}
*/

.bg-wide  {
	margin: 0 0rem 4rem;
	padding: 2rem 1rem;
}

@media screen and (max-width: 768px) {
.bg-wide {
	margin: 0 -2rem 4rem;
	}
}

/* ------------------------- */
.i-block {
  display: inline-block !important;
}

.indent1 {
	padding-left: 1em;
	text-indent: -1em;
}

.indent2 {
	padding-left: 2em;
	text-indent: -2em;
}

.indent3 {
	padding-left: 3em;
	text-indent: -3em;
}

.indent35 {
	padding-left: 3.5em;
	text-indent: -3.5em;
}

/* 230303 追加 */
span.indent15 {
  display: inline-block;
}
.indent15 {
	padding-left: 1.5em;
	text-indent: -1.5em;
}


/* ------------------------- */

.btn-main {
  color: #fff;
  background-color: #00a0c0;
  border-color: #00a0c0;
}

.btn-main:hover {
  color: #fff;
  background-color: #00aecb;
  border-color: #00aecb;
}

.btn-main:focus, .btn-main.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 165, 192, 0.5);
}

.btn-main.disabled, .btn-main:disabled {
  color: #fff;
  background-color: #00a0c0;
  border-color: #00a0c0;
}

.btn-main:not(:disabled):not(.disabled):active, .btn-main:not(:disabled):not(.disabled).active,
.show > .btn-main.dropdown-toggle {
  color: #fff;
  background-color: #00aecb;
  border-color: #00aecb;
}

.btn-main:not(:disabled):not(.disabled):active:focus, .btn-main:not(:disabled):not(.disabled).active:focus,
.show > .btn-main.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 165, 192, 0.5);
}

/* ------------------------- */

.phone-1 {
	display: block;
	font-size: 1.2rem;
	line-height: 1.3;
	letter-spacing: 0.3rem;
	color: #003461;
	text-align: center;
}

.phone-1 a {
	display: block;
	font-size: 2.8rem;
	font-family: 'Roboto';
	color: #003461;
	letter-spacing: 0;
}

.phone-1 a:hover {
	text-decoration: none;
}

.phone-1 a::before {
	font-size: 2.5rem;
	margin-right: 0.1em;
	content: "\f095"; /* phone */
    font-family: FontAwesome;
}

.phone-1 .time {
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0;
	text-align: center;
}

#home .main_img .phone-1 {
	margin-top: 1rem;
	color: #007a99;
	text-align: left;
}
#home .main_img .phone-1 a {
	font-size: 2.4rem;
	color: #007a99;
}
#home .main_img .phone-1 a::before {
	font-size: 2.2rem;
}

/* ------------------------- */

.phone-2 {
	color: #007a99;
	font-size: 2.7rem;
	line-height: 1.1;
	font-family: 'Roboto';
}
.phone-2::before {
	font-size: 2.5rem;
	margin-right: 0.1em;
	content: "\f095"; /* phone */
    font-family: FontAwesome;
}
.phone-2 a:hover{
	color: #007a99;
	text-decoration: none;
}

/* ------------------------- */

.bg-circle {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.bg-circle li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 23.2rem;
	height: 23.2rem;
	margin: 0 1rem 1rem;
	padding-top: 3.5rem;
	font-size: 2rem;
	line-height: 3.5rem;
	color: #FFF;
	background-image: url(../images/bg-circle.svg);
	background-repeat: no-repeat;
	text-align: center;
	position: relative;
}

.bg-circle li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 23.2rem;
	height: 23.2rem;
	color: #FFF;
}

.bg-circle li a:hover {
	text-decoration: none;
}

.bg-circle li a::after {
	content: "\f13a"; /* chevron-circle-down */
    font-family: FontAwesome;
	position: absolute;
	bottom: 0.6rem;
	left: 0;
	right: 0;
}

.bg-circle li .num {
	font-size: 3.3rem;
	color: #0093bf;
	font-family: 'Times New Roman';
	position: absolute;
	top: 0.4rem;
}

.bg-circle li .small {
	font-size: 1.5rem;
}

.bg-circle.mini li {
	width: 14rem;
	height: 14rem;
	padding-top: 1rem;
	line-height: 1.3;
}

.bg-circle.mini li a {
	width: 14rem;
	height: 14rem;
}

@media screen and (max-width: 530px) {
.bg-circle.mini li {
	width: 10rem;
	height: 10rem;
	margin: 0 0.5rem 1rem;
	padding-top: 0.8rem;
	font-size: 1.5rem;
	}
.bg-circle.mini li a {
	width: 10rem;
	height: 10rem;
	}
}

/* ------------------------- */

.bg-circle-2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.bg-circle-2 li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 23.2rem;
	height: 23.2rem;
	margin: 0 1rem 1rem;
	padding-top: 3.5rem;
	font-size: 2rem;
	line-height: 3.5rem;
	color: #FFF;
	background-image: url(../images/bg-circle.svg);
	background-repeat: no-repeat;
	text-align: center;
	position: relative;
}

.bg-circle-2 li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 23.2rem;
	height: 23.2rem;
	color: #FFF;
}

.bg-circle-2 li a:hover {
	text-decoration: none;
}

.bg-circle-2 li a::after {
	content: "\f138"; /* circle-chevron-right */
    font-family: FontAwesome;
	position: absolute;
	bottom: 1.8rem;
	left: 0;
	right: 0;
}

.bg-circle-2.mini li {
	width: 14rem;
	height: 14rem;
	padding-top: 1rem;
	line-height: 1.3;
}

.bg-circle-2.mini li a {
	width: 14rem;
	height: 14rem;
}

@media screen and (max-width: 530px) {
.bg-circle-2.mini li {
	width: 10rem;
	height: 10rem;
	margin: 0 0.5rem 1rem;
	padding-top: 0.8rem;
	font-size: 1.5rem;
	}
.bg-circle-2.mini li a {
	width: 10rem;
	height: 10rem;
	}
}


/* ------------------------- */
.bg-stripe {
	background-image:
	repeating-linear-gradient(-54deg,
		#fff, #fff 4px,
		transparent 0, transparent 6px);
}

/* ------------------------- */

.btn-1 a {
	position: relative;
	display: table;
	width: 32rem;
	height: 8rem;
	margin: 0 0.5rem;
	padding: 0 2rem;
	color: #003461;
	line-height: 1.3;
	border: 1px solid #003461;
	background-color: #FFF;
}

.btn-1 a:hover {
	text-decoration: none;
	background-color: #F7F7F7;
}

.btn-1 span {
	display: table-cell;
	vertical-align: middle;
}

.btn-1 span.icon {
	width: 2.8rem;
	font-size: 2.2rem;
}

.btn-1 a::after {
	position: absolute;
	top: 2.2rem;
	right: 2rem;
	font-size: 2.3rem;
	line-height: 1;
	content: "\f105"; /* angle-right */
    font-family: FontAwesome;
}

/* ------------------------- */

.list-1 {
	position: relative;
	margin: 3rem 0;
	padding: 0 9rem;
}

.list-1 li {
	position: relative;
	margin-bottom: 2rem;
	padding: 0 0 0 6rem;
	font-size: 1.8rem;
}

.list-1 li .small {
	font-size: 1.4rem;
}

.list-1 li .num {
	display: block;
	width: 4.2rem;
	height: 4.2rem;
	font-size: 3.5rem;
	margin-right: 1.5rem;
	font-family: 'Times New Roman';
	line-height: 1.2;
	color: #FFF;
	border-radius: 50%;
	text-align: center;
	background-color: #00A0C0;
	vertical-align: -0.1em;
	position: absolute;
	top: -0.8rem;
	left: 0;
}

@media screen and (max-width: 768px) {
.list-1 {
	padding: 0 1rem;
	}
}

/* ------------------------- */

.list-2 {
	margin-bottom: 1rem;
	padding-left: 2em;
}

.list-2 li {
	padding-left: 1em;
	text-indent: -1em;
}
@media screen and (max-width: 768px) {
.list-2 {
	padding-left: 1em;
	}
}

/* ------------------------- */

.list-3 {
	margin: 0 0 1rem 1rem;
	padding-left: 3.3rem;
}

.list-3 li {
	margin-bottom: 3rem;
	padding-left: 1.5em;
	position: relative;
	border-left: 2px solid #0093bf;
}

.list-3 li .num {
	font-size: 3.3rem;
	font-family: 'Times New Roman';
	color: #0093bf;
	position: absolute;
	top: -1rem;
	left: -3.3rem;
}

.list-3 li .ttl {
	margin-bottom: 0.7rem;
	color: #0093bf;
}

@media screen and (max-width: 768px) {
.list-3 {
	padding-left: 1em;
	}
}

/* ------------------------- */

table.th-center th {
	text-align: center;
	padding: 1rem 0.5rem !important;
}
table.td-center td {
	text-align: center;
	padding: 1rem 0.5rem !important;
}

/* ------------------------- */

.tbl-1 {
	line-height: 1.5;
	width: 100%;
}
.tbl-1 thead th, .tbl-1 thead td {
	padding: 1rem 1rem;
	font-weight: normal;
	text-align: center;
	border: 1px solid #CCC;
	background-color: #ebeff0;
}
.tbl-1 tbody th, .tbl-1 tbody td {
	padding: 1rem 2rem;
	border: 1px solid #CCC;
}
.tbl-1 tbody th {
	font-weight: normal;
	background-color: #ebeff0;
}
.tbl-1 tbody td {
	vertical-align: top;
}

.tbl-1 caption.caption-top {
  caption-side: top;
  font-weight: bold;
  font-size: 2rem;
  padding-bottom: 0;
}

.tbl-1 .type-mb {
  display: none;
}

/* .tbl-1.table_layout01,02 
使用箇所：直前講座2023-2024 */
.tbl-1.table_layout01 {
  width: 100%;
  table-layout: auto;
}

.tbl-1.table_layout01 th {
  width: 230px;
}

.tbl-1.table_layout02 {
  width: 100%;
  table-layout: fixed;
}

@media screen and (max-width: 768px) {
.table_scroll table {
	width: 100%;
	}
}
@media screen and (max-width: 670px) {
.table_scroll table {
	width: 630px;
	}
.table_scroll {
	overflow-x: scroll;
	}
}
@media screen and (max-width: 540px) {
.tbl-1 tbody th, .tbl-1 tbody td {
	padding: 1rem 1rem;
	}
.tbl-1 .type-mb {
  display: inline-block;
}
.tbl-1.table_layout01 th {
  width: auto;
}
}
/* ------------------------- */
.tbl-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	}
.tbl-2 li {
    background: #fff;
    border-bottom: solid 1px #bebebe;
    border-right: solid 1px #bebebe;
    width: 25%;
    box-sizing: border-box;
    padding: 15px;
    text-align: center;
    display: inline-block;
	}
@media screen and (max-width: 750px){
.tbl-2 li {
    width: 100%;
    border-left: solid 1px #bebebe;
    padding: 2vw 5vw;
    text-align: left;
	}
.tbl-2 li:nth-of-type(1) {
    border-top: solid 1px #bebebe;
	}
}

@media screen and (max-width: 1060px) and (min-width: 751px) {
.tbl-2 li:nth-of-type(3n+1) {
    border-left: solid 1px #bebebe;
	}
.tbl-2 li:nth-of-type(1), .tbl-2 li:nth-of-type(2), .tbl-2 li:nth-of-type(3) {
    border-top: solid 1px #bebebe;
	}
.tbl-2 li {
    width: 33.33%;
	}
}

@media screen and (min-width: 1061px){
.tbl-2 li:nth-of-type(4n+1) {
    border-left: solid 1px #bebebe;
	}
.tbl-2 li:nth-of-type(1), .tbl-2 li:nth-of-type(2), .tbl-2 li:nth-of-type(3), .tbl-2 li:nth-of-type(4) {
    border-top: solid 1px #bebebe;
	}
}


/* ------------------------- */

#pagetop a {
	width: 60px;
	height: 60px;
    position: fixed;
    bottom: 20px;
    right: 15px;
	background-image: url(../images/pagetop.svg);
	background-repeat: no-repeat;
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 2;
}

#pagetop a:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
}


/* 見出し
------------------------------------- */

h1.ttl-1 {
	display: table;
	width: 1100px;
	height: 152px;
	margin: 0 auto 5px;
	padding: 0px 0px 0px 550px;
	font-size: 30px;
	color: #FFF;
	background-image: url(../images/h1-ttl-1_bg_pc.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	position: relative;
}
h1.ttl-1 p {
	display: table-cell;
	vertical-align: middle;
}

@media screen and (max-width: 768px) {
h1.ttl-1 {
	width: 100%;
	margin: 0 auto 5px;
	padding: 85px 0px 0px 0px;
	background-image: url(../images/h1-ttl-1_bg_sp.jpg);
	background-size: cover;
	}
h1.ttl-1 p {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	height: 70px;
	font-size: 2.2rem;
	text-align: center;
	background-color: #01ABC2;
	}
}

@media screen and (max-width: 500px) {
h1.ttl-1 {
	background-size: contain;
	}
}

/* ------------------------- */

h2.ttl-home-circle {
	width: 14.4rem;
	height: 16.6rem;
	margin: 0 auto;
	padding-top: 6.5rem;
	font-size: 1.6rem;
	text-align: center;
	letter-spacing: 0.2em;
	color: #FFF;
	background-repeat: no-repeat;
}
h2.ttl-home-circle.c01 {background-image: url(../images/h2-home-circle01.svg);}
h2.ttl-home-circle.c02 {background-image: url(../images/h2-home-circle02.svg);}

h2.ttl-home {
	margin: 1rem 0;
	font-size: 2.5rem;
	text-align: center;
	line-height: 1.4;
	color: #0093bf;
}
h2.ttl-home span {
	display: block;
	font-size: 1.9rem;
	margin-top: 0.1em;
}

@media screen and (max-width: 768px) {
h2.ttl-home {
	font-size: 2.2rem;
	}
h2.ttl-home span {
	font-size: 1.7rem;
	}
}

/* ------------------------- */

h2.ttl-1 {
	margin: 1rem 0 2rem 0;
	padding: 1.2em 0 0.3em;
	font-size: 3rem;
	text-align: center;
	color: #0093bf;
	border-bottom: 1px solid #0093bf;
	position: relative;
}
h2.ttl-1::before {
	content: url(../images/h2-ttl-1_before.svg);
	position: absolute;
	top: -1.2rem;
	left: 0;
	right: 0;
	margin: 0 auto;
}
h2.ttl-1 span {
	font-size: 4.5rem;
	letter-spacing: 0.1;
}

@media screen and (max-width: 768px) {
h2.ttl-1 {
	font-size: 2.3rem;
	}
h2.ttl-1 span {
	font-size: 2.3rem;
	}
}

/* ------------------------- */

h2.ttl-2 {
	margin-bottom: 2rem;
	padding: 0 4rem 0.3em;
	font-size: 3rem;
	color: #0093bf;
	border-bottom: 1px solid #0093bf;
}

@media screen and (max-width: 768px) {
h2.ttl-2 {
	font-size: 2.3rem;
	padding: 0 0.3rem 0.3em;
	}
}

/* ------------------------- */

h3.ttl-1 {
	margin-bottom: 1em;
	padding: 1.4em 0 0.5em;
	font-size: 2.7rem;
	letter-spacing: 0.05em;
	text-align: center;
	line-height: 1.4;
	color: #0093bf;
	position: relative;
}

h3.ttl-1 span {
	display: block;
	font-size: 5rem;
	line-height: 1;
	font-family: 'Times New Roman';
}

h3.ttl-1::before {
	content: url(../images/h3-ttl-1_before.svg);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

h3.ttl-1::after {
	content: '';
	width: 9em;
	height: 1px;
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	border-top: solid 1px #0093bf;
}

@media screen and (max-width: 768px) {
h3.ttl-1 {
	font-size: 2rem;
	}
}

/* ------------------------- */

h4.ttl-1 {
	margin-top: 2.3rem;
	padding: 1.6em 0 0.5em;
	font-size: 2rem;
	text-align: center;
	line-height: 1.4;
	color: #0093bf;
	position: relative;
}
h4.ttl-1::before {
	content: url(../images/h4-ttl-1_before.svg);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

/* ------------------------- */

h4.ttl-2 {
	display: table;
	position: relative;
	margin: 0.6rem auto 1.5em;
	padding: 0.5em 3em;
	font-size: 2.7rem;
	letter-spacing: 0.1em;
	color: #0093bf;
	background: #ebeff0;
}

h4.ttl-2::before,
h4.ttl-2::after {
   content:'';
    width: 2em;
    height: 124%;
    position: absolute;
    top: -12%;
 }

h4.ttl-2:before{
    border-left: solid 1px #00a0c0;
    border-top: solid 1px #00a0c0;
    border-bottom: solid 1px #00a0c0;
    left: -0.3em;
}

h4.ttl-2:after{
    border-top: solid 1px #00a0c0;
    border-right: solid 1px #00a0c0;
    border-bottom: solid 1px #00a0c0;
    right: -0.3em;
}

@media screen and (max-width: 768px) {
h4.ttl-2 {
	font-size: 2rem;
	}
}

/* ------------------------- */

h5.ttl-1 {
	font-size: 2.7rem;
	line-height: 1.4;
	color: #0093bf;
}

@media screen and (max-width: 768px) {
h5.ttl-1 {
	font-size: 2.3rem;
	}
}

/* ------------------------- */

h5.ttl-2 {
	font-size: 2rem;
	line-height: 1.4;
	color: #0093bf;
}

/* ------------------------- */

h5.ttl-3 {
	margin-bottom: 1.3em;
	font-size: 1.6rem;
	color: #0093bf;
	position: relative;
}

h5.ttl-3::after{
   content:'';
    width: 3em;
    height: 1px;
    position: absolute;
    top: 1.4em;
	left: 0;
	border-top: 1px solid #0093bf;
 }

/* ------------------------- */

h5.ttl-4 {
	margin-bottom: 1rem;
	padding-bottom: 0.5rem;
	font-size: 1.6rem;
	text-align: center;
	line-height: 1.4;
	color: #0093bf;
	border-bottom: 1px solid #0093bf;
}


/* ヘッダー
------------------------------------- */

header {
	width: 1100px;
	height: 100px;
	margin: 0 auto;
	background-image: url(../images/header_bg.svg);
	background-repeat: no-repeat;
	background-position: top center;
	position: relative;
}


header a {
	text-decoration: none;
}

header .logo {
	margin: 0;
}

header .logo a {
	display: block;
	width: 220px;
	height: 51px;
	background-image: url(../images/logo_mediup.png);
	background-repeat: no-repeat;
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
	position: absolute;
	top: 30px /*20px 231025変更 */;
	left: 30px /*50px 231025変更 */;
  background-size: 220px 51px;/* 231025追加 */
}

@media screen and (max-width: 768px) {
header {
	width: 100%;
	height: 60px;
	background-image: none;
	background-color: #00aebb;
	}
header .logo a {
	/*width: 126px; 231025変更*/
	height: 42px;
	top: 9px;
	left: 15px;
  background-size: auto 42px;/* 231023追加 */
	}
}

/* ------------------------- */

header ul.snav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	height: 40px;
	padding: 10px 50px 0px 0px;
}

header ul.snav li {
	line-height: 1;
}

header ul.snav li a {
	padding: 0px 15px;
	font-size: 12px;
	color: #FFF;
	border-right: 1px solid #FFF;
}

header ul.snav li a:hover {
	text-decoration: underline;
}

/* ------------------------- */

header ul.gnav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin: 0px 30px 0px 0px;
}

header ul.gnav li {
	margin: 0px 0px 0px 0px;
	position: relative;
}

header ul.gnav li a {
	display: block;
	height: 60px;
	padding: 13px 20px 0px 20px;
	font-size: 14px;
	line-height: 1.2;
	color: #333;
	text-align: center;
}

header ul.gnav li a span {
	display: block;
	padding-top: 2px;
	font-size: 10px;
	color: #00a0c0;
}

header ul.gnav > li:hover > a {
	text-decoration: none;
	border-bottom: 9px solid #00aebb;
}

#reason header ul.gnav > li.g01 > a,
#fukei header ul.gnav > li.g02 > a,
#course header ul.gnav > li.g03 > a,
#entrance header ul.gnav > li.g04 > a,
#kousha header ul.gnav > li.g05 > a,
#voice header ul.gnav > li.g06 > a,
#suisen header ul.gnav > li.g06 > a
{
	border-bottom: 9px solid #00aebb;
}

header ul.gnav li ul {
	position: absolute;
	top: 60px;
	z-index: 1;
}

header ul.gnav li ul li {
	overflow: hidden;
	height: 0;
}

header ul.gnav li:hover > ul > li {
	overflow: visible;
	height: 40px;
	box-shadow:1px 1px 3px 1px rgba(0,0,0,0.2);
}

header ul.gnav li li a {
	display: block;
	width: 150px;
	height: 40px;
	line-height: 1;
	text-align: left;
	background-color: #FFF;
	border-top: 1px solid #00aebb;
}

header ul.gnav li li a::after {
	content: "▶";
	font-size: 0.7em;
	color: #00aebb;
	position: absolute;
	top: 16px;
	right: 10px;
}

header ul.gnav > li li:hover > a {
	text-decoration: none;
	background-color: #F2F2F2;
}

header .child {
    display: none;
}

header .icon_phone a {
	width: 45px;
	height: 60px;
	padding: 3px 0px 0px 20px;
    display: none;
	position: absolute;
	right: 80px;
	cursor: pointer;
}

header .icon_phone a:hover {
	text-decoration: none;
}

header .icon_phone a:before {
	content: "\f095"; /* phone */
    font-family: FontAwesome;
	font-size: 34px;
	color: #FFF;
	vertical-align: 0;
}

@media screen and (max-width: 768px) {
header ul.snav,
header ul.gnav {
	display: none;
	}
header .icon_phone a {
	display: block;
	}
}

/* ------------------------- */

#dnav {
	display: none;
}

#dnav_open {
	width: 60px;
	height: 60px;
	padding: 10px 0 0;
	font-size: 10px;
	text-align: center;
	color: #FFF;
	cursor: pointer;
	line-height: 0.95;
	position: absolute;
	right: 10px;
	z-index: 2010;
}

#dnav_open::after {
	content: "\f0c9"; /* bars */
    font-family: FontAwesome;
	font-size: 34px;
	display: block;
	text-align: center;
	color: #FFF;
}

#dnav_cover {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -99;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}

#dnav_cover.open {
	opacity: .3;
	z-index: 99;
}

#dnav_contents {
	overflow: auto;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 2020;
	margin: 0;
	padding: 0px 8px;
	width: 90%;
	max-width: 280px;
	height: 100%;
	background: #FFF;
	opacity: 0.95;
	transition: .3s ease-in-out;
	-webkit-transform: translateX(105%);
	transform: translateX(105%);
	box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

#dnav_contents.open {
	transform: translate(0);
}

#dnav_close {
	display: block;
	padding: 3px 15px 3px 20px;
	cursor: pointer;
	border-bottom: 1px dashed #00aebb;
	text-align: right;
}

#dnav_close:before {
	content: "\f057"; /* times-circle  */
    font-family: FontAwesome;
	font-size: 25px;
	display: block;
	color: #00aebb;
}

#dnav_contents li {
	display: block;
	padding: 10px 5px 10px 10px;
	font-size: 15px;
	line-height: 1.3;
	border-bottom: 1px solid #00aebb;
	text-decoration: none;
	cursor: pointer;
	position: relative;
}

#dnav_contents li a {
	display: block;
	color: #333;
	text-decoration: none;
}

#dnav_contents .toggle:after {
	position: absolute;
	content: "\f078"; /* chevron-down */
    font-family: FontAwesome;
	right: 15px;
	color: #00aebb;
}
#dnav_contents .toggle.active:after {
	position: absolute;
	content: "\f068"; /* minus */
    font-family: FontAwesome;
	right: 15px;
	color: #00aebb;
}

#dnav_contents .child li {
	padding: 14px 5px 14px 30px;
	background-color: #EEE;
}

@media screen and (max-width: 768px) {
#dnav {
	display: block;
	}
}


/* フッター
------------------------------------- */

footer {
	margin-bottom: 4rem;
	width: 100%;
	font-size: 1.2rem;
	color: #FFF;
	text-align: center;
	background-color: #FFF;
}

footer a {
	color: #FFF;
	text-decoration: none;
}

footer .bg {
	background-color: #00aebb;
}

footer ul a:hover {
	text-decoration: underline;
	color: #FFF;
}

footer .wrap {
	width: 850px;
	margin: 0 auto 2rem;
	padding: 3rem 0 2rem;
	color: #FFF;
	text-align: left;
}

footer ul {
	margin: 0 2.9rem 1rem 2.9rem;/*0 3rem 1rem 3rem 231101変更*/
}

footer .wrap ul {
	float: left;
}

footer ul li {
	margin: 0 0 0.8rem 0;
	line-height: 1.5;
}
footer ul.school li {
	margin: 0 0 1.2rem 0;
}

footer .wrap ul li ul {
	margin: 0 0 0 1.5rem;
	float: none;
}

footer ul li li {
	margin: 0.2rem 0 0.2rem 0;
}

footer .logo {
	display: block;
	margin-top: 0.5rem;
	width: 100%;
	height: 6rem;
	background-image: url(../images/logo_mediup.png);
	background-size: auto /*18rem 231025変更*/ 6rem;
	background-repeat: no-repeat;
	background-position: center;
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
}

footer ul li.blog,
footer ul li.twitter {
	margin: 0 0 1.5rem 0;
}

footer .blog a {
	display: table-cell;
	width: 10.8rem;
	height: 2.2rem;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #D8E8E8;
	border-radius: 1.1rem;
}

footer .blog a:hover {
	text-decoration: none;
	background-color: rgba(255,255,255,0.2);
}

footer .twitter a {
	display: block;
	width: 11.1rem;
	height: 1.8rem;
}

footer .up-edu a {
	display: block;
	height: 3rem;
	background-image: url(../images/footer-logo_2023.png);
	background-size: 16rem;
	background-position: center top;
	background-repeat: no-repeat;
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
}

footer small {
	font-size: 1.3rem;
	line-height: 1.3;
	color: #666;
	font-family: 'arial';
}

/* 231025 追加 */
p.up-edu {
    margin-bottom: 0;
}
p.c-footer__copyright {
    margin-bottom: 0;
    text-align: center;
    color: #999;
    font-size: 12px;
}

.c-footer__logo {
    display: block;
    margin-top: 33px;
    text-align: center;
    padding-right: 0;
}

/* 231025 追加  ここまで*/

footer .link_up {
	display: flex;
	flex-wrap: wrap;
	max-width: 995px /* 231127変更 960px */;
	margin: 2rem auto;
    justify-content: center; /* 260105追加 */
}

footer .link_up li a {
	display: block;
	margin: 0 0.5rem 0.5rem;
}

footer .link_up li img {height: 1.7rem;}
footer .link_up li.M img {height: 1.9rem;}/* 231127追加 */
footer .link_up li.L img {height: 2.2rem;}
footer .link_up li.XL img {height: 2.6rem;}

footer hr {
	border-top: 1px solid #D8E8E8;
}

footer .school2 {
	display: none;
	}

@media screen and (max-width: 1100px) {
footer {
	width: 1100px;
	}
}
@media screen and (max-width: 768px) {
footer {
	width: 100%;
	}
footer .wrap {
	width: 100%;
	}
footer .school {
	display: none;
	}
footer .school2 {
	display: inline;
	}
}
@media screen and (max-width: 450px) {
footer ul {
	margin: 0 1rem 1rem 3rem;
	}
}


/* トップページ
------------------------------------- */

#home .main_img {
	width: 100%;
	background-color: #F0E9DF;
}
#home .main_img .slider1  {
	width: 1200px;
	margin: 0 auto;
	padding: 0;
	line-height: 0;
	position: relative;
}
#home .main_img .item a, #home .main_img .item{
	display: block;
	height: 687px;
	background-repeat: no-repeat;
	background-position: center bottom;
}
#home .slider1 .item.img01 a {background-image: url(../images/home_main_img01.jpg); }
#home .slider1 .item.img02 a {background-image: url(../images/home_main_img02.jpg); }
#home .slider1 .item.img03 a {background-image: url(../images/home_main_img03.jpg); }
#home .slider1 .item.img04 a {background-image: url(../images/home_main_img04.jpg); }
#home .slider1 .item.img05 a {background-image: url(../images/home_main_img05.jpg); }
#home .slider1 .item.img06 a {background-image: url(../images/home_main_img06.jpg); }
#home .slider1 .item.img07 a {background-image: url(../images/home_main_img07.png); }
#home .slider1 .item.img08 a {background-image: url(../images/home_main_img08.jpg); }
#home .slider1 .item.img09 a {background-image: url(../images/home_main_img09.png); }
#home .slider1 .item.img10 a {background-image: url(../images/home_main_img10.png); }
#home .slider1 .item.img11 a {background-image: url(../images/home_main_img11.png); }
 #home .slider1 .item.img11_test a {background-image: url(../images/home_main_img11_test.png); }
#home .slider1 .item.img12 a {background-image: url(../images/home_main_img12.jpg); }
#home .slider1 .item.img13 a {background-image: url(../images/home_main_img13.png); }
#home .slider1 .item.img14 a {background-image: url(../images/home_main_img14.jpg); }
#home .slider1 .item.img15 a {background-image: url(../images/home_main_img15.jpg); }
#home .slider1 .item.img16 a {background-image: url(../images/home_main_img16.jpg); }
#home .slider1 .item.img17 a {background-image: url(../images/home_main_img17.png); }
#home .slider1 .item.img18 a {background-image: url(../images/home_main_img18.jpg); }
#home .slider1 .item.img19 a {background-image: url(../images/home_main_img19.jpg); }
#home .slider1 .item.img20 a {background-image: url(../images/home_main_img20.jpg); }
#home .slider1 .item.img21 a {background-image: url(../images/home_main_img21.jpg); }
#home .slider1 .item.img22 a {background-image: url(../images/home_main_img22.png); }
#home .slider1 .item.img23 a {background-image: url(../images/home_main_img23.jpg); }
#home .slider1 .item.img24 a {background-image: url(../images/home_main_img24.jpg); }
#home .slider1 .item.img25 a {background-image: url(../images/home_main_img25.png); }
#home .slider1 .item.img26 a {background-image: url(../images/home_main_img26_cp01.jpg); }
#home .slider1 .item.img27 a {background-image: url(../images/home_main_img27_tw01.jpg); }
#home .slider1 .item.img28 a {background-image: url(../images/home_main_img28_hg01.jpg); }
#home .slider1 .item.img29 a {background-image: url(../images/home_main_img29_mz01.jpg); }
 #home .slider1 .item.img29_test a {background-image: url(../images/home_main_img29_test.jpg); }
#home .slider1 .item.img30 a {background-image: url(../images/home_main_img30_ct01.jpg); }
#home .slider1 .item.img31 a {background-image: url(../images/home_main_img31_hyoict01.jpg); }
#home .slider1 .item.img32 a {background-image: url(../images/home_main_img32.jpg); }
#home .slider1 .item.img33 a {background-image: url(../images/home_main_img33.jpg); }
 #home .slider1 .item.img33_test a {background-image: url(../images/home_main_img33_test.jpg); }
#home .slider1 .item.img34 a {background-image: url(../images/home_main_img34.jpg); }
 #home .slider1 .item.img34_test a {background-image: url(../images/home_main_img34_test.jpg); }
#home .slider1 .item.img35 a {background-image: url(../images/home_main_img35.jpg); }
#home .slider1 .item.img36 a {background-image: url(../images/home_main_img36.jpg); }
#home .slider1 .item.img37 a {background-image: url(../images/home_main_img37.jpg); }

#home .slider1 .item.img39 a {background-image: url(../images/home_main_img39.jpg); }
#home .slider1 .item.img40 a {background-image: url(../images/home_main_img40.jpg); }
#home .slider1 .item.img41 a {background-image: url(../images/home_main_img41.jpg); }
#home .slider1 .item.img42 a {background-image: url(../images/home_main_img42.jpg); }
#home .slider1 .item.img43 a {background-image: url(../images/home_main_img43.jpg); }
#home .slider1 .item.img44 a {background-image: url(../images/home_main_img44.jpg); }
#home .slider1 .item.img45 a {background-image: url(../images/home_main_img45.jpg); }
#home .slider1 .item.img46 a {background-image: url(../images/home_main_img46.jpg); }
#home .slider1 .item.img47 a {background-image: url(../images/home_main_img47.jpg); }
#home .slider1 .item.img48 a {background-image: url(../images/home_main_img48.jpg); }
#home .slider1 .item.img49 a {background-image: url(../images/home_main_img49.jpg); }
#home .slider1 .item.img50 a {background-image: url(../images/home_main_img50.jpg); }
#home .slider1 .item.img51 a {background-image: url(../images/home_main_img51.jpg); }
#home .slider1 .item.img52 a {background-image: url(../images/home_main_img52.jpg); }
#home .slider1 .item.img53 a {background-image: url(../images/home_main_img53.jpg); }


#home .main_img .wrap {
	width: 190px;
	position: absolute;
	top: 8px;
	left: 100px;
	margin: 0 auto;
}

#home .main_img .phone1 {
	display: inline-block;
	width: 200px;
	margin-top: 5px;
	color: #007a99;
	vertical-align: top;
	left: 0;
}

#home .main_img .blog a {
	margin-top: 1rem;
	display: block;
	width: 131px;
	height: 131px;
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
	background-image: url(../images/btn_nyushi.svg);
	background-repeat: no-repeat;
}

@media screen and (max-width: 1200px) {
#home .main_img .slider1 {
	width: 100%;
	}
}
@media screen and (max-width: 1100px) {
#home .main_img .slider1 {
	width: 1100px;
	}
}
@media screen and (max-width: 768px) {
#home .main_img .slider1 {
	width: 100%;
	}
#home .main_img .item a,#home .main_img .item {
	width: 100%;
	height: 65vw;
	background-size: cover;
	}
#home .main_img .wrap {
	width: 100px;
	left: 0px;
	}
#home .main_img .phone-1 {
	display: none;
	}
#home .main_img .blog a {
	margin: 0 0 0 10px;
	width: 75px;
	height: 75px;
	}
}

/* ------------------------- */

#home .notice {
	width: 100%;
	background-color: #ebeff0;
	margin-bottom: 0;
}
#home .notice .inner {
	width: 1100px;
	padding: 2rem 115px 1.5rem;
	font-size: 1.8rem;
	line-height: 1.5;
	color: #00a0c0;
	margin: 0 auto;
}
#home .notice .inner h2 {
	font-size: 1.3em;
	color: crimson;
}
#home .notice .inner h2::after {
	content: url(../images/icon_exclamation-circle.svg);
	margin-left: 0.2em;
	vertical-align: -0.12em;
}

#home .notice .inner ul {
	display: flex;
	flex-wrap: wrap;
}

#home .notice .inner ul .link {
	margin-left: 1.3rem;
	padding-left: 2rem;
	font-size: 0.9em;
	border-left: 1px solid #00a0c0;
}
#home .notice .inner ul .link a {
	color: #00a0c0;
}

@media screen and (max-width: 768px) {
#home .notice .inner {
	width: 100%;
	padding: 2rem 0.5rem 1.5rem;
	font-size: 1.4rem;
	text-align: center;
	}
#home .notice .inner ul {
	display: block;
	}
#home .notice .inner ul .link {
	margin-left: 0.8rem;
	padding-left: 1rem;
	border-left: none;
	}
}

/* ------------------------- */

#home .information {
	width: 910px;
	margin: 3rem auto 4rem;
}

#home .information h2 {
	padding: 0 2rem;
	font-size: 2.5rem;
	font-family: 'Roboto';
	color: #00a0c0;
}

#home .information dl {
	display: table;
	width: 100%;
	margin: 0;
	padding: 0 1rem;
	font-size: 1.4rem;
	line-height: 1.6;
}

#home .information dt {
	text-align: left;
	clear: left;
	float: left;
	width: 11.4em;
	padding: 0.8rem 1rem 0.8rem 1rem;
	color: #00a0c0;
	font-weight: normal;
	position: relative;
}

#home .information dd {
	text-align: left;
	padding: 0.8rem 1.5rem 0.8rem 11.3em;
	border-bottom: 1px solid #2DC4E2;
}

#home .information dd a {
		color: #333;
}

#home .information dt span.new {
	background-color: #FFA500;
	font-size: 1.1rem;
	color: #FFF;
	margin: 0 0 0 1rem;
	padding: 0 1.2rem;
	vertical-align: 0.1rem;
}

#home .information dt span.info {
	background-color: #0087C0;
	font-size: 1.1rem;
	color: #FFF;
	padding: 0 2.5rem;
	vertical-align: 0.1rem;
}

#home .information dt span.request {
	background-color: #0087C0;
	font-size: 1.1rem;
	color: #FFF;
  margin: 0 0 0 1rem;
	padding: 0 0.79rem;
	vertical-align: 0.1rem;
}

#home .information dt span.notice {
	background-color: #ff1493;
	font-size: 1.1rem;
	color: #FFF;
	margin: 0 0 0 1rem;
	padding: 0 1.2rem;
	vertical-align: 0.1rem;
}


#home .information dl p {
	margin: 1rem 0;
}

@media screen and (max-width: 768px) {
#home .information {
	width: 100%;
	}
}
@media screen and (max-width: 500px) {
#home .information h2 {
	padding: 0 1.5rem;
	}
#home .information dt {
	width: 100%;
	padding: 0.8rem 0 0.3rem 0.5rem;
	}
#home .information dd {
	padding: 0.8rem 0.5rem 0.8rem 0.5rem;
	}
}

/* ------------------------- */

#home .btn_course {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#home .btn_course li a {
	display: block;
	width: 381px;
	font-size: 3rem;
	color: #0093bf;
	margin: 10px 15px;
	padding: 13px 15px 13px 50px;
	background-image: url(../images/btn_course_bg.svg);
	background-repeat: no-repeat;
	border: 1px solid #71c8db;
	box-shadow: 3px 2px 3px 0px rgba(0, 0, 0, 0.2);
}

#home .btn_course li a span {
	display: block;
	font-size: 1.4rem;
	color: #333;
	line-height: 1.4;
}

#home .btn_course li a .detail {
	width: 159px;
	height: 13px;
	margin: 10px 15px 0 auto;
	background-image: url(../images/btn_detail.svg);
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
}

#home .btn_course li.c01 a {background-color: #fccb30;}
#home .btn_course li.c02 a {background-color: #f19075;}

#home .btn_course li a:hover {
	text-decoration: none;
	box-shadow:0 0 0.8rem 0 #0093bf;
}

@media screen and (max-width: 460px) {
#home .btn_course li a {
	width: 28rem;
	padding: 1.3rem 1.5rem 1.3rem 3rem;
	}
}

/* ------------------------- */

#home .movie .row {
	margin: 0 1rem;
}
.movie iframe {
	padding: 8px;
	border: 1px solid #71c8db;
}

/* ------------------------- */

#home .pickup .slider2 {
	width: 90.8rem;
	margin: 1.5rem auto 1rem;
	padding-bottom: 1rem;

}

#home .pickup .slider2 img {
	height: 13.8rem;
	margin: 0 0.4rem;
}

@media screen and (max-width: 768px) {
#home .pickup .slider2 {
	width: 95%;
	}
}

/* ------------------------- */

#home .facility .slider2 {
	width: 90.8rem;
	margin: 1.5rem auto 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #00a0c0;
}

#home .facility .slider2 img {
	height: 14.8rem;
	margin: 0 0.2rem;
}

@media screen and (max-width: 768px) {
#home .facility .slider2 {
	width: 95%;
	}
}



/* ------------------------- */

#home section.blog .box {
	display: block;
	max-width: 60rem;
	margin: 0 auto;
	padding: 2.6rem 2rem;
	text-align: center;
	color: #00aebb;
	background-color: #f5fbfd;
	border: 1px solid #00a0c0;
	border-radius: 0.7rem;
}

/* 合格実績
------------------------------------- */

.passed_no span {
    font-size: 2.6rem;
    font-weight: bold;
    margin-left: 2%;
	}
.passed_no p {
    margin-bottom: 0;
	}
.passed_no span.goukei {
    font-size: 4rem;
	}


/* 保護者の皆さまへ
------------------------------------- */

.faq-2 dt {
	margin: 0 2rem 1rem 3rem;
	padding-left: 3.5rem;
	font-weight: normal;
	color: #0093bf;
	position: relative;
}

.faq-2 dd {
	margin: 0 2rem 3rem 7rem;
	padding-left: 3.5rem;
	position: relative;
}

.faq-2 dt::before {
	position: absolute;
	top: 0.2rem;
	left: 0rem;
	content: url(../images/faq_q.svg);
}

.faq-2 dd::before {
	position: absolute;
	top: 0.2rem;
	left: 0rem;
	content: url(../images/faq_a.svg);
}

@media screen and (max-width: 768px) {
.faq-2 dt {
	margin: 0 0 1rem 0;
	padding-left: 3.5rem;
	}
.faq-2 dd {
	margin: 0 0 2rem 0;
	padding-left: 3.5rem;
	}
}


/* 合格体験記
------------------------------------- */

#voice h2.ttl-1.details::before {
	content: url(../images/icon_cap.svg);
}

#voice .detail_icon img {
	width: 4rem;
}

#voice .detail_photo img {
	width: 8rem;
}

#voice .photo img {
	position: absolute;
	margin: -3px -60px 8px;
	width: 5rem;		
}

.voice_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
	width: 75rem;
	margin: 0 auto;
	}

.voice_btn li {
	display: table;
	margin: 0 2.4rem 1.5rem;
}

.voice_btn li h4 {
	margin-bottom: 0.6rem;
	font-size: 1.8rem;
	line-height: 1.3;
	color: #3D3D3D;
}

.voice_btn li h4 span {
	display: block;
	font-size: 1.4rem;
	color: #0093bf;
}

.voice_btn li .name {
	margin: 0;
	font-size: 1.4rem;
	color: #0093bf;
}

.voice_btn li a {
	display: table-cell;
	vertical-align: middle;
	position: relative;
	width: 32.5rem;
	height: 9rem;
	padding: 0 1rem 0 7rem;
	line-height: 1.3;
	border: 1px solid #003461;
	background-color: #FFF;
}

.voice_btn li a:hover {
	text-decoration: none;
	background-color: #edeff4;
}

.voice_btn li a::before {
	position: absolute;
	top: 1.8rem;
	left: 2rem;
	font-size: 1.1em;
	color: #0093bf;
	line-height: 1;
	content: url(../images/icon_boy.svg);
    font-family: FontAwesome;
	width: 3rem;
}

.voice_btn li a::after {
	position: absolute;
	top: 3.5rem;
	right: 2rem;
	font-size: 1.1em;
	color: #0093bf;
	line-height: 1;
	content: "\f144"; /* play-circle */
    font-family: FontAwesome;
}

.voice_btn li.girl a {
	border: 1px solid #b4141d;
}
.voice_btn li.girl a:hover {
	background-color: #f8eae3;
}
.voice_btn li.girl a::before {
	content: url(../images/icon_girl.svg);
}


.voice_btn li.hosoi a {
	border: 1px solid #003461;
}
.voice_btn li.hosoi a:hover {
	background-color: #edeff4;
}
.voice_btn li.hosoi a::before {
    content: '';
    background-image: url(/voice/images/hosoi.png);
    background-size: cover;
    width: 4.8rem;
    height: 6.8rem;
    top: 1rem;
	left: .9rem;
}


.voice_btn li.ojima a {
	border: 1px solid #003461;
}
.voice_btn li.ojima a:hover {
	background-color: #edeff4;
}
.voice_btn li.ojima a::before {
	content: '';
    background-image: url(/voice/images/ojima.png);
    background-size: cover;
    width: 4.8rem;
    height: 6.8rem;
    top: 1rem;
	left: .9rem;
}



.voice_btn li a img {
	position: absolute;
	left: 8px;
	top: 5px;
	width: 54px;	
}


.voice_btn li a img:hover {
	opacity: 1;
	filter: alpha(opacity=100);
}


@media screen and (max-width: 768px) {
.voice_btn {
	justify-content: center;
	width: 100%;
	}
.voice_btn li {
	margin: 0 0.8rem 1.5rem;
	}
.voice_btn li a {
	width: 30rem;
	}
}

/* ------------------------- */

.voice_QA h3 {
	font-size: 1.6rem;
	line-height: 1.7;
}
.voice_QA li {
	padding: 2rem 10rem;
}
.voice_QA li:nth-child(odd){
	background-color: #F6F6F6;
}

.voice_QA dt {
	margin: 0 2rem 1rem 3rem;
	padding-left: 2.5rem;
	font-weight: normal;
	color: #0093bf;
	position: relative;
}

.voice_QA dd {
	margin: 0 2rem 0 8rem;
	padding-left: 3.5rem;
	position: relative;
}

.voice_QA dt::before {
	position: absolute;
	top: -0.2rem;
	left: 0rem;
	content: "\f14a"; /* check-square */
    font-family: FontAwesome;
}

.voice_QA dd::before {
	position: absolute;
	top: -1.35rem;
	left: 0rem;
	font-size: 1.5em;
	color: #0093bf;
	content: "\f27b"; /* commenting-o */
    font-family: FontAwesome;
	transform:rotateY(180deg);
}

@media screen and (max-width: 768px) {
.voice_QA li {
	margin: 0 -2rem;
	padding: 2rem 3rem;
	}
.voice_QA dt {
	margin: 0 0 1rem 0;
	}
.voice_QA dd {
	margin: 0 0 0 0;
	}
}


/* Ｑ＆Ａ
------------------------------------- */

.faq-1 .child {
	display: none;
}

.faq-1 li {
	margin: 0 4rem 1rem;
	padding: 1.2rem 0 1px;
}

.faq-1 li.active {
	background-color: #F6F6F6;
}

.faq-1 dt {
	margin: 0 2rem 1rem 3rem;
	padding: 0 3.5rem;
	font-weight: normal;
	line-height: 1.5;
	color: #0093bf;
	position: relative;
	cursor: pointer;
}
.faq-1 dt h3 {
	font-size: 1.6rem;
	line-height: 1.5;
}

.faq-1 dd {
	margin: 0 2rem 3rem 6.5rem;
	padding: 1rem 1rem 0 0;
	position: relative;
	border-top: 1px solid #CCC;
}

.faq-1 dt::before {
	content: url(../images/faq_q.svg);
	position: absolute;
	top: 0.2rem;
	left: 0rem;
}

.faq-1 .toggle:after {
	content: "\f067"; /* plus */
    font-family: FontAwesome;
	font-size: 1.8rem;
	color: #0093bf;
	position: absolute;
	top: -0.2rem;
	right: 10rem;
}

.faq-1 .toggle.active:after {
	content: "\f068"; /* minus */
    font-family: FontAwesome;
	color: #0093bf;
	position: absolute;
	top: -0.2rem;
	right: 10rem;
}

@media screen and (max-width: 768px) {
.faq-1 li {
	margin: 0 -2rem 1rem;
	padding: 1.2rem 2rem 1px;
	}
.faq-1 dt {
	margin: 0 0 1rem 0;
	}
.faq-1 dd {
	margin: 0 2rem 3rem 3.5rem;
	padding: 1rem 0 0 0;
	}
.faq-1 .toggle:after {
	right: 1rem;
	}
.faq-1 .toggle.active:after {
	right: 1rem;
	}
}


/* 校舎案内
------------------------------------- */

#kousha .border-top9 {
	width: 910px;
	margin: 0 auto;
}

#kousha section {
	margin-bottom: 6rem;
}

@media screen and (max-width: 768px) {
#kousha .border-top9 {
	width: 100%;
	}
#kousha .btn {
	width: 100%;
	}
}

#kousha .box-1 {
	display: flex;
	margin-bottom: 20px;
	padding: 5px;
	border: 1px solid #aaa;
}

#kousha .box-1 dt {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 230px;
	height: auto;
	min-height: 110px;
	font-size: 18px;
	font-weight: normal;
	background-color: #ebeff0;
}

#kousha .box-1 dd {
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	align-content: center;
	padding: 5px 10px 5px 25px;
}

#kousha .box-1 dd p {
	display: inline-block;
	margin: 5px;
	padding: 5px 0;
}

#kousha .box-1 dd .icon {
    display: inline-block;
    margin: 5px;
    padding: 7px 7px 7px 7px;
    text-align: center;
}

@media screen and (max-width: 740px) {
#kousha .box-1 {
		flex-direction: column;
	}
#kousha .box-1 dt {
		width: 100%;
		min-height: 40px;
		font-size: 18px;
	}
#kousha .box-1 dd {
		padding-left: 20px;
	}
}

.column.message {
	padding: 0 0 0 50px;
}
.column.message .photo {
	flex: 1;
}
.colum2.message .txt {
	flex: 3;
}

.column.message2 {
	padding: 0 50px;
}

@media screen and (max-width: 800px) {
	.column.message {
		padding: 0;
	}
}

@media screen and (max-width: 600px) {

	.column .txt {
		margin: 0 0 30px;
	}
	.column .photo {
		width: 70%;
		margin: 0 auto 20px;
	}
  
  .column.message2 {
	padding: 0 20px;
}

}


#kousha .sliderArea {
	width: 90.8rem;
	margin: 0 auto;

}

#kousha .sliderArea img {
	height: 14.8rem;
	margin: 0 0.2rem;
}

#kousha .sliderArea.w300 {
  max-width: 300px;
}
#kousha .slick-slide {
  margin: 0 5px;
}
#kousha .slick-slide img {
  width: 100%;
  height: auto;
}

#kousha .slick-slide {
  transition: all ease-in-out .3s;
  opacity: .2;
}

#kousha .slick-active {
  opacity: 1;
}
#kousha .slick-current {
  opacity: 1;
}

@media screen and (max-width: 768px) {
#kousha .sliderArea {
    max-width: 100%;
    height: auto;
	}
}



/* 画面固定 資料請求　2020.02.05
------------------------------------- */
/* @media screen and (max-width: 600px) {
*/

.RequestBox{
	text-align: center;
	position: relative;
	display: none;
	font-weight: bold;
	line-height:0.8em;
}
.RequestBox .RequestBox_cover{
	position: fixed;
	width:600px;
	height: 60px;
	bottom: 100px;
	left:50%;
	margin-left:-300px;/* Negative margin. 50% of width */
	z-index: 1;
}
.RequestBox_inner{
	box-sizing:border-box;
	padding: 10px 10px 10px 0;
	font-size: 2rem;
}

/* Media Queries */
@media screen and (max-width: 600px) {
.RequestBox .RequestBox_cover{
	width:310px;
	bottom: 80px;
	margin-left:-160px;
	}
.RequestBox_inner{
	font-size: 1.7rem;
	}
.RequestBox img{
	width: 30px;
	}
}
/* End Media Queries */

.RequestBox .RequestBox_cover a{
 	display: block;
	background-color: #FCCB30;
	color: #222;
	border-radius: 10px;
	box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
}
.RequestBox .RequestBox_cover a:hover{
	text-decoration: none;
	color: #222;
	background-color:#0DCC9F!important;
	}

/* close design*/
.RequestBox .RequestBox_cover p.close{
	position: absolute;
	right: 10px;
	top:10px;
}
.RequestBox .RequestBox_cover p.close a{
	display: block;
	width: 25px;
	height: 25px;
	box-shadow: none;
	border-radius: 20px!important;
}
.RequestBox .RequestBox_cover p.close a span{
	display: block;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.RequestBox .RequestBox_cover p.close a i{
	font-size: 20px;
	z-index: 1;
	color: #222;
}
/* End close design*/



/* ------------------------- */

.topmenu {
	text-align: center;
}

.topmenu li {
	margin-bottom: 15px;
}

@media screen and (max-width: 600px) {
	.topmenu li {
		margin-bottom: 8px;
	}
}

/* ------------------------- */

.marker{
background:linear-gradient(transparent 85%, #fff799 75%);
font-weight:bold; 
}

.marker-all {
  background: #fff799;
  font-weight:bold;
  padding: 5px;
  margin: 10px 10px 0 10px;
}



/* ------------------------ */
/* ----- 20230127 追加 ----- */

/* --- 文字単設定 ※随時追加 --- */
.text-16 {
  font-size: 1.6rem !important;;/* h6設定相当 */
} 
.text-18 {
  font-size: 1.8rem !important;;
} 
.text-20 {
  font-size: 2rem !important;;/* h5設定相当 */
} 
.text-24 {
  font-size: 2.4rem !important;;/* h4設定相当 */
}
.text-26 {
  font-size: 2.6rem !important;/* h3設定相当 */
}
.text-27 {
  font-size: 2.7rem !important;/* h3設定相当 */
}
.text-28 {
  font-size: 2.8rem !important;/* h3設定相当 */
}
.text-32 {
  font-size: 3.2rem !important;/* h2設定相当 */
}
.text-72 {
  font-size: 7.2rem;/* h2設定相当 */
}

.small-80 {
  font-size: 80% !important;
}

.font-normal {
  font-weight: normal;
}

.font-bold {
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .text-24 {
    font-size: 2rem;
  }
  .text-28 {
  font-size: 2.6rem !important;/* h3設定相当 */
  }
  .text-32 {
    font-size: 2.8rem !important;/* h2設定相当 */
  }
}

@media screen and (max-width: 500px) {
  .text-28 {
  font-size: 2.3rem !important;/* h3設定相当 */
  }
  .text-32 {
    font-size: 2.6rem !important;/* h2設定相当 */
  }
}

.ttl-02 {
  line-height: 1.4;
  color: #0093bf;
}

/* --- 余白単設定 ※随時追加 --- */

.mt-01 {
  margin-top: 1px !important;
}
.mt-02 {
  margin-top: 2px !important;
}
.mt-03 {
  margin-top: 3px !important;
}

.ml-0 {
  margin-left: 0 !important; 
}
.ml-5 {
  margin-left: 5px !important; 
}
.mb-50 {
  margin-bottom: 50px !important;
}
.mb-80 {
  margin-bottom: 80px !important;
}




/* ------ hタグ・見出し 見直し設定 ------ */
/* 各hタグ専用見出しを自由に使えるように分離 */
/* ------ ※h1、h2一部の専用は除く ------ */
/* ------------- 2023～ -------------- */

/* h2専用見出し相当（一部除く）*/
.ttl-2-01 {
	margin: 1rem 0 2rem 0;
	padding: 1.2em 0 0.3em;
	font-size: 3rem;
	text-align: center;
	color: #0093bf;
	border-bottom: 1px solid #0093bf;
	position: relative;
}
.ttl-2-01::before {
	content: url(../images/h2-ttl-1_before.svg);
	position: absolute;
	top: -1.2rem;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.ttl-2-01 span {
	font-size: 4.5rem;
	letter-spacing: 0.1;
}

@media screen and (max-width: 768px) {
.ttl-2-01 {
	font-size: 2.3rem;
	}
.ttl-2-01 span {
	font-size: 2.3rem;
	}
}

/* ------------------------- */

.ttl-2-02 {
	margin-bottom: 2rem;
	padding: 0 4rem 0.3em;
	font-size: 3rem;
	color: #0093bf;
	border-bottom: 1px solid #0093bf;
}

@media screen and (max-width: 768px) {
.ttl-2-02 {
	font-size: 2.3rem;
	padding: 0 0.3rem 0.3em;
	}
}
/* ------------------------- */

/* h3専用見出し相当 */
.ttl-3-01 {
	margin-bottom: 1em;
	padding: 1.4em 0 0.5em;
	font-size: 2.7rem;
	letter-spacing: 0.05em;
	text-align: center;
	line-height: 1.4;
	color: #0093bf;
	position: relative;
}

.ttl-3-01 span {
	display: block;
	font-size: 5rem;
	line-height: 1;
	font-family: 'Times New Roman';
}

.ttl-3-01::before {
	content: url(../images/h3-ttl-1_before.svg);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.ttl-3-01::after {
	content: '';
	width: 9em;
	height: 1px;
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	border-top: solid 1px #0093bf;
}

@media screen and (max-width: 768px) {
.ttl-3-01 {
	font-size: 2rem;
	}
}
/* ------------------------- */

/* h4専用見出し相当 */
.ttl-4-01 {
	margin-top: 2.3rem;
	padding: 1.6em 0 0.5em;
	font-size: 2rem;
	text-align: center;
	line-height: 1.4;
	color: #0093bf;
	position: relative;
}
.ttl-4-01::before {
	content: url(../images/h4-ttl-1_before.svg);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

/* ------------------------- */

.ttl-4-02 {
	display: table;
	position: relative;
	margin: 0.6rem auto 1.5em;
	padding: 0.5em 3em;
	font-size: 2.7rem;
	letter-spacing: 0.1em;
	color: #0093bf;
	background: #ebeff0;
}

.ttl-4-02::before,
.ttl-4-02::after {
   content:'';
    width: 2em;
    height: 124%;
    position: absolute;
    top: -12%;
 }

.ttl-4-02:before{
    border-left: solid 1px #00a0c0;
    border-top: solid 1px #00a0c0;
    border-bottom: solid 1px #00a0c0;
    left: -0.3em;
}

.ttl-4-02:after{
    border-top: solid 1px #00a0c0;
    border-right: solid 1px #00a0c0;
    border-bottom: solid 1px #00a0c0;
    right: -0.3em;
}

@media screen and (max-width: 768px) {
.ttl-4-02 {
	font-size: 2rem;
	}
}

/* ------------------------- */

/* h5専用見出し相当 */

.ttl-5-01 {
	font-size: 2.7rem;
	line-height: 1.4;
	color: #0093bf;
}

@media screen and (max-width: 768px) {
.ttl-5-01 {
	font-size: 2.3rem;
	}
}

/* ------------------------- */

.ttl-5-02 {
	font-size: 2rem;
	line-height: 1.4;
	color: #0093bf;
}

/* ------------------------- */

.ttl-5-03 {
	margin-bottom: 1.3em;
	font-size: 1.6rem;
	color: #0093bf;
	position: relative;
}

.ttl-5-03::after{
   content:'';
    width: 3em;
    height: 1px;
    position: absolute;
    top: 1.4em;
	left: 0;
	border-top: 1px solid #0093bf;
 }

/* ------------------------- */

.ttl-5-04 {
	margin-bottom: 1rem;
	padding-bottom: 0.5rem;
	font-size: 1.6rem;
	text-align: center;
	line-height: 1.4;
	color: #0093bf;
	border-bottom: 1px solid #0093bf;
}

/* ------------------------- */
/* -------- その他見出し -------- */
.ttl-type01 {
  border-left: 5px solid #0093bf;
  border-bottom: 1px dashed #b4b4b4;
  padding: 0.25em 0 0.3em 0.5em;
  margin-top: 1em;
  margin-bottom: 0.5em;
}

.ttl-type02 {
  color: #0093bf;
  padding: 0 3em;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  position: relative;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

.ttl-type02:before,
.ttl-type02:after {
  content: '';
  background: #0093bf;
  width: 2em;
  height: 1px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.ttl-type02:before {
  left: 0;
}

.ttl-type02:after {
  right: 0;
}


/* ------------------------ */
/* ----- 20230206 追加 ----- */
span.indent1 {
	display: inline-block;
}

/* ------------------------ */
/* ----- 20230209 追加 ----- */
td.min-size-1 {
	min-width: 4em;
}
@media screen and (min-width: 541px) {
td.min-size-1 {
	min-width: 5.2em;
}
}

.d-none-410 {
	display: inline;
}
@media screen and (min-width: 410px) {
	.d-none-410 {
		display: none;
	}
}

/* table */
.tbl-01 tbody th, .tbl-01 tbody td {
	padding: 1rem 2rem;
}

.tbl-01 tbody td {
	text-align: center;
}
@media screen and (max-width: 540px) {
.tbl-01 tbody th, .tbl-01 tbody td {
	padding: 0.5rem 0.5rem;
	}
}
/* ---- */
.note p {
	font-size: 87%;
	color: #666;
}
.note dl {
	display: flex;
	flex-flow: row nowrap;
	font-size: 87%;
	color: #666;
}

.note dl dt {
	flex-basis: 1.5rem;
}

.note dl:last-of-type {
    margin-bottom: 1rem;
}

/* ------------------------ */
/* ----- 20230217 追加 ----- */
h2.ttl-1 span.small {
	font-size: 87%;
}

@media screen and (max-width: 768px) {
h2.ttl-1 span.small {
	font-size: 80%;
}
}

/* ------------------------*/
/* 高卒生コース（常設ページ）用 */
/* ---- 20230222 追加 ----- */
.tbl-3 {
  margin: 10px auto;
  font-size: 1.4rem;
}

.tbl-3  th {
  width:calc( 100% / 6 );
  font-weight: normal;
  text-align: center;
}

.tbl-3 td {
  border: solid 1px #333;
  text-align: center;
}

.tbl-3 tr:nth-child(2) td{
  background: #eee;
}

.tbl-3 tr:nth-child(3) td{
  font-size: 1.2rem;
  background: #c7dbf1;
}

/* ------------------------*/
/* ------学費案内用----------*/
/* ---- 20230224～ 追加 ---- */
h5.ttl-5 {
  border-left: solid 5px #0093bf;
  padding-left: 1rem;
  margin-bottom: 1.5rem;
  color: #0093bf;
}

h5.ttl-5 p{
  border-bottom: dotted 1px #0093bf;
  padding: 0.3rem 1rem !important;
}

.gakuhi section .wrap {
  padding: 1rem 1rem 1rem 5rem;
}

.gakuhi .container {
  padding-left: 0;
}

.kakaku {
  display: inline-block;
  font-size: 2.4rem;
  font-weight: bold;
  border-bottom: 3px solid #0093bf;
  margin-bottom: 2rem;
  color: #333;
  line-height:1.5;
}

.kakaku-wrap {
  display: table;
  font-weight: 600;
  color: #757575;
}

.kakaku-wrap p {
  display: table-cell;
}

.kakaku-wrap p:first-of-type {
  padding-right: 100px;
}

@media screen and (max-width: 768px) {
  .kakaku {
    margin-bottom: 0;
  }
  .kakaku-wrap p {
    display: block;
}
  .kakaku-wrap p:first-of-type {
  padding-right: 0;
}
}

.kakaku2 dl {
  display: table;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.2;
  border: solid 2px #0093bf;
  margin-bottom: 0.2rem;
}

.kakaku2 dt {
  color: #fff;
  background-color: #0093bf;
  display: table-cell;
  padding: 0.5rem 1rem;
  text-align: center;
  vertical-align: middle;
}

.kakaku2 dd {
  display: table-cell;
  width: 230px;
  padding: 0.5rem 1rem;
  text-align: right;
  vertical-align: middle;

}

.gakuhi section ul.disc li {
  list-style-type: disc;
  margin-left: 2rem;
  font-size: 87.5%;
}

.tbl-4 {
  display: table;
  border-collapse: collapse;
  width: 80%;
  table-layout: auto;
  margin-bottom: 0.5rem;
}

.tbl-4 ul {
  display: table-row;
}
.tbl-4 li {
  display: table-cell;
  border-bottom: solid 4px #fff;
  border-right: solid 4px #fff;
  background: #eee;
  padding: 0.5rem 1.5rem;
  text-align: center;
  vertical-align: middle;
  color: #757575;
  font-weight: bold;
}

.tbl-4 ul:first-child li {
  background: #999;
  color: #fff;
}

.tbl-4 ul:nth-child(2) li:first-child,
.tbl-4 ul:nth-child(3) li:first-child,
.tbl-4 ul:nth-child(4) li:first-child {
  background: #68c4e2;
  color: #fff;
  text-align: left;
  min-width: 11rem;
}

/* tbl-04 */
.tbl-04 {
  width: 90%;
  table-layout: auto;
  margin-bottom: 0.5rem;
}

.tbl-04 th {
  border-bottom: solid 4px #fff !important;
  border-right: solid 4px #fff;
  background: #68c4e2;
  padding: 0.5rem 1.5rem;
  text-align: left;
  vertical-align: middle;
  color: #fff;
}

.tbl-04 tr:first-child th {
  background: #999;
  text-align: center;
}

.tbl-04 td {
  border-bottom: solid 4px #fff;
  border-right: solid 4px #fff;
  background: #eee;
  padding: 0.5rem 1.5rem;
  text-align: center;
  vertical-align: middle;
  color: #757575;
  font-weight: bold;
}

.tbl-04 td:first-of-type {
    text-align: left !important;
}


@media screen and (max-width: 768px) {
    .tbl-4 {
      width: 100%;
}
    .tbl-04 {
      width: 100%;
}
}

@media screen and (max-width: 670px) {
    .tbl-4 li {
      padding: 0.5rem;
}
    .tbl-4 .type-mb {
      display: inline;
  }
    .tbl-04 li {
      padding: 0.5rem;
}
    .tbl-04 .type-mb {
      display: inline;
  }
}

.tbl-5 {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 0.3rem;
  line-height: 1.5;
  color: #575757;
  font-size: 1.4rem;
  text-align: center;
  border-top: solid 1px #575757;
  border-left: solid 1px #575757;
}

.tbl-5 th {
  background: #e4f5ff/*#eee*/;
}

/*
.tbl-5 tr:nth-child(1) th,
.tbl-5 tr:nth-child(2) th {
  position: relative;
}


.tbl-5 tr:nth-child(1) th:nth-child(n+1):nth-child(-n+3)::before {
    content: "";
    width: 100%;
    height: 3px;
    position: absolute;
    border: solid 1px #575757;
    left: 0;
    bottom: -2px;
    border-left: none;
    border-right: none;
}

.tbl-5 tr:nth-child(2) th::before {
    content: "";
    width: 100%;
    height: 3px;
    position: absolute;
    border: solid 1px #575757;
    left: 0;
    bottom: -2px;
    border-left: none;
    border-right: none;
}
*/


.tbl-5 th,
.tbl-5 td {
  padding: 1rem;
  border-bottom: solid 1px #575757;
  border-right: solid 1px #575757;
}


.tbl-5 tr:nth-child(5) td {
  border-bottom: solid 2px #666;
  background: #eee;
}

.tbl-5 tr:nth-child(n+1) td:first-of-type {
    text-align: left;
}

.tbl-5 tr:first-child th:last-child {
  border-bottom: solid 3px #0093bf;
  background: #0093bf;
  color: #fff;
}

.tbl-5 tr:nth-child(n+3) td:last-child {
  /*border: solid 3px #0093bf;
  border-bottom: solid 1px #0093bf;*/
  font-weight: bold;
}

.tbl-5 tr:nth-child(n+3) th {
    background: #afafaf;
    color: #fff;
}

.tbl-5 tr:nth-child(3) th {
    border-bottom: solid 2px #666;
}

@media screen and (max-width: 600px) {
  .tbl-5 {
    font-size: 1.2rem;
  }
  .tbl-5 th,.tbl-5 td {
    padding: 0.5rem;  
  }
}


.tbl-6 {
  display: table;
  border-collapse: collapse;
  width: 100%;
  table-layout: auto;
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
  line-height: 1.5;
}

.tbl-6 ul {
  display: table-row;
}

.tbl-6 li {
  display: table-cell;
  border-bottom: solid 1px #333;
  border-top: solid 1px #333;
  padding: 0.5rem;
  text-align: center;
  vertical-align: middle;
}

.tbl-6 li:first-child {
  background: #eee;
  font-size: 1.4rem;
}


/* *** 改行調整用 *** */
.type-mb {
    display: none;
}
.tbl-6 .type-mb02 {
    display: none;
}
@media screen and (max-width: 768px) {
  .tbl-6 .type-mb02 {
    display: inline;
  }
}

@media screen and (max-width: 600px) {
  .gakuhi section .wrap {
    padding: 0 0 0 2rem;
  }
  
  .kakaku2 dl {
    font-size: 1.6rem;
  }
  
  .kakaku2 dd {
    width: 200px;
  }
  
  .tbl-4 {
    font-size: 87.5%;
  }
 
/* *** 改行調整用 *** */  
  .type-mb {
    display: inline;
  }
}

/* ----学費案内用ここまで-----*/
/* ---（他所で利用可能も有）-- */
/* ------------------------*/


/* --------230309追加------*/

.icon_pdf {
  position: relative;
}

.icon_pdf::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 16px;
  height: 16px;
  bottom: 3px;
  background: url("../images/icon_pdf24.png");
  background-size: contain;
}

/* ---- 講師インタビュー ---- */
.interview h3 {
  font-family: 'Noto Serif JP', serif; 
}

.interview dt {
  color: #004979;
  font-weight: bold;
  padding-left: 4rem;
  position: relative;
}

.interview dt::before {
  content: "――";
  display: inline;
  position: absolute;
  top: 0;
  left: 0;
}

.interview dd {
  text-indent: 5rem;
  position: relative;
}

.interview dd::before {
  content: "大矢：";
  display: inline;
  position: absolute;
  top: 0;
  left: -5rem;
  font-weight: 700;
}

/* 各校残席数 */
.seats-remaining {
  width: 80%;
  margin: 0 auto;
  padding: 10px 5px !important;
}
.seats-remaining h3 {
  font-size: 2rem;
  color: #0093bf;
  text-align: center;
}
.seats-remaining p {
  width: 85%;
  margin-left: auto;
  margin-right: auto;
}
.seats-remaining p.zan {
  font-size: 2rem;
  font-weight: bold;
  color: #0093bf;
  text-align: center;
}
.seats-remaining p.zan span {
  font-size: 3.2rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.seats-remaining p.zan span.text-red {
    margin-bottom: 0;
    font-size: 80%;
    padding-right: 10px;
    padding-left: 0;
}

@media screen and (max-width: 768px) {
  .seats-remaining {
    width: 100%;
  }
  .seats-remaining p {
    width: 95%;
  }
}

/* TOPページ用 校舎案内 */
section.school h5 {
  font-size: 2.4rem;
  color: #0093bf;
  text-align: center;
  border-bottom:solid 1px #0093bf;
  margin-top: 1rem;
  margin-bottom:1.5rem;
  padding-bottom: 1rem;  
}

/* 取り消し線 */
.t-deco-through {
  text-decoration: line-through;
}

/* 改行 */
.d-sm-block1{display:block!important}

@media screen and (min-width: 576px) {
  .d-sm-block1{display:none!important}
}

/* 冊子目次用border-bottom設定 */
.border-bottom-do li {
  border-bottom: dotted 1px #ccc;
  margin-top: 5px;
}

/* 冊子　購入ボタン */
.bt-buy {
  display: flex;
  justify-content: center;
}
.bt-buy a {
  padding: 10px 60px 10px 40px;
  border: solid 1px #00849e;
  border-radius: 30px;
  position: relative;
  text-decoration: none;
}

.bt-buy a::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 20px;
  border-top: 1px solid #00849E;
  border-right: 1px solid #00849E;
  transform: rotate(45deg);
  top: 16px;
}

.bt-buy a:hover {
  background: #00849e;
  color: #fff;
}

.bt-buy a:hover::after {
  border-color: #fff;
}

/* PDFリンク用矢印 */
.pdf-link a {
  padding-left: 2rem;
}
.pdf-link a::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 20px;
  border-top: 1px solid #00849E;
  border-right: 1px solid #00849E;
  transform: rotate(45deg);
  top: 6px;
  left: -1.5rem;
}

/* staff-comment */
#staff-comment ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  box-sizing: border-box;
  margin: 30px auto;
}

#staff-comment li {
  width: calc((100% - 50px)/2);
  margin-bottom: 60px !important;
}

#staff-comment .frame-border {
  display: inline-block;
  border: solid 1px #757575;
  padding: 2px 10px;
  margin-bottom: 20px;
  font-size: 1.3rem;
}

#staff-comment .scomme {
  display: inline-block;
  font-size: 90%;
  border-bottom: dotted 1px #999;
  padding: 0 5px 2px;
  margin-bottom: 10px
}

@media screen and (max-width: 600px) {
  #staff-comment li {
  width: 100%;
}
}

/* 240216 */
.tbl-7 {
  width: 100%;
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
  line-height: 1.5;
}
.tbl-7 th, .tbl-7 td {
  padding: 0.8rem 1.5rem 0.6rem;
  border: 1px solid #CCC;
}

.tbl-7 th {
  font-weight: normal;
}

/* topページ上部表示用 courese　*/
/* ------------------------- */

#home .course .btn_course {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
}

#home .course .btn_course li a {
	display: block;
	width: calc(100% - 20px);
	font-size: 3rem;
	color: #0093bf;
	margin: 10px 15px;
	padding: 13px 15px 13px 50px;
	background-image: url(../images/btn_course_bg.svg);
	background-repeat: no-repeat;
	border: 1px solid #71c8db;
	box-shadow: 3px 2px 3px 0px rgba(0, 0, 0, 0.2);
}

#home .course .btn_course li a span {
	display: block;
	font-size: 80%;
	color: #0093bf;
	line-height: 1.7;
}

#home .course .btn_course li a .detail {
	width: 122px;
	height: 13px;
	margin: 10px 15px 0 auto;
	background-image: url(../images/btn_detail2.svg);
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
}

#home .course .btn_course li.c01 a {background-color: #fccb30;}
#home .course .btn_course li.c02 a {background-color: #f19075;}
#home .course .btn_course li.c03 a {background-color: #56A3A6;}

#home .course .btn_course li a:hover {
	text-decoration: none;
	box-shadow:0 0 0.8rem 0 #0093bf;
}

@media screen and (max-width: 760px) {
  #home .course .btn_course li {
    flex-basis: 100%;
}
  #home .course .btn_course li a {
	width: calc(100% - 15px);
	font-size: 2rem;
	margin: 10px auto;
	padding: 13px 6px 13px 32px;
	box-shadow: 3px 2px 3px 0px rgba(0, 0, 0, 0.2);
}
  #home .course .btn_course li a .detail {
    width: 65px;
    height: 13px;
    margin: 0 0 0 auto;
    background-image: url(../images/btn_detail_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    text-indent: 110%;
    white-space: nowrap;
    overflow: hidden;
}
  #home .course .bg-wide {
    margin: 0 auto 4rem;
}
}

@media screen and (max-width: 460px) {
  #home .course .btn_course li a {
	width: calc(100% - 10px);
  font-size: 16px;
	padding: 1rem 0.8rem 1rem 2.7rem;
	}
  #home .course .bg-wide {
    /*padding: 2rem 2rem 2rem 2.5rem;*/
    padding: 2rem 0.6rem;
  }
}

/* ------------------------- */


/*20240321------------------*/
/*高卒コース 開校の流れ -------*/

ul.flow,
ul.flow2 {
  width: 80%;
  margin: 0 auto;
}

ul.flow li,
ul.flow2 li {
  border-radius: 30px;
  padding: 20px 50px;
  margin-bottom: 80px;
  position: relative;
}

ul.flow2 li {
  margin-bottom: 40px;
}

ul.flow li:last-child,
ul.flow2 li:last-child {
  margin-bottom: 40px;
}

ul.flow li::after {
  content: '';
  display: inline-block;
  width: 50px;
  height: 50px;
  background-image: url(../images/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -80px;
  transform: translateX(-50%);
}

ul.flow li:last-child::after {
  content: none;
}

ul.flow li h3,
ul.flow2 li .title {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.5rem;
}

ul.flow li p,
ul.flow2 li p {
  text-align: center;
}

ul.flow li .wrap,
ul.flow2 li .wrap {
  width: 71%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

@media screen and (max-width: 740px) {
  ul.flow,
  ul.flow2 {
    width: 100%;
}
  ul.flow li,
  ul.flow2 li {
    border-radius: 20px;
    padding: 20px 10px;
} 
  ul.flow li .wrap,
  ul.flow2 li .wrap {
    width: 65%;
}
}

@media screen and (max-width: 540px) {
  ul.flow li .wrap,
  ul.flow2 li .wrap {
    width: 100%;
    justify-content: center;
}
  
}

/* **** 240621 吹出し **** */

.balloon-left {
  position: relative;
  display: inline-block;
  margin: 0.5em 0 0.5em 15px;
  padding: 7px 10px;
  /* min-width: 120px;
  max-width: 100%; */
  width: 100%;
  color: #555;
  font-size: 16px;
  background: #fff/*#eefaff*/;
  border: solid 3px #c0e3f3/*#9ecde2*/;
  border-radius: 8px;
  box-sizing: border-box;
}

.balloon-left::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -16px;
  margin-top: -8px;
  border: 8px solid transparent;
  border-right: 8px solid #fff/*#eefaff*/;
  z-index: 2;
}

.balloon-left::after {
   content: "";
  position: absolute;
  top: 50%;
  left: -22px;
  margin-top: -10px;
  border: 10px solid transparent;
  border-right: 10px solid #c0e3f3/*#9ecde2*/;
  z-index: 1;
}

.balloon-left p {
  margin: 0 !important;
  padding: 0 !important;
}

/* ---- 赤丸 ----- */
.red_circle {
  text-align: center;
  vertical-align: middle !important;
}
.red_circle span {
  display: inline-block;
  padding: 1px 4px;
  color: #e80000;
  font-weight: bold;
  border: solid 2px #e80000;
  border-radius: 50%;
}

/* w_button */

section.w_application {
	padding: 3rem 0 2rem;
}

section.w_application .w_button {
	display: flex;
	justify-content: center;
	margin-bottom: 2rem;
}

section.w_application .w_button p.btn-1 {
	margin: 0 2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px){
	
	section.w_application .w_button {
	display: block;
}
	
	section.w_application .w_button div {
		margin-bottom: 3rem;
	}
	
}

/* ubanner */

.ub_title {
	padding-bottom: 2rem;
}

.ub_title h3 {
	text-align: center;
	margin-bottom: 2rem;
}

section.ubanner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 40px;
	row-gap: 40px;
	margin: 0rem;
	padding: 1rem 0 2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px){
	
	.ub_title {
	padding-bottom: 1rem;
}
	
	section.ubanner {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 0px;
	row-gap: 20px;
	margin: 0rem 2rem;
	padding: 1rem 0 1rem;
}
	
}
