@charset "UTF-8";

body {
    font-size: 1.4rem;
}

/*
--- sub page main header image
---------------------------------------------------------------------------*/
.sub-headerImg-wrapper {
    display: flex;
    max-width: 1920px;
    margin: 0 auto;
}
.sub-headerImg-bgi {
    width: 49%;
    height: 390px;
    background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
h1.sub-headerImg-h1 {
    width: 51%;
    min-width: 380px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 20px 20px 70px;
}

@media only screen and (max-width: 1023px) {
    .sub-headerImg-bgi {
        height: 340px;
    }
    h1.sub-headerImg-h1 {
        font-size: 3.8rem;
        padding: 10px 10px 50px;
    }
}
@media only screen and (max-width: 833px) {
    h1.sub-headerImg-h1 {
        min-width: 300px;
    }
}
@media only screen and (max-width: 767px) {
    .sub-headerImg-wrapper {
        flex-direction: column-reverse;
    }
    h1.sub-headerImg-h1 {
        width: 100%;
        padding-bottom: 30px;
        justify-content: start;
    }
    .sub-headerImg-bgi {
        width: 100%;
    }

}
@media only screen and (max-width: 560px) {
    .sub-headerImg-bgi {
        height: 280px;
    }
    h1.sub-headerImg-h1 {
        font-size: 3.6rem;
        display: none;
    }
}

h2 {
    text-align: center;
}
h3 {
    text-align: center;
}
h2 + h3 {
    /*margin-top: 10px;*/
}
h3 span[data-title] {
    font-size: 3rem;
}
h3 span[data-title]::after {
    right: -0.4em;
}
@media only screen and (max-width: 833px) {
    h3.bsc_h3 {
        text-align: left;
    }
}
@media only screen and (max-width: 560px) {
    *[data-title] {
        padding-bottom: 10px;
    }
    h3 span[data-title]::after {
        right: auto;
        left: 20%;
    }
    
}


/*
---breadcrumbs
---------------------------------------------------------------------------*/
.breadcrumbs {
  font-size: 1.4rem;
  padding: 1em 20px 0;
  color: #333333;
    max-width: 1140px;
    margin: auto;
    display: flex;
    align-items: center;
    gap: 5px;
}
.breadcrumbs > span {
  display: inline-block;
  vertical-align: middle;
    font-size: 1.2rem;
}
.breadcrumbs a {
  color: inherit;
  color: #9D9D9D;
}
.breadcrumbs a:hover {
  color: #d8577a;
}
@media only screen and (max-width: 560px) {
    .breadcrumbs {
        display: none;
    }
}

/*
---mw-wp-form
---------------------------------------------------------------------------*/
.mw_wp_form > :first-child {
  margin-top: 0 !important;
}
.mw_wp_form > :last-child {
  margin-bottom: 0 !important;
}
.mw_wp_form strong {
  color: #2293B1;
}
.mw_wp_form table {
  width: 100%;
}
.mw_wp_form table th, .mw_wp_form table td {
  vertical-align: middle;
}
.mw_wp_form table th {
  width: 280px;
}
.mw_wp_form table th[colspan="2"] {
  background-color: #2293B1;
  color: #fff;
  border-left-color: #2293B1;
  border-right-color: #2293B1;
}
.mw_wp_form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 5px 36px 5px 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
  cursor: pointer;
  background-image: url(../images/icon_select_open.png);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px auto;
  min-width: 150px;
}
.mw_wp_form select::-ms-expand {
  display: none;
}
.mw_wp_form input[type="text"], .mw_wp_form input[type="tel"], .mw_wp_form input[type="email"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 3px;
  display: inline-block;
  box-sizing: border-box;
  max-width: 100%;
  width: 100%;
}
.mw_wp_form input[type="submit"], .mw_wp_form input[type="button"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  max-width: 320px;
  width: 100%;
  margin: 10px auto 0;
  padding: 1rem;
  text-align: center;
  color: #fff;
  border-width: 0;
  background-image: url(../images/arrow_right_wht_6x11.png);
  background-repeat: no-repeat;
  background-position: right 5px center;
  -webkit-background-size: 6px auto;
  background-size: 6px auto;
  background-color: #094AB1;
  transition: all .5s;
  border-radius: 5px;
}
.mw_wp_form input[type="submit"]:hover, .mw_wp_form input[type="button"]:hover {
  background-color: #2980B4;
  color: #fff;
}
.mw_wp_form input[type="submit"].back {
  background-color: #f2f2f2;
  color: inherit;
  border: 1px solid #ddd;
  padding: 10px 15px;
  background-image: none;
}
.mw_wp_form input[type="submit"].back:hover {
  background-color: #fff;
}
.mw_wp_form input.zip, .mw_wp_form input.tel {
  width: 6em;
}
.mw_wp_form input.shorttxt {
  width: 6em;
}
.mw_wp_form input.longtxt {
  width: 100%;
}
.mw_wp_form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 5px;
  box-sizing: border-box;
  display: block;
  width: 100%;
}
.mw_wp_form .mwform-checkbox-field input[type="checkbox"] {
  vertical-align: middle;
}
.mw_wp_form .horizontal-item {
  margin-right: 30px;
  display: inline-block;
  padding: 5px 0;
}
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mw_wp_form .error {
  margin-top: 5px;
  width: auto;
}
.mw_wp_form label.error {
  display: block;
  background-color: #B43032;
  color: #fff;
  padding: 5px 10px;
  margin-top: 5px;
  border-radius: 3px;
}
.mw_wp_form_confirm .conf_non {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .mw_wp_form table {
    display: block;
  }
  .mw_wp_form table tbody, .mw_wp_form table tr, .mw_wp_form table th, .mw_wp_form table td {
    display: block;
  }
  .mw_wp_form table tr + tr th {
    border-top-width: 0;
  }
  .mw_wp_form table th {
    border-bottom-width: 0;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-weight: bold;
    width: auto;
  }
  .mw_wp_form table th + td {
    border-top-width: 0;
  }
}

/*
--- contact form 7
---------------------------------------------------------------------------*/
.must {
	display: block;
	/*background-color: #C00;
	border: solid 2px #C00;*/
	background-color: #fff;
	border: solid 2px #eee;
	padding: 2px 4px;
	font-size: 12px;
    line-height: 1.2;
	color: #c00;
	float: right;
	margin: 0 5px 0;
	border-radius: 4px;
}

input[type=radio],
input[type=checkbox] {
    display: none;
}

textarea,
input[type="number"],
input[type="text"],
input[type="tel"],
input[type="email"]{
	width: 100%;
	padding: 10px 15px;
	font-size: 18px;
	border: 1px solid #CCC;
	background-color: #EEE;
}

textarea {
    height: 150px;
}

/* フォーカス時の色変更 */
textarea:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="text"]:focus {
    border: 1px solid #222;
}

/* ラジオボタン */
.form-radio input[type=radio] {
    position: relative;
    display: inline-block;
    font-size: 18px;
    cursor: pointer;
    padding: 9px 10px 8px 28px;
}

.form-radio input[type=radio]::before,
.form-radio input[type=radio]::after {
    position: absolute;
    display: block;
    content: '';
    top: 50%;
    left: -2px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

.form-radio input[type=radio]::before {
    width: 22px;
    height: 22px;
    margin-top: -11px;
    background: #FFF;
    border: 1px solid #ccc;
}

.form-radio input[type=radio]::after {
    left: 4px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    background: #f4f4f4;
}

.form-radio input[type=radio]:checked::after {
    background: #333;
}

.wpcf7-list-item-label {padding-left: 10px; display: inline-block;}

/* チェックボックス */
.form-checkbox label {
    position: relative;
    display: inline-block;
    font-size: 12px;
    font-size: 1.2rem;
    cursor: pointer;
    padding: 6px 5px 8px 30px;
}

.form-checkbox label::before,
.form-checkbox label::after {
    position: absolute;
    display: block;
    content: '';
    top: 50%;
    left: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.form-checkbox label::before {
    width: 22px;
    height: 22px;
    margin-top: -12px;
    background: #FFF;
    border: 2px solid #ccc;
}

.form-checkbox input[type=checkbox]+label::after {
    width: 24px;
    height: 24px;
    top: 2px;
}

.form-checkbox input[type=checkbox]:checked+label::after {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/icon_check.png) 0 0 no-repeat;
    background-size: 24px 24px;
    left: -1px;
    top: -1px;
}

.form-select,.search-select,.search-select2 {
    display: block;
    position: relative;
    width: 100%;
    overflow: hidden;
}
.form-select {height: 43px; border: 1px solid #ccc; width: calc(100% - 2px);overflow: visible;}
.search-select.search-select2 {height: 58px; border: 1px solid #666666;}
.form-select select,.search-select select,.search-select2 select {
	width: 100%;
	border: none;
	position: relative;
	background-repeat: no-repeat;
	background-size: 20px 15px;
	background-position: right 20px center;
}
.form-select select {
  background-color: #eee;
  font-size: 18px;
  height: 43px;
  padding: 0 0 0 10px;
}
.form-select::after {
  content: '';
  width: 10px;
  height: 10px;
  border: 0px;
  border-bottom: solid 2px #222;
  border-right: solid 2px #222;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -8px;
}
.search-select select {
  background-color: #FFF;
  font-size: 20px;
  font-weight: 700;
  height: 58px;
  background-image: url("image/09.svg");
  padding: 0 20px;
}
.search-select2 select {
  background-color: #999999;
  font-size: 20px;
  font-weight: 700;
  height: 58px;
  background-image: url("image/09.svg");
  padding: 0 20px;
}
span.wpcf7-list-item {
  margin: 0 10px 0 0 !important;
}
.wpcf7 .wpcf7-response-output {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.wpcf7 .wpcf7-validation-errors {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.wpcf7 .wpcf7-mail-sent-ok {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.req {
  font-size: 12px;
  font-weight: normal;
}
span.wpcf7-not-valid-tip {
  font-size: 12px !important;
  margin-top: 5px;
}
#formBtn {
  margin: 20px auto 0;
  width: 80%;
}
#search button {
	width: 100%;
	height: 60px;
	display: block;
	position: relative;
	color: #222222;
	text-align: center;
	cursor: pointer;
	font-size: 20px;
	background: #999999;
	font-weight: 700;
}

#mailform button {
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    width: 47%;
    height: 50px;
    display: block;
    position: relative;
    color: #fff;
    text-align: center;
    cursor: pointer;
    margin: 0 1.5% 10px;
    float: left;
    font-size: 16px;
}
#mailform button.confirm {
  background: #111;
  border: 1px solid #111;
}
#mailform button.reset {
  background: #C00;
  border: 1px solid #C00;
}
#mailform button:before {
    position: absolute;
    display: block;
    content: '';
    width: 98%;
    height: 3px;
    background: #ccc;
    bottom: -4px;
    left: 1%;
}

@media print,screen and (min-width: 1024px) {
	#mailform button {
        -webkit-transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
        -moz-transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
        -ms-transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
        transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    }
	#mailform button:hover {
        color: #111;
        background: #fff;
    }
}

dl.cf {
    display: flex;
    border-bottom: solid 1px #eee;
}
dl.cf:first-of-type {
    border-top: solid 1px #eee;
}
dl.cf dd {
    flex: 1;
    padding: 20px;
}
dl.cf dt {
    width: 240px;
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background-color: #d8577a;
    color: #fff;
}
div#mailform p {
    margin-top: 0;
}
dl.cf dt > p {
    width: 100%;
}
.form-radio > p {
    margin-top: 0;
}
span.wpcf7-form-control.wpcf7-radio.radio-input {
    display: flex;
}
span.wpcf7-list-item {
    display: flex;
    align-items: center;
}

div#mailform .submitBtn {
    margin-top: 40px;
    padding: 0 20px;
    text-align: center;
}
div#mailform .submitBtn .g-recap {
    padding: 20px;
    background-color: #f7f7f7;
    color: #808080;
    font-size: 12px;
    text-align: left;
    display: inline-block;
}
input.submit {
	display: flex;
	align-items: center;
	justify-content: center;
    width: 100%;
	max-width: 320px;
	min-height: 60px;
	margin-left: auto;
	margin-right: auto;
	padding: 4px;
	text-align: center;
	color: #323232;
    background-color: #fff;
    border: 1px solid #323232;
	position: relative;
	line-height: 1.3;
}
input.submit::after {
    content: '';
    position: absolute;
    width: 43px;
    height: 6px;
    border-bottom: solid 1px #323232;
    border-right: solid 1px #323232;
    right: 15px;
    top: 50%;
    transform: translateY(-50%) skewX(50deg);
    -webkit-transition: right 0.3s linear;
    -o-transition: right 0.3s linear;
    transition: right 0.3s linear;
}
input.submit:hover::after {
    right: 10px;
}

div#mailform p.form-memo {
    margin-top: 20px;
    margin-bottom: 5px;
}
div#mailform p.form-memo + dl {
    border-top: solid 1px #aaa;
}
dd.mf100 span.wpcf7-form-control.wpcf7-radio.radio-input,
dd.mf344 span.wpcf7-form-control.wpcf7-radio.radio-input {
    flex-wrap: wrap;
}


@media screen and (max-width: 767px)  {
    dl.cf {
        flex-direction: column;
        border: 1px solid #eee;
    }
    dl.cf dt {
        width: 100%;
        padding: 10px;
    }
    dl.cf dd {
        padding: 10px;
    }
    textarea, input[type="number"], input[type="text"], input[type="tel"], input[type="email"] {
        padding: 10px;
        font-size: 14px;
    }
    dd.mf100 span.wpcf7-form-control.wpcf7-radio.radio-input {
        flex-direction: column;
    }
    span.wpcf7-list-item {
        padding: 5px;
    }
}
@media screen and (max-width: 560px) {
    div#mailform .submitBtn {
        margin-top: 30px;
        padding: 0;
    }
    div#mailform .submitBtn .g-recap br {
        display: none;
    }
}

/*
---basic
---------------------------------------------------------------------------*/
hr {
  display: block;
  border-width: 1px 0 0;
  border-color: #ddd;
}
.hr_dotted hr {
  border-style: dashed;
}

select, textarea {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif;
}

.main p, .mceContentBody p {
  margin-top: 1em;
}
.main ul, .main ol, .mceContentBody ul, .mceContentBody ol {
  margin: 1em 0 0;
}
.main ul > li, .main ol > li, .mceContentBody ul > li, .mceContentBody ol > li {
  padding: 0 0 0 1.5em;
  position: relative;
}
.main ul > li:before, .main ol > li:before, .mceContentBody ul > li:before, .mceContentBody ol > li:before {
  position: absolute;
  top: 0;
}
.main ul > li + li, .main ol > li + li, .mceContentBody ul > li + li, .mceContentBody ol > li + li {
  margin-top: 1em;
}
.main ul > li:before, .mceContentBody ul > li:before {
  content: "\0030fb";
  background-image: url(../images/icon_ul_20x20.png);
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: 35% auto;
  background-size: 35% auto;
  color: transparent;
  left: 0;
}
.main ul.caution, .mceContentBody ul.caution {
  margin: 16px 0 0 0.5em;
}
.main ul.caution > li, .mceContentBody ul.caution > li {
  font-size: 0.85em;
  color: #666;
}
.main ul.caution > li:before, .mceContentBody ul.caution > li:before {
  content: "\00203b";
  color: inherit;
  background-image: none;
}
.main ul.caution > li + li, .mceContentBody ul.caution > li + li {
  margin-top: 1em;
}
.main ul.caution.red li, .mceContentBody ul.caution.red li {
  color: #f00;
}
.main ol, .mceContentBody ol {
  counter-reset: li;
}
.main ol > li:before, .mceContentBody ol > li:before {
  counter-increment: li;
  content: counter(li) ".";
  text-align: right;
  width: 2em;
  left: -1em;
}
.main ol.num_caution, .mceContentBody ol.num_caution {
  margin: 16px 0 0 0.5em;
}
.main ol.num_caution > li, .mceContentBody ol.num_caution > li {
  font-size: 0.85em;
  color: #666;
}
.main ol.num_caution > li:before, .mceContentBody ol.num_caution > li:before {
  content: "※" counter(li);
}
.main ol.num_caution > li + li, .mceContentBody ol.num_caution > li + li {
  margin-top: 1em;
}

table + ul.caution, table + ol.num_caution {
  margin-top: -24px !important;
}

table {
    margin: 40px 0;
    background-color: #fff;
    width: 100%;
}
@media screen and (max-width: 767px) {
  table {
    font-size: 1.2rem;
  }
}
table th, table td {
  padding: 15px 10px;
  border: 1px solid #dddddd;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  table th, table td {
    padding: 4px;
  }
}
table th > :first-child, table td > :first-child {
  margin-top: 0 !important;
}
table th > :last-child, table td > :last-child {
  margin-bottom: 0 !important;
}
table th {
  background-color: #d8577a;
  color: #fff;
}
table.table_layout_fix {
  width: 100%;
  table-layout: fixed;
}
table p {
  margin-top: 16px !important;
}
table.w20-80 th:first-child {
  width: 20% !important;
}
table.w30-70 th:first-child {
  width: 30% !important;
}

/* 教員採用 */
section.recruit .singleArticle-con table {
    width: 100% !important;
}
section.recruit .singleArticle-con table th {
    vertical-align: middle;
    text-align: center;
}


@media screen and (max-width: 767px) {
  .smpBlockTableWrapper > table {
    display: block;
  }
  .smpBlockTableWrapper > table tbody, .smpBlockTableWrapper > table tr, .smpBlockTableWrapper > table th, .smpBlockTableWrapper > table td {
    display: block;
  }
  .smpBlockTableWrapper > table tr + tr th {
    border-top-width: 0;
  }
  .smpBlockTableWrapper > table th {
    border-bottom-width: 0;
    padding-top: 4px;
    padding-bottom: 4px;
    font-weight: bold;
  }
  .smpBlockTableWrapper > table th + td {
    border-top-width: 0;
  }

  table.smpBlockTable {
    display: block;
  }
  table.smpBlockTable tbody, table.smpBlockTable tr, table.smpBlockTable th, table.smpBlockTable td {
    display: block;
  }
  table.smpBlockTable tr + tr th {
    border-top-width: 0;
  }
  table.smpBlockTable th {
    border-bottom-width: 0;
    padding-top: 4px;
    padding-bottom: 4px;
    font-weight: bold;
  }
  table.smpBlockTable th + td {
    border-top-width: 0;
  }
    
    /* 教員採用 */
    
    table.w30-70.smpBlockTable th:first-child {
        width: 100% !important;
    }
    section.recruit .singleArticle-con table th,
    section.recruit .singleArticle-con table td {
        padding: 10px;
    }
}
.layoutFixTableWrapper > table {
  width: 100%;
  table-layout: fixed;
}

.remodal-close {
  left: auto;
  right: 0;
}

/*
---
---------------------------------------------------------------------------*/
.listlink_wrp {
  margin-top: 1.5em;
}
.listlink_wrp a {
  display: block;
  padding: 15px 15px 15px 26px;
  color: inherit;
  border-style: dashed;
  border-color: #ddd;
  border-width: 1px 0 0;
  position: relative;
  background-image: url(../images/arrow_6x10_keycolor_border_left.png);
  background-position: 10px 20px;
  background-repeat: no-repeat;
  -webkit-background-size: 6px 10px;
  background-size: 6px 10px;
}
.listlink_wrp a:last-child {
  border-bottom-width: 1px;
}
.listlink_wrp a:hover {
  background-color: rgba(18, 52, 86, 0.05);
}
.listlink_wrp a[href$=".pdf"] {
  padding-right: 52px;
}
.listlink_wrp a[href$=".pdf"]:after {
  content: '';
  width: 32px;
  height: 32px;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url(../images/Adobe_PDF_file_icon_32x32.png);
  background-repeat: no-repeat;
  -webkit-background-size: 32px auto;
  background-size: 32px auto;
}

/*
--- single.php post - prev/next link
---------------------------------------------------------------------------*/
.post-np-link {
    display: flex;
    gap: 30px;
}
.post-np-link > div {
    width: 50%;
}
.post-np-link .next {
    margin-right: 0;
    margin-left: auto;
}
.post-np-link a {
    display: block;
    position: relative;
    padding: 15px 20px;
    border: solid 1px #aaa;
    color: inherit;
    font-size: 12px;
    font-weight: bold;
}
.post-np-link a:hover {
    background-color: #fff;
}
.post-np-link .prev a {
    padding-left: 30px;
}
.post-np-link .next a {
    padding-right: 30px;
}
.post-np-link a::before {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    -o-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    border-radius: 2px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}
.post-np-link .prev a::before {
    left: 10px;
    border-left: 2px solid #d8577a;
    border-bottom: 2px solid #d8577a;
}
.post-np-link .next a::before {
    right: 10px;
    border-top: 2px solid #d8577a;
    border-right: 2px solid #d8577a;
}
.post-np-link .prev a:hover::before {
    left: 5px;
}
.post-np-link .next a:hover::before {
    right: 5px;
}
.post-np-link a span {
    display: block;
    font-size: 14px;
    font-weight: normal;
    margin-top: 5px;
}

@media screen and (max-width: 767px) {
    .post-np-link {
        flex-direction: column;
        gap: 20px;
    }
    .post-np-link > div {
        width: 100%;
    }
}

/*
---category.php
---------------------------------------------------------------------------*/
.noarticle {
  padding: 100px 15px;
  background-color: #f5f5f5;
  text-align: center;
}

.pager {
  margin-top: 2em;
}
.pager-arrows {
  float: left;
}
.pager-arrows svg {
  vertical-align: middle;
}
.pager-arrows a, .pager-arrows span {
  width: 35px;
  height: 35px;
  padding: 0;
  background-color: rgba(18, 52, 86, 0.75);
  background-image: url(../images/arrow_6x10_wht_border_left.png);
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: 6px 10px;
  background-size: 6px 10px;
  display: inline-block;
  margin-right: 5px;
  text-align: center;
}
.pager-arrows span {
  opacity: 0.25;
}
.pager-arrows > :first-child {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
.pager-arrows a:hover {
  background-color: #123456;
}
.pager select[name="sp_paginate_links"] {
  float: right;
  font-size: 1.5rem;
  width: 300px;
  box-sizing: border-box;
  margin: 0 auto;
  display: block !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 5px 36px 5px 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
  cursor: pointer;
  background-image: url(../images/icon_select_open.png);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px auto;
}
.pager select[name="sp_paginate_links"]::-ms-expand {
  display: none;
}

/*
---single.php
---------------------------------------------------------------------------*/
.singleArticle-catList {
  margin: 30px 0;
  padding: 10px 15px 15px;
  clear: both;
  background-color: #fff;
}
.singleArticle-catList a {
  display: inline-block;
  padding: 10px;
  background-color: #123456;
  margin: 5px 5px 0 0;
  font-size: 1.4rem;
  line-height: 1;
  color: #fff;
  text-decoration: none;
  border-width: 1px;
  border-style: solid;
  border-color: #123456;
}
.singleArticle-catList a:hover {
  background-color: #fff;
  color: #123456;
}
.singleArticle-con table, .singleArticle-con table th, .singleArticle-con table td {
  width: auto !important;
  height: auto !important;
}
.singleArticle-h2 {
  margin-bottom: 0;
}
.singleArticle-date {
  line-height: 1;
  display: table;
  border-collapse: collapse;
  margin-top: 30px;
}
.singleArticle-date span {
  display: table-cell;
  vertical-align: middle;
  padding: 10px;
}
.singleArticle-date span:first-child {
  border-style: solid;
  border-color: #4d4d4d;
  border-width: 0 1px;
}

.sigle-pastPost-alert {
  padding: 15px;
  border: 1px solid #BF0000;
  background-color: #fff0f0;
  color: #BF0000;
  margin-bottom: 2em;
}

.singleArticle-con.clearfix.blockWrapper {
    margin-top: 30px;
}

/*
---サイトマップ
---------------------------------------------------------------------------*/
.sitemap .sm_wrp {
  overflow: hidden;
}
.sitemap .menu_sitemap,
.sitemap .menu_alumni {
  display: flex;
}
.sitemap .menu_sitemap li,
.sitemap .menu_alumni li {
  margin: 0;
  padding: 0;
}
.sitemap .menu_sitemap li:before,
.sitemap .menu_alumni li:before {
  display: none;
}
.sitemap .menu_sitemap > li,
.sitemap .menu_alumni > li {
  width: 33.333333333%;
  padding: 20px 10px 0;
}
.sitemap .menu_sitemap a,
.sitemap .menu_alumni a {
  display: block;
  color: inherit;
}
.sitemap .menu_sitemap > li > a,
.sitemap .menu_alumni > li > a {
  background-color: rgba(41, 128, 180, 0.15);
  padding: 15px 36px 15px 15px;
  position: relative;
}
.sitemap .menu_sitemap > li > a:hover,
.sitemap .menu_alumni > li > a:hover {
  background-color: #2980b4;
  color: #fff;
}

.sitemap .sm_wrp ul.menu_sitemap,
.sitemap .sm_wrp ul.menu_alumni {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
}
.sitemap .sm_wrp ul.sub-menu {
    margin-top: 0;
    padding: 20px 10px;
}
.sitemap .sm_wrp ul.sub-menu a {
    color: #d8577a;
    padding: 10px;
}
.sitemap .sm_wrp ul.sub-menu a:hover {
    background-color: #f7f7f7;
}
.sitemap .sm_wrp ul.sub-menu li {
}
.sitemap .sm_wrp ul.menu_sitemap > li,
.sitemap .sm_wrp ul.menu_alumni > li {
    padding: 0;
    width: calc(100% / 3 - (40px / 3));
}
.sitemap .sm_wrp ul.menu_sitemap > li > a,
.sitemap .sm_wrp ul.menu_alumni > li > a {
    display: block;
    background-color: #d8577a;
    color: #fff;
}
.sitemap .sm_wrp ul.menu_sitemap > li > a:hover,
.sitemap .sm_wrp ul.menu_alumni > li > a:hover {
    background-color: #E47895;
}

.sitemap .sm_wrp ul.menu_sitemap > li.menu-item-has-children,
.sitemap .sm_wrp ul.menu_alumni > li.menu-item-has-children {
    background-color: #fff;
}
.sitemap .sm_wrp ul.menu_sitemap > li.menu-item-home {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .sitemap .sm_wrp ul.menu_sitemap > li,
    .sitemap .sm_wrp ul.menu_alumni > li {
        width: calc(50% - 10px);
    }
    .sitemap .sm_wrp ul.sub-menu {
        padding: 10px;
    }
    .sitemap .sm_wrp ul.sub-menu a {
        padding: 10px 5px;
        line-height: 1.8;
    }
}
@media only screen and (max-width: 560px) {
    .sitemap .sm_wrp ul.menu_sitemap > li,
    .sitemap .sm_wrp ul.menu_alumni > li {
        width: 100%;
    }
}
/*
---準備中
---------------------------------------------------------------------------*/
.under_construction {
  text-align: center;
  padding: 100px 0;
  font-weight: bold;
  font-size: 2.4rem;
  background-color: #f5f5f5;
}

/*
---認証ページログインフォーム
---------------------------------------------------------------------------*/
.authForm {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 40px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.authForm__pass {
  position: relative;
  padding-left: 140px;
}
.authForm__pass + .authForm__pass {
  margin-top: 10px;
}
.authForm__pass span {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.authForm__pass input {
  display: block;
  width: 100%;
  padding: 10px;
  -webkit-appearance: none;
  border: 1px solid #ddd;
}
.authForm input[type="submit"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  width: 200px;
  -webkit-appearance: none;
  border: 1px solid #ddd;
  background-color: #eee;
}
.authForm__caution {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.authForm__caution ul.caution {
  margin-left: 0;
}


/*
--- エディター用　共通スタイル - common layout
---------------------------------------------------------------------------*/
.bg-white {
    padding: 20px;
    background-color: #fff;
    border-radius: 10px;
}
.bg-white > *:first-child {
    margin-top: 0;
}
.no-border-table, .no-border-table * {
    border: none;
}

@media screen and (max-width: 767px)  {
    .bg-white {
        padding: 20px 10px;
    }
}
/* --- Editor template --- */
.template-flex-box {
    display: flex;
    margin-top: 1.5em;
}
/*.template-flex-box.image-left {
    flex-direction: row-reverse;
}*/
.template-flex-text {
    flex: 1;
}
.template-flex-text > :first-child {
    margin-top: 0;
}
.template-flex-image {
    max-width: calc(40% + 20px);
    padding-left: 20px;
}
.template-flex-box.image-left .template-flex-image {
    padding-left: 0;
    padding-right: 20px;
}
@media screen and (max-width: 767px)  {
    .template-flex-box,
    .template-flex-box.image-left {
        flex-direction: column;
    }
    .template-flex-image,
    .template-flex-box.image-left .template-flex-image {
        max-width: 100%;
        padding: 10px 0;
        text-align: center;
    }
    .template-flex-image img,
    .template-flex-box.image-left .template-flex-image img {
        max-height: 500px;
    }
}

/*
--- page anchor
---------------------------------------------------------------------------*/
.anchor-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 30px;
    padding: 30px 0;
}
.anchor {
    font-size: 18px;
    padding: 15px 30px 15px 20px;
    border: solid 1px #d8577a;
    line-height: 1;
    width: calc(20% - (80px / 5));
    position: relative;
    cursor: pointer;
}
.anchor::after {
    content: '';
    position: absolute;
    right: 15px;
    top: 45%;
    width: 10px;
    height: 10px;
    border-right: 1px solid #d8577a;
    border-bottom: 1px solid #d8577a;
    -webkit-transform: rotate(45deg) translateY(-50%);
    -ms-transform: rotate(45deg) translateY(-50%);
    -o-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    -webkit-transition: top 0.5s;
    -o-transition: top 0.5s;
    transition: top 0.5s;
}
.anchor:hover::after {
    top: 50%;
}

@media only screen and (max-width: 1023px) {
    .anchor {
        width: calc(100% / 3 - (40px / 3));
    }
}
@media only screen and (max-width: 833px) {
}
@media only screen and (max-width: 766px) {
    .anchor {
        width: calc(50% - 10px);
        font-size: 16px;
    }
}
@media only screen and (max-width: 560px) {
    .anchor-wrapper {
        gap: 10px;
    }
    .anchor {
        width: calc(50% - 5px);
        font-size: 14px;
    }
}
/*
--- 教科ガイド
---------------------------------------------------------------------------*/
.subject-info-wrapper {
    padding: 50px 0 0;
    margin-top: 30px;
}
.gard-wrapper {
    background: -moz-linear-gradient(left, gb(165 227 248 / 50%), rgb(219 215 234 / 50%), rgb(247 202 222 / 50%));
	background: -webkit-linear-gradient(left, gb(165 227 248 / 50%), rgb(219 215 234 / 50%), rgb(247 202 222 / 50%));
	background: linear-gradient(to right, rgb(165 227 248 / 50%), rgb(219 215 234 / 50%), rgb(247 202 222 / 50%));
}
.title_en {
    font-family: "Oooh Baby", cursive;
    line-height: 1;
    color: #f7cade;
    font-size: 60px;
    text-align: center;
}
.subject-info-wrapper .gard-wrapper {
    padding: 20px 50px 30px;
}
.subject-info-wrapper .title_en {
    margin-top: -50px;
}
.subject-info-wrapper .title_en + h3 {
    margin-top: 10px;
}
.subject-info-wrapper h4 {
    margin: 40px 0 20px;
    text-align: center;
}
.subject-info {
    display: flex;
}

.subject-info-text {
    flex: 1;
    padding-right: 30px;
}
.subject-info-text > *:first-child {
    margin-top: 0;
}
.subject-info-image {
    width: 38%;
}

.subject-pickup-wrapper {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.subject-pickup {
    width: calc(50% - 10px);
    padding: 30px;
    background-color: #fff;
    border-radius: 20px;
}
.flex-count-1 .subject-pickup {
    width: 100%;
}
.subject-pickup:nth-child(odd):last-child {
    width: 100%;
}
.subject-pickup h5 {
    color: #d8577a;
}


@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 833px) {
    .subject-info-wrapper .gard-wrapper {
        padding: 20px;
    }
    .subject-info-wrapper h4 {
        margin-top: 20px;
        text-align: left;
    }
}
@media only screen and (max-width: 767px) {
    .subject-info {
        flex-direction: column;
        gap: 20px;
    }
    .subject-info-text {
        padding: 0;
    }
    .subject-info-image {
        width: 100%;
        text-align: center;
    }
    .subject-info-image img {
        max-width: 500px;
        width: 100%;
    }
    .subject-pickup-wrapper {
        flex-direction: column;
    }
    .subject-pickup {
        width: 100%;
    }
}
@media only screen and (max-width: 560px) {
    .subject-info-wrapper .gard-wrapper {
        padding: 10px;
    }
    .subject-info-wrapper h4 {
        font-size: 2.4rem;
    }
    .subject-pickup-wrapper {
        gap: 10px;
    }
}

/*
--- 関連リンク
---------------------------------------------------------------------------*/
.container-relation-wrapper {
    margin-top: 80px;
    padding-top: 80px;
    position: relative;
}
.relation-bg {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw;
    height: 230px;
    background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.relation-bg::before {
    content: '';
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: -moz-linear-gradient(left, #a5e3f8, #dbd7ea, #f7cade);
    background: -webkit-linear-gradient(left, #a5e3f8, #dbd7ea, #f7cade);
    background: linear-gradient(to right, #a5e3f8, #dbd7ea, #f7cade);
    opacity: 0.7;
}

.relation-link-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
a.relation-link-box {
    position: relative;
    display: block;
    width: calc(100% / 3 - (80px / 3));
    color: #d8577a;
    padding-bottom: 10px;
}
a.relation-link-box::after {
    content: '';
    position: absolute;
    right: 20px;
    bottom: 15px;
    width: 35px;
    height: 5px;
    border-right: 1px solid #d8577a;
    border-bottom: 1px solid #d8577a;
    transform: skewX(45deg);
    -webkit-transition: right 0.6s;
    -o-transition: right 0.6s;
    transition: right 0.6s;
}
a.relation-link-box:hover::after {
    right: 10px;
}
.relation-img {
    display: block;
    overflow: hidden;
    position: relative;
}
.relation-img::before {
    content: '';
    display: block;
    padding-bottom: 55%;
}
.relation-img img {
    display: block;
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-transition: transform 0.6s;
    -o-transition: transform 0.6s;
    transition: transform 0.6s;
}
a.relation-link-box:hover img {
    transform: scale(1.1);
}
.relation-link-box h5 {
    font-size: 28px;
    font-family: "Shippori Mincho", serif;
    margin-top: 10px;
}
.relation-link-box h6 {
    font-size: 16px;
    margin-top: 10px;
}
@media only screen and (max-width: 1023px) {
    .relation-link-wrapper {
        gap: 20px;
    }
    a.relation-link-box {
        width: calc(100% / 3 - (40px / 3));
    }
    .relation-link-box h5 {
        font-size: 18px;
        margin-top: 5px;
    }
    .relation-link-box h6 {
        font-size: 14px;
    }
}
@media only screen and (max-width: 833px) {
    a.relation-link-box {
        width: calc(50% - 10px);
    }
}
@media only screen and (max-width: 560px) {
    a.relation-link-box {
        width: 100%;
    }
}

/*
--- バナーリンク
---------------------------------------------------------------------------*/
.page-banner-wrapper {
    max-width: 1100px;
    margin: 10px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 60px;
}
.page-banner {
    max-width: 550px;
    width: calc(50% - 30px);
    padding: 15px 0;
}
.page-banner a {
    display: block;
    position: relative;
    padding: 40px 40px 40px 20px;
    font-size: 32px;
    color: #333;
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
    background-color: #f3b3cf;
}
.page-banner a.blue {
    background-color: #a8e2f7;
}
.page-banner a::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgb(255 255 255 / 30%);
    opacity: 0;
    -webkit-transition: opacity 0.3s linear;
    -o-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
}
.page-banner a:hover::before {
    opacity: 1;
}
.page-banner a::after {
    content: '';
    position: absolute;
    width: 40px;
    height: 6px;
    top: 50%;
    right: 20px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    -webkit-transform: skewX(45deg);
    -ms-transform: skewX(45deg);
    -o-transform: skewX(45deg);
    transform: skewX(45deg);
    -webkit-transition: right 0.3s linear;
    -o-transition: right 0.3s linear;
    transition: right 0.3s linear;
}
.page-banner a:hover::after {
    right: 10px;
}
.page-banner a span {
    display: block;
    padding-bottom: 10px;
    position: relative;
    z-index: 0;
}
.page-banner a span::before {
    content: attr(data-text) '';
    position: absolute;
    z-index: -1;
    font-family: "Oooh Baby", cursive;
    font-size: 40px;
    color: #fff;
    left: 1.8em;
    bottom: -10px;
}
@media only screen and (max-width: 1023px) {
    .page-banner-wrapper {
        gap: 40px;
    }
    .page-banner {
        width: calc(50% - 20px);
    }
    .page-banner a {
        font-size: 24px;
    }
    .page-banner a span::before {
        font-size: 32px;
        left: 1.3em;
    }
}
@media only screen and (max-width: 833px) {
    .page-banner-wrapper {
        margin: 0;
    }
    .page-banner {
        width: 100%;
        padding-top: 0;
    }
}
@media only screen and (max-width: 560px) {
    .page-banner {
        padding: 0;
    }
    .page-banner a {
        padding: 30px 20px;
    }
    .page-banner a::after {
        width: 30px;
        height: 5px;
        right: 10px;
    }
    .page-banner a span::before {
        font-size: 26px;
    }
}

/*
--- 
---------------------------------------------------------------------------*/
.course-color-blue h3 span[data-title]::after {
    color: #57c1d2;
}
.course-default-text-wrapper {
    padding: 30px 0;
}
.course-default-text-wrapper h4,
.course-default-text-wrapper p {
    text-align: center;
}
.course-default-text-image {
    margin-top: 40px;
}
.course-default-text-image img {
    width: 100%;
}
.course-defa-img_pc {
    
}
.course-defa-img_smp {
    display: none;
}

/* course */
.course-info-block-wrapper {
    display: flex;
    margin-top: 50px;
}
section:nth-of-type(even) .course-info-block-wrapper {
    flex-direction: row-reverse;
}
.course-info-image-box {
    width: 40%;
}
.course-info-text-box {
    width: 60%;
    padding-right: 40px;
}
section:nth-of-type(even) .course-info-text-box {
    padding-right: 0;
    padding-left: 40px;
}
.course-tip span {
    display: inline-block;
    line-height: 1;
    background-color: #d8577a;
    color: #fff;
    padding: 5px 8px 6px;
    border-radius: 3px;
}
.course-color-blue .course-tip span {
    background-color: #58c1d2;
}
.course-info-text-box h4 {
    font-size: 2.4rem;
    margin-top: 15px;
}
.course-info-text-box ul {
    margin-top: 30px;
}
.course-info-text-box ul > li::before {
    background-image: none;
    content: '';
    width: 10px;
    height: 10px;
    background-color: #d8577a;
    border-radius: 50%;
    top: 0.5em;
}
.course-color-blue .course-info-text-box ul > li::before {
    background-color: #58c1d2;
}
.course-info-img + .course-info-img {
    margin-top: 20px;
}


@media only screen and (max-width: 1023px) {
    .course-info-text-box {
        padding-right: 20px;
    }
    section:nth-of-type(even) .course-info-text-box {
        padding-right: 0;
        padding-left: 20px;
    }
}
@media only screen and (max-width: 833px) {
    
.course-default-text-wrapper h4,
.course-default-text-wrapper p {
    text-align: left;
}
    
    .course-info-block-wrapper,
    section:nth-of-type(even) .course-info-block-wrapper {
        flex-direction: column;
        margin-top: 30px;
    }
    .course-info-text-box,
    section:nth-of-type(even) .course-info-text-box {
        width: 100%;
        padding: 0 0 30px;
    }
    .course-info-image-box {
        width: 100%;
        display: flex;
        gap: 20px;
    }
    .course-info-img {
        width: 50%;
    }
    .course-info-img + .course-info-img {
        margin-top: 0;
    }

}
@media only screen and (max-width: 560px) {
    .course-info-image-box {
        gap: 10px;
    }
    
    .course-defa-img_pc {
        display: none;
    }
    .course-defa-img_smp {
        display: block;
    }
}


/*
--- archive category -- ブログ・記事一覧
---------------------------------------------------------------------------*/
body.archive.category .article_blk {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 50px;
}
body.archive.category .article_blk-article.swiper-slide {
    width: calc(25% - (60px / 4));
}
body.archive.category .article_blk-a {
    display: flex;
    flex-direction: column;
    color: inherit;
    height: 100%;
}
body.archive.category .article_blk-thumb {
    position: relative;
    background-size: cover;
    background-position: center;
}
body.archive.category .article_blk-thumb::after {
    content: '';
    display: block;
    padding-bottom: 60%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
body.archive.category .article_blk-hover {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
}
body.archive.category .article_blk-textBox {
    padding: 20px 15px;
    background-color: #fff;
    flex: 1;
}
body.archive.category .article_blk-date {
    color: #a5a5a5;
}
body.archive.category .article_blk-title {
    font-size: 18px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
    margin-top: 10px;
}
body.archive.category .article_blk-excerpt {
    display: none;
}
body.archive.category .article_blk-btags {
    display: none;
}
body.archive.category .voice-tag {
    font-size: 12px;
    margin-top: 10px;
}

@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 833px) {
    body.archive.category .article_blk-article.swiper-slide {
        width: calc(100% / 3 - (40px / 3));
    }
}
@media only screen and (max-width: 560px) {
    body.archive.category .article_blk {
        gap: 14px;
    }
    body.archive.category .article_blk-article.swiper-slide {
        width: calc(50% - 7px);
    }
    body.archive.category .article_blk-textBox {
        padding: 15px 10px;
    }
    body.archive.category .article_blk-date {
        font-size: 10px;
    }
    body.archive.category .article_blk-title {
        font-size: 16px;
    }
}


/*
--- 学校説明会等情報
---------------------------------------------------------------------------*/
.event-block-wrapper {
    margin-top: 50px;
}
.event-block-wrapper h3 {
    /*text-align: left;*/
    margin-bottom: 30px;
}
.event-table-row {
    display: flex;
    width: 100%;
}
.event-table-wrapper {
    border: solid 1px #eee;
    background-color: #fff;
}
.event-table-row {
    border-bottom: solid 1px #eee;
}
.event-table-row:last-of-type {
    border-bottom: none;
}
.event-table-row.title-row {
    background-color: #d8577a;
    color: #fff;
}

.event-cell {
    flex: 1;
    padding: 20px;
}
.event-cell:not(:last-of-type) {
    border-right: solid 1px #eee;
}
.event-table-row.title-row .event-cell {
    text-align: center;
}

.event-cell.reserve {
    padding: 10px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}
.event-cell.reserve a {
    display: inline-block;
    padding: 10px 30px 10px 15px;
    background-color: #ffbd4d;
    color: #fff;
    line-height: 1;
    border-radius: 5px;
    text-align: left;
    position: relative;
}
.event-cell.reserve a:hover {
    background-color: #FBB236;
}
.event-cell.reserve a::after {
    content: '';
    position: absolute;
    width: 7px;
    height: 7px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    right: 7px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg) skew(5deg, 5deg);
    /* border-radius: 0 2px 0 0; */
}

span.w0,
span.holiday {
    color: #d8577a;
}
span.w6 {
    color: #7ED0EC;
}
/* 終了表示 */
.event-cell.all-end {
    text-align: center;
}
.event-table-row.event-end {
    background-color: #eee;
    color: #aaa;
}
.event-table-row.event-end span.w0,
.event-table-row.event-end span.holiday,
.event-table-row.event-end span.w6 {
    color: #aaa;
}
.event-table-row.event-end .event-cell.reserve a {
    pointer-events: none;
    background-color: #aaa;
}

@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 833px) {
}
@media only screen and (max-width: 560px) {
    /* -- テーブル小さく表示
    .event-cell.reserve {
        flex: unset;
        width: 65px;
        padding: 5px !important;
    }
    .event-table-row:not(.title-row) .event-cell {
        padding: 5px 8px;
        font-size: 12px;
    }
    .event-table-row.title-row .event-cell {
        padding: 10px;
    }
    .event-cell.reserve a {
        padding: 5px 18px 5px 5px;
        font-size: 12px;
    }*/
    .event-block-wrapper h3 {
        margin-bottom: 15px;
    }
    
    .event-table-row.title-row {
        display: none;
    }
    .event-table-row {
        flex-wrap: wrap;
    }
    .event-cell.event-date {
        width: 100%;
        border-right: none;
        border-bottom: solid 1px #eee;
        flex: unset;
        display: block;
    }
    .event-cell {
        flex: 1;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 40px 7px 10px;
        position: relative;
        font-size: 12px;
    }
    .event-cell::before {
        content: attr(data-smp)'';
        position: absolute;
        width: 100%;
        left: 0;
        top: 0;
        display: block;
        padding: 7px 10px;
        background-color: #F7F7F7;
        box-sizing: border-box;
        font-size: 12px;
    }
    .event-cell.event-date::before {
        background-color: #d8577a;
        color: #fff;
    }
    .event-cell.reserve {
        flex: unset;
        width: 70px;
        padding: 40px 7px 10px;
    }
    .event-cell.reserve::before {
        width: 100%;
    }
    .event-cell.reserve a {
        font-size: 12px;
        padding: 10px 20px 10px 10px;
    }
    .event-cell.reserve a::after {
        width: 5px;
        height: 5px;
    }
    /* 終了表示 */
    .event-cell.all-end::before {
        content: none;
    }
    .event-cell.all-end {
        padding-top: 10px;
    }
}


/*
--- 校長メッセージ
---------------------------------------------------------------------------*/
.greeting-block-wrapper {
    display: flex;
    margin-top: 50px;
}
.greeting-text-box {
    flex: 1;
    padding-right: 40px;
}
.greeting-text-box.pdnone {
    padding-right: 0;
}
.greeting-image-box {
    width: 30%;
}
.greeting-img {
    text-align: center;
}
.greeting-text-box > h4 {
    margin-bottom: 40px;
}
.greeting-caption > img {
    width: 100%;
    max-width: 220px;
    mix-blend-mode: darken;
}
.greeting-caption {
    text-align: center;
}

@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 833px) {
}
@media only screen and (max-width: 767px) {
    .greeting-block-wrapper {
        flex-direction: column;
        gap: 30px;
    }
    .greeting-text-box {
        flex: 1;
        padding-right: 0;
    }
    .greeting-image-box {
        width: 100%;
        max-width: 450px;
        margin: 0 auto;
    }
}
@media only screen and (max-width: 560px) {
}

/*
--- 沿革
---------------------------------------------------------------------------*/
/* - 創立者の想い - */
.history_thought_wrapper {
    margin-top: 50px;
}
.history_thought_block {
    margin-top: 30px;
}
.history_thought-row {
    display: flex;
    gap: 20px;
    padding: 15px 10px;
    border-bottom: solid 1px #d1d1d1;
}
.thought_text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.history_thought-row rt {
    font-size: 8px;
    font-weight: 100;
}
.thought_title {
    font-size: 32px;
    padding: 10px;
    background-color: #d8577a;
    color: #fff;
    width: 140px;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}
.thought_title ruby {
    margin-top: 5px;
}
.thought_title rt {
    font-size: 12px;
}
.thought_title sup {
    font-size: 12px;
    top: -1.5em;
}
.thought_text p {
    margin-top: 0;
    font-size: 16px;
}
.thought_text .tb {
    /*display: block;*/
    font-size: 24px;
}
.thought_text .tb sup {
    font-size: 10px;
    top: -2em;
}
@media only screen and (max-width: 1023px) {
    
}
@media only screen and (max-width: 767px) {
    /**/
    .thought_text .tb {
        font-size: 20px;
    }
    .history_thought-row {
        flex-direction: column;
        gap: 10px;
        padding: 15px 0;
    }
    .thought_title {
        font-size: 24px;
        min-height: 50px;
    }
    .thought_title {
        font-size: 24px;
        width: 120px;
    }
    .thought_title sup {
        top: -1.1em;
    }
    .thought_text p {
        font-size: 14px;
    }
    .history_thought_block {
        margin-top: 20px;
    }
}
@media only screen and (max-width: 560px) {
}

/* 創立者 */
.history_founder-wrapper {
    margin-top: 50px;
    display: flex;
    align-items: center;
}
.name_title {
    display: flex;
    align-items: center;
}
.history_founder-text {
    width: 60%;
    padding: 20px 40px 20px 20px;
    background-color: #fff;
    border: solid 2px #d8577a;
    border-right: none;
}
.history_founder-image {
    width: 40%;
}
.name_box {
    display: flex;
}
.name_box > div {
    padding: 10px 20px;
}
.name p {
    margin-top: 0;
    font-size: 23px;
    line-height: 1.5;
}
.name p span {
    display: block;
    font-size: 12px;
}
.founder_biography {
    padding: 0 20px 20px;
}
@media only screen and (max-width: 833px) {
    /**/
    .history_founder-wrapper {
        flex-direction: column-reverse;
        align-items: unset;
    }
    .history_founder-text {
        border-right: solid 2px #d8577a;
        width: 100%;
        padding: 0px;
    }
    .history_founder-image {
        width: 100%;
        padding: 0 20px 20px;
        text-align: center;
    }
    .history_founder-image img {
        width: 100%;
        max-width: 400px;
    }
}
/* 年表 */
.history-table-wrapper {
    margin-top: 50px;
}
.history-row {
    position: relative;
    display: flex;
    padding-left: 80px;
}
.history-row + .history-row {
    margin-top: 20px;
}
.history-row::before {
    content: '';
    position: absolute;
    width: 2px;
    height: calc(100% - 30px);
    bottom: -10px;
    left: 10px;
    background-color: #333;
}
.history-text {
    width: 63%;
    padding: 10px 20px;
    background-color: #fff;
    border-radius: 20px;
}
.history-image {
    max-width: 380px;
    width: 37%;
    padding: 0 0 0 20px;
}
.his_year {
    font-size: 48px;
    font-weight: bold;
    line-height: 1;
    padding-left: 40px;
    margin-bottom: 20px;
    margin-left: -100px;
    position: relative;
}
.his_year::before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    left: 0;
    top: 15px;
    background-color: #fff;
    border: 6px solid #d8577a;
    border-radius: 50%;
    box-sizing: border-box;
}
.his_year span {
    background-color: #fceef4;
}
.his_year_jp {
    font-size: 20px;
}

@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 767px) {
    .history-row {
        flex-direction: column;
        padding-left: 50px;
    }
    .history-text {
        width: 100%;
    }
    .history-image {
        width: 100%;
        padding: 10px 0 0;
    }
    .his_year {
        margin-left: -70px;
        padding-left: 30px;
        margin-bottom: 10px;
        font-size: 40px;
    }
    .his_year_jp {
        font-size: 18px;
    }
    .his_year::before {
        width: 18px;
        height: 18px;
        left: 2px;
    }
}
@media only screen and (max-width: 560px) {
}


/*
--- アクセス - 別ページ共通で使用
---------------------------------------------------------------------------*/
/* basic text block */
.basic_text-image-block {
    display: flex;
    margin-top: 60px;
}
.text-box {
    /*width: calc(50% + 40px);*/
    padding-right: 40px;
    flex: 1;
}
.image-box {
    width: calc(50% - 40px);
}
.ti-cap {
    padding: 15px;
    background-color: #fff;
    line-height: 1.6;
}
.ti-cap h5 {
    color: #d8577a;
}

@media only screen and (max-width: 1023px) {
    .text-box {
        width: calc(50% + 20px);
        padding-right: 20px;
    }
    .image-box {
        width: calc(50% - 20px);
    }
}
@media only screen and (max-width: 767px) {
    .basic_text-image-block {
        margin-top: 40px;
        flex-direction: column;
        gap: 20px;
    }
    .text-box {
        width: 100%;
        padding-right: 0;
    }
    .image-box {
        width: 100%;
    }
    .image-box img {
        width: 100%;
    }
}
@media only screen and (max-width: 560px) {
}
/* google map */
iframe.google-map {
    width: 100%;
}
/* basic flex box */
.flex-block-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 50px;
}
.flex_block {
    width: calc(100% / 3 - (80px / 3));
}

@media only screen and (max-width: 1023px) {
    .flex-block-wrapper {
        gap: 20px;
    }
    .flex_block {
        width: calc(100% / 3 - (40px / 3));
    }
}
@media only screen and (max-width: 833px) {
    .flex_block {
        width: calc(50% - 10px);
    }
}
@media only screen and (max-width: 560px) {
    .flex_block {
        width: 100%;
    }
}


/*
--- 学校紹介動画 - movie
---------------------------------------------------------------------------*/
.movie {
    padding-bottom: 10px;
}
.movie-thumb {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}
.movie-thumb::before {
    content: '';
    display: block;
    padding-bottom: 56.25%;
}
.movie-thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mv-txt {
    text-align: center;
}
/* remodal */
.remodal-ytb .wrapper_iframe + h4 {
    margin-top: 10px;
    padding: 5px;
}
.remodal.remodal-ytb {
    padding: 60px 10px 10px;
}
.remodal.remodal-ytb .remodal-close {
    width: 50px;
    height: 50px;
    background-color: #fff;
    top: 10px;
    right: 10px;
    left: auto;
}
.remodal.remodal-ytb .remodal-close:before,
.remodal.remodal-ytb .remodal-close:after {
    content: '';
    position: absolute;
    display: block;
    width: 40px;
    height: 1px;
    background-color: #333;
    top: 50%;
    left: 50%;
}
.remodal.remodal-ytb .remodal-close:before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.remodal.remodal-ytb .remodal-close:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

@media only screen and (max-width: 1023px) {
    .mv-txt h5 {
        font-size: 2rem;
    }
}
@media only screen and (max-width: 833px) {
}
@media only screen and (max-width: 560px) {
    .movie-thumb {
        margin-bottom: 10px;
    }
}

/*
--- 施設紹介
---------------------------------------------------------------------------*/
.svg-container {
    padding: 40px 30px;
    position: relative;
    margin-top: -40px;
    min-height: 160px;
}
.facility-image {
    position: relative;
    z-index: -1;
}
.facility-image::before {
    content: '';
    display: block;
    padding-bottom: 66.6%;
}
.facility-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.svg-container p {
    font-size: 12px;
}
.svg-container.bubble-style1 {
    padding-top: 50px;
}
.facility_bubble.bubble2 {
    transform: scale(1, -1) rotate(-15deg);
    right: 0;
    left: auto;
}
.svg-container.bubble-style2 {
    text-align: right;
    min-height: 140px;
}
svg.facility_bubble {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    height: 100%;
}
svg.facility_bubble use {
}

@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 833px) {
}
@media only screen and (max-width: 560px) {
}

/*
--- 学習サポート
---------------------------------------------------------------------------*/
.study_support-block-wrapper {
    margin-top: 50px;
    counter-reset: support;
}
.study_support {
    display: flex;
    gap: 40px;
    padding: 30px 0 30px 30px;
    counter-increment: support;
}
.study_support:nth-of-type(even) {
    flex-direction: row-reverse;
    padding: 30px 30px 30px 0;
}
.support-text {
    flex: 1;
    padding: 40px 0 30px 30px;
    margin-top: 30px;
    position: relative;
    min-height: 240px;
}
.study_support:nth-of-type(even) .support-text {
    padding: 40px 30px 30px 0;
}
.support-text::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: calc(100% + 70px);
    height: 100%;
    background: -moz-linear-gradient(left, gb(165 227 248 / 50%), rgb(219 215 234 / 50%), rgb(247 202 222 / 50%));
	background: -webkit-linear-gradient(left, gb(165 227 248 / 50%), rgb(219 215 234 / 50%), rgb(247 202 222 / 50%));
	background: linear-gradient(to right, rgb(165 227 248 / 50%), rgb(219 215 234 / 50%), rgb(247 202 222 / 50%));
}
.study_support:nth-of-type(even) .support-text::after {
    left: auto;
    right: 0;
}
.support-text h4 {
    position: relative;
}
.support-style1 .support-text h4::before {
    content: counter(support, decimal-leading-zero);
}
.support-style2 .support-text h4::before {
    content: counter(support, upper-alpha);
}
.spt {
    padding: 20px;
    background-color: #fff;
    margin-top: 20px;
    border-radius: 20px;
}
.spt > :first-child {
    margin-top: 0;
}

.support-text .gallery {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}


/*div[class^="study_support-block-wrapper support-style"] */
.support-text h4::before {
    position: absolute;
    left: 20px;
    top: 0;
    width: 2em;
    height: 2em;
    transform: translate(-100%, -100%);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f3b3cf;
    /* background-color: #ea6099; */
    border-radius: 50%;
    font-size: 40px;
    color: #fff;
    z-index: 1;
}
.study_support:nth-of-type(even) .support-text h4::before {
    left: auto;
    right: 20px;
    transform: translate(100%, -100%);
}

.support-image {
    width: 35%;
    overflow: hidden;
    border-radius: 30px;
}
.support-img-innear {
    position: relative;
}
.support-img-innear::before {
    content: '';
    display: block;
    padding-bottom: 100%;
}
.support-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media only screen and (max-width: 1023px) {
    .support-image {
        width: 30%;
        min-width: 220px;
    }
    .study_support {
        align-items: self-start;
    }
    .support-text::after {
        border-radius: 0 0 30px 30px;
    }
}
@media only screen and (max-width: 767px) {
    .study_support,
    .study_support:nth-of-type(even) {
        flex-direction: column-reverse;
        padding: 20px 0;
        gap: 0;
    }
    .study_support .support-text,
    .study_support:nth-of-type(even) .support-text {
        padding: 40px 20px 20px;
        margin: 0;
    }
    .study_support .support-text h4,
    .study_support:nth-of-type(even) .support-text h4 {
        font-size: 2.4rem;
    }
    .study_support .support-text h4::before,
    .study_support:nth-of-type(even) .support-text h4::before {
        transform: translate(-50%, -110%);
        left: 50%;
        font-size: 32px;
    }
    .support-text::after {
        width: 100%;
        border-radius: 20px;
    }
    .support-image {
        margin: auto;
        width: 45%;
        min-width: 250px;
    }
    
    .support-text .gallery {
        flex-direction: row;
        max-width: 450px;
    }
    .support-text .gallery-item {
        width: calc(50% - 10px);
    }
}
@media only screen and (max-width: 560px) {
    .spt {
        padding: 15px;
    }
    
    .support-text .gallery {
        flex-direction: column;
        max-width: unset;
    }
    .support-text .gallery-item {
        width: 100%;
        max-width: 250px;
        margin-left: auto;
        margin-right: auto;
    }
}

/*
--- アクティブラーニング
---------------------------------------------------------------------------*/
.flow {
    padding: 20px;
    border: 1px solid #333;
    border-radius: 20px;
    background-color: #fff;
    position: relative;
}
.flow::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(calc(-100% - 10px), -50%);
    -ms-transform: translate(calc(-100% - 10px), -50%);
    -o-transform: translate(calc(-100% - 10px), -50%);
    transform: translate(calc(-100% - 10px), -50%);
    width: 0;
    height: 0;
    border-width: 30px 0 30px 20px;
    border-style: solid;
    border-color: transparent transparent transparent #a24003;
}
.flow:first-of-type::after {
    content: none;
}
.flow h3 {
    font-size: 2.2rem;
    text-align: left;
    color: #d8577a;
    border-bottom: 1px solid #d8577a;
    padding-bottom: 10px;
}
.flow-text {
    margin-top: 10px;
}
.flow-text p {
    margin-top: 0;
}
@media only screen and (max-width: 1023px) {
    .flow::after {
        -webkit-transform: translate(-100%, -50%);
        -ms-transform: translate(-100%, -50%);
        -o-transform: translate(-100%, -50%);
        transform: translate(-100%, -50%);
    }
}
@media only screen and (max-width: 833px) {
    .flex_block.flow {
        width: 100%;
        max-width: 700px;
        margin: auto;
    }
    .flow::after {
        border-width: 20px 30px 0 30px;
        border-color: #a24003 transparent transparent transparent;
        top: 0;
        left: 50%;
        -webkit-transform: translate(-50%, -100%);
        -ms-transform: translate(-50%, -100%);
        -o-transform: translate(-50%, -100%);
        transform: translate(-50%, -100%);
    }
}
@media only screen and (max-width: 560px) {
}

/*
--- グローバル教育
---------------------------------------------------------------------------*/
section.global-section {
    background-color: #fff8e6;
}
.flex_block.global-block {
    display: flex;
    flex-direction: column;
    background: -webkit-repeating-linear-gradient(135deg, #eb796c 0px, #eb796c 20px, #fffaef 20px, #fffaef 40px, #5454a7 40px, #5454a7 60px, #fffaef 60px, #fffaef 80px);
    background: repeating-linear-gradient(135deg, #eb796c 0px, #eb796c 20px, #fffaef 20px, #fffaef 40px, #5454a7 40px, #5454a7 60px, #fffaef 60px, #fffaef 80px);
    /*-webkit-box-shadow: 3px 3px 10px rgba(0,0,0,0.6);
    -moz-box-shadow: 3px 3px 10px rgba(0,0,0,0.6);
    box-shadow: 3px 3px 10px rgba(0,0,0,0.6);*/
    padding: 4px;
}
.global-text {
    flex: 1;
    background-color: #fff;
    padding: 20px;
}
.tag {
    margin-top: 10px;
    font-size: 12px;
}
.tag span {
    display: inline-block;
    line-height: 1;
    padding: 5px 5px 6px;
    /*background-color: #f3b3cf;*/
    background-color: #D8577A;
    color: #fff;
    border-radius: 3px;
}
@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 833px) {
}
@media only screen and (max-width: 560px) {
}

/*
--- blog
---------------------------------------------------------------------------*/
/* tab */
ul.page-blog-tabList {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 0 0 20px;
}
.main .page-blog-tabList > li {
    min-width: 100px;
    text-align: center;
    font-size: 14px;
    color: #fff;
    background-color: #d8577a;
    padding: 2px 1em 3px 1em;
    border-radius: 3px;
    opacity: 0.4;
    cursor: pointer;
}
.main .page-blog-tabList > li + li {
    margin-top: 0;
}
.main .page-blog-tabList > li::before {
    content: none;
}
.main .page-blog-tabList > li.active {
    opacity: 1;
}

/* blog */
.page-blog-wrapper {
    display: none;
}
.page-blog-wrapper.active {
    display: block;
}


.page-blog-blockWrapper {
    padding: 40px 0;
}
.page-blog-wrapper .article_blk {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.page-blog-wrapper .article_blk-article {
    width: calc(100% / 3 - 7px);
}

.page-blog-wrapper .article_blk-a {
    display: block;
    height: 100%;
    background-color: #fff;
    color: inherit;
}

.page-blog-wrapper .article_blk-textBox {
    padding: 15px 15px 20px;
}

.page-blog-wrapper .article_blk-thumb {
    position: relative;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.page-blog-wrapper .article_blk-thumb::before {
    content: '';
    display: block;
    padding-bottom: 66.666%;
}

.page-blog-wrapper .article_blk-hover {
    display: none;
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    padding: 10px;
    text-align: center;
}
.page-blog-wrapper .article_blk-textBoxInner {
    display: flex;
    flex-direction: column;
}
.page-blog-wrapper .article_blk-title {
    font-size: 18px;
    margin-bottom: 10px;
    order: 2;
}
.page-blog-wrapper .article_blk-date {
    font-size: 12px;
    margin-bottom: 6px;
    order: 1;
}
.page-blog-wrapper .article_blk-btags {
    font-size: 9px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    order: 3;
}
.page-blog-wrapper .article_blk-cell {
    padding: 3px 5px;
    background-color: #eee;
}
.page-blog-wrapper .article_blk-excerpt {
    display: none;
}

@media only screen and (max-width: 833px) {
    .page-blog-wrapper .article_blk {
        gap: 10px;
    }

    .page-blog-wrapper .article_blk-article {
        width: calc(50% - 5px);
        padding: 0;
    }
    .page-blog-wrapper .article_blk-title {
        font-size: 16px;
    }
}
@media only screen and (max-width: 560px) {
    /* tab */
    .main .page-blog-tabList > li {
        min-width: 60px;
        font-size: 12px;
    }
    /* blog */
    .page-blog-wrapper .article_blk-textBox {
        padding: 15px 10px;
    }
    .page-blog-wrapper .article_blk-title {
        font-size: 14px;
    }
}

/*
--- ポイント - point
---------------------------------------------------------------------------*/
.point-block {
    margin-top: 60px;
    display: flex;
}
.point-img-wrap {
    width: 40%;
    padding-top: 80px;
    padding-left: 80px;
    position: relative;
    z-index: 0;
    overflow: hidden;
}

.point-img-wrap::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 60%;
    height: 60%;
    display: block;
    left: 0;
    top: 0;
    transform: translate(-45%, -45%);
    border-radius: 50%;
    border: solid 20px #D5E8C3;
}
.caption {
    padding: 5px 10px;
    background-color: #fff;
    text-align: center;
}

.point-text {
    flex: 1;
    padding-top: 80px;
    padding-left: 40px;
}
.point-text h4[data-point] {
    margin-top: -2em;
}
h4[data-point] {
    position: relative;
}
h4[data-point]::before {
    content: attr(data-point)'';
    display: inline-block;
    min-width: 120px;
    text-align: center;
    font-family: "Oooh Baby", cursive;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    background-color: #D5E8C3;
    padding: 7px 20px 5px 15px;
    border-radius: 30px;
    font-size: 24px;
}
h4[data-point] span {
    display: block;
    margin-top: 10px;
    /*position: relative;
    z-index: 0;
    padding: 0 5px 4px;*/
}
/*h4[data-point] span::before {
    content: '';
    height: 18px;
    min-width: 120px;
    width: 45%;
    background-color: #fbd6e6;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    border-radius: 13px 7px 3px 7px / 3px 4px 2px 6px;
    transform: skew(-10deg, -1deg);
}*/
.point-text p {
    margin: 20px 0 0;
    padding: 20px;
    background-color: #fff;
    border-radius: 20px;
}

@media only screen and (max-width: 1023px) {
    .point-text {
        padding-left: 20px;
    }
}
@media only screen and (max-width: 833px) {
    .point-block {
        flex-direction: column-reverse;
        position: relative;
        z-index: 0;
    }
    .point-img-wrap {
        width: 50%;
        min-width: 300px;
        margin: auto;
        overflow: unset;
        z-index: -1;
        padding-top: 50px;
        padding-left: 50px;
    }
    .point-img-wrap::before {
        width: 50%;
        height: 50%;
    }
    .point-text {
        padding-left: 0;
    }
}
@media only screen and (max-width: 560px) {
    .point-img-wrap {
        padding-top: 20px;
        padding-left: 0;
    }
}

/*
--- キャンペーン
---------------------------------------------------------------------------*/
section#eveyone {
    padding-top: 100px;
}

.campaign_block-wrapper {
    max-width: 800px;
    margin: 30px auto;
    padding: 30px 50px;
    /*border: solid 1px #d8577a;
    background-color: #fff;*/
    position: relative;
    z-index: 0;
}
.campaign_block-wrapper::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 450px;
    height: 450px;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    background-image: url("../images/campaian_bg.webp");
    background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.campaign_block-wrapper h2 {
    font-size: 3.2rem;
    line-height: 1.3;
}
.campaign_block-wrapper h2 span {
    color: #E85298;
}
.campaign_block-wrapper h2 span.camEn {
    font-size: 11rem;
    line-height: 1.1;
    font-family: "Oooh Baby", cursive;
    font-weight: 900;
}
.campaign_block-wrapper h3 {
    color: #d8577a;
    margin-bottom: 30px;
}
.campaign {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
.camp {
    /*width: calc(50% - 5px);*/
    width: 100%;
    /*background-color: #d8577a;*/
    /*padding: 20px;*/
    padding: 0 40px;
    min-height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    /*border: solid 1px #d8577a;*/
    /*border-radius: 30px;*/
    font-size: 20px;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    position: relative;
}
.camp::before, 
.camp::after {
    content: '';
    position: absolute;
    height: 100%;
    width: 35px;
    bottom: 0;
}
.camp::before {
    left: 0;
    background:linear-gradient(to bottom left, #E85298 50%, transparent 50%) top left/ 100% 60% no-repeat,
    linear-gradient(to top left, #E85298 50%, transparent 50%) bottom left / 100% 60% no-repeat;
}
.camp::after {
    right: 0;
    background:linear-gradient(to bottom right, #E85298 50%, transparent 50%) top left/ 100% 60% no-repeat,
    linear-gradient(to top right, #E85298 50%, transparent 50%) bottom left / 100% 60% no-repeat;
}
.camp > div {
    width: 100%;
    background-color: #E85298;
    padding: 20px;
    color: #fff;
    text-align: center;
}
.camp.free > div {
    position: relative;
}
.camp.free > div::before {
    content: '無料';
    font-size: 24px;
    color: #fff;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 10px;
    transform: translate(-25%, -30%);
    width: 80px;
    height: 80px;
    background-image: url("../images/icon_free.webp");
    background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
    /*border-radius: 50%;*/
    /*background-color: #F8BC6E;*/
    /*background-color: #F3B3CF;*/
}
/*.cam_key {
    color: #d8577a;
}*/
.cam_sub {
    font-size: 16px;
}
.cmp_text {
    margin-top: 30px;
}
.cmp_text span.cam_key {
    display: inline-block;
    padding: 5px 15px;
    margin-bottom: 10px;
    background-color: #fff;
    border: solid 1px #333;
    border-radius: 2em;
}
@media only screen and (max-width: 833px) {
    
}
@media only screen and (max-width: 560px) {
    .campaign_block-wrapper {
        padding: 30px 0;
    }
    .campaign_block-wrapper::before {
        width: 350px;
        height: 350px;
    }
    .campaign_block-wrapper h2 span.camEn {
        font-size: 8rem;
    }
    .camp {
        padding: 0 25px;
        font-size: 18px;
    }
    .camp::before, .camp::after {
        width: 23px;
    }
    .camp.free {
        margin-top: 20px;
    }
    .camp.free > div {
        padding: 10px;
        height: 100%;
    }
    .camp.free > div::before {
        width: 60px;
        height: 60px;
        font-size: 18px;
        top: -20px;
        left: 0;
    }
    .cam_sub {
        font-size: 14px;
    }
}

/*
--- 問題探究型学習
---------------------------------------------------------------------------*/
.inquiry-theme {
    display: flex;
    flex-direction: column;
}
.theme-text {
    flex: 1;
    padding: 15px;
    background-color: #fff;
}
*[data-sub] {
    position: relative;
}
*[data-sub]::before {
    content: attr(data-sub);
    display: inline-block;
    font-size: 16px;
    color: #fff;
    padding: 3px;
    background-color: #d8577a;
    line-height: 1;
    margin-bottom: 5px;
}
.theme-text h5 span {
    display: block;
}
/* pick up - point */
.point-text h3 {
    text-align: left;
}
.point-text h3 span {
    display: inline-block;
    min-width: 180px;
    text-align: center;
    line-height: 1;
    font-size: 24px;
    color: #fff;
    margin-bottom: 20px;
    padding: 5px 10px;
    background-color: #d8577a;
    border-radius: 5px;
}
.pickup-block .point-text {
    padding-top: 10px;
}
.point-text h4 {
    color: #d8577a;
}
.pickup-block .point-img-wrap::before {
    border-color: #f3b3cf;
}
/* pick up */
svg.wave-bg {
    position: absolute;
    width: 100vw;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    opacity: 0.7;
}
.pickup-wrapper {
    max-width: 1100px;
    margin: 80px auto 0;
    display: flex;
    position: relative;
}
.pickup-title {
    order: 2;
    width: 40%;
    min-width: 400px;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.2);
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.pickup-title h4 {
    text-align: center;
    color: #d8577a;
}
.pickup-title p {
    margin-top: 20px;
    text-align: center;
}
.spfb {
    display: block;
    font-size: 130%;
    font-family: "Shippori Mincho", serif;
    font-weight: bold;
    background-color: #fff;
    padding: 5px 0;
    color: #d8577a;
}
.pickup-left {
    order: 1;
    flex: 1;
}
.pickup-right {
    order: 3;
    flex: 1;
}
.pickup-image {
    position: relative;
    overflow: hidden;
}
.pickup-image::before {
    content: '';
    display: block;
    padding-bottom: 135%;
}
.pickup-image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    -webkit-transition: transform 0.8s linear;
    -o-transition: transform 0.8s linear;
    transition: transform 0.8s linear;
}

@media only screen and (max-width: 1023px) {
     svg.wave-bg {
        top: 25%;
    }
    .pickup-wrapper {
        flex-wrap: wrap;
        justify-content: center;
    }
    .pickup-title {
        order: 1;
        width: 100%;
        min-width: unset;
        padding-bottom: 20px;
        background-color: transparent;
    }
    .pickup-left, .pickup-right {
        padding: 20px;
        max-width: 380px;
    }
}
@media only screen and (max-width: 833px) {
    /* point */
    .pickup-block .point-text {
        padding-top: 0;
    }
}
@media only screen and (max-width: 560px) {
    /**/
    .pickup-title {
        padding: 10px 0;
    }
    .pickup-title p {
        text-align: left;
    }
    .pickup-title p br {
        display: none;
    }
    .spfb {
        font-size: 120%;
    }
    .pickup-left, .pickup-right {
        padding: 10px;
    }
}

/*
--- アクティブラーニング - active learning
---------------------------------------------------------------------------*/
.learning-block-wrapper {
    margin-top: 50px;
}
.learning-block {
    display: flex;
    padding: 30px;
    background-color: #fff;
    border-radius: 30px;
    border: solid 1px #883c13;
}
.learning-block:nth-of-type(even) {
    flex-direction: row-reverse;
}
.learning-text {
    flex: 1;
    padding-right: 40px;
}
.learning-block:nth-of-type(even) .learning-text {
    padding-right: 0;
    padding-left: 40px;
}
.learning-image {
    width: 40%;
}
.learning-text h3 {
    text-align: left;
    margin-top: 20px;
    color: #883c13;
    position: relative;
    padding-left: 0.75em;
}
.learning-text h3::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    display: block;
    vertical-align: middle;
    width: 0;
    height: 0;
    border-width: 0.5em 0 0.5em 0.5em;
    border-style: solid;
    border-color: #883c13 #883c13 #883c13 #d8577a;
}
.learning-block:nth-of-type(n + 2) {
    margin-top: 20px;
}
/* cross talk */
.cross_talk-block-wrapper {
    margin-top: 60px;
}
.cross_talk-block-wrapper h2 {
    font-size: 56px;
    color: #d8577a;
}
.cross_talk-block-wrapper h3 {
    font-size: 40px;
}
.cross_talk-block {
    display: flex;
    gap: 30px;
    margin-top: 40px;
    position: relative;
}
/*.cross_talk-block::before,
.cross_talk-block::after {
    content: '';
    position: absolute;
    z-index: 1;
    width: 80px;
    height: 2px;
    left: 50%;
    top: 40%;
    background-color: #883c13;
}*/
.cross_talk-block::before {
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%) rotate(-45deg);
}
.cross_talk-block::after {
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%) rotate(45deg);
}
.cross_talk {
    width: 50%;
    background-color: #fff;
    border-radius: 20px;
    padding: 20px 0;
}
.cross_talk h4 {
    color: #883c13;
    border-bottom: solid 1px;
    padding: 0 20px 10px;
}
.cross_talk p {
    padding: 20px;
    margin-top: 0;
}
/* 成長への鍵 - key */
.crosstalk-key-phrase {
    margin-top: 40px;
    padding: 20px 20px 30px;
    background-color: #fff6e4;
    text-align: center;
    border-radius: 20px;
    border: solid 2px #d8577a;
    position: relative;
}
.crosstalk-key-phrase p {
    font-size: 18px;
}
.crosstalk-key-phrase h4 {
    color: #d8577a;
    font-size: 3rem;
}
.crosstalk-key-phrase h4 span {
    display: inline-block;
    padding: 0 80px;
    position: relative;
}
.crosstalk-key-phrase h4 span::before,
.crosstalk-key-phrase h4 span::after {
    content: '';
    width: 60px;
    height: 2px;
    border-radius: 2px;
    background-color: #d8577a;
    position: absolute;
    top: 50%;
}
.crosstalk-key-phrase h4 span::before {
    left: 0;
}
.crosstalk-key-phrase h4 span::after {
    right: 0;
}

.crosstalk-key-phrase .svg-bg {
    position: absolute;
}
.crosstalk-key-phrase .sakura4 {
    width: 120px;
    bottom: 10px;
    left: 10px;
}
.crosstalk-key-phrase .sakura5 {
    width: 130px;
    top: 10px;
    right: 10px;
}
@media only screen and (max-width: 1023px) {
    .learning-text h3 {
        margin-top: 0;
    }
    .learning-text {
        padding-right: 20px;
    }
    .learning-block:nth-of-type(even) .learning-text {
        padding-left: 20px;
    }
    /*  */
    .cross_talk h4 {
        font-size: 2.4rem;
    }
}
@media only screen and (max-width: 833px) {
    /*  */
    .cross_talk-block {
        flex-direction: column;
        gap: 10px;
        margin-top: 20px;
    }
    .cross_talk {
        width: 100%;
        padding-bottom: 0;
    }
    .cross_talk h4 {
        font-size: 2.2rem;
    }
}
@media only screen and (max-width: 767px) {
    .learning-block, .learning-block:nth-of-type(even) {
        flex-direction: column;
        gap: 20px;
    }
    .learning-image {
        width: 100%;
        max-width: 400px;
        margin: auto;
    }
    .learning-text,
    .learning-block:nth-of-type(even) .learning-text {
        padding: 0;
    }
}
@media only screen and (max-width: 560px) {
    /**/
    .crosstalk-key-phrase {
        padding: 10px 10px 20px;
    }
    .crosstalk-key-phrase h4 span {
        padding: 0 60px;
    }
    .crosstalk-key-phrase h4 span::before,
    .crosstalk-key-phrase h4 span::after {
        width: 50px;
    }
    .crosstalk-key-phrase p {
        text-align: left;
    }
}

/*
--- 年間行事 - school event
---------------------------------------------------------------------------*/
.schoolevent-block-wrapper {
    padding: 30px;
    border-radius: 30px;
    background-color: #fff;
    gap: 30px;
}
.schoolevent-block {
    width: calc(100% / 3 - (60px / 3));
}

.schoolevent-block {
    background-color: #fceef4;
    padding: 10px 20px 20px;
    position: relative;
    z-index: 0;
}
.schoolevent-block:nth-of-type(even) {
    background-color: #FFF4E3;
}
.schoolevent-block h3 {
    font-size: 48px;
}
.schoolevent-block h3 span {
    font-size: 32px;
}
.schoolevent-block h6 {
    font-family: "Oooh Baby", cursive;
    text-align: center;
    font-size: 24px;
    color: #d8577a;
    line-height: 1;
    position: relative;
    z-index: -1;
}
.schoolevent-block:nth-of-type(even) h6 {
    color: #EEB050;
}
.schoolevent-block .event {
    margin-top: 20px;
}
.schoolevent-block .event p {
    margin-top: 5px;
    padding-left: 1.2em;
    position: relative;
}
.schoolevent-block .event p::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: 10px;
    height: 10px;
    background-color: #d8577a;
    border-radius: 50%;
}
.schoolevent-block:nth-of-type(even) .event p::before {
    background-color: #EEB050;
}
.schoolevent-block .event a {
    display: inline-block;
    padding-right: 25px;
    position: relative;
    color: inherit;
    text-decoration: underline;
}
.schoolevent-block .event a::after {
    content: '';
    position: absolute;
    right: 3px;
    top: 52%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 1em;
    height: 1em;
    background-image: url("../images/icon_link.png");
    background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

@media only screen and (max-width: 1023px) {
    .schoolevent-block-wrapper {
        gap: 20px;
    }
    .schoolevent-block {
        width: calc(100% / 3 - (40px / 3));
    }
}
@media only screen and (max-width: 767px) {
    .schoolevent-block {
        width: calc(50% - 10px);
        padding: 10px 10px 20px;
    }
}
@media only screen and (max-width: 560px) {
    .schoolevent-block-wrapper {
        gap: 10px;
        padding: 20px;
        border-radius: 20px;
    }
    .schoolevent-block {
        width: 100%;
        padding: 10px 15px 20px;
    }
    .schoolevent-block h3 {
        font-size: 40px;
    }
    .schoolevent-block h3 span {
        font-size: 26px;
    }
    .schoolevent-block .event {
        margin-top: 10px;
    }
}

/*
--- 合格実績／進路・進学実績 - result - career
---------------------------------------------------------------------------*/
/* 合格実績 */
.result_table-block-wrapper {
    margin-top: 60px;
}
.result_table-block {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 30px;
}
.result_table_wrap {
    width: calc(50% - 15px);
}
.result_table_wrap > table {
    margin: 0;
}
.result_table {
    width: 100%;
}
.result_table tr {
    background-color: #fff;
}
.result_table tr:not(.rowspan_sub) th:first-of-type {
    width: 25%;
    min-width: 180px;
}
.result_table th {
    /*background-color: #F9F2E9;*/
}
.result_table tr.title-tr th {
    background-color: #d8577a;
    vertical-align: middle;
    text-align: center;
    color: #fff;
}
.result_table td {
    text-align: right;
}
.result_table td:last-of-type {
    background-color: #f3b3cf;
}
/* 進路実績 */
.career_table {
    width: 100%;
    table-layout: fixed;
}
.career_table tr {
    background-color: #fff;
}
.career_table tr:not(.rowspan_sub) th:first-of-type {
    width: 20%;
    min-width: 150px;
}
.career_table th {
    /*background-color: #F9F2E9;*/
    text-align: center;
}
.career_table tr.title-tr th {
    background-color: #d8577a;
    vertical-align: middle;
    text-align: center;
    color: #fff;
}
.career_table td {
    text-align: right;
}
.career_table td:last-of-type {
    background-color: #f3b3cf;
    color: #fff;
}
@media only screen and (max-width: 1023px) {
    .result_table-block {
        gap: 0;
    }
    .result_table_wrap {
        width: 100%;
    }
}
@media only screen and (max-width: 833px) {
}
@media only screen and (max-width: 560px) {
    .result_table tr {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 5px;
    }
    .result_table tr.title-tr {
        display : none;
    }
    .result_table tr:not(.rowspan_sub) th:first-of-type {
        width: 100%;
        border-bottom: none;
    }
    .result_table tr:not(.rowspan_sub) td {
        width: calc(100% / 6);
        border-right: none;
    }
    .result_table tr:not(.rowspan_sub) td:last-of-type {
        border-right: solid 1px #dddddd;
    }
    .result_table tr:not(.rowspan_sub) td::before {
        content: attr(data-y);
        display: block;
        text-align: center;
        padding: 5px;
        background-color: #d8577a;
        color: #fff;
        margin: -4px -4px 4px;
    }

}

/*
--- Q&A
---------------------------------------------------------------------------*/
.faq-block {
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden;
}
.faq-block-wrpper + .faq-block-wrpper {
    margin-top: 20px;
}
.faq-block-wrpper {
    margin-top: 40px;
}
.faq-block h3.question {
    position: relative;
    font-size: 2.4rem;
    text-align: left;
    padding: 20px;
    padding-left: 70px;
    background-color: #d8577a;
    color: #fff;
}
h3.question::before {
    content: 'Q';
    font-family: "Oooh Baby", cursive;
    font-size: 4.8rem;
    font-weight: bold;
    position: absolute;
    left: 15px;
    top: 10px;
    line-height: 1;
}
.faq-block .answer {
    padding: 20px;
}
.faq-block .answer h4 {
    font-size: 2rem;
    padding: 10px 0 20px 50px;
    border-bottom: solid 1px #90dcf5;
    position: relative;
}
.faq-block .answer h4::before {
    content: 'A';
    position: absolute;
    left: 5px;
    top: -5px;
    font-family: "Oooh Baby", cursive;
    font-size: 4.8rem;
    line-height: 1;
    font-weight: bold;
    color: #90dcf5;
}
@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 767px) {
    .faq-block h3.question {
        font-size: 2.2rem;
        padding-left: 50px;
    }
    h3.question::before {
        font-size: 3.2rem;
        left: 13px;
        top: 15px;
    }
    .faq-block .answer {
        padding: 10px 15px 20px;
    }
    .faq-block .answer h4 {
        font-size: 1.8rem;
        padding: 10px 0 10px 40px;
    }
    .faq-block .answer h4::before {
        font-size: 3.2rem;
        left: 3px;
        top: 3px;
    }
    .faq-block .answer p {
        padding: 0 10px;
    }
}
@media only screen and (max-width: 560px) {
    .faq-block h3.question {
        font-size: 2rem;
        padding: 15px 10px 15px 50px;
    }
    h3.question::before {
        top: 10px;
    }
}

/*
--- 募集要項 - デフォルトテンプレートエディター
---------------------------------------------------------------------------*/
table.boshuyoko-table {
    background-color: #fff;
    width: 100%;
    table-layout: fixed;
}
tr.yoko-title-row {
    background-color: #f7f7f7;
    text-align: center;
}
table.boshuyoko-table tr:nth-of-type(odd) {
    background-color: #f7f7f7;
}
table.boshuyoko-table th {
    background-color: #d8577a;
    color: #fff;
    text-align: center;
    vertical-align: middle;
}
table.boshuyoko-table tr:nth-of-type(even) th {
    background-color: #E59EB1;
}
table.boshuyoko-table tr.yoko-title-row th {
    background-color: #d8577a;
}
/* yellow */
table.boshuyoko-table.ippan_boshu_table th {
    background-color: #90dcf5;
    color: #333;
}
table.boshuyoko-table.ippan_boshu_table tr:nth-of-type(even) th {
    background-color: #D7EFF7;
}
table.boshuyoko-table.ippan_boshu_table tr.yoko-title-row th {
    background-color: #90dcf5;
}
/* 無償化プラン */
section#eveyone {
    background-color: #fff8e6;
    background: -webkit-linear-gradient(left, gb(165 227 248 / 50%), rgb(219 215 234 / 50%), rgb(247 202 222 / 50%));
    background: -moz-linear-gradient(left, gb(165 227 248 / 50%), rgb(219 215 234 / 50%), rgb(247 202 222 / 50%));
    background: linear-gradient(to right, rgb(165 227 248 / 50%), rgb(219 215 234 / 50%), rgb(247 202 222 / 50%));
}
section#eveyone .container > h2 > span > span {
    color: #d8577a;
    font-size: 4rem;
    font-weight: 600;
}
section#eveyone .container > h2 {
    font-size: 3.2rem;
}
@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 833px) {
}
@media only screen and (max-width: 560px) {
}

/*
--- 無償化プラン everyone
---------------------------------------------------------------------------*/
section#eveyone .block > h5 {
    line-height: 1.5;
    /* color: #a24003; */
}
/* table - table-layout:fixed */
table.tableflex {
    width: 100%;
    table-layout: fixed;
    background-color: #fff;
}
table.tableflex th {
    background-color: #D8577A;
    color: #fff;
}
table.tableflex tr:nth-of-type(even) {
    background-color: #F7F7F7;
}
.column1x3 tr > :first-child {
    width: 25%;
}
/* pickup */
.pickup_block-wrapper {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    counter-reset: picknum;
}
.pickup_block {
    width: calc(100% / 3 - (60px / 3));
    background-color: #FFFBF2;
    padding: 20px;
    border-radius: 20px;
    counter-increment: picknum;
    position: relative;
}
.pickup_block::before {
    content: counter(picknum);
    font-family: "Oooh Baby", cursive;
    font-size: 4.8rem;
    font-weight: bold;
    color: #D8577A;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-25%, -50%);
}
.pickup_block svg {
    width: 100px;
    position: absolute;
    left: 20px;
    top: 20px;
    transform: rotate(-10deg);
}
.pickup_block:nth-of-type(even) svg {
    left: auto;
    right: 20px;
    transform: rotate(20deg);
}
.pickup_num > :first-child {
    margin-top: 0;
}
.pickup_num {
    padding-top: 10px;
}
.everyone {
    color: #D8577A;
    font-size: 120%;
    font-weight: bold;
}

@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 767px) {
    .pickup_block-wrapper {
        flex-direction: column;
    }
    .pickup_block {
        width: 100%;
    }
    .pickup_block::before {
        left: 30px;
        top: 5px;
    }
    .pickup_block svg {
        width: 80px;
    }
}
@media only screen and (max-width: 560px) {
}

/*
--- 入試書式集
---------------------------------------------------------------------------*/
.link-block-wrapper {
    margin-top: 50px;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.link-box {
    width: calc(100% / 3 - (80px / 3));
}
.link-box a {
    padding: 20px 40px 20px 15px;
    height: 100%;
    display: flex;
    align-items: center;
    background-color: #fff;
    border: solid 1px #D8577A;
    color: inherit;
    position: relative;
}
.link-box a:hover {
    background-color: #FFFAEE;
}
.link-box a[href$=".xls"],
.link-box a[href$=".xlsx"] {
    border-color: #AFDE83;
}
.link-box a[href$=".pdf"]::after,
.link-box a[href$=".xls"]::after,
.link-box a[href$=".xlsx"]::after,
.link-box a[href$=".doc"]::after,
.link-box a[href$=".docx"]::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 24px;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.link-box a[href$=".pdf"]::after {
    background-image: url("../images/file_icon_pdf.png");
}
.link-box a[href$=".xls"]::after,
.link-box a[href$=".xlsx"]::after {
    background-image: url("../images/file_icon_excel.png");
}
.link-box a[href$=".doc"]::after,
.link-box a[href$=".docx"]::after {
    background-image: url("../images/file_icon_word.png");
}

@media only screen and (max-width: 1023px) {
    .link-box {
        width: calc(50% - 20px);
    }
}
@media only screen and (max-width: 767px) {
    .link-block-wrapper {
        gap: 30px;
    }
    .link-box {
        width: 100%;
    }
    .link-box a {
        max-width: 500px;
        margin: auto;
    }
}
@media only screen and (max-width: 560px) {
}


/*
--- 卒業生の声
---------------------------------------------------------------------------*/
.page-category {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
.page-category.interviews-wrapper .interview {
    width: calc(100% / 3 - (60px / 3));
}
.page-category.interviews-wrapper .interview > a {
    display: block;
    background-color: #fff;
    height: 100%;
}
.page-category.interviews-wrapper .interview-img-box {
    position: relative;
}
.page-category.interviews-wrapper .interview-img-box::before {
    content: '';
    display: block;
    padding-bottom: 125%;
}
.page-category.interviews-wrapper .interview-img-box img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.page-category.interviews-wrapper .interview-img-box .int-img-text {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    min-height: calc(3em + 30px);
    padding: 10px 10px;
    background-color: rgb(234 96 153 / 85%);
    color: #fff;
}
.page-category.interviews-wrapper p.data {
    padding: 10px;
    margin-top: 0;
    color: #333;
    font-size: 12px;
}

.page-category-pagenate {
    display: flex;
    justify-content: center;
    padding: 20px;
    margin-top: 30px;
    gap: 10px;
}
.page-category-pagenate a,
.page-category-pagenate span {
    display: flex;
    align-items: center;
    padding: 10px;
    font-size: 16px;
    /* border: solid 1px; */
    color: #333;
    line-height: 1;
    border-radius: 3px;
}
.page-category-pagenate a.prev.page-numbers,
.page-category-pagenate a.next.page-numbers {
    border: solid 1px;
}
.page-category-pagenate span {
    color: #d8577a;
    font-size: 20px;
    background-color: #fff;
}

@media only screen and (max-width: 1023px) {
    .page-category {
        gap: 20px;
    }
}
@media only screen and (max-width: 833px) {
    .page-category.interviews-wrapper .interview {
        width: calc(50% - 15px);
    }
}
@media only screen and (max-width: 560px) {
    .page-category {
        gap: 20px;
    }
    .page-category.interviews-wrapper .interview {
        width: calc(50% - 10px);
    }
    .page-category.interviews-wrapper .interview-img-box .int-img-text {
        font-size: 12px;
        padding: 10px 5px;
        min-height: calc(3em + 20px);
    }
    .page-category.interviews-wrapper p.data {
        font-size: 10px;
        padding: 5px;
    }
}


/*
--- マナー教育
---------------------------------------------------------------------------*/
.manners-activity-block-wrapper {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.manners-activity {
    width: calc(50% - 20px);
    background-color: #fff;
}
.manners-activity-text {
    padding: 15px 15px 20px;
}
.manners-activity-image {
    position: relative;
}
.manners-activity-image::before {
    content: '';
    display: block;
    padding-bottom: 66%;
}
.manners-activity-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.manners-activity-text h4 {
    font-size: 2.4rem;
    color: #d8577a;
}

/* ４つのマナー教育 */
.manners-block-wrapper {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    
    counter-reset: manner;
}
.manners-block {
    width: calc(50% - 15px);
    padding: 20px;
    background-color: #fff;
    border-radius: 20px;
    position: relative;
    display: flex;
    gap: 20px;
    
    counter-increment: manner;
}
.manners {
    width: 110px;
    height: 110px;
    background-color: #d8577a;
    border-radius: 50%;
    display: flex;
    padding-bottom: 10px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #fff;
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}
.manners::before {
    content: counter(manner, decimal-leading-zero);
    display: block;
    font-size: 32px;
    line-height: 1;
}
.manners-text {
    flex: 1;
}
/* マナーブック */
.mannerbook-block {
    margin-top: 40px;
    padding: 30px 20px 30px;
    background-color: #fff6e4;
    border-radius: 20px;
    border: solid 2px #d8577a;
    position: relative;
    display: flex;
    gap: 30px;
}
.mannerbook-image {
    width: 40%;
}
.mannerbook-text {
    flex: 1;
}
.mannerbook-text h4 {
    font-size: 2.4rem;
}
.mannerbook-text h4 span {
    display: block;
    font-size: 2rem;
    margin-top: 10px;
}

@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 833px) {
    /* マナー教育の取り組み */
    .manners-activity-block-wrapper {
        gap: 20px;
    }
    .manners-activity {
        width: calc(50% - 10px);
    }
    .manners-activity-text h4 > br {
        display: none;
    }
    /* 4つのマナー教育 */
    .manners-block-wrapper {
        gap: 20px;
    }
    .manners-block {
        width: calc(50% - 10px);
        flex-direction: column;
        padding-top: 0;
        margin-top: 20px;
    }
    .manners {
        margin: auto;
        margin-top: -20px;
    }
    .manners-text h4 {
        font-size: 2.4rem;
        text-align: center;
    }
}
@media only screen and (max-width: 767px) {
    .mannerbook-block {
        flex-direction: column;
        gap: 20px;
        padding: 20px 20px 30px;
    }
    .mannerbook-image {
        width: 100%;
        max-width: 540px;
        margin: auto;
    }
}
@media only screen and (max-width: 560px) {
    /* マナー教育の取り組み */
    .manners-activity {
        width: 100%;
    }

    /* 4つのマナー教育 */
    .manners-block {
        width: 100%;
    }
}


/*
--- カフェテリア
---------------------------------------------------------------------------*/
/* youtube */
.youtube-flame-block {
    margin-top: 50px;
    position: relative;
}
.youtube-flame-wrap {
    position: relative;
    max-width: 680px;
    margin: auto;
    padding: 20px;
    border-radius: 20px;
    background-color: #fff;
}
.youtube-flame-wrap::before {
    content: '';
    display: block;
    padding-bottom: 56.25%;
}
.youtube-flame-wrap iframe {
    position: absolute;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    top: 20px;
    left: 20px;
}
.youtube-flame-block svg.svg-bg.sakura4 {
    position: absolute;
    right: 0;
    top: 0;
    width: 150px;
}
.youtube-flame-block svg.svg-bg.sakura5 {
    width: 150px;
    position: absolute;
    left: 0;
    bottom: 0;
}
/* テキストブロック　ー　カフェ用 */
.basic_text-image-block.cafe_photo {
    align-items: center;
}
.basic_text-image-block.cafe_photo .image-box {
    width: 50%;
    position: relative;
    z-index: 0;
    padding: 20px;
}
.basic_text-image-block.cafe_photo .image-box .cafe_image-wrap {
    position: relative;
}
.basic_text-image-block.cafe_photo .image-box .cafe_image-wrap img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: contain;
}
.basic_text-image-block.cafe_photo .image-box .cafe_image-wrap::before {
    content: '';
    display: block;
    padding-bottom: 66%;
}
.basic_text-image-block.cafe_photo .image-box .cafe_image-wrap::after {
    content: '';
    position: absolute;
    z-index: -1;
    width: 100%;
    padding-bottom: 70%;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-image: URL(/wp/wp-content/uploads/2025/01/lunchonmat.webp);
}
.basic_text-image-block.cafe_photo .image-box h5 {
    
}
.basic_text-image-block.cafe_photo .image-box h5 span {
    display: inline-block;
    padding: 5px 20px;
    border-radius: 50px;
    background-color: #fff;
    border: solid 2px #333;
}
.basic_text-image-block.cafe_photo .image-box .cafe_image-wrap+p {
    margin: 0 20px;
    padding: 15px 20px;
    background-color: #fff;
    border-radius: 10px;
    border: 2px solid #8ac783;
}
.basic_text-image-block.cafe_photo .text-box {
    width: 50%;
}
.basic_text-image-block.cafe_photo .text-box h4 {
    color: #d8577a;
}
.basic_text-image-block.cafe_photo .text-box strong.key-color {
    font-size: 160%;
    color: #d8577a;
    padding: 0 5px;
}

/* 弁当一覧 */
.cafemenu-section {
    background-image: url("/wp/wp-content/uploads/2025/01/lunchonmat.webp");
}
.block.cafe-lead {
    background-color: #fffbef;
    padding: 30px 20px;
    border-radius: 20px;
}
.flex_block.bento h5 {
    font-size: 1.8rem;
    text-align: center;
    margin-top: 1em;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W6";
}
.flex_block.bento .bento-image+h5 {
    background-color: #fff;
    margin-top: 0;
    padding: 5px;
    border-radius: 30px;
    position: relative;
}
.flex_block.bento .bento-image+h5::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6px 10px 6px;
    border-color: transparent transparent #fff transparent;
    transform: translate(-50%, -100%);
}
.bento-image {
    position: relative;
    z-index: 0;
}
/*.bento-image::after {
    content: '';
    position: absolute;
    z-index: -1;
    width: 100%;
    padding-bottom: 75%;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: #fff;
    background-image: URL(/wp/wp-content/uploads/2025/01/lunchonmat.webp);
}*/


@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 767px) {
    .basic_text-image-block.cafe_photo .text-box {
        width: 100%;
        position: relative;
        z-index: 1;
    }
    .basic_text-image-block.cafe_photo .image-box {
        width: 100%;
        padding: 10px 0 0;
    }
    .basic_text-image-block.cafe_photo .image-box img {
        object-fit: cover;
    }
    .basic_text-image-block.cafe_photo .image-box::before {
        padding-bottom: 60%;
    }
    /*.basic_text-image-block.cafe_photo .image-box::after {
        content: '';
        position: absolute;
        z-index: -1;
        width: 75%;
        padding-bottom: 75%;
        left: 50%;
        top: 50%;
    }*/
    .basic_text-image-block.cafe_photo .image-box .cafe_image-wrap+p {
        margin: -10px 5px 0;
    }
    
    /* 弁当一覧 */
    .flex_block.bento h5 {
        margin-top: 0.5em;
    }
    
}
@media only screen and (max-width: 560px) {
    /* 弁当一覧 */
    .block.cafe-lead {
        padding: 20px 10px;
    }
    .block.cafe-lead > * {
        text-align: left !important;
    }
    .block.cafe-lead h4 > br {
        display: none;
    }
}

/*
--- 制服
---------------------------------------------------------------------------*/
.uniform-block-wrapper {
    display: flex;
    margin-top: 50px;
}
.uniform-block-wrapper:nth-of-type(even) {
    flex-direction: row-reverse;
}

.uniform-main-block {
    width: calc(50% + 60px);
    padding: 30px;
}
.uniform-item-block {
    width: calc(50% - 60px);
    padding: 30px 20px;
    background-color: #fff;
    border-radius: 20px;
}

.uniform-item + .uniform-item {
    margin-top: 30px;
}
.unform-item-image {
    padding: 10px;
}
.unform-main-image img {
    width: 100%;
}
h5.uniform-title {
    font-family: "Shippori Mincho", serif;
    padding: 0 20px;
    color: #fff;
}
h5.uniform-title span {
    background-color: #f3b3cf;
    display: block;
    padding: 5px 10px;
    position: relative;
    border-radius: 3px;
    text-align: center;
}
h5.uniform-title span::before,
h5.uniform-title span::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #f3b3cf transparent;
    top: 50%;
}
h5.uniform-title span::before {
    left: 0;
    border-width: 15px 0 15px 15px;
    -webkit-transform: translate(-100%, -50%);
    transform: translate(-100%, -50%);
}
h5.uniform-title span::after {
    right: 0;
    border-width: 15px 15px 15px 0;
    -webkit-transform: translate(100%, -50%);
    transform: translate(100%, -50%);
}
.uniform-item-text {
    padding: 0 20px 10px 20px;
}
.uniform-item-text > :first-child {
    margin-top: 0;
}
.uniform-item-text p {
    font-size: 12px;
}
@media only screen and (max-width: 1023px) {
    .uniform-main-block {
        width: calc(50% + 30px);
        padding-left: 0;
    }
    .uniform-block-wrapper:nth-of-type(even) .uniform-main-block {
        width: calc(50% + 30px);
        padding-right: 0;
        padding-left: 30px;
    }
    .uniform-item-block {
        width: calc(50% - 30px);
        padding: 30px 10px;
    }
}
@media only screen and (max-width: 767px) {
    .uniform-block-wrapper {
        flex-direction: column !important;
        margin-top: 30px;
    }
    .uniform-main-block,
    .uniform-block-wrapper:nth-of-type(even) .uniform-main-block {
        width: 100%;
        padding: 30px;
    }
    .unform-main-image {
        max-width: 440px;
        margin: auto;
    }
    .uniform-item-block {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        margin-top: 0;
    }
    .uniform-item {
        width: calc(50% - 10px);
    }
    .uniform-item + .uniform-item {
        margin-top: 0;
    }

}
@media only screen and (max-width: 560px) {
    .uniform-item {
        width: 100%;
    }
}

/*
--- 教員採用情報
---------------------------------------------------------------------------*/
.recruitment_block a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    height: 100%;
    padding: 20px;
    background-color: #fff;
    border-radius: 10px;
    border: solid 1px #aaa;
    color: inherit;
}
.recruitment_block a h6 {
    line-height: 1.6;
}
.recruit_btn {
    display: block;
    position: relative;
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
    background-color: #d8577a;
    padding: 15px 40px 15px 25px;
    line-height: 1;
    color: #fff;
    border-radius: 30px;
    -webkit-transition: background 0.6s;
    -o-transition: background 0.6s;
    transition: background 0.6s;
}
.recruitment_block a:hover .recruit_btn {
    background-color: #F388A5;
}
.recruit_btn::after {
    content: '';
    position: absolute;
    width: 30px;
    height: 4px;
    right: 15px;
    top: 50%;
    border-bottom: 1px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: translateY(-50%) skewX(45deg);
    -ms-transform: translateY(-50%) skewX(45deg);
    -o-transform: translateY(-50%) skewX(45deg);
    transform: translateY(-50%) skewX(45deg);
    -webkit-transition: right 0.6s;
    -o-transition: right 0.6s;
    transition: right 0.6s;
}
.recruitment_block a:hover .recruit_btn::after {
    right: 10px;
}
@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 833px) {
}
@media only screen and (max-width: 560px) {
}


/*
--- 同窓会
---------------------------------------------------------------------------*/
.no-article {
    background-color: #fff;
    width: 100%;
    min-height: 140px;
    border-radius: 20px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.classreunion_link-block-wrapper {
  margin-top: 50px;  
}
.classreunion_link {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 20px;
    background-color: #fff;
    border-radius: 10px;
    border: solid 1px #a24003;
    color: inherit;
}
.classreunion_link h5 {
    border-left: 5px solid #d8577a;
    padding-left: 10px;
}
.classreunion_link > a {
    margin-top: 30px;
    border: 1px solid #d8577a;
}
.classreunion_info a.recruit_btn:hover,
.classreunion_link > a:hover {
    background-color: #fff;
    color: #333;
}
.classreunion_link > a.recruit_btn:hover::after,
.classreunion_info .recruit_btn:hover::after {
    border-color: #333;
    right: 10px;
}
/* 同窓会への連絡 */
.classreunion_info-block {
    margin-top: 60px;
    padding: 30px 0;
    position: relative;
    z-index: 0;
    background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.classreunion_info-block::before {
    content: '';
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0.4;
}
.classreunion_info {
    max-width: 640px;
    margin: 0 auto;
    padding: 20px;
    text-align: center;
}
.classreunion_info .recruit_btn {
    margin-top: 40px;
    border: 1px solid #d8577a;
}

/*  */
a.post_link {
    color: inherit;
    display: block;
    position: relative;
    padding-bottom: 40px;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
}
a.post_link::after {
    content: '';
    position: absolute;
    display: block;
    width: 40px;
    height: 5px;
    bottom: 15px;
    right: 20px;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: skewX(45deg);
    -o-transform: skewX(45deg);
    transform: skewX(45deg);
    -webkit-transition: right 0.6s;
    -o-transition: right 0.6s;
    transition: right 0.6s;
}
a.post_link:hover::after {
    right: 15px;
}
.post_link .post-date {
    padding: 0 20px 0 55px;
    font-size: 12px;
    position: relative;
}
.post_link .post-date::before {
    content: '';
    position: absolute;
    width: 25px;
    height: 1px;
    left: 20px;
    top: 50%;
    background-color: #aaa;
}
.post_link .post-title {
    margin-top: 10px;
    padding: 0 10px;
    line-height: 1.6;
}
.btn.article_blk-btn {
    margin-top: 40px;
}

@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 833px) {
}
@media only screen and (max-width: 560px) {
}

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

@media only screen and (max-width: 1023px) {
}
@media only screen and (max-width: 833px) {
}
@media only screen and (max-width: 560px) {
}







