@charset "utf-8";

/* 基本 */
[data-area="content"] strong {
  font-weight: 700;
}

[data-area="content"] em {
  font-style: italic;
}

[data-area="content"] sup {
  font-size: 70%;
  vertical-align: top;
  position: relative;
  top: 5px;
}

[data-area="content"] sub {
  font-size: 70%;
  vertical-align: bottom;
  position: relative;
  bottom: 5px;
}

/* 応急処置 */
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
br,
span,
strong,
table {
  clear: both;
}

/* リード文 */
[data-area="content"] .lead1 {
  font-size: 2.8rem;
  line-height: 2;
  font-weight: 500;
  color: #2660BC;
  text-align: center;
  letter-spacing: .1em;
  font-family: 'Noto serif JP', sans-serif;
  margin: 34px calc(50% - 42.71vw);
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .lead1 {
    font-size: 2rem;
    line-height: 1.75;
    margin: 25px 0;
    letter-spacing: 0;
  }
}

[data-area="content"] .lead2 {
  margin: 10px calc(50% - 42.71vw);
  font-size: 2rem;
  text-align: center;
  line-height: 2;
  font-weight: 500;
  color: #2660BC;
  letter-spacing: 0;
  font-family: 'Noto serif JP', sans-serif;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .lead2 {
    font-size: 2rem;
    line-height: 1.5;
    margin: 51px 0 35px;
    letter-spacing: .01em;
  }
}

[data-area="content"] .lead3 {
  font-size: 2rem;
  color: #2660BC;
  margin: 58px 0;
  letter-spacing: 0;
  line-height: 2;
  font-weight: 500;
  font-family: 'Noto serif JP', sans-serif;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .lead3 {
    font-size: 1.5rem;
    line-height: 1.75;
    margin: 30px 0;
  }
}


/* ==========================================================================

画像の角丸

========================================================================== */
.cp-inner img {
  width: 100%;
}


/* ==========================================================================

ボタン（左右中央）

========================================================================== */
[data-area="content"] .button1,
[data-area="content"] .button2,
[data-area="content"] .button3 {
  position: relative;
  width: 100%;
  max-width: 240px;
  margin: 20px 0;
  text-align: center;
  transition: all .2s;
}

@media only screen and (max-width: 1279px) {

  [data-area="content"] .button1,
  [data-area="content"] .button2,
  [data-area="content"] .button3 {
    right: 4px;
    max-width: 242px;
    margin: 20px auto;
  }
}

[data-area="content"] .button1 {
  margin-right: auto;
}

[data-area="content"] .button2 {
  margin: 20px auto;
}

[data-area="content"] .button3 {
  margin-left: auto;
}

.cms .button-inner a[target="_blank"]::after {
  content: none;
}

[data-area="content"] .button1::before,
[data-area="content"] .button2::before,
[data-area="content"] .button3::before {
  content: '';
  position: absolute;
  z-index: -1;
  right: -8px;
  bottom: -9px;
  background: #BAD6E5;
  width: 100%;
  max-width: 240px;
  height: 40px;
}

@media only screen and (max-width: 1279px) {

  [data-area="content"] .button1::before,
  [data-area="content"] .button2::before,
  [data-area="content"] .button3::before {
    right: 4px;
    max-width: 240px;
    height: 46px;
    right: -7px;
    bottom: -7px;
  }
}

.cms [data-area="content"] .button1::before,
.cms [data-area="content"] .button2::before,
.cms [data-area="content"] .button3::before {
  content: none;
}

[data-area="content"] .button1::after,
[data-area="content"] .button2::after,
[data-area="content"] .button3::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: -21px;
  top: 4px;
  bottom: 0;
  margin: auto 0;
  background: #2688BC;
  width: 23px;
  height: 1px;
  transition: transform ease .3s;
}

@media only screen and (max-width: 1279px) {

  [data-area="content"] .button1::after,
  [data-area="content"] .button2::after,
  [data-area="content"] .button3::after {
    right: -18px;
  }
}

.cms [data-area="content"] .button1::after,
.cms [data-area="content"] .button2::after,
.cms [data-area="content"] .button3::after {
  content: none;
}

[data-area="content"] .button1 a,
[data-area="content"] .button2 a,
[data-area="content"] .button3 a {
  font-size: 1.4rem;
  font-weight: 400;
  backface-visibility: hidden;
  position: relative;
  z-index: 1;
  color: #2688BC;
  background: #fff;
  border: 1px solid #2688BC;
  text-align: center;
  padding: 9px 7px 9px 6px;
  letter-spacing: 0;
  line-height: 1.4;
  display: block;
  overflow: hidden;
  text-decoration: none;
  transition: color ease .3s, border ease .3s;
}

@media only screen and (max-width: 1279px) {

  [data-area="content"] .button1 a,
  [data-area="content"] .button2 a,
  [data-area="content"] .button3 a {
    font-size: 1.35rem;
    padding: 13px 33px 13px 19px;
  }
}

[data-area="content"] .button1 a::before,
[data-area="content"] .button2 a::before,
[data-area="content"] .button3 a::before {
  content: '';
  width: 150%;
  height: 200%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto 0;
  z-index: -1;
  background: #2688BC;
  transform: translateX(-100%);
  transition: transform ease .3s;
}

[data-area="content"] .button1 a::after,
[data-area="content"] .button2 a::after,
[data-area="content"] .button3 a::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: 0px;
  top: 4px;
  bottom: 0;
  margin: auto 0;
  background: #2688BC;
  width: 19px;
  height: 1px;
  transition: transform ease .3s;
}

@media only screen and (max-width: 1279px) {

  [data-area="content"] .button1 a::after,
  [data-area="content"] .button2 a::after,
  [data-area="content"] .button3 a::after {
    width: 33px;
  }
}

.cms [data-area="content"] .button1 a::after,
.cms [data-area="content"] .button2 a::after,
.cms [data-area="content"] .button3 a::after {
  content: none;
}

@media screen and (min-width: 1280px) {

  [data-area="content"] .button1:hover::after,
  [data-area="content"] .button2:hover::after,
  [data-area="content"] .button3:hover::after {
    background: #2688BC;
  }

  [data-area="content"] .button1 a:hover,
  [data-area="content"] .button2 a:hover,
  [data-area="content"] .button3 a:hover {
    color: #fff;
    border-color: #2688BC;
  }

  .cms [data-area="content"] .button1 a:hover,
  .cms [data-area="content"] .button2 a:hover,
  .cms [data-area="content"] .button3 a:hover {
    color: #222;
  }

  [data-area="content"] .button1 a:hover::before,
  [data-area="content"] .button2 a:hover::before,
  [data-area="content"] .button3 a:hover::before {
    transform: translateX(10%);
  }

  .cms [data-area="content"] .button1 a:hover::before,
  .cms [data-area="content"] .button2 a:hover::before,
  .cms [data-area="content"] .button3 a:hover::before {
    transform: translateX(-100%);
  }

  [data-area="content"] .button1 a:hover::after,
  [data-area="content"] .button2 a:hover::after,
  [data-area="content"] .button3 a:hover::after {
    background: #fff;
  }

  .cms [data-area="content"] .button1 a:hover::after,
  .cms [data-area="content"] .button2 a:hover::after,
  .cms [data-area="content"] .button3 a:hover::after {
    background: #707070;
  }
}

/* フォントファミリー */
[data-area="content"] .FF-1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

[data-area="content"] .FF-2 {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}

[data-area="content"] .FF-3 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
}

[data-area="content"] .FF-4 {
  font-family: "Yusei Magic", sans-serif;
  font-weight: 500;
}

[data-area="content"] .FF-5 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
}

/* リスト関連 */
[data-area="content"] ol {
  list-style: none;
  counter-reset: num;
  margin: 0 0 0 18px;
}

[data-area="content"] ol li {
  text-indent: -10px;
  padding-left: 1px;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] ol li {
    text-indent: -9px;
    padding-left: 0;
  }
}

[data-area="content"] ol li:before {
  content: counter(num) ". ";
  counter-increment: num;
  display: inline-block;
  margin-right: 4px;
}

[data-area="content"] ul {
  width: auto;
  margin: 0 0 0 8px;
  list-style: none !important;
}

[data-area="content"] ul li {
  list-style: none !important;
  padding-left: 11px;
  text-indent: -11px;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] ul li {
    padding-left: 9px;
    text-indent: -9px;
    letter-spacing: 0.1em;
  }
}

[data-area="content"] ul li::before {
  position: relative;
  top: 0;
  left: -7px;
  display: inline-block;
  width: 12px;
  height: 12px;
  content: '';
  border-radius: 50%;
  background: #2688BC;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] ul li::before {
    width: 9px;
    height: 9px;
  }
}

._cp-link__i-listAreaLi,
.cms .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li,
.cms ._cp-link__i-listAreaLi {
  padding-left: 0;
  text-indent: 0;
}

._cp-link__f-listAreaLi::before,
.cms .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li::before,
.cms ._cp-link__i-listAreaLi::before,
._cp-link__f-listAreaLi::before,
.cms .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li::before,
.cms ._cp-link__i-listAreaLi::before {
  content: none !important;
}

/* 基本ブロック全て */
.cp-all {
  position: relative;
  margin: 40px 0;
  line-height: 1.8;
  z-index: 0;
}

@media only screen and (max-width: 1279px) {
  .cp-all {
    margin: 20px 0;
  }
}

.cp-all::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: -20px;
  left: calc(50% - 50vw);
  width: 100vw;
  height: calc(100% + 40px);
  pointer-events: none;
}

/* 見出し */
[data-area="content"] .cp-h1-text {
  position: relative;
  font-weight: 500;
  font-size: 3.2rem;
  line-height: 1.6;
  padding: 35px 0;
  text-align: center;
  letter-spacing: .1em;
  font-family: "Noto Serif JP", serif;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-h1-text {
    font-size: 2.5rem;
    padding: 20px 0;
  }
}

[data-area="content"] .cp-h2-text {
  margin: 40px 0;
  position: relative;
  font-size: 3.2rem;
  text-align: center;
  line-height: 1.4;
  color: #222;
  padding: 19px 10px 17px;
  letter-spacing: .1em;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-h2-text {
    margin: 27px 0 50px;
    padding: 16px 10px 14px;
    font-size: 2.2rem;
    letter-spacing: 0;
    line-height: 1.4;
    max-width: 100%;
  }
}

[data-area="content"] .cp-h2-text::before {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 4px;
  height: 100%;
  background-color: #2688BC;
}

[data-area="content"] .cp-h2-text::after {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 4px;
  height: 100%;
  background-color: #2688BC;
}

@media only screen and (max-width: 1279px) {

  [data-area="content"] .cp-h2-text::before,
  [data-area="content"] .cp-h2-text::after {
    width: 2px;
  }
}

[data-area="content"] .cp-h3-text {
  font-size: 2.4rem;
  line-height: 1.4;
  margin: 40px 0 20px;
  padding: 10px 19px 6px 19px;
  color: #fff;
  background: #2688BC;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-h3-text {
    font-size: 1.9rem;
    line-height: 1.4;
    margin: 40px 0 20px;
    padding: 7px 0 7px 10px;
  }
}

[data-area="content"] .cp-h4-text {
  font-size: 2rem;
  line-height: 1.6;
  margin: 40px 0 32px;
  padding: 5px 0 3px 16px;
  color: #333;
  border-left: 4px solid #2688BC;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-h4-text {
    font-size: 1.8rem;
    margin: 40px 0 20px;
    padding: 6px 0 5px 13px;
    border-width: 3px;
  }
}

[data-area="content"] .cp-h5-text {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.4;
  color: #222;
  margin: 40px 0 10px;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-h5-text {
    font-size: 1.6rem;
    margin: 40px 0 15px;
  }
}

.cp-all .cp-inner .cp-h1-text:first-child,
.cp-all .cp-inner .cp-h2-text:first-child,
.cp-all .cp-inner .cp-h3-text:first-child,
.cp-all .cp-inner .cp-h4-text:first-child,
.cp-all .cp-inner .cp-h5-text:first-child,
.cp-all .cp-inner .lead1:first-child,
.cp-all .cp-inner .lead2:first-child,
.cp-all .cp-inner .lead3:first-child {
  margin-top: 0;
}

.cp-all:first-child,
[data-area="content"] .cp-h1-text:first-child,
[data-area="content"] .cp-h2-text:first-child,
[data-area="content"] .cp-h3-text:first-child,
[data-area="content"] .cp-h4-text:first-child,
[data-area="content"] .cp-h5-text:first-child,
[data-area="content"] .lead1:first-child,
[data-area="content"] .lead2:first-child,
[data-area="content"] .lead3:first-child {
  margin-top: 0;
}

.cp-h1-text hr,
.cp-h2-text hr,
.cp-h3-text hr,
.cp-h4-text hr,
.cp-h5-text hr {
  display: none;
}

.cp-hr-100 {
  border-width: 0;
  border-style: solid;
  border-top: 1px solid #ccc;
}

.cp-hr-400 {
  border-width: 0;
  border-style: solid;
  border-top: 4px solid #ccc;
}

.cp-hr-800 {
  border-width: 0;
  border-style: solid;
  border-top: 8px solid #ccc;
}

.cp-hr-dashed {
  border-width: 0;
  border-top: 1px dashed #ccc;
}

/* ブロック内ボタン */
.cp-link-btn {
  display: table;
  margin: 20px 0;
  padding: 4px 20px;
  background-color: #333;
  color: #fff;
  text-decoration: none;
}

.cp-link-btn:hover {
  opacity: .7;
}

/* 囲み */
.cp-wp {
  padding: 29px 30px 25px;
  background: #F0F4F5;
  line-height: 1.87;
}

@media only screen and (max-width: 1279px) {
  .cp-wp {
    padding-left: 20px 15px;
  }
}

.cp-wp::before {
  top: -21px;
  height: calc(100% + 42px);
}

/* テーブル */
[data-area="content"] table {
  width: 100%;
  margin-top: 50px;
  margin-bottom: 50px;
  border-collapse: collapse;
  border-spacing: 0;
}

[data-area="content"] .cp-text-item table,
[data-area="content"] .cp-it-text table:first-child,
[data-area="content"] .cp-ti-text table:first-child {
  margin-top: 0;
}

[data-area="content"] .cp-text-item table:last-child,
[data-area="content"] .cp-it-text table:last-child,
[data-area="content"] .cp-ti-text table:last-child {
  margin-bottom: 0;
}

[data-area="content"] .cp-ti-text .lead2 {
  margin: 10px 0;
  text-align: left;
}

@media screen and (max-width: 1279px) {
  [data-area="content"] .cp-ti-text .lead2 {
    margin: 51px 0 35px;
  }
}

[data-area="content"] table th {
  padding: 27px 14px;
  font-size: 1.6rem;
  border: 1px solid #CCC;
  background: #f2f2f2;
  vertical-align: middle;
  line-height: 1.6;
  box-sizing: border-box;
}

[data-area="content"] table td {
  padding: 15px 10px;
  word-break: break-all;
  font-size: 1.5rem;
  border: 1px solid #CCC;
  vertical-align: middle;
  line-height: 1.6;
  box-sizing: border-box;
}

@media screen and (max-width: 1279px) {

  [data-area="content"] table th img,
  [data-area="content"] table td img {
    min-width: 50vw;
  }
}

[data-area="content"] table.fr-dashed-borders {
  border-style: dashed !important;
  border-width: inherit !important;
}

[data-area="content"] table.fr-dashed-borders td,
[data-area="content"] table.fr-dashed-borders th {
  border-style: dashed !important;
}

[data-area="content"] table.fr-alternate-rows tbody tr:nth-child(2n) {
  background: #f5f5f5;
}

[data-area="content"] table.fr-table-border-vertical {
  border: none !important;
}

[data-area="content"] table.fr-table-border-vertical th,
[data-area="content"] table.fr-table-border-vertical td {
  border-top: 0px !important;
  border-bottom: 0px !important;
}

[data-area="content"] table.fr-table-border-horizontal {
  border: none !important;
}

[data-area="content"] table.fr-table-border-horizontal th,
[data-area="content"] table.fr-table-border-horizontal td {
  border-left: 0px !important;
  border-right: 0px !important;
}

[data-area="content"] table.fr-table-border-none {
  border: none !important;
}

[data-area="content"] table.fr-table-border-none th,
[data-area="content"] table.fr-table-border-none td {
  border: none !important;
}

[data-area="content"] table.fr-table-border-1px th,
[data-area="content"] table.fr-table-border-1px td {
  border-width: 1px !important;
}

[data-area="content"] table.fr-table-border-2px th,
[data-area="content"] table.fr-table-border-2px td {
  border-width: 2px !important;
}

[data-area="content"] table.fr-table-border-3px th,
[data-area="content"] table.fr-table-border-3px td {
  border-width: 3px !important;
}

[data-area="content"] table.fr-table-cellPadding-10 th,
[data-area="content"] table.fr-table-cellPadding-10 td {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

[data-area="content"] table.fr-table-cellPadding-20 th,
[data-area="content"] table.fr-table-cellPadding-20 td {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

[data-area="content"] table.fr-table-cellPadding-30 th,
[data-area="content"] table.fr-table-cellPadding-30 td {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

[data-area="content"] table.fr-table-cellPadding-40 th,
[data-area="content"] table.fr-table-cellPadding-40 td {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

[data-area="content"] table.fr-table-cellPadding-50 th,
[data-area="content"] table.fr-table-cellPadding-50 td {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

[data-area="content"] table.fr-table-cellPadding-60 th,
[data-area="content"] table.fr-table-cellPadding-60 td {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

[data-area="content"] table.fr-table-cellPadding-70 th,
[data-area="content"] table.fr-table-cellPadding-70 td {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

[data-area="content"] table.fr-table-cellPadding-80 th,
[data-area="content"] table.fr-table-cellPadding-80 td {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

[data-area="content"] table.fr-table-cellPadding-90 th,
[data-area="content"] table.fr-table-cellPadding-90 td {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}

[data-area="content"] table.fr-table-cellPadding-100 th,
[data-area="content"] table.fr-table-cellPadding-100 td {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

[data-area="content"] table td.fr-highlighted,
[data-area="content"] table th.fr-highlighted {
  border: 1px double red;
}

[data-area="content"] table td.fr-thick,
[data-area="content"] table th.fr-thick {
  border-width: 2px;
}

/* テキスト */
[data-area="content"] .cp-text {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

[data-area="content"] .cp-text .cp-text-item {
  width: 100%;
}

[data-area="content"] .cp-text .cp-text-l {
  margin-right: 40px;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-text {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  [data-area="content"] .cp-text .cp-text-l {
    margin-right: 0;
    margin-bottom: 20px;
  }
}

/* 画像 */
[data-area="content"] span.fr-img-caption {
  position: relative;
  display: block;
  max-width: 100%;
  margin: 5px auto;
  vertical-align: top;
  text-align: center;
}

[data-area="content"] span.fr-img-caption.fr-dib.fr-fir {
  margin-right: 0;
  text-align: right;
}

[data-area="content"] span.fr-img-caption.fr-dib.fr-fil {
  margin-left: 0;
  text-align: left;
}

[data-area="content"] span.fr-img-caption .fr-img-wrap {
  position: relative;
  display: block;
  max-width: 100%;
  width: auto;
  margin: 5px auto;
  vertical-align: top;
  text-align: center;
}

[data-area="content"] span.fr-img-caption .fr-img-wrap span.fr-inner {
  display: block;
  padding: 12px 0 20px;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] span.fr-img-caption .fr-img-wrap span.fr-inner {
    display: block;
    padding: 12px 0 20px;
  }
}

[data-area="content"] span.fr-img-caption .fr-img-wrap img {
  max-width: 100%;
  overflow: hidden;
}

[data-area="content"] .cp-img {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  margin: 30px 0;
}

[data-area="content"] .cp-img img {
  max-width: 100%;
  height: auto;
  transition: .2s;
}

.cms [data-area="content"] .cp-img img {
  width: 100%;
}

@media screen and (min-width: 1280px) {
  [data-area="content"] .cp-img a:hover img {
    opacity: .7;
  }
}

[data-area="content"] .cp-img-item {
  width: 100%;
  text-align: center;
}

[data-area="content"] .cp-img .cp-img-l {
  margin-right: 30px;
}

[data-area="content"] .cp-img-col1 {
  width: 100%;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-img-col1 {
    margin-bottom: 30px;
  }
}

[data-area="content"] .cp-img.cp-img-col2 .cp-img-l {
  margin-right: 40px;
}

[data-area="content"] .cp-img.cp-img-col3 .cp-img-l {
  margin-right: 15px;
}

[data-area="content"] .cp-img.cp-img-col4 .cp-img-l {
  margin-right: 15px;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-img {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 450px;
    margin: 40px auto;
  }

  [data-area="content"] .cp-img+.cp-img {
    margin-top: -30px;
  }

  [data-area="content"] .cp-img .cp-img-l {
    margin-right: 0;
    margin-bottom: 20px;
  }

  [data-area="content"] .cp-img.cp-img-col2 .cp-img-l,
  [data-area="content"] .cp-img.cp-img-col3 .cp-img-l,
  [data-area="content"] .cp-img.cp-img-col4 .cp-img-l {
    margin-right: 0;
  }
}


.cp-img-item.cp-img-r {
  margin-right: 0;
}

@media only screen and (max-width: 1279px) {
  .cp-img-item.cp-img-r {
    margin-bottom: 20px;
  }
}

/* 画像（縦） */
[data-area="content"] .cp-vertical {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

[data-area="content"] .cp-vertical img {
  max-width: 100%;
  height: auto;
}

[data-area="content"] .cp-vertical .cp-vertical-item {
  width: 100%;
  text-align: center;
}

[data-area="content"] .cp-vertical .cp-vertical-text {
  text-align: justify;
}

[data-area="content"] .cp-vertical .cp-vertical-l {
  margin-right: 60px;
}

[data-area="content"] .cp-ti.cp-vertical .cp-vertical-text {
  margin-bottom: 16px;
}

[data-area="content"] .cp-it.cp-vertical .cp-vertical-text {
  margin-top: 16px;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-vertical {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  [data-area="content"] .cp-vertical .cp-vertical-l {
    margin-right: 0;
    margin-bottom: 20px;
  }
}

/* 画像（横） */
[data-area="content"] .cp-horizontal {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

[data-area="content"] .cp-horizontal img {
  max-width: 100%;
  height: auto;
}

[data-area="content"] .cp-horizontal .cp-horizontal-item {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  width: 100%;
  text-align: center;
}

[data-area="content"] .cp-horizontal .cp-horizontal-l {
  margin-right: 0px;
}

[data-area="content"] .cp-horizontal .cp-horizontal-text {
  text-align: justify;
}

[data-area="content"] .cp-horizontal .cp-horizontal-img,
[data-area="content"] .cp-horizontal .cp-horizontal-text {
  width: calc(50% - 5px);
}

[data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text {
  margin-right: 40px;
  margin-top: -4px;
  letter-spacing: -0.04em;
}

[data-area="content"] .cp-it.cp-horizontal .cp-horizontal-text {
  margin-left: 40px;
  margin-top: -4px;
  letter-spacing: -0.04em;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-horizontal {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  [data-area="content"] .cp-horizontal .cp-horizontal-item {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  [data-area="content"] .cp-horizontal .cp-horizontal-img,
  [data-area="content"] .cp-horizontal .cp-horizontal-text {
    width: 100%;
  }

  [data-area="content"] .cp-horizontal .cp-horizontal-l {
    margin-right: 0;
    margin-bottom: 20px;
  }

  [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text {
    margin-right: 0;
    margin-top: 10px;
    margin-bottom: 26px;
  }

  [data-area="content"] .cp-it.cp-horizontal .cp-horizontal-text {
    margin-top: 10px;
    margin-bottom: 26px;
    margin-left: 0;
  }

  [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-img {
    margin: 0 auto;
  }
}

/* 画像（PC/SP切替） */
[data-area="content"] .cp-img-change img {
  max-width: 100%;
  height: auto;
}

[data-area="content"] .cp-img-change .cp-img-item>*:last-child {
  display: none;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-img-change .cp-img-item>*:first-child {
    display: none;
  }

  [data-area="content"] .cp-img-change .cp-img-item>*:last-child {
    display: inline-block;
  }
}

/*教育環境ページの調整*/
.page-environment .cp-vertical-text strong {
  font-weight: 700;
  margin: 5px 0;
  display: block;
}

.page-environment .cp-horizontal-text strong {
  font-size: 2rem;
  font-weight: 400;
  display: block;
  margin: 5px 0 13px;
}

@media only screen and (max-width: 1279px) {
  .page-environment .cp-horizontal-text strong {
    line-height: 1.5;
  }
}

.page-environment .cp-vertical-text strong+br,
.page-environment .cp-horizontal-text strong+br {
  display: none;
}


/* 線 */
.cp-border {
  border-top: 1px solid #ccc;
}

.cp-border hr {
  display: none;
}

/* アンカーリンクメニュー */
[data-area="content"] .cp-anchor-menu {
  margin: 40px 0 100px;
}

@media screen and (max-width: 1279px) {
  [data-area="content"] .cp-anchor-menu {
    margin-bottom: 24px;
  }
}

[data-area="content"] .cp-anchor-menu:first-child {
  margin-top: 0;
}

[data-area="content"] .cp-anchor-menu ul,
[data-area="content"] .cp-anchor-menu ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 12px;
}

@media only screen and (max-width: 1279px) {

  [data-area="content"] .cp-anchor-menu ul,
  [data-area="content"] .cp-anchor-menu ol {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2%;
  }
}

.cms [data-area="content"] .cp-anchor-menu ul,
.cms [data-area="content"] .cp-anchor-menu ol {
  justify-content: start;
}

[data-area="content"] .cp-anchor-menu li {
  position: relative;
  padding-left: 0;
  text-indent: 0 !important;
  margin: 0;
  width: 231px;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .cp-anchor-menu li {
    width: 100%;
    /* 佐藤追加 */
    margin: 0 0 10px;
  }
}

[data-area="content"] .cp-anchor-menu li::before {
  content: none;
}

[data-area="content"] .cp-anchor-menu li.empty {
  display: none;
}

[data-area="content"] .cp-anchor-menu li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2688BC;
  background: #fff;
  border: 1px solid #2688BC;
  border-radius: 2px;
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0;
  line-height: 1.4;
  height: 100%;
  transition: .2s;
  margin: 0;
  width: 231px;
  padding: 8.5px 0;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 1279px) {
  [data-area="content"] .cp-anchor-menu li a {
    width: 100%;
    /* 佐藤追加 */
    padding: 11px 5px;
  }
}

@media screen and (min-width: 1280px) {
  [data-area="content"] .cp-anchor-menu li a:hover {
    color: #fff;
    background: #2688BC;
    text-decoration: none;
  }
}

[data-area="content"] .cp-anchor-menu li a[target="_blank"]::after {
  content: none;
}

/* 別ページリンクメニュー */
[data-area="content"] .cp-blank-menu ul,
[data-area="content"] .cp-blank-menu ol {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 -5px 0;
  padding: 0;
  list-style: none;
}

[data-area="content"] .cp-blank-menu li {
  position: relative;
  margin-right: 15px;
  margin-bottom: 5px;
  padding-left: 20px;
}

[data-area="content"] .cp-blank-menu li::before {
  content: '';
  position: absolute;
  top: 5px;
  left: 0;
  display: inline-block;
  width: 15px;
  height: 15px;
  border: 1px solid #333;
  border-radius: 50%;
  background: #333;
}

[data-area="content"] .cp-blank-menu li::after {
  content: '';
  position: absolute;
  top: 10px;
  left: 4px;
  display: inline-block;
  width: 5px;
  height: 5px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg) skew(8deg, 8deg);
}

/* ボタン */
.cp-btn+.cp-btn {
  margin-top: -20px;
}

.cp-btn ul,
.cp-btn ol {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media only screen and (max-width: 1279px) {

  .cp-btn ul,
  .cp-btn ol {
    display: block;
  }
}

.cms .cp-btn ul,
.cms .cp-btn ol {
  justify-content: flex-start;
}

.cp-btn li {
  display: flex;
  margin-bottom: 20px;
  padding-left: 0 !important;
  text-indent: 0 !important;
}

@media only screen and (max-width: 1279px) {
  .cp-btn li {
    margin-bottom: 10px;
  }
}

.cms .cp-btn li {
  margin-right: 10px;
}

.cms .cp-btn li:last-child {
  margin-right: 0;
}

.cp-btn li::before {
  content: none !important;
}

.cp-btn.cp-btn-01 li {
  width: 100%;
}

.cp-btn.cp-btn-02 li {
  width: calc((100% - 15px) / 2);
}

.cp-btn.cp-btn-03 li {
  width: calc((100% - 30px) / 3);
}

.cp-btn.cp-btn-04 li {
  width: calc((100% - 45px) / 4);
}

.cp-btn.cp-btn-05 li {
  width: calc((100% - 60px) / 5);
}

.cp-btn.cp-btn-01 li,
.cp-btn.cp-btn-02 li:nth-child(2n+1),
.cp-btn.cp-btn-03 li:nth-child(3n+1),
.cp-btn.cp-btn-04 li:nth-child(4n+1),
.cp-btn.cp-btn-05 li:nth-child(5n+1) {
  margin-left: 0;
}

.cp-btn li a {
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  border: 1px solid #2688BC;
  word-break: break-all;
  cursor: pointer;
  text-decoration: none;
  backface-visibility: hidden;
  font-weight: 400;
  font-size: 1.6rem;
  transition: ease .2s;
  z-index: 1;
  overflow: hidden;
  width: 100%;
  border: 1px solid #2688BC;
  background-color: #fff;
  color: #333333;
  position: relative;
  display: block;
  letter-spacing: 0;
  border-radius: 0;
  line-height: 1.8;
  text-align: left;
  padding: 12px 18px;
}

.cp-btn li a::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% + -1px);
  right: 23px;
  width: 9px;
  height: 9px;
  border-top: 1px solid #2688BC;
  border-right: 1px solid #2688BC;
  transform: rotate(45deg) translateY(-50%);
  transition: 0.2s;
}

.cp-btn li a[target="_blank"]::after {
  background: none;
}

@media only screen and (max-width: 1279px) {
  .cp-btn li a {
    max-width: 100%;
    font-size: 1.4rem;
    padding: 12px;
  }
}

@media screen and (min-width: 1280px) {
  .cp-btn li a:hover {
    color: #fff;
    background: #2688BC;
    text-decoration: none;
  }

  .cp-btn li a:hover::after {
    border-color: #fff;
  }

  .cp-btn li a[target="_blank"]:hover::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
}

.cp-btn.cp-btn-column ul,
.cp-btn.cp-btn-column ol {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.cp-btn.cp-btn-column ul li,
.cp-btn.cp-btn-column ol li {
  margin-left: 0;
  margin-bottom: 20px;
}

@media only screen and (max-width: 1279px) {
  .cp-btn.cp-btn-02 li {
    width: 100%;
  }

  .cp-btn.cp-btn-03 li {
    width: 100%;
  }

  .cp-btn.cp-btn-04 li {
    width: 100%;
  }

  .cp-btn.cp-btn-05 li {
    width: 100%;
  }
}

.cp-text .cp-text-item img+.button1,
.cp-text .cp-text-item img+.button2,
.cp-text .cp-text-item img+.button3 {
  margin-top: 46px;
}

@media only screen and (max-width: 1279px) {

  .cp-text .cp-text-item img+.button1,
  .cp-text .cp-text-item img+.button2,
  .cp-text .cp-text-item img+.button3 {
    margin-top: 20px;
  }
}

/* タブ */
.cp-tab-menu {
  margin-bottom: 28px;
}

@media only screen and (max-width: 1279px) {
  .cp-tab-menu {
    margin-bottom: 15px;
  }
}

.cp-tab-menu ul,
.cp-tab-menu ol {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #DC091A;
}

.cp-tab-menu li {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  text-align: center;
  padding: 20px 5px 21px;
  border-left: none;
  word-break: break-all;
  cursor: pointer;
  background-color: #EDEDED;
  transition: .2s;
}

@media screen and (min-width: 1280px) {
  .cp-tab-menu li:hover {
    background-color: #DC091A;
    color: #fff;
  }
}

.cp-tab-menu li::before {
  content: none !important;
}

.cp-tab-menu li.active {
  background-color: #DC091A;
  color: #fff;
}

.cp-tab-content>div {
  display: none;
}

.cp-tab-content>div.active {
  display: block;
}

@media only screen and (max-width: 1279px) {

  .cp-tab-menu ul,
  .cp-tab-menu ol {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .cp-tab-menu li {
    width: 50%;
    border-top: none;
  }
}

.cp-tab-content>div:before,
.cp-tab-content>div:after {
  content: "";
  display: table;
}

.cp-tab-content>div:after {
  clear: both;
}

.cp-accordion-content>div:before,
.cp-accordion-content>div:after {
  content: "";
  display: table;
}

.cp-accordion-content>div:after {
  clear: both;
}


/* 開閉式 */
.cp-accordion {
  margin: 0;
}

.cp-accordion-title {
  position: relative;
  margin-bottom: 1px;
  padding: 10px 37px 10px 20px;
  border: 1px solid #333;
  background-color: #333;
  color: #fff;
  cursor: pointer;
}

.cp-accordion-title::before {
  content: "";
  position: absolute;
  top: 16px;
  right: 21px;
  width: 1px;
  height: 11px;
  background-color: #fff;
}

.cp-accordion.active .cp-accordion-title::before {
  opacity: 0;
}

.cp-accordion-title::after {
  content: "";
  position: absolute;
  top: 21px;
  right: 16px;
  width: 11px;
  height: 1px;
  background-color: #fff;
}

.cp-accordion-content {
  margin-top: 10px;
  margin-bottom: 40px;
}

.cp-accordion-content {
  display: none;
}

/* フォトアルバム */
.cp-photos {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

.cp-photos+.cp-photos {
  margin-top: 0;
}

.cp-photos-item {
  width: 100%;
  transition: .2s;
}

@media screen and (min-width: 1280px) {
  .cp-photos-item:hover {
    opacity: .7;
  }
}

.cp-photos-item .cp-inner:last-child {
  padding: 9px 0 0;
  letter-spacing: 0;
}

@media only screen and (max-width: 1279px) {
  .cp-photos-item .cp-inner:last-child {
    padding: 11px 0 0;
    line-height: 1.28;
  }
}

.cp-photos-item img {
  max-width: 100%;
  height: auto;
}

.cp-photos-item p {
  margin: 10px 0 0;
}

.cp-photos-item p:empty {
  display: none;
}

.cp-photos.cp-photos-02 .cp-photos-l {
  margin-right: 40px;
}

.cp-photos.cp-photos-03 .cp-photos-l {
  margin-right: 15px;
}

.cp-photos.cp-photos-04 .cp-photos-l {
  margin-right: 17px;
}

@media only screen and (max-width: 1279px) {
  .cp-photos {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .cp-photos .cp-photos-l {
    margin-right: 0;
    margin-bottom: 20px;
  }

  .cp-photos.cp-photos-02 .cp-photos-l,
  .cp-photos.cp-photos-03 .cp-photos-l,
  .cp-photos.cp-photos-04 .cp-photos-l {
    margin-right: 0;
  }
}

/* テーブル横スクロールの処理 */
table.table-scroll {
  border-top: 1px solid #c6c6c6;
}

@media only screen and (max-width: 1279px) {
  .table-scroll-wrap {
    overflow: auto;
    white-space: nowrap;
  }

  .table-scroll-wrap::-webkit-scrollbar {
    height: 5px;
  }

  .table-scroll-wrap::-webkit-scrollbar-track {
    background: #F1F1F1;
  }

  .table-scroll-wrap::-webkit-scrollbar-thumb {
    background: #BCBCBC;
  }
}

/* 動画アルバム */
.cp-videos {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

.cp-videos .code {
  display: none;
}

.fr-editor .cp-videos .code {
  display: block;
}

.cp-videos+.cp-videos {
  margin-top: -20px;
}

.cp-videos-item {
  width: 100%;
  margin-bottom: 20px;
  font-size: 1.5rem;
}

.cp-videos-item .cp-videos-thumb {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.cp-videos-04 .cp-videos-item .cp-videos-thumb {
  padding-top: 6.62%;
}

.cp-videos-item .cp-videos-thumb::before {
  content: '';
  transition: .3s;
  position: absolute;
  top: calc(50% - 19px);
  left: calc(50% - 30px);
  display: block;
  height: 38px;
  width: 60px;
  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2254%22%20height%3D%2236%22%20viewBox%3D%220%200%2054%2036%22%3E%3Cg%20transform%3D%22translate(4237%2016334)%22%3E%3Crect%20width%3D%2254%22%20height%3D%2236%22%20rx%3D%229%22%20transform%3D%22translate(-4237%20-16334)%22%20fill%3D%22%23555%22%20style%3D%22mix-blend-mode%3Amultiply%3Bisolation%3Aisolate%22%2F%3E%3Cpath%20d%3D%22M8.5%2C0%2C17%2C15H0Z%22%20transform%3D%22translate(-4201%20-16324)%20rotate(90)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center;
}

@media screen and (min-width: 1280px) {
  .cp-videos-thumb:hover::before {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2254%22%20height%3D%2236%22%20viewBox%3D%220%200%2054%2036%22%3E%3Cg%20transform%3D%22translate(4239%2016284)%22%3E%3Cg%20transform%3D%22translate(-321%2050)%22%3E%3Crect%20width%3D%2254%22%20height%3D%2236%22%20rx%3D%229%22%20transform%3D%22translate(-3918%20-16334)%22%20fill%3D%22red%22%2F%3E%3Cpath%20d%3D%22M8.5%2C0%2C17%2C15H0Z%22%20transform%3D%22translate(-3882%20-16324)%20rotate(90)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E');
  }
}

.fr-block .cp-videos-item .cp-videos-thumb iframe {
  visibility: visible;
}

.cp-videos-item .cp-videos-thumb iframe {
  width: 100%;
  height: 100%;
  visibility: hidden;
}

@media only screen and (max-width: 1279px) {
  .cp-videos-item .cp-videos-thumb .cp-inner {
    position: relative;
  }

  .cp-videos-item .cp-videos-thumb iframe {
    width: auto;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
  }
}

.cp-videos-item .popup-movie+.cp-inner {
  padding: 9px 0 0;
  letter-spacing: 0;
}

@media only screen and (max-width: 1279px) {
  .cp-videos-item .popup-movie+.cp-inner {
    padding: 11px 0 0;
    letter-spacing: 0;
    line-height: 1.28;
  }
}

.cp-videos-item p {
  margin: 10px 0 0;
}

.cp-videos-item p:empty {
  display: none;
}

.cp-videos.cp-videos-02 .cp-videos-l {
  margin-right: 40px;
}

.cp-videos.cp-videos-03 .cp-videos-l {
  margin-right: 15px;
}

.cp-videos.cp-videos-04 .cp-videos-l {
  margin-right: 17px;
}

.cp-videos .cp-videos-r {
  margin-right: 0;
}

@media only screen and (max-width: 1279px) {
  .cp-videos {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .cp-videos-item {
    width: 100%;
    margin: 0 auto 20px !important;
  }

  .cp-videos .cp-videos-l {
    margin-right: 0;
    margin-bottom: 20px;
  }

  .cp-videos.cp-videos-02 .cp-videos-l,
  .cp-videos.cp-videos-03 .cp-videos-l,
  .cp-videos.cp-videos-04 .cp-videos-l {
    margin-right: 0;
  }
}

.cp-videos.cp-videos-01 {
  margin: 0 auto;
}

@media only screen and (max-width: 1279px) {
  .cp-videos.cp-videos-01 {
    max-width: inherit;
  }
}

.cp-videos.cp-videos-01 .cp-videos-thumb {
  padding-top: 39.7%;
}

@media only screen and (max-width: 1279px) {
  .cp-videos.cp-videos-01 .cp-videos-thumb {
    padding-top: 58.62%;
  }
}

.cp-videos.cp-videos-02 .cp-videos-thumb {
  padding-top: 22.55%;
}

@media only screen and (max-width: 1279px) {
  .cp-videos.cp-videos-02 .cp-videos-thumb {
    padding-top: 58.62%;
  }
}

.cp-videos.cp-videos-03 .cp-videos-thumb {
  padding-top: 5.55%;
}

@media only screen and (max-width: 1279px) {
  .cp-videos.cp-videos-03 .cp-videos-thumb {
    padding-top: 58.62%;
  }
}

.cp-videos.cp-videos-04 .cp-videos-thumb {
  padding-top: 0;
}

@media only screen and (max-width: 1279px) {
  .cp-videos.cp-videos-04 .cp-videos-thumb {
    padding-top: 58.62%;
  }
}

/* 外部サービスコード */
.cp-external iframe {
  margin: 0 auto;
  display: block;
  max-width: 100%;
}

.cp-external-text-area {
  display: none;
}

@media only screen and (max-width: 1279px) {
  .cp-external {
    position: relative;
        max-width: 450px;
    margin: 20px auto;
  }

  .cp-external::after {
    content: "";
    display: block;
    padding-top: 56.25%;
  }

  .cp-external.cypochiform-wrap::after {
    display: none;
  }

  .cp-external iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
  }
}

/* テキスト装飾 */
.fr-text-gray {
  color: #aaa !important;
}

.fr-text-bordered {
  border-top: solid 1px #222;
  border-bottom: solid 1px #222;
  padding: 10px 0;
}

li.fr-text-bordered+li.fr-text-bordered {
  border-top: 0px;
}

.fr-text-spaced {
  letter-spacing: 1px;
}

.fr-text-uppercase {
  text-transform: uppercase;
}

.fr-class-highlighted {
  background-color: #ffff00;
}

.fr-class-code {
  border-color: #cccccc;
  border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  background: #f5f5f5;
  padding: 10px;
  font-family: "Courier New", Courier, monospace;
}

.fr-class-transparency {
  opacity: 0.5;
}

span.fr-emoticon {
  font-weight: normal;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
  display: inline;
  line-height: 0;
}

span.fr-emoticon.fr-emoticon-img {
  background-repeat: no-repeat !important;
  font-size: inherit;
  height: 1em;
  width: 1em;
  min-height: 20px;
  min-width: 20px;
  display: inline-block;
  margin: -.1em .1em .1em;
  line-height: 1;
  vertical-align: middle;
}

/* 画像の角を丸くする */
img.fr-rounded,
.fr-img-caption.fr-rounded img {
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}

/* 画像に境界線を追加 */
img.fr-bordered,
.fr-img-caption.fr-bordered img {
  border: solid 5px #CCC;
}

img.fr-bordered {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.fr-img-caption.fr-bordered img {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* 画像にドロップシャドウ */
img.fr-shadow,
.fr-img-caption.fr-shadow img {
  -webkit-box-shadow: 10px 10px 5px 0px #cccccc;
  -moz-box-shadow: 10px 10px 5px 0px #cccccc;
  box-shadow: 10px 10px 5px 0px #cccccc;
}


/* ==========================================================================

INDEXビジュアル

========================================================================== */
.index-visual {
  margin: 0 calc(50% - 44.271vw) 100px;
}

@media only screen and (max-width: 1279px) {
  .index-visual {
    margin: 29px 0 50px;
  }
}

.index-visual__inner {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 auto;
}

.index-visual__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -36%);
  z-index: 1;
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  letter-spacing: .25rem;
  line-height: 1.4;
  margin: -4px 0 0;
  font-family: "Noto Serif JP", serif;
}

@media only screen and (max-width: 1279px) {
  .index-visual__text {
    width: 100%;
    font-size: 3.4vw;
    letter-spacing: .1rem;
    transform: translate(-50%, -50%);
    margin: 0;
  }
}

.index-visual__img {
  width: 100%;
}

.index-visual__img img {
  border-radius: 12px;
}

@media only screen and (max-width: 1279px) {
  .index-visual__img {
    border-radius: 6px;
    overflow: hidden;
  }

  .index-visual__img img {
    width: 239%;
    max-width: none;
    margin-left: -50%;
    border-radius: 0;
  }
}

/* INDEXページ用 */
.index .index-visual {
  margin-bottom: 99px;
}

@media only screen and (max-width: 1279px) {
  .index .index-visual {
    margin-bottom: 45px;
  }
}


/* ==========================================================================

画像MAX

========================================================================== */
.max-image {
  margin: 52px calc(50% - 42.71vw);
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .max-image {
    margin: 52px -20px;
  }
}

@media only screen and (max-width: 1279px) {
  .max-image {
    margin: 16px calc(50% - 109.24vw) 21px;
  }

  .max-image.max-image__ver1 {
    margin: -16px -20px 21px;
  }
}

.cms .max-image {
  margin: 0;
}

.max-image img {
  border-radius: 20px;
  width: 100%;
}

@media only screen and (max-width: 1279px) {
  .max-image img {
    border-radius: 0;
  }
}


/* ==========================================================================

自ら輝き、世界を照らす人間に。

========================================================================== */
.person-shines {
  position: relative;
  background: #EAF5FA;
  border-radius: 60px;
  padding: 87px 0 127px;
  margin: -71px calc(50% - 42.71vw) 0;
}

@media only screen and (min-width: 0px) and (max-width: 1460px) {
  .person-shines {
    margin-left: 0;
    margin-right: 0;
  }
}

.cms .person-shines {
  padding-bottom: 0;
}

@media only screen and (max-width: 1279px) {
  .person-shines {
    border-radius: 30px;
    margin: -54px 0 0;
    padding: 42px 10px 36px;
  }
}

.person-shines__ttl {
  font-size: 3.2rem;
  text-align: center;
  letter-spacing: .06em;
  font-family: "Noto Serif JP", serif;
  padding: 0 0 69px;
}

@media only screen and (max-width: 1279px) {
  .person-shines__ttl {
    font-size: 1.9rem;
    margin: 0 0 0 7px;
    padding: 0 0 27px;
  }
}

.person-shines__img {
  display: flex;
  justify-content: center;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media only screen and (min-width: 0px) and (max-width: 1460px) {
  .person-shines__img {
    margin-top: 6.5vw;
  }
}

@media only screen and (max-width: 1279px) {
  .person-shines__img {
    position: static;
    max-width: 275px;
    margin-bottom: 31px;
  }
}

.cms .person-shines__img {
  position: static;
}

.person-shines__boxes {
  position: relative;
  display: flex;
  justify-content: center;
  padding-top: 650px;
}

@media only screen and (max-width: 1279px) {
  .person-shines__boxes {
    position: static;
    display: block;
    padding: 0;
  }
}

.cms .person-shines__boxes {
  padding-top: 0;
  margin: auto;
  display: block;
  width: 460px;
}

.person-shines__box {
  position: absolute;
}

@media only screen and (max-width: 1279px) {
  .person-shines__box {
    position: static;
    margin-bottom: 28px;
  }
}

.cms .person-shines__box {
  position: static;
  margin: 20px 0;
}

.person-shines__box:nth-child(1) {
  top: 46px;
  left: 18.445vw;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .person-shines__box:nth-child(1) {
    left: 20px;
  }
}

.person-shines__box:nth-child(1) li:before {
  background: #3EB2D2;
}

.person-shines__box:nth-child(2) {
  top: 46px;
  right: 13.6vw;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .person-shines__box:nth-child(2) {
    top: -20px;
    right: 20px;
  }
}

.person-shines__box:nth-child(2) li:before {
  background: #C0C662;
}

.person-shines__box:nth-child(3) {
  bottom: 0;
  right: 27.7vw;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .person-shines__box:nth-child(3) {
    right: 20px;
  }
}

.person-shines__box:nth-child(3) li:before {
  background: #F8CB4B;
}

.person-shines__box-ttl {
  font-size: 2rem;
  letter-spacing: 0;
  text-shadow: 0 0 0 #222;
  font-family: "Noto Serif JP", serif;
}

@media only screen and (max-width: 1279px) {
  .person-shines__box-ttl {
    font-size: 1.7rem;
    text-align: center;
    margin: 0 0 0 5px;
  }
}

.person-shines__box-lists {
  margin: 0 0 0 8px;
}

@media only screen and (max-width: 1279px) {
  .person-shines__box-lists {
    margin: 0 0 0 18px;
  }
}

.person-shines__box-lists ul {
  margin: 19px 0 0 0;
}

@media only screen and (max-width: 1279px) {
  .person-shines__box-lists ul {
    margin: 16px 0 0 8px;
  }
}

.person-shines__box-lists ul li {
  font-size: 1.5rem;
  margin-bottom: 2px;
  padding-left: 11px;
  text-indent: -11px;
}

@media only screen and (max-width: 1279px) {
  .person-shines__box-lists ul li {
    font-size: 1.4rem;
    margin-bottom: 3px;
    padding-left: 9px;
    text-indent: -8px;
  }
}

.person-shines__box-lists ul li:last-child {
  margin-bottom: 0;
}

.person-shines__box-lists ul li::before {
  width: 12px;
  height: 12px;
}

@media only screen and (max-width: 1279px) {
  .person-shines__box-lists ul li::before {
    width: 8px;
    height: 8px;
  }
}


/* ==========================================================================

開閉式（オリブロ）

========================================================================== */
.ob-acdUnit__head {
  margin: 40px -1px 5px 0;
  position: relative;
  text-align: right;
}

@media only screen and (max-width: 1279px) {
  .ob-acdUnit__head {
    margin: 40px 0 10px;
  }
}

.ob-acdUnit__headInner {
  position: relative;
  z-index: 2;
  padding: 0;
  line-height: 1;
  display: inline-block;
  cursor: pointer;
  color: #2660BC;
  font-size: 1.5rem;
  transition: .2s;
}

@media screen and (min-width: 1280px) {
  .ob-acdUnit__headInner:hover {
    text-decoration: underline;
  }
}

@media only screen and (max-width: 1279px) {
  .ob-acdUnit__headInner {
    font-size: 1.4rem;
  }
}

.ob-acdUnit.cp-all {
  position: relative;
  background: #fff;
  margin: 0;
}

.ob-acdUnit.cp-all:before {
  content: none;
}

.ob-acdUnit__dt {
  position: relative;
  transition: .2s;
  box-sizing: border-box;
  cursor: pointer;
}

.ob-acdUnit__dt::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #CCC;
  transition: border .2s ease;
  z-index: 10;
}

@media screen and (min-width: 1280px) {
  .ob-acdUnit__dt:hover {
    border-bottom: 0;
  }

  .ob-acdUnit__dt:hover::after {
    background: #333;
  }
}

.ob-acdUnit.cp-all:first-child>.ob-acdUnit__dt::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #CCC;
  z-index: 1;
}

.ob-acdUnit__dt.is-active .ob-acdUnit__dtInner::before {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.ob-acdUnit__dtInner {
  display: block;
  padding: 15px 0 14px 11px;
  letter-spacing: 0;
  font-weight: 500;
  font-size: 1.8rem;
  color: #333;
  background-color: #fff;
  text-decoration: none;
  position: relative;
  transition: .2s;
}

@media only screen and (max-width: 1279px) {
  .ob-acdUnit__dtInner {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: inherit;
    padding: 14px 37px 14px 10px;
  }
}

.ob-acdUnit__dtInner::before {
  content: '';
  display: block;
  margin: auto 0;
  width: 28px;
  height: 1px;
  top: 0;
  bottom: 0;
  right: 9px;
  z-index: 5;
  transition: all .2s;
  position: absolute;
  background-color: #707070;
}

@media only screen and (max-width: 1279px) {
  .ob-acdUnit__dtInner::before {
    width: 20px;
  }
}

.ob-acdUnit__dtInner::after {
  content: '';
  display: block;
  margin: auto 0;
  width: 28px;
  height: 1px;
  top: 0;
  bottom: 0;
  right: 9px;
  z-index: 5;
  transition: all .2s;
  position: absolute;
  background-color: #707070;
  transform: rotate(-90deg);
}

@media only screen and (max-width: 1279px) {
  .ob-acdUnit__dtInner::after {
    width: 20px;
  }
}

.ob-acdUnit__dt.is-active .ob-acdUnit__dtInner::after {
  transform: rotate(0deg);
}

.ob-acdUnit__dd {
  display: none;
  position: relative;
  padding: 30px 26px;
  border-bottom: 1px solid #CCC;
}

@media only screen and (max-width: 1279px) {
  .ob-acdUnit__dd {
    padding: 20px 23px;
  }
}

.cms-page-edit a[data-link-type="outerlink"]:hover::after {
  background: none !important;
}

.ob-acdUnit__contents {
  margin: 0 0 20px;
}


/* ==========================================================================

タブ（オリブロ）

========================================================================== */
.ob-tab {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin: 40px 0;
}

@media only screen and (max-width: 1279px) {
  .ob-tab {
    margin: 30px 0;
  }
}

.ob-tab__label {
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  cursor: pointer;
  line-height: 1.5;
  font-size: 1.8rem;
  text-align: center;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  flex-grow: 1;
  text-align: center;
  padding: 21px 5px 19px;
  border-left: none;
  word-break: break-all;
  transition: ease .2s;
  box-sizing: border-box;
  background: #EAF5FA;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  border-bottom: 1px solid #2688BC;
}

@media only screen and (max-width: 1279px) {
  .ob-tab__label {
    padding: 17px 5px;
    font-size: 1.2rem;
    line-height: 1.3;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
  }
}

@media screen and (min-width: 1280px) {
  .ob-tab__label:hover {
    color: #fff;
    background: #2688BC;
  }

  .ob-tab__label:hover a {
    color: #fff;
  }
}

.ob-tab__label a {
  color: #333;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}

@media only screen and (max-width: 1279px) {
  .ob-tab__label a {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
  }
}

.ob-tab__label.is-links {
  padding: 0;
}

.ob-tab__label.is-links .cp-inner {
  width: 100%;
  height: 100%;
}

.ob-tab__label.is-links a {
  display: block;
  padding: 19px 5px;
  text-decoration: none;
}

@media only screen and (max-width: 1279px) {
  .ob-tab__label.is-links a {
    padding: 17px 5px;
  }
}

.ob-tab__label a[target="_blank"]::after {
  content: none;
}

.ob-tab__switch {
  display: none;
}

.ob-tab__switch:checked+.ob-tab__label {
  color: #fff;
  background: #2688BC;
}

.ob-tab.is-tab6 .ob-tab__label {
  width: calc(100% / 6);
}

.ob-tab.is-tab5 .ob-tab__label {
  width: calc(100% / 5);
}

.ob-tab.is-tab4 .ob-tab__label {
  width: calc(100% / 4);
}

.ob-tab.is-tab3 .ob-tab__label {
  width: calc(100% / 3);
}

.ob-tab.is-tab2 .ob-tab__label {
  width: calc(100% / 2);
}

.ob-tab .ob-tab__content {
  position: relative;
  width: 100%;
}

.ob-tab .ob-tab__content>div {
  display: none;
  width: 100%;
  padding: 26px 0;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
}

@media only screen and (max-width: 1279px) {
  .ob-tab .ob-tab__content>div {
    padding: 50px 0 20px;
  }
}

.ob-tab__switch:checked+.ob-tab__label+.ob-tab__content>div {
  display: block;
}


/* ==========================================================================

囲み（オリブロ）

========================================================================== */
.cp-customize.cp-wp {
  padding: 58px 40px 55px;
}

@media only screen and (max-width: 1279px) {
  .cp-customize.cp-wp {
    padding: 29px 4% 25px;
  }
}

.cp-customize.cp-wp .cp-h4-text {
  margin-bottom: 16px;
  padding: 2px 0 6px 15px;
}

.cp-text-item__contents {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 1279px) {
  .cp-text-item__contents {
    flex-flow: column-reverse;
  }
}

.cp-text-item__contents-txt {
  padding: 22px 0 0;
  max-width: 600px;
}

@media only screen and (max-width: 1279px) {
  .cp-text-item__contents-txt {
    max-width: 100%;
  }
}

.cp-text-item__contents-img {
  width: 100%;
  max-width: 240px;
}

@media only screen and (max-width: 1279px) {
  .cp-text-item__contents-img {
    margin: 0 auto;
  }
}

.cp-text-item__contents-img img {
  border-radius: 50%;
}


/* ==========================================================================

INDEX：リンクブロック

========================================================================== */
.index-link::before {
  top: 0;
  height: 100%;
  background: #2688BC;
}

.index-link__left {
  width: 46.04%;
}

@media only screen and (max-width: 1279px) {
  .index-link__left {
    width: 100%;
  }
}

.index-link__ttl {
  overflow: hidden;
  position: relative;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.4;
  font-family: 'Noto serif JP', sans-serif;
  letter-spacing: .1em;
  padding: 18px 16px 17px 16px;
  border-left: 4px solid #2688BC;
}

@media only screen and (max-width: 1279px) {
  .index-link__ttl {
    font-size: 2.2rem;
    padding: 15px 11px 14px 11px;
    border-width: 3px;
  }
}

.index-link__ttl::after {
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  margin: auto 0;
  background: #2688BC;
  width: 200px;
  height: 1px;
}

@media only screen and (max-width: 1279px) {
  .index-link__ttl::after {
    width: 137px;
  }
}

.index-link__ttl>div {
  display: inline-block;
  position: relative;
  z-index: 2;
  padding: 0 20px 0 0;
  width: auto;
}

@media only screen and (max-width: 1279px) {
  .index-link__ttl>div {
    padding: 0 9px 0 0;
  }
}

.index-link__btnlists {
  padding: 29px 0 0;
}

@media only screen and (max-width: 1279px) {
  .index-link__btnlists {
    padding: 25px 0 0;
  }
}

.index-link__text {
  padding: 60px 0 0;
}

@media only screen and (max-width: 1279px) {
  .index-link__text {
    padding: 8px 0 15px;
  }
}

@media only screen and (max-width: 1279px) {

  .index-link__text .button1,
  .index-link__text .button2,
  .index-link__text .button3 {
    display: none;
  }
}

.index-link__img {
  overflow: hidden;
  position: relative;
  width: 49.06%;
}

@media only screen and (max-width: 1279px) {
  .index-link__img {
    width: 100%;
    padding-top: 45.03%;
  }
}

.index-link__img img {
  width: 100%;
}

@media only screen and (max-width: 1279px) {
  .index-link__img img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
  }
}

.index-link__after {
  display: none;
}

@media only screen and (max-width: 1279px) {
  .index-link__after {
    display: block;
    margin-right: 21px;
  }
}


/* ==========================================================================

INDEX：リンクブロック（画像有）

========================================================================== */
.index-link.is-img {
  margin: 100px 0 80px;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-img {
    margin: 50px 0 31px;
  }
}

.index-link.is-img .index-link__inner {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-img .index-link__inner {
    display: block;
    padding: 0 0 10px;
  }
}

.index-link.is-img .button1,
.index-link.is-img .button2,
.index-link.is-img .button3 {
  max-width: 320px;
  transition: all .2s;
}

@media only screen and (max-width: 1279px) {

  .index-link.is-img .button1,
  .index-link.is-img .button2,
  .index-link.is-img .button3 {
    right: 0;
    width: 100%;
    max-width: 100%;
    margin: 22px 0 0;
  }
}

@media only screen and (max-width: 370px) {

  .index-link.is-img .button1,
  .index-link.is-img .button2,
  .index-link.is-img .button3 {
    max-width: 282px !important;
  }
}

.index-link.is-img .button1+.button1,
.index-link.is-img .button2+.button2,
.index-link.is-img .button3+.button3 {
  margin-top: 28px;
}

@media only screen and (max-width: 1279px) {

  .index-link.is-img .button1+.button1,
  .index-link.is-img .button2+.button2,
  .index-link.is-img .button3+.button3 {
    margin-top: 17px;
  }
}

.index-link.is-img .button1::before,
.index-link.is-img .button2::before,
.index-link.is-img .button3::before {
  max-width: 320px;
  height: 54px;
  bottom: -8px;
}

@media only screen and (max-width: 1279px) {

  .index-link.is-img .button1::before,
  .index-link.is-img .button2::before,
  .index-link.is-img .button3::before {
    max-width: 100%;
    height: 50px;
    bottom: -7px;
  }
}

.index-link.is-img .button1::after,
.index-link.is-img .button2::after,
.index-link.is-img .button3::after {
  top: 2px;
}

@media only screen and (max-width: 1279px) {

  .index-link.is-img .button1::after,
  .index-link.is-img .button2::after,
  .index-link.is-img .button3::after {
    right: -21px;
  }
}

.index-link.is-img .button1 a,
.index-link.is-img .button2 a,
.index-link.is-img .button3 a {
  text-align: left;
  font-size: 1.6rem;
  padding: 15px 40px 15px 13px;
}

@media only screen and (max-width: 1279px) {

  .index-link.is-img .button1 a,
  .index-link.is-img .button2 a,
  .index-link.is-img .button3 a {
    font-size: 1.5rem;
    padding: 13px 40px 14px 10px;
  }
}

.index-link.is-img .button1 a::after,
.index-link.is-img .button2 a::after,
.index-link.is-img .button3 a::after {
  top: 2px;
}

@media only screen and (max-width: 1279px) {

  .index-link.is-img .button1 a::after,
  .index-link.is-img .button2 a::after,
  .index-link.is-img .button3 a::after {
    width: 18px;
  }
}


/* ==========================================================================

INDEX：リンクブロック（背景有）

========================================================================== */
.index-link.is-blue-btn {
  margin: 80px 0 100px;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-blue-btn {
    margin: 31px 0 50px;
  }
}

.index-link.is-blue-btn .index-link__inner {
  padding: 59px 0 45px;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-blue-btn .index-link__inner {
    padding: 38px 0 40px;
  }
}

.index-link.is-blue-btn .index-link__ttl {
  color: #fff;
  border-color: #fff;
}

.index-link.is-blue-btn .index-link__ttl::after {
  background: #fff;
}

.index-link.is-blue-btn .index-link__btnlists ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-blue-btn .index-link__btnlists ul {
    justify-content: space-between;
  }
}

.cms .index-link.is-blue-btn .index-link__btnlists ul {
  display: block;
}

.index-link.is-blue-btn .index-link__btnlists ul li {
  position: relative;
  width: 22.55%;
  margin: 0 34px 28px 0;
  padding: 0;
  text-indent: 0;
}

@media (min-width: 641px) and (max-width: 1279px) {
  .index-link.is-blue-btn .index-link__btnlists ul li:nth-child(2n) {
    margin-right: 21px;
  }
}

@media only screen and (max-width: 640px) {
  .index-link.is-blue-btn .index-link__btnlists ul li:nth-child(2n) {
    margin-left: 0;
    margin-right: 13px;
  }
}

@media (min-width: 641px) and (max-width: 1279px) {
  .index-link.is-blue-btn .index-link__btnlists ul li {
    width: 46.85%;
    margin: 0 0 8px;
  }
}

@media only screen and (max-width: 640px) {
  .index-link.is-blue-btn .index-link__btnlists ul li {
    width: 46%;
    margin: 0 0 8px;
  }
}

.cms .index-link.is-blue-btn .index-link__btnlists ul li {
  width: 100%;
  margin: 0;
}

.index-link.is-blue-btn .index-link__btnlists ul li:nth-child(4n) {
  margin-right: 0;
}

@media (min-width: 641px) and (max-width: 1279px) {
  .index-link.is-blue-btn .index-link__btnlists ul li:nth-child(4n) {
    margin-right: 21px;
  }
}

@media only screen and (max-width: 640px) {
  .index-link.is-blue-btn .index-link__btnlists ul li:nth-child(4n) {
    margin-right: 13px;
  }
}




.index-link.is-blue-btn .index-link__btnlists ul li::before {
  content: '';
  position: absolute;
  z-index: -1;
  right: -8px;
  bottom: -8px;
  top: inherit;
  left: inherit;
  background: #BAD6E5;
  width: 100%;
  max-width: 240px;
  height: 54px;
  border-radius: 0;
  mix-blend-mode: multiply;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-blue-btn .index-link__btnlists ul li::before {
    right: -6px;
    bottom: -5px;
    height: 50px;
    max-width: 100%;
  }
}

.index-link.is-blue-btn .index-link__btnlists ul li::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: -21px;
  top: 1px;
  bottom: 0;
  margin: auto 0;
  background: #2688BC;
  width: 23px;
  height: 1px;
  transition: transform ease .3s;
}

@media only screen and (max-width: 640px) {
  .index-link.is-blue-btn .index-link__btnlists ul li::after {
    width: 13px;
    right: -13px;
  }
}

.index-link.is-blue-btn .index-link__btnlists ul li a {
  font-size: 1.6rem;
  font-weight: 400;
  backface-visibility: hidden;
  position: relative;
  z-index: 1;
  color: #2688BC;
  background: #fff;
  border: 1px solid #2688BC;
  text-align: left;
  padding: 15px 15px 15px 24px;
  letter-spacing: 0;
  line-height: 1.4;
  display: block;
  overflow: hidden;
  text-decoration: none;
  transition: color ease .3s, border ease .3s;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-blue-btn .index-link__btnlists ul li a {
    font-size: 1.5rem;
    padding: 14px 15px 13px 8px;
  }
}

.cms .index-link.is-blue-btn .index-link__btnlists ul li a {
  display: inline-block;
  color: #fff;
  background: none;
  border: 0;
  padding: 0;
}

.index-link.is-blue-btn .index-link__btnlists ul li a::before {
  content: '';
  width: 150%;
  height: 200%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto 0;
  z-index: -1;
  background: #2688BC;
  transform: translateX(-100%);
  transition: transform ease .3s;
}

.index-link.is-blue-btn .index-link__btnlists ul li a::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: 0;
  top: 1px;
  bottom: 0;
  margin: auto 0;
  background: #2688BC;
  width: 19px;
  height: 1px;
  transition: transform ease .3s;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-blue-btn .index-link__btnlists ul li a::after {
    width: 18px;
  }
}

@media screen and (min-width: 1280px) {
  .index-link.is-blue-btn .index-link__btnlists ul li a:hover::after {
    background: #2688BC;
  }

  .index-link.is-blue-btn .index-link__btnlists ul li a:hover {
    color: #fff;
    border-color: #2688BC;
  }

  .cms .index-link.is-blue-btn .index-link__btnlists ul li a:hover {
    color: #222;
  }

  .index-link.is-blue-btn .index-link__btnlists ul li a:hover::before {
    transform: translateX(10%);
  }

  .cms .index-link.is-blue-btn .index-link__btnlists ul li a:hover::before {
    transform: translateX(-100%);
  }

  .index-link.is-blue-btn .index-link__btnlists ul li a:hover::after {
    background: #fff;
  }

  .cms .index-link.is-blue-btn .index-link__btnlists ul li a:hover::after {
    background: #707070;
  }
}

.cms .index-link.is-blue-btn .index-link__btnlists ul li::before,
.cms .index-link.is-blue-btn .index-link__btnlists ul li::after,
.cms .index-link.is-blue-btn .index-link__btnlists ul li a::before,
.cms .index-link.is-blue-btn .index-link__btnlists ul li a::after {
  content: none;
}

/* 入学案内 */
.is-index.admission2 .index-link.is-blue-btn .index-link__inner {
  padding: 59px 0 64px;
}

@media only screen and (max-width: 1279px) {
  .is-index.admission2 .index-link.is-blue-btn .index-link__inner {
    padding: 59px 0 40px;
  }
}

.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists {
  padding: 41px 0 0;
}

@media only screen and (max-width: 1279px) {
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists {
    padding: 23px 0 0;
  }

  .is-index.admission2 .index-link__col2-contents .index-link__btnlists {
    margin: 0 21px 0 0;
  }
}

@media only screen and (max-width: 640px) {
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists ul {
    display: block;
    margin: 0 21px 0 0;
  }
}

.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists ul li {
  width: 30.1%;
  transition: all .2s;
}

@media (min-width: 641px) and (max-width: 1279px) {
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists ul li {
    width: 46.85%;
    margin: 0 0 17px;
    right: 0;
  }

  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists ul li:nth-child(2n) {
    margin-right: 21px;
  }
}

@media only screen and (max-width: 640px) {
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists ul li {
    width: 100%;
    max-width: 100%;
    margin: 0 21px 17px 0;
    right: 0;
  }
}

/*
@media only screen and (max-width: 370px) {
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists ul li {
    max-width: 282px !important;
  }
}
*/

.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists ul li a {
  padding: 15px 15px 15px 13px;
}

@media only screen and (max-width: 1279px) {
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists ul li a {
    font-size: 1.5rem;
    padding: 13px 40px 14px 10px;
  }
}

.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists ul li::before {
  max-width: 100%;
}

@media only screen and (max-width: 1279px) {
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists ul li::before {
    max-width: 100%;
    height: 50px;
    bottom: -7px;
  }
}

.is-index.admission2 .index-link__col2 {
  display: flex;
  margin: 59px 0 0;
}

@media only screen and (max-width: 1279px) {
  .is-index.admission2 .index-link__col2 {
    display: block;
    margin: 40px 0 0;
  }
}

.is-index.admission2 .index-link__col2-contents {
  width: 35.85%;
  margin-right: 15.1%;
}

@media only screen and (max-width: 1279px) {
  .is-index.admission2 .index-link__col2-contents {
    width: 100%;
    margin-right: 0;
  }
}

.is-index.admission2 .index-link__col2-contents:last-child {
  margin-right: 0;
}

.is-index.admission2 .index-link__col2-contents .index-link__btnlists {
  padding: 21px 0 0 !important;
}

@media only screen and (max-width: 1279px) {
  .is-index.admission2 .index-link__col2-contents .index-link__btnlists {
    padding: 0 0 40px !important;
  }
}

.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button1,
.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button2,
.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button3 {
  max-width: 319px;
}

@media only screen and (max-width: 1279px) {

  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button1,
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button2,
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button3 {
    right: 0;
    max-width: 100%;
    margin: 22px 0 0;
  }
}

@media only screen and (max-width: 370px) {

  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button1,
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button2,
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button3 {
    max-width: 282px !important;
  }
}

.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button1::before,
.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button2::before,
.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button3::before {
  max-width: 100%;
  mix-blend-mode: multiply;
  right: -8px;
  bottom: -8px;
}

.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button1 a,
.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button2 a,
.is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button3 a {
  font-size: 1.6rem;
  text-align: left;
  padding: 15px 15px 15px 13px;
}

@media only screen and (max-width: 1279px) {

  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button1::after,
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button2::after,
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button3::after {
    top: 2px;
  }

  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button1 a::after,
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button2 a::after,
  .is-index.admission2 .index-link.is-blue-btn .index-link__btnlists .button3 a::after {
    top: 2px;
    width: 18px;
  }
}



/* ==========================================================================

INDEX：リンクブロック（3段画像）

========================================================================== */
.index-link.is-3blocks {
  margin: 100px 0 108px;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-3blocks {
    margin: 50px 0 56px;
  }
}

.index-link.is-3blocks .cp-vertical.cp-it-vertical-col3 {
  margin: 61px 0 0;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-3blocks .cp-vertical.cp-it-vertical-col3 {
    margin: 33px 0 0;
  }
}

.index-link.is-3blocks .cp-vertical .cp-vertical-l {
  margin-right: 28px;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-3blocks .cp-vertical .cp-vertical-l {
    margin-bottom: 37px;
  }

  .index-link.is-3blocks .cp-vertical .cp-vertical-text {
    margin-right: 21px;
  }
}

.index-link.is-3blocks .cp-vertical .cp-vertical-img {
  position: relative;
  overflow: hidden;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-3blocks .cp-vertical .cp-vertical-img {
    padding-top: 45.03%;
  }

  .index-link.is-3blocks .cp-vertical .cp-vertical-img img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
  }
}

.index-link.is-3blocks .button1,
.index-link.is-3blocks .button2,
.index-link.is-3blocks .button3 {
  max-width: 319px;
  margin: 30px 0 0;
  transition: all .2s;
}

@media only screen and (max-width: 1279px) {

  .index-link.is-3blocks .button1,
  .index-link.is-3blocks .button2,
  .index-link.is-3blocks .button3 {
    width: 100%;
    max-width: 100%;
    margin: 15px 0 0;
    right: 0;
  }
}

@media only screen and (max-width: 370px) {

  .index-link.is-3blocks .button1,
  .index-link.is-3blocks .button2,
  .index-link.is-3blocks .button3 {
    max-width: 282px !important;
  }
}

.index-link.is-3blocks .button1::before,
.index-link.is-3blocks .button2::before,
.index-link.is-3blocks .button3::before {
  max-width: 320px;
  height: 54px;
  bottom: -8px;
}

@media only screen and (max-width: 1279px) {

  .index-link.is-3blocks .button1::before,
  .index-link.is-3blocks .button2::before,
  .index-link.is-3blocks .button3::before {
    max-width: 100%;
    height: 50px;
    bottom: -7px;
  }
}

.index-link.is-3blocks .button1::after,
.index-link.is-3blocks .button2::after,
.index-link.is-3blocks .button3::after {
  top: 1px;
}

@media only screen and (max-width: 1279px) {

  .index-link.is-3blocks .button1::after,
  .index-link.is-3blocks .button2::after,
  .index-link.is-3blocks .button3::after {
    top: 2px;
    right: -21px;
  }
}

.index-link.is-3blocks .button1 a,
.index-link.is-3blocks .button2 a,
.index-link.is-3blocks .button3 a {
  font-size: 1.6rem;
  text-align: left;
  padding: 15px 40px 14px 13px;
}

@media only screen and (max-width: 1279px) {

  .index-link.is-3blocks .button1 a,
  .index-link.is-3blocks .button2 a,
  .index-link.is-3blocks .button3 a {
    font-size: 1.5rem;
    padding: 13px 40px 14px 10px;
  }
}

.index-link.is-3blocks .button1 a::after,
.index-link.is-3blocks .button2 a::after,
.index-link.is-3blocks .button3 a::after {
  top: 1px;
  width: 18px;
}

@media only screen and (max-width: 1279px) {

  .index-link.is-3blocks .button1 a::after,
  .index-link.is-3blocks .button2 a::after,
  .index-link.is-3blocks .button3 a::after {
    top: 2px;
  }
}

/* 学校案内の場合 */
@media only screen and (max-width: 1279px) {
  .is-index.school2 .index-link.is-3blocks .cp-vertical-r {
    display: none;
  }
}


/* ==========================================================================

INDEX：リンクブロック（背景無）

========================================================================== */
.index-link.is-btn {
  margin: 108px 0 100px;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-btn {
    margin: 56px 0 0;
  }
}

.index-link.is-btn .index-link__btnlists {
  padding: 60px 0 0;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-btn .index-link__btnlists {
    padding: 30px 0 0;
  }
}

.cms .index-link.is-btn .index-link__btnlists {
  padding: 20px 0 0;
}

.index-link.is-btn .index-link__btnlists ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
}

.cms .index-link.is-btn .index-link__btnlists ul {
  display: block;
}

.index-link.is-btn .index-link__btnlists ul li {
  position: relative;
  width: 30.095%;
  margin: 0 21px 28px 0;
  padding: 0;
  text-indent: 0;
  transition: all .2s;
}

@media (min-width: 641px) and (max-width: 1279px) {
  .index-link.is-btn .index-link__btnlists ul li {
    width: 46.85%;
    margin: 0 0 17px;
    right: 0;
  }

  .index-link.is-btn .index-link__btnlists ul li:nth-child(2n) {
    margin-right: 21px;
  }
}

@media only screen and (max-width: 640px) {
  .index-link.is-btn .index-link__btnlists ul li {
    width: 100%;
    max-width: 100%;
    margin: 0 21px 17px 0;
    right: 0;
  }
}

@media only screen and (max-width: 370px) {
  .index-link.is-btn .index-link__btnlists ul li {
    max-width: 282px !important;
  }
}

.index-link.is-btn .index-link__btnlists ul li.empty {
  min-width: 340px;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-btn .index-link__btnlists ul li.empty {
    min-width: initial;
  }
}

.cms .index-link.is-btn .index-link__btnlists ul li {
  width: 100%;
  margin: 0;
  padding: 0;
}

.index-link.is-btn .index-link__btnlists ul li::before {
  content: '';
  position: absolute;
  z-index: -1;
  right: -8px;
  bottom: -8px;
  top: inherit;
  left: inherit;
  background: #BAD6E5;
  width: 100%;
  max-width: 320px;
  height: 54px;
  border-radius: 0;
  mix-blend-mode: multiply;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-btn .index-link__btnlists ul li::before {
    max-width: 100%;
    height: 50px;
    bottom: -7px;
  }
}

.index-link.is-btn .index-link__btnlists ul li::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: -21px;
  top: 1px;
  bottom: 0;
  margin: auto 0;
  background: #2688BC;
  width: 23px;
  height: 1px;
  transition: transform ease .3s;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-btn .index-link__btnlists ul li::after {
    top: 2px;
  }
}

.index-link.is-btn .index-link__btnlists ul li a {
  font-size: 1.6rem;
  font-weight: 400;
  backface-visibility: hidden;
  position: relative;
  z-index: 1;
  color: #2688BC;
  background: #fff;
  border: 1px solid #2688BC;
  text-align: left;
  padding: 15px 15px 15px 24px;
  letter-spacing: 0;
  line-height: 1.4;
  display: block;
  overflow: hidden;
  text-decoration: none;
  transition: color ease .3s, border ease .3s;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-btn .index-link__btnlists ul li a {
    font-size: 1.5rem;
    padding: 13px 15px 14px 10px;
  }
}

.cms .index-link.is-btn .index-link__btnlists ul li a {
  display: inline-block;
  padding: 0;
  border: 0;
  background: none;
  transition: inherit;
}

.index-link.is-btn .index-link__btnlists ul li a::before {
  content: '';
  width: 150%;
  height: 200%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto 0;
  z-index: -1;
  background: #2688BC;
  transform: translateX(-100%);
  transition: transform ease .3s;
}

.index-link.is-btn .index-link__btnlists ul li a::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: 0;
  top: 1px;
  bottom: 0;
  margin: auto 0;
  background: #2688BC;
  width: 19px;
  height: 1px;
  transition: transform ease .3s;
}

@media only screen and (max-width: 1279px) {
  .index-link.is-btn .index-link__btnlists ul li a::after {
    top: 2px;
    width: 18px;
  }
}

@media screen and (min-width: 1280px) {
  .index-link.is-btn .index-link__btnlists ul li a:hover::after {
    background: #2688BC;
  }

  .index-link.is-btn .index-link__btnlists ul li a:hover {
    color: #fff;
    border-color: #2688BC;
  }

  .cms .index-link.is-btn .index-link__btnlists ul li a:hover {
    color: #222;
  }

  .index-link.is-btn .index-link__btnlists ul li a:hover::before {
    transform: translateX(10%);
  }

  .cms .index-link.is-btn .index-link__btnlists ul li a:hover::before {
    transform: translateX(-100%);
  }

  .index-link.is-btn .index-link__btnlists ul li a:hover::after {
    background: #fff;
  }

  .cms .index-link.is-btn .index-link__btnlists ul li a:hover::after {
    background: #707070;
  }
}

.cms .index-link.is-btn .index-link__btnlists ul li::before,
.cms .index-link.is-btn .index-link__btnlists ul li::after,
.cms .index-link.is-btn .index-link__btnlists ul li a::before,
.cms .index-link.is-btn .index-link__btnlists ul li a::after {
  content: none;
}

.cms .index-link__btnlists .button1 {
  max-width: inherit;
  width: auto;
  padding: 0;
  margin: 0;
  display: inline-block;
}

.cms .index-link__btnlists .button1 a {
  font-size: 1.6rem;
  max-width: inherit;
  width: auto;
  padding: 0;
  margin: 0;
  background: none;
  color: #fff;
  text-align: left;
  display: inline-block;
}




/* ==========================================================================

校長ご挨拶のページレイアウト

========================================================================== */


/* ==========================================================================

校長ご挨拶：校長室から（学校通信）
在校生・保護者の方（学校通信）

========================================================================== */
@media only screen and (min-width: 1461px) and (max-width: 1760px) {
  .student2 .lo-tops {
    margin-left: 220px;
  }
}

.student2 .cp-h2-text {
  margin-top: 103px;
}

.page-message.about2 .cp-h2-text {
  margin-top: 103px;
  margin-bottom: 0;
}

.student2 .cp-h2-text::after,
.page-message.about2 .cp-h2-text::after {
  width: 85.417vw;
  margin: 0 0 0 calc(50% - 42.7vw);
}

@media only screen and (min-width: 1461px) and (max-width: 1760px) {

  .student2 .cp-h2-text,
  .page-message.about2 .cp-h2-text {
    width: 100vw;
    margin-left: calc(50% - 49.35vw);
    margin-right: calc(50% - 49.35vw);
    padding-left: 240px;
    padding-right: 20px;
  }

  .student2 .cp-h2-text::after,
  .page-message.about2 .cp-h2-text::after {
    width: 100vw;
    margin: 0 0 0 217px;
  }
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {

  .student2 .cp-h2-text,
  .page-message.about2 .cp-h2-text {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .student2 .cp-h2-text::after,
  .page-message.about2 .cp-h2-text::after {
    width: 100vw;
    margin: 0 -20px;
  }
}

@media only screen and (max-width: 1279px) {

  .student2 .cp-h2-text,
  .page-message.about2 .cp-h2-text {
    margin-top: 36px;
  }

  .student2 .cp-h2-text::after,
  .page-message.about2 .cp-h2-text::after {
    width: 100%;
    margin: 0;
  }
}

.student2 .ob-showaNow,
.page-message .ob-showaNow {
  position: relative;
  margin: 0 calc(50% - 42.7084vw);
  padding: 0;
  background: none;
}

@media only screen and (min-width: 1461px) and (max-width: 1770px) {

  .student2 .ob-showaNow,
  .page-message .ob-showaNow {
    margin: 0 calc(50% - 49.35vw);
    padding: 0 17px 0 240px;
  }
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {

  .student2 .ob-showaNow,
  .page-message .ob-showaNow {
    margin: 0;
    padding: 0;
  }
}

@media only screen and (max-width: 1279px) {

  .student2 .ob-showaNow,
  .page-message .ob-showaNow {
    margin: 0 -20px;
  }
}

.student2 .ob-showaNow::after,
.page-message .ob-showaNow::after {
  content: '';
  position: absolute;
  background-color: #EAF5FA;
  height: 100%;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
  margin: 0 0 0 calc(50% - 42.7vw);
  width: 85.417vw;
}

@media only screen and (min-width: 1461px) and (max-width: 1770px) {

  .student2 .ob-showaNow::after,
  .page-message .ob-showaNow::after {
    margin: 0 0 0 217px;
    width: 100vw;
  }
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {

  .student2 .ob-showaNow::after,
  .page-message .ob-showaNow::after {
    margin: 0 0 0 -20px;
    width: 100vw;
  }
}

@media only screen and (max-width: 1279px) {

  .student2 .ob-showaNow::after,
  .page-message .ob-showaNow::after {
    margin: 0;
    width: 100vw;
  }
}

.student2 .ob-showaNow__inner,
.page-message .ob-showaNow__inner {
  padding: 45px 0 59px;
}

@media only screen and (max-width: 1279px) {

  .student2 .ob-showaNow__inner,
  .page-message .ob-showaNow__inner {
    padding: 24px 20px 45px;
  }
}

.student2 .ob-showaNow .ns-topicslists,
.page-message .ob-showaNow .ns-topicslists {
  margin: 46px 0 19px;
}

@media only screen and (max-width: 1279px) {

  .student2 .ob-showaNow .ns-topicslists,
  .page-message .ob-showaNow .ns-topicslists {
    margin: 25px -20px 34px !important;
  }
}

.student2 .cp-h2-text+.ob-showaNow {
  margin-top: -52px;
}

@media only screen and (max-width: 1279px) {
  .student2 .cp-h2-text+.ob-showaNow {
    margin-top: -16px;
  }
}


/* ==========================================================================

Lead Yourself

========================================================================== */
.page-leadyourself .index-visual {
  margin-bottom: 77px;
}

@media only screen and (max-width: 1279px) {
  .page-leadyourself .index-visual {
    margin-bottom: 37px;
  }
}

@media only screen and (max-width: 1279px) {
  .page-leadyourself .lead1 {
    font-size: 2rem;
    letter-spacing: 0.05em;
  }
}

.page-leadyourself .cp-h2-text {
  margin-top: 73px;
  margin-bottom: 0;
}

@media only screen and (max-width: 1279px) {
  .page-leadyourself .cp-h2-text {
    margin-top: 34px;
  }
}

.page-leadyourself .cp-h3-text {
  margin-bottom: 51px;
}

@media only screen and (max-width: 1279px) {
  .page-leadyourself .cp-h3-text {
    margin-bottom: 20px;
  }
}

.lead-yourself {
  background: #EAF5FA;
  margin: 0 calc(50% - 42.7084vw) 93px;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .lead-yourself {
    margin: 0 -20px 6px;
    padding: 0 20px;
  }
}

@media only screen and (max-width: 1279px) {
  .lead-yourself {
    margin: 0 -20px;
  }
}

.lead-yourself__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  counter-reset: hoge;
  max-width: 960px;
  margin: 0 auto;
  padding: 83px 0 68px;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .lead-yourself__inner {
    max-width: 100%;
    margin: 0;
  }
}

@media only screen and (max-width: 1279px) {
  .lead-yourself__inner {
    display: block;
    padding: 29px 20px 32px;
  }
}

.lead-yourself__box {
  position: relative;
  width: 32.29%;
  margin-bottom: 36px;
  border-radius: 12px;
}

@media only screen and (max-width: 1279px) {
  .lead-yourself__box {
    width: 100%;
    margin-bottom: 16px;
    border-radius: 6px;
  }
}

.cms .lead-yourself__box {
  border-radius: 0;
}

.lead-yourself__box::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  font-size: 2.4rem;
  color: #fff;
  text-align: center;
  background: #FA823A;
  line-height: 1;
  font-family: 'Bodoni Moda', serif;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-top-left-radius: 12px;
  counter-increment: hoge;
  content: counter(hoge);
}

@media only screen and (max-width: 1279px) {
  .lead-yourself__box::before {
    font-size: 2rem;
    width: 35px;
    height: 35px;
    line-height: 35px;
    border-top-left-radius: 6px;
  }
}

.cms .lead-yourself__box::before {
  content: none;
}

.lead-yourself__box a {
  display: block;
  background: #fff;
  width: 100%;
  height: 100%;
  text-align: center;
  border-radius: 12px;
  padding: 55px 5px 27px;
  transition: .2s;
}

@media screen and (min-width: 1280px) {
  .lead-yourself__box a:hover {
    background: #D3EDFC;
    text-decoration: none;
  }

  .lead-yourself__box a:hover .lead-yourself__box-img {
    transform: scale(0.95);
  }
}

@media only screen and (max-width: 1279px) {
  .lead-yourself__box a {
    border-radius: 6px;
    padding: 27px 5px 38px;
  }
}

.cms .lead-yourself__box a {
  background: none;
}

.lead-yourself__box-ttl {
  color: #333;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.62;
  letter-spacing: .001em;
  font-family: "Noto Serif JP", serif;
}

@media only screen and (max-width: 1279px) {
  .lead-yourself__box-ttl {
    font-size: 1.9rem;
  }
}

.lead-yourself__box-img {
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  border: 1px solid #fff;
  max-width: 180px;
  margin: 14px auto 23px;
  transition: .2s;
}

@media only screen and (max-width: 1279px) {
  .lead-yourself__box-img {
    max-width: 160px;
    margin: 11px auto 16px;
  }
}

.lead-yourself__box-link {
  display: inline-block;
  position: relative;
  color: #2688BC;
  font-size: 1.5rem;
}

@media only screen and (max-width: 1279px) {
  .lead-yourself__box-link {
    letter-spacing: .1em;
  }
}

.lead-yourself__box-link::after {
  content: '';
  position: absolute;
  border-top: solid 1px #2688BC;
  border-right: solid 1px #2688BC;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  right: -19px;
  top: 1px;
  margin: auto 0;
  bottom: 0;
}

/* Lead Yourselfマーク */
.lead-yourself__box.is-mark {
  display: flex;
  align-items: center;
  margin: 35px 0 0;
}

@media only screen and (max-width: 1279px) {
  .lead-yourself__box.is-mark {
    display: block;
  }
}

.lead-yourself__box.is-mark::before {
  content: none;
}

.lead-yourself__box.is-mark .lead-yourself__box-img {
  position: absolute;
  top: 6px;
  right: -83px;
  width: 100%;
  min-width: 373px;
  border: 0;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .lead-yourself__box.is-mark .lead-yourself__box-img {
    position: static;
    min-width: inherit;
    max-width: 100%;
    width: 100%;
    border-radius: 0;
  }
}

@media only screen and (max-width: 1279px) {
  .lead-yourself__box.is-mark .lead-yourself__box-img {
    position: static;
    min-width: inherit;
    max-width: 187px;
    border-radius: 0;
  }
}

.cms .lead-yourself__box.is-mark .lead-yourself__box-img {
  position: static;
}

.lead-yourself__box.is-mark .lead-yourself__box-img img {
  width: 100%;
}


/* ==========================================================================

センターブロック

========================================================================== */
.center-links {
  margin: 0;
  padding: 20px 0 29px;
}

@media only screen and (max-width: 1279px) {
  .center-links {
    padding: 20px 0 0;
  }
}

.center-links ul,
.center-links ol {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

@media only screen and (max-width: 1279px) {

  .center-links ul,
  .center-links ol {
    justify-content: space-between;
  }
}

.cms .center-links ul,
.cms .center-links ol {
  justify-content: start;
}

.center-links li {
  position: relative;
  padding-left: 0 !important;
  text-indent: 0 !important;
  margin: 0 10px;
  width: 100%;
  max-width: 220px;
}

@media only screen and (max-width: 1279px) {
  .center-links li {
    width: 48.5%;
    max-width: inherit;
    margin: 0 0 10px;
  }
}

.center-links li.is-active {
  color: #fff;
  background: #2688BC;
  text-align: center;
  border-radius: 2px;
  font-size: 1.4rem;
  letter-spacing: .1em;
  line-height: 1.4;
  padding: 10px 5px 9px 5px;
}

@media only screen and (max-width: 1279px) {
  .center-links li.is-active {
    padding: 13px 5px;
  }
}

.center-links li::before {
  content: none !important;
}

.center-links li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2688BC;
  background: #fff;
  border: 1px solid #2688BC;
  border-radius: 2px;
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: .1em;
  line-height: 1.4;
  width: 100%;
  height: 100%;
  padding: 10px 5px 9px 5px;
  transition: .2s;
}

@media screen and (min-width: 1280px) {
  .center-links li a:hover {
    color: #fff;
    background: #2688BC;
    text-decoration: none;
  }
}

@media only screen and (max-width: 1279px) {
  .center-links li a {
    padding: 12px 5px;
  }
}

.center-links li a[target="_blank"]::after {
  content: none;
}


/* ==========================================================================

CAMPUS MAP

========================================================================== */
.campus-map {
  position: relative;
  margin: 71px 0 55px;
}

@media only screen and (max-width: 1279px) {
  .campus-map {
    margin: 40px 0;
  }
}

.campus-map__ttl {
  position: relative;
  top: 0;
  left: 0;
  color: #2660BC;
  letter-spacing: .11em;
  font-size: 3.2rem;
  font-weight: 500;
  font-family: 'Noto serif JP', sans-serif;
}

@media only screen and (max-width: 1279px) {
  .campus-map__ttl {
    font-size: 2rem;
  }
}

.cms .campus-map__ttl {
  position: static;
}

.campus-map__img {
  display: flex;
  justify-content: center;
  margin: -102px calc(50% - 27.7vw) 0;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .campus-map__img {
    margin: -102px 0 0;
  }
}

@media only screen and (max-width: 1279px) {
  .campus-map__img {
    margin: -20px -10px 0;
  }
}

.cms .campus-map__img {
  margin: 0;
}

.campus-map__img img {
  width: 100%;
}


/* ==========================================================================

学校概要・教育理念のページ

========================================================================== */
.page-overview .lead3 {
  margin-bottom: 118px;
}

@media only screen and (max-width: 1279px) {
  .page-overview .lead3 {
    margin: 30px 0;
  }
}

.page-overview .cp-h2-text+.lead3 {
  margin: 55px 0 58px;
}

@media only screen and (max-width: 1279px) {
  .page-overview .cp-h2-text+.lead3 {
    margin: 30px 0;
  }
}


/* ==========================================================================

昭和の学びのページ

========================================================================== */
.page-education .index-visual {
  margin-bottom: 81px;
}

@media only screen and (max-width: 1279px) {
  .page-education .index-visual {
    margin-bottom: 45px;
  }
}

.page-education .lead1 {
  font-size: 3.2rem;
}

@media only screen and (max-width: 1279px) {
  .page-education .lead1 {
    font-size: 2.4rem;
  }
}


/* ==========================================================================

制服

========================================================================== */
.uniform-box {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: 58px calc(50% - 27.48vw) 0;
  padding: 57px 0 0;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .uniform-box {
    margin: 58px 0 0;
  }
}

@media only screen and (max-width: 1279px) {
  .uniform-box {
    display: block;
    margin: 40px 0 0;
    padding: 0;
  }
}

.uniform-box+.uniform-box {
  margin: 56px calc(50% - 25.94vw) 138px;
  padding: 65px 0 0;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .uniform-box+.uniform-box {
    margin: 56px 0 60px;
  }
}

@media only screen and (max-width: 1279px) {
  .uniform-box+.uniform-box {
    margin: 0;
    padding: 0;
  }
}

.uniform-box::before {
  content: '';
  position: absolute;
  background: #EAF5FA;
  width: 2000vw;
  height: 640px;
  top: 0;
  left: -200%;
  z-index: -1;
  margin: 0;
}

@media only screen and (min-width: 0px) and (max-width: 1460px) {
  .uniform-box::before {
    height: 56.25%;
  }
}

@media only screen and (max-width: 1279px) {
  .uniform-box::before {
    content: none;
  }
}

.uniform-box__inner-ttl {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1.4;
  letter-spacing: .1em;
  font-family: "Noto Serif JP", serif;
  white-space: nowrap;
}

@media only screen and (max-width: 1279px) {
  .uniform-box__inner-ttl {
    font-size: 1.8rem;
    white-space: normal;
    padding: 20px 0 0;
  }
}

.is-no1 .uniform-box__inner-ttl {
  margin-left: 2.46vw;
}

.is-no2 .uniform-box__inner-ttl {
  margin-left: -1.03vw;
}

.is-no3 .uniform-box__inner-ttl {
  margin-left: .9vw;
}

.is-no4 .uniform-box__inner-ttl {
  margin-left: 7.75vw;
}

@media only screen and (min-width: 0px) and (max-width: 1460px) {

  .is-no1 .uniform-box__inner-ttl,
  .is-no2 .uniform-box__inner-ttl,
  .is-no3 .uniform-box__inner-ttl,
  .is-no4 .uniform-box__inner-ttl {
    margin-left: 0;
  }
}

.uniform-box__inner-ttl em {
  font-size: 1.6rem;
  font-style: initial;
  letter-spacing: 0;
}

@media only screen and (max-width: 1279px) {
  .uniform-box__inner-ttl em {
    font-size: 1.2rem;
  }
}

.is-no3 .uniform-box__inner-ttl em {
  padding: 0 .75vw;
}

.is-no4 .uniform-box__inner-ttl em {
  padding: 0 1.76vw;
}

@media only screen and (max-width: 1279px) {

  .is-no3 .uniform-box__inner-ttl em,
  .is-no4 .uniform-box__inner-ttl em {
    padding: 0 12px;
  }
}

.uniform-box__inner-img {
  position: relative;
}

@media only screen and (max-width: 1279px) {
  .uniform-box__inner-img {
    display: flex;
    justify-content: center;
  }

  .uniform-box__inner-img img {
    height: 100vw;
  }
}

.is-no1 .uniform-box__inner-img {
  margin: 31px 0 0;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .is-no1 .uniform-box__inner-img {
    width: 30vw;
    margin: 25px auto 0;
  }
}

.is-no2 .uniform-box__inner-img {
  margin: 26px 0 0;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .is-no2 .uniform-box__inner-img {
    width: 30vw;
    margin: 25px auto 0;
  }
}

.is-no3 .uniform-box__inner-img {
  margin: 25px 0 0;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .is-no3 .uniform-box__inner-img {
    width: 16.5vw;
    margin: 25px auto 0;
  }
}

.is-no4 .uniform-box__inner-img {
  margin: 23px 0 0;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .is-no4 .uniform-box__inner-img {
    margin: 25px auto 0;
  }
}

.uniform-box__inner {
  position: relative;
  margin-right: 40px;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .uniform-box__inner {
    width: 48.5%;
    margin: 0;
  }
}

@media only screen and (max-width: 1279px) {
  .uniform-box__inner {
    margin: 0 0 30px;
  }

  .uniform-box__inner::before {
    content: '';
    position: absolute;
    background: #EAF5FA;
    width: 2000vw;
    height: 56.25%;
    top: 0;
    left: -200%;
    z-index: -1;
    margin: 0;
  }
}

.uniform-box__inner:last-child {
  margin-right: 0;
}


/* ==========================================================================

教科学習ページ関連

========================================================================== */
.page-subject .index-visual {
  margin-bottom: 40px;
}

@media only screen and (max-width: 1279px) {
  .page-subject .index-visual {
    margin-bottom: 45px;
  }
}


/* ==========================================================================

教科学習：オリジナルボタン

========================================================================== */
.sub-introBtn {
  max-width: 220px;
  margin: -11px 0 60px;
}

@media only screen and (max-width: 1279px) {
  .sub-introBtn {
    margin: -20px 0 46px;
  }
}

.cms .sub-introBtn {
  margin: 0;
  padding: 0 0 40px;
}

.sub-introBtn>div {
  position: relative;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  padding: 15px 3px 17px 9px;
  border: 1px solid #2688BC;
  word-break: break-all;
  cursor: pointer;
  color: #fff;
  background: #2688BC;
  text-align: center;
  text-decoration: none;
  border-radius: 27px;
  backface-visibility: hidden;
  font-weight: 400;
  line-height: 1.4;
  font-size: 1.4rem;
  letter-spacing: 0;
  transition: ease .2s;
  z-index: 1;
  overflow: hidden;
}

@media screen and (min-width: 1280px) {
  .sub-introBtn>div:hover {
    color: #2688BC;
    background: #fff;
    text-decoration: none;
  }

  .sub-introBtn>div:hover::before {
    background-image: url();
  }

  .sub-introBtn>div:hover::after {
    border-color: #2688BC;
  }
}

@media only screen and (max-width: 1279px) {
  .sub-introBtn>div {
    padding: 12px 3px 13px 9px;
  }
}

.sub-introBtn>div::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto 0;
  background-size: contain;
  background-image: url();
  width: 32px;
  height: 41px;
  top: 10px;
  left: 16px;
}

@media only screen and (max-width: 1279px) {
  .sub-introBtn>div::before {
    width: 27px;
    height: auto;
  }
}

.sub-introBtn>div::after {
  content: '';
  position: absolute;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  right: 16px;
  top: 0;
  margin: auto 0;
  bottom: 0;
}

.sub-introModal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background: #EAF5FA;
  -webkit-transition: opacity .2s ease;
  transition: opacity .2s ease;
  opacity: 0;
}

.cms .sub-introModal {
  position: static;
  display: block;
  opacity: 1;
}

.sub-introModal.is-show {
  display: block;
  opacity: 1;
}

.sub-introModal__box {
  display: flex;
  margin: auto;
  position: relative;
  overflow-x: hidden;
}

.cms .sub-introModal__box {
  overflow-x: inherit;
}

.sub-introModal__inner {
  margin: auto;
  width: 100%;
  padding: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}

@media only screen and (max-width: 1279px) {
  .sub-introModal__inner {
    position: static;
    transform: initial;
    -webkit-transform: initial;
  }
}

.cms .sub-introModal__inner {
  position: static;
  transform: initial;
  -webkit-transform: initial;
}


.sub-introModal__inner.is-col1 {
  max-width: 490px;
}

.sub-introModal__inner.is-col2 {
  max-width: 1000px;
}

.sub-introModal__inner.is-col2 .sub-introModal__item {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 1279px) {
  .sub-introModal__inner.is-col2 .sub-introModal__item {
    display: block;
  }
}

.sub-introModal__item-inner {
  width: 100%;
  max-width: 490px;
  margin-right: 20px;
}

@media only screen and (max-width: 1279px) {
  .sub-introModal__item-inner {
    max-width: inherit;
    margin-right: 0;
    margin-bottom: 20px;
  }
}

.sub-introModal__item-inner:last-child {
  margin-right: 0;
  margin-bottom: 0;
}

.sub-introModal__inner-text {
  margin: 17px 0 44px;
  line-height: 1.95;
  letter-spacing: -.01em;
}

@media only screen and (max-width: 1279px) {
  .sub-introModal__inner-text {
    margin: 10px 0 30px;
    font-size: 1.4rem;
    line-height: 1.75;
  }
}

.sub-introModal__inner-close {
  position: relative;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  padding: 26px 10px;
  border: 1px solid #2688BC;
  word-break: break-all;
  cursor: pointer;
  background: #2688BC;
  text-align: center;
  text-decoration: none;
  border-radius: 27px;
  backface-visibility: hidden;
  line-height: 1.4;
  font-size: 0;
  z-index: 1;
  overflow: hidden;
  transition: ease .2s;
  margin: 0 auto;
  max-width: 220px;
}

@media only screen and (max-width: 1279px) {
  .sub-introModal__inner-close {
    padding: 22px 10px;
    max-width: 150px;
  }
}

.sub-introModal__inner-close::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-size: contain;
  background-image: url();
  width: 28px;
  height: 28px;
}

@media screen and (min-width: 1280px) {
  .sub-introModal__inner-close:hover {
    color: #2688BC;
    background: #fff;
    text-decoration: none;
  }

  .sub-introModal__inner-close:hover::before {
    background-image: url();
  }
}

@media only screen and (max-width: 1279px) {
  .sub-introModal__inner-close::before {
    width: 14px;
    height: 14px;
  }
}


/* ==========================================================================

総合学習ページ関連

========================================================================== */
.page-overall .index-visual {
  margin-bottom: 40px;
}

@media only screen and (max-width: 1279px) {
  .page-overall .index-visual {
    margin-bottom: 45px;
  }
}

.page-overall .cp-img-col3 {
  margin: 34px 0 99px;
}

@media only screen and (max-width: 1279px) {
  .page-overall .cp-img-col3 {
    margin: 34px 0 0;
  }
}

.page-overall .cp-img-col3 .cp-img-l {
  margin-right: 30px;
}

@media only screen and (max-width: 1279px) {
  .page-overall .cp-img-col3 .cp-img-l {
    margin-right: 0;
  }
}

.page-overall .cp-img-col3 .cp-img img {
  border-radius: 8px;
}

@media only screen and (max-width: 1279px) {
  .page-overall .cp-img-col3 .cp-img img {
    border-radius: 4px;
  }
}


/* ==========================================================================

3:1比率（オリブロ）

========================================================================== */
.is-3_1 {
  position: relative;
  width: 100%;
  margin: -11px 0 80px;
  padding: 40px 0;
}

@media only screen and (max-width: 1279px) {
  .is-3_1 {
    margin: 40px 0;
    padding: 20px 0;
  }
}

.is-3_1::after {
  content: '';
  position: absolute;
  background-color: #EAF5FA;
  height: 100%;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
  margin: 0 0 0 calc(50% - 42.7vw);
  width: 85.417vw;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .is-3_1::after {
    margin: 0 0 0 -20px;
  }
}

@media only screen and (max-width: 1279px) {
  .is-3_1::after {
    margin: 0 -20px;
    width: 100vw;
  }
}

.is-3_1 .cp-it-item {
  display: flex;
}

@media only screen and (max-width: 1279px) {
  .is-3_1 .cp-it-item {
    display: block;
  }
}


.is-3_1 .cp-horizontal-img {
  width: 100%;
  max-width: 160px;
}

@media only screen and (max-width: 1279px) {
  .is-3_1 .cp-horizontal-img {
    margin: 20px auto;
  }
}

.is-3_1 .cp-horizontal-img img {
  border-radius: 4px;
}

.is-3_1 .cp-horizontal-text {
  margin-left: 41px !important;
  width: 100%;
}

@media only screen and (max-width: 1279px) {
  .is-3_1 .cp-horizontal-text {
    margin-left: 0 !important;
  }
}

.is-3_1 .cp-horizontal-text .cp-h5-text {
  margin: 0;
  padding: 22px 0 4px;
}

@media only screen and (max-width: 1279px) {
  .is-3_1 .cp-horizontal-text .cp-h5-text {
    padding: 0 0 3px;
  }
}


/* ==========================================================================

総合学習の流れ

========================================================================== */
.integrated-study {
  display: flex;
  justify-content: space-between;
  margin: 56px 0 53px;
}

@media only screen and (max-width: 1279px) {
  .integrated-study {
    display: block;
    margin: 34px 0 0;
  }
}

.integrated-study__box {
  position: relative;
  border: 1px solid #2688BC;
  border-radius: 8px;
  width: 31.25%;
}

@media only screen and (max-width: 1279px) {
  .integrated-study__box {
    width: 100%;
    border-radius: 4px;
    margin-bottom: 25px;
  }

  .integrated-study__box:last-child {
    margin-bottom: 0;
  }
}

.integrated-study__box::after {
  content: '';
  position: absolute;
  right: -22px;
  top: 2px;
  bottom: 0;
  margin: auto 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12.5px 0 12.5px 21px;
  border-color: transparent transparent transparent #2688bc;
}

@media only screen and (max-width: 1279px) {
  .integrated-study__box::after {
    margin: 0 auto;
    top: inherit;
    left: 0;
    bottom: -15px;
    border-width: 14px 9px 0 9px;
    border-color: #2688bc transparent transparent transparent;
  }
}

.integrated-study__box:last-child::after {
  content: none;
}

.integrated-study__box-text {
  padding: 24px 19px;
}

@media only screen and (max-width: 1279px) {
  .integrated-study__box-text {
    padding: 20px 15px;
    height: auto !important;
  }
}

.integrated-study__box-img {
  border-top: 1px solid #2688BC;
}

.integrated-study__box-img .cp-inner img {
  border-radius: 0;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  width: 100%;
}

@media only screen and (max-width: 1279px) {
  .integrated-study__box-img .cp-inner img {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
  }
}


/* ==========================================================================

テキスト左・画像右：背景あり

========================================================================== */
.bg-box {
  position: relative;
  width: 100%;
  margin: 60px 0 5px;
  padding: 68px 0 56px;
}

@media only screen and (max-width: 1279px) {
  .bg-box {
    margin: 40px 0;
    padding: 20px 0;
  }
}

.bg-box::after {
  content: '';
  position: absolute;
  background-color: #EAF5FA;
  height: 100%;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
  margin: 0 0 0 calc(50% - 42.7vw);
  width: 85.417vw;
}

@media only screen and (min-width: 1280px) and (max-width: 1460px) {
  .bg-box::after {
    margin: 0 0 0 -20px;
  }
}

@media only screen and (max-width: 1279px) {
  .bg-box::after {
    margin: 0 -20px;
    width: 100vw;
  }
}

.bg-box .cp-horizontal {
  margin: 34px 0 0;
}

@media only screen and (max-width: 1279px) {
  .bg-box .cp-horizontal {
    margin: 20px 0 0;
  }
}


/* ==========================================================================

3対1テキスト（左）+画像（右）
3対1画像（左）+テキスト（右）

========================================================================== */
.ob-3tui1 {
  margin: 40px 0;
}

@media only screen and (max-width: 1279px) {
  .ob-3tui1+.ob-3tui1 {
    margin-top: -10px;
  }
}

.cms .ob-3tui1 {
  margin: 0;
}

.ob-3tui1__inner {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 1279px) {
  .ob-3tui1.is-imgLeft .ob-3tui1__inner,
  .ob-3tui1.is-imgRight .ob-3tui1__inner {
    flex-flow: column;
  }
}

.ob-3tui1__img {
  max-width: 310px;
  width: 32.29%;
}

@media only screen and (max-width: 1279px) {
  .ob-3tui1__img {
    max-width: 100%;
    width: 100%;
  }
}

.ob-3tui1__img img {
  width: 100%;
}

.ob-3tui1__txt {
  max-width: 600px;
  margin: 4px 0 0;
}

@media only screen and (max-width: 1279px) {
  .ob-3tui1__txt {
    max-width: 100%;
  }
  .ob-3tui1.is-imgRight .ob-3tui1__txt {
    margin-bottom: 8px;
  }
}


/* ==========================================================================

説明ボックス

========================================================================== */
.ob-exbox {
  padding: 80px 0 101px;
  margin-top: 73px;
  margin-bottom: 81px;
}

@media only screen and (max-width: 1279px) {
  .ob-exbox {
    padding: 36px 0;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.ob-exbox::before {
  top: 0;
  height: 100%;
  background: #F0F4F5;
}

.ob-exbox__inner {
  row-gap: 40.5px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px 10px;
  margin: 0 -100px;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .ob-exbox__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0 auto;
    row-gap: 0px;
  }
}

@media screen and (max-width: 640px) {
  .ob-exbox__inner {
    display: block;
    margin: 0 auto;
  }
}

.ob-exbox__content {
  background: #fff;
  border: 1px solid #E3E3E3;
  max-width: 380px;
  width: 100%;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .ob-exbox__content {
    max-width: 100%;
    margin: 0 auto 12px;
  }
}

@media screen and (max-width: 640px) {
  .ob-exbox__content {
    max-width: 100%;
    margin: 0 auto 12px;
  }
}

@media only screen and (max-width: 1279px) {
  .ob-exbox__content:last-child {
    margin-bottom: 0;
  }
}

.ob-exbox__content.empty {
  display: none;
}

.ob-exbox__content-img img {
  width: 100%;
  max-height: 220px;
  object-fit: cover;
}

.ob-exbox__content-ttl {
  position: relative;
  font-size: 2rem;
  text-align: center;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.4;
  padding: 35px 10px 20px;
}

@media only screen and (max-width: 1279px) {
  .ob-exbox__content-ttl {
    font-size: 1.9rem;
    padding: 20px 10px;
  }
}

@media screen and (max-width: 640px) {
  .ob-exbox__content-ttl {
    font-size: 1.6rem;
  }
}

.ob-exbox__content-ttl::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 24px;
  height: 2px;
  background: #2688BC;
}

.ob-exbox__content-ttl em {
  display: inline-block;
  position: relative;
  top: -8px;
  font-style: initial;
  font-size: 1.5rem;
  letter-spacing: .01em;
}

.ob-exbox__content-txt {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.85;
  padding: 21px 32px 33px;
  letter-spacing: -0.01em
}

@media only screen and (max-width: 1279px) {
  .ob-exbox__content-txt {
    line-height: 1.79;
    padding: 21px 20px 27px;
  }
}

@media screen and (max-width: 640px) {
  .ob-exbox__content-txt {
    font-size: 1.4rem;
  }
}


/* ==========================================================================

プログラムボックス

========================================================================== */
.ob-programbox {
  margin: 40px 0 20px;
}

.ob-programbox__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media only screen and (max-width: 1279px) {
  .ob-programbox__inner {
    display: block;
  }
}

.ob-programbox__content {
  width: 31.25%;
  margin-bottom: 20px;
}

@media only screen and (max-width: 1279px) {
  .ob-programbox__content {
    width: 100%;
  }
}

@media screen and (max-width: 1279px) {
  .ob-programbox__inner {
    padding: 12px 0;
  }
}

.ob-programbox__content-ttl {
  display: flex;
  align-items: baseline;
  line-height: 1.5;
  font-weight: 500;
  color: #222;
  font-family: "Noto Serif JP", serif;
  background: #D6EAF5;
  border-bottom: 1px solid #2660BC;
  padding: 11px 20px 0 27px;
}

@media screen and (max-width: 1279px) {
  .ob-programbox__content-ttl {
    padding: 8px 8px 0;
  }
}

.ob-programbox__content-ttl--main {
  font-size: 3.2rem;
  text-shadow: 0 0 1px #222;
  position: relative;
  top: -4px;
}

@media screen and (max-width: 1279px) {
  .ob-programbox__content-ttl--main {
    font-size: 2.4rem;
  }
}

.ob-programbox__content-ttl--sub {
  font-size: 1.5rem;
  padding: 0 0 0 11px;
  position: relative;
  top: -4px;
}

@media screen and (max-width: 1279px) {
  .ob-programbox__content-ttl--sub {
    padding: 0 0 0 8px;
    font-size: 1.3rem;
  }
}

.ob-programbox__content-txt {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.85;
  padding: 13px 0 0;
}

.ob-programbox__content-txt ul li::before {
  top: 1px;
  left: -8px;
}


/* ==========================================================================

wide画像（左）+テキスト（右）
wideテキスト（左）+画像（右）

========================================================================== */
.ob-widebox {
  margin: 0;
  padding: 30px 0 50px;
}

@media only screen and (max-width: 1279px) {
  .ob-widebox {
    margin: 0;
    padding: 30px 0;
  }

  .ob-widebox+.ob-widebox {
    margin-top: -15px;
    padding-top: 0;
  }
}

.cms .ob-widebox {
  padding: 0;
}

.ob-widebox::before {
  top: 0;
  height: 100%;
  background: #F0F4F5;
}

.cms .ob-widebox::before {
  content: none;
}

.ob-widebox__inner {
  position: relative;
  right: 2.52vw;
  margin: 0 -149px 0 -151px;
}

@media only screen and (min-width: 1280px) and (max-width: 1370px) {
  .ob-widebox__inner {
    margin: 0 calc(50% - 51vw) 0 calc(50% - 46vw);
  }
}

@media only screen and (max-width: 1279px) {
  .ob-widebox__inner {
    margin: 0;
    right: 0;
  }
}

.ob-widebox.is-imgRight .ob-widebox__inner {
  left: 2.52vw;
  right: inherit;
  margin: 0 -131px 0 -167px;
}

@media only screen and (min-width: 1280px) and (max-width: 1370px) {
  .ob-widebox.is-imgRight .ob-widebox__inner {
    margin: 0 calc(50% - 46vw) 0 calc(50% - 51vw);
  }
}

@media only screen and (max-width: 1279px) {
  .ob-widebox.is-imgRight .ob-widebox__inner {
    display: flex;
    flex-flow: column-reverse;
    margin: 0;
    left: 0;
  }
}

.cms .ob-widebox.is-imgRight .ob-widebox__inner,
.cms .ob-widebox__inner {
  left: 0;
  right: 0;
  margin: 0;
}

.ob-widebox__img {
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 820px;
}

@media only screen and (max-width: 1279px) {
  .ob-widebox__img {
    max-width: 100%;
    padding-top: 56.25%;
  }
}

.ob-widebox.is-imgRight .ob-widebox__img {
  margin-left: auto;
}

.ob-widebox__img img {
  width: 100%;
}

@media only screen and (max-width: 1279px) {
  .ob-widebox__img img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    z-index: 1;
  }
}

.ob-widebox__content {
  position: absolute;
  top: 40px;
  right: 0;
  width: 100%;
  max-width: 540px;
  background: #fff;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, .16);
  padding: 46px 2.05vw 50px 2.05vw;
}

@media only screen and (max-width: 1279px) {
  .ob-widebox__content {
    position: static;
    box-shadow: none;
    max-width: 100%;
    padding: 30px 15px 38px;
  }
}

.ob-widebox.is-imgRight .ob-widebox__content {
  left: 0;
  right: inherit;
  z-index: 1;
}

.ob-widebox__content-read .lead3 {
  letter-spacing: .1em;
  line-height: 1.55;
  margin-bottom: 34px;
}

@media only screen and (max-width: 1279px) {
  .ob-widebox__content-read .lead3 {
    margin-bottom: 33px;
    font-size: 1.7rem;
    letter-spacing: 0;
  }
}

.ob-widebox__content-txt {
  position: sticky;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.89;
}

.ob-widebox__content-txt .button1,
.ob-widebox__content-txt .button2,
.ob-widebox__content-txt .button3 {
  margin-top: 21px;
}

@media only screen and (max-width: 1279px) {

  .ob-widebox__content-txt .button1,
  .ob-widebox__content-txt .button2,
  .ob-widebox__content-txt .button3 {
    max-width: 262px;
    margin: 14px auto 0;
  }

  .ob-widebox__content-txt .button1 a,
  .ob-widebox__content-txt .button2 a,
  .ob-widebox__content-txt .button3 a {
    font-size: 1.5rem;
    padding: 13px 15px 13px 14px;
  }
}

@media only screen and (max-width: 1279px) {

  .ob-widebox__content-txt .button1::before,
  .ob-widebox__content-txt .button2::before,
  .ob-widebox__content-txt .button3::before {
    max-width: 100%;
    height: 49px;
    right: -5px;
    bottom: -4px;
  }
}

.ob-widebox__content-txt .button1::after,
.ob-widebox__content-txt .button2::after,
.ob-widebox__content-txt .button3::after {
  top: 1px;
}

@media only screen and (max-width: 1279px) {

  .ob-widebox__content-txt .button1::after,
  .ob-widebox__content-txt .button2::after,
  .ob-widebox__content-txt .button3::after {
    right: -15px;
    width: 16px;
    top: 0;
  }
}

.ob-widebox__content-txt .button1 a::after,
.ob-widebox__content-txt .button2 a::after,
.ob-widebox__content-txt .button3 a::after {
  top: 1px;
}

@media only screen and (max-width: 1279px) {

  .ob-widebox__content-txt .button1 a::after,
  .ob-widebox__content-txt .button2 a::after,
  .ob-widebox__content-txt .button3 a::after {
    width: 14px;
    top: 0;
  }
}


/* ==========================================================================

年間行事：キャンパスカレンダー

========================================================================== */
.ob-campusCalendar {
  display: flex;
  border-top: 1px solid #999;
  margin: 19px 0 -8px;
  padding: 33px 0 0;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar {
    display: block;
    margin: 12px 0 0;
    padding: 16px 0 3px;
  }
}

.ob-campusCalendar__month {
  display: block;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  padding: 0 5px 0 7px;
  margin-top: -2px;
  max-width: 95px;
  width: 100%;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar__month {
    padding: 0;
    margin-top: 0;
    max-width: 63px;
  }
}

.ob-campusCalendar__month time {
  position: relative;
}

.ob-campusCalendar__monthJa {
  font-size: 8rem;
  margin: 0 0 -2px;
  font-family: 'Bodoni Moda', serif;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar__monthJa {
    font-size: 6.2rem;
    margin: 0 0 1px;
  }
}

.ob-campusCalendar__monthEn {
  font-size: 1.4rem;
  margin: 0 0 0 2px;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar__monthEn {
    font-size: 1.1rem;
    margin: 0 0 0 -2px;
  }
}

.ob-campusCalendar__content {
  display: flex;
  width: 41.51%;
  max-width: 440px;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar__content {
    width: 100%;
    max-width: inherit;
  }
}

.ob-campusCalendar__list {
  margin: 3px 15px 0 2.99vw;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar__list {
    margin: 8px 0 0 17px;
  }
}

.ob-campusCalendar__list ul {
  margin: 0;
}

.ob-campusCalendar__list li {
  margin: 0 0 7px;
  line-height: 1.4;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar__list li {
    margin: 0 0 9px;
  }
}

.ob-campusCalendar__img {
  width: 58.49%;
  max-width: 620px;
  margin-left: auto;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar__img {
    margin: 5px 0 0;
    width: 100%;
    max-width: 100%;
  }
}

.ob-campusCalendar__img>.cp-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar__img>.cp-inner {
    display: block;
    margin: 0 0 0 71px;
  }
}

.ob-campusCalendar__img>.cp-inner .fr-img-caption {
  margin: 0;
  width: 48.39%;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar__img>.cp-inner .fr-img-caption {
    width: 100%;
  }
}

.ob-campusCalendar__img>.cp-inner .fr-img-caption .fr-img-wrap {
  margin: 0;
}

.ob-campusCalendar__img>.cp-inner .fr-img-caption .fr-img-wrap img {
  border-radius: 4px;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar__img>.cp-inner .fr-img-caption .fr-img-wrap img {
    border-radius: 2px;
  }
}

.ob-campusCalendar__img>.cp-inner .fr-img-caption span.fr-inner {
  text-align: left !important;
  padding: 8px 0 26px !important;
}

@media only screen and (max-width: 1279px) {
  .ob-campusCalendar__img>.cp-inner .fr-img-caption span.fr-inner {
    font-size: 1.2rem;
    padding: 5px 0 13px !important;
  }
}


/* ==========================================================================

昭和の１日

========================================================================== */
.page-days .lead1+.cp-ti-horizontal-col1 {
  margin: 74px 0 53px;
}

@media only screen and (max-width: 1279px) {
  .page-days .lead1+.cp-ti-horizontal-col1 {
    margin: 40px 0 -27px;
  }

  .page-days .lead1+.cp-ti-horizontal-col1 .cp-horizontal-item.cp-ti-r {
    flex-direction: column;
  }
}

.page-days .lead1+.cp-ti-horizontal-col1 .cp-horizontal-text {
  line-height: 2;
}

@media only screen and (max-width: 1279px) {
  .page-days .lead1+.cp-ti-horizontal-col1 .cp-horizontal-text .cp-inner span {
    font-size: 1.5rem !important;
  }
}

.page-days .max-image {
  margin-top: -6px;
  margin-bottom: 100px;
}

@media only screen and (max-width: 1279px) {
  .page-days .max-image {
    margin-top: -16px;
    margin-bottom: 50px;
  }
}

.max-image.max-image__col1 {
  margin-top: 130px;
  margin-bottom: 0;
}

@media only screen and (max-width: 1279px) {
  .max-image.max-image__col1 {
    display: none;
  }
}

.is-showa1st {
  margin: 78px 0 0;
}

@media only screen and (max-width: 1279px) {
  .is-showa1st {
    margin: 30px 0 -25px;
  }
}

.is-showa1st .cp-text-l {
  margin-top: -4px;
}

@media only screen and (max-width: 1279px) {
  .is-showa1st .cp-text-l {
    margin: -4px 0 0
  }

  .is-showa1st .cp-text-r {
    margin-top: 18px;
  }
}

.is-showa1st .cp-text-l .cp-inner img {
  border-radius: 0;
  width: 84.5%;
  max-width: 100%;
}

@media only screen and (max-width: 1279px) {
  .is-showa1st .cp-text-l .cp-inner img {
    width: 100%;
  }
}

.is-showa1st .cp-text-r ul {
  margin: 0;
}

.is-showa1st .cp-text-r ul li {
  padding: 0;
  text-indent: 0;
  width: 100%;
  max-width: 220px;
}

@media only screen and (max-width: 1279px) {
  .is-showa1st .cp-text-r ul li {
    max-width: 276px;
    margin: 0 auto;
  }
}

.is-showa1st .cp-text-r ul li::before {
  content: none;
}

.is-showa1st .cp-text-r ul li a {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  color: #fff;
  background: #2688BC;
  border: 1px solid #2688BC;
  border-radius: 2px;
  padding: 13px 28px 14px 16px;
  transition: ease .2s;
}

@media only screen and (max-width: 1279px) {
  .is-showa1st .cp-text-r ul li a {
    padding: 8px 28px 6px 16px;
    letter-spacing: -.01em;
    text-align: center;
  }
}

.is-showa1st .cp-text-r ul li a::after {
  content: '';
  position: absolute;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  width: 5px;
  height: 5px;
  transform: rotate(45deg);
  right: 15px;
  top: 1px;
  margin: auto 0;
  bottom: 0;
}

@media screen and (min-width: 1280px) {
  .is-showa1st .cp-text-r ul li a:hover {
    color: #2688BC;
    background: #fff;
    text-decoration: none;
  }

  .is-showa1st .cp-text-r ul li a:hover::after {
    border-color: #2688BC;
  }
}


/* ==========================================================================

背景

========================================================================== */
.ob-background {
  margin: 130px 0 0;
  padding: 101px 0 0;
}

@media only screen and (max-width: 1279px) {
  .ob-background {
    margin: 33px 0 0;
    padding: 53px 0 0;
  }
}

.ob-background::before {
  background: #F0F4F5;
  top: 0;
  height: 100%;
}


/* ==========================================================================

昭和の学びとは

========================================================================== */
.page-learning [data-area="content"] .lead1:first-child {
  margin-bottom: 58px;
}

@media only screen and (max-width: 1279px) {
  .page-learning [data-area="content"] .lead1:first-child {
    margin-bottom: 19px;
  }
}

.ob-course3 {
  margin: 87px 0 95px;
}

@media only screen and (max-width: 1279px) {
  .ob-course3 {
    margin: 35px 0 -18px;
  }
}

.ob-course3::before {
  background: #2688BC;
  top: 0;
  height: 100%;
}

.ob-course3__inner {
  padding: 80px 0 82px;
}

@media only screen and (max-width: 1279px) {
  .ob-course3__inner {
    padding: 48px 0 1px;
  }
}

[data-area="content"] .ob-course3 .cp-h2-text {
  color: #fff;
  margin-bottom: 58px;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .ob-course3 .cp-h2-text {
    margin-bottom: 28px;
  }
}

[data-area="content"] .ob-course3 .cp-h2-text::before,
[data-area="content"] .ob-course3 .cp-h2-text::after {
  background: #fff;
}

[data-area="content"] .ob-course3 .lead2 {
  color: #fff;
  letter-spacing: .1em;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .ob-course3 .lead2 {
    font-size: 1.7rem;
    margin: 0 10px;
    line-height: 1.65;
  }
}

.ob-course3__boxes {
  display: flex;
  justify-content: space-between;
  margin: 59px -100px 0;
}

@media only screen and (max-width: 1279px) {
  .ob-course3__boxes {
    display: block;
    max-width: 750px;
    margin: 26px auto 30px;
  }
}

.ob-course3__box {
  width: 32.76%;
}

@media only screen and (max-width: 1279px) {
  .ob-course3__box {
    width: 100%;
    margin-bottom: 10px;
  }

  .ob-course3__box:last-child {
    margin-bottom: -20px;
  }
}

.ob-course3__box-img {
  overflow: hidden;
  position: relative;
}

.ob-course3__box-img img {
  width: 100%;
}

@media only screen and (max-width: 1279px) {
  .ob-course3__box-img {
    padding-top: 56.25%;
  }

  .ob-course3__box-img img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
  }
}

.ob-course3__box-inner {
  position: relative;
  z-index: 0;
  background: #fff;
  text-align: center;
  border: 1px solid #E3E3E3;
  border-top: 0;
  padding: 22px 25px 54px;
}

@media only screen and (max-width: 1279px) {
  .ob-course3__box-inner {
    padding: 11px 25px 42px;
  }
}

.cms .ob-course3__box-inner {
  border: none;
  background: none;
}

.ob-course3__box-icn {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 99px;
}

.ob-course3__box-ttl {
  margin: -1px 0 0;
}

@media only screen and (max-width: 1279px) {
  .ob-course3__box-ttl {
    margin: -7px 0 2px;
  }
}

.ob-course3__box-ttl--sub {
  color: #555;
  font-size: 1.4rem;
  font-family: "Bodoni Moda", serif;
}

@media only screen and (max-width: 1279px) {
  .ob-course3__box-ttl--sub {
    letter-spacing: -.01em;
  }
}

.ob-course3__box-ttl--main {
  color: #223038;
  font-size: 2.4rem;
  font-family: 'Noto serif JP', sans-serif;
  padding: 17px 0 27px;
}

@media only screen and (max-width: 1279px) {
  .ob-course3__box-ttl--main {
    padding: 3px 0 0;
  }
}

.ob-course3__box-txt {
  font-size: 1.5rem;
}

@media only screen and (max-width: 1279px) {
  .ob-course3__box-txt {
    font-size: 1.3rem;
  }
}

[data-area="content"] .ob-course3__box-txt .button2 {
  margin: 39px auto 0;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .ob-course3__box-txt .button2 {
    max-width: 262px;
    margin: 24px auto 0;
  }

  [data-area="content"] .ob-course3__box-txt .button2 a::after {
    width: 14px;
    top: 0;
  }

  [data-area="content"] .ob-course3__box-txt .button2::before {
    max-width: 100%;
    height: 49px;
    right: -5px;
    bottom: -4px;
  }

  [data-area="content"] .ob-course3__box-txt .button2::after {
    right: -15px;
    width: 16px;
    top: 0;
  }

  [data-area="content"] .ob-course3__box-txt .button2 a {
    font-size: 1.5rem;
    padding: 13px 15px 13px 14px;
  }
}

.page-learning .ob-3tui1 {
  margin: 40px 0 31px;
}

@media only screen and (max-width: 1279px) {
  .page-learning .ob-3tui1 {
    margin: 40px 0 1px;
  }
}

@media only screen and (max-width: 1279px) {
  .page-learning .ob-3tui1.is-imgRight .ob-3tui1__inner {
    flex-direction: column;
  }
}

.page-learning .ob-3tui1__txt {
  margin: 10px 0 0;
}

@media only screen and (max-width: 1279px) {
  .page-learning .ob-3tui1__txt {
    margin: 3px 0 0;
  }
}

.page-learning [data-area="content"] .ob-3tui1__txt .lead3 {
  margin-bottom: 20px;
}

@media only screen and (max-width: 1279px) {
  .page-learning [data-area="content"] .ob-3tui1__txt .lead3 {
    font-size: 1.7rem;
    margin-bottom: 27px;
  }
}



.page-learning .ob-background .cp-h2-text {
  margin-bottom: 55px;
}

@media only screen and (max-width: 1279px) {
  .page-learning .ob-background .cp-h2-text {
    margin-bottom: 0;
  }
}


/* ==========================================================================

コラム写真

========================================================================== */
.ob-columnPhoto {
  padding: 30px 0 128px;
}

@media only screen and (max-width: 1279px) {
  .ob-columnPhoto {
    position: relative;
    top: -15px;
    padding: 0 0 60px;
  }
}

.ob-columnPhoto__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 -100px;
}

@media only screen and (min-width: 1280px) and (max-width: 1370px) {
  .ob-columnPhoto__inner {
    margin: 0 calc(50% - 48.5vw);
  }
}

@media only screen and (max-width: 1279px) {
  .ob-columnPhoto__inner {
    margin: 0;
  }
}

.ob-columnPhoto__content {
  width: 46.55%;
  background: #fff;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, .16);
  padding: 46px 41px 29px;
  margin-bottom: 38px;
}

@media only screen and (min-width: 1280px) and (max-width: 1370px) {
  .ob-columnPhoto__content {
    width: 48.5%;
  }
}

@media only screen and (max-width: 1279px) {
  .ob-columnPhoto__content {
    box-shadow: none;
    width: 100%;
    padding: 30px 15px 38px;
    margin-bottom: 15px;
  }
}

.ob-columnPhoto__content-read {
  margin-bottom: 34px;
}

.ob-columnPhoto__content-read .lead3 {
  letter-spacing: .1em;
  line-height: 1.55;
  margin-bottom: 0;
}

@media only screen and (max-width: 1279px) {
  .ob-columnPhoto__content-read {
    height: auto !important;
    margin-bottom: 33px;
  }

  .ob-columnPhoto__content-read .lead3 {
    font-size: 1.7rem;
    letter-spacing: 0;
  }
}

.ob-columnPhoto__content-txt {
  position: sticky;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.89;
  margin: 3px 0 27px;
}

@media only screen and (max-width: 1279px) {
  .ob-columnPhoto__content-txt {
    height: auto !important;
    margin: 0;
  }
}

.ob-columnPhoto__content-txt .button1,
.ob-columnPhoto__content-txt .button2,
.ob-columnPhoto__content-txt .button3 {
  margin-top: 25px;
}

@media only screen and (max-width: 1279px) {

  .ob-columnPhoto__content-txt .button1,
  .ob-columnPhoto__content-txt .button2,
  .ob-columnPhoto__content-txt .button3 {
    max-width: 262px;
    margin: 14px auto 0;
  }

  .ob-columnPhoto__content-txt .button1 a,
  .ob-columnPhoto__content-txt .button2 a,
  .ob-columnPhoto__content-txt .button3 a {
    font-size: 1.5rem;
    padding: 13px 15px 13px 14px;
  }
}

@media only screen and (max-width: 1279px) {

  .ob-columnPhoto__content-txt .button1::before,
  .ob-columnPhoto__content-txt .button2::before,
  .ob-columnPhoto__content-txt .button3::before {
    max-width: 100%;
    height: 49px;
    right: -5px;
    bottom: -4px;
  }
}

.ob-columnPhoto__content-txt .button1::after,
.ob-columnPhoto__content-txt .button2::after,
.ob-columnPhoto__content-txt .button3::after {
  top: 1px;
}

@media only screen and (max-width: 1279px) {

  .ob-columnPhoto__content-txt .button1::after,
  .ob-columnPhoto__content-txt .button2::after,
  .ob-columnPhoto__content-txt .button3::after {
    right: -15px;
    width: 16px;
    top: 0;
  }
}

.ob-columnPhoto__content-txt .button1 a::after,
.ob-columnPhoto__content-txt .button2 a::after,
.ob-columnPhoto__content-txt .button3 a::after {
  top: 1px;
}

@media only screen and (max-width: 1279px) {

  .ob-columnPhoto__content-txt .button1 a::after,
  .ob-columnPhoto__content-txt .button2 a::after,
  .ob-columnPhoto__content-txt .button3 a::after {
    width: 14px;
    top: 0;
  }
}

.ob-columnPhoto__attention {
  margin: -24px -100px 0 -100px;
  letter-spacing: -.04em;
  line-height: 1.77;
}

@media only screen and (min-width: 1280px) and (max-width: 1370px) {
  .ob-columnPhoto__attention {
    margin: -24px calc(50% - 48.5vw) 0 calc(50% - 48.5vw);
  }
}

@media only screen and (max-width: 1279px) {
  .ob-columnPhoto__attention {
    margin: 0;
  }
}


/* ==========================================================================

研究活動

========================================================================== */
.page-activelearning [data-area="content"] .lead1:first-child {
  padding-top: 3px;
  margin-bottom: 63px;
}

@media only screen and (max-width: 1279px) {
  .page-activelearning [data-area="content"] .lead1:first-child {
    padding-top: 0;
    margin-bottom: 25px;
  }
}

.page-activelearning [data-area="content"] .cp-anchor-menu {
  margin-top: 77px;
}

@media only screen and (max-width: 1279px) {
  .page-activelearning [data-area="content"] .cp-anchor-menu {
    margin-top: 20px;
  }
}

.ob-labo {
  margin: 59px 0 107px;
}

@media only screen and (max-width: 1279px) {
  .ob-labo {
    margin: 0 0 50px;
  }
}

.ob-labo+.ob-labo {
  margin: 30px 0 0;
}

.ob-labo::before {
  background: #F0F4F5;
  top: 169px;
  height: 540px;
}

@media only screen and (max-width: 1279px) {
  .ob-labo::before {
    content: none;
  }
}

.cms .ob-labo::before {
  content: none;
}

.ob-labo__inner {
  position: relative;
  transition: .2s;
  margin: 0 -180px 0 -120px;
}

@media only screen and (min-width: 1280px) and (max-width: 1360px) {
  .ob-labo__inner {
    margin: 0 calc(50% - 48.5vw) 0 -40px;
  }
}

@media only screen and (max-width: 1279px) {
  .ob-labo__inner {
    display: flex;
    flex-flow: column-reverse;
    margin: 0;
  }
}

.ob-labo__content {
  position: absolute;
  z-index: 1;
  top: 60px;
  left: 0;
  width: 100%;
  max-width: 480px;
  min-height: 300px;
  background: #fff;
  box-shadow: 3px 3px 6px rgb(0 0 0 / 16%);
  padding: 45px 30px 50px 30px;
}

@media only screen and (max-width: 1279px) {
  .ob-labo__content {
    position: static;
    box-shadow: none;
    max-width: 100%;
    min-height: inherit;
    border-top: 1px solid #2688bc;
    border-bottom: 1px solid #CCC;
    margin-bottom: 24px;
    padding: 22px 0 24px;
  }
}

.ob-labo__content-ctch {
  overflow: hidden;
  position: relative;
  font-weight: 500;
  font-family: 'Noto serif JP', sans-serif;
  letter-spacing: 0;
  padding: 0;
}

@media only screen and (max-width: 1279px) {
  .ob-labo__content-ctch {
    font-size: 1.4rem;
  }
}

.ob-labo__content-ctch>div {
  display: inline-block;
  position: relative;
  background: #fff;
  z-index: 2;
  padding: 0 9px 0 0;
  width: auto;
}

.ob-labo__content-ctch>div::after {
  position: absolute;
  content: '';
  top: -1px;
  right: -120px;
  bottom: 0;
  margin: auto 0;
  background: #999;
  width: 120px;
  height: 1px;
}

@media only screen and (max-width: 1279px) {
  .ob-labo__content-ctch>div::after {
    right: -50px;
    width: 50px;
  }
}


.ob-labo__content-ttl {
  font-size: 2rem;
  color: #2660BC;
  line-height: 1.8;
  margin: 23px 0 52px;
}

@media only screen and (max-width: 1279px) {
  .ob-labo__content-ttl {
    margin: 10px 0 25px;
    font-size: 1.7rem;
    letter-spacing: 0;
  }
}

.ob-labo__content-txt {
  letter-spacing: -.067em;
}

.ob-labo__img {
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 820px;
  background: #fff;
  border: 1px solid #2688BC;
  padding: 19px;
  margin-left: auto;
}

@media only screen and (max-width: 1279px) {
  .ob-labo__img {
    max-width: 100%;
    padding-top: 56.25%;
    box-shadow: 0 0 0 1px #2688bc;
    border-width: 9px;
    border-color: #fff;
  }
}

.ob-labo__img img {
  width: 100%;
}

@media only screen and (max-width: 1279px) {
  .ob-labo__img img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    z-index: 1;
  }
}

.ob-labo__txt {
  margin: 48px 0 0;
  line-height: 1.9;
}

@media only screen and (max-width: 1279px) {
  .ob-labo__txt {
    margin: 0;
    line-height: 1.79;
  }
}

/* 囲み基本ブロック */
[data-area="content"] .ob-labo+.cp-text {
  background: #fff;
  margin: -78px 0 102px;
  padding: 20px 35px 27px;
  border: 1px solid #2688BC;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .ob-labo+.cp-text {
    margin: -30px 0 50px;
    padding: 19px 10px 24px;
  }
}

[data-area="content"] .ob-labo+.cp-text .cp-text-item {
  font-size: 1.5rem;
  line-height: 1.55;
}

[data-area="content"] .ob-labo+.cp-text .cp-text-item a {
  position: relative;
  top: 3px;
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  color: #333;
  margin: 0 58px 0 0;
}

@media only screen and (max-width: 1279px) {
  [data-area="content"] .ob-labo+.cp-text .cp-text-item a {
    position: static;
    display: block;
    margin: 0 0 5px;
  }
}

[data-area="content"] .ob-labo+.cp-text .cp-text-item a[target="_blank"]::after {
  content: none;
}

/* 左画像+右テキストの場合 */
.ob-labo.is-imgLeft .ob-labo__inner {
  margin: 0 -80px 0 -220px;
}

@media only screen and (min-width: 1280px) and (max-width: 1440px) {
  .ob-labo.is-imgLeft .ob-labo__inner {
    margin: 0 -40px 0 calc(50% - 48.5vw);
  }
}

@media only screen and (max-width: 1279px) {
  .ob-labo.is-imgLeft .ob-labo__inner {
    margin: 0;
  }
}

.ob-labo.is-imgLeft .ob-labo__img {
  margin-left: 0;
  margin-right: auto;
}

.ob-labo.is-imgLeft .ob-labo__content {
  left: inherit;
  right: 0;
}


/* ==========================================================================

各ページのスタイル調整

========================================================================== */
.page-jhs_swu [data-area="content"] .cp-h2-text:first-child {
  margin-top: 40px;
}

@media only screen and (max-width: 1279px) {
  .page-jhs_swu [data-area="content"] .cp-h2-text:first-child {
    margin-top: 27px;
  }
}

.page-philosophy [data-area="content"] table,
.page-admissions [data-area="content"] table,
.page-tuition [data-area="content"] table {
  margin: 5px 0;
}


/* ==========================================================================

校⻑対談・教員インタビュー

========================================================================== */
.page-index.school2.dialogue3 [data-area="content"] .cp-anchor-menu:first-child {
  margin-top: 11px;
}

.page-index.school2.dialogue3 [data-area="content"] .cp-anchor-menu:first-child+.cp-h2-text {
  margin: 0 0 60px;
}

@media only screen and (max-width: 1279px) {
  .page-index.school2.dialogue3 [data-area="content"] .cp-anchor-menu:first-child+.cp-h2-text {
    margin: 0 0 50px;
  }
}

.ob-conversation {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ob-conversation__item {
  width: 32.29%;
  margin-bottom: 54px;
}

@media only screen and (max-width: 1279px) {
  .ob-conversation__item {
    width: calc(50% - 5px);
    margin-bottom: 20px;
  }
}

.ob-conversation__item:first-child {
  width: 64.58%;
}

@media only screen and (max-width: 1279px) {
  .ob-conversation__item:first-child {
    width: calc(50% - 5px);
  }
}

.ob-conversation__item-thumb {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding-top: 13.526%;
}

@media only screen and (max-width: 1279px) {
  .ob-conversation__item-thumb {
    padding-top: 64.514%;
  }
}

.ob-conversation__item-thumb::before {
  content: '';
  transition: .3s;
  position: absolute;
  top: calc(50% - 19px);
  left: calc(50% - 30px);
  display: block;
  height: 38px;
  width: 60px;
  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2254%22%20height%3D%2236%22%20viewBox%3D%220%200%2054%2036%22%3E%3Cg%20transform%3D%22translate(4237%2016334)%22%3E%3Crect%20width%3D%2254%22%20height%3D%2236%22%20rx%3D%229%22%20transform%3D%22translate(-4237%20-16334)%22%20fill%3D%22%23555%22%20style%3D%22mix-blend-mode%3Amultiply%3Bisolation%3Aisolate%22%2F%3E%3Cpath%20d%3D%22M8.5%2C0%2C17%2C15H0Z%22%20transform%3D%22translate(-4201%20-16324)%20rotate(90)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center;
}

@media screen and (min-width: 1280px) {
  .ob-conversation__item-thumb:hover::before {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2254%22%20height%3D%2236%22%20viewBox%3D%220%200%2054%2036%22%3E%3Cg%20transform%3D%22translate(4239%2016284)%22%3E%3Cg%20transform%3D%22translate(-321%2050)%22%3E%3Crect%20width%3D%2254%22%20height%3D%2236%22%20rx%3D%229%22%20transform%3D%22translate(-3918%20-16334)%22%20fill%3D%22red%22%2F%3E%3Cpath%20d%3D%22M8.5%2C0%2C17%2C15H0Z%22%20transform%3D%22translate(-3882%20-16324)%20rotate(90)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E');
  }
}

.fr-block .ob-conversation__item .ob-conversation__item-thumb iframe {
  visibility: visible;
}

.ob-conversation__item .ob-conversation__item-thumb iframe {
  width: 100%;
  height: 100%;
  visibility: hidden;
}

@media only screen and (max-width: 1279px) {
  .ob-conversation__item .ob-conversation__item-thumb::before {
    width: 8.27vw;
    height: 5.34vw;
    top: calc(50% - 2.6vw);
    left: calc(50% - 4.2vw);
    background-size: contain;
  }

  .ob-conversation__item .ob-conversation__item-thumb .cp-inner {
    position: relative;
  }

  .ob-conversation__item .ob-conversation__item-thumb iframe {
    width: auto;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
  }
}

.ob-conversation__item-contents {
  padding: 15px 0 0;
}

@media only screen and (max-width: 1279px) {
  .ob-conversation__item-contents {
    padding: 11px 0 0;
  }
}

.ob-conversation__item-contents--icn {
  display: inline-block;
  font-size: 1.3rem;
  line-height: 1;
  text-align: center;
  width: 100%;
  font-weight: 600;
  border-radius: 11px;
  letter-spacing: -0.04em;
  padding: 5px 5px 4px 5px;
  color: #fff;
  background: #ccc;
}

@media only screen and (max-width: 1279px) {
  .ob-conversation__item-contents--icn {
    font-size: 1rem;
    padding: 3px 5px;
  }
}

.ob-conversation__item.is-interview .ob-conversation__item-contents--icn {
  background: #2688BC;
  max-width: 100px;
}

.ob-conversation__item.is-movie .ob-conversation__item-contents--icn {
  background: #222;
  max-width: 68px;
}

.ob-conversation__item-contents--ttl {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 4px 0;
  line-height: 1.65;
}

@media only screen and (max-width: 1279px) {
  .ob-conversation__item-contents--ttl {
    font-size: 1.6rem;
    margin: 4px 0;
    line-height: 1.58;
  }
}

.ob-conversation__item-contents--txt {
  font-size: 1.5rem;
}

@media only screen and (max-width: 1279px) {
  .ob-conversation__item-contents--txt {
    font-size: 1.3rem;
  }
}

.ob-conversation+.cp-h2-text {
  margin: 45px 0 55px;
}

@media only screen and (max-width: 1279px) {
  .ob-conversation+.cp-h2-text {
    margin: 27px 0 50px;
  }
}

.page-index.school2.dialogue3 [data-area="content"] .cp-vertical {
  margin: 31px 0 0;
}

.page-index.school2.dialogue3 [data-area="content"] .cp-vertical .cp-vertical-item {
  margin-bottom: 7px;
}

@media only screen and (max-width: 1279px) {
  .page-index.school2.dialogue3 [data-area="content"] .cp-vertical .cp-vertical-item {
    margin-bottom: 20px;
  }
}

.page-index.school2.dialogue3 [data-area="content"] .cp-vertical .cp-vertical-l {
  margin-right: 15px;
}

.page-index.school2.dialogue3 [data-area="content"] .cp-it.cp-vertical .cp-vertical-text {
  font-size: 1.5rem;
  letter-spacing: -0.02em;
}

@media only screen and (max-width: 1279px) {
  .page-index.school2.dialogue3 [data-area="content"] .cp-it.cp-vertical .cp-vertical-text {
    font-size: 1.6rem;
    letter-spacing: 0;
  }
}

.page-index.school2.dialogue3 [data-area="content"] .cp-it.cp-vertical .cp-vertical-text strong {
  display: block;
  line-height: 1.6;
  font-size: 1.8rem;
  letter-spacing: 0;
  margin: 20px 0;
}

@media only screen and (max-width: 1279px) {
  .page-index.school2.dialogue3 [data-area="content"] .cp-it.cp-vertical .cp-vertical-text strong {
    font-size: 1.6rem;
    margin: 4px 0;
    line-height: 1.58;
  }
}

.page-index.school2.dialogue3 [data-area="content"] .cp-it.cp-vertical .cp-vertical-text strong+br {
  display: none;
}


/* ==========================================================================

合格発表

========================================================================== */
.page-gouhi [data-area="content"] table td .button3 {
  margin: 10px 22px 10px auto;
}
@media only screen and (max-width: 640px) {
  .page-gouhi [data-area="content"] table td .button3 {
    right: 8px;
    margin: 0 auto 10px 0;
  }
  .page-gouhi [data-area="content"] table.fr-table-border-horizontal th,
  .page-gouhi [data-area="content"] table.fr-table-border-horizontal td {
    display: block;
    width: 100% !important;
    border-top: 0;
    border-bottom: 0;
  }
  .page-gouhi [data-area="content"] table.fr-table-border-horizontal tr > td:first-child {
    padding-bottom: 0;
  }
  .page-gouhi [data-area="content"] table.fr-table-border-horizontal tr {
    border-bottom: 1px solid #CCC;
  }
  .page-gouhi [data-area="content"] table.fr-table-border-horizontal tr:first-child {
    border-top: 1px solid #CCC;
  }
}


/* ==========================================================================

学校概要 - 教育理念

========================================================================== */
.ob-educational__ttl {
  float: left;
  line-height: 1;
  font-size: 2.2rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  padding: 7px 0 0;
}
@media only screen and (max-width: 1279px) {
  .ob-educational__ttl {
    float: none;
    font-size: 1.8rem;
    padding: 0;
  }
}

.ob-educational__contents {
  margin-left: 140px;
  margin-bottom: 50px;
}
@media only screen and (max-width: 1279px) {
  .ob-educational__contents {
    margin-left: 0;
    margin-bottom: 20px;
    margin-top: 7px;
  }
}

.cms .ob-educational__contents {
  margin-bottom: 0;
  padding: 0 0 30px;
}

.ob-educational__contents-ttl {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 0 0 16px;
}
@media only screen and (max-width: 1279px) {
  .ob-educational__contents-ttl {
    font-size: 2.1rem;
    margin: 0 0 8px;
  }
}

.ob-educational__contents-flex {
  display: flex;
  justify-content: space-between;
  margin: 0 0 26px;
}
@media only screen and (max-width: 1279px) {
  .ob-educational__contents-flex {
    display: block;
    margin: 9px 0 14px;
  }
}

.ob-educational__contents-flexBox {
  width: 30.333%;
}
@media only screen and (max-width: 1279px) {
  .ob-educational__contents-flexBox {
    width: 100%;
    margin-bottom: 10px;
  }
  .ob-educational__contents-flexBox:last-child {
    margin-bottom: 0;
  }
}


/* ==========================================================================

360° VIEW

========================================================================== */
/* パノラマビュー本体
-------------------------------------------------------------*/
.ob-panoramaView {
  position: relative;
  margin: 72px -150px 101px;
}

@media only screen and (max-width: 1279px) {
  .ob-panoramaView {
    margin: 40px 0;
  }
}

/* パノラマビューリスト
-------------------------------------------------------------*/
.ob-panoramaView__lists {
  opacity: 0;
  width: 180px;
  position: absolute;
  z-index: 2;
  background: #fff;
  top: 20px;
  right: 20px;
  padding: 18px 0 34px;
  border-radius: 10px;
}

@media only screen and (max-width: 1279px) {
  .ob-panoramaView__lists {
    position: static;
    padding: 0;
    width: 100%;
  }
}

.ob-panoramaView__lists-ttl {
  position: relative;
  width: 68px;
  height: 68px;
  margin: 0 auto;
  font-size: 0;
  background: url(/albums/css/basic-blocks/abm00016837.svg) 0 0 no-repeat;
  background-size: 68px 68px;
}

@media only screen and (max-width: 1279px) {
  .ob-panoramaView__lists-ttl {
    width: 100%;
    height: auto;
    margin: auto 0;
    font-size: 1.6rem;
    font-weight: 500;
    background: none;
    cursor: pointer;
    padding: 11px 13px 11px 56px;
    background: #F0F4F5;
  }

  .ob-panoramaView__lists-ttl::before {
    content: '';
    position: absolute;
    top: 0;
    left: 10px;
    bottom: 0;
    margin: auto;
    width: 35px;
    height: 35px;
    background: url(/albums/css/basic-blocks/abm00016837.svg) 0 0 no-repeat;
    background-size: 35px 35px;
  }

  .ob-panoramaView__lists-ttl>div {
    position: relative;
  }

  .ob-panoramaView__lists-ttl>div::after {
    content: '';
    position: absolute;
    width: 7px;
    height: 7px;
    border-top: 1px solid #2688BC;
    border-right: 1px solid #2688BC;
    top: -4px;
    bottom: 0;
    right: 4px;
    margin: auto 0;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    transition: transform .3s, top .3s;
  }

  .ob-panoramaView__lists-ttl.is-open>div::after {
    top: 3px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}

.cms .ob-panoramaView__lists-ttl {
  font-size: 1.6rem;
  width: 100%;
  height: auto;
  background: none;
}

.ob-panoramaView__lists-group {
  margin: 18px 0 0;
}

@media only screen and (max-width: 1279px) {
  .ob-panoramaView__lists-group {
    display: none;
    margin: 0;
  }
}

.ob-panoramaView__lists-group>div {
  border-bottom: 1px dashed #DDD;
}

.ob-panoramaView__lists-group>div:first-child {
  border-top: 1px dashed #DDD;
}

@media only screen and (max-width: 1279px) {
  .ob-panoramaView__lists-group>div:last-child {
    border-bottom: 0;
  }
}

.ob-panoramaView__lists-group>div>div {
  cursor: pointer;
  transition: .2s;
  font-size: 1.5rem;
  letter-spacing: -.1em;
  padding: 6px 30px 5px;
}

@media only screen and (max-width: 1279px) {
  .ob-panoramaView__lists-group>div>div {
    font-weight: 500;
    letter-spacing: 0;
    padding: 11px 10px;
  }
}

.ob-panoramaView__lists-group>div.is-active>div,
.ob-panoramaView__lists-group>div:hover>div {
  color: #fff;
  background: #2688BC;
}

@media only screen and (max-width: 1279px) {

  .ob-panoramaView__lists-group>div.is-active>div,
  .ob-panoramaView__lists-group>div:hover>div {}
}

/* パノラマビューコンテンツ
-------------------------------------------------------------*/
.ob-panoramaView__contents {
  position: relative;
  z-index: 1;
  height: 100%;
}

.ob-panoramaView__contentsBox {
  position: relative;
  width: 100%;
  padding: calc(1260 / 2240 * 100%) 0 0;
  background: #000;
}

@media only screen and (max-width: 1279px) {
  .ob-panoramaView__contentsBox {
    padding: calc(1279 / 1300 * 100%) 0 0;
  }
}

.cms .ob-panoramaView__contentsBox {
  padding: 0;
}

.ob-panoramaView__contentsBox iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



/* 五修生制度・ダブルディグリー制度 */
.page-course_system [data-area="content"] .cp-h2-text {
  margin: 0 auto 60px;
}

.page-course_system .lo-tops {
  margin-bottom: 38px;
}

.page-course_system [data-area="content"] .cp-ti.cp-vertical .cp-vertical-text {
  margin: 0 auto 60px;
  line-height: 1.875;
}

.page-course_system [data-area="content"] .cp-ti {
  margin-bottom: 90px;
  margin-left: 0;
  max-width: 100%;
}

.page-course_system .cp-ti:nth-child(2) {
  margin-bottom: 88px;
}

.page-course_system .cp-ti:nth-child(4) .cp-ti-text {
  margin-bottom: 50px;
}

.page-course_system .cp-ti-img {
  margin: 0 -10.3%;
}

@media screen and (max-width: 1279px) {
  .page-course_system .cp-ti-img {
    margin: 0;
  }
}

.page-course_system [data-area="content"] .cp-ti:not(:first-of-type) {
  margin-bottom: 35px;
}

@media screen and (max-width: 1279px) {
  .page-course_system .lo-tops {
    margin-bottom: 14px;
  }

  .page-course_system [data-area="content"] .cp-h2-text {
    margin: 0 auto 37px;
  }

  .page-course_system [data-area="content"] .cp-text .cp-text-l {
    margin-bottom: 0;
  }

  .page-course_system [data-area="content"] .cp-ti.cp-vertical .cp-vertical-text {
    font-size: 1.3rem;
    line-height: 1.7;
    margin: 0 auto 37px;
  }

  .page-course_system [data-area="content"] .cp-ti {
    margin-bottom: 60px;
  }
}

/* //五修生制度・ダブルディグリー制度 */

/* 年間⾏事 */
/*  基本ブロック */
.page-annual .lo-underContents {
  max-width: 1200px;
}

@media screen and (max-width: 1279px) {
  .page-annual .lo-underContents {
    max-width: 100%;
  }
}

.page-annual .lo-tops {
  margin-bottom: 38px;
}

.page-annual .cp-text-col3 {
  padding: 0;
  margin-bottom: 10px;
  height: 40px;
  align-items: center;
  letter-spacing: -0.05em;
}

.page-annual .cp-text-col3 .cp-text-l:nth-of-type(1) {
  width: 120px;
  margin-left: 110px;
  margin-right: 0;
  box-sizing: border-box;
}

.page-annual .cp-text-col3 .cp-text-l:nth-of-type(1) .cp-inner {
  width: 120px;
  margin-right: 0;
}

.page-annual .cp-text-col3 .cp-text-l:nth-of-type(2) {
  width: 120px;
  margin-left: 60px;
  margin-right: 0;
  box-sizing: border-box;
}

.page-annual .cp-text-col3 .cp-text-l:nth-of-type(2) .cp-inner {
  width: 120px;
  margin-right: 0;
}

.page-annual .cp-text-col3 .cp-text-r {
  width: 460px;
  margin-left: 333px;
  margin-right: 0;
  box-sizing: border-box;
}

.page-annual .cp-text-col3 .cp-text-r span:nth-of-type(3) {
  margin-left: -2px;
}

.cp-hr-100 {
  margin: 0;
}

/* //基本ブロック */
/* オリジナルブロック */
.ob-twoColumn {
  display: flex;
  justify-content: space-between;
}

.ob-leftColumn {
  max-width: 540px;
  width: 100%;
}

.ob-rightColumn {
  max-width: 580px;
}

.ob-eventBox {
  display: flex;
  gap: 20px;
  margin: 21px 0 28px;
}

.ob-eventBox__hidden {
  display: none;
}

.cms .ob-eventBox__hidden {
  display: block;
}

.ob-eventBox:nth-of-type(4) {
  margin-top: 83px;
}

.ob-eventBoxColumn {
  flex-basis: 50%;
}

.ob-eventBox__ttl {
  font-weight: bold;
  margin-top: 9px;
  letter-spacing: -0.05em;
  line-height: 1.75;
}

.ob-eventBox__text {
  letter-spacing: -0.07em;
  line-height: 1.75;
  margin-top: -1px;
}

.ob-monthlyEvent {
  display: flex;
  padding-top: 25.5px;
  padding-bottom: 84px;
  border-top: 1px solid #ccc;
  position: relative;
}

.ob-monthlyEvent:nth-child(5) {
  padding-bottom: 82px;
}

.ob-monthlyEvent:nth-of-type(1)::after,
.ob-monthlyEvent:nth-of-type(6)::after {
  content: "";
  display: block;
  width: 1160px;
  max-width: 1160px;
  position: absolute;
  top: -1px;
  border-top: 1px solid #ccc;
}

.ob-monthlyEvent__left {
  width: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ob-monthlyEvent__monthNum {
  font-size: 6rem;
  color: #2688B2;
  line-height: 0.8;
  font-family: 'Bodoni Moda', serif;

}

.ob-monthlyEvent__monthEn {
  font-size: 1.2rem;
  color: #2688B2;
  font-family: 'Bodoni Moda', serif;
  margin-top: 9px;

}

.ob-monthlyEvent__rightSp {
  display: flex;
}

.ob-monthlyEvent__middle {
  margin-left: 30px;
  width: 162px;
}

.ob-monthlyEvent__middleText {
  margin-top: -4px;
  letter-spacing: -0.09em;
  line-height: 1.75;
}

.ob-monthlyEvent__right {
  margin-left: 18px;
}

.ob-monthlyEvent__rightText {
  margin-top: -4px;
  margin-left: -1px;
  letter-spacing: -0.05em;
  line-height: 1.75;
}

.ob-pcHiddenBox {
  display: none;
  width: 100%;
}

.cms .ob-pcHiddenBox {
  display: block;
}

.ob-monthlyEvent__rightSp+.ob-spEventBox {
  display: none;
}

.cms .ob-spEventBox__img {
  width: 280px;
}

.ob-spEventBox__img img {
  margin-top: 24px;
  width: 100%;
}

.ob-pcHiddenBox .ob-spEventBox {
  width: calc(50% - 5px);
}

.ob-spEventBox__ttl {
  font-weight: bold;
  font-size: 1.3rem;
}

.ob-spEventBox__text {
  font-size: 1.3rem;
}

.ob-monthlyEvent__spHeading {
  display: none;
}

.jsNone {
  display: none !important;
}

/* //オリジナルブロック */
/* SP */
@media screen and (max-width: 1279px) {

  /* SP基本ブロック */
  .page-annual .cp-wp {
    background-color: #fff;
  }

  .page-annual .lo-tops {
    margin-bottom: 14px;
  }

  .page-annual [data-area="content"] .cp-text {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: right;
  }

  .page-annual .cp-text-col3 {
    font-size: 1.2rem;
    height: auto;
    margin-bottom: 5px;
  }

  .page-annual .cp-text-col3 .cp-text-l:nth-of-type(1) {
    flex-basis: 30%;
    margin-left: 0;
  }

  .page-annual .cp-text-col3 .cp-text-l:nth-of-type(1) .cp-inner {
    width: 100px;
  }

  .page-annual .cp-text-col3 .cp-text-l:nth-of-type(2) {
    flex-basis: 30%;
    margin-left: 0;
  }

  .page-annual .cp-text-col3 .cp-text-l:nth-of-type(2) .cp-inner {
    width: 100px;
  }

  .page-annual .cp-text-col3 .cp-text-r {
    flex-basis: 100%;
    margin-left: 0;
    text-align: right;
    width: 100%;
  }

  /* //基本ブロック */
  /* SPオリジナルブロック */
  .ob-twoColumn {
    display: block;
  }

  .ob-leftColumn {
    max-width: 100%;
  }

  .ob-rightColumn {
    display: none;
  }

  .ob-monthlyEvent {
    flex-wrap: wrap;
    padding: 20px 0;
  }

  .ob-monthlyEvent:nth-child(5) {
    padding-bottom: 20px;
  }

  .ob-monthlyEvent:nth-of-type(1)::after,
  .ob-monthlyEvent:nth-of-type(6)::after {
    display: none;
  }

  .ob-monthlyEvent__left {
    width: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 8px;
  }

  .ob-monthlyEvent__monthNum {
    font-size: 4.8rem;
    color: #2688B2;
    line-height: 0.8;
    font-family: 'Bodoni Moda', serif;

  }

  .ob-monthlyEvent__monthEn {
    font-size: 1.2rem;
    color: #2688B2;
    font-family: 'Bodoni Moda', serif;
    margin-top: 9px;

  }

  .ob-monthlyEvent__rightSp {
    display: block;
    flex-basis: calc(100% - 80px);
  }

  .ob-monthlyEvent__middle {
    margin-left: 0;
  }

  .ob-monthlyEvent__right {
    margin-left: 0;
  }

  .ob-monthlyEvent__middleText {
    font-size: 1.3rem;
    margin: 4px 0 16px 8px;
  }

  .ob-monthlyEvent__rightText {
    font-size: 1.3rem;
    margin: 4px 0 0 8px;
  }

  .ob-pcHiddenBox {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 16px;
  }

  .ob-eventBox__img img {
    width: 100%;
  }

  .ob-eventBox__ttl {
    font-size: 1.4rem;
  }

  .ob-eventBox__text {
    font-size: 1.4rem;
  }

  .ob-spEventBox__ttl {
    margin-top: 8px;
  }

  .ob-spEventBox__text {
    font-size: 1.2rem;
  }

  .spHidden {
    display: none;
  }

  .ob-monthlyEvent__spHeading {
    display: block;
    background-color: #F0F4F5;
    font-size: 1.3rem;
    padding: 4px 8px;
  }

  /* //SPオリジナルブロック */
}

/* //SP */
/* //年間⾏事 */

/* 制服紹介 */
/* 基本ブロック */
@media screen and (max-width: 1279px) {
  .page-uniform .lo-underContents {
    max-width: 100%;
  }
}

.page-uniform .lo-tops {
  margin-bottom: 35px;
}

.page-uniform .cp-h2-text+.cp-text-r {
  padding: 17px 0 24px;
  line-height: 1.875;
  margin: 0 auto;
}

@media screen and (max-width: 1279px) {
  .page-uniform .cp-h2-text+.cp-text-r {
    padding: 0 0 8px;
    font-size: 1.3rem;
  }
}

.page-uniform .cp-text .cp-text-item {
  line-height: 1.875;
}

@media screen and (max-width: 1279px) {
  .page-uniform .cp-text .cp-text-item {
    font-size: 1.3rem;
  }
}

.page-uniform .cp-text.cp-text-col1.cp-all {
  margin: 0 auto 102px;
}

@media screen and (max-width: 1279px) {
  .page-uniform .cp-text.cp-text-col1.cp-all {
    max-width: 100%;
    margin-bottom: 48px;
  }
}

.page-uniform [data-area="content"] .cp-h2-text {
  margin: 40px auto 40px;
}

.page-uniform [data-area="content"] .cp-vertical {
  justify-content: space-between;
  margin: 40px auto;
  padding-top: 20px;
  gap: 40px;
}

@media screen and (max-width: 1279px) {
  .page-uniform [data-area="content"] .cp-vertical {
    padding-top: 0;
    margin: 0 auto;
  }
}

@media screen and (max-width: 1279px) {
  .page-uniform [data-area="content"] .cp-vertical .cp-vertical-l {
    margin-bottom: 0;
  }
}

.page-uniform [data-area="content"] .cp-vertical .cp-vertical-l {
  margin-right: 0;
}

.page-uniform [data-area="content"] .cp-it-item.cp-vertical-item {
  max-width: 100%;
}

.page-uniform [data-area="content"] .cp-it.cp-vertical .cp-vertical-text {
  margin-top: 11px;
}

@media screen and (max-width: 1279px) {
  .page-uniform [data-area="content"] .cp-it.cp-vertical .cp-vertical-text {
    font-size: 1.3rem;
    margin-top: 4px;
  }
}

/* //基本ブロック */
/* オリジナルブロック */
.ob-uniform-box {
  display: flex;
  position: relative;
}
@media screen and (max-width: 1279px) {
  .ob-uniform-box.is-no1,
  .ob-uniform-box.is-no2 {
    margin-bottom: 0;
  }
}

.ob-uniform-box.is-no1 {
  justify-content: center;
  margin: 0 -50% 90px;
  gap: 24px;
}

@media screen and (max-width: 1279px) {
  .ob-uniform-box.is-no1 {
    margin-bottom: 0;
    gap: 40px;
  }
}

.ob-uniform-box.is-no2 {
  justify-content: center;
  margin: 0 -50% 98px;
  gap: 24px;
}
@media screen and (max-width: 1279px) {
  .ob-uniform-box.is-no2 {
    gap: 40px;
  }
}

.ob-uniform-box__inner {
  position: relative;
}

.ob-uniform-box::after {
  content: '';
  position: absolute;
  background: #EAF5FA;
  width: 100%;
  max-width: 76%;
  height: 50.279%;
  top: 0;
  z-index: -1;
  margin: 0;
}

.ob-uniform-box__inner.is-no3::after {
  display: none;
  content: '';
  position: absolute;
  background: #EAF5FA;
  width: 100%;
  max-width: 100%;
  height: 50.279%;
  top: 0;
  left: 0;
  z-index: -1;
  margin: 0;
}

.ob-uniform-box__inner.is-no1 .ob-uniform-box__inner-img img {
  min-width: 365px;
}

.ob-uniform-box__inner.is-no4 {
  max-width: 400px;
}
@media screen and (max-width: 959px) {
  .ob-uniform-box__inner.is-no4 {
    max-width: 100%;
  }
}

.ob-uniform-box__inner.is-no4 .ob-uniform-box__inner-img {
  margin-top: 92px;
}
@media screen and (max-width: 959px) {
  .ob-uniform-box__inner.is-no4 .ob-uniform-box__inner-img {
    margin-top: 10px;
  }
}

.ob-uniform-box__inner.is-no1 .ob-uniform-box__inner-img {
  margin-top: 22px;
}

.ob-uniform-box__inner.is-no2 .ob-uniform-box__inner-img {
  margin-top: 19px;
}

.cms .cp-h2-text + .cp-text-item {
  padding: 30px 0;
}

/* //オリジナルブロック */

@media screen and (min-width: 960px) and (max-width: 1460px) {
  .page-uniform [data-area="content"] .cp-vertical {
    flex-direction: row;
    gap: 16px;
    max-width: 100%;
  }

  .ob-uniform-box.is-no2 {
    padding: 0 10px;
  }
}

@media screen and (max-width: 959px) {

  .page-uniform .cp-h2-text+.cp-text-r,
  .page-uniform .cp-text.cp-text-col1.cp-all,
  .page-uniform [data-area="content"] .cp-h2-text,
  .page-uniform [data-area="content"] .cp-vertical {
    max-width: 100%;
  }

  .page-uniform [data-area="content"] .cp-vertical {
    flex-direction: column;
    gap: 16px;
  }

  .page-uniform [data-area="content"] .cp-it-item.cp-vertical-item {
    width: 100%;
  }

  .ob-uniform-box.is-no1 {
    flex-direction: column;
    align-items: center;
    padding: 0;
  }

  .ob-uniform-box.is-no2 {
    flex-direction: column;
    align-items: center;
    padding: 0;
  }

  .ob-uniform-box::after {
    height: 55vw;
  }

  .ob-uniform-box__inner.is-no3 {
    width: 100%;
  }

  .ob-uniform-box__inner.is-no3::after {
    display: block;
    height: 55vw;
  }

  .ob-uniform-box__inner-img img {
    height: 100vw;
  }

  .ob-uniform-box__inner.is-no1 .ob-uniform-box__inner-img img {
    min-width: inherit;
  }

  .ob-uniform-box__inner.is-no3 .ob-uniform-box__inner-img img {
    margin: 0 auto;
  }
}

/* //制服紹介 */

/* アクセス */
.page-access .lo-tops {
  margin: 0 0 40px;
}

.page-access .cp-text-col2 {
  margin-bottom: 30px;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-text-col2 {
    margin-bottom: 24px;
  }
}

.page-access .cp-text-l ul li::before,
.page-access .cp-text-r ul li::before {
  display: none;
}

@media screen and (max-width: 1279px) {
  .page-access [data-area="content"] .cp-text .cp-text-l {
    margin-bottom: 16px;
  }
}

.page-access .cp-text-l ul {
  margin: 0;
}

.page-access .cp-text-l ul li {
  text-indent: 0;
  padding-left: 0;
}

.page-access .cp-text-l ul li:first-of-type {
  font-weight: bold;
  margin-bottom: 13px;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-text-l ul li:first-of-type {
    font-size: 1.4rem;
    margin-bottom: 6px;
  }
}

.page-access .cp-text-l ul li:nth-child(2) {
  margin-top: 0;
  line-height: 1.875;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-text-l ul li:nth-child(2) {
    font-size: 1.3rem;
    line-height: 1.5;
  }
}

.page-access .cp-text-item.cp-text-r ul {
  width: 252px;
  margin-left: auto;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-text-item.cp-text-r ul {
    margin-left: 0;
  }
}

.page-access .cp-text-item.cp-text-r ul li {
  display: flex;
  justify-content: space-between;
  font-size: 1.3rem;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-text-item.cp-text-r ul li {
    line-height: 1.5;
  }
}

.page-access .cp-text-item.cp-text-r ul li:nth-of-type(1) {
  margin-top: -3px;
}

.page-access .cp-text-item.cp-text-r ul li:nth-of-type(2) {
  margin-top: 4px;
}

.page-access .cp-text-item.cp-text-r ul li:nth-of-type(3) {
  margin-top: 6px;
}

.page-access .cp-text-item.cp-text-r ul li:nth-of-type(4) {
  margin-top: 3px;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-text-item.cp-text-r ul li:nth-of-type(-n+4) {
    margin-top: 0;
  }
}

.page-access .cp-text-item.cp-text-r ul li span {
  letter-spacing: 0.045em;
}

.page-access .cp-external.cp-all {
  margin-top: 0;
  margin-bottom: 33px;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-external.cp-all {
    margin-bottom: 24px;
  }
}

.page-access .cp-btn {
  margin-top: 0;
  margin-bottom: 60px;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-btn {
    margin-bottom: 24px;
  }
}

.page-access .cp-external+.cp-btn li {
  max-width: 310px;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-external+.cp-btn li {
    max-width: 100%;
  }

}

.page-access .cp-external+.cp-btn li a {
  border-radius: 9999px;
  padding: 14px 6px;
  font-size: 1.4rem;
}

.page-access .cp-external+.cp-btn li:nth-of-type(2) a::after {
  display: none;
}

.page-access [data-area="content"] .cp-h3-text {
  margin-bottom: 40px;
}

@media screen and (max-width: 1279px) {
  .page-access [data-area="content"] .cp-h3-text {
    margin: 0 0 16px 0;
  }
}

.page-access .cp-h5-text {
  margin-top: 0;
}

.page-access .cp-h3-text+.cp-h5-text {
  margin-bottom: 16px;
}

.page-access ul+.cp-h5-text {
  margin-bottom: 18px;
}

@media screen and (max-width: 1279px) {

  .page-access .cp-h3-text+.cp-h5-text,
  .page-access ul+.cp-h5-text {
    margin-bottom: 6px;
  }
}

.page-access .cp-h5-text+ul {
  margin-bottom: 35px;
}

.page-access .cp-h5-text+ul+.cp-h5-text+ul {
  margin-bottom: 48px;
}

@media screen and (max-width: 1279px) {

  .page-access .cp-h5-text+ul,
  .page-access .cp-h5-text+ul+.cp-h5-text+ul {
    margin-bottom: 24px;
  }
}

.page-access .cp-h5-text+ul li {
  letter-spacing: 0.05em;
  padding-left: 18px;
  line-height: 1.875;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-h5-text+ul li {
    font-size: 1.4rem;
    line-height: 1.5;
    margin-bottom: 4px;
  }
}

.page-access .cp-h5-text+ul li::before {
  left: -11px;
}

.page-access .cp-img-col1 {
  margin: 0;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-img-col1 {
    margin: 30px auto;
    max-width: 960px;
    width: 100%;
  }
}

.page-access .cp-img-col1+span {
  display: block;
  margin-top: 23px;
  margin-bottom: 126px;
}

@media screen and (max-width: 1279px) {
  .page-access .cp-img-col1+span {
    font-size: 1.4rem;
    margin: 12px auto 60px;
  }
}

@media only screen and (min-width: 1280px) {
  .page-access span+.cp-img-col1 {
    max-width: 717px;
  }
}

/* //アクセス */

/* オリジナルキャラクター */
.page-character .lo-underContents {
  padding-bottom: 0;
}

@media screen and (max-width: 1279px) {
  .page-character [data-area="content"] {
    font-size: 1.4rem;
  }
}

.page-character .lo-tops {
  margin: 0 0 38px;
}

.page-character .cp-h2-text {
  margin-bottom: 56px;
}

.ob-character {
  padding: 55px 0 155px;
  margin-top: 42px;
  color: #fff;
  position: relative;
}

.ob-character::before {
  content: "";
  display: block;
  background-color: #0f6ab2;
  width: 200vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: -100vw;
  z-index: -1;
}

@media screen and (max-width: 1279px) {
  .ob-character {
    padding: 55px 0;
  }
}

.ob-character .fr-fic {
  margin: 0 auto 64px;
  transform: translateX(-2px);
}

@media screen and (max-width: 1279px) {
  .ob-character .fr-fic {
    transform: translateX(0);
    width: 100%;
    max-width: 750px;
    margin-bottom: 36px;
  }
}

.page-character .cp-text-col1 {
  margin: 0 auto;
  line-height: 1.875;
}

.page-character .cp-text-col1 .cp-h5-text {
  margin-bottom: 21px;
}

@media screen and (max-width: 1279px) {
  .page-character .cp-text-col1 .cp-h5-text {
    margin-bottom: 6px;
  }
}

.page-character .cp-text-col1 strong {
  display: block;
  margin-top: 30px;
  margin-bottom: -30px;
}

@media screen and (max-width: 1279px) {
  .page-character .cp-text-col1 strong {
    margin-top: 16px;
    margin-bottom: -26px;
  }
}

.page-character .cp-h5-text {
  color: #fff;
}

.ob-character .button1 {
  margin-top: 22px;
  margin-bottom: 47px;
}

@media screen and (max-width: 1279px) {
  .ob-character .button1 {
    margin-bottom: 36px;
  }
}

.ob-character .button1::before {
  background-color: #0B59A0;
}

.ob-character .button1 a {
  letter-spacing: -0.056em;
}

.ob-character .cp-hr-100 {
  max-width: 960px;
  margin: 0 auto;
  margin-top: 1px;
  margin-bottom: 56px;
}

.page-character .cp-ti-horizontal-col1 {
  max-width: 960px;
  margin: 0 auto;
}

@media screen and (max-width: 1279px) {

  .page-character .cp-text-col1,
  .ob-character .cp-hr-100,
  .page-character .cp-ti-horizontal-col1 {
    width: 100%;
    max-width: 750px;
  }
}

.page-character [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text {
  line-height: 1.875;
  letter-spacing: 0;
}

.page-character .cp-ti-horizontal-col1 .cp-h5-text {
  margin-bottom: 13px;
}

@media screen and (max-width: 1279px) {
  .page-character .cp-ti-horizontal-col1 .cp-h5-text {
    margin-bottom: 6px;
  }
}

.page-character .cp-ti-horizontal-col1 strong {
  display: block;
  margin-top: 30px;
  margin-bottom: -30px;
}

@media screen and (max-width: 1279px) {
  .page-character .cp-ti-horizontal-col1 strong {
    margin-top: 16px;
    margin-bottom: -26px;
  }
}

.page-character [data-area="content"] .cp-horizontal .cp-horizontal-img {
  margin-top: -15px;
}

@media screen and (max-width: 1279px) {
  .page-character [data-area="content"] .cp-horizontal .cp-horizontal-img {
    max-width: 750px;
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 1279px) {
  .ob-character .cp-ti-r {
    gap: 20px;
  }
}

/* //オリジナルキャラクター */

/* 学校説明会・公開⾏事 */
.page-session .lo-tops {
  margin: 0 0 38px;
}

.page-session .cp-h2-text {
  margin-bottom: 68px;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 1279px) {
  .page-session .cp-h2-text {
    margin-bottom: 36px;
  }
}

/* .page-session [data-area="content"] table {
  margin-top: 37px;
  margin-bottom: 60px;
}

@media screen and (max-width: 1279px) {
  .page-session [data-area="content"] table {
    min-width: 600px;
  }
}

@media screen and (max-width: 1279px) {
  .page-session [data-area="content"] table {
    margin-top: 8px;
    margin-bottom: 0;
  }
}

.ob-sessionTable table ul {
  margin: 0;
}

.ob-sessionTable table ul li {
  padding-left: 0;
  text-indent: 0;
}

.page-session [data-area="content"] table td {
  padding: 0;
}

.ob-sessionTable td:nth-child(1) ul {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 0;
  margin: 11.1px 0px;
}

@media screen and (max-width: 1279px) {
  .ob-sessionTable td:nth-child(1) ul {
    justify-content: center;
    width: 100%;
    min-width: 170px;
  }
}

.ob-sessionTable td:nth-child(1) ul li {
  display: flex;
  align-items: center;
  justify-content: flex-end;
} */

/* 2022/12/13追加 */
.page-session [data-area="content"] table td {
  padding: 11px 8px;
}

.page-session table td:first-child{
  font-size: 1.4rem;
  flex-basis: 18%;
  font-family: 'Bodoni Moda', serif;
}
@media screen and (max-width: 1279px){
  .page-session table td:first-child{
    font-size: 1.2rem;
  }
}

.page-session table td:nth-child(2){
  font-family: 'Bodoni Moda', serif;
  font-size: 2.8rem;
  font-weight: bold;
}
@media screen and (max-width: 1279px){
  .page-session table td:nth-child(2){
    font-size: 2rem;
  }
}

.page-session table td:nth-child(3){
  font-size: 1.5rem;
}
@media screen and (max-width: 1279px){
  .page-session table td:nth-child(3){
    font-size: 1.3rem;
  }
}
/* //2022/12/13追加 */
/* .ob-sessionTable td:nth-child(1) ul li::before,
.ob-sessionTable td:nth-child(2) ul li::before {
  display: none;
}

.ob-sessionTable td:nth-child(1) ul li:nth-child(1),
.ob-sessionTable td:nth-child(1) ul li:nth-child(2),
.ob-sessionTable td:nth-child(1) ul li:nth-child(4),
.ob-sessionTable td:nth-child(1) ul li:nth-child(5),
.ob-sessionTable td:nth-child(1) ul li:nth-child(7),
.ob-sessionTable td:nth-child(1) ul li:nth-child(8) {
  font-family: 'Bodoni Moda', serif;
}

.ob-sessionTable td:nth-child(1) ul li:nth-child(1),
.ob-sessionTable td:nth-child(1) ul li:nth-child(4) {
  font-size: 1.4rem;
  flex-basis: 18%;
  margin-left: 18px;
  justify-content: flex-start;
}

@media screen and (max-width: 1279px) {

  .ob-sessionTable td:nth-child(1) ul li:nth-child(1),
  .ob-sessionTable td:nth-child(1) ul li:nth-child(4) {
    font-size: 1.2rem;
    margin-left: 0;
  }
}

.ob-sessionTable td:nth-child(1) ul li:nth-child(2),
.ob-sessionTable td:nth-child(1) ul li:nth-child(5) {
  font-size: 2.8rem;
  font-weight: bold;
  flex-basis: 39%;
}

@media screen and (max-width: 1279px) {

  .ob-sessionTable td:nth-child(1) ul li:nth-child(2),
  .ob-sessionTable td:nth-child(1) ul li:nth-child(5) {
    font-size: 2rem;
  }
}

.ob-sessionTable td:nth-child(1) ul li:nth-child(3),
.ob-sessionTable td:nth-child(1) ul li:nth-child(6) {
  font-size: 1.5rem;
  flex-basis: 28%;
}

@media screen and (max-width: 1279px) {

  .ob-sessionTable td:nth-child(1) ul li:nth-child(3),
  .ob-sessionTable td:nth-child(1) ul li:nth-child(6) {
    font-size: 1.3rem;
  }
}

.ob-sessionTable td:nth-child(2) .cp-inner {
  height: 100%;
}

.ob-sessionTable td:nth-child(2) ul {
  display: flex;
  height: 100%;
}

@media screen and (max-width: 1279px) {
  .ob-sessionTable td:nth-child(2) ul {
    min-width: 560px;
    width: 100%;
  }
}

.ob-sessionTable td:nth-child(2) ul li {
  display: flex;
  align-items: center;
}

.ob-sessionTable td:nth-child(2) ul li:nth-child(1) {
  max-width: 220px;
  width: 100%;
  margin-left: 27px;
  margin-top: 1px;
  line-height: 2.133;
}

@media screen and (max-width: 1279px) {
  .ob-sessionTable td:nth-child(2) ul li:nth-child(1) {
    font-size: 1.3rem;
    max-width: 180px;
  }
}

.ob-sessionTable td:nth-child(2) ul li:nth-child(2) {
  font-size: 1.8rem;
  margin-top: -1px;
}

@media screen and (max-width: 1279px) {
  .ob-sessionTable td:nth-child(2) ul li:nth-child(2) {
    font-size: 1.6rem;
  }
}

.ob-sessionTable tr:nth-child(5) td:nth-child(1) ul {
  position: relative;
}

.ob-sessionTable tr:nth-child(5) td:nth-child(1) ul::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #ccc;
  top: 56px;
  left: 0;
}

@media screen and (max-width: 1279px) {
  .ob-sessionTable tr:nth-child(5) td:nth-child(1) ul::after {
    top: 45px;
  }
}

@media screen and (max-width: 1279px) {
  .page-session [data-area="content"] table.fr-table-border-horizontal {
    margin: 0;
  }
} */

/* 学校説明会・公開⾏事 */

/* 教科紹介 */
@media screen and (max-width: 1279px) {
  .subject3 {
    font-size: 1.3rem;
  }
}

.subject3 .lo-tops {
  margin: 0 0 35px;
}

.subject3 [data-area="content"] .cp-text-col1 {
  margin: 0 0 63px;
}

.subject3 .cp-text-col1 ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 20px 10px;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 1279px) {
  .subject3 .cp-text-col1 ul {
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
  }
}

.subject3 .cp-text-col1 ul li {
  width: 100%;
  border-radius: 1px;
  padding-left: 0;
  text-indent: 0 !important;
}

.subject3 .cp-text-col1 ul li::before {
  display: none;
}

.subject3 .cp-text-col1 ul li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2688BC;
  background: #e2f3f8;
  border: 1px solid #2688BC;
  border-radius: 2px;
  text-align: center;
  line-height: 1.4;
  height: 100%;
  transition: .2s;
  margin: 0;
  width: 100%;
  padding: 8.5px 0;
  font-size: 1.5rem;
  letter-spacing: 0;
  text-decoration: none;
}

.subject3 .cp-text-col1 ul li a:hover {
  background-color: #2688BC;
  color: #fff;
}


.ob-subjectMv {
  color: #fff;
  background-color: #2688BC;
  margin: 0 calc((100vw - 960px) / -2);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 139px;
}

@media screen and (min-width: 641px) and (max-width: 1279px) {
  .ob-subjectMv {
    margin: 0 -10px;
  }
}

@media screen and (max-width: 640px) {
  .ob-subjectMv {
    margin: 0 -10px;
    flex-direction: column-reverse;
  }
}

.ob-subjectMv-content {
  width: 480px;
  font-family: 'Noto serif JP', sans-serif;
}

@media screen and (min-width: 641px) and (max-width: 1279px) {
  .ob-subjectMv-content {
    width: calc(50vw - 10px);
  }
}

@media screen and (max-width: 640px) {
  .ob-subjectMv-content {
    min-height: 160px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    margin-left: 10px;
    margin: 10px 0;
  }

}

.ob-subjectMv-content__ttl {
  font-size: 4.8rem;
  margin-top: -3px;
  margin-bottom: 48px;
  letter-spacing: 0.12em;
  line-height: 1.4;
  transform: translateY(-1px);
}

@media screen and (min-width: 641px) and (max-width: 1279px) {
  .ob-subjectMv-content__ttl {
    font-size: 3rem;
    margin-bottom: 12px;
    margin-left: 10px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 640px) {
  .ob-subjectMv-content__ttl {
    font-size: 3rem;
    margin-bottom: 12px;
    margin-left: 10px;
    margin-right: 10px;
  }
}

.ob-subjectMv-content__text {
  font-size: 2rem;
  line-height: 2;
  transform: translateY(11px);
}

@media screen and (min-width: 641px) and (max-width: 1279px) {
  .ob-subjectMv-content__text {
    font-size: 1.6rem;
    line-height: 1.5;
    margin-left: 10px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 640px) {
  .ob-subjectMv-content__text {
    font-size: 1.6rem;
    line-height: 1.5;
    margin-left: 10px;
    margin-right: 10px;
  }
}

.ob-subjectMv-img {
  width: 50vw;
  object-fit: cover;
}

@media screen and (max-width: 640px) {
  .ob-subjectMv-img {
    width: 100vw;
  }
}

@media only screen and (min-width: 640px) and (max-width:1279px) {
  .ob-subjectMv-img img {
    min-height: 200px;
    object-fit: cover;
  }
}

@media screen and (max-width: 640px) {
  .ob-subjectMv-img img {
    height: 160px;
    object-fit: cover;
  }
}

.ob-subjectMv+.cp-h2-text {
  margin-bottom: 83px;
}

@media screen and (max-width: 1279px) {
  .ob-subjectMv+.cp-h2-text {
    margin-bottom: 24px;
  }
}

@media only screen and (max-width: 1279px) {
  .subject3 [data-area="content"] .cp-horizontal .cp-horizontal-item.cp-ti-r {
    flex-direction: column;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 1279px) {
  .subject3 [data-area="content"] .cp-horizontal.cp-all {
    margin: 0 0 36px;
  }

  .subject3 [data-area="content"] .cp-horizontal.cp-all:last-child {
    margin: 0;
  }

  .subject3 [data-area="content"] .cp-h2-text+.cp-horizontal.cp-all {
    margin: 0;
  }
}

@media screen and (max-width: 1279px) {
  .subject3 .cp-ti-img {
    width: 100%;
    margin: 32px auto;
  }
}

.subject3 [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text {
  line-height: 1.875;
}

.subject3 [data-area="content"] .cp-horizontal .cp-h4-text {
  letter-spacing: 0;
}

@media screen and (max-width: 1279px) {
  .subject3 [data-area="content"] .cp-horizontal .cp-h4-text {
    margin-bottom: 20px;
  }
}

.subject3 [data-area="content"] .cp-horizontal .cp-h4-text:nth-child(2) {
  margin-top: 95px;
}

@media screen and (max-width: 1279px) {
  .subject3 [data-area="content"] .cp-horizontal .cp-h4-text:nth-child(2) {
    margin-top: 40px;
  }
}

.subject3 [data-area="content"] .cp-horizontal .cp-h4-text:nth-child(3) {
  margin-top: 68px;
}

@media screen and (max-width: 1279px) {
  .subject3 [data-area="content"] .cp-horizontal .cp-h4-text:nth-child(3) {
    margin-top: 40px;
  }
}

.subject3 [data-area="content"] span.fr-img-caption,
.subject3 [data-area="content"] span.fr-img-caption .fr-img-wrap {
  margin: 0;
}

.subject3 [data-area="content"] span.fr-img-caption:first-child {
  margin-bottom: 27px;
}

@media screen and (max-width: 1279px) {
  .subject3 [data-area="content"] span.fr-img-caption:first-child {
    margin-bottom: 0;
  }
}

.subject3 [data-area="content"] span.fr-img-caption .fr-img-wrap span.fr-inner {
  text-align-last: left;
}

.subject3 .ob-exbox+.cp-h2-text {
  margin-bottom: 64px;
}

@media screen and (max-width: 1279px) {
  .subject3 .ob-exbox+.cp-h2-text {
    margin-bottom: 8px;
  }
}

.subject3 .cp-h2-text+.cp-h3-text,
.subject3 .tableHiddenBox+.cp-h3-text {
  margin-bottom: 31px;
}

@media screen and (max-width: 1279px) {

  .subject3 .cp-h2-text+.cp-h3-text,
  .subject3 .tableHiddenBox+.cp-h3-text {
    margin-bottom: 8px;
  }
}

.subject3 table {
  margin-top: 24px;
}

@media screen and (max-width: 1279px) {
  .subject3 table {
    margin-top: 8px;
  }
}

.subject3 table.is-no1 {}

.subject3 table.is-no2 {
  margin-bottom: 26px;
}

.subject3 table.is-no3 {
  margin-bottom: 89px;
}

@media screen and (max-width: 1279px) {

  .subject3 table.is-no1,
  .subject3 table.is-no2,
  .subject3 table.is-no3 {
    margin-bottom: 0;
  }
}

.subject3 table tr td {
  padding: 7.5px 10px;
}

@media screen and (max-width: 1279px) {
  .subject3 table tr td {
    font-size: 1.3rem;
  }
}

.subject3 table tr td:first-child {
  width: 10.9%;
}

.subject3 table tr td:not(:first-child) {
  width: 12.6%;
}

.subject3 table tr:nth-child(2) td,
.subject3 table tr:nth-child(3) td,
.subject3 table tr:nth-child(4) td {
  padding: 12px 9px;
}

@media screen and (max-width: 1279px) {

  .subject3 table tr:nth-child(2) td,
  .subject3 table tr:nth-child(3) td,
  .subject3 table tr:nth-child(4) td {
    padding: 8px 48px 8px 8px;
  }
}

.subject3 table.is-no2 tr:nth-child(3) td:nth-child(5) {
  position: relative;
}

/*
.subject3 table.is-no2 tr:nth-child(3) td:nth-child(5)::after {
  content: "カナダ\A留学";
  display: block;
  position: absolute;
  background-color: #E2F3F8;
  white-space: pre;
  width: 70px;
  height: 100%;
  top: 0;
  right: -35px;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  padding: 10px;
}
*/

.subject3 table.is-no2 tr:nth-child(3) td:nth-child(6) {
  padding-left: 42px;
}

.subject3 .tableHiddenBox+.cp-h2-text {
  margin-top: 0;
  margin-bottom: 46px;
}

@media screen and (max-width: 1279px) {
  .subject3 .tableHiddenBox+.cp-h2-text {
    margin-top: 40px;
    margin-bottom: 0;
  }
}

.subject3 [data-area="content"] .lead3 {
  font-size: 2.8rem;
  letter-spacing: 0.095em;
  margin-bottom: 22px;
}

@media screen and (max-width: 1279px) {
  .subject3 [data-area="content"] .lead3 {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 1279px) {
  .subject3 .ob-3tui1 {
    margin: 32px 0 0;
  }
}


@media screen and (max-width: 1279px) {
  .subject3 .ob-3tui1.is-imgRight .ob-3tui1__inner {
    flex-direction: column;
  }
}

.subject3 .ob-3tui1__img {
  margin-top: 91px;
}

@media screen and (max-width: 1279px) {
  .subject3 .ob-3tui1__img {
    margin-top: 40px;
  }
}

.page-index.subject3 [data-area="content"] .ob-3tui1__img span.fr-img-caption .fr-img-wrap span.fr-inner {
  padding-top: 9px;
}

/* //教科紹介 */

/* 3つのコース */
.course3 .lo-tops {
  padding: 0 0 12px;
}

.course3 .cp-anchor-menu-03 {
  margin-bottom: 60px;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-anchor-menu-03 {
    margin-bottom: 24px;
  }
}

.course3 .cp-anchor-menu-03 a {
  color: #2688BC;
  background: #e2f3f8;
  letter-spacing: 0;
}

.course3 .cp-anchor-menu-03 a:hover {
  background-color: #2688BC;
  color: #fff;
}

.course3 .ob-courseMv {
  color: #fff;
  background-color: #E3322E;
  margin: 0 calc((100vw - 960px) / -2) 50px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

@media only screen and (min-width: 641px) and (max-width:1279px) {
  .course3 .ob-courseMv {
    margin: 0 -10px;
  }
}

@media screen and (max-width: 640px) {
  .course3 .ob-courseMv {
    margin: 0 -10px;
    flex-direction: column-reverse;
  }
}

/* グローバル留学コース */
.page-global .ob-courseMv {
  background-color: #41AAA6;
}

/* //グローバル留学コース */

/* スーパーサイエンスコース */
.page-science .ob-courseMv {
  background-color: #2688BC;
}

/* //スーパーサイエンスコース */

.course3 .ob-courseMv-content {
  width: 480px;
  font-family: 'Noto serif JP', sans-serif;
  font-size: 4.8rem;
  margin-top: -70px;
}

@media only screen and (min-width: 641px) and (max-width:1279px) {
  .course3 .ob-courseMv-content {
    width: calc(50vw - 10px);
    margin-top: 0;
  }
}

@media screen and (max-width: 640px) {
  .course3 .ob-courseMv-content {
    width: 100%;
    min-height: 140px;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 12px 0;
  }
}

.page-index.course3 .ob-courseMv-content__icon {
  margin-left: -1px;
  width: 155px;
}
@media only screen and (max-width: 1279px) {
  .page-index.course3 .ob-courseMv-content__icon {
    max-width: 120px;
    margin-left: 10px;
  }
}

.page-global.course3 .ob-courseMv-content__icon {
  margin-left: -1px;
  width: 259px;
}
@media only screen and (max-width: 1279px) {
  .page-global.course3 .ob-courseMv-content__icon {
    max-width: 209px;
    margin-left: 10px;
  }
}

.page-science.course3 .ob-courseMv-content__icon {
  margin-left: -1px;
  width: 194px;
}
@media only screen and (max-width: 1279px) {
  .page-science.course3 .ob-courseMv-content__icon {
    max-width: 148px;
    margin-left: 10px;
  }
}

.course3 .ob-courseMv-content__text {
  letter-spacing: 0.1em;
  line-height: 1.2;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .course3 .ob-courseMv-content__text {
    font-size: 3rem;
    margin-left: 10px;
  }
}

@media screen and (max-width: 640px) {
  .course3 .ob-courseMv-content__text {
    font-size: 3rem;
    margin-left: 10px;
    margin-top: 1px;
  }
}

.course3 .ob-courseMv-img {
  width: 50vw;
  object-fit: cover;
}

@media screen and (max-width: 640px) {
  .course3 .ob-courseMv-img {
    width: 100vw;
  }
}

@media only screen and (min-width: 641px) and (max-width:1279px) {
  .course3 .ob-courseMv-img img {
    min-height: 200px;
    object-fit: cover;
  }
}

.course3 .cp-anchor-menu-04 {
  margin-bottom: 73px;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-anchor-menu-04 {
    margin-top: 32px;
    margin-bottom: 24px;
  }
}

.course3 .cp-anchor-menu-04+strong {
  font-size: 2.8rem;
  line-height: 2;
  font-weight: 500;
  color: #2660BC;
  text-align: center;
  letter-spacing: .1em;
  font-family: 'Noto serif JP', sans-serif;
  margin: 34px auto 65px;
  display: block;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-anchor-menu-04+strong {
    font-size: 2rem;
    line-height: 1.75;
    margin: 30px 0 12px;
    letter-spacing: 0;
  }
}

.course3 strong+.cp-text-col1 {
  line-height: 1.875;
  margin-bottom: 33px;
}

@media screen and (max-width: 1279px) {
  .course3 strong+.cp-text-col1 {
    margin-bottom: 20px;
  }
}

.course3 strong+.cp-text-col1+.cp-text-col1 {
  line-height: 1.875;
  font-size: 1.5rem;
  margin-top: 0;
  margin-bottom: 18px;
}

.course3 .cp-text-col1+.cp-text-col2 {
  border: none !important;
  margin-top: 0;
  margin-bottom: 100px !important;
  padding: 0 !important;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-text-col1+.cp-text-col2 {
    margin-bottom: 32px !important;
  }
}

.course3 .cp-text-col1+.cp-text-col2 .cp-text-l {
  background-color: #E3322E;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 240px;
  border-radius: 4px;
  position: relative;
  margin-right: 8px;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-text-col1+.cp-text-col2 .cp-text-l {
    width: 100%;
    padding: 16px 0;
  }
}

.course3 .cp-text-col1+.cp-text-col2 .cp-text-l::before,
.course3 .cp-text-col1+.cp-text-col2 .cp-text-l::after {
  display: block;
  content: "";
  position: absolute;
  background-color: #E3322E;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  width: 9px;
  height: 15px;
  right: -8px;
}

@media screen and (max-width: 1279px) {

  .course3 .cp-text-col1+.cp-text-col2 .cp-text-l::before,
  .course3 .cp-text-col1+.cp-text-col2 .cp-text-l::after {
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    width: 15px;
    height: 9px;
    right: 50%;
    transform: translateY(-50%);
  }
}

.course3 .cp-text-col1+.cp-text-col2 .cp-text-l::before {
  top: 18px;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-text-col1+.cp-text-col2 .cp-text-l::before {
    display: none;
  }
}

.course3 .cp-text-col1+.cp-text-col2 .cp-text-l::after {
  bottom: 18px;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-text-col1+.cp-text-col2 .cp-text-l::after {
    bottom: -13px;
  }
}

.course3 [data-area="content"] .cp-text-col1+.cp-text-col2 .cp-text-r {
  width: 704px;
}

@media screen and (max-width: 1279px) {
  .course3 [data-area="content"] .cp-text-col1+.cp-text-col2 .cp-text-r {
    width: 100%;
  }
}

@media screen and (max-width: 1279px) {
  .course3 .cp-text-col1+.cp-text-col2 .cp-text-r ul {
    margin: 0;
  }
}

.course3 .cp-text-col1+.cp-text-col2 .cp-text-r li:nth-child(1) {
  background-color: #D3E7F2;
  border-radius: 4px;
  border: 1px solid #2688BC;
  padding: 9px 0 9px 29px;
  margin-bottom: 3px;
  width: 704px;
  text-indent: 0;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-text-col1+.cp-text-col2 .cp-text-r li:nth-child(1) {
    width: 100%;
    padding: 8px;
  }
}

.course3 .cp-text-col1+.cp-text-col2 .cp-text-r li:nth-child(2) {
  background-color: #D9EEED;
  border-radius: 4px;
  border: 1px solid #41AAA6;
  padding: 9px 0 9px 29px;
  width: 480px;
  text-indent: 0;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-text-col1+.cp-text-col2 .cp-text-r li:nth-child(2) {
    width: 100%;
    padding: 8px;
  }
}

.course3 .cp-text-col1+.cp-text-col2 .cp-text-r li::before {
  display: none;
}

.course3 .cp-text-col2+.cp-h2-text {
  margin-bottom: 30px;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-text-col2+.cp-h2-text {
    margin-bottom: 32px;
  }
}

.course3 .cp-text-col2 {
  border-top: 1px solid #ccc;
  padding-top: 30px;
  margin-top: 0;
  margin-bottom: 30px;
}

.course3 .cp-text-col2 .cp-h4-text {
  margin: 0;
}

.course3 .cp-h2-text+.cp-text-col2 {
  border: none !important;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-h2-text+.cp-text-col2 {
    padding: 0;
  }
}

.course3 .ob-exbox {
  margin: 97px 0 57px;
  padding: 94px 0 86px;
}

@media screen and (max-width: 1279px) {
  .course3 .ob-exbox {
    margin: 24px 0;
    padding: 24px 0;
  }
}

.course3 .ob-exbox .cp-h2-text {
  margin-bottom: 75px;
}

@media screen and (max-width: 1279px) {
  .course3 .ob-exbox .cp-h2-text {
    margin-bottom: 32px;
  }
}

.course3 .ob-exbox .cp-h3-text {
  margin: 0 -100px 50px;
}

@media screen and (max-width: 1279px) {
  .course3 .ob-exbox .cp-h3-text {
    margin: 0 0 24px;
  }
}

.course3 .ob-exbox__content {
  height: 496px;
}

@media screen and (max-width: 1279px) {
  .course3 .ob-exbox__content {
    height: auto;
  }
}

.course3 .ob-exbox__content-ttl span {
  display: block;
}

.course3 .ob-programbox {
  margin: 41px 0 44px;
}

@media screen and (max-width: 1279px) {
  .course3 .ob-programbox {
    margin: 32px 0 20px;
  }
}

.course3 .ob-programbox__content {
  margin-bottom: 31px;
}

.course3 .ob-programbox__content:nth-child(7) {
  margin-top: 5px;
}

.course3 .ob-programbox__content:nth-child(7) .ob-programbox__content-ttl {
  padding-left: 20px;
}

.course3 .ob-programbox__content:nth-child(7) .ob-programbox__content-ttl--main {
  letter-spacing: 0.08em;
}

.course3 .ob-programbox__content:nth-child(7) .ob-programbox__content-ttl--sub {
  padding-left: 3px;
  letter-spacing: 0.05em;
}

.course3 [data-area="content"] .cp-horizontal {
  margin-top: 36px;
}

@media screen and (max-width: 1279px) {
  .course3 [data-area="content"] .cp-horizontal {
    margin: 0;
  }
}

.course3 [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text {
  letter-spacing: 0;
  line-height: 1.875;
}

@media screen and (max-width: 1279px) {
  .course3 [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 1279px) {
  .course3 .cp-h3-text+.cp-h4-text {
    margin: 24px 0;
  }
}

.course3 .cp-ti+.cp-h4-text {
  margin-top: 60px;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-ti+.cp-h4-text {
    margin-top: 16px;
  }
}

.course3 .cp-ti+.cp-h4-text+.cp-ti {
  margin-top: 35px;
  margin-bottom: 102px;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-ti+.cp-h4-text+.cp-ti {
    margin-bottom: 48px;
  }
}

.course3 .cp-ti+.cp-h2-text {
  margin-bottom: 58px;
}

@media screen and (max-width: 1279px) {
  .course3 .cp-ti+.cp-h2-text {
    margin-bottom: 24px;
  }
}

@media screen and (max-width: 1279px) {
  .course3 [data-area="content"] .cp-text-col3 .cp-text-l {
    margin-bottom: 0;
  }
}

.course3 .cp-text-col3 ul {
  margin: 0;
}

.course3 .cp-text-col3 li {
  padding-left: 0;
  text-indent: 0;
  margin-bottom: 2px;
}

.course3 .cp-text-col3 li::before {
  display: none;
}

.course3 [data-area="content"] .cp-text-col3 .cp-text .cp-text-l {
  margin-right: 30px;
}

@media screen and (max-width: 1279px) {
  .course3 [data-area="content"] .cp-text-col3.cp-all {
    margin: 16px 0 0;
  }
}


/* 在校生・保護者の方へ */
.page-student .cp-text-col1 {
  margin-bottom: 0;
}

.page-student .cp-it-horizontal-wp-col1 {
  margin: 32px 0 80px;
  padding: 30px 16px;
}

@media screen and (max-width: 1279px) {
  .page-student .cp-it-horizontal-wp-col1 {
    margin: 24px 0 40px;
    padding: 16px;
  }
}

.page-student [data-area="content"] .cp-it.cp-horizontal .cp-horizontal-text {
  margin-left: 26px;
  margin-top: -1px;
  letter-spacing: 0em;
}

@media screen and (max-width: 1279px) {
  .page-student [data-area="content"] .cp-it.cp-horizontal .cp-horizontal-text {
    margin-left: 0;
    margin-bottom: 0;
    width: auto;
  }
}

.page-student [data-area="content"] .cp-horizontal .cp-horizontal-item {
  align-items: center;
}

@media screen and (max-width: 1279px) {
  .page-student [data-area="content"] .cp-horizontal .cp-horizontal-item {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px 26px;
  }
}

.page-student [data-area="content"] .cp-horizontal .cp-horizontal-img {
  width: 100%;
  max-width: 320px;
}

.page-student .cp-it-horizontal-wp-col1+.cp-h3-text {
  margin-bottom: 38px;
}

@media screen and (max-width: 1279px) {
  .page-student .cp-it-horizontal-wp-col1+.cp-h3-text {
    margin: 24px 0;
  }
}

.page-student .tableHiddenBox {
  margin-top: -18px;
}

@media screen and (max-width: 1279px) {
  .page-student .tableHiddenBox {
    margin-top: 8px;
  }
}

.page-student td:nth-child(1) {
  padding: 15px 20px;
}

.page-student td:nth-child(2) {
  padding: 15px 28px;
}

.page-student .ob-underNews+.cp-h3-text+.cp-text-col1+.cp-it .cp-it-img {
  max-width: 320px;
  max-height: 60px;
}

.page-student .cp-it-img img {
  max-width: 320px;
  max-height: 60px;
}

.page-student table tr:nth-child(3) td:nth-child(1) {
  letter-spacing: -0.02em;
}

.page-student table tr:nth-child(3) a:nth-child(1)::after {
  display: none;
}

.page-student .tableHiddenBox+.cp-h3-text {
  margin-top: 30px;
}

@media screen and (max-width: 1279px) {
  .page-student .tableHiddenBox+.cp-h3-text {
    margin: 24px 0;
  }
}

.page-student .tableHiddenBox+.cp-h3-text+.cp-text-col1+.cp-it-horizontal-wp-col1 {
  margin: 20px 0 120px;
}

@media screen and (max-width: 1279px) {
  .page-student .tableHiddenBox+.cp-h3-text+.cp-text-col1+.cp-it-horizontal-wp-col1 {
    margin: 24px 0 40px;
  }
}

/* //在校生・保護者の方へ */

/* 受験生の方へ */
@media screen and (max-width: 1279px) {
  .page-exam [data-area="content"] .cp-h3-text {
    margin: 32px 0 20px;
  }
}

.page-exam .ob-underNews+.cp-btn-03 {
  margin: 89px -100px 80px;
  padding: 40px 100px 21px;
  justify-content: space-between;
  background-color: #CFEEF5;
}

@media screen and (max-width: 1279px) {
  .page-exam .cp-btn-03 {
    margin: 24px -10px 24px;
    padding: 24px 10px;
  }
}

.page-exam .ob-underNews+.cp-btn-03 li a {
  text-align: center;
  padding: 24px 0;
}

.page-exam .cp-btn-03 li {
  max-width: 310px;
  width: 100%;
}

@media screen and (max-width: 1279px) {
  .page-exam .cp-btn-03 li {
    max-width: 100%;
  }
}

.page-exam .cp-h3-text+.cp-btn-03 {
  margin-top: 33px;
}

.page-exam .cp-h3-text+.cp-btn-03+.cp-btn-03 {
  margin-top: -41px;
}

.page-exam .cp-h3-text+.cp-btn-03+.cp-btn-03+.cp-btn-03 {
  margin-top: -41px;
}

@media screen and (max-width: 1279px) {

  .page-exam .cp-h3-text+.cp-btn-03,
  .page-exam .cp-h3-text+.cp-btn-03+.cp-btn-03,
  .page-exam .cp-h3-text+.cp-btn-03+.cp-btn-03+.cp-btn-03 {
    margin: 0;
    padding: 0;
  }
}

.page-exam .cp-btn-03+.cp-text-col1 {
  margin-top: -32px;
  margin-bottom: 73px;
}

@media screen and (max-width: 1279px) {
  .page-exam .cp-btn-03+.cp-text-col1 {
    margin-top: 16px;
    margin-bottom: 32px;
  }
}

.page-exam .cp-btn-03+.cp-text-col1 a {
  display: inline-flex;
  width: auto;
  align-items: center;
  gap: 16px;
  color: #2660bc;
  letter-spacing: 0;
  text-decoration: none;
  position: relative;
}

.page-exam .cp-btn-03+.cp-text-col1 a::after {
  position: absolute;
  bottom: 4px;
  left: 64px;
  content: '';
  width: calc(100% - 80px);
  height: 1px;
  background: #2660bc;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

@media screen and (min-width: 1280px) {
  .page-exam .cp-btn-03+.cp-text-col1 a:hover::after {
    transform: scale(1.1);
  }
}

.page-exam .cp-btn-03+.cp-text-col1 a img {
  max-width: 50px;
}

.page-exam .cp-it-vertical-col3 {
  font-size: 1.5rem;
  margin-top: 39px;
  margin-bottom: 120px;
}

@media screen and (max-width: 1279px) {
  .page-exam .cp-it-vertical-col3 {
    margin-top: 20px;
    margin-bottom: 40px;
  }
}

.page-exam .cp-it-vertical-col3 .cp-vertical-l {
  margin-right: 30px;
}

.page-exam .cp-it-vertical-col3 ul {
  margin: 0;
}

.page-exam .cp-it-vertical-col3 ul li {
  text-indent: 0;
  padding-left: 0;
}

.page-exam .cp-it-vertical-col3 ul li::before {
  display: none;
}

.page-exam .cp-it-vertical-col3 a {
  display: block;
  background-color: #2688BC;
  color: #fff;
  border: 1px solid #fff;
  font-size: 1.6rem;
  border-radius: 50px;
  text-align: center;
  padding: 5px;
  position: relative;
  text-decoration: none;
}

@media screen and (max-width: 1279px) {
  .page-exam .cp-it-vertical-col3 a {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 1280px) {
  .page-exam .cp-it-vertical-col3 a:hover {
    background-color: #fff;
    border: 1px solid #2688BC;
    color: #2688bc;
  }

  .page-exam .cp-it-vertical-col3 a:hover::before {
    border-color: #2688bc;
  }
}


.page-exam .cp-it-vertical-col3 a::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% + -1px);
  right: 23px;
  width: 9px;
  height: 9px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg) translateY(-50%);
  transition: 0.2s;
}

@media screen and (max-width: 1279px) {
  .page-exam .cp-it-vertical-col3 a::after {
    right: 16px;
  }
}

.page-exam .cp-it-vertical-col3 a::after {
  display: none;
}

.page-exam .cp-it-vertical-col3 a:hover::after {
  border-top: 1px solid #2688BC;
  border-right: 1px solid #2688BC;
}

.page-exam .cp-it-vertical-col3 li {
  margin-top: 9px;
}

.page-exam .cp-it-vertical-col3 .cp-it-img {
  margin-top: 0;
  max-height: 403px;
  height: 100vh;
}

@media screen and (max-width: 1279px) {
  .page-exam .cp-it-vertical-col3 .cp-it-img {
    max-height: inherit;
    height: 100%;
  }
}

.page-exam [data-area="content"] .cp-it.cp-vertical .cp-vertical-text {
  margin-top: 14px;
  padding-top: 14px;
}

@media screen and (max-width: 1279px) {
  .page-exam [data-area="content"] .cp-it.cp-vertical .cp-vertical-text {
    margin-top: 0;
  }
}

.page-exam .cp-it-vertical-col3 li:first-child {
  margin-top: 31px;
}

@media screen and (max-width: 1279px) {
  .page-exam .cp-it-vertical-col3 li:first-child {
    margin-top: 12px;
  }
}

/* //受験生の方へ */

/* 進路の３つのポイント */
.page-go-on-to [data-area="content"] .cp-anchor-menu:first-child {
  margin-top: 11px;
}

.page-go-on-to .cp-anchor-menu-03 a {
  letter-spacing: 0;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to [data-area="content"] .cp-h2-text {
    margin-bottom: 24px;
  }
}

.page-go-on-to .cp-text-col1 {
  margin-top: 68px;
  line-height: 1.875;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to .cp-text-col1 {
    margin-top: 24px;
  }
}

.page-go-on-to .cp-text-col3 {
  justify-content: space-between;
  max-width: 950px;
  margin-bottom: 67px;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .page-go-on-to .cp-text-col3 {
    flex-direction: row;
    max-width: 100%;
    gap: 12px;
    margin-bottom: 32px;
  }
}

@media screen and (max-width: 640px) {
  .page-go-on-to .cp-text-col3 {
    flex-direction: column;
    max-width: 100%;
    gap: 12px;
    margin-bottom: 32px;
  }
}


.page-go-on-to .cp-text-col3 .cp-text-item:first-child {
  margin-left: 10px;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .page-go-on-to .cp-text-col3 .cp-text-item:first-child {
    margin-left: 0;
  }
}

@media only screen and (max-width: 640px) {
  .page-go-on-to .cp-text-col3 .cp-text-item:first-child {
    margin-left: 0;
  }
}

.page-go-on-to .cp-text-col3 .cp-text-item {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 2.2;
  letter-spacing: 0;
  text-align: center;
  max-width: 280px;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .page-go-on-to .cp-text-col3 .cp-text-item {
    font-size: 1.6rem;
    line-height: 2;
    max-width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .page-go-on-to .cp-text-col3 .cp-text-item {
    font-size: 1.5rem;
    line-height: 2;
    max-width: 100%;
  }
}

.page-go-on-to .cp-text-col3 .cp-text-item .cp-hr-100 {
  border-color: #2660bc;
  margin: -50px -10px 18px;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .page-go-on-to .cp-text-col3 .cp-text-item .cp-hr-100 {
    margin: -44px 0 10px;
  }
}

@media only screen and (max-width: 640px) {
  .page-go-on-to .cp-text-col3 .cp-text-item .cp-hr-100 {
    margin: -44px 0 10px;
  }
}

.page-go-on-to .cp-text-col3 .cp-text-item strong:first-child {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.3rem;
  font-weight: normal;
  color: #2660bc;
  display: block;
  margin-top: -4px;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .page-go-on-to .cp-text-col3 .cp-text-item strong:first-child {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 640px) {
  .page-go-on-to .cp-text-col3 .cp-text-item strong:first-child {
    font-size: 1.1rem;
  }
}

.page-go-on-to .cp-text-col3 .cp-text-item strong:nth-child(3) {
  font-family: 'Bodoni Moda', serif;
  font-size: 4.4rem;
  font-weight: normal;
  color: #2660bc;
  display: block;
  margin-top: -64px;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .page-go-on-to .cp-text-col3 .cp-text-item strong:nth-child(3) {
    font-size: 4rem;
    margin-top: -48px;
  }
}

@media screen and (max-width: 640px) {
  .page-go-on-to .cp-text-col3 .cp-text-item strong:nth-child(3) {
    font-size: 4rem;
    margin-top: -48px;
  }
}

.page-go-on-to .cp-text-col3 .cp-text-item strong:last-child span {
  position: relative;
  display: inline-block;
  z-index: 1;
  height: 36px;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .page-go-on-to .cp-text-col3 .cp-text-item strong:last-child span {
    max-height: 28px;
  }
}

@media screen and (max-width: 640px) {
  .page-go-on-to .cp-text-col3 .cp-text-item strong:last-child span {
    max-height: 28px;
  }
}

.page-go-on-to .cp-text-col3 .cp-text-item strong:last-child span::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  z-index: -1;
  background: linear-gradient(180deg, #fff 0%, #fff 65%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 0) 100%);
}

.page-go-on-to .cp-text-col3 .cp-text-l {
  margin-right: 30px;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .page-go-on-to .cp-text-col3 .cp-text-l {
    margin-right: 0;
  }
}

@media screen and (max-width: 640px) {
  .page-go-on-to .cp-text-col3 .cp-text-l {
    margin-right: 0;
  }
}

.page-go-on-to .cp-text-col2 {
  gap: 29px;
  align-items: center;
  margin-bottom: 20px;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to .cp-text-col2 {
    gap: 0;
  }
}

.page-go-on-to .cp-text-col2 .cp-text-l {
  max-width: 310px;
  width: 100%;
  padding: 31px 0;
  margin-right: 0;
  font-size: 2rem;
  font-family: "Noto Serif JP", serif;
  background-color: #DCEBF4;
  border: 1px solid #2688BC;
  text-align: center;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to .cp-text-col2 .cp-text-l {
    max-width: 100%;
    font-size: 1.7rem;
    padding: 10px 0;
  }
}

.page-go-on-to .cp-text-col2 .cp-text-r {
  max-width: 620px;
  width: 100%;
  margin-top: -8px;
  line-height: 1.875;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to .cp-text-col2 .cp-text-r {
    max-width: 100%;
  }
}

.page-go-on-to .cp-text-col2+.cp-text-wp-col1 {
  margin-top: 20px;
  padding: 57px 40px 55px;
  margin-bottom: 60px;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to .cp-text-col2+.cp-text-wp-col1 {
    padding: 20px 15px;
    margin-bottom: 32px;
  }
}

.page-go-on-to .cp-text-col2+.cp-text-wp-col1 .cp-h4-text {
  margin-bottom: 16px;
}

.page-go-on-to .cp-text-wp-col1+.button1 {
  margin-top: -29px;
  margin-bottom: 107px;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to .cp-text-wp-col1+.button1 {
    margin-top: -10px;
    margin-bottom: 32px;
  }
}

.page-go-on-to .cp-ti-horizontal-col1 {
  margin-top: 64px;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to .cp-ti-horizontal-col1 {
    margin-top: 32px;
    margin-bottom: 0;
  }
}

.page-go-on-to .cp-ti-horizontal-col1 .cp-h4-text {
  letter-spacing: 0;
  line-height: 2;
  padding-top: 0;
  margin-bottom: 28px;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to .cp-ti-horizontal-col1 .cp-h4-text {
    line-height: 1.6;
  }
}

.page-go-on-to [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text {
  letter-spacing: 0;
  line-height: 1.875;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text {
    margin-top: 24px;
  }
}

.page-go-on-to .cp-ti-horizontal-col1 .cp-ti-img {
  margin-top: -13px;
}

.page-go-on-to .cp-ti-horizontal-col1 .button1 {
  margin-top: 24px;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to .cp-ti-horizontal-col1 .button1 {
    margin-bottom: 0;
  }
}

.page-go-on-to .cp-ti-horizontal-col1 .button1 a {
  letter-spacing: -0.06em;
}

.page-go-on-to .cp-ti-horizontal-col1+.cp-h2-text {
  margin-top: 75px;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to .cp-ti-horizontal-col1+.cp-h2-text {
    margin-top: 8px;
    margin-bottom: 24px;
  }
}

.page-go-on-to .cp-ti-horizontal-col1+.cp-h2-text+.cp-ti-horizontal-col1 {
  margin-top: 51px;
  margin-bottom: 10px;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to .cp-ti-horizontal-col1+.cp-h2-text+.cp-ti-horizontal-col1 {
    margin-top: 24px;
  }
}

.page-go-on-to .cp-ti-horizontal-col1+.cp-h2-text+.cp-ti-horizontal-col1 .cp-ti-img {
  margin-top: 0;
}

.page-go-on-to .cp-ti-horizontal-col1+.cp-h4-text {
  margin-top: 10px;
}

.page-go-on-to table {
  margin-top: 0;
  margin-bottom: 0;
}

.page-go-on-to td:first-child {
  padding: 17px 0 17px 20px;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 1279px) {
  .page-go-on-to td:first-child {
    padding: 15px 10px;
  }
}


.page-go-on-to td:nth-child(2) {
  padding: 17px 0 17px 25px;
  letter-spacing: 0.07em;
}

/* //進路の３つのポイント */

/* １日の流れ */
.ob-day {
  display: grid;
  margin: 11px -100px 0;
  grid-template-columns: 1fr 1fr;
}

@media screen and (max-width: 1279px) {
  .ob-day {
    grid-template-columns: 1fr;
    justify-items: center;
    margin: 11px 0 0;
    gap: 24px;
  }
}

/* 左側 */
.ob-dayLeft {
  display: flex;
}

@media screen and (max-width: 640px) {
  .ob-dayLeft {
    width: 100%;
  }
}

.ob-timeBox {
  margin-top: -4px;
  margin-right: 46px;
  font-weight: bold;
  color: #2688bc;
  font-size: 2rem;
}

@media screen and (max-width: 640px) {
  .ob-timeBox {
    font-size: 1.6rem;
    margin-right: 20px;
  }
}

.ob-timeBox__content:first-child {
  margin-bottom: 163px;
}

.ob-timeBox__content:nth-child(2) {
  margin-bottom: 162px;
}

.ob-timeBox__content:nth-child(3) {
  margin-bottom: 162px;
}

.ob-timeBox__content:nth-child(4) {
  margin-bottom: 163px;
}

.ob-timeBox__content:nth-child(5) {
  margin-bottom: 162px;
}

.ob-timeBox__content:nth-child(6) {
  margin-bottom: 163px;
}

.ob-timeBox__content:nth-child(7) {
  margin-bottom: 162px;
}

.ob-timeBox__content:nth-child(8) {
  margin-bottom: 162px;
}

.ob-timeBox__content:nth-child(9) {
  margin-bottom: 163px;
}

.ob-timeBox__content:nth-child(10) {
  margin-bottom: 162px;
}

.ob-barBox {
  background-color: #f0f4f5;
  width: 120px;
  margin-top: 10px;
  margin-right: 82px;
  margin-bottom: 4px;
}

@media screen and (max-width: 640px) {
  .ob-barBox {
    max-width: 60px;
    width: 100%;
    margin-right: 20px;
  }
}

.ob-actionBox {
  font-size: 1.5rem;
  margin-top: -2px;
}

@media screen and (max-width: 640px) {
  .ob-actionBox {
    font-size: 1.3rem;
  }
}

.ob-actionBox__content {
  position: relative;
}

.ob-actionBox__content::before {
  position: absolute;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #2688bc;
  top: 7px;
  left: -148px;
  transform: translate(-50% -50%);
  z-index: 5;
}

@media screen and (max-width: 640px) {
  .ob-actionBox__content::before {
    width: 10px;
    height: 10px;
    left: -53px;
    top: 6px;
  }
}

.ob-actionBox__content::after {
  position: absolute;
  content: "";
  display: block;
  width: 132px;
  height: 1px;
  background-color: #555;
  top: 13px;
  left: -142px;
}

@media screen and (max-width: 640px) {
  .ob-actionBox__content::after {
    max-width: 40px;
    width: 100%;
    left: -50px;
    top: 11px;
  }
}

.ob-actionBox__content:first-child {
  margin-bottom: 15px;
}

.ob-actionBox__content:nth-child(2) {
  margin-bottom: 172px;
}

.ob-actionBox__content:nth-child(3) {
  margin-bottom: 136px;
}

@media screen and (max-width: 640px) {
  .ob-actionBox__content:nth-child(3) {
    margin-bottom: 126px;
  }
}

.ob-actionBox__content:nth-child(4) {
  margin-bottom: 13px;
}

.ob-actionBox__content:nth-child(5) {
  margin-bottom: 154px;
}

.ob-actionBox__content:nth-child(6) {
  margin-bottom: 148px;
}

.ob-actionBox__content:nth-child(7) {
  margin-bottom: 132px;
}

.ob-actionBox__content:nth-child(8) {
  margin-bottom: 148px;
}

.ob-actionBox__content:nth-child(9) {
  margin-bottom: 123px;
}

.ob-actionBox__content:nth-child(10) {
  margin-bottom: 55px;
}

@media screen and (max-width: 640px) {
  .ob-actionBox__content:nth-child(10) {
    margin-bottom: 53px;
  }
}

.ob-actionBox__content:nth-child(11) {
  margin-bottom: 236px;
}

.ob-actionBox__content:nth-child(12) {
  margin-bottom: 121px;
}

/* //左側 */

/* 右側 */
.ob-dayRight .cp-text-col2 {
  margin: 0 0 16px;
}

.ob-dayRight .cp-text-col2 .cp-text-l {
  margin-right: 20px;
  max-width: 280px;
  width: 100%;
}

@media screen and (max-width: 1279px) {
  .ob-dayRight .cp-text-col2 .cp-text-l {
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 12px;
  }
}

.ob-dayRight .cp-text-col2 .cp-text-l .cp-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
}

.ob-dayRight .cp-text-col2 .cp-text-r {
  margin-top: -3px;
  font-size: 1.5rem;
  line-height: 1.87;
  letter-spacing: 0;
}

@media screen and (max-width: 1279px) {
  .ob-dayRight .cp-text-col2 .cp-text-r {
    margin-top: 0;
  }
}

.ob-dayRight .cp-text-col2 .cp-text-r strong+br+br+.cp-hr-100 {
  margin-top: 14px;
  margin-bottom: -16px;
}

.ob-dayRight .cp-text-col2 .cp-text-r br+br+br+.cp-hr-100 {
  margin-top: 19px;
}

.ob-dayRight .cp-text-col2+.cp-text-col1 {
  margin: 16px 0;
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0;
}

@media screen and (max-width: 1279px) {
  .ob-dayRight .cp-text-col2+.cp-text-col1 {
    margin-top: -24px;
    margin-bottom: 12px;
  }
}

.ob-dayRight .cp-it-horizontal-col1 {
  margin: 0;
}

.ob-dayRight .cp-text-col1+.cp-it-horizontal-col1 {
  margin-top: 38px;
}

@media screen and (max-width: 1279px) {
  .ob-dayRight .cp-text-col1+.cp-it-horizontal-col1 {
    margin-top: 24px;
  }
}

.ob-dayRight .cp-it-horizontal-col1+.cp-it-horizontal-col1 {
  margin-top: 29px;
}

@media screen and (max-width: 1279px) {
  .ob-dayRight .cp-it-horizontal-col1+.cp-it-horizontal-col1 {
    margin-top: 12px;
  }
}

.ob-dayRight .cp-it-horizontal-col1 .cp-it-img {
  margin-right: 20px;
  max-width: 280px;
  width: 100%;
}

@media screen and (max-width: 1279px) {
  .ob-dayRight .cp-it-horizontal-col1 .cp-it-img {
    max-width: 100%;
    margin-right: 0;
  }
}

[data-area="content"] .ob-dayRight .cp-it.cp-horizontal .cp-horizontal-text {
  margin-left: 0;
  margin-top: -4px;
  font-size: 1.5rem;
  line-height: 1.87;
  letter-spacing: 0;
}

@media screen and (max-width: 1279px) {
  [data-area="content"] .ob-dayRight .cp-it.cp-horizontal .cp-horizontal-text {
    margin-top: 0;
    margin-bottom: 12px;
  }
}

.ob-dayRight .cp-text-wp-col1 {
  background-color: #fff;
  border: 1px solid #2688BC;
  margin: 31px 0 0 !important;
  padding: 36px 36px 37px;
  font-size: 1.5rem;
  line-height: 1.87;
  letter-spacing: 0;
}

@media screen and (max-width: 1279px) {
  .ob-dayRight .cp-text-wp-col1 {
    margin: 0 !important;
    padding: 16px;
  }
}

.ob-dayRight .cp-text-wp-col1+.cp-it-horizontal-col1 {
  margin-top: 59px;
}

@media screen and (max-width: 1279px) {
  .ob-dayRight .cp-text-wp-col1+.cp-it-horizontal-col1 {
    margin-top: 24px;
  }
}

.ob-dayRight .cp-it-horizontal-col1+.cp-text-col1 {
  margin-top: 20px;
  margin-bottom: 0;
  font-size: 1.5rem;
  line-height: 1.87;
  letter-spacing: 0;
}

@media screen and (max-width: 1279px) {
  .ob-dayRight .cp-it-horizontal-col1+.cp-text-col1 {
    margin-top: 12px;
  }
}

.ob-dayRight .cp-text-col1+.cp-text-col1 {
  margin-top: 28px;
  margin-bottom: 0;
  font-size: 1.5rem;
  line-height: 1.87;
  letter-spacing: 0;
}

@media screen and (max-width: 1279px) {
  .ob-dayRight .cp-text-col1+.cp-text-col1 {
    margin-top: 12px;
  }
}

.ob-dayRight .cp-img-col1 {
  max-width: 280px;
  margin: 69px 0 0;
}

@media screen and (max-width: 1279px) {
  .ob-dayRight .cp-img-col1 {
    max-width: 100%;
    margin: 24px 0 0;
  }
}

@media only screen and (max-width: 1279px) {
  .page-day .cp-img-item.cp-img-r {
    margin-bottom: 0;
  }
}

/* //１日の流れ */

/* 昭和でのキャリア教育が目指すもの */
.page-interview01 .lo-tops {
  margin: 0 0 38px;
}

@media screen and (max-width: 1279px) {
  .page-interview01 [data-area="content"] .cp-img {
    margin-bottom: 0;
  }
}


.page-interview01 .cp-text-col2 {
  font-size: 1.5rem;
  margin-top: 24px;
}

@media screen and (max-width: 1279px) {
  .page-interview01 .cp-text-col2 {
    align-items: center;
    font-size: 1.4rem;
    margin: 0;
  }
}

.page-interview01 .cp-text-col2 .cp-text-l {
  margin-right: 100px;
  text-align: right;
  position: relative;
}

@media screen and (max-width: 1279px) {
  .page-interview01 .cp-text-col2 .cp-text-l {
    margin-right: 0;
    margin-bottom: 70px;
    max-width: 280px;
    text-align: center;
  }
}

@media screen and (max-width: 1279px) {
  .page-interview01 .cp-text-col2 .cp-text-r {
    max-width: 280px;
    text-align: center;
  }
}

.page-interview01 .cp-text-col2 .cp-text-l::before,
.page-interview01 .cp-text-col2 .cp-text-l::after {
  position: absolute;
  display: block;
  content: "";
  width: 50px;
  height: 1px;
  background-color: #707070;
  top: 27px;
  right: -75px;
}

@media screen and (max-width: 1279px) {

  .page-interview01 .cp-text-col2 .cp-text-l::before,
  .page-interview01 .cp-text-col2 .cp-text-l::after {
    width: 40px;
    top: inherit;
    bottom: -32px;
    left: 50%;
  }
}

.page-interview01 .cp-text-col2 .cp-text-l::before {
  transform: rotate(45deg);
}

@media screen and (max-width: 1279px) {
  .page-interview01 .cp-text-col2 .cp-text-l::before {
    transform: translateX(-50%) rotate(45deg);
  }
}

.page-interview01 .cp-text-col2 .cp-text-l::after {
  transform: rotate(-45deg);
}

@media screen and (max-width: 1279px) {
  .page-interview01 .cp-text-col2 .cp-text-l::after {
    transform: translateX(-50%) rotate(-45deg);
  }
}

.page-interview01 .lead3 {
  letter-spacing: 0.1em;
  margin: 58px 0 55px;
}

@media screen and (max-width: 1279px) {
  .page-interview01 .lead3 {
    margin: 36px 0;
  }
}

.page-interview01 .lead3+.cp-ti-horizontal-col1 {
  margin-bottom: 0;
}

@media screen and (max-width: 1279px) {
  .page-interview01 .lead3+.cp-ti-horizontal-col1 {
    margin-bottom: 22px;
  }
}

@media screen and (max-width: 1279px) {
  .page-interview01 [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text {
    margin-top: 12px;
  }
}

.page-interview01 .lead3+.cp-ti-horizontal-col1+.cp-text-col1 {
  margin-top: 21px;
}

@media screen and (max-width: 1279px) {
  .page-interview01 .lead3+.cp-ti-horizontal-col1+.cp-text-col1 {
    margin-top: 0;
  }
}

.page-interview01 [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text,
.page-interview01 [data-area="content"] .cp-it.cp-horizontal .cp-horizontal-text,
.page-interview01 .cp-text-item {
  letter-spacing: 0;
  line-height: 1.875;
}

@media screen and (max-width: 1279px) {

  .page-interview01 [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text,
  .page-interview01 [data-area="content"] .cp-it.cp-horizontal .cp-horizontal-text,
  .page-interview01 .cp-text-item {
    font-size: 1.4rem;
    margin-bottom: 0;
  }
}

.page-interview01 .cp-it-horizontal-col1 {
  margin-bottom: 0;
}

.page-interview01 .cp-it-horizontal-col1+.lead3 {
  margin-top: 50px;
  margin-bottom: 52px;
}

@media screen and (max-width: 1279px) {
  .page-interview01 .cp-it-horizontal-col1+.lead3 {
    margin: 36px 0;
  }
}

/* //昭和でのキャリア教育が目指すもの */

/* 施設紹介 */
.page-environment .lo-tops {
  margin: 0 0 38px;
}

.page-environment .cp-h2-text {
  margin: 40px 0 63px;
}

@media screen and (max-width: 1279px) {
  .page-environment .cp-h2-text {
    margin: 24px 0;
  }
}

.page-environment .lead1 {
  margin-bottom: 49px;
}

@media screen and (max-width: 1279px) {
  .page-environment .lead1 {
    margin-bottom: 24px;
  }
}

.page-environment .cp-text-col1 {
  line-height: 1.875;
  margin-bottom: 89px;
}

@media screen and (max-width: 1279px) {
  .page-environment .cp-text-col1 {
    margin-bottom: 24px;
  }
}

.page-environment .ob-campus {
  position: relative;
  margin: 0 -54px 0;
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-campus {
    margin: 0;
  }
}

.page-environment .ob-campusLead {
  position: absolute;
  top: -3px;
  left: 53px;
  letter-spacing: 0.1em !important;
  color: #2688BC;
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-campusLead {
    position: static;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-campusImg img {
    width: 100%;
  }
}


.page-environment .ob-3colBox {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 34px 15px;
  margin-bottom: 102px;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .page-environment .ob-3colBox {
    grid-template-columns: 1fr 1fr;
    gap: 24px 15px;
    margin-bottom: 36px;
  }
}

@media screen and (max-width: 640px) {
  .page-environment .ob-3colBox {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 36px;
  }
}

.page-environment .ob-3colBox__content {
  max-width: 310px;
  width: 100%;
}

@media only screen and (min-width: 641px) and (max-width: 1279px) {
  .page-environment .ob-3colBox__content {
    max-width: 50vw;
  }
}

@media screen and (max-width: 640px) {
  .page-environment .ob-3colBox__content {
    max-width: 100vw;
  }
}

.page-environment .ob-3colBox__content-ttl {
  font-weight: bold;
  font-size: 1.5rem;
  margin-top: 12px;
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-3colBox__content-ttl {
    font-size: 1.6rem;
  }
}

.page-environment .ob-3colBox__content-text {
  font-size: 1.5rem;
  margin-top: -1px;
}

.page-environment .ob-3colBox__content:nth-child(7) .ob-3colBox__content-ttl {
  letter-spacing: -0.05em;
}

.page-environment .ob-3colBox+.cp-h2-text {
  margin-bottom: 61px;
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-3colBox+.cp-h2-text {
    margin-bottom: 24px;
  }
}

.page-environment .ob-environment {
  margin-bottom: 100px;
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-environment {
    margin-bottom: 36px;
  }
}

.page-environment .ob-training {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 30px;
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-training {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
  }
}

.page-environment .ob-trainingLeft {
  max-width: 310px;
  width: 100%;
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-trainingLeft {
    max-width: 100vw;
  }
}

.page-environment .ob-trainingLeft img {
  width: 100%;
}

.page-environment .ob-trainingRight {
  max-width: 620px;
  width: 100%;
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-trainingRight {
    max-width: 100vw;
  }
}

.page-environment .ob-trainingTtl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: -3px;
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-trainingTtl {
    font-size: 1.6rem;
    margin-top: 0;
  }
}

.page-environment .ob-trainingText {
  line-height: 1.875;
  margin-top: 9px;
  letter-spacing: -0.01em;
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-trainingText {
    margin-top: 0;
  }
}

.page-environment .ob-trainingLink a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #2660bc;
}

@media screen and (min-width: 1280px) {
  .page-environment .ob-trainingLink a:hover {
    text-decoration: underline;
  }
}

.page-environment .ob-environment+.cp-h2-text {
  margin-bottom: 59px;
}

@media screen and (max-width: 1279px) {
  .page-environment .ob-environment+.cp-h2-text {
    margin-bottom: 24px;
  }
}

.page-environment .cp-it-horizontal-col1 {
  margin-bottom: 51px;
}

@media screen and (max-width: 1279px) {
  .page-environment .cp-it-horizontal-col1 {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 1279px) {
  .page-environment .cp-ti-horizontal-col1 {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 1279px) {
  .page-environment .cp-h2-text+.cp-it-horizontal-col1 {
    margin-bottom: 24px;
  }
}

.page-environment [data-area="content"] .cp-horizontal .cp-horizontal-img,
.page-environment [data-area="content"] .cp-horizontal .cp-horizontal-text {
  max-width: 460px;
  width: 100%;
}

@media screen and (max-width: 1279px) {

  .page-environment [data-area="content"] .cp-horizontal .cp-horizontal-img,
  .page-environment [data-area="content"] .cp-horizontal .cp-horizontal-text {
    max-width: 100%;
    margin: 0;
  }
}

.page-environment [data-area="content"] .cp-it.cp-horizontal .cp-horizontal-text .cp-h4-text,
.page-environment [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text .cp-h4-text {
  margin: 14px 0 3px 2px;
  padding-left: 15px;
  letter-spacing: 0;
}

@media screen and (max-width: 1279px) {

  .page-environment [data-area="content"] .cp-it.cp-horizontal .cp-horizontal-text .cp-h4-text,
  .page-environment [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text .cp-h4-text {
    margin: 12px 0 0;
  }
}

.page-environment [data-area="content"] .cp-it.cp-horizontal .cp-horizontal-text .cp-text-body,
.page-environment [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text .cp-text-body {
  margin-top: 31px;
  line-height: 1.875;
  letter-spacing: 0;
}

@media screen and (max-width: 1279px) {

  .page-environment [data-area="content"] .cp-it.cp-horizontal .cp-horizontal-text .cp-text-body,
  .page-environment [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-text .cp-text-body {
    margin-top: 12px;
  }
}

/* //施設紹介 */

/* 進路指導 */
.cms .ob-guidanceBox {
  max-width: 960px;
  margin: 0 auto;
}

.ob-guidance {
  display: flex;
  justify-content: space-between;
  margin: 0 -100px 0;
  position: relative;
}

@media screen and (max-width: 1279px) {
  .ob-guidance {
    flex-direction: column;
    margin: 0;
    gap: 10px;
  }
}

.ob-guidance:not(:last-child)::after {
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 40px 0 40px;
  border-color: #C8C8C8 transparent transparent transparent;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
}

.ob-guidance:not(:last-child) {
  margin-bottom: 40px;
}

/* 色 */
.ob-guidance-1 .ob-guidanceLeft {
  background-color: #F0956B;
}

.ob-guidance-1 .ob-guidanceRightUpper,
.ob-guidance-1 .ob-guidanceRightLower {
  background-color: #fdefe9;
}

.ob-guidance-1 .ob-guidanceRight__heading {
  color: #f0956b;
}

.ob-guidance-1 .ob-guidanceRight__content ul li::before {
  background-color: #F0956B;
}

.ob-guidance-2 .ob-guidanceLeft {
  background-color: #7493E3;
}

.ob-guidance-2 .ob-guidanceRightUpper,
.ob-guidance-2 .ob-guidanceRightLower {
  background-color: #EAEEF7;
}

.ob-guidance-2 .ob-guidanceRight__heading {
  color: #7493E3;
}

.ob-guidance-2 .ob-guidanceRight__content ul li::before {
  background-color: #7493E3;
}

.ob-guidance-3 .ob-guidanceLeft {
  background-color: #009CE6;
}

.ob-guidance-3 .ob-guidanceRightUpper,
.ob-guidance-3 .ob-guidanceRightLower {
  background-color: #EEF5F8;
}

.ob-guidance-3 .ob-guidanceRight__heading {
  color: #009CE6;
}

.ob-guidance-3 .ob-guidanceRight__content ul li::before {
  background-color: #009CE6;
}

/* 色 */

.ob-guidanceLeft {
  max-width: 365px;
  width: 100%;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px;
}

@media screen and (max-width: 1279px) {
  .ob-guidanceLeft {
    max-width: 100%;
  }
}

.ob-guidanceLeft__heading-main {
  font-size: 2.5rem;
  font-family: 'Noto serif JP', sans-serif;
  margin-bottom: 24px;
}

@media screen and (max-width: 1279px) {
  .ob-guidanceLeft__heading-main {
    font-size: 2.2rem;
    margin-bottom: 12px;
  }
}

.ob-guidanceLeft__heading-sub {
  font-size: 1.8rem;
}

@media screen and (max-width: 1279px) {
  .ob-guidanceLeft__heading-sub {
    font-size: 1.6rem;
  }
}

.ob-guidanceRight {
  max-width: 785px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

@media screen and (max-width: 1279px) {
  .ob-guidanceRight {
    max-width: 100%;
  }
}

.ob-guidanceRightUpper,
.ob-guidanceRightLower {
  padding: 12px 16px;
}

.ob-guidanceRight__heading {
  display: flex;
  align-items: flex-end;
  margin-bottom: 20px;
  font-family: 'Noto serif JP', sans-serif;
  line-height: 1;
  gap: 12px;
}

@media screen and (max-width: 1279px) {
  .ob-guidanceRight__heading {
    margin-bottom: 16px;
  }
}

.ob-guidanceRight__heading .cp-inner {
  display: flex;
  align-items: flex-end;
  font-size: 4.1rem;
  font-weight: 400;
  gap: 6px;
}

@media screen and (max-width: 1279px) {
  .ob-guidanceRight__heading .cp-inner {
    font-size: 3.6rem;
  }
}

.ob-guidanceRight__heading .cp-inner::after {
  display: block;
  content: "年";
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.7rem;
  transform: translateY(-2px);
}

@media screen and (max-width: 1279px) {
  .ob-guidanceRight__heading .cp-inner::after {
    font-size: 1.6rem;
  }
}

.ob-guidanceRight__heading-sub .cp-inner {
  font-size: 1.7rem;
  font-weight: normal;
  transform: translateY(-2px);
}

@media screen and (max-width: 1279px) {
  .ob-guidanceRight__heading-sub .cp-inner {
    font-size: 1.6rem;
  }
}

.ob-guidanceRight__heading-sub .cp-inner::after {
  content: none;
}

.ob-guidanceRight__content {
  margin-bottom: 20px;
}

@media screen and (max-width: 1279px) {
  .ob-guidanceRight__content {
    font-size: 1.4rem;
    margin-bottom: 16px;
  }
}

.ob-guidanceRight__content ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
  margin: 0;
}

.ob-guidanceRight__content ul li {
  text-indent: 0;
  padding-left: 0;
}

.ob-guidanceRight__content ul li::before {
  margin-right: 4px;
  left: 0;
}


@media screen and (max-width: 1279px) {
  .ob-guidanceRight__exam {
    font-size: 1.4rem;
  }
}

.ob-guidanceRight__exam ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin: 0;
}

.ob-guidanceRight__exam ul li::before {
  display: none;
}

.ob-guidanceRight__exam ul li {
  background-color: #fff;
  padding: 0 8px;
  text-indent: 0;
}
/* //進路指導 */


/* ==========================================================================

同意チェックボックス

========================================================================== */
.ob-agreement {
  text-align: center;
  margin: 40px 0;
}

.ob-agreement__checkbox label {
  cursor: pointer;
}

.ob-agreement__checkbox input[type='checkbox'] {
  opacity:0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}

.ob-agreement__checkbox input[type='checkbox'] + span::before {
  position: absolute;
  display: inline-block;
  content: '';
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 5px;
  left: -24px;
  top: 2px;
}

.ob-agreement__checkbox input[type='checkbox']:checked + span::before {
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%232688BC%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%2220%206%209%2017%204%2012%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat;
  background-position: -3px -4px;
}

.ob-agreement__checkbox .cp-inner {
  position: relative;
}

.ob-agreement__button {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  max-width: 400px;
  margin: 30px auto 0;
}

.ob-agreement__button > div {
  width: 100%;
}

.ob-agreement__button a {
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  border: 1px solid #2688BC;
  word-break: break-all;
  cursor: pointer;
  text-decoration: none;
  backface-visibility: hidden;
  font-weight: 400;
  font-size: 1.6rem;
  transition: ease .2s;
  z-index: 1;
  overflow: hidden;
  width: 100%;
  border: 1px solid #2688BC;
  background-color: #fff;
  color: #333333;
  position: relative;
  display: block;
  letter-spacing: 0;
  border-radius: 0;
  line-height: 1.8;
  padding: 12px 18px;
}
@media only screen and (max-width: 1279px) {
  .ob-agreement__button a {
    max-width: 100%;
    font-size: 1.4rem;
    padding: 12px;
  }
}

.ob-agreement__button a::after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% + -1px);
  right: 23px;
  width: 9px;
  height: 9px;
  border-top: 1px solid #2688BC;
  border-right: 1px solid #2688BC;
  transform: rotate(45deg) translateY(-50%);
  transition: 0.2s;
}

.ob-agreement__button a[target="_blank"]::after {
  border: none;
  top: 0;
  right: 0;
  transform: rotate(0deg) translateY(0);
}

@media screen and (min-width: 1280px) {
  .ob-agreement__button a:hover {
    color: #fff;
    background: #2688BC;
    text-decoration: none;
  }

  .ob-agreement__button a:hover::after {
    border-color: #fff;
  }

  .ob-agreement__button a[target="_blank"]:hover::after {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212.43%22%20height%3D%2212.43%22%20viewBox%3D%220%200%2012.43%2012.43%22%3E%3Cg%20transform%3D%22translate(-121.744%20-121.744)%22%3E%3Cpath%20d%3D%22M146.642%2C122.215c0-.007%2C0-.015%2C0-.022s0-.019%2C0-.029%2C0-.017-.006-.025%2C0-.016-.006-.024-.005-.016-.008-.025-.005-.016-.009-.024l-.01-.023-.011-.024L146.57%2C122l-.014-.023-.017-.023-.014-.018a.519.519%2C0%2C0%2C0-.073-.073l-.019-.014-.022-.016-.023-.014-.021-.012-.024-.012-.022-.01-.024-.009-.024-.008-.024-.006-.025-.006-.029%2C0-.022%2C0-.052%2C0h-5.4a.523.523%2C0%2C1%2C0%2C0%2C1.046h4.135l-6.366%2C6.365a.523.523%2C0%2C0%2C0%2C.74.74l6.366-6.365v4.135a.523.523%2C0%2C1%2C0%2C1.046%2C0v-5.4C146.644%2C122.25%2C146.643%2C122.232%2C146.642%2C122.215Z%22%20transform%3D%22translate(-12.47)%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M133.651%2C129.708a.523.523%2C0%2C0%2C0-.523.523v2.9H122.79V122.79h2.9a.523.523%2C0%2C1%2C0%2C0-1.046h-3.419a.523.523%2C0%2C0%2C0-.523.523v11.384a.523.523%2C0%2C0%2C0%2C.523.523h11.384a.523.523%2C0%2C0%2C0%2C.523-.523v-3.419A.523.523%2C0%2C0%2C0%2C133.651%2C129.708Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
  }
}

.is-disabled::before {
  content: '';
  z-index: 2;
  position: absolute;
  top: -1px;
  left: -1px;
  width: 104%;
  height: 104%;
  background: rgba(0,0,0,.4);
}

.cms .is-disabled::before {
  content: none;
}


/* ==========================================================================

イレギュラー対応

========================================================================== */
@media only screen and (max-width: 1279px) {
  body.page-alumni [data-area="content"] .cp-ti.cp-horizontal .cp-horizontal-img {
    max-width: 320px;
  }
}

/**CYPOCHI_AIR_AUTO_STYLE__START**/
.cp-basic-block {
  position: relative;
  margin: 40px 0;
  line-height: 1.8;
  z-index: 0;
}
.cp-basic-block:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: -20px;
  left: calc(50% - 50vw);
  width: 100vw;
  height: calc(100% + 40px);
  pointer-events: none;
}

.cp-basic-block .cp-inner .cp-h1-text:first-child,
.cp-basic-block .cp-inner .cp-h2-text:first-child,
.cp-basic-block .cp-inner .cp-h3-text:first-child,
.cp-basic-block .cp-inner .cp-h4-text:first-child,
.cp-basic-block .cp-inner .cp-h5-text:first-child {
  margin-top: 0;
}

.cp-basic-block .cp-inner img {
  max-width: 100%;
  height: auto;
}

.cp-basic-block__row {
  display: flex;
  flex-wrap: wrap;
}
.cp-basic-block__row.is-float {
  display: block;
}

.cp-basic-block__col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
  word-break: break-all;
}
.cp-basic-block__col + .cp-basic-block__col {
  margin-left: 30px;
}
.cp-basic-block__col.is-float-left {
  float: left;
  margin-right: 30px;
  margin-bottom: 10px;
}
.cp-basic-block__col.is-float-right {
  float: right;
  margin-left: 30px;
  margin-bottom: 10px;
}

.cp-basic-block__row.is-float .cp-basic-block__col + .cp-basic-block__col {
  margin-left: 0;
}

.cp-basic-block__row[data-ratio="1-2"] .cp-basic-block__col:last-child,
.cp-basic-block__row[data-ratio="2-1"] .cp-basic-block__col:first-child {
  flex-grow: 2;
}

.cp-basic-block__row[data-ratio="3-1"] .cp-basic-block__col:first-child,
.cp-basic-block__row[data-ratio="1-3"] .cp-basic-block__col:last-child {
  flex-grow: 3;
}

@media screen and (max-width: 959px) {
  .cp-basic-block__row:not(.is-no-step-down) .cp-basic-block__col {
    flex-basis: 100%;
    margin-left: 0;
    margin-bottom: 30px;
  }
  .cp-basic-block__row:not(.is-no-step-down) .cp-basic-block__col:last-child {
    margin-bottom: 0;
  }

  .cp-basic-block__row:not(.is-no-step-down) .cp-basic-block__col.is-float-left, .cp-basic-block__row:not(.is-no-step-down) .cp-basic-block__col.is-float-right {
    float: none;
    margin: 0 auto 30px;
  }
}
.cp-basic-block__col .cp-inner:empty:before, .cp-basic-block__col .cp-inner:empty:after {
  pointer-events: none;
  font-size: 15px;
  display: block;
}
.cp-basic-block__col .cp-inner:empty:focus:before, .cp-basic-block__col .cp-inner:empty:focus:after {
  content: none;
}

.cp-basic-block__image-text-wrap > * {
  padding: 20px;
  border: 1px solid #ccc;
  background-color: #f4f4f4;
}
.cp-basic-block__image-text-wrap:before {
  top: -21px;
  height: calc(100% + 42px);
}

.cp-basic-block__tab-contents {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.cp-basic-block__tab-contents .cp-basic-block__child-label {
  padding: 10px 25px;
  flex: 1;
  order: -1;
  background: #F5F5F5;
  transition: 0.5s;
  cursor: pointer;
  border: 1px solid #1A5948;
}

.cp-basic-block__tab-contents .cp-basic-block__child-label:hover {
  color: #fff;
  background: #1A5948;
  transition: 0.2s;
}

.cp-basic-block__tab-contents input.cp-basic-block__child-input {
  display: none !important;
}

.cp-basic-block__tab-contents .cp-basic-block__child-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}

.cp-basic-block__tab-contents input.cp-basic-block__child-input:checked + .cp-basic-block__child-label {
  color: #fff;
  background: #1A5948;
}

.cp-basic-block__tab-contents input.cp-basic-block__child-input:checked + .cp-basic-block__child-label + .cp-basic-block__child-content {
  padding: 10px;
  height: auto;
  overflow: hidden;
  transition: 0.5s opacity;
  opacity: 1;
}

@media screen and (max-width: 959px) {
  .cp-basic-block__tab-contents {
    flex-direction: column;
  }
}
.cp-basic-block__tab-contents {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.cp-basic-block__tab-contents .cp-basic-block__child-label {
  padding: 10px 25px;
  flex: 1;
  order: -1;
  background: #F5F5F5;
  transition: 0.5s;
  cursor: pointer;
  border: 1px solid #1A5948;
}

.cp-basic-block__tab-contents .cp-basic-block__child-label:hover {
  color: #fff;
  background: #1A5948;
  transition: 0.2s;
}

.cp-basic-block__tab-contents input.cp-basic-block__child-input {
  display: none !important;
}

.cp-basic-block__tab-contents .cp-basic-block__child-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}

.cp-basic-block__tab-contents input.cp-basic-block__child-input:checked + .cp-basic-block__child-label {
  color: #fff;
  background: #1A5948;
}

.cp-basic-block__tab-contents input.cp-basic-block__child-input:checked + .cp-basic-block__child-label + .cp-basic-block__child-content {
  padding: 10px;
  height: auto;
  overflow: hidden;
  transition: 0.5s opacity;
  opacity: 1;
}

@media screen and (max-width: 959px) {
  .cp-basic-block__tab-contents {
    flex-direction: column;
  }
}
.cp-basic-block__accordion-contents {
  width: 100%;
}

.cp-basic-block__accordion-contents .cp-basic-block__child-label {
  padding: 10px 25px;
  display: block;
  width: 100%;
  background: #F5F5F5;
  transition: 0.5s;
  cursor: pointer;
  border: 1px solid #1A5948;
}


.cp-basic-block__accordion-contents .cp-basic-block__child-label {
  position: relative;
}
.cp-basic-block__accordion-contents .cp-basic-block__child-label::before,
.cp-basic-block__accordion-contents .cp-basic-block__child-label::after {
  content: "";
  width: 24px;
  height: 1px;
  position: absolute;
  right: 20px;
  top: calc(50% - 1px);
  transition: 0.3s;
  background-color: #333;
}

.cp-basic-block__accordion-contents .cp-basic-block__child-label::after {
  transform: rotate(-90deg);
}

.cp-basic-block__accordion-contents .cp-basic-block__child-label:hover {

  color: #fff;
  background: #1A5948;
  transition: 0.2s;
}


.cp-basic-block__accordion-contents .cp-basic-block__child-label:hover::after {
  transform: rotate(0deg);
  background-color: #fff;
  transition: 0.2s;
}

.cp-basic-block__accordion-contents input.cp-basic-block__child-input {

  display: none !important;
}

.cp-basic-block__accordion-contents .cp-basic-block__child-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}

.cp-basic-block__accordion-contents input.cp-basic-block__child-input:checked + .cp-basic-block__child-label {
  color: #fff;
  background: #1A5948;
}


.cp-basic-block__accordion-contents input.cp-basic-block__child-input:checked+.cp-basic-block__child-label::after {
  transform: rotate(0deg);
  background-color: #fff;
  transition: 0.2s;
}

.cp-basic-block__accordion-contents input.cp-basic-block__child-input:checked + .cp-basic-block__child-label + .cp-basic-block__child-content {

  padding: 10px;
  height: auto;
  overflow: hidden;
  transition: 0.5s opacity;
  opacity: 1;
}

.cp-basic-block__accordion-all-toggle-button-wrap {
  display: flex;
  justify-content: flex-end;
}

.cp-basic-block__accordion-all-toggle-button {
  cursor: pointer;
  padding-left: 25px;
  margin-bottom: 10px;
  position: relative;
}

.cp-basic-block__accordion-all-toggle-button:before {
  content: "全て開く";
}

.cp-basic-block__accordion-all-toggle-button[data-is-active="1"]:before {
  content: "全て閉じる";
}

.cp-basic-block__accordion-all-toggle-button-icon {
  position:absolute;
  top: 50%;
  left: 0;
}

.cp-basic-block__accordion-all-toggle-button-icon:after {
  content: ';
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 2px;
  background-color: #000;
}

.cp-basic-block__accordion-all-toggle-button-icon:before {
  content: ';
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 2px;
  background-color: #000;
  transform: rotate(90deg);
  transition: .2s;
}

.cp-basic-block__accordion-all-toggle-button[data-is-active="1"] .cp-basic-block__accordion-all-toggle-button-icon:before {
  transform: rotate(0);
  transition: .2s;
}

[data-area="content"] .cp-basic-block__buttons ul {
  list-style: none;
  margin: 0;
}

.cp-basic-block__buttons ul {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
  counter-reset: number;
  display: flex;
  flex-wrap: wrap;
}

.cp-basic-block__buttons li {
  margin-bottom: 20px;
  width: 100%;
  counter-increment: number 1;
}

.cp-basic-block__buttons li a {
  position: relative;
  display: block;
  text-align: inherit;
  padding: 10px 5px;
  border: 1px solid #0000FF;
  background-color: #fff;
  word-break: break-all;
  cursor: pointer;
  color: #000;
  text-decoration: none;
  border-radius: 8px;
}

.cp-basic-block__row[data-position="center"] .cp-basic-block__buttons ul {
  justify-content: center;
}

.cp-basic-block__row[data-position="right"] .cp-basic-block__buttons ul {
  justify-content: flex-end;
}

.cp-basic-block__buttons ul.cp-basic-block__buttons-col2 > li {
  width: calc(50% - 15px);
  margin-right: 30px;
  &:nth-child(2n) {
    margin-right: 0;
  }
}

.cp-basic-block__buttons ul.cp-basic-block__buttons-col3 > li {
  width: calc( ( 100% - 60px ) / 3 );
  margin-right: 30px;
  &:nth-child(3n) {
    margin-right: 0;
  }
}

.cp-basic-block__buttons ul.cp-basic-block__buttons-col4 > li {
  width: calc( ( 100% - 90px ) / 4 );
  margin-right: 30px;
  &:nth-child(4n) {
    margin-right: 0;
  }
}

.cp-basic-block__buttons ul.cp-basic-block__buttons-col5 > li {
  width: calc( ( 100% - 120px ) / 5 );
  margin-right: 30px;
  &:nth-child(5n) {
    margin-right: 0;
  }
}

 .cp-basic-block__buttons ul.cp-basic-block__buttons-col6 > li {
  width: calc( ( 100% - 150px ) / 6 );
  margin-right: 30px;
  &:nth-child(6n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 959px) {
  .cp-basic-block__buttons .cp-basic-block__row:not(.is-no-step-down) ul.cp-basic-block__buttons-col2 > li,
  .cp-basic-block__buttons .cp-basic-block__row:not(.is-no-step-down) ul.cp-basic-block__buttons-col3 > li,
  .cp-basic-block__buttons .cp-basic-block__row:not(.is-no-step-down) ul.cp-basic-block__buttons-col4 > li,
  .cp-basic-block__buttons .cp-basic-block__row:not(.is-no-step-down) ul.cp-basic-block__buttons-col5 > li,
  .cp-basic-block__buttons .cp-basic-block__row:not(.is-no-step-down) ul.cp-basic-block__buttons-col6 > li  {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    &:nth-child(2n),
    &:nth-child(3n),
    &:nth-child(4n),
    &:nth-child(5n) ,
    &:nth-child(6n) {
      margin-right: auto;
    }
  }
}


[data-area=content] .cp-basic-block__anchors ul {
  list-style: none;
  margin: 0;
}

.cp-basic-block__anchors ul {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
  counter-reset: number;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 10px 0;
  background-color: #F5F5F5;
}

.cp-basic-block__anchors li {
  margin-bottom: 0;
  padding: 0 2em;
  counter-increment: number 1;
  font-size: 14px;
}

.cp-basic-block__anchors li a {
  position: relative;
  display: block;
  text-align: inherit;
  word-break: break-all;
  cursor: pointer;
  color: #000;
  text-decoration: none;
  font-size: 14px;
}

.cp-basic-block__outer-codes-text-middle {
  margin: 40px 0;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.cp-basic-block__outer-codes-text-middle::after {
  position: absolute;
  content: ';
  top: calc(50% - 16px);
  left: calc(50% - 30px);
  width: 60px;
  height: 38px;
  background-repeat: no-repaet;
  background-position: center center;
  background-size: 60px auto;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2260%22%20height%3D%2238%22%20viewBox%3D%220%200%2060%2038%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_3018%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%203018%22%20transform%3D%22translate(-493%20-642)%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_2456%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%202456%22%20width%3D%2260%22%20height%3D%2238%22%20rx%3D%226%22%20transform%3D%22translate(493%20642)%22%20fill%3D%22%23f10000%22%2F%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_12%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%2012%22%20d%3D%22M9%2C0l9%2C15.545H0Z%22%20transform%3D%22translate(530.545%20652)%20rotate(90)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
.cp-basic-block__outer-codes-text-middle:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.cp-basic-block__outer-codes-text-middle iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cp-basic-block__outer-codes.cp-videos,
.cp-basic-block__outer-codes-wrap.cp-videos {
  display: block;
}

.cp-basic-block__outer-codes-wrap > * {
  padding: 20px;
  border: 1px solid #ccc;
  background-color: #f4f4f4;
}
.cp-basic-block__outer-codes-wrap:before {
  top: -21px;
  height: calc(100% + 42px);
}

.cp-basic-block__image-album-text {
  margin-top: 10px;
}

@media screen and (max-width: 959px) {
  .cp-basic-block__row.is-step-down-reverse {
    flex-direction: column-reverse;
    display: flex;
  }

  .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col:first-child {
    margin-bottom: 0;
  }

  .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col:last-child {
    margin-bottom: 30px;
  }
}

.cp-basic-block__buttons .cp-basic-block__row[data-position="center"] ul {
  justify-content: center;
}

.cp-basic-block__buttons .cp-basic-block__row[data-position="right"] ul {
  justify-content: flex-end;
}

.cp-basic-block__buttons li {
  max-width: 350px;
}

.cp-basic-block__buttons li a {
  padding: 7px 5px;
  border-radius: 0;
  border: 1px solid #A5A5A5;
}

.cp-basic-block__outer-codes-text-middle.is-inline-insert {
  margin-top: 0;
}
.cp-basic-block__outer-codes-text-middle.is-inline-insert::after {
  content: none;
}

.cp-basic-block__news-ul {
  margin: 0 !important;
  list-style: none !important;
}

.cp-basic-block__news-link {
  display: flex;
  transition: 0.3s;
  text-decoration: none;
}

.cp-basic-block__news-ul[data-cp-news-layout="standard"] .cp-basic-block__news-link {
  padding: 26px 0;
}

.cp-basic-block__news-link:hover {
  text-decoration: none;
  transition: 0.3s;
}

.cp-basic-block__news-ul[data-cp-news-layout="standard"] .cp-basic-block__news-link:hover {
  background-color: #EFEDEB;
}

@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-link,
  .cp-basic-block__news-ul[data-cp-news-layout="standard"] .cp-basic-block__news-link {
    flex-direction: column;
    padding: 20px;
  }
}

.cp-basic-block__news-li {
  border-top: 1px solid #EBEBEB;
}
.cp-basic-block__news-li:last-child {
  border-bottom: 1px solid #EBEBEB;
}

.cp-basic-block__news-date-area {
  display: flex;
  flex-wrap: wrap;
  padding-top: 5px;
}

.cp-basic-block__news-ul[data-cp-news-layout="standard"] .cp-basic-block__news-date-area {
  width: 170px;
  border-right: 1px solid #CCCCCC;
  padding-left: 20px;
}

@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-date-area,
  .cp-basic-block__news-ul[data-cp-news-layout="standard"] .cp-basic-block__news-date-area {
    width: 100%;
    padding-left: 0;
    padding-top: 0;
    border: none;
    flex-direction: row;
  }
}
.cp-basic-block__news-category {
  line-height: 1;
  margin-top: 3px;
}

@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-category {
    margin-left: 20px;
  }
}

.cp-basic-block__news-ul[data-cp-news-layout="standard"] .cp-basic-block__news-title-area {
  padding-left: 37px;
  width: calc(100% - 170px);
}

@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-title-area,
  .cp-basic-block__news-ul[data-cp-news-layout="standard"] .cp-basic-block__news-title-area {
    width: 100%;
    padding-left: 0;
  }
}
.cp-basic-block__news-date {
  font-size: 1.4rem;
  font-weight: 500;
  font-style: normal;
}

.cp-basic-block__news-category {
  font-size: 1.3rem;
  line-height: 1.5;
  background-color: #666666;
  color: #fff;
  font-weight: 500;
  padding: 0 14px;
  height: 21px;
  display: inline-block;
}

.cp-basic-block__news-title-area {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.56;
  padding-top: 5px;
}

@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-title-area {
    font-size: 1.5rem;
  }
}

.cp-basic-block__news-tags {
  margin-top: 5px;
  font-size: 1.2rem;
  color: #333333;
}

@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-tags {
    font-size: 1.1rem;
  }
}

.cp-basic-block__news-tag {
  padding: 2px 5px;
  display: inline-block;
  margin-right: 5px;
}

.cp-basic-block__news-ul[data-cp-news-layout="thumbnail"] {
  display: flex;
  flex-wrap: wrap;
}

.cp-basic-block__news-ul[data-cp-news-layout="thumbnail"] .cp-basic-block__news-li {
  border: none;
  width: calc( (100% - 60px) / 4);
  margin-right: 20px;
  margin-bottom: 20px;
}

.cp-basic-block__news-ul[data-cp-news-layout="thumbnail"] .cp-basic-block__news-li:nth-child(4n) {
  margin-right: 0;
}

.cp-basic-block__news-ul[data-cp-news-layout="thumbnail"] .cp-basic-block__news-link {
  flex-direction: column;
}

.cp-basic-block__news-ul[data-cp-news-layout="thumbnail"] .cp-basic-block__news-title-area {
  padding: 10px;
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.cp-basic-block__news-ul[data-cp-news-layout="thumbnail"] .cp-basic-block__news-date-area {
  justify-content: space-between;
  align-items: center;
}

.cp-basic-block__news-thumbnail-area {
  padding-top: 56.25%;
  background-color: #eee;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.cp-basic-block__news-thumbnail-area .cp-basic-block__news-category {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  z-index: 1;
}

.cp-basic-block__news-thumbnail-area img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  transform: scale(1.0);
  transition: .3s;
}

.cp-basic-block__news-ul[data-cp-news-layout="thumbnail"] .cp-basic-block__news-link:hover .cp-basic-block__news-thumbnail-area img {
  transform: scale(1.1);
  transition: .3s;
}

.cp-basic-block__news-ul[data-cp-news-layout="thumbnail"][data-cp-slick="true"] {
  visibility: hidden;
  max-height: 350px;
  overflow: hidden;
}
.cp-basic-block__news-ul[data-cp-news-layout="thumbnail"][data-cp-slick="true"].slick-initialized {
  visibility: visible;
  max-height: none;
  overflow: visible;
}
.cp-basic-block__news-ul.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.cp-basic-block__news-ul .slick-list {
  position: relative;
  overflow: visible;
  display: block;
  margin: 0;
  padding: 0;
}

.cp-basic-block__news-ul .slick-list:focus {
  outline: none;
}

.cp-basic-block__news-ul .slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.cp-basic-block__news-ul.slick-slider .slick-track,
.cp-basic-block__news-ul.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.cp-basic-block__news-ul .slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.cp-basic-block__news-ul .slick-track:before,
.cp-basic-block__news-ul .slick-track:after {
  content: "";
  display: table;
}

.cp-basic-block__news-ul .slick-track:after {
  clear: both;
}

.cp-basic-block__news-ul .slick-loading .slick-track {
  visibility: visible;
}

.cp-basic-block__news-ul .slick-slide {
  position: relative;
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
  max-width: 320px;
  width: 100%;
  margin-right: 20px;
}

.cp-basic-block__news-ul[dir="rtl"] .slick-slide {
  float: right;
}

.cp-basic-block__news-ul .slick-disabled {
  .cp-basic-block__news-ul opacity: .3;
}

.cp-basic-block__news-ul .slick-slide img {
  display: block;
}

.cp-basic-block__news-ul .slick-slide.slick-loading img {
  display: none;
}

.cp-basic-block__news-ul .slick-slide.dragging img {
  pointer-events: none;
}

.cp-basic-block__news-ul.slick-initialized .slick-slide {
  display: block;
}

.cp-basic-block__news-ul.slick-loading .slick-slide {
  visibility: hidden;
}

.cp-basic-block__news-ul.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.cp-basic-block__news-ul .slick-arrow.slick-hidden {
  display: none;
}

.cp-basic-block__news-ul .slick-dots {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 2;
  bottom: 30px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  list-style: none;
}

@media screen and (max-width: 959px) {
    .cp-basic-block__news-ul .slick-dots {
    bottom: 20px;
  }
}

.cp-basic-block__news-ul .slick-dots li {
  margin: 0 10px;
  list-style-type: none;
}

@media screen and (max-width: 959px) {
.cp-basic-block__news-ul .slick-dots li {
    margin: 0 6px;
  }
}

.cp-basic-block__news-ul .slick-dots li.slick-active button {
  background: #fff;
}

.cp-basic-block__news-ul .slick-dots li button {
  width: 12px;
  height: 12px;
  border: 1px solid #fff;
  background: transparent;
  border-radius: 50%;
  font-size: 0;
  color: transparent;
  .cp-basic-block__news-ul transition: .2s;
  vertical-align: bottom;
}

@media screen and (max-width: 959px) {
.cp-basic-block__news-ul .slick-dots li button {
    width: 16px;
    height: 16px;
  }
}

.cp-basic-block__news-ul .slick-arrow {
  position: absolute;
  top: calc(50% - 22px);
  z-index: 2;
}

.cp-basic-block__news-ul .slick-prev {
  left: 0;
}

.cp-basic-block__news-ul .slick-next {
  right: 0;
}

.cp-basic-block__news-ul[data-cp-news-layout="events"] .cp-basic-block__news-link {
  flex-direction: column;
  padding: 20px 10px;
  position: relative;
  transition: 0.3s;
}

.cp-basic-block__news-ul[data-cp-news-layout="events"] .cp-basic-block__news-link:hover {
  background-color: #EFEDEB;
}

.cp-basic-block__news-ul[data-cp-news-layout="events"] .cp-basic-block__news-category {
  font-size: 1.4rem;
  height: auto;
  background: none;
  padding: 0;
  color: #222;
  margin: 0;
  font-weight: 400;
  margin-bottom: 5px;
}

.cp-basic-block__news-schedule-lists {
  display: flex;
}

.cp-basic-block__news-schedule-date {
  font-size: 3.2rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.1;
}
@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-schedule-date {
    font-size: 2rem;
  }
}

.cp-basic-block__news-schedule-day {
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  display: inline-block;
  position: relative;
  top: 1px;
}
@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-schedule-day {
    font-size: 1rem;
  }
}
.cp-basic-block__news-ul[data-cp-news-layout="events"] .cp-basic-block__news-title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.56;
  margin-top: 29px;
}
@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-ul[data-cp-news-layout="events"] .cp-basic-block__news-title {
    font-size: 1.6rem;
    margin-top: 5px;
  }
  .cp-basic-block__news-ul[data-cp-news-layout="standard"] .cp-basic-block__news-title {
    margin-top: 0;
    margin-bottom: 10px;
  }
}

.cp-basic-block__news-venue {
  margin-top: 17px;
  font-size: 1.4rem;
  color: #555555;
}
@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-venue {
    font-size: 1.3rem;
  }
}

.cp-basic-block__news-venue::before {
  content: "場所：";
}

.cp-basic-block__news-subjects {
  font-size: 1.4rem;
  color: #555555;
}
@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-subjects {
    font-size: 1.3rem;
  }
}
.cp-basic-block__news-subjects::before {
  content: "対象：";
}

.cp-basic-block__news-schedule::after {
  content: " / ";
  font-size: 1.6rem;
  font-weight: 300;
  padding-right: 10px;
}

.cp-basic-block__news-schedule:last-child::after {
  content: none;
}

.cp-basic-block__news-border {
  height: 6px;
  width: 100px;
  position: absolute;
  top: 0;
  left: 0;
}

.cp-basic-block__news-form {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
  align-items: flex-start;
}

.cp-basic-block__news-select {
  display: flex;
  justify-content: space-between;
  margin-right: 20px;
}

@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-select {
    width: calc(50% - 20px);
    margin-top: 0;
    margin-bottom: 10px;
  }
}
.cp-basic-block__news-select label {
  position: relative;
  display: inline-block;
  width: 169px;
  border: 1px solid #999;
  overflow: hidden;
  background: #fff;
}

@media only screen and (max-width: 1280px) {
  .cp-basic-block__news-select label {
    width: 100%;
  }
}

.cp-basic-block__news-select select {
  display: block;
  width: calc(100% + 50px);
  margin: 0 auto;
  padding: 8px 27px 5px 10px;
  border: none;
  background-color: #fff;
  font-size: 1.4rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.cp-basic-block__news-select label::after {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(45deg);
  right: 10px;
  top: 50%;
  margin-top: -5px;
}

.cp-basic-block__news-button {
  background-color: #222;
  color: #fff;
  border: none;
  width: 120px;
  height: 32px;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  margin-left: 20px;
  justify-content: center;
  cursor: pointer;
}

.cp-basic-block__news-checkbox-wrap {
  display: flex;
}

.cp-basic-block__news-checkbox {
  display: flex;
  align-items: center;
  cursor: pointer;
  margin-right: 10px;
}
.cp-basic-block__news-checkbox-input {
  margin: 0;
  width: 0;
  opacity: 0;
}

.cp-basic-block__news-checkbox-input:focus + .cp-basic-block__news-checkbox-icon {
  background: #DDDDDD !important;
  border: solid 2px #333333;
}
.cp-basic-block__news-checkbox-input:checked + .cp-basic-block__news-checkbox-icon {
  border: solid 2px #333333;
  background: #FFFFFF;
}
.cp-basic-block__news-checkbox-input:checked + .cp-basic-block__news-checkbox-icon::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==") no-repeat center;
  background-size: contain;
}
.cp-basic-block__news-checkbox-icon {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 32px;
  height: 32px;
  border: solid 2px #888888;
  background: #FFFFFF;
  border-radius: 4px;
}
.cp-basic-block__news-checkbox-text {
  margin-left: 5px;
  display: block;
  font-size: 1.6rem;
}

.cp-basic-block__news-paging {
  margin-left: 0 !important;
  margin-right: 0 !important;
  list-style: none !important;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 50px;
  padding: 16px 4vw;
}

.cp-basic-block__news-paging-item {
  position: relative;
  display: block;
  margin: 4px;
}

.cp-basic-block__news-paging-item a,
.cp-basic-block__news-paging-item span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  background: #555;
  border-radius: 4px;
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  line-height: 1.5;
}

.cp-basic-block__news-paging-item a:hover {
  text-decoration: none;
  opacity: .7;
}

.cp-basic-block__news-paging-item span.is-active {
  background: #222;
}

.cp-basic-block__row.is-float[data-ratio="1-2"] .cp-basic-block__col.is-float-left > .cp-inner,
.cp-basic-block__row.is-float[data-ratio="1-2"] .cp-basic-block__col.is-float-right > .cp-inner,
.cp-basic-block__row.is-float[data-ratio="2-1"] .cp-basic-block__col.is-float-left > .cp-inner,
.cp-basic-block__row.is-float[data-ratio="2-1"] .cp-basic-block__col.is-float-right > .cp-inner,
.cp-basic-block__row.is-float[data-ratio="1-3"] .cp-basic-block__col.is-float-left > .cp-inner,
.cp-basic-block__row.is-float[data-ratio="1-3"] .cp-basic-block__col.is-float-right > .cp-inner,
.cp-basic-block__row.is-float[data-ratio="3-1"] .cp-basic-block__col.is-float-left > .cp-inner,
.cp-basic-block__row.is-float[data-ratio="3-1"] .cp-basic-block__col.is-float-right > .cp-inner {
  width: 100%;
}
.cp-basic-block__row.is-float[data-ratio="1-2"] .cp-basic-block__col.is-float-left > .cp-inner img,
.cp-basic-block__row.is-float[data-ratio="1-2"] .cp-basic-block__col.is-float-right > .cp-inner img,
.cp-basic-block__row.is-float[data-ratio="2-1"] .cp-basic-block__col.is-float-left > .cp-inner img,
.cp-basic-block__row.is-float[data-ratio="2-1"] .cp-basic-block__col.is-float-right > .cp-inner img,
.cp-basic-block__row.is-float[data-ratio="1-3"] .cp-basic-block__col.is-float-left > .cp-inner img,
.cp-basic-block__row.is-float[data-ratio="1-3"] .cp-basic-block__col.is-float-right > .cp-inner img,
.cp-basic-block__row.is-float[data-ratio="3-1"] .cp-basic-block__col.is-float-left > .cp-inner img,
.cp-basic-block__row.is-float[data-ratio="3-1"] .cp-basic-block__col.is-float-right > .cp-inner img {
  max-width: none;
  width: 100%;
}

.cp-basic-block__row.is-float[data-ratio="1-2"] .cp-basic-block__col.is-float-left,
.cp-basic-block__row.is-float[data-ratio="2-1"] .cp-basic-block__col.is-float-right {
  width: calc(100% / 3);
}

.cp-basic-block__row.is-float[data-ratio="2-1"] .cp-basic-block__col.is-float-left,
.cp-basic-block__row.is-float[data-ratio="1-2"] .cp-basic-block__col.is-float-right {
  width: calc(100% / 3 * 2);
}

.cp-basic-block__row.is-float[data-ratio="1-3"] .cp-basic-block__col.is-float-left,
.cp-basic-block__row.is-float[data-ratio="3-1"] .cp-basic-block__col.is-float-right {
  width: 25%;
}

.cp-basic-block__row.is-float[data-ratio="3-1"] .cp-basic-block__col.is-float-left,
.cp-basic-block__row.is-float[data-ratio="1-3"] .cp-basic-block__col.is-float-right {
  width: 75%;
}

@media screen and (max-width: 959px) {
  .cp-basic-block__row.is-float[data-ratio="1-2"]:not(.is-no-step-down) .cp-basic-block__col.is-float-left,
.cp-basic-block__row.is-float[data-ratio="2-1"]:not(.is-no-step-down) .cp-basic-block__col.is-float-right,
.cp-basic-block__row.is-float[data-ratio="2-1"]:not(.is-no-step-down) .cp-basic-block__col.is-float-left,
.cp-basic-block__row.is-float[data-ratio="1-2"]:not(.is-no-step-down) .cp-basic-block__col.is-float-right,
.cp-basic-block__row.is-float[data-ratio="1-3"]:not(.is-no-step-down) .cp-basic-block__col.is-float-left,
.cp-basic-block__row.is-float[data-ratio="3-1"]:not(.is-no-step-down) .cp-basic-block__col.is-float-right,
.cp-basic-block__row.is-float[data-ratio="3-1"]:not(.is-no-step-down) .cp-basic-block__col.is-float-left,
.cp-basic-block__row.is-float[data-ratio="1-3"]:not(.is-no-step-down) .cp-basic-block__col.is-float-right {
    width: 100%;
  }
}


.cp-basic-block__outer-codes-text-middle--relative {
  margin: 10px 0;
  position: relative;
}

.cp-basic-block__outer-codes-text-middle--relative iframe {
	position: relative;
	max-width: 100%;
}
/**CYPOCHI_AIR_AUTO_STYLE__END**/
/**NEW_EDITOR_BLOCK__START**/
:root {
  --main-color: #2688BC;
  --main-bg-color: #F0F4F5;
  --sub-bg-color: #F6F6F8;
  --main-text-color: #222222;
  --sub-text-color: #333333;
  --main-border-color: #cccccc;
  --sub-border-color: #999999;
  --main-link-color: #0E67B4;
}

.cp-basic-block {
  margin: 40px 0;
  line-height: 1.8;
}
@media screen and (max-width: 1279px) {
  .cp-basic-block {
    margin: 32px 0;
  }
}
.cp-basic-block__row {
  display: grid;
}
.cp-basic-block__row.is-no-step-down {
  display: flex;
}
.cp-basic-block__row[data-ratio="1-1"], .cp-basic-block__row[data-ratio="1-2"], .cp-basic-block__row[data-ratio="1-3"], .cp-basic-block__row[data-ratio="2-1"], .cp-basic-block__row[data-ratio="3-1"] {
  display: flex;
}
.cp-basic-block__col2 .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col[data-cp-text-image-id="1"] {
  grid-row: 2/3;
}
.cp-basic-block__col2 .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col[data-cp-text-image-id="2"] {
  grid-row: 1/2;
}
.cp-basic-block__col3 .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col[data-cp-text-image-id="1"] {
  grid-row: 3/4;
}
.cp-basic-block__col3 .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col[data-cp-text-image-id="2"] {
  grid-row: 2/3;
}
.cp-basic-block__col3 .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col[data-cp-text-image-id="3"] {
  grid-row: 1/2;
}
.cp-basic-block__col4 .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col[data-cp-text-image-id="1"] {
  grid-row: 4/5;
}
.cp-basic-block__col4 .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col[data-cp-text-image-id="2"] {
  grid-row: 3/4;
}
.cp-basic-block__col4 .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col[data-cp-text-image-id="3"] {
  grid-row: 2/3;
}
.cp-basic-block__col4 .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col[data-cp-text-image-id="4"] {
  grid-row: 1/2;
}
.cp-basic-block__col2 .cp-basic-block__row {
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (max-width: 1279px) {
  .cp-basic-block__col2 .cp-basic-block__row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.cp-basic-block__col3 .cp-basic-block__row {
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media screen and (max-width: 1279px) {
  .cp-basic-block__col3 .cp-basic-block__row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.cp-basic-block__col4 .cp-basic-block__row {
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
@media screen and (max-width: 1279px) {
  .cp-basic-block__col4 .cp-basic-block__row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.cp-basic-block__col {
  margin-left: 0;
  margin-bottom: 0;
  word-break: normal;
}
.cp-basic-block__col + .cp-basic-block__col {
  margin-left: 0;
  margin-bottom: 0px;
}
@media screen and (max-width: 1279px) {
  .cp-basic-block__row:not(.is-no-step-down) .cp-basic-block__col {
    margin-bottom: 0;
  }
  .cp-basic-block__row.is-step-down-reverse .cp-basic-block__col:last-child {
    margin-bottom: 0;
  }
}
.cp-basic-block__image-text-wrap > * {
  background-color: var(--main-bg-color);
  border:none;
  padding: 29px 30px 25px;
}
.cp-basic-block__tab-contents input.cp-basic-block__child-input:checked + .cp-basic-block__child-label {
  color: #fff;
  background-color: var(--main-color);
}
.cp-basic-block__tab-contents input.cp-basic-block__child-input:checked + .cp-basic-block__child-label a {
  color: #fff;
}
.cp-basic-block__tab-contents .cp-basic-block__child-label {
  border: 1px solid var(--main-color);
  background: var(--main-bg-color);
  color: var(--main-text-colorcolor);
}
.cp-basic-block__tab-contents .cp-basic-block__child-label a {
  color: var(-main-text-color);
  text-decoration: none !important;
}
.cp-basic-block__tab-contents .cp-basic-block__child-label:hover {
    color: #fff;
    background-color: var(--main-color);
  }
@media screen and (min-width: 1280px) {
  .cp-basic-block__tab-contents .cp-basic-block__child-label:hover {
    color: #fff;
    background-color: var(--main-color);
  }
  .cp-basic-block__tab-contents .cp-basic-block__child-label:hover a {
    color: #fff;
  }
}
.cp-basic-block__accordion-contents .cp-basic-block__child-label {
  border: 1px solid var(--main-color);
  background: var(--main-bg-color);
  color: var(--main-text-colorcolor);
}
.cp-basic-block__accordion-contents .cp-basic-block__child-label:hover {
    background-color: var(--main-color);
    color: #fff;
  }
@media screen and (min-width: 1280px) {
  .cp-basic-block__accordion-contents .cp-basic-block__child-label:hover {
    background-color: var(--main-color);
    color: #fff;
  }
}
.cp-basic-block__accordion-contents input.cp-basic-block__child-input:checked + .cp-basic-block__child-label {
  background-color: var(--main-color);
  color: #fff;
}
.cp-basic-block__buttons li a {
  display: flex;
  align-items: center;
  height: 100%;
  color: var(--main-text-color);
  border: 1px solid var(--main-color);
  background-color: var(--main-bg-color);
  text-decoration: none;
}

  .cp-basic-block__buttons li a:hover {
    color: #fff;
    background-color: var(--main-color);
  }


.cp-basic-block.cp-basic-block__image-text-wrap{
  line-height:1.87;
}

[data-area="content"] .cp-basic-block__buttons ul li::before{
  display:none;
}

[data-area="content"] .cp-basic-block__buttons .cp-basic-block__row ul li{
  text-indent:0;
}

.cp-basic-block__row .cp-basic-block__col ul li a::after{
  min-width:14px;
}
/**NEW_EDITOR_BLOCK___END**/
