@charset "UTF-8";
.color_error {
  color: red; }

.blue {
  color: #184375; }

.gray {
  color: #777; }

.bg-light-red {
  background-color: #fff5f9; }
  .bg-light-red.tab-border {
    border-top: 5px solid #ffa2c7; }

.bg-light-blue {
  background-color: #f1faff; }

.bg-light-yellow {
  background-color: #fff9ee; }

.font_family_g {
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, sans-serif; }

.font_family_m {
  font-family: "Roboto Slab", Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Sawarabi Mincho", "Sawarabi Mincho", serif; }

.font_family_w {
  font-family: "Fjalla One", sans-serif; }

/* size */
.font_size_xxsmall {
  font-size: 45%; }

.font_size_xsmall {
  font-size: 60%; }

.font_size_small {
  font-size: 80%; }

.font_size_normal {
  font-size: 100%; }

.font_size_large {
  font-size: 120%; }

.font_size_xlarge {
  font-size: 140%; }

.font_size_xxlarge {
  font-size: 180%; }

/* weight */
.font_weight_b {
  font-weight: bold; }

.lh-small {
  line-height: 1; }

.mt_none {
  margin-top: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mr_none {
  margin-right: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mb_none {
  margin-bottom: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.ml_none {
  margin-left: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .mt_none_sp {
    margin-top: 0 !important; } }

@media only screen and (max-width: 640px) {
  .mr_none_sp {
    margin-right: 0 !important; } }

@media only screen and (max-width: 640px) {
  .ml_none_sp {
    margin-left: 0 !important; } }

.pt_none {
  padding-top: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pr_none {
  padding-right: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pb_none {
  padding-bottom: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pl_none {
  padding-left: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.p_none {
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .pt_none_sp {
    padding-top: 0; } }

.mt_xsmall {
  margin-top: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mr_xsmall {
  margin-right: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mb_xsmall {
  margin-bottom: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.ml_xsmall {
  margin-left: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .mt_xsmall_sp {
    margin-top: 0.5rem !important; } }

@media only screen and (max-width: 640px) {
  .mr_xsmall_sp {
    margin-right: 0.5rem !important; } }

@media only screen and (max-width: 640px) {
  .ml_xsmall_sp {
    margin-left: 0.5rem !important; } }

.pt_xsmall {
  padding-top: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pr_xsmall {
  padding-right: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pb_xsmall {
  padding-bottom: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pl_xsmall {
  padding-left: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.p_xsmall {
  padding: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .pt_xsmall_sp {
    padding-top: 0.5rem; } }

.mt_small {
  margin-top: 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mr_small {
  margin-right: 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mb_small {
  margin-bottom: 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.ml_small {
  margin-left: 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .mt_small_sp {
    margin-top: 1.25rem !important; } }

@media only screen and (max-width: 640px) {
  .mr_small_sp {
    margin-right: 1.25rem !important; } }

@media only screen and (max-width: 640px) {
  .ml_small_sp {
    margin-left: 1.25rem !important; } }

.pt_small {
  padding-top: 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pr_small {
  padding-right: 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pb_small {
  padding-bottom: 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pl_small {
  padding-left: 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.p_small {
  padding: 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .pt_small_sp {
    padding-top: 1.25rem; } }

.mt_normal {
  margin-top: 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mr_normal {
  margin-right: 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mb_normal {
  margin-bottom: 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.ml_normal {
  margin-left: 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .mt_normal_sp {
    margin-top: 2vw !important; } }

@media only screen and (max-width: 640px) {
  .mr_normal_sp {
    margin-right: 2vw !important; } }

@media only screen and (max-width: 640px) {
  .ml_normal_sp {
    margin-left: 2vw !important; } }

.pt_normal {
  padding-top: 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pr_normal {
  padding-right: 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pb_normal {
  padding-bottom: 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pl_normal {
  padding-left: 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.p_normal {
  padding: 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .pt_normal_sp {
    padding-top: 2vw; } }

.mt_large {
  margin-top: 10vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mr_large {
  margin-right: 10vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mb_large {
  margin-bottom: 10vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.ml_large {
  margin-left: 10vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .mt_large_sp {
    margin-top: 5vw !important; } }

@media only screen and (max-width: 640px) {
  .mr_large_sp {
    margin-right: 5vw !important; } }

@media only screen and (max-width: 640px) {
  .ml_large_sp {
    margin-left: 5vw !important; } }

.pt_large {
  padding-top: 10vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pr_large {
  padding-right: 10vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pb_large {
  padding-bottom: 10vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pl_large {
  padding-left: 10vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.p_large {
  padding: 10vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .pt_large_sp {
    padding-top: 5vw; } }

.mt_xlarge {
  margin-top: 16vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mr_xlarge {
  margin-right: 16vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mb_xlarge {
  margin-bottom: 16vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.ml_xlarge {
  margin-left: 16vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .mt_xlarge_sp {
    margin-top: 8vw !important; } }

@media only screen and (max-width: 640px) {
  .mr_xlarge_sp {
    margin-right: 8vw !important; } }

@media only screen and (max-width: 640px) {
  .ml_xlarge_sp {
    margin-left: 8vw !important; } }

.pt_xlarge {
  padding-top: 16vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pr_xlarge {
  padding-right: 16vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pb_xlarge {
  padding-bottom: 16vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pl_xlarge {
  padding-left: 16vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.p_xlarge {
  padding: 16vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .pt_xlarge_sp {
    padding-top: 8vw; } }

.mt_auto {
  margin-top: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mr_auto {
  margin-right: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mb_auto {
  margin-bottom: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.ml_auto {
  margin-left: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .mt_auto_sp {
    margin-top: auto/2 !important; } }

@media only screen and (max-width: 640px) {
  .mr_auto_sp {
    margin-right: auto/2 !important; } }

@media only screen and (max-width: 640px) {
  .ml_auto_sp {
    margin-left: auto/2 !important; } }

.pt_auto {
  padding-top: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pr_auto {
  padding-right: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pb_auto {
  padding-bottom: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.pl_auto {
  padding-left: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.p_auto {
  padding: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (max-width: 640px) {
  .pt_auto_sp {
    padding-top: auto/2; } }

@media only screen and (max-width: 640px) {
  .mb_normal {
    margin-bottom: 4em; } }
.mb15 {
  margin-bottom: 15px; }

.mt40 {
  margin-top: 40px; }

.ub_b {
  text-decoration: underline; }

.w_100p {
  width: 100%; }

.w_80p {
  width: 55.5555555556%; }

.w_60p {
  width: 62.5%; }

.w_50p {
  width: 50%; }

.w_33p {
  width: 33.3333333333%; }

.w_25p {
  width: 25%; }

.w_20p {
  width: 20%; }

.w_auto {
  width: auto; }

@media only screen and (max-width: 640px) {
  .spn_w100p {
    width: 100%; } }

/*
OZ RESET CSS
Author: ONZE
Author URI: http://on-ze.com
Version: 1.1
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
* {
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  text-decoration: none;
  vertical-align: baseline; }

html {
  position: relative;
  font-size: 62.5%;
  width: 100%;
  height: 100%; }

body {
  font-size: 10px;
  font-size: 1rem;
  line-height: 1;
  position: relative;
  text-align: center;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  height: 100%; }

article,
aside,
dialog,
figure,
footer,
header,
main,
menu,
nav,
section {
  display: block; }

audio,
canvas,
video {
  display: inline-block; }

br,
hr {
  display: block; }

ol,
ul {
  list-style: none; }

blockquote,
q {
  quotes: none; }

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: '';
  content: none; }

input,
select {
  vertical-align: middle; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show; }

html {
  position: relative; }

body {
  position: relative;
  line-height: 1.5;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, sans-serif;
  text-align: left;
  letter-spacing: 0.025rem;
  word-wrap: break-word;
  font-weight: 400;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-top: 0 !important; }
  body {
    font-size: 14px; }
    @media screen and (min-width: 320px) {
      body {
        font-size: calc( 14px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      body {
        font-size: 16px; } }

main {
  overflow: hidden; }

h1 {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  h1 {
    font-size: 24px; }
    @media screen and (min-width: 320px) {
      h1 {
        font-size: calc( 24px + strip-unit(14px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      h1 {
        font-size: 38px; } }

img {
  vertical-align: bottom;
  max-width: 100%;
  border: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; }

a {
  color: black;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease; }
  a:hover {
    color: #184375;
    text-decoration: underline; }
    a:hover img {
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease;
      opacity: 0.85; }

._re {
  color: #184375;
  text-decoration: none; }
  ._re:hover {
    text-decoration: underline; }

p {
  line-height: 1.8; }
  p a {
    color: #184375; }

.l-img {
  overflow: hidden;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; }

a:hover .l-img img {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-transform: scale(1.05);
          transform: scale(1.05); }

.m_center {
  display: block;
  margin: 0 auto; }

.diploma-policy-wrapper {
  margin-right: auto;
  margin-left: auto;
  width: 80%; }
  @media only screen and (max-width: 640px) {
    .diploma-policy-wrapper {
      width: 100%; } }

/* 01.float
-----------------------*/
.float_l {
  float: left !important; }

.float_r {
  float: right !important; }

.clear_l {
  clear: left !important; }

.clear_r {
  clear: right !important; }

.clear_b {
  clear: both !important; }

/* 02.text-align
-----------------------*/
.text_l {
  text-align: left !important; }

.text_r {
  text-align: right !important; }

.text_c {
  text-align: center !important; }

.text_t {
  vertical-align: top !important; }

.text_m {
  vertical-align: middle !important; }

.text_b {
  vertical-align: bottom !important; }

.spn {
  display: none; }
  @media only screen and (max-width: 640px) {
    .spn {
      display: block; } }

.pc {
  display: block; }
  @media only screen and (max-width: 640px) {
    .pc {
      display: none; } }

.border_b {
  border-bottom: solid 1px #ddd !important; }

.maintenance {
  padding: 10px 0 80px; }

.maintenance .ttl-maintenance {
  font-size: 2.5rem; }

.line-btn-wrap {
  width: 100%;
  max-width: 720px;
  margin: 0 auto 20px; }

.text-columns-two {
  -webkit-columns: 2;
          columns: 2;
  -webkit-column-gap: 2.4em;
          column-gap: 2.4em; }
  @media only screen and (max-width: 640px) {
    .text-columns-two {
      -webkit-columns: 1;
              columns: 1; } }

.text-c {
  text-align: center; }

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

.p_inherit {
  padding: inherit; }

.justify_sb {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.justify_sa {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.justify_center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.bg_gradient {
  background-color: #abdae2;
  background-image: linear-gradient(109.6deg, #d5edf1 11.2%, #e1e3ff 91.1%); }

.under_text {
  -webkit-text-decoration: underline #184374 1px;
          text-decoration: underline #184374 1px; }

.image-cover {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.aspect-16-9 {
  aspect-ratio: 16/9; }

.u-items-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.l-block {
  width: 100%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto; }

.l-twoway {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1080px;
  padding-left: 15px;
  padding-right: 15px;
  margin: 0 auto; }
  @media only screen and (max-width: 640px) {
    .l-twoway {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .l-twoway .twoway-side {
    width: 100%;
    max-width: 260px; }
    @media only screen and (max-width: 640px) {
      .l-twoway .twoway-side {
        max-width: 100%;
        padding-bottom: 16vw; } }
  .l-twoway .twoway-main {
    width: 100%;
    margin-right: 42px; }
    @media only screen and (max-width: 640px) {
      .l-twoway .twoway-main {
        margin-right: 0;
        padding-bottom: 16vw; } }

.l-block-sns {
  padding-bottom: 4vw; }

.l-block-group {
  border-top: solid 2px #184375;
  padding: 4vw 0;
  margin-bottom: 4vw; }
  @media only screen and (max-width: 640px) {
    .l-block-group {
      background: #f5f5f5;
      margin-bottom: 16vw; } }

.positon-re {
  position: relative; }

.l-hidden {
  overflow: hidden; }

/*
.l-footer {
  overflow: hidden;
  background-color: #121a3c;
  padding: 60px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .l-footer {
    font-size: 8px; }
    @media screen and (min-width: 320px) {
      .l-footer {
        font-size: calc( 8px + strip-unit(4px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .l-footer {
        font-size: 12px; } }
  @media only screen and (max-width: 640px) {
    .l-footer {
      padding: 20px 20px 90px; } }
  .l-footer a {
    text-decoration: none;
    color: #fff; }
    .l-footer a:hover {
      opacity: 0.8; }
  .l-footer small {
    color: #fff; }
    @media only screen and (max-width: 640px) {
      .l-footer small {
        margin: 0 auto; } }

.footer-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media only screen and (max-width: 640px) {
    .footer-block {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      text-align: center; } }

.footer-link-potal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 40px;
  text-align: left; }
  @media only screen and (max-width: 640px) {
    .footer-link-potal {
      display: none; } }
  .footer-link-potal li {
    width: 25%;
    margin-bottom: 10px; }

@media only screen and (max-width: 640px) {
  .footer-link {
    width: 100%;
    text-align: center; } }
.footer-link li {
  display: inline-block; }
.footer-link li + li {
  margin-left: 10px; }
  .footer-link li + li:before {
    content: "｜";
    color: #fff;
    margin-right: 10px; }

.footer_btn_top {
  display: block;
  position: fixed;
  bottom: 4.5em;
  right: 1em;
  margin-left: auto;
  width: 48px;
  height: auto; }
  .footer_btn_top img {
    margin-left: auto; }

.footer_copy {
  display: block;
  background: #184375;
  color: #fff;
  text-align: center;
  padding: 20px 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .footer_copy {
    font-size: 10px; }
    @media screen and (min-width: 320px) {
      .footer_copy {
        font-size: calc( 10px + strip-unit(4px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .footer_copy {
        font-size: 14px; } }

.footer_link {
  position: relative;
  padding-left: 15px;
  display: inline-block; }
  .footer_link:before {
    content: "";
    display: block;
    position: absolute;
    width: 0.3em;
    height: 0.3em;
    left: 0;
    top: 0.5em;
    border-right: solid 1px black;
    border-top: solid 1px black;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  .footer_link.font_weight_b {
    font-size: 0.85em; }
  .footer_link:hover:before {
    border-color: #184375; }

.fnav_child {
  margin-bottom: 1em;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .fnav_child {
    font-size: 8px; }
    @media screen and (min-width: 320px) {
      .fnav_child {
        font-size: calc( 8px + strip-unit(4px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .fnav_child {
        font-size: 12px; } }
  .fnav_child li + li {
    margin-top: 1.4em; }
*/


/* ===== mens_lp footer Style ここから ===== */

footer {
  /* background: #1a4475; */
  background: #121A3C;
}
#bwpu-menslp202205-footer{
  font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  line-height: 1;
  letter-spacing: 0;
}
#bwpu-menslp202205-footer *{
  box-sizing: content-box;
}

#bwpu-menslp202205-footer{width:1360px;margin:0px auto;padding:60px 40px 180px 40px;}

#bwpu-menslp202205-footer .window{color:#fff;}
#bwpu-menslp202205-footer .window .label{margin-bottom:30px;font-size:150%;font-weight:bold;}
#bwpu-menslp202205-footer .window .college{font-size:125%;line-height:150%;}
#bwpu-menslp202205-footer .window .office{font-size:125%;line-height:150%;}
#bwpu-menslp202205-footer .window .address{margin-top:15px;line-height:150%;}
#bwpu-menslp202205-footer .window .access{margin-top:15px;}
#bwpu-menslp202205-footer .window .access ul{}
#bwpu-menslp202205-footer .window .access li{padding:2px 0px;}
#bwpu-menslp202205-footer .window .access dl{display:table;}
#bwpu-menslp202205-footer .window .access dt{display:table-cell;vertical-align:middle;width:60px;padding:2px;border:1px solid #fff;font-size:80%;text-align:center;}
#bwpu-menslp202205-footer .window .access dd{display:table-cell;vertical-align:middle;padding-left:10px;}

#bwpu-menslp202205-footer .copyright{margin-top:30px;color:#fff;font-size:90%;text-align:center;}


@media screen and (max-width:1439px){
#bwpu-menslp202205-footer{width:auto;}
}
@media screen and (max-width:1399px){}
@media screen and (max-width:1343px){}
@media screen and (max-width:1279px){}
@media screen and (max-width:1199px){}
@media screen and (max-width:1135px){}
@media screen and (max-width:1023px){}
@media screen and (max-width:959px){}
@media screen and (max-width:767px){
#bwpu-menslp202205-footer{padding:30px 20px 120px 20px;}
#bwpu-menslp202205-footer .window .label{font-size:125%;}
#bwpu-menslp202205-footer .window .college{font-size:100%;}
#bwpu-menslp202205-footer .window .office{font-size:100%;}
}
@media screen and (max-width:639px){}
@media screen and (max-width:479px){}

/* ===== mens_lp footer Style ここまで ===== */


.potal-btn-area {
  display: block;
  width: 100%;
  background-color: #184375; }
  .potal-btn-area .potal-btn-block {
    /* width: 100vw; */
    width: 100%;
    max-width: 1080px;
    margin: 0px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    color: #fff; }
    @media only screen and (max-width: 640px) {
      .potal-btn-area .potal-btn-block {
        /* width: 100vw; */
        margin: 0px auto 0; } }
    .potal-btn-area .potal-btn-block li {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      .potal-btn-area .potal-btn-block li img {
        width: 7vw;
        max-width: 70px;
        margin-right: 20px; }
        @media only screen and (max-width: 640px) {
          .potal-btn-area .potal-btn-block li img {
            margin-right: 0;
            max-width: 40px;
            width: 100%; } }
      .potal-btn-area .potal-btn-block li a {
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        color: #fff;
        font-weight: bold;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        min-height: 12vw;
        max-height: 200px;
        padding: 24px; }
        @media only screen and (max-width: 640px) {
          .potal-btn-area .potal-btn-block li a {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            min-height: 150px;
            padding: 30px 0;
            text-align: center; } }
        .potal-btn-area .potal-btn-block li a p {
          -webkit-transition: all 0.3s ease;
          transition: all 0.3s ease; }
          .potal-btn-area .potal-btn-block li a p {
            font-size: 10px; }
            @media screen and (min-width: 320px) {
              .potal-btn-area .potal-btn-block li a p {
                font-size: calc( 10px + strip-unit(6px) * ((100vw - 320px) / strip-unit(640px)) ); } }
            @media screen and (min-width: 960px) {
              .potal-btn-area .potal-btn-block li a p {
                font-size: 16px; } }
          @media only screen and (max-width: 640px) {
            .potal-btn-area .potal-btn-block li a p {
              margin-top: 10px; } }
      .potal-btn-area .potal-btn-block li a:hover {
        text-decoration: none;
        background-color: #2f5582; }

.fix-cv-btn {
  display: block;
  position: fixed;
  left: 0;
  bottom: 35%;
  background-color: #eee;
  z-index: 100; }
  @media only screen and (max-width: 640px) {
    .fix-cv-btn {
      bottom: 0;
      width: 100%;
      z-index: 100; } }
  .fix-cv-btn ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media only screen and (max-width: 640px) {
      .fix-cv-btn ul {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media only screen and (max-width: 640px) {
      .fix-cv-btn ul .fix-cv-btn1 {
        width: 30%; } }
    @media only screen and (max-width: 640px) {
      .fix-cv-btn ul .fix-cv-btn2 {
        width: 30%; } }
    @media only screen and (max-width: 640px) {
      .fix-cv-btn ul .fix-cv-btn3 {
        width: 20%; } }
    @media only screen and (max-width: 640px) {
      .fix-cv-btn ul .fix-cv-btn4 {
        width: 20%; } }
  .fix-cv-btn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px 10px; }
    @media only screen and (max-width: 640px) {
      .fix-cv-btn a {
        padding: 10px;
        min-height: 70px; } }
    .fix-cv-btn a:hover {
      opacity: 0.8; }
  .fix-cv-btn a img {
    width: 100%; }
  .fix-cv-btn .fix-cv-event {
    background-color: #f7827e; }
    .fix-cv-btn .fix-cv-event img {
      max-width: 70px; }
  .fix-cv-btn .fix-cv-request {
    background-color: #184375; }
    .fix-cv-btn .fix-cv-request img {
      max-width: 50px; }
  .fix-cv-btn .fix-cv-line {
    background-color: #00b900; }
    .fix-cv-btn .fix-cv-line img {
      max-width: 32px; }
  .fix-cv-btn .fix-cv-institute {
    background-color: #fff;
    border: 4px #044379 solid; }
    @media only screen and (max-width: 640px) {
      .fix-cv-btn .fix-cv-institute {
        padding-bottom: 3px; } }
    .fix-cv-btn .fix-cv-institute img {
      max-width: 35px; }

.l-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center;
  background: #fff;
  min-height: 70px;
  width: 100%;
  max-width: 80vw;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  @media only screen and (max-width: 640px) {
    .l-header {
      min-height: 55px;
      max-width: 50vw; } }

.l-header > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center; }

.header_logo img {
  height: 56px; }
  @media only screen and (max-width: 640px) {
    .header_logo img {
      height: auto;
      max-width: 47vw;
      padding-left: 10px; } }

.header_navs {
  font-weight: bold;
  font-size: 0.8em; }
  .header_navs li {
    list-style: none; }
  .header_navs li + li {
    margin-left: 20px; }
  .header_navs a {
    text-decoration: none; }

@media screen and (max-width: 1280px) {
  .header_navs {
    display: none; } }
.header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
      justify-content: space-between;
  padding-top: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  @media only screen and (max-width: 640px) {
    .header_inner {
      padding-top: 10px; } }

.header_spn_nav {
  display: none; }
  @media only screen and (max-width: 640px) {
    .header_spn_nav {
      display: block; } }
  .header_spn_nav li {
    display: inline; }
  .header_spn_nav img {
    margin: 0 5px; }

.sub_nav {
  text-align: right; }
  .sub_nav li {
    display: inline-block; }
  @media only screen and (max-width: 640px) {
    .sub_nav {
      display: none; } }

.gnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
      flex-direction: row;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  .gnav a {
    display: inline-block;
    padding: 20px;
    text-decoration: none;
    line-height: 1;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    .gnav a {
      font-size: 12px; }
      @media screen and (min-width: 320px) {
        .gnav a {
          font-size: calc( 12px + strip-unit(4px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .gnav a {
          font-size: 16px; } }
  @media only screen and (max-width: 640px) {
    .gnav {
      -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
      border-top: solid 1px #ddd;
      margin-left: -15px;
      margin-right: -15px; }
      .gnav li {
        width: 100%;
        border-bottom: solid 1px #ddd; }
        .gnav li:last-child {
          border-bottom: none; }
          .gnav li:last-child a {
            padding-bottom: 10px; }
      .gnav a {
        display: block;
        position: relative; }
        .gnav a:after {
          content: "";
          width: 10px;
          height: 10px;
          display: block;
          background-image: url(..//img/common/icon/arrow_r_blue.png);
          background-position: center center;
          background-repeat: no-repeat;
          background-size: contain;
          position: absolute;
          right: 15px;
          top: 50%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }
        .gnav a.link_external:after {
          background-image: url(..//img/common/icon/new_tab_blue.png); } }
  .gnav .spn_only {
    display: none; }
    @media only screen and (max-width: 640px) {
      .gnav .spn_only {
        display: block; } }

.is-fixed {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  padding-bottom: 10px;
  padding-top: 10px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  @media only screen and (min-width: 642px) {
    .is-fixed .header_inner {
      padding: 0 0 0 10px; }
    .is-fixed .header_navs {
      margin-top: -40px; }
    .is-fixed .header_logo img {
      height: 40px; }
    .is-fixed .header_navs {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }
    .is-fixed .gnav a {
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease;
      padding: 10px; }
      .is-fixed .gnav a {
        font-size: 10px; } }
    @media only screen and (min-width: 642px) and (min-width: 320px) {
      .is-fixed .gnav a {
        font-size: calc( 10px + strip-unit(3px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media only screen and (min-width: 642px) and (min-width: 960px) {
      .is-fixed .gnav a {
        font-size: 13px; } }
  @media only screen and (min-width: 642px) {
    .is-fixed .sub_nav .size_normal {
      padding: 0.5rem 3.5rem 0.5rem 2.5rem;
      font-size: 13px;
      min-width: inherit; } }
  @media only screen and (max-width: 640px) {
    .is-fixed {
      padding-top: 0; } }

.overlay {
  background: rgba(0, 0, 0, 0.2);
  position: fixed;
  z-index: 99;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh; }

.page-navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
      flex-direction: row;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
      justify-content: center;
  margin-top: 40px; }
  .page-navi .page-navi-list {
    display: inline-block;
    padding: 4px 0 0;
    line-height: 2.2;
    min-width: 40px;
    min-height: 36px;
    border: solid 1px #184375;
    margin-right: 4px;
    margin-left: 4px;
    text-decoration: none;
    color: #184375;
    text-align: center; }
    .page-navi .page-navi-list:hover {
      background-color: #184375;
      color: white; }
  .page-navi ._active {
    background-color: #184375;
    color: white; }

.l-slider {
  background: #edf6f8;
  padding: 4vw 0;
  margin-bottom: 10vw; }
  @media only screen and (min-width: 642px) {
    .l-slider {
      background: url(..//img/top/balloon_.png) right top no-repeat #edf6f8; } }

/*動画表示のモーダルの余白を変更したい場合*/
.modaal-video .modaal-inner-wrapper {
  padding: 0; }

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after,
.modaal-close:before {
  background: #ccc; }

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background: #666; }

.table-base {
  width: 100%; }
  @media only screen and (max-width: 640px) {
    .table-base {
      border-top: solid 1px #ddd; } }

._cell, .th_cell {
  padding: 24px;
  border: solid 1px #ddd;
  vertical-align: middle; }
  @media only screen and (max-width: 640px) {
    ._cell, .th_cell {
      display: block;
      width: 100%;
      padding: 16px;
      border-top: none; } }

.th_cell {
  background-color: #f5f5f5;
  width: 35%; }
  @media only screen and (max-width: 640px) {
    .th_cell {
      width: 100%; } }

.event-d-table {
  width: 100%; }
  .event-d-table tr {
    border-bottom: solid 1px #BBC2D0; }
    .event-d-table tr:first-child {
      border-top: solid 1px #BBC2D0; }
  .event-d-table th {
    width: 110px;
    background-color: #F2F6FC;
    text-align: center; }
  .event-d-table th, .event-d-table td {
    padding: 16px;
    font-size: 1em;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    @media only screen and (max-width: 640px) {
      .event-d-table th, .event-d-table td {
        font-size: 0.85me; } }

/* :::::: toggle button :::::: */
#navTgl {
  display: none; }

label.menu-label {
  cursor: pointer;
  position: fixed;
  top: 0;
  right: 0; }

.open {
  z-index: 2;
  width: 70px;
  height: 70px;
  background-color: #184375;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  background-image: url(../img/common/menu_btn.png);
  background-size: 40%;
  background-position: center;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 640px) {
    .open {
      width: 55px;
      height: 55px;
      background-size: 45%; } }

.btn-h-event,
.btn-h-access,
.btn-h-language {
  cursor: pointer;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 0;
  width: 70px;
  height: 70px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.6s;
  transition: 0.6s; }
  @media only screen and (max-width: 640px) {
    .btn-h-event,
    .btn-h-access,
    .btn-h-language {
      width: 55px;
      height: 55px; } }
  .btn-h-event img,
  .btn-h-access img,
  .btn-h-language img {
    width: 100%; }

.btn-h-language {
  right: 140px;
  padding: 0 11px;
  background-color: #8ce2d9; }
  @media only screen and (max-width: 640px) {
    .btn-h-language {
      right: 110px;
      padding: 0 9px; } }

.btn-h-access {
  right: 70px;
  padding: 0 17px;
  background-color: #49bae0; }
  @media only screen and (max-width: 640px) {
    .btn-h-access {
      right: 55px;
      padding: 0 13px; } }

.open span,
.open::before,
.open::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 30%;
  width: 40%;
  -webkit-transition: -webkit-transform 0.6s;
  transition: -webkit-transform 0.6s;
  transition: transform 0.6s;
  transition: transform 0.6s, -webkit-transform 0.6s; }

.close {
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-transition: background 0.6s;
  transition: background 0.6s; }

#navTgl:checked ~ .open,
#navTgl:checked ~ .btn-h-access,
#navTgl:checked ~ .btn-h-language,
#navTgl:checked ~ .btn-h-language-box.show
 {
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px); }
  @media only screen and (max-width: 640px) {
    #navTgl:checked ~ .open,
    #navTgl:checked ~ .btn-h-access,
    #navTgl:checked ~ .btn-h-language,
    #navTgl:checked ~ .btn-h-language-box.show
     {
      -webkit-transform: translateX(-310px);
              transform: translateX(-310px); } }

@media only screen and (max-width: 640px) {
  #navTgl:checked ~ .btn-h-language .btn-h-language-box.show {
    position: fixed;
    right: -110px; } }

#navTgl:checked ~ .open {
  background-image: url(../img/common/menu_btn_close.png); }

/*
#navTgl:checked ~ .open span {
	-webkit-transform: scaleX(0);
	        transform: scaleX(0);
}
#navTgl:checked ~ .open::before {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}
#navTgl:checked ~ .open::after {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}
*/
#navTgl:checked ~ .close {
  pointer-events: auto;
  background: rgba(0, 0, 0, 0.3); }

/* :::::: drawer menu :::::: */
.menu {
  z-index: 110;
  position: fixed;
  overflow: auto;
  top: 0;
  right: 0;
  width: 250px;
  height: 100%;
  margin: 0;
  padding: 10px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
  -webkit-transition: -webkit-transform 0.6s;
  transition: -webkit-transform 0.6s;
  transition: transform 0.6s;
  transition: transform 0.6s, -webkit-transform 0.6s; }
  @media only screen and (max-width: 640px) {
    .menu {
      width: 310px;
      -webkit-transform: translateX(310px);
              transform: translateX(310px); } }

.menu h2,
.menu a:hover {
  opacity: 0.8; }

.menu h2 {
  text-align: center; }

.menu ul {
  margin: 0;
  padding: 0; }

.menu li {
  font-size: 0.8em;
  line-height: 1.4;
  list-style: none; }

.menu li:not(:first-child) {
  border-top: 1px solid rgba(255, 255, 255, 0.6); }

.menu li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1em 2em;
  text-decoration: inherit;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-bottom: solid 1px #fff; }

.menu li a:hover {
  opacity: 0.9;
  background-color: #f5f5f5;
  padding-left: 32px;
  color: #000; }

#navTgl:checked ~ .menu {
  -webkit-transform: none;
          transform: none; }

/***********************************************/
.wrapper,
header {
  -webkit-transition: -webkit-transform 0.6s;
  transition: -webkit-transform 0.6s;
  transition: transform 0.6s;
  transition: transform 0.6s, -webkit-transform 0.6s; }

#navTgl:checked ~ .wrapper {
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px); }
  @media only screen and (max-width: 640px) {
    #navTgl:checked ~ .wrapper {
      -webkit-transform: translateX(-310px);
              transform: translateX(-310px); } }

#navTgl:checked ~ header {
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px); }
  @media only screen and (max-width: 640px) {
    #navTgl:checked ~ header {
      -webkit-transform: translateX(-310px);
              transform: translateX(-310px); } }

.menu-ttl {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  padding: 20px 0; }

.menu .menu-sns-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 0;
  background-color: #f5f5f5;
  margin-top: 10px; }
  .menu .menu-sns-btn li {
    width: 15%; }
  .menu .menu-sns-btn a {
    padding: 0;
    margin: 0 4px; }
    .menu .menu-sns-btn a img {
      width: 100%; }
  .menu .menu-sns-btn a:hover {
    padding: 0; }
    .menu .menu-sns-btn a:hover img {
      width: 100%; }

.menu li .menu-request,
.menu li .menu-event,
.menu li .menu-contact,
.menu li .menu-examination {
  background-color: #184375;
  color: #fff; }
  .menu li .menu-request:before,
  .menu li .menu-event:before,
  .menu li .menu-contact:before,
  .menu li .menu-examination:before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    margin-right: 10px; }
  .menu li .menu-request:hover,
  .menu li .menu-event:hover,
  .menu li .menu-contact:hover,
  .menu li .menu-examination:hover {
    color: #fff;
    background-color: #2f5582; }

.menu li .menu-request:before {
  background-image: url(../img/common/icon_request_white.png); }

.menu li .menu-event:before {
  height: 21px;
  background-image: url(../img/common/icon_calendar_white.png); }

.menu li .menu-contact:before {
  width: 20px;
  background-image: url(../img/common/icon_information_white.png); }

.menu li .menu-examination:before {
  width: 20px;
  background-image: url(../img/common/icon_contact_white.png); }

.check-out {
  display: block;
  position: relative; }

#gt-nvframe {
  display: none !important; }

.h-language-check {
  display: none; }

.btn-h-language-box {
  display: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  -webkit-transform: translateX(-10px);
          transform: translateX(-10px); }
  .btn-h-language-box .language-item {
    position: relative;
    padding: 10px 20px;
    display: inline-block; }
    .btn-h-language-box .language-item::before {
      content: "";
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      right: -8px;
      width: 10px;
      height: 10px;
      border-top: 2px solid #8ce2d9;
      border-right: 2px solid #8ce2d9;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
  .btn-h-language-box .h-language-close {
    display: inline-block;
    position: absolute;
    top: 16px;
    right: 16px;
    width: 24px;
    height: 24px;
    margin-left: 10px;
    margin-top: 8px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer; }
    @media only screen and (max-width: 640px) {
      .btn-h-language-box .h-language-close {
        width: 40px;
        height: 40px; } }
    .btn-h-language-box .h-language-close img {
      width: 100%;
      height: 100%; }

.btn-h-language-box.show {
  display: block;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.4s;
          transition-duration: 0.4s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  padding: 10px 0px;
  width: 210px;
  height: 150px;
  position: fixed;
  top: 70px;
  background: #fff;
  z-index: 1200;
  -webkit-transform: translateX(-10px);
          transform: translateX(-10px); }
  @media only screen and (max-width: 640px) {
    .btn-h-language-box.show {
      position: fixed;
      top: 55px;
      right: 0;
      width: 100vw;
      -webkit-transform: translateX(0px);
              transform: translateX(0px); } }

.grid {
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .grid.grid-col2 {
    grid-template-columns: 1fr 1fr; }
  .grid.grid-col3 {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .grid.grid-col4 {
    grid-template-columns: 1fr 1fr 1fr 1fr; }
  .grid.grid-col5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
  .grid.gap_xsmall {
    gap: 0.5em 0.5em; }
  .grid.gap_small {
    gap: 1em 1em; }
  .grid.gap_normal {
    gap: 8rem 4rem; }
  .grid.gap_large {
    gap: 7em 7em; }
  @media only screen and (max-width: 640px) {
    .grid.grid-spn-col1 {
      grid-template-columns: 1fr; } }
  @media only screen and (max-width: 640px) {
    .grid.grid-spn-col2 {
      grid-template-columns: 1fr 1fr; } }

.bread {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 25px 20px; }
  @media only screen and (max-width: 640px) {
    .bread {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      padding: 16px;
      white-space: nowrap;
      overflow-x: scroll;
      -ms-overflow-style: none; }
      .bread::-webkit-scrollbar {
        display: none; } }
  .bread * {
    position: relative;
    padding-left: 28px;
    line-height: 2;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    .bread * {
      font-size: 10px; }
      @media screen and (min-width: 320px) {
        .bread * {
          font-size: calc( 10px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .bread * {
          font-size: 12px; } }
    .bread *:first-child {
      padding-left: 0; }
  .bread * + *:before {
    content: '';
    margin-right: 8px;
    margin-left: 8px;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: block;
    width: 8px;
    height: 8px;
    content: '';
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../img/common/arrow_black.svg); }
    @media only screen and (max-width: 640px) {
      .bread * + *:before {
        width: 6px;
        height: 6px; } }
  @media only screen and (max-width: 640px) {
    .bread li:last-child {
      padding-right: 16px; } }
  .bread a {
    text-decoration: none; }
  .bread a:hover {
    text-decoration: underline; }
  .bread li:nth-child(1),
  .bread li:nth-child(2) {
    white-space: nowrap; }

/** @format */
.btn {
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: inline-block;
  text-decoration: none;
  font-weight: bold; }
  .btn.color_primary {
    background: #184375;
    color: #fff;
    border: solid 1px #184375; }
  .btn.color_basic {
    background: #ffffff;
    color: #184375;
    border: solid 2px #184375; }
  .btn.color_secondary {
    background: #F5515F;
    color: #fff;
    border: solid 1px #F5515F; }
  .btn.color_basic {
    background: #ffffff;
    color: #184375;
    border: solid 2px #184375; }
  .btn.color_error {
    background: red;
    color: #fff;
    border: solid 1px red; }
  .btn.color_basic {
    background: #ffffff;
    color: #184375;
    border: solid 2px #184375; }
  .btn.color_basic {
    background: #184375;
    color: #fff;
    border: solid 1px #184375; }
  .btn.color_basic {
    background: #ffffff;
    color: #184375;
    border: solid 2px #184375; }
  .btn.color_bg-gray {
    background: #f5f5f5;
    color: #fff;
    border: solid 1px #f5f5f5; }
  .btn.color_basic {
    background: #ffffff;
    color: #184375;
    border: solid 2px #184375; }
  .btn.color_cv {
    background: #F7827E;
    color: #fff;
    border: solid 1px #F7827E; }
  .btn.color_basic {
    background: #ffffff;
    color: #184375;
    border: solid 2px #184375; }
  .btn.shape_round_corner {
    border-radius: 1000px;
    text-decoration: none; }
  .btn.size_small {
    padding: 1rem 3rem;
    font-size: 1.6rem; }
  .btn.size_normal {
    padding: 1.4rem 3rem;
    font-size: 18px;
    min-width: 290px;
    text-align: center; }
  .btn.size_large {
    width: 100%;
    padding: 2rem 3rem;
    font-size: 16px;
    text-align: center; }
  .btn.size_full {
    width: 100%;
    padding: 1rem 3rem;
    font-size: 14px;
    padding-left: 2rem;
    padding-right: 2rem;
    text-align: center; }
  .btn.size_item {
    width: 100%;
    padding: 0.5rem 1rem;
    font-size: 12px;
    text-align: center; }
  @media only screen and (max-width: 640px) {
    .btn[class^="size_"] {
      padding-left: 2rem !important;
      padding-right: 2rem !important; } }
  .btn i {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    .btn i.pos_right {
      right: 1rem; }
    .btn i.pos_left {
      left: 1rem; }
  .btn.icon:after {
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: block;
    width: 10px;
    height: 10px;
    content: "";
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain; }
  .btn.icon_newtab:after {
    background-image: url(..//img/common/icon/new_tab_white.svg); }
  .btn.icon_arrow_r:after {
    background-image: url(..//img/common/icon/arrow_r_white.svg); }
  .btn.icon_pdf:after {
    background-image: url(..//img/common/icon/pdf_white.svg);
    width: 16px;
    height: 16px; }
  .btn:hover.color_primary {
    color: #184375;
    background: #fff;
    border: solid 1px #184375;
    text-decoration: none; }
  .btn:hover.color_basic {
    color: #fff;
    background: #184375;
    border: solid 2px #184375;
    text-decoration: none; }
  .btn:hover.color_secondary {
    color: #F5515F;
    background: #fff;
    border: solid 1px #F5515F;
    text-decoration: none; }
  .btn:hover.color_basic {
    color: #fff;
    background: #184375;
    border: solid 2px #184375;
    text-decoration: none; }
  .btn:hover.color_error {
    color: red;
    background: #fff;
    border: solid 1px red;
    text-decoration: none; }
  .btn:hover.color_basic {
    color: #fff;
    background: #184375;
    border: solid 2px #184375;
    text-decoration: none; }
  .btn:hover.color_basic {
    color: #184375;
    background: #fff;
    border: solid 1px #184375;
    text-decoration: none; }
  .btn:hover.color_basic {
    color: #fff;
    background: #184375;
    border: solid 2px #184375;
    text-decoration: none; }
  .btn:hover.color_bg-gray {
    color: #f5f5f5;
    background: #fff;
    border: solid 1px #f5f5f5;
    text-decoration: none; }
  .btn:hover.color_basic {
    color: #fff;
    background: #184375;
    border: solid 2px #184375;
    text-decoration: none; }
  .btn:hover.color_cv {
    color: #F7827E;
    background: #fff;
    border: solid 1px #F7827E;
    text-decoration: none; }
  .btn:hover.color_basic {
    color: #fff;
    background: #184375;
    border: solid 2px #184375;
    text-decoration: none; }
  .btn:hover.icon_newtab:after {
    background-image: url(..//img/common/icon/new_tab_blue.svg); }
  .btn:hover.icon_arrow_r:after {
    background-image: url(..//img/common/icon/arrow_r_blue.svg); }
  .btn:hover.icon_arrow_l:before {
    background-image: url(..//img/common/icon/arrow_l_white.svg); }
  .btn:hover.icon_pdf:after {
    background-image: url(..//img/common/icon/pdf_red.svg);
    width: 16px;
    height: 16px; }

.r-hover {
  text-decoration: none; }
  .r-hover:hover {
    text-decoration: underline; }

.gray-btn {
  width: 100%;
  padding: 1rem 3rem;
  font-size: 1.6rem;
  background-color: #f5f5f5;
  color: #184375;
  text-align: center; }

.non-link {
  pointer-events: none; }
  @media only screen and (max-width: 640px) {
    .non-link {
      pointer-events: auto; } }

.icon_tel:before,
.icon_fax:before {
  display: inline-block;
  width: 18px;
  height: 18px;
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 4px;
  vertical-align: middle; }

.icon_tel:before {
  background-image: url(..//img/common/icon/icon_tel.svg); }

.icon_fax:before {
  background-image: url(..//img/common/icon/icon_fax.svg); }

.link_white {
  color: #fff;
  text-decoration: underline;
  padding: 1rem 4rem;
  border: solid 2px #fff;
  border-radius: 1000px; }
  .link_white:hover {
    text-decoration: none;
    color: #fff; }

@media only screen and (max-width: 640px) {
  .b-block .btn {
    min-width: 100%;
    padding: 1rem 2.6rem;
    font-size: 1.6rem; } }
.flowing {
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s; }
  .flowing:hover {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
    -webkit-transition-duration: 0.5s;
            transition-duration: 0.5s;
    opacity: 0.9; }

.slide_btn {
  position: relative;
  padding: 10px 30px;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#0ec0dd), to(#5966e9));
  background: linear-gradient(to right, #0ec0dd, #5966e9);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  background-size: 150% 150%;
  /*サイズを大きくひきのばす*/
  outline: none;
  font-size: 2.6rem;
  font-weight: bold;
  width: 600px;
  -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.5);
  margin-top: 20px;
  border: none;
  overflow: hidden;
  line-height: normal; }
  .slide_btn:hover {
    color: #fff;
    text-decoration: none;
    border: none;
    background-position: right center; }
  @media only screen and (max-width: 640px) {
    .slide_btn {
      width: 310px;
      font-size: 2rem; } }

.btn_arrow::before {
  background: url(../../assets/img/slide/slide_btn_arrow.png) no-repeat;
  content: "";
  display: inline-block;
  width: 30px;
  height: 16px;
  background-size: contain;
  vertical-align: middle;
  /*絶対配置で下線の位置を決める*/
  position: absolute;
  top: 55%;
  right: 15%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-animation: arrowmove 1s ease-in-out infinite;
          animation: arrowmove 1s ease-in-out infinite; }
  @media only screen and (max-width: 640px) {
    .btn_arrow::before {
      width: 20px;
      height: 12px; } }

@-webkit-keyframes arrowmove {
  0% {
    right: -2px; }
  50% {
    right: 2px; }
  100% {
    right: -2px; } }

@keyframes arrowmove {
  0% {
    right: -2px; }
  50% {
    right: 2px; }
  100% {
    right: -2px; } }
.btn_shine::after {
  content: "";
  /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
  /*キラッと光る形状*/
  width: 50%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.3)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  -webkit-transform: skewX(-25deg);
          transform: skewX(-25deg);
  -webkit-animation: shine 3s ease-in-out infinite;
          animation: shine 3s ease-in-out infinite; }

@-webkit-keyframes shine {
  0% {
    left: -100%; }
  100% {
    left: 125%; } }

@keyframes shine {
  0% {
    left: -100%; }
  100% {
    left: 125%; } }
.btn_line {
  background: #00c300; }

.inner, .bread {
  max-width: 1080px;
  padding-left: 15px;
  padding-right: 15px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.inquiry-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
      justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center; }
  .inquiry-flow li {
    padding: 6px 2px;
    border-bottom: solid 1px #aaa;
    color: #aaa;
    margin: 0 8px;
    position: relative;
    font-size: 18px; }
  .inquiry-flow li + li {
    margin-left: 2em; }
    .inquiry-flow li + li:before {
      content: "";
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      display: block;
      width: 10px;
      height: 10px;
      left: -1.65em;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain;
      background-image: url(..//img/common/icon/arrow_gray.svg); }
  .inquiry-flow ._active {
    color: #184375;
    border-bottom: solid 1px #184375;
    font-weight: bold; }

.table-inquiry input {
  border: solid 1px #ddd;
  padding: 4px 8px;
  margin-left: 4px;
  margin-right: 4px; }
  .table-inquiry input::-webkit-input-placeholder {
    color: #ccc; }
@-moz-document url-prefix() {
  .table-inquiry input::-webkit-input-placeholder {
    color: #888; } }
  .table-inquiry input::-moz-placeholder {
    color: #ccc; }
@-moz-document url-prefix() {
  .table-inquiry input::-moz-placeholder {
    color: #888; } }
  .table-inquiry input:-ms-input-placeholder {
    color: #ccc; }
@-moz-document url-prefix() {
  .table-inquiry input:-ms-input-placeholder {
    color: #888; } }
  .table-inquiry input::-ms-input-placeholder {
    color: #ccc; }
@-moz-document url-prefix() {
  .table-inquiry input::-ms-input-placeholder {
    color: #888; } }
  .table-inquiry input::-webkit-input-placeholder {
    color: #ccc; }
  .table-inquiry input:-ms-input-placeholder {
    color: #ccc; }
  .table-inquiry input::-ms-input-placeholder {
    color: #ccc; }
  .table-inquiry input::placeholder {
    color: #ccc; }
@-moz-document url-prefix() {
  .table-inquiry input::placeholder {
    color: #888; } }
  @media only screen and (max-width: 640px) {
    .table-inquiry input {
      margin-left: 0px;
      margin-right: 0px; } }
.table-inquiry input[type="radio"], .table-inquiry input[type="checkbox"] {
  margin-top: -6px; }
.table-inquiry label {
  display: inline-block;
  margin-right: 16px;
  line-height: 2; }
  .table-inquiry label ~ label {
    margin-right: 16px; }
  .table-inquiry label:last-child {
    margin-right: 0; }
.table-inquiry .error-text {
  color: red; }
.table-inquiry .icon_error {
  position: relative;
  padding-left: 24px; }
  .table-inquiry .icon_error:before {
    content: "";
    position: absolute;
    top: 40%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: block;
    width: 16px;
    height: 16px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(..//img/common/icon/icon_error.svg); }

.size_half {
  padding: 2rem 3rem;
  font-size: 1em;
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: center;
  width: 50%; }
  @media only screen and (max-width: 640px) {
    .size_half {
      width: 100%;
      padding-left: 2rem !important;
      padding-right: 2rem !important; } }

.icon_r:before {
  position: absolute;
  left: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  width: 10px;
  height: 10px;
  content: '';
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain; }

.icon_arrow_l:before {
  background-image: url(..//img/common/icon/arrow_l_blue.svg); }

.l-thanks {
  padding: 4vw; }
  @media only screen and (max-width: 640px) {
    .l-thanks {
      padding: 8vw 2px; } }

.bg_thanks {
  background-color: #f5f5f5; }

.ttl-thanks {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: #184375;
  padding-bottom: 20px;
  margin: 20px;
  border-bottom: solid 1px #ddd; }
  .ttl-thanks {
    font-size: 24px; }
    @media screen and (min-width: 320px) {
      .ttl-thanks {
        font-size: calc( 24px + strip-unit(8px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .ttl-thanks {
        font-size: 32px; } }

.main-thanks {
  width: 100%;
  max-width: 550px;
  padding: 0 20px; }

.inquiry_en {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
      justify-content: center;
  width: 100%;
  padding: .5em 2.5em;
  color: white;
  text-decoration: none;
  text-align: center;
  font-weight: 700;
  position: relative;
  background-color: #184375;
  font-size: 16px;
  border: solid 1px #184375; }
  .inquiry_en:after {
    content: "";
    position: absolute;
    width: 1em;
    height: 1em;
    background-image: url("..//img/common/icon/new_tab_white.svg");
    background-size: cover;
    right: 1em; }
  .inquiry_en:hover {
    background-color: white; }
    .inquiry_en:hover:after {
      background-image: url("..//img/common/icon/new_tab_blue.svg"); }

@media only screen and (max-width: 640px) {
  td .event_order_area:first-child {
    border-top: solid 1px #ccc;
    padding-top: 20px; } }

.event_order_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center; }
  .event_order_area label + select {
    margin-top: 10px; }
  .event_order_area .cmn-form_select {
    padding: 6px 10px; }
  .event_order_area + .event_order_area {
    border-top: solid 1px #ccc;
    padding-top: 20px;
    margin-top: 20px; }

.event_order_area input {
  margin-right: 20px; }

.event_order_area label {
  width: 95%;
  display: inline-block; }

.ol-list {
  counter-reset: li_count;
  padding: 16px; }
  @media only screen and (max-width: 640px) {
    .ol-list {
      padding: 0 0 0 8px; } }
  .ol-list li {
    padding-left: 36px;
    position: relative; }
    @media only screen and (max-width: 640px) {
      .ol-list li {
        padding-left: 24px; } }
    .ol-list li:before {
      content: counter(li_count) ".";
      counter-increment: li_count;
      position: absolute;
      top: 0;
      left: 0; }
  .ol-list li + li {
    margin-top: 16px; }

@media only screen and (max-width: 640px) {
  .li-list {
    padding: 0 0 0 8px; } }
.li-list li {
  padding-left: 28px;
  position: relative; }
  @media only screen and (max-width: 640px) {
    .li-list li {
      padding-left: 24px; } }
  .li-list li:before {
    content: "●";
    position: absolute;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    top: 0;
    left: 0;
    color: #184375; }
    .li-list li:before {
      font-size: 12px; }
      @media screen and (min-width: 320px) {
        .li-list li:before {
          font-size: calc( 12px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .li-list li:before {
          font-size: 14px; } }
.li-list li + li {
  margin-top: 16px; }

.news_list {
  border-top: solid 1px #ddd; }
  .news_list > li {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: solid 1px #ddd; }
  .news_list a {
    text-decoration: none; }

.news_list_date {
  color: #bbc2d0;
  text-decoration: none; }
  .news_list_date._ttl {
    color: #184375; }

.news_list_icon {
  color: #184375;
  border: solid 1px #184375;
  font-size: 10px;
  padding: 2px 20px;
  line-height: 1;
  min-width: 110px;
  display: inline-block;
  text-align: center;
  vertical-align: middle; }

.news_table {
  margin: 10px 0;
  width: 130%;
  border: solid 1px #174170;
  font-size: 1.6rem; }

.news_table tr {
  border-bottom: solid 1px #174170; }

.news_table th,
.news_table td {
  padding: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-right: solid 1px #174170; }

.news_table th:last-child,
.news_table td:last-child {
  border-right: 0; }

.news_table th:first-child,
.news_table td:first-child {
  border-right: solid 1px #174170; }

.news_table th {
  vertical-align: middle;
  background-color: #e7f1f7;
  text-align: center; }

.news_table td {
  vertical-align: middle;
  text-align: left; }

.li_style_disc {
  list-style: disc;
  padding-left: 20px;
  margin: 10px; }

.li_style_disc li {
  margin-bottom: 0.8em;
  font-weight: bold;
  line-height: 1.5; }

@media screen and (max-width: 480px) {
  .news_table {
    font-size: 1.2rem;
    width: 800px; }

  .news_table th,
  .news_table td {
    padding: 1em 6px; }

  .news_table td {
    text-align: left; } }
.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  /* flex-direction */
  /* space */ }
  .row.equality li {
    position: relative; }
  .row.equality.row1 > * {
    width: 100%; }
  .row.equality.row2 > * {
    width: 50%; }
  .row.equality.row3 > * {
    width: 33.3333333333%; }
  .row.equality.row4 > * {
    width: 25%; }
  .row.equality.row5 > * {
    width: 20%; }
  .row.equality.row6 > * {
    width: 16.6666666667%; }
  .row.equality.row7 > * {
    width: 14.2857142857%; }
  .row.equality.row8 > * {
    width: 12.5%; }
  .row.equality.row9 > * {
    width: 11.1111111111%; }
  .row.equality.row10 > * {
    width: 10%; }
  @media only screen and (min-width: 642px) {
    .row.equality.row_pc_1 > * {
      width: 100% !important; }
    .row.equality.row_pc_2 > * {
      width: 50% !important; }
    .row.equality.row_pc_3 > * {
      width: 33.3333333333% !important; }
    .row.equality.row_pc_4 > * {
      width: 25% !important; }
    .row.equality.row_pc_5 > * {
      width: 20% !important; }
    .row.equality.row_pc_6 > * {
      width: 16.6666666667% !important; }
    .row.equality.row_pc_7 > * {
      width: 14.2857142857% !important; }
    .row.equality.row_pc_8 > * {
      width: 12.5% !important; }
    .row.equality.row_pc_9 > * {
      width: 11.1111111111% !important; }
    .row.equality.row_pc_10 > * {
      width: 10% !important; } }
  @media only screen and (min-width: 641px) and (max-width: 641px) {
    .row.equality.row_tablet_1 > * {
      width: 100% !important; }
    .row.equality.row_tablet_2 > * {
      width: 50% !important; }
    .row.equality.row_tablet_3 > * {
      width: 33.3333333333% !important; }
    .row.equality.row_tablet_4 > * {
      width: 25% !important; }
    .row.equality.row_tablet_5 > * {
      width: 20% !important; }
    .row.equality.row_tablet_6 > * {
      width: 16.6666666667% !important; }
    .row.equality.row_tablet_7 > * {
      width: 14.2857142857% !important; }
    .row.equality.row_tablet_8 > * {
      width: 12.5% !important; }
    .row.equality.row_tablet_9 > * {
      width: 11.1111111111% !important; }
    .row.equality.row_tablet_10 > * {
      width: 10% !important; } }
  @media only screen and (max-width: 640px) {
    .row.equality.row_spn_1 > * {
      width: 100% !important; }
    .row.equality.row_spn_2 > * {
      width: 50% !important; }
    .row.equality.row_spn_3 > * {
      width: 33.3333333333% !important; }
    .row.equality.row_spn_4 > * {
      width: 25% !important; }
    .row.equality.row_spn_5 > * {
      width: 20% !important; }
    .row.equality.row_spn_6 > * {
      width: 16.6666666667% !important; }
    .row.equality.row_spn_7 > * {
      width: 14.2857142857% !important; }
    .row.equality.row_spn_8 > * {
      width: 12.5% !important; }
    .row.equality.row_spn_9 > * {
      width: 11.1111111111% !important; }
    .row.equality.row_spn_10 > * {
      width: 10% !important; } }
  .row > .row1 {
    width: 10%; }
  .row > .row2 {
    width: 20%; }
  .row > .row3 {
    width: 30%; }
  .row > .row4 {
    width: 40%; }
  .row > .row5 {
    width: 50%; }
  .row > .row6 {
    width: 60%; }
  .row > .row7 {
    width: 70%; }
  .row > .row8 {
    width: 80%; }
  .row > .row9 {
    width: 90%; }
  .row > .row10 {
    width: 100%; }
  @media only screen and (min-width: 642px) {
    .row > .row_pc_1 {
      width: 10%!important; }
    .row > .row_pc_2 {
      width: 20%!important; }
    .row > .row_pc_3 {
      width: 30%!important; }
    .row > .row_pc_4 {
      width: 40%!important; }
    .row > .row_pc_5 {
      width: 50%!important; }
    .row > .row_pc_6 {
      width: 60%!important; }
    .row > .row_pc_7 {
      width: 70%!important; }
    .row > .row_pc_8 {
      width: 80%!important; }
    .row > .row_pc_9 {
      width: 90%!important; }
    .row > .row_pc_10 {
      width: 100%!important; } }
  @media only screen and (min-width: 641px) and (max-width: 641px) {
    .row > .row_tablet_1 {
      width: 10%!important; }
    .row > .row_tablet_2 {
      width: 20%!important; }
    .row > .row_tablet_3 {
      width: 30%!important; }
    .row > .row_tablet_4 {
      width: 40%!important; }
    .row > .row_tablet_5 {
      width: 50%!important; }
    .row > .row_tablet_6 {
      width: 60%!important; }
    .row > .row_tablet_7 {
      width: 70%!important; }
    .row > .row_tablet_8 {
      width: 80%!important; }
    .row > .row_tablet_9 {
      width: 90%!important; }
    .row > .row_tablet_10 {
      width: 100%!important; } }
  @media only screen and (max-width: 640px) {
    .row > .row_spn_1 {
      width: 10%!important; }
    .row > .row_spn_2 {
      width: 20%!important; }
    .row > .row_spn_3 {
      width: 30%!important; }
    .row > .row_spn_4 {
      width: 40%!important; }
    .row > .row_spn_5 {
      width: 50%!important; }
    .row > .row_spn_6 {
      width: 60%!important; }
    .row > .row_spn_7 {
      width: 70%!important; }
    .row > .row_spn_8 {
      width: 80%!important; }
    .row > .row_spn_9 {
      width: 90%!important; }
    .row > .row_spn_10 {
      width: 100%!important; } }
  @media only screen and (min-width: 642px) {
    .row.row_pc_reverse {
      -webkit-box-orient: horizontal !important;
      -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important; } }
  @media only screen and (min-width: 641px) and (max-width: 641px) {
    .row.row_tablet_reverse {
      -webkit-box-orient: horizontal !important;
      -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important; } }
  @media only screen and (max-width: 640px) {
    .row.row_spn_reverse {
      -webkit-box-orient: horizontal !important;
      -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important; } }
  @media only screen and (min-width: 642px) {
    .row.colum_pc_reverse {
      -webkit-box-orient: vertical !important;
      -webkit-box-direction: reverse !important;
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important; } }
  @media only screen and (min-width: 641px) and (max-width: 641px) {
    .row.column_tablet_reverse {
      -webkit-box-orient: vertical !important;
      -webkit-box-direction: reverse !important;
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important; } }
  @media only screen and (max-width: 640px) {
    .row.column_spn_reverse {
      -webkit-box-orient: vertical !important;
      -webkit-box-direction: reverse !important;
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important; } }
  .row.space_xsmall {
    width: calc(100% + 1rem);
    margin-right: -1rem; }
    .row.space_xsmall > * {
      padding-right: 1rem; }
  .row.space_small {
    width: calc(100% + 2.5rem);
    margin-right: -2.5rem; }
    .row.space_small > * {
      padding-right: 2.5rem; }
  .row.space_normal {
    width: calc(100% + 4vw);
    margin-right: -4vw; }
    .row.space_normal > * {
      padding-right: 4vw; }
  .row.space_large {
    width: calc(100% + 10vw);
    margin-right: -10vw; }
    .row.space_large > * {
      padding-right: 10vw; }
  .row.space_xlarge {
    width: calc(100% + 16vw);
    margin-right: -16vw; }
    .row.space_xlarge > * {
      padding-right: 16vw; }

.spn_w_full {
  width: 100%; }

.row2 li:only-child {
  margin: 0 auto; }

@media only screen and (max-width: 640px) {
  .row.equality.row2 > * {
    width: 100%; } }

@media only screen and (max-width: 640px) {
  .row.equality.row4 > * {
    width: 50%; } }

.row-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
      align-items: flex-start;
  -webkit-box-orient: vertical; }
  .row-wrap.row2 > * {
    width: calc(100%/2 - 4%);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 2%; }

.side-list-ttl {
  pointer-events: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .side-list-ttl {
    font-size: 12px; }
    @media screen and (min-width: 320px) {
      .side-list-ttl {
        font-size: calc( 12px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .side-list-ttl {
        font-size: 14px; } }

.twoway-side input {
  display: none; }
.twoway-side ._active {
  background: #f5f5f5; }
.twoway-side.side-list:last-child {
  border-bottom: solid 1px #ddd; }

.ttl-side {
  padding-bottom: 1rem;
  border-bottom: solid 2px #184375; }

.side-list-li {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-top: solid 1px #ddd; }
  .side-list-li {
    font-size: 12px; }
    @media screen and (min-width: 320px) {
      .side-list-li {
        font-size: calc( 12px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .side-list-li {
        font-size: 14px; } }

.toggle.side-list {
  border-bottom: none; }

.side-list .side-list-li a,
.side-list-ttl {
  padding: 16px 28px 16px 12px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  display: inline-block;
  text-decoration: none;
  position: relative; }

._arrow:after {
  content: "";
  right: 1em;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 10px;
  height: 10px;
  background: url(..//img/common/icon/arrow_r_blue.png) center center no-repeat;
  background-size: contain; }

._plus:after {
  content: "";
  right: 1em;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 10px;
  height: 10px;
  background: url(..//img/common/icon/plus_blue.png) center center no-repeat;
  background-size: contain; }

._nest {
  padding-left: 28px !important; }
  ._nest:before {
    content: "";
    left: 1em;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: block;
    width: 8px;
    height: 8px;
    background: url(..//img/common/icon/nest_blue.svg) center center no-repeat;
    background-size: contain; }

.toggle .side-list-li:first-child {
  border-top: none; }

@media screen and (max-width: 640px) {
  .side-list-ttl {
    pointer-events: all; }

  .toggle {
    max-height: 0;
    opacity: 0;
    visibility: visible;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    transition: all 0.5s; }

  input:checked + .toggle {
    max-height: 1000em;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    opacity: 1;
    visibility: visible; }

  .side-list .toggle .side-list-li {
    line-height: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.5s;
    transition: all 0.5s; }

  input:checked + .toggle .side-list-li {
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.5s;
    transition: all 0.5s; } }
.l-slider {
  overflow: hidden; }
  @media only screen and (max-width: 640px) {
    .l-slider {
      max-height: 250px; } }

.slider {
  overflow: hidden;
  position: relative; }

.slick-slide {
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
  margin: 0;
  min-height: 400px; }

.slider__item {
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
  display: inine-block; }
  .slider__item a:hover img {
    opacity: 1; }

.slick-current {
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease; }

.slick-slide.slick-current .slider__item,
.slick-slide.is-active-next .slider__item {
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease; }

.slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
      flex-direction: row;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
      justify-content: center;
  margin-top: 2.5rem;
  bottom: 30px;
  margin-bottom: 0; }
  .slick-dots li {
    display: block;
    width: 3em;
    height: 6px;
    background: #ccc;
    overflow: hidden;
    margin: 0 12px; }
    .slick-dots li > * {
      visibility: hidden; }
  .slick-dots .slick-active {
    background: #00fff5;
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, right top, from(#00fff5), to(#7db9e8));
    background: linear-gradient(to right, #00fff5 0%, #7db9e8 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fff5', endColorstr='#7db9e8',GradientType=1 );
    /* IE6-9 */ }
  @media only screen and (max-width: 640px) {
    .slick-dots {
      margin-top: 1em; }
      .slick-dots li {
        width: 3em;
        margin: 0 5px;
        height: 6px; } }

.slick-prev,
.slick-next {
  font-family: "Yu micho";
  position: absolute;
  z-index: 1;
  top: 50%;
  color: #000;
  padding: 6px 10px 0; }

.slick-prev {
  left: 0; }
  .slick-prev:before {
    content: "←";
    font-size: 1.5em;
    height: auto;
    font-weight: bold;
    line-height: 1em; }
  .slick-prev:hover {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    opacity: 1; }
  @media only screen and (max-width: 640px) {
    .slick-prev {
      left: 6vw;
      top: 92%; } }

.slick-next {
  right: 0; }
  .slick-next:before {
    content: "→";
    font-size: 1.5em;
    height: auto;
    font-weight: bold;
    line-height: 1em; }
  .slick-next:hover {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    opacity: 1; }
  @media only screen and (max-width: 640px) {
    .slick-next {
      right: 6vw;
      top: 92%; } }

.slick-prev:before,
.slick-next:before {
  font-size: 4em;
  line-height: 1;
  opacity: 0.75;
  color: white; }
  @media only screen and (max-width: 640px) {
    .slick-prev:before,
    .slick-next:before {
      font-size: 2em; } }

.slick-dots li {
  position: relative;
  display: inline-block;
  padding: 0;
  cursor: pointer; }

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  padding: 5px;
  cursor: pointer;
  color: #fff;
  border: 0;
  outline: none; }

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none; }

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1; }

.slick-dots li button:before {
  font-family: "slick";
  font-size: 4em;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: "•";
  text-align: center;
  opacity: 0.25;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-dots li.slick-active button:before {
  opacity: 0.75;
  color: black; }

.ttl_primary {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin: 80px auto 40px;
  text-align: center;
  font-size: 1.4em; }
  .ttl_primary {
    font-size: 12px; }
    @media screen and (min-width: 320px) {
      .ttl_primary {
        font-size: calc( 12px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .ttl_primary {
        font-size: 14px; } }
  @media only screen and (max-width: 640px) {
    .ttl_primary {
      margin: 60px auto 30px; } }
  .ttl_primary:before {
    display: block;
    font-family: "Montserrat", "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
    content: attr(data-en);
    font-weight: 600;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: #184375;
    text-transform: uppercase;
    margin-bottom: 6px;
    line-height: 1; }
    .ttl_primary:before {
      font-size: 32px; }
      @media screen and (min-width: 320px) {
        .ttl_primary:before {
          font-size: calc( 32px + strip-unit(16px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .ttl_primary:before {
          font-size: 48px; } }
  .ttl_primary_ja {
    font-size: 4rem;
    color: #184375;
    text-transform: uppercase;
    line-height: 1;
    font-weight: 600;
    margin: 80px auto 40px;
    text-align: center; }
    @media only screen and (max-width: 640px) {
      .ttl_primary_ja {
        font-size: 3rem;
        margin: 60px auto 30px; } }

.ttl_secondary {
  position: relative;
  text-align: center;
  padding: 50px 20px 10px;
  color: #184375; }
  .ttl_secondary .under-text {
    text-decoration: none !important;
    border-bottom: solid 1px #184375;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    padding-bottom: 4px;
    line-height: 2; }
    .ttl_secondary .under-text {
      font-size: 23px; }
      @media screen and (min-width: 320px) {
        .ttl_secondary .under-text {
          font-size: calc( 23px + strip-unit(5px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .ttl_secondary .under-text {
          font-size: 28px; } }
  .ttl_secondary .small-text {
    display: block;
    padding: 10px 0;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    .ttl_secondary .small-text {
      font-size: 8px; }
      @media screen and (min-width: 320px) {
        .ttl_secondary .small-text {
          font-size: calc( 8px + strip-unit(4px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .ttl_secondary .small-text {
          font-size: 12px; } }

.ttl_secondary2 {
  position: relative;
  text-align: center;
  padding: 20px 20px 0px;
  color: #184375; }
  .ttl_secondary2 .under-text {
    text-decoration: none !important;
    border-bottom: solid 1px #184375;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    padding-bottom: 4px;
    line-height: 1.6; }
    .ttl_secondary2 .under-text {
      font-size: 23px; }
      @media screen and (min-width: 320px) {
        .ttl_secondary2 .under-text {
          font-size: calc( 23px + strip-unit(5px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .ttl_secondary2 .under-text {
          font-size: 28px; } }
  .ttl_secondary2 .small-text {
    display: block;
    padding: 10px 0;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    .ttl_secondary2 .small-text {
      font-size: 8px; }
      @media screen and (min-width: 320px) {
        .ttl_secondary2 .small-text {
          font-size: calc( 8px + strip-unit(4px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .ttl_secondary2 .small-text {
          font-size: 12px; } }

.ttl_thirdary {
  font-weight: 700;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding-bottom: 0.2em;
  margin-bottom: 2rem;
  border-bottom: solid 1px #184375; }
  .ttl_thirdary {
    font-size: 20px; }
    @media screen and (min-width: 320px) {
      .ttl_thirdary {
        font-size: calc( 20px + strip-unit(4px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .ttl_thirdary {
        font-size: 24px; } }

.ttl_quaternary {
  font-weight: 700;
  margin-bottom: 0.5em;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .ttl_quaternary {
    font-size: 14px; }
    @media screen and (min-width: 320px) {
      .ttl_quaternary {
        font-size: calc( 14px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .ttl_quaternary {
        font-size: 16px; } }

.ttl_bold {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 700;
  padding-bottom: 1em;
  color: #184375; }
  .ttl_bold {
    font-size: 18px; }
    @media screen and (min-width: 320px) {
      .ttl_bold {
        font-size: calc( 18px + strip-unit(6px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .ttl_bold {
        font-size: 24px; } }

.ttl_page {
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  background-color: #f5f5f5;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: white; }
  .ttl_page {
    font-size: 12px; }
    @media screen and (min-width: 320px) {
      .ttl_page {
        font-size: calc( 12px + strip-unit(6px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .ttl_page {
        font-size: 18px; } }
  .ttl_page img {
    position: absolute;
    text-align: center;
    width: 100%;
    top: -33%; }
  .ttl_page .ttl_page_cap {
    display: block;
    margin: 48px auto 32px;
    z-index: 1;
    width: 100%; }
  .ttl_page .ttl_page_cap-bold {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-weight: bold;
    line-height: 1em; }
    .ttl_page .ttl_page_cap-bold {
      font-size: 24px; }
      @media screen and (min-width: 320px) {
        .ttl_page .ttl_page_cap-bold {
          font-size: calc( 24px + strip-unit(12px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .ttl_page .ttl_page_cap-bold {
          font-size: 36px; } }

._page_ttl_column {
  top: 0; }

@media only screen and (max-width: 640px) {
  ._page_ttl_news {
    width: 200% !important;
    max-width: 200%;
    left: -50%; } }

.ttl_group {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-bottom: 40px;
  text-align: center;
  font-weight: bold; }
  .ttl_group {
    font-size: 24px; }
    @media screen and (min-width: 320px) {
      .ttl_group {
        font-size: calc( 24px + strip-unit(4px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .ttl_group {
        font-size: 28px; } }
  @media only screen and (max-width: 640px) {
    .ttl_group {
      margin-bottom: 0; } }
  .ttl_group:before {
    display: block;
    content: attr(data-en);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: #aaa;
    text-transform: uppercase; }
    .ttl_group:before {
      font-size: 12px; }
      @media screen and (min-width: 320px) {
        .ttl_group:before {
          font-size: calc( 12px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .ttl_group:before {
          font-size: 14px; } }
  .ttl_group:after {
    display: block;
    content: "";
    width: 40px;
    height: 3px;
    background: #184375;
    margin: 20px auto 0; }

/*
  .container {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	        justify-content: space-between;
	width: 100%;
	max-width: 700px;
	height: auto;
	margin: 0 auto;
	padding: 40px 0;
  }
*/
.block {
  width: 100%;
  height: 200px;
  margin: 0 0 2% 0;
  overflow: hidden; }

.block .blockInner {
  width: inherit;
  height: inherit;
  line-height: 200px;
  font-size: 1.5em;
  text-align: center;
  color: #555;
  background-color: #fff; }

.animate {
  opacity: 0; }

.isPlay {
  -webkit-animation-name: play;
  animation-name: play;
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  position: relative;
  opacity: 1 !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block; }

.isPlay:before {
  -webkit-animation-name: maskOut;
  animation-name: maskOut;
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
  -webkit-animation-delay: .5s;
  animation-delay: .5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-left: 2px;
  background-image: linear-gradient(109.6deg, #abdae2 11.2%, #c2c8ff 91.1%); }

@-webkit-keyframes play {
  from {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }
@keyframes play {
  from {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }
@-webkit-keyframes maskOut {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  to {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }
@keyframes maskOut {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  to {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }
.fadein {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
  transform: translate(0, 50px);
  -webkit-transition: all 1000ms;
  transition: all 1000ms; }

.fadein.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0); }

.fadeinbg {
  opacity: 0;
  -webkit-transition: all 1000ms;
  transition: all 1000ms; }

.fadeinbg.scrollin {
  opacity: 1; }

.fadein_left {
  opacity: 0;
  right: -50px !important;
  -webkit-transition: all 1000ms;
  transition: all 1000ms; }

.fadein_left.scrollin {
  opacity: 1;
  right: 0 !important; }

.fadein_right {
  opacity: 0;
  left: -50px !important;
  -webkit-transition: all 1000ms;
  transition: all 1000ms; }

.fadein_right.scrollin {
  opacity: 1;
  left: 0 !important; }

.slick-slider {
  margin-bottom: 0;
  line-height: 0; }

.slider-01,
.slider-request,
.slider-opencampus,
.slider-line,
.slider-oclp,
.slider-movie,
.slider-summer,
.slider-nyushi,
.slider-online-soudan,
.slider-senmon,
.slider-possibility {
  text-align: center;
  background-color: #eee;
  background-size: cover;
  background-position: center center;
  padding: 2.5em 3em 5em 3em;
  height: 600px; }
  @media only screen and (max-width: 640px) {
    .slider-01,
    .slider-request,
    .slider-opencampus,
    .slider-line,
    .slider-oclp,
    .slider-movie,
    .slider-summer,
    .slider-nyushi,
    .slider-online-soudan,
    .slider-senmon,
    .slider-possibility {
      height: 500px;
      padding: 2.5em 1.5em 5em 1.5em; } }

.slider-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.slider-01-content,
.slider-request-content,
.slider-opencampus-content,
.slider-line-content,
.slider-oclp-content,
.slider-movie-content,
.slider-nyushi-content,
.slider-online-soudan-content,
.slider-possibility {
  margin: 0 auto; }

.slider-senmon {
  background-image: url(../img/slide/bg_slide_senmon.jpg);
  background-repeat: no-repeat;
  position: relative; }
  @media only screen and (max-width: 640px) {
    .slider-senmon {
      background-image: url(../img/slide/bg_slide_senmon_sp.png); } }
  .slider-senmon .slider-flex {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    max-width: 780px; }
    .slider-senmon .slider-flex .slider-opencampus-content {
      width: 100%;
      max-width: 660px;
      -o-object-fit: contain;
         object-fit: contain; }
      @media only screen and (max-width: 640px) {
        .slider-senmon .slider-flex .slider-opencampus-content {
          width: 100%; } }

.slider-nyushi {
  background-image: url(../img/slide/bg_slide_nyushi.jpg);
  position: relative; }
  @media only screen and (max-width: 640px) {
    .slider-nyushi {
      background-image: url(../img/slide/bg_slide_nyushi_sp.jpg); } }
  .slider-nyushi .slider-flex {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    max-width: 780px; }
    .slider-nyushi .slider-flex .slider-opencampus-content {
      width: 100%;
      max-width: 600px;
      -o-object-fit: contain;
         object-fit: contain; }
      @media only screen and (max-width: 640px) {
        .slider-nyushi .slider-flex .slider-opencampus-content {
          width: 100%; } }

.slider-online-soudan {
  background-image: url(../img/slide/bg_slide_online-soudan.jpg);
  position: relative; }
  @media only screen and (max-width: 640px) {
    .slider-online-soudan {
      background-image: url(../img/slide/bg_slide_online-soudan_sp.jpg); } }
  .slider-online-soudan .slider-flex {
    position: absolute;
    top: 55%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    max-width: 780px; }
    .slider-online-soudan .slider-flex .slider-online-soudan-content {
      width: 100%;
      max-width: 85%;
      -o-object-fit: contain;
         object-fit: contain; }
      @media only screen and (max-width: 640px) {
        .slider-online-soudan .slider-flex .slider-online-soudan-content {
          width: 100%; } }

.slider-possibility {
  background-image: url(../img/slide/bg_slide_possibility.jpg);
  background-repeat: no-repeat;
  position: relative; }
  @media only screen and (max-width: 640px) {
    .slider-possibility {
      background-image: url(../img/slide/bg_slide_possibility_sp.png); } }
  .slider-possibility .slider-flex {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    max-width: 780px; }
    .slider-possibility .slider-flex .slider-opencampus-content {
      width: 100%;
      max-width: 660px;
      -o-object-fit: contain;
         object-fit: contain; }
      @media only screen and (max-width: 640px) {
        .slider-possibility .slider-flex .slider-opencampus-content {
          width: 100%; } }

.slider-01 {
  background-image: url(../img/slide/bg_slide_01.jpg);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .slider-01 .slider-flex {
    margin-top: 4vw; }
    @media only screen and (max-width: 640px) {
      .slider-01 .slider-flex {
        margin-top: 32vw; } }
    .slider-01 .slider-flex .slider-01-content {
      max-height: 90%;
      width: 70%;
      max-width: 540px; }
      @media only screen and (max-width: 640px) {
        .slider-01 .slider-flex .slider-01-content {
          width: 100%; } }

.slider-summer {
  background-image: url(../img/slide/bg_slide_summer.jpg);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media only screen and (max-width: 640px) {
    .slider-summer {
      background-image: url(../img/slide/bg_slide_summer_sp.jpg); } }
  .slider-summer .slider-flex {
    margin-top: 360px; }
    @media only screen and (max-width: 640px) {
      .slider-summer .slider-flex {
        margin-top: 290px; } }
    .slider-summer .slider-flex .slider-02-content {
      max-height: 90%;
      width: 70%;
      max-width: 540px; }
      @media only screen and (max-width: 640px) {
        .slider-summer .slider-flex .slider-02-content {
          width: 100%; } }

.slider-request {
  background-image: url(../img/slide/bg_slide_request.jpg);
  position: relative; }
  @media only screen and (max-width: 640px) {
    .slider-request {
      background-image: url(../img/slide/bg_slide_request_sp.jpg); } }
  .slider-request .slider-flex {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    .slider-request .slider-flex .slider-request-content {
      max-width: 700px;
      -o-object-fit: contain;
         object-fit: contain; }
      @media only screen and (max-width: 640px) {
        .slider-request .slider-flex .slider-request-content {
          width: 100%; } }

.slider-opencampus {
  background-image: url(../img/slide/bg_slide_opencampus.jpg);
  position: relative; }
  @media only screen and (max-width: 640px) {
    .slider-opencampus {
      background-image: url(../img/slide/bg_slide_opencampus_sp.jpg); } }
  .slider-opencampus .slider-flex {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    .slider-opencampus .slider-flex .slider-opencampus-content {
      width: 100%;
      max-width: 600px;
      -o-object-fit: contain;
         object-fit: contain; }
      @media only screen and (max-width: 640px) {
        .slider-opencampus .slider-flex .slider-opencampus-content {
          width: 100%; } }

.slider-line {
  background-image: url(../img/slide/bg_slide_line.jpg);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media only screen and (max-width: 640px) {
    .slider-line {
      background-image: url(../img/slide/bg_slide_line_sp.jpg); } }
  .slider-line .slider-flex {
    margin-top: 4vw; }
    @media only screen and (max-width: 640px) {
      .slider-line .slider-flex {
        margin-top: 8vw; } }
    .slider-line .slider-flex .slider-line-content {
      width: 70%;
      max-width: 540px;
      -o-object-fit: contain;
         object-fit: contain; }
      @media only screen and (max-width: 640px) {
        .slider-line .slider-flex .slider-line-content {
          width: 83%; } }

.slider-oclp {
  background-image: url(../img/slide/bg_slide_oclp.jpg);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media only screen and (max-width: 640px) {
    .slider-oclp {
      background-image: url(../img/slide/bg_slide_oclp_sp.jpg); } }
  .slider-oclp .slider-flex {
    margin-top: 360px; }
    @media only screen and (max-width: 640px) {
      .slider-oclp .slider-flex {
        margin-top: 290px; } }
    .slider-oclp .slider-flex .slider-oclp-content {
      max-height: 100%;
      width: 80%;
      max-width: 1000px; }
      @media only screen and (max-width: 640px) {
        .slider-oclp .slider-flex .slider-oclp-content {
          width: 100%; } }

.slider-movie {
  background-image: url(../img/slide/bg_slide_movie.jpg);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .slider-movie .slider-flex {
    margin-top: 4vw; }
    @media only screen and (max-width: 640px) {
      .slider-movie .slider-flex {
        margin-top: 30vw; } }
    .slider-movie .slider-flex .slider-movie-content {
      width: 70%;
      max-width: 600px;
      -o-object-fit: contain;
         object-fit: contain; }
      @media only screen and (max-width: 640px) {
        .slider-movie .slider-flex .slider-movie-content {
          width: 100%;
          max-width: 300px; } }

.bg-blue {
  background-color: #184375; }

.top-logo-section {
  padding: 40px; }
  @media only screen and (max-width: 640px) {
    .top-logo-section {
      padding: 30px 20px; } }

.top-logo-area {
  padding: 3em;
  background-color: #fff;
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media only screen and (max-width: 640px) {
    .top-logo-area {
      text-align: center; } }
  .top-logo-area img {
    width: 100%; }
  @media only screen and (max-width: 640px) {
    .top-logo-area .logo {
      max-width: 100%;
      margin: 20px auto; } }
  @media only screen and (max-width: 640px) {
    .top-logo-area .text {
      max-width: 100%; } }
  .top-logo-area > * {
    margin: 0 20px; }
    @media only screen and (max-width: 640px) {
      .top-logo-area > * {
        margin: 20px auto; } }
  @media only screen and (max-width: 640px) {
    .top-logo-area {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 24px; } }

.section-catch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3em 5em;
  background-color: #49bae0;
  color: #fff;
  min-height: 450px;
  background-repeat: no-repeat; }
  .section-catch div {
    width: 100%;
    margin: 0 auto; }
  @media only screen and (max-width: 640px) {
    .section-catch {
      padding: 20px;
      min-height: 320px; } }
  .section-catch .section-ttl {
    font-size: 3em;
    text-align: center;
    line-height: 1.6;
    font-weight: 400; }
    @media only screen and (max-width: 640px) {
      .section-catch .section-ttl {
        font-size: 2.4em;
        text-align: left;
        line-height: 1.2; } }
  .section-catch .catch-emblem {
    text-align: center;
    margin: 20px auto; }
    .section-catch .catch-emblem img {
      max-width: 36px; }
    @media only screen and (max-width: 640px) {
      .section-catch .catch-emblem {
        margin: 10px auto; } }
  .section-catch p {
    max-width: 840px;
    margin: 0 auto;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    text-align: center; }
    .section-catch p {
      font-size: 12px; }
      @media screen and (min-width: 320px) {
        .section-catch p {
          font-size: calc( 12px + strip-unit(4px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .section-catch p {
          font-size: 16px; } }
    @media only screen and (max-width: 640px) {
      .section-catch p {
        text-align: left; } }

.section-bg-about {
  background-image: url(../img/top/bg_about_pc.jpg);
  background-position: center;
  background-size: cover; }
  @media only screen and (max-width: 640px) {
    .section-bg-about {
      background-image: url(../img/top/bg_about_sp.png); } }

.section-bg-pu {
  background-image: url(../img/top/bg_pu_pc.jpg);
  background-position: center;
  background-size: cover; }
  @media only screen and (max-width: 640px) {
    .section-bg-pu {
      background-image: url(../img/top/bg_pu_sp.png); } }

.section-bg-course {
  background-image: url(../img/top/bg_course_pc.jpg);
  background-position: center;
  background-size: cover; }

.section-bg-course2 {
  background-image: url(/assets/bwpu/course/bg_course2_pc.jpg);
  background-position: center;
  background-size: cover; }

@media only screen and (max-width: 640px) {
  .list-cap-block {
    margin-bottom: 6em; } }
@media only screen and (max-width: 640px) {
  .list-cap-block:last-child {
    margin-bottom: 0; } }
.list-cap-block figure {
  z-index: -1;
  overflow: hidden; }

.list-cap {
  display: block;
  position: absolute;
  width: 90%;
  left: 4%;
  top: 80%;
  background-color: #184375;
  padding: 20px;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: bold;
  color: #fff; }
  .list-cap {
    font-size: 14px; }
    @media screen and (min-width: 320px) {
      .list-cap {
        font-size: calc( 14px + strip-unit(0px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .list-cap {
        font-size: 14px; } }
  .list-cap p {
    line-height: 1.6; }
  .list-cap span {
    display: block;
    position: absolute;
    top: -20px;
    left: -10px;
    background-color: #fff;
    color: #184375;
    padding: 4px 10px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    .list-cap span {
      font-size: 14px; }
      @media screen and (min-width: 320px) {
        .list-cap span {
          font-size: calc( 14px + strip-unit(0px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .list-cap span {
          font-size: 14px; } }

.list-cap-ttl {
  display: block;
  overflow: hidden;
  position: absolute;
  left: 2%;
  top: 73%;
  font-weight: bold;
  background-color: #fff;
  color: #184375;
  padding: 2px 10px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .list-cap-ttl {
    font-size: 14px; }
    @media screen and (min-width: 320px) {
      .list-cap-ttl {
        font-size: calc( 14px + strip-unit(0px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .list-cap-ttl {
        font-size: 14px; } }

.b-block {
  display: block;
  padding: 2em 4em;
  border: solid 2px #184375; }
  @media only screen and (max-width: 640px) {
    .b-block {
      margin: 0 20px;
      padding: 20px; } }
  .b-block .ttl-list {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    border-bottom: solid 1px #bbc2d0;
    font-weight: 700;
    padding-bottom: 1em;
    margin-bottom: 1em;
    color: #184375; }
    .b-block .ttl-list {
      font-size: 18px; }
      @media screen and (min-width: 320px) {
        .b-block .ttl-list {
          font-size: calc( 18px + strip-unit(6px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .b-block .ttl-list {
          font-size: 24px; } }

.l-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .l-list {
    font-size: 12px; }
    @media screen and (min-width: 320px) {
      .l-list {
        font-size: calc( 12px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .l-list {
        font-size: 14px; } }
  .l-list li {
    width: 50%;
    margin-bottom: 10px; }
    @media only screen and (max-width: 640px) {
      .l-list li {
        width: 100%; } }
    .l-list li:before {
      content: "・";
      margin-right: 6px; }

.bg-block {
  background-color: #184375;
  color: #fff;
  padding: 3em; }
  @media only screen and (max-width: 640px) {
    .bg-block {
      padding: 30px 20px;
      margin: 0px 2em 40px; } }

.bg-block2 {
  background-color: #184375;
  color: #fff;
  padding: 3em;
  margin-bottom: 0; }
  @media only screen and (max-width: 640px) {
    .bg-block2 {
      padding: 20px 20px;
      margin: 0px 2em 0px; } }

.ttl-cap {
  text-align: center;
  font-weight: bold;
  margin-bottom: 20px; }

.ttl-middle {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: #184375;
  font-weight: bold; }
  .ttl-middle {
    font-size: 18px; }
    @media screen and (min-width: 320px) {
      .ttl-middle {
        font-size: calc( 18px + strip-unit(0px) * ((100vw - 320px) / strip-unit(640px)) ); } }
    @media screen and (min-width: 960px) {
      .ttl-middle {
        font-size: 18px; } }

.map-area {
  width: 100%;
  max-width: 960px;
  margin: 0 auto 60px;
  height: 400px; }
  @media only screen and (max-width: 640px) {
    .map-area {
      height: 280px; } }

.pc_mt_normal {
  margin-top: 4vw; }
  @media only screen and (max-width: 640px) {
    .pc_mt_normal {
      margin-top: 0; } }

.sp_mt_normal {
  margin-top: 0; }
  @media only screen and (max-width: 640px) {
    .sp_mt_normal {
      margin-top: 4vw; } }

.p_pb_normal {
  padding-bottom: 60px; }

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

.l-header-news a {
  display: block;
  width: 100%;
  padding: 10px 0;
  background-color: #e7f1f7;
  color: #174170;
  text-align: center;
  font-size: 0.8em;
  font-weight: bold;
  cursor: pointer; }

.tag-box {
  display: inline-block;
  color: #fff;
  background-color: #f00;
  margin-right: 5px;
  padding: 0 8px; }

.border {
  border-top: solid 1px #eee;
  border-bottom: solid 1px #eee;
  padding: 2em 20px; }

.ttl_news {
  text-align: center;
  font-weight: bold;
  padding-bottom: 2em;
  font-size: 1.2em; }

.ttl_news_sub {
  font-weight: bold; }

.attention {
  font-weight: bold;
  color: #f00; }

.mb15 {
  margin-bottom: 15px; }

.mt40 {
  margin-top: 40px; }

.ub_b {
  text-decoration: underline; }

/*＝＝＝＝202102 岡野追加＝＝＝＝*/
@media only screen and (max-width: 640px) {
  .list-cap-block:nth-child(2) {
    margin-top: 60px; } }

.list-cap {
  height: 130px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media only screen and (max-width: 640px) {
    .list-cap {
      height: auto; } }

@media only screen and (max-width: 640px) {
  #about-section {
    padding-bottom: 60px; } }

.course-ol {
  list-style: none;
  counter-reset: li_count;
  padding-left: 2.1em; }
  @media only screen and (max-width: 640px) {
    .course-ol {
      margin-left: 2.5rem; } }

.course-ol-list {
  padding: 10px;
  margin-bottom: 5px;
  text-indent: -2.1em; }
  @media only screen and (max-width: 640px) {
    .course-ol-list {
      text-indent: -2.4em; } }
  .course-ol-list:before {
    font-size: 1.8rem;
    counter-increment: li_count;
    content: counter(li_count) ".";
    color: #184375;
    margin-right: 1em; }
    @media only screen and (max-width: 640px) {
      .course-ol-list:before {
        margin-right: 1em; } }

.qualification-wrapper + div {
  margin-top: 20px; }
.qualification-wrapper .qualification-ttl {
  width: 100%;
  padding: 10px 0 10px 20px;
  background-color: #184375;
  color: #fff;
  font-weight: bold;
  text-align: center; }
  @media only screen and (max-width: 640px) {
    .qualification-wrapper .qualification-ttl {
      padding: 10px 0;
      text-align: center; } }
.qualification-wrapper .qualification-contents-box ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 1px solid #184375; }
  @media only screen and (max-width: 640px) {
    .qualification-wrapper .qualification-contents-box ul {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .qualification-wrapper .qualification-contents-box ul li {
    text-align: center;
    padding: 0px 10px;
    margin: 20px 0px;
    width: 50%; }
    @media only screen and (max-width: 640px) {
      .qualification-wrapper .qualification-contents-box ul li {
        width: 100%;
        padding: 20px 10px;
        margin: 0;
        border-top: 1px solid #BBC2D0; } }
    .qualification-wrapper .qualification-contents-box ul li.single {
      width: 100%; }
    .qualification-wrapper .qualification-contents-box ul li:nth-of-type(2n) {
      border-left: 1px solid #BBC2D0; }
      @media only screen and (max-width: 640px) {
        .qualification-wrapper .qualification-contents-box ul li:nth-of-type(2n) {
          border-left: none; } }
    .qualification-wrapper .qualification-contents-box ul li:nth-of-type(3n) {
      border-right: 1px solid #BBC2D0; }
      @media only screen and (max-width: 640px) {
        .qualification-wrapper .qualification-contents-box ul li:nth-of-type(3n) {
          border-right: none; } }

/*20210319 追加 岡野*/
.section-catch .course-section-ttl {
  font-size: 2.4em; }
  @media only screen and (max-width: 640px) {
    .section-catch .course-section-ttl {
      font-size: 1.9em; } }
.section-catch .font_size_large {
  font-size: 120%; }

.img-pc {
  display: block !important; }
  @media only screen and (max-width: 640px) {
    .img-pc {
      display: none !important; } }

.img-sp {
  display: none !important; }
  @media only screen and (max-width: 640px) {
    .img-sp {
      display: block !important; } }

.img-senmon-feature {
  width: 50%; }
  @media only screen and (max-width: 640px) {
    .img-senmon-feature {
      width: 100%; } }

.icon-pdf {
  border-bottom: 1px solid #184375;
  text-decoration: none;
  cursor: pointer; }
  .icon-pdf::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    margin-left: 5px;
    margin-bottom: 5px;
    background-image: url(../img/common/icon_pdf.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain; }
  .icon-pdf:hover {
    text-decoration: none; }

.about-movie {
  width: 48%;
  max-width: 600px;
  aspect-ratio: 16/9; }
  @media only screen and (max-width: 640px) {
    .about-movie {
      width: 90%; } }

.about_catch_title {
  display: inline-block;
  font-size: 2.8rem;
  font-weight: bold;
  padding: 1rem 3rem;
  color: #fff;
  border-radius: 100vh;
  background-color: #184375; }
  @media only screen and (max-width: 640px) {
    .about_catch_title {
      font-size: 1.8rem;
      padding: 1rem 2rem; } }

.about_catch_text {
  font-size: 1.6rem; }
  @media only screen and (max-width: 640px) {
    .about_catch_text {
      font-size: 1.3rem; } }

.about_catch_image {
  max-width: 720px;
  margin-right: auto;
  margin-left: auto; }

.btn_navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media only screen and (max-width: 640px) {
    .btn_navigation {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding-right: 5%;
      padding-left: 5%; } }
  .btn_navigation li {
    width: calc(50% - 20px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    background-color: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    margin-top: 40px;
    position: relative; }
    @media only screen and (max-width: 640px) {
      .btn_navigation li {
        width: 100%; } }
    .btn_navigation li::after {
      position: absolute;
      content: "";
      width: 12px;
      height: 12px;
      border-top: 3px solid #fff;
      border-right: 3px solid #fff;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      bottom: 8%;
      right: 36px;
      -webkit-transition: 0.5s ease-in-out;
      transition: 0.5s ease-in-out; }
      @media only screen and (max-width: 640px) {
        .btn_navigation li::after {
          width: 8px;
          height: 8px;
          bottom: 1.7rem; } }
    .btn_navigation li:hover::after {
      right: 20px; }
  .btn_navigation-title {
    display: block;
    font-size: 2.4rem;
    color: #fff;
    background-color: #184375;
    font-weight: bold;
    padding: 10px 0 10px 20px; }
    @media only screen and (max-width: 640px) {
      .btn_navigation-title {
        font-size: 1.8rem; } }
  .btn_navigation img {
    width: 100%;
    height: 180px;
    -o-object-fit: cover;
       object-fit: cover; }
    @media only screen and (max-width: 640px) {
      .btn_navigation img {
        height: 120px; } }
  .btn_navigation a:hover {
    color: #fff; }

.message-img-wrapper {
  -o-object-fit: cover;
     object-fit: cover; }
  @media only screen and (max-width: 640px) {
    .message-img-wrapper {
      height: 300px; } }

.l-news-block {
  width: 100%;
  max-width: 850px;
  margin: 0 auto 20px; }
  @media only screen and (max-width: 640px) {
    .l-news-block {
      overflow-x: scroll;
      padding: 0 20px;
      margin: 0 auto 30px; } }

/******  tab  ******/
@-webkit-keyframes tabAnim {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes tabAnim {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.tab_wrap {
  width: 100%;
  margin: 0 auto;
  max-width: 850px;
    /*
[id^="tab"]:checked ~ .tab_area [class$="_label"]
    {border-bottom:solid 2px #49BAE0;}

[id^="tab"]:checked ~ .panel_area [id^="panel"]
    {display:block;
        -webkit-animation:tabAnim ease 1s forwards;
                animation:tabAnim ease 1s forwards;
                -ms-animation:tabAnim ease 1s forwards;}
                */
    /*
#tab1:checked ~ .tab_area .tab1_label,
#tab2:checked ~ .tab_area .tab2_label,
#tab3:checked ~ .tab_area .tab3_label,
#tab4:checked ~ .tab_area .tab4_label
{border-bottom:solid 2px #49BAE0;}
#tab1:checked ~ .panel_area #panel1,
#tab2:checked ~ .panel_area #panel2,
#tab3:checked ~ .panel_area #panel3,
#tab4:checked ~ .panel_area #panel4
{display:block;
    -webkit-animation:tabAnim ease 1s forwards;
            animation:tabAnim ease 1s forwards;
            -ms-animation:tabAnim ease 1s forwards;}
*/ }
  .tab_wrap input[type="radio"] {
    display: none; }
  .tab_wrap .tab_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
        align-items: stretch; }
    @media only screen and (max-width: 640px) {
      .tab_wrap .tab_area {
        margin: 0 20px; } }
  .tab_wrap .tab_area .tab_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
        justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
    width: 150px;
    margin: 0;
    min-height: 80px;
    line-height: 1.2;
    padding: 12px 0;
    text-align: center;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    cursor: pointer;
    -webkit-transition: ease 0.2s opacity;
    transition: ease 0.2s opacity;
    border-bottom: solid 2px #eee;
    font-weight: bold; }
    .tab_wrap .tab_area .tab_item {
      font-size: 12px; }
      @media screen and (min-width: 320px) {
        .tab_wrap .tab_area .tab_item {
          font-size: calc( 12px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .tab_wrap .tab_area .tab_item {
          font-size: 14px; } }
    @media only screen and (max-width: 640px) {
      .tab_wrap .tab_area .tab_item {
        width: calc(100% / 4);
        min-height: 60px;
        font-size: 10px; } }
  .tab_wrap .tab_area .tab_item:hover {
    opacity: 0.5; }
  @media only screen and (max-width: 640px) {
    .tab_wrap .tab_item.split_3 {
      width: calc(100% / 3); } }
  .tab_wrap .panel_area {
    -webkit-transition: ease 0.2s;
    transition: ease 0.2s; }
  .tab_wrap .tab_panel {
    width: 100%;
    display: none;
    min-height: 200px; }
  .tab_wrap #tab1:checked ~ .tab_area .tab1_label,
  .tab_wrap #tab2:checked ~ .tab_area .tab2_label,
  .tab_wrap #tab3:checked ~ .tab_area .tab3_label,
  .tab_wrap #tab4:checked ~ .tab_area .tab4_label,
  .tab_wrap #tab5:checked ~ .tab_area .tab5_label,
  .tab_wrap #tab6:checked ~ .tab_area .tab6_label,
  .tab_wrap #tab7:checked ~ .tab_area .tab7_label,
  .tab_wrap #tab8:checked ~ .tab_area .tab8_label {
    border-bottom: solid 2px #49bae0; }
  .tab_wrap #tab1:checked ~ .panel_area #panel1,
  .tab_wrap #tab2:checked ~ .panel_area #panel2,
  .tab_wrap #tab3:checked ~ .panel_area #panel3,
  .tab_wrap #tab4:checked ~ .panel_area #panel4,
  .tab_wrap #tab5:checked ~ .panel_area #panel5,
  .tab_wrap #tab6:checked ~ .panel_area #panel6,
  .tab_wrap #tab7:checked ~ .panel_area #panel7,
  .tab_wrap #tab8:checked ~ .panel_area #panel8 {
    display: block;
    -webkit-animation: tabAnim ease 1s forwards;
    animation: tabAnim ease 1s forwards;
    -ms-animation: tabAnim ease 1s forwards; }

/******  news  ******/
.news-list li {
  border-bottom: solid 1px #bbc2d0;
  padding: 20px; }

/**** ttl_main  ****/
.ttl_main {
  width: 100%;
  padding: 60px 20px;
  margin-bottom: 2em;
  color: #fff;
  background-color: #193971;
  font-size: 1.4em;
  font-weight: 100; }

/**** l-mv  ****/
.l-mv {
  width: 100%;
  background-color: #abdae2;
  background-image: linear-gradient(109.6deg, #d5edf1 11.2%, #e1e3ff 91.1%); }
  .l-mv .inner, .l-mv .bread {
    padding: 80px 20px;
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
    z-index: 0; }
    @media only screen and (max-width: 640px) {
      .l-mv .inner, .l-mv .bread {
        padding: 50px 20px; } }
    .l-mv .inner .text, .l-mv .bread .text {
      position: absolute;
      top: -80px;
      right: 0;
      font-size: 12em;
      font-weight: 100;
      color: #fff;
      z-index: -1; }
      @media only screen and (max-width: 640px) {
        .l-mv .inner .text, .l-mv .bread .text {
          font-size: 6em;
          top: -35px; } }
    .l-mv .inner .ttl, .l-mv .bread .ttl {
      font-size: 2em;
      font-weight: bold;
      color: #184375; }
      @media only screen and (max-width: 640px) {
        .l-mv .inner .ttl, .l-mv .bread .ttl {
          font-size: 1.6em; } }

/**** detail-link ****/
.detail-link {
  display: block;
  position: relative;
  padding: 0 0 0 200px;
  min-height: 110px; }
  @media only screen and (max-width: 640px) {
    .detail-link {
      padding: 0;
      min-height: 120px; } }
  @media only screen and (max-width: 640px) {
    .detail-link .news_list_date {
      display: block;
      width: 100%;
      font-size: 1.2em; } }
  @media only screen and (max-width: 640px) {
    .detail-link .fltbox {
      position: relative;
      padding: 0 0 0 120px; } }
  .detail-link .fltbox figure {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    left: 0;
    top: 0;
    width: 100%;
    overflow: hidden;
    -webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center; }
    @media only screen and (max-width: 640px) {
      .detail-link .fltbox figure {
        max-width: 100px; } }
    .detail-link .fltbox figure img {
      width: 100%;
      max-width: 140px;
      max-height: 120px;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center top;
         object-position: center top; }
  .detail-link .fltbox .news_list_ttl {
    margin-top: 4px;
    font-size: 1.25em;
    font-weight: bold;
    line-height: 1.4; }
    @media only screen and (max-width: 640px) {
      .detail-link .fltbox .news_list_ttl {
        min-height: 100px; } }

.tuition_table {
  margin: 10px 0;
  width: 100%;
  border-top: solid 1px #174170;
  font-size: 1.8rem; }

.tuition_table tr {
  border-bottom: solid 1px #174170; }

.tuition_table th,
.tuition_table td {
  padding: 16px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-right: solid 1px #174170; }

.tuition_table th:last-child,
.tuition_table td:last-child {
  border-right: 0; }

.tuition_table th {
  background-color: #e7f1f7;
  text-align: center; }

.tuition_table.scholorship th {
  width: 40%;
  vertical-align: middle; }

.tuition_table.scholorship td {
  text-align: left; }

.tuition_table td {
  text-align: center; }

.tuition_table td.num {
  text-align: center; }

.li_style_disc {
  list-style: disc;
  padding-left: 20px;
  margin: 10px; }

.li_style_disc li {
  margin-bottom: 0.8em;
  font-weight: bold;
  line-height: 1.5; }

@media screen and (max-width: 480px) {
  .tuition_table {
    font-size: 1.5rem; }

  .tuition_table th,
  .tuition_table td {
    padding: 1em 6px; }

  .tuition_table td {
    text-align: center; }

  .tuition_table td.num {
    text-align: center; } }
.tuition-title {
  font-size: 3.2rem;
  color: #184375; }
  @media only screen and (max-width: 640px) {
    .tuition-title {
      font-size: 2rem; } }

.cont-sns-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
      justify-content: center; }
  .cont-sns-btn li {
    width: 100%;
    max-width: 60px;
    margin: 0 10px; }
    @media only screen and (max-width: 640px) {
      .cont-sns-btn li {
        max-width: 55px; } }

.group-list li {
  margin-bottom: 16px; }

.detail-section p {
  padding: 10px; }

.detail-section h2 {
  font-size: 2em;
  font-weight: bold;
  padding: 20px 0; }

.detail-section img {
  width: 100%;
  margin: 20px auto;
  height: auto !important; }

.event-d-block {
  margin-bottom: 40px; }
  .event-d-block .event-d-ttl {
    font-size: 1.5em;
    margin-bottom: 16px;
    font-weight: bold; }
    .event-d-block .event-d-ttl:after {
      content: "";
      display: block;
      margin-top: 16px;
      width: 20px;
      height: 2px;
      border-bottom: solid 1px #BBC2D0; }
  .event-d-block .map-area {
    height: 280px;
    margin-bottom: 0; }

li:last-child .event-d-block {
  margin-bottom: 0; }

.btn-area-primary {
  padding: 60px 20px;
  width: 100%;
  background-color: #abdae2;
  background-image: linear-gradient(109.6deg, #d5edf1 11.2%, #e1e3ff 91.1%); }
  .btn-area-primary .btn-area-ttl {
    color: #184375;
    font-size: 1.5em;
    font-weight: bold;
    text-align: center; }
    .btn-area-primary .btn-area-ttl:after {
      content: "";
      display: block;
      width: 20px;
      height: 2px;
      margin: 16px auto;
      border-bottom: solid 1px #184375; }
  .btn-area-primary .cap {
    font-size: 1em;
    text-align: center;
    font-weight: bold;
    color: #184375; }
  .btn-area-primary .line-ban {
    max-width: 620px;
    width: 100%;
    margin: 20px auto 0; }

.w100p {
  width: 100% !important; }

/*-------------------------------------
210518 開催日時 申込上のセレクト デザイン追加
-------------------------------------*/
.event-d-date {
  display: block;
  width: 100%;
  font-weight: bold;
  font-size: 20px;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#184375), to(#416998));
  background: linear-gradient(90deg, #184375 0%, #416998 100%);
  padding: 10px 0 10px 20px;
  margin-bottom: 5px; }

.event-select {
  max-width: 100%;
  margin: 0 auto;
  text-align: center; }
  .event-select select {
    width: 360px;
    padding: 16px 28px;
    margin: 10px 10px 0px 10px;
    text-align: left;
    border: 1px solid #AAAAAA;
    border-radius: 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 16px 70px 16px 25px;
    border-radius: 5px;
    background-image: url(/assets/tokyo/event/select-arrow.png);
    background-image: url(/bwpu-assets/assets/img/common/select-arrow.png);
    background-color: #fff;
    background-repeat: no-repeat;
    background-size: 9px 9px;
    background-position: right 30px center; }

@media only screen and (max-width: 640px) {
  .event-select select {
    width: 100%;
    max-width: 100%; }
    .event-select select:nth-child(2) {
      margin-top: 20px; } }
.accordion_open {
  display: block; }

.accordion_inner {
  display: none; }

.aco-list-wrap {
  border-top: solid 1px #BBC2D0;
  border-bottom: solid 1px #BBC2D0;
  padding: 4px 0;
  position: relative; }
  .aco-list-wrap .aco-list-header {
    display: block;
    padding: 1.2em 40px 1.2em 20px;
    background-image: url(../img/common/bg_list_q.png);
    background-size: 4em 4em;
    background-repeat: no-repeat;
    background-position: top left;
    cursor: pointer; }
    @media only screen and (max-width: 640px) {
      .aco-list-wrap .aco-list-header {
        padding: 1.2em 20px 1.2em 10px; } }
    .aco-list-wrap .aco-list-header:after {
      content: "+";
      color: #BBC2D0;
      position: absolute;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease;
      right: 12px;
      top: 16px; }
      .aco-list-wrap .aco-list-header:after {
        font-size: 18px; }
        @media screen and (min-width: 320px) {
          .aco-list-wrap .aco-list-header:after {
            font-size: calc( 18px + strip-unit(6px) * ((100vw - 320px) / strip-unit(640px)) ); } }
        @media screen and (min-width: 960px) {
          .aco-list-wrap .aco-list-header:after {
            font-size: 24px; } }
      @media only screen and (max-width: 640px) {
        .aco-list-wrap .aco-list-header:after {
          right: 0; } }
  .aco-list-wrap .accordion_open:after {
    content: "-"; }
  .aco-list-wrap .aco-list-answer {
    padding: 1.8em 20px 1em;
    background-color: #f2f6fc;
    position: relative;
    background-image: url(../img/common/bg_list_a.png);
    background-size: cover;
    background-size: 4em 4em;
    background-repeat: no-repeat;
    background-position: top left; }
    @media only screen and (max-width: 640px) {
      .aco-list-wrap .aco-list-answer {
        padding: 1.8em 10px 1em; } }
  .aco-list-wrap a {
    color: #184375;
    text-decoration: underline; }

.aco-list-wrap + .aco-list-wrap {
  border-top: none; }

.faq-logo-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  grid-gap: 1rem; }
  .faq-logo-list .faq-logo-item {
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%; }
    .faq-logo-list .faq-logo-item img {
      display: block;
      /* Make sure max-width is added */
      max-width: 90%;
      -o-object-fit: contain;
      object-fit: contain; }

/**** l-mv  ****/
.l-mv {
  width: 100%;
  background-color: #abdae2;
  background-image: linear-gradient(109.6deg, #d5edf1 11.2%, #e1e3ff 91.1%); }
  .l-mv .inner-course {
    background-image: url(../img/course/bg-main-course.png);
    background-size: contain;
    background-position: right;
    background-repeat: no-repeat;
    min-height: 380px; }
    @media only screen and (max-width: 640px) {
      .l-mv .inner-course {
        background-position: top;
        background-size: contain; } }
  .l-mv .inner-bg {
    width: 100%;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
    z-index: 0; }
    @media only screen and (max-width: 640px) {
      .l-mv .inner-bg {
        padding: 45vw 2vw 2vw 2vw; } }
    .l-mv .inner-bg .page-ttl {
      font-size: 2em;
      font-weight: 700;
      z-index: -1;
      color: #184375; }
      @media only screen and (max-width: 640px) {
        .l-mv .inner-bg .page-ttl {
          font-size: 2.5em;
          top: -35px; } }
    .l-mv .inner-bg .ttl {
      font-size: 2em;
      font-weight: bold;
      color: #184375; }
      @media only screen and (max-width: 640px) {
        .l-mv .inner-bg .ttl {
          font-size: 1.6em; } }

.page-nav-block {
  padding: 2.5rem 2.5rem 0; }
  .page-nav-block .page-nav-ttl {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: #bbc2d0;
    font-family: "Montserrat", "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
    margin-bottom: 0.5em; }
    .page-nav-block .page-nav-ttl {
      font-size: 10px; }
      @media screen and (min-width: 320px) {
        .page-nav-block .page-nav-ttl {
          font-size: calc( 10px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .page-nav-block .page-nav-ttl {
          font-size: 12px; } }
  .page-nav-block .page-nav a {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #F2F6FC;
    padding: 10px 40px 10px 20px;
    width: 100%;
    position: relative; }
    .page-nav-block .page-nav a {
      font-size: 10px; }
      @media screen and (min-width: 320px) {
        .page-nav-block .page-nav a {
          font-size: calc( 10px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .page-nav-block .page-nav a {
          font-size: 12px; } }
    @media only screen and (max-width: 640px) {
      .page-nav-block .page-nav a {
        padding: 2vw 4vw 2vw 2vw; } }
    .page-nav-block .page-nav a:hover {
      text-decoration: none;
      background-color: #dee8f4; }
    .page-nav-block .page-nav a:after {
      content: "↓";
      right: 20px;
      position: absolute;
      color: #bbc2d0; }
      @media only screen and (max-width: 640px) {
        .page-nav-block .page-nav a:after {
          right: 4vw; } }
  .page-nav-block .page-nav li + li {
    margin-top: 2px; }

.point-block {
  background: #0ec0dd;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: -webkit-gradient(linear, left top, right top, from(#0ec0dd), to(#5966e9));
  background: linear-gradient(to right, #0ec0dd 0%, #5966e9 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  padding: 20px 40px 40px;
  color: #fff; }
  @media only screen and (max-width: 640px) {
    .point-block {
      padding: 4vw; } }
  .point-block .point-block-ttl {
    display: block;
    text-align: center;
    font-weight: 700;
    width: 100%;
    border-bottom: solid 1px #fff;
    font-size: 2em;
    padding-bottom: 10px; }
    @media only screen and (max-width: 640px) {
      .point-block .point-block-ttl {
        font-size: 1.4em;
        padding-bottom: 2vw; } }
  .point-block ul li {
    padding: 10px 0;
    font-size: 1.2; }
    @media only screen and (max-width: 640px) {
      .point-block ul li {
        padding: 2vw 0; } }
  .point-block li + li {
    border-top: solid 1px #fff; }

.ttl_feature {
  width: 100%;
  background-color: #abdae2;
  background-image: linear-gradient(109.6deg, #d5edf1 11.2%, #e1e3ff 91.1%);
  padding: 40px;
  position: relative;
  color: #184375;
  z-index: -2; }
  @media only screen and (max-width: 640px) {
    .ttl_feature {
      padding: 2.5rem; } }
  .ttl_feature .ttl_feature_num {
    position: absolute;
    top: -5px;
    right: 0;
    font-size: 8em;
    font-weight: 500;
    color: #fff;
    z-index: -1; }
  .ttl_feature .ttl_feature_coment {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-weight: 800;
    z-index: 1;
    margin-bottom: 6px; }
    .ttl_feature .ttl_feature_coment {
      font-size: 12px; }
      @media screen and (min-width: 320px) {
        .ttl_feature .ttl_feature_coment {
          font-size: calc( 12px + strip-unit(2px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .ttl_feature .ttl_feature_coment {
          font-size: 14px; } }
  .ttl_feature .ttl_feature_text {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 1; }
    .ttl_feature .ttl_feature_text {
      font-size: 28px; }
      @media screen and (min-width: 320px) {
        .ttl_feature .ttl_feature_text {
          font-size: calc( 28px + strip-unit(8px) * ((100vw - 320px) / strip-unit(640px)) ); } }
      @media screen and (min-width: 960px) {
        .ttl_feature .ttl_feature_text {
          font-size: 36px; } }

.bg-lightblue {
  background-color: #F2F6FC; }

.subject-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media only screen and (max-width: 640px) {
    .subject-wrapper {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }

.subject-list-wrapper {
  width: 45%; }
  @media only screen and (max-width: 640px) {
    .subject-list-wrapper {
      width: 100%; } }
  .subject-list-wrapper .subject-text-wrapper {
    padding: 1.2rem;
    margin-bottom: 20px; }
    .subject-list-wrapper .subject-text-wrapper ul {
      text-indent: -1.2rem; }
  .subject-list-wrapper .subject-text-main {
    color: #184375;
    font-size: 1.8rem; }
  .subject-list-wrapper .subject-text {
    margin-top: 10px; }
    .subject-list-wrapper .subject-text li {
      text-indent: -1em;
      padding-left: 1em; }
    .subject-list-wrapper .subject-text p {
      text-indent: -1em;
      padding-left: 1em; }
  .subject-list-wrapper .subject-ttl {
    width: 100%;
    color: #fff;
    font-weight: bold;
    padding: 10px 10px 10px 20px;
    text-align: center; }
    @media only screen and (max-width: 640px) {
      .subject-list-wrapper .subject-ttl {
        padding: 10px 0;
        text-align: center; } }
    .subject-list-wrapper .subject-ttl.kiso {
      background-color: #f7827e; }
    .subject-list-wrapper .subject-ttl.shokugyo-senmon {
      background-color: #49bae0; }
    .subject-list-wrapper .subject-ttl.tenkai {
      background-color: #8ce2d9; }
    .subject-list-wrapper .subject-ttl.sougou {
      background-color: #184375; }

.howto-study-wrapper {
  margin-bottom: 24px; }
  .howto-study-wrapper .howto-study {
    background-color: #184375;
    color: #fff;
    padding: 1.5rem;
    background-color: #184375;
    color: #fff;
    margin-top: 60px;
    margin-bottom: 20px;
    font-weight: bold;
    display: inline-block;
    text-align: center; }
  .howto-study-wrapper .howto-study-ttl {
    font-size: 140%;
    color: #184375;
    font-weight: bold; }

@media only screen and (max-width: 640px) {
  .howto-study-wrapper {
    margin: 0; }
    .howto-study-wrapper .howto-study {
      display: block; } }
.possibility-text-wrapper {
  padding-right: 2.5rem;
  padding-left: 2.5rem; }
  @media only screen and (max-width: 640px) {
    .possibility-text-wrapper {
      padding: 2.5rem; } }

.section-catch .possibility-ttl-sub {
  font-size: 2em;
  text-align: center;
  line-height: 2;
  font-weight: 400; }
  @media only screen and (max-width: 640px) {
    .section-catch .possibility-ttl-sub {
      font-size: 1.5em;
      text-align: left;
      line-height: 1.8; } }

.text-bg-blue {
  color: #fff;
  background-color: #184375;
  padding: 0.5rem 2rem; }

.ttl_primary_line {
  font-size: 1.8rem; }
  @media only screen and (max-width: 640px) {
    .ttl_primary_line {
      font-size: 1.4rem;
      margin: 60px auto 30px; } }

.hr_under_line {
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: solid 1px #ddd; }

.l-mv {
  width: 100%;
  background-color: #abdae2;
  background-image: linear-gradient(109.6deg, #d5edf1 11.2%, #e1e3ff 91.1%); }
  .l-mv .inner-line {
    background-image: url(../img/line/bg_line.png);
    background-size: contain;
    background-position: right;
    background-repeat: no-repeat;
    min-height: 380px; }
    @media only screen and (max-width: 640px) {
      .l-mv .inner-line {
        background-position: top;
        background-size: contain; } }

.line-wrapper {
  width: 100%;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px 0; }
  @media only screen and (max-width: 640px) {
    .line-wrapper {
      padding: 0 20px 0; } }
  .line-wrapper-large {
    max-width: 900px; }
.line-border {
  border-top: 1px solid #BBC2D0;
  border-bottom: 1px solid #BBC2D0; }

.line-btn {
  width: 250px; }

.bg-whatyoucan {
  background: url(/bwpu-assets/assets/img/line/bg-whatyoucan.png); }

.line-card-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px; }
.line-card-item {
  max-width: 340px;
  background: #fff;
  border: solid 3px #abdae2;
  -o-border-image: linear-gradient(109.6deg, #d5edf1 11.2%, #e1e3ff 91.1%);
     border-image: linear-gradient(109.6deg, #d5edf1 11.2%, #e1e3ff 91.1%);
  border-image-slice: 1;
  padding: 1rem 2.4rem 0;
  position: relative; }
  .line-card-item-number {
    font-size: 4.8rem;
    font-weight: bold;
    color: #184375;
    display: block;
    text-align: center;
    background: url(/bwpu-assets/assets/img/line/bg-number.png) no-repeat;
    background-position: center 3.6rem;
    background-size: 14rem;
    margin-bottom: 2rem; }
  .line-card-item::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 10px;
    left: 10px;
    width: 100%;
    height: 100%;
    background: linear-gradient(109.6deg, #d5edf1 11.2%, #e1e3ff 91.1%); }
.line-card-ttl {
  font-size: 2.4rem;
  margin-top: 2rem;
  font-weight: bold;
  color: #184375; }
  @media only screen and (max-width: 640px) {
    .line-card-ttl {
      margin-top: 1rem;
      font-size: 20px; } }
.line-card-item-img {
  position: absolute;
  bottom: 0;
  width: 280px; }
  @media only screen and (max-width: 640px) {
    .line-card-item-img {
      position: inherit; } }

.item-box {
  background-color: #fff;
  padding: 50px 30px;
  border: solid 3px #abdae2;
  -o-border-image: linear-gradient(109.6deg, #d5edf1 11.2%, #e1e3ff 91.1%);
     border-image: linear-gradient(109.6deg, #d5edf1 11.2%, #e1e3ff 91.1%);
  border-image-slice: 1; }
  @media only screen and (max-width: 640px) {
    .item-box {
      padding: 40px 10px; } }

.flow-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 640px) {
    .flow-item {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .flow-item .flow-item-order {
    -ms-flex-preferred-size: 15%;
        flex-basis: 15%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-right: 30px;
    display: inline-block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    counter-increment: number;
    color: #184375;
    font-size: 5rem;
    font-weight: 600;
    font-family: "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif; }
    @media only screen and (max-width: 640px) {
      .flow-item .flow-item-order {
        font-size: 4rem;
        display: inline-block;
        padding: 0; } }
    .flow-item .flow-item-order span {
      font-size: 1.4rem;
      font-weight: bold;
      letter-spacing: 0.2rem; }
      @media only screen and (max-width: 640px) {
        .flow-item .flow-item-order span {
          font-size: 1.8rem; } }
  .flow-item .flow-item-title {
    font-size: 2.4rem;
    color: #205093;
    line-height: 1.5em;
    font-weight: bold;
    margin-bottom: 1.6rem; }
    @media only screen and (max-width: 640px) {
      .flow-item .flow-item-title {
        text-align: center;
        font-size: 1.8rem; } }
  .flow-item .flow-item-text {
    -ms-flex-preferred-size: 60%;
        flex-basis: 60%;
    padding: 0 32px;
    border-left: 1px #BBC2D0 solid;
    line-height: 2.8rem; }
    @media only screen and (max-width: 640px) {
      .flow-item .flow-item-text {
        border-top: 1px #BBC2D0 solid;
        border-left: none;
        padding: 20px 0;
        text-align: center; } }
  .flow-item .flow-item-image {
    -ms-flex-preferred-size: 30%;
        flex-basis: 30%; }
    @media only screen and (max-width: 640px) {
      .flow-item .flow-item-image {
        width: 100%;
        text-align: center; } }

.color_green {
  color: #71d6d7; }

.color_dark_pink {
  color: #ff88af; }

.color_light_blue {
  color: #43cdf4; }

.bg_light_blue {
  background: #f0f5fa; }

.lp_section_wrapper {
  padding-top: 80px;
  padding-bottom: 80px; }
  @media (max-width: 768px) {
    .lp_section_wrapper {
      padding-top: 40px;
      padding-bottom: 40px; } }

.lp_inner {
  max-width: 1200px;
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto; }

.lp_title {
  width: 317px;
  margin: 0 auto; }
  @media (max-width: 768px) {
    .lp_title {
      width: 225px; } }

.w80p {
  width: 80%; }

.lp_btn:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: -2px 0 0 15px;
  background: url("/bwpu-assets/assets/img/oclp/lp_btn_arrow.svg") no-repeat;
  background-size: contain;
  vertical-align: middle;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
.lp_btn:hover:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: -2px 0 0 15px;
  background: url("/bwpu-assets/assets/img/oclp/lp_btn_arrow_hover.svg") no-repeat;
  background-size: contain;
  vertical-align: middle;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }

.btn.lp_size_normal {
  max-width: 100%;
  min-width: 100px;
  padding: 1.4rem 1em; }
  @media (max-width: 768px) {
    .btn.lp_size_normal {
      font-size: 1.6rem; } }
  @media only screen and (max-width: 640px) {
    .btn.lp_size_normal {
      width: 100%; } }

.lp_line_btn {
  width: 250px; }
  @media only screen and (max-width: 640px) {
    .lp_line_btn {
      width: 100%; } }

@media (max-width: 768px) {
  .lp_step_btn {
    text-align: center; } }

.flex_order1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.flex_order2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.lp_fv_wrapper {
  overflow: hidden;
  height: 620px;
  background: url("/bwpu-assets/assets/img/oclp/bg_slide_nyushi.jpg") no-repeat center;
  background-size: cover;
  position: relative; }
  @media (max-width: 768px) {
    .lp_fv_wrapper {
      background: url("/bwpu-assets/assets/img/oclp/nyushi-bg-sp.jpg") no-repeat center;
      background-size: cover; } }
  .lp_fv_wrapper .flex {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    max-width: 900px;
    width: 80%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media (max-width: 768px) {
      .lp_fv_wrapper .flex {
        width: 80%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .lp_fv_wrapper .flex .left-side {
      max-width: 340px;
      margin-right: 32px; }
      @media only screen and (max-width: 640px) {
        .lp_fv_wrapper .flex .left-side {
          margin-right: 0;
          margin-bottom: 20px; } }
    .lp_fv_wrapper .flex .right-side {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      max-width: 380px; }

.fv_btn {
  position: relative;
  padding: 10px 30px;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #2b508e;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  background-size: 150% 150%;
  outline: none;
  font-size: 26px;
  font-weight: bold;
  margin-top: 20px;
  border: none;
  overflow: hidden;
  line-height: normal; }
  @media only screen and (max-width: 640px) {
    .fv_btn {
      font-size: 18px;
      margin-left: auto;
      margin-right: auto;
      width: 100%; } }

.lp_fv_image {
  height: 745px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center; }
  @media (max-width: 768px) {
    .lp_fv_image {
      max-height: 520px; } }

.event_fv_image {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center; }
  @media (max-width: 768px) {
    .event_fv_image {
      -o-object-fit: cover;
         object-fit: cover;
      height: 370px; } }

.catch_bg {
  background-color: #fefaff;
  position: relative; }
  .catch_bg::after {
    content: "";
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: -5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-right: 10vw solid transparent;
    border-left: 10vw solid transparent;
    border-top: 80px solid #fefaff; }
    @media (max-width: 768px) {
      .catch_bg::after {
        width: 1px;
        border-right: 40vw solid transparent;
        border-left: 40vw solid transparent;
        border-top: 60px solid #fefaff; } }

.lp_catch_title {
  display: inline-block;
  font-size: 3rem;
  font-weight: bold;
  padding: 1rem 5rem;
  color: #fff;
  border-radius: 100vh;
  background-color: #ff88af; }
  @media (max-width: 768px) {
    .lp_catch_title {
      font-size: 4vw;
      padding: 1rem 2rem; } }

@media (max-width: 768px) {
  .lp_catch_text {
    font-size: 1.3rem; } }

.lp_catch_image {
  margin-right: auto;
  margin-left: auto; }

.jobs_bg {
  background-color: #f5ffff; }

.step_bg {
  background-image: url("/bwpu-assets/assets/img/oclp/step_bg@2x.png");
  background-size: cover; }
  @media (max-width: 768px) {
    .step_bg {
      background-image: url("/bwpu-assets/assets/img/oclp/step_bg_sp@2x.png");
      background-size: contain; } }

.step_inner {
  background-color: #fff;
  padding: 40px 105px; }
  @media (max-width: 768px) {
    .step_inner {
      padding: 40px 4%; } }

.step_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative; }
  @media (max-width: 768px) {
    .step_item {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin-top: 80px; } }
  .step_item:nth-child(2) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
    @media (max-width: 768px) {
      .step_item:nth-child(2) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: 160px; } }
  @media (max-width: 768px) {
    .step_item:nth-child(3) {
      margin-top: 160px; } }
  .step_item .step_item_order {
    position: absolute;
    top: -70px; }
    .step_item .step_item_order.order01 {
      width: 70px; }
    .step_item .step_item_order.order02 {
      width: 80px;
      left: 0; }
    .step_item .step_item_order.order03 {
      width: 80px;
      left: 0; }

.step_container {
  position: relative; }

.step_arrow::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 45px 92px 0 92px;
  position: absolute;
  bottom: -130px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
  @media (max-width: 768px) {
    .step_arrow::after {
      bottom: -100px; } }
.step_arrow-green::after {
  border-color: #71d6d7 transparent transparent transparent; }
.step_arrow-pink::after {
  border-color: #ffc3d7 transparent transparent transparent; }
.step_arrow:nth-child(3)::after {
  display: none; }

.step_title {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.4em; }
  @media (max-width: 768px) {
    .step_title {
      font-size: 1.9rem; } }

.step_text {
  position: relative;
  z-index: 1; }
  @media (max-width: 768px) {
    .step_text {
      margin-top: 10px; } }

.step_content {
  position: relative; }
  @media (max-width: 768px) {
    .step_content {
      display: contents; } }
  .step_content .step_content_img {
    position: absolute;
    bottom: 0;
    right: -60px;
    z-index: 0; }
    @media screen and (max-width: 1100px) {
      .step_content .step_content_img {
        right: -20%; } }
    @media (max-width: 768px) {
      .step_content .step_content_img {
        top: -60px;
        right: 0; } }
    @media only screen and (max-width: 640px) {
      .step_content .step_content_img {
        right: 0; } }
    .step_content .step_content_img.step_content_img_01, .step_content .step_content_img.step_content_img_03 {
      width: 120px; }
      @media (max-width: 768px) {
        .step_content .step_content_img.step_content_img_01, .step_content .step_content_img.step_content_img_03 {
          width: 100px; } }
    .step_content .step_content_img.step_content_img_02 {
      width: 80px; }
      @media (max-width: 768px) {
        .step_content .step_content_img.step_content_img_02 {
          width: 75px; } }

.step_img {
  max-width: 440px; }
  @media (max-width: 768px) {
    .step_img {
      max-width: 100%; } }

.step_event_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media only screen and (max-width: 640px) {
    .step_event_list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .step_event_list .step_event_item {
    width: 30%; }
    @media only screen and (max-width: 640px) {
      .step_event_list .step_event_item {
        width: 100%;
        margin-top: 40px; } }

@media (max-width: 768px) {
  .btn.step_btn {
    margin-right: auto;
    margin-left: auto; } }
@media only screen and (max-width: 640px) {
  .btn.step_btn {
    width: 100%;
    min-width: 200px; } }

.step-movie {
  width: 70%;
  aspect-ratio: 16/9; }
  @media only screen and (max-width: 640px) {
    .step-movie {
      width: 100%; } }

.event_bg {
  background-image: url("/bwpu-assets/assets/img/oclp/event_bg@2x.png");
  background-size: cover; }

.event_card_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media (max-width: 768px) {
    .event_card_list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }

.event_card_item {
  width: 48%;
  height: auto;
  overflow: hidden; }
  @media (max-width: 768px) {
    .event_card_item {
      width: 100%; } }

.event_card_textbox {
  width: 100%;
  height: auto;
  padding: 20px 18px;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.event_card_title {
  font-size: 2.4rem;
  height: 110px;
  font-weight: bold;
  line-height: 1.5em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden; }
  @media (max-width: 768px) {
    .event_card_title {
      font-size: 1.8rem;
      height: 80px; } }

.event_card_image img {
  min-width: 100%;
  max-height: 285px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  background-color: #fff; }
  @media only screen and (max-width: 640px) {
    .event_card_image img {
      max-height: 200px; } }

.lp_event_btn {
  padding: 3rem 12rem;
  font-size: 2.4rem; }
  @media (max-width: 768px) {
    .lp_event_btn {
      padding: 1.4rem 3rem;
      font-size: 1.8rem;
      min-width: 300px; } }

.learning-subject__list {
  display: inline-block;
  margin: 0 auto; }
  .learning-subject__list li::before {
    display: inline-block;
    content: "";
    width: 10px;
    height: 10px;
    margin-right: 5px;
    background: #1a4475;
    border-radius: 10px; }

.ads {
  text-align: center;
  line-height: 250%; }
  .ads01 {
    display: inline-block;
    margin-right: 10px;
    padding: 0px 5px;
    background: #1a4475;
    color: white;
    font-size: 200%; }
  .ads02 {
    display: inline-block;
    padding: 0px 5px;
    background: #1a4475;
    color: white;
    font-size: 200%; }
  .ads03 {
    font-size: 125%;
    font-weight: bold; }
  .ads04 {
    font-size: 200%;
    font-weight: bold; }

.facility-item-wrapper {
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: 4rem; }
  .facility-item-wrapper._reverse {
    grid-row: revert; }

.col-1-of-2 {
  width: calc((100% - 5rem) / 2); }

.col-1-of-3 {
  width: calc((100% - 2 * 5rem) / 3); }

.col-2-of-3 {
  width: calc(2 * ((100% - 2 * 5rem) / 3) + 5rem); }

.col-1-of-4 {
  width: calc((100% - 3 * 5rem) / 4); }

.col-2-of-4 {
  width: calc(2 * ((100% - 3 * 5rem) / 4) + 5rem); }

.col-3-of-4 {
  width: calc(3 * ((100% - 3 * 5rem) / 4) + 2 * 5rem); }

@media only screen and (max-width: 640px) {
  .col-1-of-2,
  .col-1-of-3,
  .col-2-of-3,
  .col-1-of-4,
  .col-2-of-4,
  .col-3-of-4 {
    width: 100%; } }
#institute .l-news-block {
  overflow: hidden; }

#institute h3 {
  padding: 0; }

.institute-record-img {
  max-width: 240px; }

@media only screen and (max-width: 640px) {
  #institute .ttl_secondary .under-text {
    font-size: 16px; } }

@media only screen and (max-width: 640px) {
  #institute .b-block {
    text-align: left; } }

.movie-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media only screen and (max-width: 640px) {
    .movie-list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .movie-list .movie-item {
    width: 48%;
    height: auto;
    overflow: hidden; }
    @media only screen and (max-width: 640px) {
      .movie-list .movie-item {
        width: 100%; } }
    @media only screen and (max-width: 640px) {
      .movie-list .movie-item:not(:first-child) {
        margin-top: 40px; } }
    .movie-list .movie-item iframe {
      width: 100%;
      aspect-ratio: 16/9; }
    .movie-list .movie-item .movie-title {
      text-align: center;
      padding: 50px 20px 20px;
      color: #184375;
      height: 140px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: end;
          -ms-flex-align: end;
              align-items: flex-end;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      overflow: visible; }
      @media only screen and (max-width: 640px) {
        .movie-list .movie-item .movie-title {
          height: auto;
          padding: 0px 0px 20px; } }
      .movie-list .movie-item .movie-title .under-text {
        display: inline-block;
        vertical-align: bottom;
        font-size: 2.4rem;
        border-bottom: 1px solid #184375; }
        @media only screen and (max-width: 640px) {
          .movie-list .movie-item .movie-title .under-text {
            font-size: 2rem; } }

.aco-list-wrap .aco-examination {
  background: none; }
  .aco-list-wrap .aco-examination h2 {
    padding-bottom: 0; }

.aco-list-answer .aco-examination {
  background-color: none; }

.senmonshoku-img {
  width: 70%; }
  @media only screen and (max-width: 640px) {
    .senmonshoku-img {
      width: 100%; } }

.senmonshoku_table {
  margin: 10px 0;
  width: 100%;
  border-top: solid 1px #174170;
  font-size: 1.6rem; }

.senmonshoku_table tr {
  border-bottom: solid 1px #174170; }

.senmonshoku_table th,
.senmonshoku_table td {
  padding: 16px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-left: solid 1px #174170; }

.senmonshoku_table th:last-child,
.senmonshoku_table td:last-child {
  border-right: solid 1px #174170; }

.senmonshoku_table th {
  background-color: #e7f1f7;
  text-align: center; }
  .senmonshoku_table th.bg-dark-blue {
    color: #fff;
    background-color: #174170;
    font-weight: bold; }

.senmonshoku_table td {
  width: 10%; }

.senmonshoku_table_title {
  text-align: center; }

@media screen and (max-width: 480px) {
  .senmonshoku_table {
    font-size: 1.5rem;
    width: 900px; }

  .senmonshoku_table th,
  .senmonshoku_table td {
    padding: 1em 6px; }

  .senmonshoku_table td {
    text-align: center; } }
.senmonshoku-title {
  font-size: 3.2rem;
  color: #184375; }
  @media only screen and (max-width: 640px) {
    .senmonshoku-title {
      font-size: 2rem; } }

@media only screen and (max-width: 640px) {
  .table_scroll {
    margin: 0 0 20px 0;
    overflow-x: auto;
    overflow-y: hidden; } }

.table-emphasis {
  border: 4px solid #ff6464; }
